1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Models API Reference
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
::: video_processor.models
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Overview
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The `video_processor.models` module defines all Pydantic data models used throughout PlanOpticon for structured output, serialization, and validation. These models represent everything from individual transcript segments to complete batch processing manifests.
10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
All models inherit from `pydantic.BaseModel` and support JSON serialization via `.model_dump_json()` and deserialization via `.model_validate_json()`.
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Enumerations
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### DiagramType
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Types of visual content detected in video frames.
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```python
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
from video_processor.models import DiagramType
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Value | Description |
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `flowchart` | Process flow or decision tree diagrams |
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `sequence` | Sequence or interaction diagrams |
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `architecture` | System architecture diagrams |
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `whiteboard` | Whiteboard drawings or sketches |
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `chart` | Data charts (bar, line, pie, scatter) |
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `table` | Tabular data |
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `slide` | Presentation slides |
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `screenshot` | Application screenshots or screen shares |
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `unknown` | Unclassified visual content |
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### OutputFormat
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Available output formats for processing results.
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Value | Description |
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `markdown` | Markdown text |
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `json` | JSON data |
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `html` | HTML document |
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `pdf` | PDF document |
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `svg` | SVG vector graphic |
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `png` | PNG raster image |
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### PlanningEntityType
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Classification types for entities in a planning taxonomy.
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Value | Description |
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `goal` | Project goals or objectives |
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `requirement` | Functional or non-functional requirements |
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `constraint` | Limitations or constraints |
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `decision` | Decisions made during planning |
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `risk` | Identified risks |
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `assumption` | Planning assumptions |
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `dependency` | External or internal dependencies |
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `milestone` | Project milestones |
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `task` | Actionable tasks |
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `feature` | Product features |
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
67
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### PlanningRelationshipType
68
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
69
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Relationship types within a planning taxonomy.
70
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
71
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Value | Description |
72
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|
73
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `requires` | Entity A requires entity B |
74
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `blocked_by` | Entity A is blocked by entity B |
75
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `has_risk` | Entity A has an associated risk B |
76
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `depends_on` | Entity A depends on entity B |
77
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `addresses` | Entity A addresses entity B |
78
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `has_tradeoff` | Entity A involves a tradeoff with entity B |
79
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `delivers` | Entity A delivers entity B |
80
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `implements` | Entity A implements entity B |
81
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `parent_of` | Entity A is the parent of entity B |
82
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
83
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
84
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
85
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Protocols
86
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
87
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### ProgressCallback
88
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
89
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
A runtime-checkable protocol for receiving pipeline progress updates. Implement this interface to integrate custom progress reporting (e.g., web UI, logging).
90
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
91
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```python
92
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
from video_processor.models import ProgressCallback
93
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
94
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
class MyProgress:
95
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
def on_step_start(self, step: str, index: int, total: int) -> None:
96
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
print(f"Starting {step} ({index}/{total})")
97
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
98
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
def on_step_complete(self, step: str, index: int, total: int) -> None:
99
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
print(f"Completed {step} ({index}/{total})")
100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
def on_progress(self, step: str, percent: float, message: str = "") -> None:
102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
print(f"{step}: {percent:.0f}% {message}")
103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
assert isinstance(MyProgress(), ProgressCallback) # True
105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
**Methods:**
108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Method | Parameters | Description |
110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|
111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `on_step_start` | `step: str`, `index: int`, `total: int` | Called when a pipeline step begins |
112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `on_step_complete` | `step: str`, `index: int`, `total: int` | Called when a pipeline step finishes |
113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `on_progress` | `step: str`, `percent: float`, `message: str` | Called with incremental progress updates |
114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Transcript Models
118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### TranscriptSegment
120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
A single segment of transcribed audio with timing and optional speaker identification.
122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `start` | `float` | *required* | Start time in seconds |
126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `end` | `float` | *required* | End time in seconds |
127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `text` | `str` | *required* | Transcribed text content |
128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `speaker` | `Optional[str]` | `None` | Speaker identifier (e.g., "Speaker 1") |
129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `confidence` | `Optional[float]` | `None` | Transcription confidence score (0.0 to 1.0) |
130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"start": 12.5,
134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"end": 15.3,
135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"text": "We should migrate to the new API by next quarter.",
136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"speaker": "Alice",
137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"confidence": 0.95
138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Content Extraction Models
144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### ActionItem
146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
An action item extracted from transcript or diagram content.
148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `action` | `str` | *required* | The action to be taken |
152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `assignee` | `Optional[str]` | `None` | Person responsible for the action |
153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `deadline` | `Optional[str]` | `None` | Deadline or timeframe |
154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `priority` | `Optional[str]` | `None` | Priority level (e.g., "high", "medium", "low") |
155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `context` | `Optional[str]` | `None` | Additional context or notes |
156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `source` | `Optional[str]` | `None` | Where this was found: `"transcript"`, `"diagram"`, or `"both"` |
157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"action": "Migrate authentication service to OAuth 2.0",
161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"assignee": "Bob",
162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"deadline": "Q2 2026",
163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"priority": "high",
164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"context": "at 245s",
165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"source": "transcript"
166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### KeyPoint
170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
A key point extracted from content, optionally linked to diagrams.
172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `point` | `str` | *required* | The key point text |
176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `topic` | `Optional[str]` | `None` | Topic or category |
177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `details` | `Optional[str]` | `None` | Supporting details |
178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `timestamp` | `Optional[float]` | `None` | Timestamp in video (seconds) |
179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `source` | `Optional[str]` | `None` | Where this was found |
180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `related_diagrams` | `List[int]` | `[]` | Indices of related diagrams in the manifest |
181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"point": "Team decided to use FalkorDB for graph storage",
185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"topic": "Architecture",
186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"details": "Embedded database avoids infrastructure overhead for CLI use",
187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"timestamp": 342.0,
188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"source": "transcript",
189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"related_diagrams": [0, 2]
190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Diagram Models
196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### DiagramResult
198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Result from diagram extraction and analysis. Contains structured data extracted from visual content, along with paths to output files.
200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `frame_index` | `int` | *required* | Index of the source frame |
204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `timestamp` | `Optional[float]` | `None` | Timestamp in video (seconds) |
205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `diagram_type` | `DiagramType` | `unknown` | Type of diagram detected |
206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `confidence` | `float` | `0.0` | Detection confidence (0.0 to 1.0) |
207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `description` | `Optional[str]` | `None` | Detailed description of the diagram |
208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `text_content` | `Optional[str]` | `None` | All visible text, preserving structure |
209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `elements` | `List[str]` | `[]` | Identified elements or components |
210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `relationships` | `List[str]` | `[]` | Identified relationships (e.g., `"A -> B: connects"`) |
211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `mermaid` | `Optional[str]` | `None` | Mermaid syntax representation |
212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `chart_data` | `Optional[Dict[str, Any]]` | `None` | Extractable chart data (`labels`, `values`, `chart_type`) |
213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `image_path` | `Optional[str]` | `None` | Relative path to original frame image |
214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `svg_path` | `Optional[str]` | `None` | Relative path to rendered SVG |
215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `png_path` | `Optional[str]` | `None` | Relative path to rendered PNG |
216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `mermaid_path` | `Optional[str]` | `None` | Relative path to mermaid source file |
217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"frame_index": 5,
221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"timestamp": 120.0,
222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"diagram_type": "architecture",
223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"confidence": 0.92,
224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"description": "Microservices architecture showing API gateway, auth service, and database layer",
225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"text_content": "API Gateway\nAuth Service\nUser DB\nPostgreSQL",
226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"elements": ["API Gateway", "Auth Service", "User DB", "PostgreSQL"],
227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"relationships": ["API Gateway -> Auth Service: authenticates", "Auth Service -> User DB: queries"],
228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"mermaid": "graph LR\n A[API Gateway] --> B[Auth Service]\n B --> C[User DB]",
229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"chart_data": null,
230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"image_path": "diagrams/diagram_0.jpg",
231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"svg_path": null,
232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"png_path": null,
233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"mermaid_path": "diagrams/diagram_0.mermaid"
234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### ScreenCapture
238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
A screengrab fallback created when diagram extraction fails or confidence is too low for full analysis.
240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `frame_index` | `int` | *required* | Index of the source frame |
244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `timestamp` | `Optional[float]` | `None` | Timestamp in video (seconds) |
245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `caption` | `Optional[str]` | `None` | Brief description of the content |
246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `image_path` | `Optional[str]` | `None` | Relative path to screenshot image |
247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `confidence` | `float` | `0.0` | Detection confidence that triggered fallback |
248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"frame_index": 8,
252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"timestamp": 195.0,
253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"caption": "Code editor showing a Python function definition",
254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"image_path": "captures/capture_0.jpg",
255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"confidence": 0.45
256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Knowledge Graph Models
262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Entity
264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
An entity in the knowledge graph, representing a person, concept, technology, or other named item extracted from content.
266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `name` | `str` | *required* | Entity name |
270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `type` | `str` | `"concept"` | Entity type: `"person"`, `"concept"`, `"technology"`, `"time"`, `"diagram"` |
271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `descriptions` | `List[str]` | `[]` | Accumulated descriptions of this entity |
272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `source` | `Optional[str]` | `None` | Source attribution: `"transcript"`, `"diagram"`, or `"both"` |
273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `occurrences` | `List[Dict[str, Any]]` | `[]` | Occurrences with source, timestamp, and text context |
274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"name": "FalkorDB",
278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"type": "technology",
279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"descriptions": ["Embedded graph database", "Supports Cypher queries"],
280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"source": "both",
281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"occurrences": [
282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{"source": "transcript", "timestamp": 120.0, "text": "We chose FalkorDB for graph storage"},
283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{"source": "diagram", "text": "FalkorDB Lite"}
284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
]
285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### Relationship
289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
A directed relationship between two entities in the knowledge graph.
291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `source` | `str` | *required* | Source entity name |
295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `target` | `str` | *required* | Target entity name |
296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `type` | `str` | `"related_to"` | Relationship type (e.g., `"uses"`, `"manages"`, `"related_to"`) |
297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `content_source` | `Optional[str]` | `None` | Content source identifier |
298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `timestamp` | `Optional[float]` | `None` | Timestamp in seconds |
299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"source": "PlanOpticon",
303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"target": "FalkorDB",
304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"type": "uses",
305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"content_source": "transcript",
306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"timestamp": 125.0
307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### SourceRecord
311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
A content source registered in the knowledge graph for provenance tracking.
313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `source_id` | `str` | *required* | Unique identifier for this source |
317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `source_type` | `str` | *required* | Source type: `"video"`, `"document"`, `"url"`, `"api"`, `"manual"` |
318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `title` | `str` | *required* | Human-readable title |
319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `path` | `Optional[str]` | `None` | Local file path |
320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `url` | `Optional[str]` | `None` | URL if applicable |
321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `mime_type` | `Optional[str]` | `None` | MIME type of the source |
322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `ingested_at` | `str` | *auto* | ISO format ingestion timestamp (auto-generated) |
323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `metadata` | `Dict[str, Any]` | `{}` | Additional source metadata |
324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"source_id": "vid_abc123",
328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"source_type": "video",
329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"title": "Sprint Planning Meeting - Jan 15",
330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"path": "/recordings/sprint-planning.mp4",
331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"url": null,
332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"mime_type": "video/mp4",
333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"ingested_at": "2026-01-15T10:30:00",
334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"metadata": {"duration": 3600, "resolution": "1920x1080"}
335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### KnowledgeGraphData
339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Serializable knowledge graph data containing all nodes, relationships, and source provenance.
341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `nodes` | `List[Entity]` | `[]` | Graph nodes/entities |
345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `relationships` | `List[Relationship]` | `[]` | Graph relationships |
346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `sources` | `List[SourceRecord]` | `[]` | Content sources for provenance tracking |
347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Planning Models
351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### PlanningEntity
353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
An entity classified for planning purposes, with priority and status tracking.
355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `name` | `str` | *required* | Entity name |
359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `planning_type` | `PlanningEntityType` | *required* | Planning classification |
360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `description` | `str` | `""` | Detailed description |
361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `priority` | `Optional[str]` | `None` | Priority: `"high"`, `"medium"`, `"low"` |
362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `status` | `Optional[str]` | `None` | Status: `"identified"`, `"confirmed"`, `"resolved"` |
363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `source_entities` | `List[str]` | `[]` | Names of source KG entities this was derived from |
364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `metadata` | `Dict[str, Any]` | `{}` | Additional metadata |
365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```json
367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
{
368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"name": "Migrate to OAuth 2.0",
369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"planning_type": "task",
370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"description": "Replace custom auth with OAuth 2.0 across all services",
371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"priority": "high",
372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"status": "identified",
373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"source_entities": ["OAuth", "Authentication Service"],
374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
"metadata": {}
375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
}
376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Processing and Metadata Models
381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### ProcessingStats
383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Statistics about a processing run, including model usage tracking.
385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `start_time` | `Optional[str]` | `None` | ISO format start time |
389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `end_time` | `Optional[str]` | `None` | ISO format end time |
390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `duration_seconds` | `Optional[float]` | `None` | Total processing time |
391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `frames_extracted` | `int` | `0` | Number of frames extracted from video |
392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `people_frames_filtered` | `int` | `0` | Frames filtered out (contained people/webcam) |
393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `diagrams_detected` | `int` | `0` | Number of diagrams detected |
394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `screen_captures` | `int` | `0` | Number of screen captures saved |
395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `transcript_duration_seconds` | `Optional[float]` | `None` | Duration of transcribed audio |
396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `models_used` | `Dict[str, str]` | `{}` | Map of task to model used (e.g., `{"vision": "gpt-4o"}`) |
397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### VideoMetadata
399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Metadata about the source video file.
401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `title` | `str` | *required* | Video title |
405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `source_path` | `Optional[str]` | `None` | Original video file path |
406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `duration_seconds` | `Optional[float]` | `None` | Video duration in seconds |
407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `resolution` | `Optional[str]` | `None` | Video resolution (e.g., `"1920x1080"`) |
408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `processed_at` | `str` | *auto* | ISO format processing timestamp |
409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
---
411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
## Manifest Models
413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### VideoManifest
415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
The single source of truth for a video processing run. Contains all output paths, inline structured data, and processing statistics.
417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `version` | `str` | `"1.0"` | Manifest schema version |
421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `video` | `VideoMetadata` | *required* | Source video metadata |
422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `stats` | `ProcessingStats` | *default* | Processing statistics |
423
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `transcript_json` | `Optional[str]` | `None` | Relative path to transcript JSON |
424
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `transcript_txt` | `Optional[str]` | `None` | Relative path to transcript text |
425
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `transcript_srt` | `Optional[str]` | `None` | Relative path to SRT subtitles |
426
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `analysis_md` | `Optional[str]` | `None` | Relative path to analysis Markdown |
427
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `analysis_html` | `Optional[str]` | `None` | Relative path to analysis HTML |
428
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `analysis_pdf` | `Optional[str]` | `None` | Relative path to analysis PDF |
429
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `knowledge_graph_json` | `Optional[str]` | `None` | Relative path to knowledge graph JSON |
430
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `knowledge_graph_db` | `Optional[str]` | `None` | Relative path to knowledge graph DB |
431
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `key_points_json` | `Optional[str]` | `None` | Relative path to key points JSON |
432
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `action_items_json` | `Optional[str]` | `None` | Relative path to action items JSON |
433
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `key_points` | `List[KeyPoint]` | `[]` | Inline key points data |
434
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `action_items` | `List[ActionItem]` | `[]` | Inline action items data |
435
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `diagrams` | `List[DiagramResult]` | `[]` | Inline diagram results |
436
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `screen_captures` | `List[ScreenCapture]` | `[]` | Inline screen captures |
437
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `frame_paths` | `List[str]` | `[]` | Relative paths to extracted frames |
438
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
439
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```python
440
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
from video_processor.models import VideoManifest, VideoMetadata
441
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
442
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
manifest = VideoManifest(
443
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
video=VideoMetadata(title="Sprint Planning"),
444
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
key_points=[...],
445
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
action_items=[...],
446
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
diagrams=[...],
447
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
)
448
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
449
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Serialize to JSON
450
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
manifest.model_dump_json(indent=2)
451
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
452
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
# Load from file
453
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
loaded = VideoManifest.model_validate_json(Path("manifest.json").read_text())
454
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
455
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
456
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### BatchVideoEntry
457
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
458
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Summary of a single video within a batch processing run.
459
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
460
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
461
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
462
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `video_name` | `str` | *required* | Video file name |
463
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `manifest_path` | `str` | *required* | Relative path to the video's manifest file |
464
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `status` | `str` | `"pending"` | Processing status: `"pending"`, `"completed"`, `"failed"` |
465
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `error` | `Optional[str]` | `None` | Error message if processing failed |
466
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `diagrams_count` | `int` | `0` | Number of diagrams detected |
467
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `action_items_count` | `int` | `0` | Number of action items extracted |
468
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `key_points_count` | `int` | `0` | Number of key points extracted |
469
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `duration_seconds` | `Optional[float]` | `None` | Processing duration |
470
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
471
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
### BatchManifest
472
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
473
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Manifest for a batch processing run across multiple videos.
474
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
475
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| Field | Type | Default | Description |
476
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
|---|---|---|---|
477
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `version` | `str` | `"1.0"` | Manifest schema version |
478
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `title` | `str` | `"Batch Processing Results"` | Batch title |
479
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `processed_at` | `str` | *auto* | ISO format timestamp |
480
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `stats` | `ProcessingStats` | *default* | Aggregated processing statistics |
481
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `videos` | `List[BatchVideoEntry]` | `[]` | Per-video summaries |
482
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `total_videos` | `int` | `0` | Total number of videos in batch |
483
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `completed_videos` | `int` | `0` | Successfully processed videos |
484
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `failed_videos` | `int` | `0` | Videos that failed processing |
485
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `total_diagrams` | `int` | `0` | Total diagrams across all videos |
486
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `total_action_items` | `int` | `0` | Total action items across all videos |
487
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `total_key_points` | `int` | `0` | Total key points across all videos |
488
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `batch_summary_md` | `Optional[str]` | `None` | Relative path to batch summary Markdown |
489
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `merged_knowledge_graph_json` | `Optional[str]` | `None` | Relative path to merged KG JSON |
490
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
| `merged_knowledge_graph_db` | `Optional[str]` | `None` | Relative path to merged KG database |
491
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
492
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```python
493
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
from video_processor.models import BatchManifest
494
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
495
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
batch = BatchManifest(
496
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
title="Weekly Recordings",
497
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
total_videos=5,
498
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
completed_videos=4,
499
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
failed_videos=1,
500
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
)
501
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
```
502
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!