PlanOpticon

planopticon / api / models / index.html
1
2
<!doctype html>
3
<html lang="en" class="no-js">
4
<head>
5
6
<meta charset="utf-8">
7
<meta name="viewport" content="width=device-width,initial-scale=1">
8
9
<meta name="description" content="AI-powered video analysis and knowledge extraction">
10
11
12
<meta name="author" content="CONFLICT LLC">
13
14
15
<link rel="canonical" href="https://planopticon.dev/api/models/">
16
17
18
<link rel="prev" href="../../architecture/pipeline/">
19
20
21
<link rel="next" href="../providers/">
22
23
24
25
26
27
<link rel="icon" href="../../assets/images/favicon.png">
28
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.4">
29
30
31
32
<title>Models - PlanOpticon</title>
33
34
35
36
<link rel="stylesheet" href="../../assets/stylesheets/main.484c7ddc.min.css">
37
38
39
<link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
40
41
42
43
44
45
46
47
48
49
50
51
52
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
53
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
54
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
55
56
57
58
<link rel="stylesheet" href="../../assets/_mkdocstrings.css">
59
60
<link rel="stylesheet" href="../../assets/css/custom.css">
61
62
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
63
64
65
66
67
68
</head>
69
70
71
72
73
74
75
76
77
78
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom">
79
80
81
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
82
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
83
<label class="md-overlay" for="__drawer"></label>
84
<div data-md-component="skip">
85
86
87
<a href="#models-api-reference" class="md-skip">
88
Skip to content
89
</a>
90
91
</div>
92
<div data-md-component="announce">
93
94
</div>
95
96
97
98
99
<header class="md-header" data-md-component="header">
100
<nav class="md-header__inner md-grid" aria-label="Header">
101
<a href="../.." title="PlanOpticon" class="md-header__button md-logo" aria-label="PlanOpticon" data-md-component="logo">
102
103
<img src="../../assets/images/conflict-logo.svg" alt="logo">
104
105
</a>
106
<label class="md-header__button md-icon" for="__drawer">
107
108
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
109
</label>
110
<div class="md-header__title" data-md-component="header-title">
111
<div class="md-header__ellipsis">
112
<div class="md-header__topic">
113
<span class="md-ellipsis">
114
PlanOpticon
115
</span>
116
</div>
117
<div class="md-header__topic" data-md-component="header-topic">
118
<span class="md-ellipsis">
119
120
Models
121
122
</span>
123
</div>
124
</div>
125
</div>
126
127
128
<form class="md-header__option" data-md-component="palette">
129
130
131
132
133
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
134
135
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
136
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
137
</label>
138
139
140
141
142
143
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
144
145
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
146
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
147
</label>
148
149
150
</form>
151
152
153
154
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
155
156
157
158
159
160
<label class="md-header__button md-icon" for="__search">
161
162
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
163
</label>
164
<div class="md-search" data-md-component="search" role="dialog">
165
<label class="md-search__overlay" for="__search"></label>
166
<div class="md-search__inner" role="search">
167
<form class="md-search__form" name="search">
168
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
169
<label class="md-search__icon md-icon" for="__search">
170
171
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
172
173
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
174
</label>
175
<nav class="md-search__options" aria-label="Search">
176
177
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
178
179
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
180
</button>
181
</nav>
182
183
<div class="md-search__suggest" data-md-component="search-suggest"></div>
184
185
</form>
186
<div class="md-search__output">
187
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
188
<div class="md-search-result" data-md-component="search-result">
189
<div class="md-search-result__meta">
190
Initializing search
191
</div>
192
<ol class="md-search-result__list" role="presentation"></ol>
193
</div>
194
</div>
195
</div>
196
</div>
197
</div>
198
199
200
201
<div class="md-header__source">
202
<a href="https://github.com/ConflictHQ/PlanOpticon" title="Go to repository" class="md-source" data-md-component="source">
203
<div class="md-source__icon md-icon">
204
205
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
206
</div>
207
<div class="md-source__repository">
208
ConflictHQ/PlanOpticon
209
</div>
210
</a>
211
</div>
212
213
</nav>
214
215
</header>
216
217
<div class="md-container" data-md-component="container">
218
219
220
221
222
223
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
224
<div class="md-grid">
225
<ul class="md-tabs__list">
226
227
228
229
230
231
232
<li class="md-tabs__item">
233
<a href="../.." class="md-tabs__link">
234
235
236
237
238
239
Home
240
241
</a>
242
</li>
243
244
245
246
247
248
249
250
251
252
253
<li class="md-tabs__item">
254
<a href="../../getting-started/installation/" class="md-tabs__link">
255
256
257
258
Getting Started
259
260
</a>
261
</li>
262
263
264
265
266
267
268
269
270
271
272
273
<li class="md-tabs__item">
274
<a href="../../guide/single-video/" class="md-tabs__link">
275
276
277
278
User Guide
279
280
</a>
281
</li>
282
283
284
285
286
287
288
289
290
291
<li class="md-tabs__item">
292
<a href="../../use-cases/" class="md-tabs__link">
293
294
295
296
297
298
Use Cases
299
300
</a>
301
</li>
302
303
304
305
306
307
308
309
310
<li class="md-tabs__item">
311
<a href="../../cli-reference/" class="md-tabs__link">
312
313
314
315
316
317
CLI Reference
318
319
</a>
320
</li>
321
322
323
324
325
326
327
328
329
330
331
<li class="md-tabs__item">
332
<a href="../../architecture/overview/" class="md-tabs__link">
333
334
335
336
Architecture
337
338
</a>
339
</li>
340
341
342
343
344
345
346
347
348
349
350
351
352
353
<li class="md-tabs__item md-tabs__item--active">
354
<a href="./" class="md-tabs__link">
355
356
357
358
API Reference
359
360
</a>
361
</li>
362
363
364
365
366
367
368
369
370
371
<li class="md-tabs__item">
372
<a href="../../faq/" class="md-tabs__link">
373
374
375
376
377
378
FAQ & Troubleshooting
379
380
</a>
381
</li>
382
383
384
385
386
387
388
389
390
<li class="md-tabs__item">
391
<a href="../../contributing/" class="md-tabs__link">
392
393
394
395
396
397
Contributing
398
399
</a>
400
</li>
401
402
403
404
</ul>
405
</div>
406
</nav>
407
408
409
410
<main class="md-main" data-md-component="main">
411
<div class="md-main__inner md-grid">
412
413
414
415
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
416
<div class="md-sidebar__scrollwrap">
417
<div class="md-sidebar__inner">
418
419
420
421
422
423
424
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
425
<label class="md-nav__title" for="__drawer">
426
<a href="../.." title="PlanOpticon" class="md-nav__button md-logo" aria-label="PlanOpticon" data-md-component="logo">
427
428
<img src="../../assets/images/conflict-logo.svg" alt="logo">
429
430
</a>
431
PlanOpticon
432
</label>
433
434
<div class="md-nav__source">
435
<a href="https://github.com/ConflictHQ/PlanOpticon" title="Go to repository" class="md-source" data-md-component="source">
436
<div class="md-source__icon md-icon">
437
438
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
439
</div>
440
<div class="md-source__repository">
441
ConflictHQ/PlanOpticon
442
</div>
443
</a>
444
</div>
445
446
<ul class="md-nav__list" data-md-scrollfix>
447
448
449
450
451
452
453
454
<li class="md-nav__item">
455
<a href="../.." class="md-nav__link">
456
457
458
459
<span class="md-ellipsis">
460
461
462
Home
463
464
465
466
</span>
467
468
469
470
</a>
471
</li>
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
<li class="md-nav__item md-nav__item--nested">
492
493
494
495
496
497
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
498
499
500
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
501
502
503
504
<span class="md-ellipsis">
505
506
507
Getting Started
508
509
510
511
</span>
512
513
514
515
<span class="md-nav__icon md-icon"></span>
516
</label>
517
518
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
519
<label class="md-nav__title" for="__nav_2">
520
<span class="md-nav__icon md-icon"></span>
521
522
523
Getting Started
524
525
526
</label>
527
<ul class="md-nav__list" data-md-scrollfix>
528
529
530
531
532
533
534
535
<li class="md-nav__item">
536
<a href="../../getting-started/installation/" class="md-nav__link">
537
538
539
540
<span class="md-ellipsis">
541
542
543
Installation
544
545
546
547
</span>
548
549
550
551
</a>
552
</li>
553
554
555
556
557
558
559
560
561
562
563
<li class="md-nav__item">
564
<a href="../../getting-started/quickstart/" class="md-nav__link">
565
566
567
568
<span class="md-ellipsis">
569
570
571
Quick Start
572
573
574
575
</span>
576
577
578
579
</a>
580
</li>
581
582
583
584
585
586
587
588
589
590
591
<li class="md-nav__item">
592
<a href="../../getting-started/configuration/" class="md-nav__link">
593
594
595
596
<span class="md-ellipsis">
597
598
599
Configuration
600
601
602
603
</span>
604
605
606
607
</a>
608
</li>
609
610
611
612
613
</ul>
614
</nav>
615
616
</li>
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
<li class="md-nav__item md-nav__item--nested">
637
638
639
640
641
642
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
643
644
645
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
646
647
648
649
<span class="md-ellipsis">
650
651
652
User Guide
653
654
655
656
</span>
657
658
659
660
<span class="md-nav__icon md-icon"></span>
661
</label>
662
663
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
664
<label class="md-nav__title" for="__nav_3">
665
<span class="md-nav__icon md-icon"></span>
666
667
668
User Guide
669
670
671
</label>
672
<ul class="md-nav__list" data-md-scrollfix>
673
674
675
676
677
678
679
680
<li class="md-nav__item">
681
<a href="../../guide/single-video/" class="md-nav__link">
682
683
684
685
<span class="md-ellipsis">
686
687
688
Single Video Analysis
689
690
691
692
</span>
693
694
695
696
</a>
697
</li>
698
699
700
701
702
703
704
705
706
707
708
<li class="md-nav__item">
709
<a href="../../guide/batch/" class="md-nav__link">
710
711
712
713
<span class="md-ellipsis">
714
715
716
Batch Processing
717
718
719
720
</span>
721
722
723
724
</a>
725
</li>
726
727
728
729
730
731
732
733
734
735
736
<li class="md-nav__item">
737
<a href="../../guide/document-ingestion/" class="md-nav__link">
738
739
740
741
<span class="md-ellipsis">
742
743
744
Document Ingestion
745
746
747
748
</span>
749
750
751
752
</a>
753
</li>
754
755
756
757
758
759
760
761
762
763
764
<li class="md-nav__item">
765
<a href="../../guide/cloud-sources/" class="md-nav__link">
766
767
768
769
<span class="md-ellipsis">
770
771
772
Cloud Sources
773
774
775
776
</span>
777
778
779
780
</a>
781
</li>
782
783
784
785
786
787
788
789
790
791
792
<li class="md-nav__item">
793
<a href="../../guide/knowledge-graphs/" class="md-nav__link">
794
795
796
797
<span class="md-ellipsis">
798
799
800
Knowledge Graphs
801
802
803
804
</span>
805
806
807
808
</a>
809
</li>
810
811
812
813
814
815
816
817
818
819
820
<li class="md-nav__item">
821
<a href="../../guide/companion/" class="md-nav__link">
822
823
824
825
<span class="md-ellipsis">
826
827
828
Interactive Companion
829
830
831
832
</span>
833
834
835
836
</a>
837
</li>
838
839
840
841
842
843
844
845
846
847
848
<li class="md-nav__item">
849
<a href="../../guide/planning-agent/" class="md-nav__link">
850
851
852
853
<span class="md-ellipsis">
854
855
856
Planning Agent
857
858
859
860
</span>
861
862
863
864
</a>
865
</li>
866
867
868
869
870
871
872
873
874
875
876
<li class="md-nav__item">
877
<a href="../../guide/authentication/" class="md-nav__link">
878
879
880
881
<span class="md-ellipsis">
882
883
884
Authentication
885
886
887
888
</span>
889
890
891
892
</a>
893
</li>
894
895
896
897
898
899
900
901
902
903
904
<li class="md-nav__item">
905
<a href="../../guide/export/" class="md-nav__link">
906
907
908
909
<span class="md-ellipsis">
910
911
912
Export & Documents
913
914
915
916
</span>
917
918
919
920
</a>
921
</li>
922
923
924
925
926
927
928
929
930
931
932
<li class="md-nav__item">
933
<a href="../../guide/output-formats/" class="md-nav__link">
934
935
936
937
<span class="md-ellipsis">
938
939
940
Output Formats
941
942
943
944
</span>
945
946
947
948
</a>
949
</li>
950
951
952
953
954
</ul>
955
</nav>
956
957
</li>
958
959
960
961
962
963
964
965
966
967
<li class="md-nav__item">
968
<a href="../../use-cases/" class="md-nav__link">
969
970
971
972
<span class="md-ellipsis">
973
974
975
Use Cases
976
977
978
979
</span>
980
981
982
983
</a>
984
</li>
985
986
987
988
989
990
991
992
993
994
<li class="md-nav__item">
995
<a href="../../cli-reference/" class="md-nav__link">
996
997
998
999
<span class="md-ellipsis">
1000
1001
1002
CLI Reference
1003
1004
1005
1006
</span>
1007
1008
1009
1010
</a>
1011
</li>
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
<li class="md-nav__item md-nav__item--nested">
1032
1033
1034
1035
1036
1037
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
1038
1039
1040
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
1041
1042
1043
1044
<span class="md-ellipsis">
1045
1046
1047
Architecture
1048
1049
1050
1051
</span>
1052
1053
1054
1055
<span class="md-nav__icon md-icon"></span>
1056
</label>
1057
1058
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
1059
<label class="md-nav__title" for="__nav_6">
1060
<span class="md-nav__icon md-icon"></span>
1061
1062
1063
Architecture
1064
1065
1066
</label>
1067
<ul class="md-nav__list" data-md-scrollfix>
1068
1069
1070
1071
1072
1073
1074
1075
<li class="md-nav__item">
1076
<a href="../../architecture/overview/" class="md-nav__link">
1077
1078
1079
1080
<span class="md-ellipsis">
1081
1082
1083
Overview
1084
1085
1086
1087
</span>
1088
1089
1090
1091
</a>
1092
</li>
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
<li class="md-nav__item">
1104
<a href="../../architecture/providers/" class="md-nav__link">
1105
1106
1107
1108
<span class="md-ellipsis">
1109
1110
1111
Provider System
1112
1113
1114
1115
</span>
1116
1117
1118
1119
</a>
1120
</li>
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
<li class="md-nav__item">
1132
<a href="../../architecture/pipeline/" class="md-nav__link">
1133
1134
1135
1136
<span class="md-ellipsis">
1137
1138
1139
Processing Pipeline
1140
1141
1142
1143
</span>
1144
1145
1146
1147
</a>
1148
</li>
1149
1150
1151
1152
1153
</ul>
1154
</nav>
1155
1156
</li>
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
1182
1183
1184
1185
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" checked>
1186
1187
1188
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="">
1189
1190
1191
1192
<span class="md-ellipsis">
1193
1194
1195
API Reference
1196
1197
1198
1199
</span>
1200
1201
1202
1203
<span class="md-nav__icon md-icon"></span>
1204
</label>
1205
1206
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="true">
1207
<label class="md-nav__title" for="__nav_7">
1208
<span class="md-nav__icon md-icon"></span>
1209
1210
1211
API Reference
1212
1213
1214
</label>
1215
<ul class="md-nav__list" data-md-scrollfix>
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
<li class="md-nav__item md-nav__item--active">
1226
1227
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
1228
1229
1230
1231
1232
1233
<label class="md-nav__link md-nav__link--active" for="__toc">
1234
1235
1236
1237
<span class="md-ellipsis">
1238
1239
1240
Models
1241
1242
1243
1244
</span>
1245
1246
1247
1248
<span class="md-nav__icon md-icon"></span>
1249
</label>
1250
1251
<a href="./" class="md-nav__link md-nav__link--active">
1252
1253
1254
1255
<span class="md-ellipsis">
1256
1257
1258
Models
1259
1260
1261
1262
</span>
1263
1264
1265
1266
</a>
1267
1268
1269
1270
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1271
1272
1273
1274
1275
1276
1277
<label class="md-nav__title" for="__toc">
1278
<span class="md-nav__icon md-icon"></span>
1279
Table of contents
1280
</label>
1281
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1282
1283
<li class="md-nav__item">
1284
<a href="#video_processor.models" class="md-nav__link">
1285
<span class="md-ellipsis">
1286
1287
models
1288
1289
</span>
1290
</a>
1291
1292
<nav class="md-nav" aria-label="models">
1293
<ul class="md-nav__list">
1294
1295
<li class="md-nav__item">
1296
<a href="#video_processor.models.ActionItem" class="md-nav__link">
1297
<span class="md-ellipsis">
1298
1299
ActionItem
1300
1301
</span>
1302
</a>
1303
1304
</li>
1305
1306
<li class="md-nav__item">
1307
<a href="#video_processor.models.BatchManifest" class="md-nav__link">
1308
<span class="md-ellipsis">
1309
1310
BatchManifest
1311
1312
</span>
1313
</a>
1314
1315
</li>
1316
1317
<li class="md-nav__item">
1318
<a href="#video_processor.models.BatchVideoEntry" class="md-nav__link">
1319
<span class="md-ellipsis">
1320
1321
BatchVideoEntry
1322
1323
</span>
1324
</a>
1325
1326
</li>
1327
1328
<li class="md-nav__item">
1329
<a href="#video_processor.models.DiagramResult" class="md-nav__link">
1330
<span class="md-ellipsis">
1331
1332
DiagramResult
1333
1334
</span>
1335
</a>
1336
1337
</li>
1338
1339
<li class="md-nav__item">
1340
<a href="#video_processor.models.DiagramType" class="md-nav__link">
1341
<span class="md-ellipsis">
1342
1343
DiagramType
1344
1345
</span>
1346
</a>
1347
1348
</li>
1349
1350
<li class="md-nav__item">
1351
<a href="#video_processor.models.Entity" class="md-nav__link">
1352
<span class="md-ellipsis">
1353
1354
Entity
1355
1356
</span>
1357
</a>
1358
1359
</li>
1360
1361
<li class="md-nav__item">
1362
<a href="#video_processor.models.KeyPoint" class="md-nav__link">
1363
<span class="md-ellipsis">
1364
1365
KeyPoint
1366
1367
</span>
1368
</a>
1369
1370
</li>
1371
1372
<li class="md-nav__item">
1373
<a href="#video_processor.models.KnowledgeGraphData" class="md-nav__link">
1374
<span class="md-ellipsis">
1375
1376
KnowledgeGraphData
1377
1378
</span>
1379
</a>
1380
1381
</li>
1382
1383
<li class="md-nav__item">
1384
<a href="#video_processor.models.OutputFormat" class="md-nav__link">
1385
<span class="md-ellipsis">
1386
1387
OutputFormat
1388
1389
</span>
1390
</a>
1391
1392
</li>
1393
1394
<li class="md-nav__item">
1395
<a href="#video_processor.models.PlanningEntity" class="md-nav__link">
1396
<span class="md-ellipsis">
1397
1398
PlanningEntity
1399
1400
</span>
1401
</a>
1402
1403
</li>
1404
1405
<li class="md-nav__item">
1406
<a href="#video_processor.models.PlanningEntityType" class="md-nav__link">
1407
<span class="md-ellipsis">
1408
1409
PlanningEntityType
1410
1411
</span>
1412
</a>
1413
1414
</li>
1415
1416
<li class="md-nav__item">
1417
<a href="#video_processor.models.PlanningRelationshipType" class="md-nav__link">
1418
<span class="md-ellipsis">
1419
1420
PlanningRelationshipType
1421
1422
</span>
1423
</a>
1424
1425
</li>
1426
1427
<li class="md-nav__item">
1428
<a href="#video_processor.models.ProcessingStats" class="md-nav__link">
1429
<span class="md-ellipsis">
1430
1431
ProcessingStats
1432
1433
</span>
1434
</a>
1435
1436
</li>
1437
1438
<li class="md-nav__item">
1439
<a href="#video_processor.models.ProgressCallback" class="md-nav__link">
1440
<span class="md-ellipsis">
1441
1442
ProgressCallback
1443
1444
</span>
1445
</a>
1446
1447
</li>
1448
1449
<li class="md-nav__item">
1450
<a href="#video_processor.models.Relationship" class="md-nav__link">
1451
<span class="md-ellipsis">
1452
1453
Relationship
1454
1455
</span>
1456
</a>
1457
1458
</li>
1459
1460
<li class="md-nav__item">
1461
<a href="#video_processor.models.ScreenCapture" class="md-nav__link">
1462
<span class="md-ellipsis">
1463
1464
ScreenCapture
1465
1466
</span>
1467
</a>
1468
1469
</li>
1470
1471
<li class="md-nav__item">
1472
<a href="#video_processor.models.SourceRecord" class="md-nav__link">
1473
<span class="md-ellipsis">
1474
1475
SourceRecord
1476
1477
</span>
1478
</a>
1479
1480
</li>
1481
1482
<li class="md-nav__item">
1483
<a href="#video_processor.models.TranscriptSegment" class="md-nav__link">
1484
<span class="md-ellipsis">
1485
1486
TranscriptSegment
1487
1488
</span>
1489
</a>
1490
1491
</li>
1492
1493
<li class="md-nav__item">
1494
<a href="#video_processor.models.VideoManifest" class="md-nav__link">
1495
<span class="md-ellipsis">
1496
1497
VideoManifest
1498
1499
</span>
1500
</a>
1501
1502
</li>
1503
1504
<li class="md-nav__item">
1505
<a href="#video_processor.models.VideoMetadata" class="md-nav__link">
1506
<span class="md-ellipsis">
1507
1508
VideoMetadata
1509
1510
</span>
1511
</a>
1512
1513
</li>
1514
1515
</ul>
1516
</nav>
1517
1518
</li>
1519
1520
<li class="md-nav__item">
1521
<a href="#overview" class="md-nav__link">
1522
<span class="md-ellipsis">
1523
1524
Overview
1525
1526
</span>
1527
</a>
1528
1529
</li>
1530
1531
<li class="md-nav__item">
1532
<a href="#enumerations" class="md-nav__link">
1533
<span class="md-ellipsis">
1534
1535
Enumerations
1536
1537
</span>
1538
</a>
1539
1540
<nav class="md-nav" aria-label="Enumerations">
1541
<ul class="md-nav__list">
1542
1543
<li class="md-nav__item">
1544
<a href="#diagramtype" class="md-nav__link">
1545
<span class="md-ellipsis">
1546
1547
DiagramType
1548
1549
</span>
1550
</a>
1551
1552
</li>
1553
1554
<li class="md-nav__item">
1555
<a href="#outputformat" class="md-nav__link">
1556
<span class="md-ellipsis">
1557
1558
OutputFormat
1559
1560
</span>
1561
</a>
1562
1563
</li>
1564
1565
<li class="md-nav__item">
1566
<a href="#planningentitytype" class="md-nav__link">
1567
<span class="md-ellipsis">
1568
1569
PlanningEntityType
1570
1571
</span>
1572
</a>
1573
1574
</li>
1575
1576
<li class="md-nav__item">
1577
<a href="#planningrelationshiptype" class="md-nav__link">
1578
<span class="md-ellipsis">
1579
1580
PlanningRelationshipType
1581
1582
</span>
1583
</a>
1584
1585
</li>
1586
1587
</ul>
1588
</nav>
1589
1590
</li>
1591
1592
<li class="md-nav__item">
1593
<a href="#protocols" class="md-nav__link">
1594
<span class="md-ellipsis">
1595
1596
Protocols
1597
1598
</span>
1599
</a>
1600
1601
<nav class="md-nav" aria-label="Protocols">
1602
<ul class="md-nav__list">
1603
1604
<li class="md-nav__item">
1605
<a href="#progresscallback" class="md-nav__link">
1606
<span class="md-ellipsis">
1607
1608
ProgressCallback
1609
1610
</span>
1611
</a>
1612
1613
</li>
1614
1615
</ul>
1616
</nav>
1617
1618
</li>
1619
1620
<li class="md-nav__item">
1621
<a href="#transcript-models" class="md-nav__link">
1622
<span class="md-ellipsis">
1623
1624
Transcript Models
1625
1626
</span>
1627
</a>
1628
1629
<nav class="md-nav" aria-label="Transcript Models">
1630
<ul class="md-nav__list">
1631
1632
<li class="md-nav__item">
1633
<a href="#transcriptsegment" class="md-nav__link">
1634
<span class="md-ellipsis">
1635
1636
TranscriptSegment
1637
1638
</span>
1639
</a>
1640
1641
</li>
1642
1643
</ul>
1644
</nav>
1645
1646
</li>
1647
1648
<li class="md-nav__item">
1649
<a href="#content-extraction-models" class="md-nav__link">
1650
<span class="md-ellipsis">
1651
1652
Content Extraction Models
1653
1654
</span>
1655
</a>
1656
1657
<nav class="md-nav" aria-label="Content Extraction Models">
1658
<ul class="md-nav__list">
1659
1660
<li class="md-nav__item">
1661
<a href="#actionitem" class="md-nav__link">
1662
<span class="md-ellipsis">
1663
1664
ActionItem
1665
1666
</span>
1667
</a>
1668
1669
</li>
1670
1671
<li class="md-nav__item">
1672
<a href="#keypoint" class="md-nav__link">
1673
<span class="md-ellipsis">
1674
1675
KeyPoint
1676
1677
</span>
1678
</a>
1679
1680
</li>
1681
1682
</ul>
1683
</nav>
1684
1685
</li>
1686
1687
<li class="md-nav__item">
1688
<a href="#diagram-models" class="md-nav__link">
1689
<span class="md-ellipsis">
1690
1691
Diagram Models
1692
1693
</span>
1694
</a>
1695
1696
<nav class="md-nav" aria-label="Diagram Models">
1697
<ul class="md-nav__list">
1698
1699
<li class="md-nav__item">
1700
<a href="#diagramresult" class="md-nav__link">
1701
<span class="md-ellipsis">
1702
1703
DiagramResult
1704
1705
</span>
1706
</a>
1707
1708
</li>
1709
1710
<li class="md-nav__item">
1711
<a href="#screencapture" class="md-nav__link">
1712
<span class="md-ellipsis">
1713
1714
ScreenCapture
1715
1716
</span>
1717
</a>
1718
1719
</li>
1720
1721
</ul>
1722
</nav>
1723
1724
</li>
1725
1726
<li class="md-nav__item">
1727
<a href="#knowledge-graph-models" class="md-nav__link">
1728
<span class="md-ellipsis">
1729
1730
Knowledge Graph Models
1731
1732
</span>
1733
</a>
1734
1735
<nav class="md-nav" aria-label="Knowledge Graph Models">
1736
<ul class="md-nav__list">
1737
1738
<li class="md-nav__item">
1739
<a href="#entity" class="md-nav__link">
1740
<span class="md-ellipsis">
1741
1742
Entity
1743
1744
</span>
1745
</a>
1746
1747
</li>
1748
1749
<li class="md-nav__item">
1750
<a href="#relationship" class="md-nav__link">
1751
<span class="md-ellipsis">
1752
1753
Relationship
1754
1755
</span>
1756
</a>
1757
1758
</li>
1759
1760
<li class="md-nav__item">
1761
<a href="#sourcerecord" class="md-nav__link">
1762
<span class="md-ellipsis">
1763
1764
SourceRecord
1765
1766
</span>
1767
</a>
1768
1769
</li>
1770
1771
<li class="md-nav__item">
1772
<a href="#knowledgegraphdata" class="md-nav__link">
1773
<span class="md-ellipsis">
1774
1775
KnowledgeGraphData
1776
1777
</span>
1778
</a>
1779
1780
</li>
1781
1782
</ul>
1783
</nav>
1784
1785
</li>
1786
1787
<li class="md-nav__item">
1788
<a href="#planning-models" class="md-nav__link">
1789
<span class="md-ellipsis">
1790
1791
Planning Models
1792
1793
</span>
1794
</a>
1795
1796
<nav class="md-nav" aria-label="Planning Models">
1797
<ul class="md-nav__list">
1798
1799
<li class="md-nav__item">
1800
<a href="#planningentity" class="md-nav__link">
1801
<span class="md-ellipsis">
1802
1803
PlanningEntity
1804
1805
</span>
1806
</a>
1807
1808
</li>
1809
1810
</ul>
1811
</nav>
1812
1813
</li>
1814
1815
<li class="md-nav__item">
1816
<a href="#processing-and-metadata-models" class="md-nav__link">
1817
<span class="md-ellipsis">
1818
1819
Processing and Metadata Models
1820
1821
</span>
1822
</a>
1823
1824
<nav class="md-nav" aria-label="Processing and Metadata Models">
1825
<ul class="md-nav__list">
1826
1827
<li class="md-nav__item">
1828
<a href="#processingstats" class="md-nav__link">
1829
<span class="md-ellipsis">
1830
1831
ProcessingStats
1832
1833
</span>
1834
</a>
1835
1836
</li>
1837
1838
<li class="md-nav__item">
1839
<a href="#videometadata" class="md-nav__link">
1840
<span class="md-ellipsis">
1841
1842
VideoMetadata
1843
1844
</span>
1845
</a>
1846
1847
</li>
1848
1849
</ul>
1850
</nav>
1851
1852
</li>
1853
1854
<li class="md-nav__item">
1855
<a href="#manifest-models" class="md-nav__link">
1856
<span class="md-ellipsis">
1857
1858
Manifest Models
1859
1860
</span>
1861
</a>
1862
1863
<nav class="md-nav" aria-label="Manifest Models">
1864
<ul class="md-nav__list">
1865
1866
<li class="md-nav__item">
1867
<a href="#videomanifest" class="md-nav__link">
1868
<span class="md-ellipsis">
1869
1870
VideoManifest
1871
1872
</span>
1873
</a>
1874
1875
</li>
1876
1877
<li class="md-nav__item">
1878
<a href="#batchvideoentry" class="md-nav__link">
1879
<span class="md-ellipsis">
1880
1881
BatchVideoEntry
1882
1883
</span>
1884
</a>
1885
1886
</li>
1887
1888
<li class="md-nav__item">
1889
<a href="#batchmanifest" class="md-nav__link">
1890
<span class="md-ellipsis">
1891
1892
BatchManifest
1893
1894
</span>
1895
</a>
1896
1897
</li>
1898
1899
</ul>
1900
</nav>
1901
1902
</li>
1903
1904
</ul>
1905
1906
</nav>
1907
1908
</li>
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
<li class="md-nav__item">
1920
<a href="../providers/" class="md-nav__link">
1921
1922
1923
1924
<span class="md-ellipsis">
1925
1926
1927
Providers
1928
1929
1930
1931
</span>
1932
1933
1934
1935
</a>
1936
</li>
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
<li class="md-nav__item">
1948
<a href="../analyzers/" class="md-nav__link">
1949
1950
1951
1952
<span class="md-ellipsis">
1953
1954
1955
Analyzers
1956
1957
1958
1959
</span>
1960
1961
1962
1963
</a>
1964
</li>
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
<li class="md-nav__item">
1976
<a href="../agent/" class="md-nav__link">
1977
1978
1979
1980
<span class="md-ellipsis">
1981
1982
1983
Agent & Skills
1984
1985
1986
1987
</span>
1988
1989
1990
1991
</a>
1992
</li>
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
<li class="md-nav__item">
2004
<a href="../sources/" class="md-nav__link">
2005
2006
2007
2008
<span class="md-ellipsis">
2009
2010
2011
Sources
2012
2013
2014
2015
</span>
2016
2017
2018
2019
</a>
2020
</li>
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
<li class="md-nav__item">
2032
<a href="../auth/" class="md-nav__link">
2033
2034
2035
2036
<span class="md-ellipsis">
2037
2038
2039
Authentication
2040
2041
2042
2043
</span>
2044
2045
2046
2047
</a>
2048
</li>
2049
2050
2051
2052
2053
</ul>
2054
</nav>
2055
2056
</li>
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
<li class="md-nav__item">
2067
<a href="../../faq/" class="md-nav__link">
2068
2069
2070
2071
<span class="md-ellipsis">
2072
2073
2074
FAQ & Troubleshooting
2075
2076
2077
2078
</span>
2079
2080
2081
2082
</a>
2083
</li>
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
<li class="md-nav__item">
2094
<a href="../../contributing/" class="md-nav__link">
2095
2096
2097
2098
<span class="md-ellipsis">
2099
2100
2101
Contributing
2102
2103
2104
2105
</span>
2106
2107
2108
2109
</a>
2110
</li>
2111
2112
2113
2114
</ul>
2115
</nav>
2116
</div>
2117
</div>
2118
</div>
2119
2120
2121
2122
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2123
<div class="md-sidebar__scrollwrap">
2124
<div class="md-sidebar__inner">
2125
2126
2127
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2128
2129
2130
2131
2132
2133
2134
<label class="md-nav__title" for="__toc">
2135
<span class="md-nav__icon md-icon"></span>
2136
Table of contents
2137
</label>
2138
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2139
2140
<li class="md-nav__item">
2141
<a href="#video_processor.models" class="md-nav__link">
2142
<span class="md-ellipsis">
2143
2144
models
2145
2146
</span>
2147
</a>
2148
2149
<nav class="md-nav" aria-label="models">
2150
<ul class="md-nav__list">
2151
2152
<li class="md-nav__item">
2153
<a href="#video_processor.models.ActionItem" class="md-nav__link">
2154
<span class="md-ellipsis">
2155
2156
ActionItem
2157
2158
</span>
2159
</a>
2160
2161
</li>
2162
2163
<li class="md-nav__item">
2164
<a href="#video_processor.models.BatchManifest" class="md-nav__link">
2165
<span class="md-ellipsis">
2166
2167
BatchManifest
2168
2169
</span>
2170
</a>
2171
2172
</li>
2173
2174
<li class="md-nav__item">
2175
<a href="#video_processor.models.BatchVideoEntry" class="md-nav__link">
2176
<span class="md-ellipsis">
2177
2178
BatchVideoEntry
2179
2180
</span>
2181
</a>
2182
2183
</li>
2184
2185
<li class="md-nav__item">
2186
<a href="#video_processor.models.DiagramResult" class="md-nav__link">
2187
<span class="md-ellipsis">
2188
2189
DiagramResult
2190
2191
</span>
2192
</a>
2193
2194
</li>
2195
2196
<li class="md-nav__item">
2197
<a href="#video_processor.models.DiagramType" class="md-nav__link">
2198
<span class="md-ellipsis">
2199
2200
DiagramType
2201
2202
</span>
2203
</a>
2204
2205
</li>
2206
2207
<li class="md-nav__item">
2208
<a href="#video_processor.models.Entity" class="md-nav__link">
2209
<span class="md-ellipsis">
2210
2211
Entity
2212
2213
</span>
2214
</a>
2215
2216
</li>
2217
2218
<li class="md-nav__item">
2219
<a href="#video_processor.models.KeyPoint" class="md-nav__link">
2220
<span class="md-ellipsis">
2221
2222
KeyPoint
2223
2224
</span>
2225
</a>
2226
2227
</li>
2228
2229
<li class="md-nav__item">
2230
<a href="#video_processor.models.KnowledgeGraphData" class="md-nav__link">
2231
<span class="md-ellipsis">
2232
2233
KnowledgeGraphData
2234
2235
</span>
2236
</a>
2237
2238
</li>
2239
2240
<li class="md-nav__item">
2241
<a href="#video_processor.models.OutputFormat" class="md-nav__link">
2242
<span class="md-ellipsis">
2243
2244
OutputFormat
2245
2246
</span>
2247
</a>
2248
2249
</li>
2250
2251
<li class="md-nav__item">
2252
<a href="#video_processor.models.PlanningEntity" class="md-nav__link">
2253
<span class="md-ellipsis">
2254
2255
PlanningEntity
2256
2257
</span>
2258
</a>
2259
2260
</li>
2261
2262
<li class="md-nav__item">
2263
<a href="#video_processor.models.PlanningEntityType" class="md-nav__link">
2264
<span class="md-ellipsis">
2265
2266
PlanningEntityType
2267
2268
</span>
2269
</a>
2270
2271
</li>
2272
2273
<li class="md-nav__item">
2274
<a href="#video_processor.models.PlanningRelationshipType" class="md-nav__link">
2275
<span class="md-ellipsis">
2276
2277
PlanningRelationshipType
2278
2279
</span>
2280
</a>
2281
2282
</li>
2283
2284
<li class="md-nav__item">
2285
<a href="#video_processor.models.ProcessingStats" class="md-nav__link">
2286
<span class="md-ellipsis">
2287
2288
ProcessingStats
2289
2290
</span>
2291
</a>
2292
2293
</li>
2294
2295
<li class="md-nav__item">
2296
<a href="#video_processor.models.ProgressCallback" class="md-nav__link">
2297
<span class="md-ellipsis">
2298
2299
ProgressCallback
2300
2301
</span>
2302
</a>
2303
2304
</li>
2305
2306
<li class="md-nav__item">
2307
<a href="#video_processor.models.Relationship" class="md-nav__link">
2308
<span class="md-ellipsis">
2309
2310
Relationship
2311
2312
</span>
2313
</a>
2314
2315
</li>
2316
2317
<li class="md-nav__item">
2318
<a href="#video_processor.models.ScreenCapture" class="md-nav__link">
2319
<span class="md-ellipsis">
2320
2321
ScreenCapture
2322
2323
</span>
2324
</a>
2325
2326
</li>
2327
2328
<li class="md-nav__item">
2329
<a href="#video_processor.models.SourceRecord" class="md-nav__link">
2330
<span class="md-ellipsis">
2331
2332
SourceRecord
2333
2334
</span>
2335
</a>
2336
2337
</li>
2338
2339
<li class="md-nav__item">
2340
<a href="#video_processor.models.TranscriptSegment" class="md-nav__link">
2341
<span class="md-ellipsis">
2342
2343
TranscriptSegment
2344
2345
</span>
2346
</a>
2347
2348
</li>
2349
2350
<li class="md-nav__item">
2351
<a href="#video_processor.models.VideoManifest" class="md-nav__link">
2352
<span class="md-ellipsis">
2353
2354
VideoManifest
2355
2356
</span>
2357
</a>
2358
2359
</li>
2360
2361
<li class="md-nav__item">
2362
<a href="#video_processor.models.VideoMetadata" class="md-nav__link">
2363
<span class="md-ellipsis">
2364
2365
VideoMetadata
2366
2367
</span>
2368
</a>
2369
2370
</li>
2371
2372
</ul>
2373
</nav>
2374
2375
</li>
2376
2377
<li class="md-nav__item">
2378
<a href="#overview" class="md-nav__link">
2379
<span class="md-ellipsis">
2380
2381
Overview
2382
2383
</span>
2384
</a>
2385
2386
</li>
2387
2388
<li class="md-nav__item">
2389
<a href="#enumerations" class="md-nav__link">
2390
<span class="md-ellipsis">
2391
2392
Enumerations
2393
2394
</span>
2395
</a>
2396
2397
<nav class="md-nav" aria-label="Enumerations">
2398
<ul class="md-nav__list">
2399
2400
<li class="md-nav__item">
2401
<a href="#diagramtype" class="md-nav__link">
2402
<span class="md-ellipsis">
2403
2404
DiagramType
2405
2406
</span>
2407
</a>
2408
2409
</li>
2410
2411
<li class="md-nav__item">
2412
<a href="#outputformat" class="md-nav__link">
2413
<span class="md-ellipsis">
2414
2415
OutputFormat
2416
2417
</span>
2418
</a>
2419
2420
</li>
2421
2422
<li class="md-nav__item">
2423
<a href="#planningentitytype" class="md-nav__link">
2424
<span class="md-ellipsis">
2425
2426
PlanningEntityType
2427
2428
</span>
2429
</a>
2430
2431
</li>
2432
2433
<li class="md-nav__item">
2434
<a href="#planningrelationshiptype" class="md-nav__link">
2435
<span class="md-ellipsis">
2436
2437
PlanningRelationshipType
2438
2439
</span>
2440
</a>
2441
2442
</li>
2443
2444
</ul>
2445
</nav>
2446
2447
</li>
2448
2449
<li class="md-nav__item">
2450
<a href="#protocols" class="md-nav__link">
2451
<span class="md-ellipsis">
2452
2453
Protocols
2454
2455
</span>
2456
</a>
2457
2458
<nav class="md-nav" aria-label="Protocols">
2459
<ul class="md-nav__list">
2460
2461
<li class="md-nav__item">
2462
<a href="#progresscallback" class="md-nav__link">
2463
<span class="md-ellipsis">
2464
2465
ProgressCallback
2466
2467
</span>
2468
</a>
2469
2470
</li>
2471
2472
</ul>
2473
</nav>
2474
2475
</li>
2476
2477
<li class="md-nav__item">
2478
<a href="#transcript-models" class="md-nav__link">
2479
<span class="md-ellipsis">
2480
2481
Transcript Models
2482
2483
</span>
2484
</a>
2485
2486
<nav class="md-nav" aria-label="Transcript Models">
2487
<ul class="md-nav__list">
2488
2489
<li class="md-nav__item">
2490
<a href="#transcriptsegment" class="md-nav__link">
2491
<span class="md-ellipsis">
2492
2493
TranscriptSegment
2494
2495
</span>
2496
</a>
2497
2498
</li>
2499
2500
</ul>
2501
</nav>
2502
2503
</li>
2504
2505
<li class="md-nav__item">
2506
<a href="#content-extraction-models" class="md-nav__link">
2507
<span class="md-ellipsis">
2508
2509
Content Extraction Models
2510
2511
</span>
2512
</a>
2513
2514
<nav class="md-nav" aria-label="Content Extraction Models">
2515
<ul class="md-nav__list">
2516
2517
<li class="md-nav__item">
2518
<a href="#actionitem" class="md-nav__link">
2519
<span class="md-ellipsis">
2520
2521
ActionItem
2522
2523
</span>
2524
</a>
2525
2526
</li>
2527
2528
<li class="md-nav__item">
2529
<a href="#keypoint" class="md-nav__link">
2530
<span class="md-ellipsis">
2531
2532
KeyPoint
2533
2534
</span>
2535
</a>
2536
2537
</li>
2538
2539
</ul>
2540
</nav>
2541
2542
</li>
2543
2544
<li class="md-nav__item">
2545
<a href="#diagram-models" class="md-nav__link">
2546
<span class="md-ellipsis">
2547
2548
Diagram Models
2549
2550
</span>
2551
</a>
2552
2553
<nav class="md-nav" aria-label="Diagram Models">
2554
<ul class="md-nav__list">
2555
2556
<li class="md-nav__item">
2557
<a href="#diagramresult" class="md-nav__link">
2558
<span class="md-ellipsis">
2559
2560
DiagramResult
2561
2562
</span>
2563
</a>
2564
2565
</li>
2566
2567
<li class="md-nav__item">
2568
<a href="#screencapture" class="md-nav__link">
2569
<span class="md-ellipsis">
2570
2571
ScreenCapture
2572
2573
</span>
2574
</a>
2575
2576
</li>
2577
2578
</ul>
2579
</nav>
2580
2581
</li>
2582
2583
<li class="md-nav__item">
2584
<a href="#knowledge-graph-models" class="md-nav__link">
2585
<span class="md-ellipsis">
2586
2587
Knowledge Graph Models
2588
2589
</span>
2590
</a>
2591
2592
<nav class="md-nav" aria-label="Knowledge Graph Models">
2593
<ul class="md-nav__list">
2594
2595
<li class="md-nav__item">
2596
<a href="#entity" class="md-nav__link">
2597
<span class="md-ellipsis">
2598
2599
Entity
2600
2601
</span>
2602
</a>
2603
2604
</li>
2605
2606
<li class="md-nav__item">
2607
<a href="#relationship" class="md-nav__link">
2608
<span class="md-ellipsis">
2609
2610
Relationship
2611
2612
</span>
2613
</a>
2614
2615
</li>
2616
2617
<li class="md-nav__item">
2618
<a href="#sourcerecord" class="md-nav__link">
2619
<span class="md-ellipsis">
2620
2621
SourceRecord
2622
2623
</span>
2624
</a>
2625
2626
</li>
2627
2628
<li class="md-nav__item">
2629
<a href="#knowledgegraphdata" class="md-nav__link">
2630
<span class="md-ellipsis">
2631
2632
KnowledgeGraphData
2633
2634
</span>
2635
</a>
2636
2637
</li>
2638
2639
</ul>
2640
</nav>
2641
2642
</li>
2643
2644
<li class="md-nav__item">
2645
<a href="#planning-models" class="md-nav__link">
2646
<span class="md-ellipsis">
2647
2648
Planning Models
2649
2650
</span>
2651
</a>
2652
2653
<nav class="md-nav" aria-label="Planning Models">
2654
<ul class="md-nav__list">
2655
2656
<li class="md-nav__item">
2657
<a href="#planningentity" class="md-nav__link">
2658
<span class="md-ellipsis">
2659
2660
PlanningEntity
2661
2662
</span>
2663
</a>
2664
2665
</li>
2666
2667
</ul>
2668
</nav>
2669
2670
</li>
2671
2672
<li class="md-nav__item">
2673
<a href="#processing-and-metadata-models" class="md-nav__link">
2674
<span class="md-ellipsis">
2675
2676
Processing and Metadata Models
2677
2678
</span>
2679
</a>
2680
2681
<nav class="md-nav" aria-label="Processing and Metadata Models">
2682
<ul class="md-nav__list">
2683
2684
<li class="md-nav__item">
2685
<a href="#processingstats" class="md-nav__link">
2686
<span class="md-ellipsis">
2687
2688
ProcessingStats
2689
2690
</span>
2691
</a>
2692
2693
</li>
2694
2695
<li class="md-nav__item">
2696
<a href="#videometadata" class="md-nav__link">
2697
<span class="md-ellipsis">
2698
2699
VideoMetadata
2700
2701
</span>
2702
</a>
2703
2704
</li>
2705
2706
</ul>
2707
</nav>
2708
2709
</li>
2710
2711
<li class="md-nav__item">
2712
<a href="#manifest-models" class="md-nav__link">
2713
<span class="md-ellipsis">
2714
2715
Manifest Models
2716
2717
</span>
2718
</a>
2719
2720
<nav class="md-nav" aria-label="Manifest Models">
2721
<ul class="md-nav__list">
2722
2723
<li class="md-nav__item">
2724
<a href="#videomanifest" class="md-nav__link">
2725
<span class="md-ellipsis">
2726
2727
VideoManifest
2728
2729
</span>
2730
</a>
2731
2732
</li>
2733
2734
<li class="md-nav__item">
2735
<a href="#batchvideoentry" class="md-nav__link">
2736
<span class="md-ellipsis">
2737
2738
BatchVideoEntry
2739
2740
</span>
2741
</a>
2742
2743
</li>
2744
2745
<li class="md-nav__item">
2746
<a href="#batchmanifest" class="md-nav__link">
2747
<span class="md-ellipsis">
2748
2749
BatchManifest
2750
2751
</span>
2752
</a>
2753
2754
</li>
2755
2756
</ul>
2757
</nav>
2758
2759
</li>
2760
2761
</ul>
2762
2763
</nav>
2764
</div>
2765
</div>
2766
</div>
2767
2768
2769
2770
<div class="md-content" data-md-component="content">
2771
2772
<article class="md-content__inner md-typeset">
2773
2774
2775
2776
2777
2778
2779
2780
2781
<h1 id="models-api-reference">Models API Reference<a class="headerlink" href="#models-api-reference" title="Permanent link">&para;</a></h1>
2782
2783
2784
<div class="doc doc-object doc-module">
2785
2786
2787
2788
<h2 id="video_processor.models" class="doc doc-heading">
2789
<code>video_processor.models</code>
2790
2791
2792
<a href="#video_processor.models" class="headerlink" title="Permanent link">&para;</a></h2>
2793
2794
<div class="doc doc-contents first">
2795
2796
<p>Pydantic data models for PlanOpticon output.</p>
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
<div class="doc doc-children">
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
<div class="doc doc-object doc-class">
2818
2819
2820
2821
<h3 id="video_processor.models.ActionItem" class="doc doc-heading">
2822
<code>ActionItem</code>
2823
2824
2825
<a href="#video_processor.models.ActionItem" class="headerlink" title="Permanent link">&para;</a></h3>
2826
2827
2828
<div class="doc doc-contents ">
2829
<p class="doc doc-class-bases">
2830
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
2831
2832
2833
2834
<p>An action item extracted from content.</p>
2835
2836
2837
2838
2839
2840
2841
2842
2843
<details class="mkdocstrings-source">
2844
<summary>Source code in <code>video_processor/models.py</code></summary>
2845
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-54">54</a></span>
2846
<span class="normal"><a href="#__codelineno-0-55">55</a></span>
2847
<span class="normal"><a href="#__codelineno-0-56">56</a></span>
2848
<span class="normal"><a href="#__codelineno-0-57">57</a></span>
2849
<span class="normal"><a href="#__codelineno-0-58">58</a></span>
2850
<span class="normal"><a href="#__codelineno-0-59">59</a></span>
2851
<span class="normal"><a href="#__codelineno-0-60">60</a></span>
2852
<span class="normal"><a href="#__codelineno-0-61">61</a></span>
2853
<span class="normal"><a href="#__codelineno-0-62">62</a></span>
2854
<span class="normal"><a href="#__codelineno-0-63">63</a></span>
2855
<span class="normal"><a href="#__codelineno-0-64">64</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-54" name="__codelineno-0-54"></a><span class="k">class</span><span class="w"> </span><span class="nc">ActionItem</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
2856
<a id="__codelineno-0-55" name="__codelineno-0-55"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;An action item extracted from content.&quot;&quot;&quot;</span>
2857
<a id="__codelineno-0-56" name="__codelineno-0-56"></a>
2858
<a id="__codelineno-0-57" name="__codelineno-0-57"></a> <span class="n">action</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;The action to be taken&quot;</span><span class="p">)</span>
2859
<a id="__codelineno-0-58" name="__codelineno-0-58"></a> <span class="n">assignee</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Person responsible&quot;</span><span class="p">)</span>
2860
<a id="__codelineno-0-59" name="__codelineno-0-59"></a> <span class="n">deadline</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Deadline or timeframe&quot;</span><span class="p">)</span>
2861
<a id="__codelineno-0-60" name="__codelineno-0-60"></a> <span class="n">priority</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Priority level&quot;</span><span class="p">)</span>
2862
<a id="__codelineno-0-61" name="__codelineno-0-61"></a> <span class="n">context</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Additional context&quot;</span><span class="p">)</span>
2863
<a id="__codelineno-0-62" name="__codelineno-0-62"></a> <span class="n">source</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
2864
<a id="__codelineno-0-63" name="__codelineno-0-63"></a> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Where this was found (transcript/diagram)&quot;</span>
2865
<a id="__codelineno-0-64" name="__codelineno-0-64"></a> <span class="p">)</span>
2866
</code></pre></div></td></tr></table></div>
2867
</details>
2868
2869
2870
2871
<div class="doc doc-children">
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
</div>
2885
2886
</div>
2887
2888
</div>
2889
2890
<div class="doc doc-object doc-class">
2891
2892
2893
2894
<h3 id="video_processor.models.BatchManifest" class="doc doc-heading">
2895
<code>BatchManifest</code>
2896
2897
2898
<a href="#video_processor.models.BatchManifest" class="headerlink" title="Permanent link">&para;</a></h3>
2899
2900
2901
<div class="doc doc-contents ">
2902
<p class="doc doc-class-bases">
2903
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
2904
2905
2906
2907
<p>Manifest for a batch processing run.</p>
2908
2909
2910
2911
2912
2913
2914
2915
2916
<details class="mkdocstrings-source">
2917
<summary>Source code in <code>video_processor/models.py</code></summary>
2918
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-279">279</a></span>
2919
<span class="normal"><a href="#__codelineno-0-280">280</a></span>
2920
<span class="normal"><a href="#__codelineno-0-281">281</a></span>
2921
<span class="normal"><a href="#__codelineno-0-282">282</a></span>
2922
<span class="normal"><a href="#__codelineno-0-283">283</a></span>
2923
<span class="normal"><a href="#__codelineno-0-284">284</a></span>
2924
<span class="normal"><a href="#__codelineno-0-285">285</a></span>
2925
<span class="normal"><a href="#__codelineno-0-286">286</a></span>
2926
<span class="normal"><a href="#__codelineno-0-287">287</a></span>
2927
<span class="normal"><a href="#__codelineno-0-288">288</a></span>
2928
<span class="normal"><a href="#__codelineno-0-289">289</a></span>
2929
<span class="normal"><a href="#__codelineno-0-290">290</a></span>
2930
<span class="normal"><a href="#__codelineno-0-291">291</a></span>
2931
<span class="normal"><a href="#__codelineno-0-292">292</a></span>
2932
<span class="normal"><a href="#__codelineno-0-293">293</a></span>
2933
<span class="normal"><a href="#__codelineno-0-294">294</a></span>
2934
<span class="normal"><a href="#__codelineno-0-295">295</a></span>
2935
<span class="normal"><a href="#__codelineno-0-296">296</a></span>
2936
<span class="normal"><a href="#__codelineno-0-297">297</a></span>
2937
<span class="normal"><a href="#__codelineno-0-298">298</a></span>
2938
<span class="normal"><a href="#__codelineno-0-299">299</a></span>
2939
<span class="normal"><a href="#__codelineno-0-300">300</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-279" name="__codelineno-0-279"></a><span class="k">class</span><span class="w"> </span><span class="nc">BatchManifest</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
2940
<a id="__codelineno-0-280" name="__codelineno-0-280"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Manifest for a batch processing run.&quot;&quot;&quot;</span>
2941
<a id="__codelineno-0-281" name="__codelineno-0-281"></a>
2942
<a id="__codelineno-0-282" name="__codelineno-0-282"></a> <span class="n">version</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s2">&quot;1.0&quot;</span><span class="p">)</span>
2943
<a id="__codelineno-0-283" name="__codelineno-0-283"></a> <span class="n">title</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s2">&quot;Batch Processing Results&quot;</span><span class="p">)</span>
2944
<a id="__codelineno-0-284" name="__codelineno-0-284"></a> <span class="n">processed_at</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="k">lambda</span><span class="p">:</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">isoformat</span><span class="p">())</span>
2945
<a id="__codelineno-0-285" name="__codelineno-0-285"></a> <span class="n">stats</span><span class="p">:</span> <span class="n">ProcessingStats</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="n">ProcessingStats</span><span class="p">)</span>
2946
<a id="__codelineno-0-286" name="__codelineno-0-286"></a>
2947
<a id="__codelineno-0-287" name="__codelineno-0-287"></a> <span class="n">videos</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">BatchVideoEntry</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">)</span>
2948
<a id="__codelineno-0-288" name="__codelineno-0-288"></a>
2949
<a id="__codelineno-0-289" name="__codelineno-0-289"></a> <span class="c1"># Aggregated counts</span>
2950
<a id="__codelineno-0-290" name="__codelineno-0-290"></a> <span class="n">total_videos</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
2951
<a id="__codelineno-0-291" name="__codelineno-0-291"></a> <span class="n">completed_videos</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
2952
<a id="__codelineno-0-292" name="__codelineno-0-292"></a> <span class="n">failed_videos</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
2953
<a id="__codelineno-0-293" name="__codelineno-0-293"></a> <span class="n">total_diagrams</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
2954
<a id="__codelineno-0-294" name="__codelineno-0-294"></a> <span class="n">total_action_items</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
2955
<a id="__codelineno-0-295" name="__codelineno-0-295"></a> <span class="n">total_key_points</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
2956
<a id="__codelineno-0-296" name="__codelineno-0-296"></a>
2957
<a id="__codelineno-0-297" name="__codelineno-0-297"></a> <span class="c1"># Batch-level output paths (relative)</span>
2958
<a id="__codelineno-0-298" name="__codelineno-0-298"></a> <span class="n">batch_summary_md</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
2959
<a id="__codelineno-0-299" name="__codelineno-0-299"></a> <span class="n">merged_knowledge_graph_json</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
2960
<a id="__codelineno-0-300" name="__codelineno-0-300"></a> <span class="n">merged_knowledge_graph_db</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
2961
</code></pre></div></td></tr></table></div>
2962
</details>
2963
2964
2965
2966
<div class="doc doc-children">
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
</div>
2980
2981
</div>
2982
2983
</div>
2984
2985
<div class="doc doc-object doc-class">
2986
2987
2988
2989
<h3 id="video_processor.models.BatchVideoEntry" class="doc doc-heading">
2990
<code>BatchVideoEntry</code>
2991
2992
2993
<a href="#video_processor.models.BatchVideoEntry" class="headerlink" title="Permanent link">&para;</a></h3>
2994
2995
2996
<div class="doc doc-contents ">
2997
<p class="doc doc-class-bases">
2998
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
2999
3000
3001
3002
<p>Summary of a single video within a batch.</p>
3003
3004
3005
3006
3007
3008
3009
3010
3011
<details class="mkdocstrings-source">
3012
<summary>Source code in <code>video_processor/models.py</code></summary>
3013
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-266">266</a></span>
3014
<span class="normal"><a href="#__codelineno-0-267">267</a></span>
3015
<span class="normal"><a href="#__codelineno-0-268">268</a></span>
3016
<span class="normal"><a href="#__codelineno-0-269">269</a></span>
3017
<span class="normal"><a href="#__codelineno-0-270">270</a></span>
3018
<span class="normal"><a href="#__codelineno-0-271">271</a></span>
3019
<span class="normal"><a href="#__codelineno-0-272">272</a></span>
3020
<span class="normal"><a href="#__codelineno-0-273">273</a></span>
3021
<span class="normal"><a href="#__codelineno-0-274">274</a></span>
3022
<span class="normal"><a href="#__codelineno-0-275">275</a></span>
3023
<span class="normal"><a href="#__codelineno-0-276">276</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-266" name="__codelineno-0-266"></a><span class="k">class</span><span class="w"> </span><span class="nc">BatchVideoEntry</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
3024
<a id="__codelineno-0-267" name="__codelineno-0-267"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Summary of a single video within a batch.&quot;&quot;&quot;</span>
3025
<a id="__codelineno-0-268" name="__codelineno-0-268"></a>
3026
<a id="__codelineno-0-269" name="__codelineno-0-269"></a> <span class="n">video_name</span><span class="p">:</span> <span class="nb">str</span>
3027
<a id="__codelineno-0-270" name="__codelineno-0-270"></a> <span class="n">manifest_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Relative path to video manifest&quot;</span><span class="p">)</span>
3028
<a id="__codelineno-0-271" name="__codelineno-0-271"></a> <span class="n">status</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s2">&quot;pending&quot;</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;pending/completed/failed&quot;</span><span class="p">)</span>
3029
<a id="__codelineno-0-272" name="__codelineno-0-272"></a> <span class="n">error</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Error message if failed&quot;</span><span class="p">)</span>
3030
<a id="__codelineno-0-273" name="__codelineno-0-273"></a> <span class="n">diagrams_count</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
3031
<a id="__codelineno-0-274" name="__codelineno-0-274"></a> <span class="n">action_items_count</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
3032
<a id="__codelineno-0-275" name="__codelineno-0-275"></a> <span class="n">key_points_count</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
3033
<a id="__codelineno-0-276" name="__codelineno-0-276"></a> <span class="n">duration_seconds</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
3034
</code></pre></div></td></tr></table></div>
3035
</details>
3036
3037
3038
3039
<div class="doc doc-children">
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
</div>
3053
3054
</div>
3055
3056
</div>
3057
3058
<div class="doc doc-object doc-class">
3059
3060
3061
3062
<h3 id="video_processor.models.DiagramResult" class="doc doc-heading">
3063
<code>DiagramResult</code>
3064
3065
3066
<a href="#video_processor.models.DiagramResult" class="headerlink" title="Permanent link">&para;</a></h3>
3067
3068
3069
<div class="doc doc-contents ">
3070
<p class="doc doc-class-bases">
3071
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
3072
3073
3074
3075
<p>Result from diagram extraction and analysis.</p>
3076
3077
3078
3079
3080
3081
3082
3083
3084
<details class="mkdocstrings-source">
3085
<summary>Source code in <code>video_processor/models.py</code></summary>
3086
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-80">80</a></span>
3087
<span class="normal"><a href="#__codelineno-0-81">81</a></span>
3088
<span class="normal"><a href="#__codelineno-0-82">82</a></span>
3089
<span class="normal"><a href="#__codelineno-0-83">83</a></span>
3090
<span class="normal"><a href="#__codelineno-0-84">84</a></span>
3091
<span class="normal"><a href="#__codelineno-0-85">85</a></span>
3092
<span class="normal"><a href="#__codelineno-0-86">86</a></span>
3093
<span class="normal"><a href="#__codelineno-0-87">87</a></span>
3094
<span class="normal"><a href="#__codelineno-0-88">88</a></span>
3095
<span class="normal"><a href="#__codelineno-0-89">89</a></span>
3096
<span class="normal"><a href="#__codelineno-0-90">90</a></span>
3097
<span class="normal"><a href="#__codelineno-0-91">91</a></span>
3098
<span class="normal"><a href="#__codelineno-0-92">92</a></span>
3099
<span class="normal"><a href="#__codelineno-0-93">93</a></span>
3100
<span class="normal"><a href="#__codelineno-0-94">94</a></span>
3101
<span class="normal"><a href="#__codelineno-0-95">95</a></span>
3102
<span class="normal"><a href="#__codelineno-0-96">96</a></span>
3103
<span class="normal"><a href="#__codelineno-0-97">97</a></span>
3104
<span class="normal"><a href="#__codelineno-0-98">98</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-80" name="__codelineno-0-80"></a><span class="k">class</span><span class="w"> </span><span class="nc">DiagramResult</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
3105
<a id="__codelineno-0-81" name="__codelineno-0-81"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Result from diagram extraction and analysis.&quot;&quot;&quot;</span>
3106
<a id="__codelineno-0-82" name="__codelineno-0-82"></a>
3107
<a id="__codelineno-0-83" name="__codelineno-0-83"></a> <span class="n">frame_index</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Index of the source frame&quot;</span><span class="p">)</span>
3108
<a id="__codelineno-0-84" name="__codelineno-0-84"></a> <span class="n">timestamp</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Timestamp in video (seconds)&quot;</span><span class="p">)</span>
3109
<a id="__codelineno-0-85" name="__codelineno-0-85"></a> <span class="n">diagram_type</span><span class="p">:</span> <span class="n">DiagramType</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">DiagramType</span><span class="o">.</span><span class="n">unknown</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Type of diagram&quot;</span><span class="p">)</span>
3110
<a id="__codelineno-0-86" name="__codelineno-0-86"></a> <span class="n">confidence</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Detection confidence 0-1&quot;</span><span class="p">)</span>
3111
<a id="__codelineno-0-87" name="__codelineno-0-87"></a> <span class="n">description</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Description of the diagram&quot;</span><span class="p">)</span>
3112
<a id="__codelineno-0-88" name="__codelineno-0-88"></a> <span class="n">text_content</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Text visible in the diagram&quot;</span><span class="p">)</span>
3113
<a id="__codelineno-0-89" name="__codelineno-0-89"></a> <span class="n">elements</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Identified elements&quot;</span><span class="p">)</span>
3114
<a id="__codelineno-0-90" name="__codelineno-0-90"></a> <span class="n">relationships</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Identified relationships&quot;</span><span class="p">)</span>
3115
<a id="__codelineno-0-91" name="__codelineno-0-91"></a> <span class="n">mermaid</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Mermaid syntax representation&quot;</span><span class="p">)</span>
3116
<a id="__codelineno-0-92" name="__codelineno-0-92"></a> <span class="n">chart_data</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
3117
<a id="__codelineno-0-93" name="__codelineno-0-93"></a> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Chart data for reproduction (labels, values, chart_type)&quot;</span>
3118
<a id="__codelineno-0-94" name="__codelineno-0-94"></a> <span class="p">)</span>
3119
<a id="__codelineno-0-95" name="__codelineno-0-95"></a> <span class="n">image_path</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Relative path to original frame&quot;</span><span class="p">)</span>
3120
<a id="__codelineno-0-96" name="__codelineno-0-96"></a> <span class="n">svg_path</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Relative path to rendered SVG&quot;</span><span class="p">)</span>
3121
<a id="__codelineno-0-97" name="__codelineno-0-97"></a> <span class="n">png_path</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Relative path to rendered PNG&quot;</span><span class="p">)</span>
3122
<a id="__codelineno-0-98" name="__codelineno-0-98"></a> <span class="n">mermaid_path</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Relative path to mermaid source&quot;</span><span class="p">)</span>
3123
</code></pre></div></td></tr></table></div>
3124
</details>
3125
3126
3127
3128
<div class="doc doc-children">
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
</div>
3142
3143
</div>
3144
3145
</div>
3146
3147
<div class="doc doc-object doc-class">
3148
3149
3150
3151
<h3 id="video_processor.models.DiagramType" class="doc doc-heading">
3152
<code>DiagramType</code>
3153
3154
3155
<a href="#video_processor.models.DiagramType" class="headerlink" title="Permanent link">&para;</a></h3>
3156
3157
3158
<div class="doc doc-contents ">
3159
<p class="doc doc-class-bases">
3160
Bases: <code><span title="str">str</span></code>, <code><span title="enum.Enum">Enum</span></code></p>
3161
3162
3163
3164
<p>Types of visual content detected in video frames.</p>
3165
3166
3167
3168
3169
3170
3171
3172
3173
<details class="mkdocstrings-source">
3174
<summary>Source code in <code>video_processor/models.py</code></summary>
3175
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-19">19</a></span>
3176
<span class="normal"><a href="#__codelineno-0-20">20</a></span>
3177
<span class="normal"><a href="#__codelineno-0-21">21</a></span>
3178
<span class="normal"><a href="#__codelineno-0-22">22</a></span>
3179
<span class="normal"><a href="#__codelineno-0-23">23</a></span>
3180
<span class="normal"><a href="#__codelineno-0-24">24</a></span>
3181
<span class="normal"><a href="#__codelineno-0-25">25</a></span>
3182
<span class="normal"><a href="#__codelineno-0-26">26</a></span>
3183
<span class="normal"><a href="#__codelineno-0-27">27</a></span>
3184
<span class="normal"><a href="#__codelineno-0-28">28</a></span>
3185
<span class="normal"><a href="#__codelineno-0-29">29</a></span>
3186
<span class="normal"><a href="#__codelineno-0-30">30</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-19" name="__codelineno-0-19"></a><span class="k">class</span><span class="w"> </span><span class="nc">DiagramType</span><span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="n">Enum</span><span class="p">):</span>
3187
<a id="__codelineno-0-20" name="__codelineno-0-20"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Types of visual content detected in video frames.&quot;&quot;&quot;</span>
3188
<a id="__codelineno-0-21" name="__codelineno-0-21"></a>
3189
<a id="__codelineno-0-22" name="__codelineno-0-22"></a> <span class="n">flowchart</span> <span class="o">=</span> <span class="s2">&quot;flowchart&quot;</span>
3190
<a id="__codelineno-0-23" name="__codelineno-0-23"></a> <span class="n">sequence</span> <span class="o">=</span> <span class="s2">&quot;sequence&quot;</span>
3191
<a id="__codelineno-0-24" name="__codelineno-0-24"></a> <span class="n">architecture</span> <span class="o">=</span> <span class="s2">&quot;architecture&quot;</span>
3192
<a id="__codelineno-0-25" name="__codelineno-0-25"></a> <span class="n">whiteboard</span> <span class="o">=</span> <span class="s2">&quot;whiteboard&quot;</span>
3193
<a id="__codelineno-0-26" name="__codelineno-0-26"></a> <span class="n">chart</span> <span class="o">=</span> <span class="s2">&quot;chart&quot;</span>
3194
<a id="__codelineno-0-27" name="__codelineno-0-27"></a> <span class="n">table</span> <span class="o">=</span> <span class="s2">&quot;table&quot;</span>
3195
<a id="__codelineno-0-28" name="__codelineno-0-28"></a> <span class="n">slide</span> <span class="o">=</span> <span class="s2">&quot;slide&quot;</span>
3196
<a id="__codelineno-0-29" name="__codelineno-0-29"></a> <span class="n">screenshot</span> <span class="o">=</span> <span class="s2">&quot;screenshot&quot;</span>
3197
<a id="__codelineno-0-30" name="__codelineno-0-30"></a> <span class="n">unknown</span> <span class="o">=</span> <span class="s2">&quot;unknown&quot;</span>
3198
</code></pre></div></td></tr></table></div>
3199
</details>
3200
3201
3202
3203
<div class="doc doc-children">
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
</div>
3217
3218
</div>
3219
3220
</div>
3221
3222
<div class="doc doc-object doc-class">
3223
3224
3225
3226
<h3 id="video_processor.models.Entity" class="doc doc-heading">
3227
<code>Entity</code>
3228
3229
3230
<a href="#video_processor.models.Entity" class="headerlink" title="Permanent link">&para;</a></h3>
3231
3232
3233
<div class="doc doc-contents ">
3234
<p class="doc doc-class-bases">
3235
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
3236
3237
3238
3239
<p>An entity in the knowledge graph.</p>
3240
3241
3242
3243
3244
3245
3246
3247
3248
<details class="mkdocstrings-source">
3249
<summary>Source code in <code>video_processor/models.py</code></summary>
3250
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-129">129</a></span>
3251
<span class="normal"><a href="#__codelineno-0-130">130</a></span>
3252
<span class="normal"><a href="#__codelineno-0-131">131</a></span>
3253
<span class="normal"><a href="#__codelineno-0-132">132</a></span>
3254
<span class="normal"><a href="#__codelineno-0-133">133</a></span>
3255
<span class="normal"><a href="#__codelineno-0-134">134</a></span>
3256
<span class="normal"><a href="#__codelineno-0-135">135</a></span>
3257
<span class="normal"><a href="#__codelineno-0-136">136</a></span>
3258
<span class="normal"><a href="#__codelineno-0-137">137</a></span>
3259
<span class="normal"><a href="#__codelineno-0-138">138</a></span>
3260
<span class="normal"><a href="#__codelineno-0-139">139</a></span>
3261
<span class="normal"><a href="#__codelineno-0-140">140</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-129" name="__codelineno-0-129"></a><span class="k">class</span><span class="w"> </span><span class="nc">Entity</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
3262
<a id="__codelineno-0-130" name="__codelineno-0-130"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;An entity in the knowledge graph.&quot;&quot;&quot;</span>
3263
<a id="__codelineno-0-131" name="__codelineno-0-131"></a>
3264
<a id="__codelineno-0-132" name="__codelineno-0-132"></a> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Entity name&quot;</span><span class="p">)</span>
3265
<a id="__codelineno-0-133" name="__codelineno-0-133"></a> <span class="nb">type</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s2">&quot;concept&quot;</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Entity type (person, concept, time, diagram)&quot;</span><span class="p">)</span>
3266
<a id="__codelineno-0-134" name="__codelineno-0-134"></a> <span class="n">descriptions</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Descriptions of this entity&quot;</span><span class="p">)</span>
3267
<a id="__codelineno-0-135" name="__codelineno-0-135"></a> <span class="n">source</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
3268
<a id="__codelineno-0-136" name="__codelineno-0-136"></a> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Source attribution (transcript/diagram/both)&quot;</span>
3269
<a id="__codelineno-0-137" name="__codelineno-0-137"></a> <span class="p">)</span>
3270
<a id="__codelineno-0-138" name="__codelineno-0-138"></a> <span class="n">occurrences</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
3271
<a id="__codelineno-0-139" name="__codelineno-0-139"></a> <span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;List of occurrences with source, timestamp, text&quot;</span>
3272
<a id="__codelineno-0-140" name="__codelineno-0-140"></a> <span class="p">)</span>
3273
</code></pre></div></td></tr></table></div>
3274
</details>
3275
3276
3277
3278
<div class="doc doc-children">
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
</div>
3292
3293
</div>
3294
3295
</div>
3296
3297
<div class="doc doc-object doc-class">
3298
3299
3300
3301
<h3 id="video_processor.models.KeyPoint" class="doc doc-heading">
3302
<code>KeyPoint</code>
3303
3304
3305
<a href="#video_processor.models.KeyPoint" class="headerlink" title="Permanent link">&para;</a></h3>
3306
3307
3308
<div class="doc doc-contents ">
3309
<p class="doc doc-class-bases">
3310
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
3311
3312
3313
3314
<p>A key point extracted from content.</p>
3315
3316
3317
3318
3319
3320
3321
3322
3323
<details class="mkdocstrings-source">
3324
<summary>Source code in <code>video_processor/models.py</code></summary>
3325
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-67">67</a></span>
3326
<span class="normal"><a href="#__codelineno-0-68">68</a></span>
3327
<span class="normal"><a href="#__codelineno-0-69">69</a></span>
3328
<span class="normal"><a href="#__codelineno-0-70">70</a></span>
3329
<span class="normal"><a href="#__codelineno-0-71">71</a></span>
3330
<span class="normal"><a href="#__codelineno-0-72">72</a></span>
3331
<span class="normal"><a href="#__codelineno-0-73">73</a></span>
3332
<span class="normal"><a href="#__codelineno-0-74">74</a></span>
3333
<span class="normal"><a href="#__codelineno-0-75">75</a></span>
3334
<span class="normal"><a href="#__codelineno-0-76">76</a></span>
3335
<span class="normal"><a href="#__codelineno-0-77">77</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-67" name="__codelineno-0-67"></a><span class="k">class</span><span class="w"> </span><span class="nc">KeyPoint</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
3336
<a id="__codelineno-0-68" name="__codelineno-0-68"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;A key point extracted from content.&quot;&quot;&quot;</span>
3337
<a id="__codelineno-0-69" name="__codelineno-0-69"></a>
3338
<a id="__codelineno-0-70" name="__codelineno-0-70"></a> <span class="n">point</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;The key point&quot;</span><span class="p">)</span>
3339
<a id="__codelineno-0-71" name="__codelineno-0-71"></a> <span class="n">topic</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Topic or category&quot;</span><span class="p">)</span>
3340
<a id="__codelineno-0-72" name="__codelineno-0-72"></a> <span class="n">details</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Supporting details&quot;</span><span class="p">)</span>
3341
<a id="__codelineno-0-73" name="__codelineno-0-73"></a> <span class="n">timestamp</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Timestamp in video (seconds)&quot;</span><span class="p">)</span>
3342
<a id="__codelineno-0-74" name="__codelineno-0-74"></a> <span class="n">source</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Where this was found&quot;</span><span class="p">)</span>
3343
<a id="__codelineno-0-75" name="__codelineno-0-75"></a> <span class="n">related_diagrams</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
3344
<a id="__codelineno-0-76" name="__codelineno-0-76"></a> <span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Indices of related diagrams&quot;</span>
3345
<a id="__codelineno-0-77" name="__codelineno-0-77"></a> <span class="p">)</span>
3346
</code></pre></div></td></tr></table></div>
3347
</details>
3348
3349
3350
3351
<div class="doc doc-children">
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
</div>
3365
3366
</div>
3367
3368
</div>
3369
3370
<div class="doc doc-object doc-class">
3371
3372
3373
3374
<h3 id="video_processor.models.KnowledgeGraphData" class="doc doc-heading">
3375
<code>KnowledgeGraphData</code>
3376
3377
3378
<a href="#video_processor.models.KnowledgeGraphData" class="headerlink" title="Permanent link">&para;</a></h3>
3379
3380
3381
<div class="doc doc-contents ">
3382
<p class="doc doc-class-bases">
3383
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
3384
3385
3386
3387
<p>Serializable knowledge graph data.</p>
3388
3389
3390
3391
3392
3393
3394
3395
3396
<details class="mkdocstrings-source">
3397
<summary>Source code in <code>video_processor/models.py</code></summary>
3398
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-153">153</a></span>
3399
<span class="normal"><a href="#__codelineno-0-154">154</a></span>
3400
<span class="normal"><a href="#__codelineno-0-155">155</a></span>
3401
<span class="normal"><a href="#__codelineno-0-156">156</a></span>
3402
<span class="normal"><a href="#__codelineno-0-157">157</a></span>
3403
<span class="normal"><a href="#__codelineno-0-158">158</a></span>
3404
<span class="normal"><a href="#__codelineno-0-159">159</a></span>
3405
<span class="normal"><a href="#__codelineno-0-160">160</a></span>
3406
<span class="normal"><a href="#__codelineno-0-161">161</a></span>
3407
<span class="normal"><a href="#__codelineno-0-162">162</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-153" name="__codelineno-0-153"></a><span class="k">class</span><span class="w"> </span><span class="nc">KnowledgeGraphData</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
3408
<a id="__codelineno-0-154" name="__codelineno-0-154"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Serializable knowledge graph data.&quot;&quot;&quot;</span>
3409
<a id="__codelineno-0-155" name="__codelineno-0-155"></a>
3410
<a id="__codelineno-0-156" name="__codelineno-0-156"></a> <span class="n">nodes</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">Entity</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Graph nodes/entities&quot;</span><span class="p">)</span>
3411
<a id="__codelineno-0-157" name="__codelineno-0-157"></a> <span class="n">relationships</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">Relationship</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
3412
<a id="__codelineno-0-158" name="__codelineno-0-158"></a> <span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Graph relationships&quot;</span>
3413
<a id="__codelineno-0-159" name="__codelineno-0-159"></a> <span class="p">)</span>
3414
<a id="__codelineno-0-160" name="__codelineno-0-160"></a> <span class="n">sources</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">SourceRecord</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
3415
<a id="__codelineno-0-161" name="__codelineno-0-161"></a> <span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Content sources for provenance tracking&quot;</span>
3416
<a id="__codelineno-0-162" name="__codelineno-0-162"></a> <span class="p">)</span>
3417
</code></pre></div></td></tr></table></div>
3418
</details>
3419
3420
3421
3422
<div class="doc doc-children">
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
</div>
3436
3437
</div>
3438
3439
</div>
3440
3441
<div class="doc doc-object doc-class">
3442
3443
3444
3445
<h3 id="video_processor.models.OutputFormat" class="doc doc-heading">
3446
<code>OutputFormat</code>
3447
3448
3449
<a href="#video_processor.models.OutputFormat" class="headerlink" title="Permanent link">&para;</a></h3>
3450
3451
3452
<div class="doc doc-contents ">
3453
<p class="doc doc-class-bases">
3454
Bases: <code><span title="str">str</span></code>, <code><span title="enum.Enum">Enum</span></code></p>
3455
3456
3457
3458
<p>Available output formats.</p>
3459
3460
3461
3462
3463
3464
3465
3466
3467
<details class="mkdocstrings-source">
3468
<summary>Source code in <code>video_processor/models.py</code></summary>
3469
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-33">33</a></span>
3470
<span class="normal"><a href="#__codelineno-0-34">34</a></span>
3471
<span class="normal"><a href="#__codelineno-0-35">35</a></span>
3472
<span class="normal"><a href="#__codelineno-0-36">36</a></span>
3473
<span class="normal"><a href="#__codelineno-0-37">37</a></span>
3474
<span class="normal"><a href="#__codelineno-0-38">38</a></span>
3475
<span class="normal"><a href="#__codelineno-0-39">39</a></span>
3476
<span class="normal"><a href="#__codelineno-0-40">40</a></span>
3477
<span class="normal"><a href="#__codelineno-0-41">41</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-33" name="__codelineno-0-33"></a><span class="k">class</span><span class="w"> </span><span class="nc">OutputFormat</span><span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="n">Enum</span><span class="p">):</span>
3478
<a id="__codelineno-0-34" name="__codelineno-0-34"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Available output formats.&quot;&quot;&quot;</span>
3479
<a id="__codelineno-0-35" name="__codelineno-0-35"></a>
3480
<a id="__codelineno-0-36" name="__codelineno-0-36"></a> <span class="n">markdown</span> <span class="o">=</span> <span class="s2">&quot;markdown&quot;</span>
3481
<a id="__codelineno-0-37" name="__codelineno-0-37"></a> <span class="n">json</span> <span class="o">=</span> <span class="s2">&quot;json&quot;</span>
3482
<a id="__codelineno-0-38" name="__codelineno-0-38"></a> <span class="n">html</span> <span class="o">=</span> <span class="s2">&quot;html&quot;</span>
3483
<a id="__codelineno-0-39" name="__codelineno-0-39"></a> <span class="n">pdf</span> <span class="o">=</span> <span class="s2">&quot;pdf&quot;</span>
3484
<a id="__codelineno-0-40" name="__codelineno-0-40"></a> <span class="n">svg</span> <span class="o">=</span> <span class="s2">&quot;svg&quot;</span>
3485
<a id="__codelineno-0-41" name="__codelineno-0-41"></a> <span class="n">png</span> <span class="o">=</span> <span class="s2">&quot;png&quot;</span>
3486
</code></pre></div></td></tr></table></div>
3487
</details>
3488
3489
3490
3491
<div class="doc doc-children">
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
</div>
3505
3506
</div>
3507
3508
</div>
3509
3510
<div class="doc doc-object doc-class">
3511
3512
3513
3514
<h3 id="video_processor.models.PlanningEntity" class="doc doc-heading">
3515
<code>PlanningEntity</code>
3516
3517
3518
<a href="#video_processor.models.PlanningEntity" class="headerlink" title="Permanent link">&para;</a></h3>
3519
3520
3521
<div class="doc doc-contents ">
3522
<p class="doc doc-class-bases">
3523
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
3524
3525
3526
3527
<p>An entity classified for planning purposes.</p>
3528
3529
3530
3531
3532
3533
3534
3535
3536
<details class="mkdocstrings-source">
3537
<summary>Source code in <code>video_processor/models.py</code></summary>
3538
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-180">180</a></span>
3539
<span class="normal"><a href="#__codelineno-0-181">181</a></span>
3540
<span class="normal"><a href="#__codelineno-0-182">182</a></span>
3541
<span class="normal"><a href="#__codelineno-0-183">183</a></span>
3542
<span class="normal"><a href="#__codelineno-0-184">184</a></span>
3543
<span class="normal"><a href="#__codelineno-0-185">185</a></span>
3544
<span class="normal"><a href="#__codelineno-0-186">186</a></span>
3545
<span class="normal"><a href="#__codelineno-0-187">187</a></span>
3546
<span class="normal"><a href="#__codelineno-0-188">188</a></span>
3547
<span class="normal"><a href="#__codelineno-0-189">189</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-180" name="__codelineno-0-180"></a><span class="k">class</span><span class="w"> </span><span class="nc">PlanningEntity</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
3548
<a id="__codelineno-0-181" name="__codelineno-0-181"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;An entity classified for planning purposes.&quot;&quot;&quot;</span>
3549
<a id="__codelineno-0-182" name="__codelineno-0-182"></a>
3550
<a id="__codelineno-0-183" name="__codelineno-0-183"></a> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span>
3551
<a id="__codelineno-0-184" name="__codelineno-0-184"></a> <span class="n">planning_type</span><span class="p">:</span> <span class="n">PlanningEntityType</span>
3552
<a id="__codelineno-0-185" name="__codelineno-0-185"></a> <span class="n">description</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
3553
<a id="__codelineno-0-186" name="__codelineno-0-186"></a> <span class="n">priority</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># &quot;high&quot;, &quot;medium&quot;, &quot;low&quot;</span>
3554
<a id="__codelineno-0-187" name="__codelineno-0-187"></a> <span class="n">status</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># &quot;identified&quot;, &quot;confirmed&quot;, &quot;resolved&quot;</span>
3555
<a id="__codelineno-0-188" name="__codelineno-0-188"></a> <span class="n">source_entities</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">)</span>
3556
<a id="__codelineno-0-189" name="__codelineno-0-189"></a> <span class="n">metadata</span><span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">dict</span><span class="p">)</span>
3557
</code></pre></div></td></tr></table></div>
3558
</details>
3559
3560
3561
3562
<div class="doc doc-children">
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
</div>
3576
3577
</div>
3578
3579
</div>
3580
3581
<div class="doc doc-object doc-class">
3582
3583
3584
3585
<h3 id="video_processor.models.PlanningEntityType" class="doc doc-heading">
3586
<code>PlanningEntityType</code>
3587
3588
3589
<a href="#video_processor.models.PlanningEntityType" class="headerlink" title="Permanent link">&para;</a></h3>
3590
3591
3592
<div class="doc doc-contents ">
3593
<p class="doc doc-class-bases">
3594
Bases: <code><span title="str">str</span></code>, <code><span title="enum.Enum">Enum</span></code></p>
3595
3596
3597
3598
<p>Types of entities in a planning taxonomy.</p>
3599
3600
3601
3602
3603
3604
3605
3606
3607
<details class="mkdocstrings-source">
3608
<summary>Source code in <code>video_processor/models.py</code></summary>
3609
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-165">165</a></span>
3610
<span class="normal"><a href="#__codelineno-0-166">166</a></span>
3611
<span class="normal"><a href="#__codelineno-0-167">167</a></span>
3612
<span class="normal"><a href="#__codelineno-0-168">168</a></span>
3613
<span class="normal"><a href="#__codelineno-0-169">169</a></span>
3614
<span class="normal"><a href="#__codelineno-0-170">170</a></span>
3615
<span class="normal"><a href="#__codelineno-0-171">171</a></span>
3616
<span class="normal"><a href="#__codelineno-0-172">172</a></span>
3617
<span class="normal"><a href="#__codelineno-0-173">173</a></span>
3618
<span class="normal"><a href="#__codelineno-0-174">174</a></span>
3619
<span class="normal"><a href="#__codelineno-0-175">175</a></span>
3620
<span class="normal"><a href="#__codelineno-0-176">176</a></span>
3621
<span class="normal"><a href="#__codelineno-0-177">177</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-165" name="__codelineno-0-165"></a><span class="k">class</span><span class="w"> </span><span class="nc">PlanningEntityType</span><span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="n">Enum</span><span class="p">):</span>
3622
<a id="__codelineno-0-166" name="__codelineno-0-166"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Types of entities in a planning taxonomy.&quot;&quot;&quot;</span>
3623
<a id="__codelineno-0-167" name="__codelineno-0-167"></a>
3624
<a id="__codelineno-0-168" name="__codelineno-0-168"></a> <span class="n">GOAL</span> <span class="o">=</span> <span class="s2">&quot;goal&quot;</span>
3625
<a id="__codelineno-0-169" name="__codelineno-0-169"></a> <span class="n">REQUIREMENT</span> <span class="o">=</span> <span class="s2">&quot;requirement&quot;</span>
3626
<a id="__codelineno-0-170" name="__codelineno-0-170"></a> <span class="n">CONSTRAINT</span> <span class="o">=</span> <span class="s2">&quot;constraint&quot;</span>
3627
<a id="__codelineno-0-171" name="__codelineno-0-171"></a> <span class="n">DECISION</span> <span class="o">=</span> <span class="s2">&quot;decision&quot;</span>
3628
<a id="__codelineno-0-172" name="__codelineno-0-172"></a> <span class="n">RISK</span> <span class="o">=</span> <span class="s2">&quot;risk&quot;</span>
3629
<a id="__codelineno-0-173" name="__codelineno-0-173"></a> <span class="n">ASSUMPTION</span> <span class="o">=</span> <span class="s2">&quot;assumption&quot;</span>
3630
<a id="__codelineno-0-174" name="__codelineno-0-174"></a> <span class="n">DEPENDENCY</span> <span class="o">=</span> <span class="s2">&quot;dependency&quot;</span>
3631
<a id="__codelineno-0-175" name="__codelineno-0-175"></a> <span class="n">MILESTONE</span> <span class="o">=</span> <span class="s2">&quot;milestone&quot;</span>
3632
<a id="__codelineno-0-176" name="__codelineno-0-176"></a> <span class="n">TASK</span> <span class="o">=</span> <span class="s2">&quot;task&quot;</span>
3633
<a id="__codelineno-0-177" name="__codelineno-0-177"></a> <span class="n">FEATURE</span> <span class="o">=</span> <span class="s2">&quot;feature&quot;</span>
3634
</code></pre></div></td></tr></table></div>
3635
</details>
3636
3637
3638
3639
<div class="doc doc-children">
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
</div>
3653
3654
</div>
3655
3656
</div>
3657
3658
<div class="doc doc-object doc-class">
3659
3660
3661
3662
<h3 id="video_processor.models.PlanningRelationshipType" class="doc doc-heading">
3663
<code>PlanningRelationshipType</code>
3664
3665
3666
<a href="#video_processor.models.PlanningRelationshipType" class="headerlink" title="Permanent link">&para;</a></h3>
3667
3668
3669
<div class="doc doc-contents ">
3670
<p class="doc doc-class-bases">
3671
Bases: <code><span title="str">str</span></code>, <code><span title="enum.Enum">Enum</span></code></p>
3672
3673
3674
3675
<p>Relationship types within a planning taxonomy.</p>
3676
3677
3678
3679
3680
3681
3682
3683
3684
<details class="mkdocstrings-source">
3685
<summary>Source code in <code>video_processor/models.py</code></summary>
3686
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-192">192</a></span>
3687
<span class="normal"><a href="#__codelineno-0-193">193</a></span>
3688
<span class="normal"><a href="#__codelineno-0-194">194</a></span>
3689
<span class="normal"><a href="#__codelineno-0-195">195</a></span>
3690
<span class="normal"><a href="#__codelineno-0-196">196</a></span>
3691
<span class="normal"><a href="#__codelineno-0-197">197</a></span>
3692
<span class="normal"><a href="#__codelineno-0-198">198</a></span>
3693
<span class="normal"><a href="#__codelineno-0-199">199</a></span>
3694
<span class="normal"><a href="#__codelineno-0-200">200</a></span>
3695
<span class="normal"><a href="#__codelineno-0-201">201</a></span>
3696
<span class="normal"><a href="#__codelineno-0-202">202</a></span>
3697
<span class="normal"><a href="#__codelineno-0-203">203</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-192" name="__codelineno-0-192"></a><span class="k">class</span><span class="w"> </span><span class="nc">PlanningRelationshipType</span><span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="n">Enum</span><span class="p">):</span>
3698
<a id="__codelineno-0-193" name="__codelineno-0-193"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Relationship types within a planning taxonomy.&quot;&quot;&quot;</span>
3699
<a id="__codelineno-0-194" name="__codelineno-0-194"></a>
3700
<a id="__codelineno-0-195" name="__codelineno-0-195"></a> <span class="n">REQUIRES</span> <span class="o">=</span> <span class="s2">&quot;requires&quot;</span>
3701
<a id="__codelineno-0-196" name="__codelineno-0-196"></a> <span class="n">BLOCKED_BY</span> <span class="o">=</span> <span class="s2">&quot;blocked_by&quot;</span>
3702
<a id="__codelineno-0-197" name="__codelineno-0-197"></a> <span class="n">HAS_RISK</span> <span class="o">=</span> <span class="s2">&quot;has_risk&quot;</span>
3703
<a id="__codelineno-0-198" name="__codelineno-0-198"></a> <span class="n">DEPENDS_ON</span> <span class="o">=</span> <span class="s2">&quot;depends_on&quot;</span>
3704
<a id="__codelineno-0-199" name="__codelineno-0-199"></a> <span class="n">ADDRESSES</span> <span class="o">=</span> <span class="s2">&quot;addresses&quot;</span>
3705
<a id="__codelineno-0-200" name="__codelineno-0-200"></a> <span class="n">HAS_TRADEOFF</span> <span class="o">=</span> <span class="s2">&quot;has_tradeoff&quot;</span>
3706
<a id="__codelineno-0-201" name="__codelineno-0-201"></a> <span class="n">DELIVERS</span> <span class="o">=</span> <span class="s2">&quot;delivers&quot;</span>
3707
<a id="__codelineno-0-202" name="__codelineno-0-202"></a> <span class="n">IMPLEMENTS</span> <span class="o">=</span> <span class="s2">&quot;implements&quot;</span>
3708
<a id="__codelineno-0-203" name="__codelineno-0-203"></a> <span class="n">PARENT_OF</span> <span class="o">=</span> <span class="s2">&quot;parent_of&quot;</span>
3709
</code></pre></div></td></tr></table></div>
3710
</details>
3711
3712
3713
3714
<div class="doc doc-children">
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
</div>
3728
3729
</div>
3730
3731
</div>
3732
3733
<div class="doc doc-object doc-class">
3734
3735
3736
3737
<h3 id="video_processor.models.ProcessingStats" class="doc doc-heading">
3738
<code>ProcessingStats</code>
3739
3740
3741
<a href="#video_processor.models.ProcessingStats" class="headerlink" title="Permanent link">&para;</a></h3>
3742
3743
3744
<div class="doc doc-contents ">
3745
<p class="doc doc-class-bases">
3746
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
3747
3748
3749
3750
<p>Statistics about a processing run.</p>
3751
3752
3753
3754
3755
3756
3757
3758
3759
<details class="mkdocstrings-source">
3760
<summary>Source code in <code>video_processor/models.py</code></summary>
3761
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-206">206</a></span>
3762
<span class="normal"><a href="#__codelineno-0-207">207</a></span>
3763
<span class="normal"><a href="#__codelineno-0-208">208</a></span>
3764
<span class="normal"><a href="#__codelineno-0-209">209</a></span>
3765
<span class="normal"><a href="#__codelineno-0-210">210</a></span>
3766
<span class="normal"><a href="#__codelineno-0-211">211</a></span>
3767
<span class="normal"><a href="#__codelineno-0-212">212</a></span>
3768
<span class="normal"><a href="#__codelineno-0-213">213</a></span>
3769
<span class="normal"><a href="#__codelineno-0-214">214</a></span>
3770
<span class="normal"><a href="#__codelineno-0-215">215</a></span>
3771
<span class="normal"><a href="#__codelineno-0-216">216</a></span>
3772
<span class="normal"><a href="#__codelineno-0-217">217</a></span>
3773
<span class="normal"><a href="#__codelineno-0-218">218</a></span>
3774
<span class="normal"><a href="#__codelineno-0-219">219</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-206" name="__codelineno-0-206"></a><span class="k">class</span><span class="w"> </span><span class="nc">ProcessingStats</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
3775
<a id="__codelineno-0-207" name="__codelineno-0-207"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Statistics about a processing run.&quot;&quot;&quot;</span>
3776
<a id="__codelineno-0-208" name="__codelineno-0-208"></a>
3777
<a id="__codelineno-0-209" name="__codelineno-0-209"></a> <span class="n">start_time</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;ISO format start time&quot;</span><span class="p">)</span>
3778
<a id="__codelineno-0-210" name="__codelineno-0-210"></a> <span class="n">end_time</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;ISO format end time&quot;</span><span class="p">)</span>
3779
<a id="__codelineno-0-211" name="__codelineno-0-211"></a> <span class="n">duration_seconds</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Total processing time&quot;</span><span class="p">)</span>
3780
<a id="__codelineno-0-212" name="__codelineno-0-212"></a> <span class="n">frames_extracted</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
3781
<a id="__codelineno-0-213" name="__codelineno-0-213"></a> <span class="n">people_frames_filtered</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
3782
<a id="__codelineno-0-214" name="__codelineno-0-214"></a> <span class="n">diagrams_detected</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
3783
<a id="__codelineno-0-215" name="__codelineno-0-215"></a> <span class="n">screen_captures</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
3784
<a id="__codelineno-0-216" name="__codelineno-0-216"></a> <span class="n">transcript_duration_seconds</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
3785
<a id="__codelineno-0-217" name="__codelineno-0-217"></a> <span class="n">models_used</span><span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
3786
<a id="__codelineno-0-218" name="__codelineno-0-218"></a> <span class="n">default_factory</span><span class="o">=</span><span class="nb">dict</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Map of task to model used (e.g. vision: gpt-4o)&quot;</span>
3787
<a id="__codelineno-0-219" name="__codelineno-0-219"></a> <span class="p">)</span>
3788
</code></pre></div></td></tr></table></div>
3789
</details>
3790
3791
3792
3793
<div class="doc doc-children">
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
</div>
3807
3808
</div>
3809
3810
</div>
3811
3812
<div class="doc doc-object doc-class">
3813
3814
3815
3816
<h3 id="video_processor.models.ProgressCallback" class="doc doc-heading">
3817
<code>ProgressCallback</code>
3818
3819
3820
<a href="#video_processor.models.ProgressCallback" class="headerlink" title="Permanent link">&para;</a></h3>
3821
3822
3823
<div class="doc doc-contents ">
3824
<p class="doc doc-class-bases">
3825
Bases: <code><span title="typing.Protocol">Protocol</span></code></p>
3826
3827
3828
3829
<p>Optional callback for pipeline progress updates.</p>
3830
3831
3832
3833
3834
3835
3836
3837
3838
<details class="mkdocstrings-source">
3839
<summary>Source code in <code>video_processor/models.py</code></summary>
3840
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-10">10</a></span>
3841
<span class="normal"><a href="#__codelineno-0-11">11</a></span>
3842
<span class="normal"><a href="#__codelineno-0-12">12</a></span>
3843
<span class="normal"><a href="#__codelineno-0-13">13</a></span>
3844
<span class="normal"><a href="#__codelineno-0-14">14</a></span>
3845
<span class="normal"><a href="#__codelineno-0-15">15</a></span>
3846
<span class="normal"><a href="#__codelineno-0-16">16</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-10" name="__codelineno-0-10"></a><span class="nd">@runtime_checkable</span>
3847
<a id="__codelineno-0-11" name="__codelineno-0-11"></a><span class="k">class</span><span class="w"> </span><span class="nc">ProgressCallback</span><span class="p">(</span><span class="n">Protocol</span><span class="p">):</span>
3848
<a id="__codelineno-0-12" name="__codelineno-0-12"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Optional callback for pipeline progress updates.&quot;&quot;&quot;</span>
3849
<a id="__codelineno-0-13" name="__codelineno-0-13"></a>
3850
<a id="__codelineno-0-14" name="__codelineno-0-14"></a> <span class="k">def</span><span class="w"> </span><span class="nf">on_step_start</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">step</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">index</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">total</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span> <span class="o">...</span>
3851
<a id="__codelineno-0-15" name="__codelineno-0-15"></a> <span class="k">def</span><span class="w"> </span><span class="nf">on_step_complete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">step</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">index</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">total</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span> <span class="o">...</span>
3852
<a id="__codelineno-0-16" name="__codelineno-0-16"></a> <span class="k">def</span><span class="w"> </span><span class="nf">on_progress</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">step</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">percent</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">message</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span> <span class="o">...</span>
3853
</code></pre></div></td></tr></table></div>
3854
</details>
3855
3856
3857
3858
<div class="doc doc-children">
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
</div>
3872
3873
</div>
3874
3875
</div>
3876
3877
<div class="doc doc-object doc-class">
3878
3879
3880
3881
<h3 id="video_processor.models.Relationship" class="doc doc-heading">
3882
<code>Relationship</code>
3883
3884
3885
<a href="#video_processor.models.Relationship" class="headerlink" title="Permanent link">&para;</a></h3>
3886
3887
3888
<div class="doc doc-contents ">
3889
<p class="doc doc-class-bases">
3890
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
3891
3892
3893
3894
<p>A relationship between entities in the knowledge graph.</p>
3895
3896
3897
3898
3899
3900
3901
3902
3903
<details class="mkdocstrings-source">
3904
<summary>Source code in <code>video_processor/models.py</code></summary>
3905
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-143">143</a></span>
3906
<span class="normal"><a href="#__codelineno-0-144">144</a></span>
3907
<span class="normal"><a href="#__codelineno-0-145">145</a></span>
3908
<span class="normal"><a href="#__codelineno-0-146">146</a></span>
3909
<span class="normal"><a href="#__codelineno-0-147">147</a></span>
3910
<span class="normal"><a href="#__codelineno-0-148">148</a></span>
3911
<span class="normal"><a href="#__codelineno-0-149">149</a></span>
3912
<span class="normal"><a href="#__codelineno-0-150">150</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-143" name="__codelineno-0-143"></a><span class="k">class</span><span class="w"> </span><span class="nc">Relationship</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
3913
<a id="__codelineno-0-144" name="__codelineno-0-144"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;A relationship between entities in the knowledge graph.&quot;&quot;&quot;</span>
3914
<a id="__codelineno-0-145" name="__codelineno-0-145"></a>
3915
<a id="__codelineno-0-146" name="__codelineno-0-146"></a> <span class="n">source</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Source entity name&quot;</span><span class="p">)</span>
3916
<a id="__codelineno-0-147" name="__codelineno-0-147"></a> <span class="n">target</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Target entity name&quot;</span><span class="p">)</span>
3917
<a id="__codelineno-0-148" name="__codelineno-0-148"></a> <span class="nb">type</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s2">&quot;related_to&quot;</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Relationship type&quot;</span><span class="p">)</span>
3918
<a id="__codelineno-0-149" name="__codelineno-0-149"></a> <span class="n">content_source</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Content source identifier&quot;</span><span class="p">)</span>
3919
<a id="__codelineno-0-150" name="__codelineno-0-150"></a> <span class="n">timestamp</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Timestamp in seconds&quot;</span><span class="p">)</span>
3920
</code></pre></div></td></tr></table></div>
3921
</details>
3922
3923
3924
3925
<div class="doc doc-children">
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
</div>
3939
3940
</div>
3941
3942
</div>
3943
3944
<div class="doc doc-object doc-class">
3945
3946
3947
3948
<h3 id="video_processor.models.ScreenCapture" class="doc doc-heading">
3949
<code>ScreenCapture</code>
3950
3951
3952
<a href="#video_processor.models.ScreenCapture" class="headerlink" title="Permanent link">&para;</a></h3>
3953
3954
3955
<div class="doc doc-contents ">
3956
<p class="doc doc-class-bases">
3957
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
3958
3959
3960
3961
<p>A screengrab fallback when diagram extraction fails or is uncertain.</p>
3962
3963
3964
3965
3966
3967
3968
3969
3970
<details class="mkdocstrings-source">
3971
<summary>Source code in <code>video_processor/models.py</code></summary>
3972
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-101">101</a></span>
3973
<span class="normal"><a href="#__codelineno-0-102">102</a></span>
3974
<span class="normal"><a href="#__codelineno-0-103">103</a></span>
3975
<span class="normal"><a href="#__codelineno-0-104">104</a></span>
3976
<span class="normal"><a href="#__codelineno-0-105">105</a></span>
3977
<span class="normal"><a href="#__codelineno-0-106">106</a></span>
3978
<span class="normal"><a href="#__codelineno-0-107">107</a></span>
3979
<span class="normal"><a href="#__codelineno-0-108">108</a></span>
3980
<span class="normal"><a href="#__codelineno-0-109">109</a></span>
3981
<span class="normal"><a href="#__codelineno-0-110">110</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-101" name="__codelineno-0-101"></a><span class="k">class</span><span class="w"> </span><span class="nc">ScreenCapture</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
3982
<a id="__codelineno-0-102" name="__codelineno-0-102"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;A screengrab fallback when diagram extraction fails or is uncertain.&quot;&quot;&quot;</span>
3983
<a id="__codelineno-0-103" name="__codelineno-0-103"></a>
3984
<a id="__codelineno-0-104" name="__codelineno-0-104"></a> <span class="n">frame_index</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Index of the source frame&quot;</span><span class="p">)</span>
3985
<a id="__codelineno-0-105" name="__codelineno-0-105"></a> <span class="n">timestamp</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Timestamp in video (seconds)&quot;</span><span class="p">)</span>
3986
<a id="__codelineno-0-106" name="__codelineno-0-106"></a> <span class="n">caption</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Brief description of the content&quot;</span><span class="p">)</span>
3987
<a id="__codelineno-0-107" name="__codelineno-0-107"></a> <span class="n">image_path</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Relative path to screenshot&quot;</span><span class="p">)</span>
3988
<a id="__codelineno-0-108" name="__codelineno-0-108"></a> <span class="n">confidence</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
3989
<a id="__codelineno-0-109" name="__codelineno-0-109"></a> <span class="n">default</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Detection confidence that triggered fallback&quot;</span>
3990
<a id="__codelineno-0-110" name="__codelineno-0-110"></a> <span class="p">)</span>
3991
</code></pre></div></td></tr></table></div>
3992
</details>
3993
3994
3995
3996
<div class="doc doc-children">
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
</div>
4010
4011
</div>
4012
4013
</div>
4014
4015
<div class="doc doc-object doc-class">
4016
4017
4018
4019
<h3 id="video_processor.models.SourceRecord" class="doc doc-heading">
4020
<code>SourceRecord</code>
4021
4022
4023
<a href="#video_processor.models.SourceRecord" class="headerlink" title="Permanent link">&para;</a></h3>
4024
4025
4026
<div class="doc doc-contents ">
4027
<p class="doc doc-class-bases">
4028
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
4029
4030
4031
4032
<p>A content source registered in the knowledge graph for provenance tracking.</p>
4033
4034
4035
4036
4037
4038
4039
4040
4041
<details class="mkdocstrings-source">
4042
<summary>Source code in <code>video_processor/models.py</code></summary>
4043
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-113">113</a></span>
4044
<span class="normal"><a href="#__codelineno-0-114">114</a></span>
4045
<span class="normal"><a href="#__codelineno-0-115">115</a></span>
4046
<span class="normal"><a href="#__codelineno-0-116">116</a></span>
4047
<span class="normal"><a href="#__codelineno-0-117">117</a></span>
4048
<span class="normal"><a href="#__codelineno-0-118">118</a></span>
4049
<span class="normal"><a href="#__codelineno-0-119">119</a></span>
4050
<span class="normal"><a href="#__codelineno-0-120">120</a></span>
4051
<span class="normal"><a href="#__codelineno-0-121">121</a></span>
4052
<span class="normal"><a href="#__codelineno-0-122">122</a></span>
4053
<span class="normal"><a href="#__codelineno-0-123">123</a></span>
4054
<span class="normal"><a href="#__codelineno-0-124">124</a></span>
4055
<span class="normal"><a href="#__codelineno-0-125">125</a></span>
4056
<span class="normal"><a href="#__codelineno-0-126">126</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-113" name="__codelineno-0-113"></a><span class="k">class</span><span class="w"> </span><span class="nc">SourceRecord</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
4057
<a id="__codelineno-0-114" name="__codelineno-0-114"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;A content source registered in the knowledge graph for provenance tracking.&quot;&quot;&quot;</span>
4058
<a id="__codelineno-0-115" name="__codelineno-0-115"></a>
4059
<a id="__codelineno-0-116" name="__codelineno-0-116"></a> <span class="n">source_id</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Unique identifier for this source&quot;</span><span class="p">)</span>
4060
<a id="__codelineno-0-117" name="__codelineno-0-117"></a> <span class="n">source_type</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Source type: video, document, url, api, manual&quot;</span><span class="p">)</span>
4061
<a id="__codelineno-0-118" name="__codelineno-0-118"></a> <span class="n">title</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Human-readable title&quot;</span><span class="p">)</span>
4062
<a id="__codelineno-0-119" name="__codelineno-0-119"></a> <span class="n">path</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Local file path&quot;</span><span class="p">)</span>
4063
<a id="__codelineno-0-120" name="__codelineno-0-120"></a> <span class="n">url</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;URL if applicable&quot;</span><span class="p">)</span>
4064
<a id="__codelineno-0-121" name="__codelineno-0-121"></a> <span class="n">mime_type</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;MIME type of the source&quot;</span><span class="p">)</span>
4065
<a id="__codelineno-0-122" name="__codelineno-0-122"></a> <span class="n">ingested_at</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
4066
<a id="__codelineno-0-123" name="__codelineno-0-123"></a> <span class="n">default_factory</span><span class="o">=</span><span class="k">lambda</span><span class="p">:</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">isoformat</span><span class="p">(),</span>
4067
<a id="__codelineno-0-124" name="__codelineno-0-124"></a> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;ISO format ingestion timestamp&quot;</span><span class="p">,</span>
4068
<a id="__codelineno-0-125" name="__codelineno-0-125"></a> <span class="p">)</span>
4069
<a id="__codelineno-0-126" name="__codelineno-0-126"></a> <span class="n">metadata</span><span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">dict</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Additional source metadata&quot;</span><span class="p">)</span>
4070
</code></pre></div></td></tr></table></div>
4071
</details>
4072
4073
4074
4075
<div class="doc doc-children">
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
</div>
4089
4090
</div>
4091
4092
</div>
4093
4094
<div class="doc doc-object doc-class">
4095
4096
4097
4098
<h3 id="video_processor.models.TranscriptSegment" class="doc doc-heading">
4099
<code>TranscriptSegment</code>
4100
4101
4102
<a href="#video_processor.models.TranscriptSegment" class="headerlink" title="Permanent link">&para;</a></h3>
4103
4104
4105
<div class="doc doc-contents ">
4106
<p class="doc doc-class-bases">
4107
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
4108
4109
4110
4111
<p>A single segment of transcribed audio.</p>
4112
4113
4114
4115
4116
4117
4118
4119
4120
<details class="mkdocstrings-source">
4121
<summary>Source code in <code>video_processor/models.py</code></summary>
4122
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-44">44</a></span>
4123
<span class="normal"><a href="#__codelineno-0-45">45</a></span>
4124
<span class="normal"><a href="#__codelineno-0-46">46</a></span>
4125
<span class="normal"><a href="#__codelineno-0-47">47</a></span>
4126
<span class="normal"><a href="#__codelineno-0-48">48</a></span>
4127
<span class="normal"><a href="#__codelineno-0-49">49</a></span>
4128
<span class="normal"><a href="#__codelineno-0-50">50</a></span>
4129
<span class="normal"><a href="#__codelineno-0-51">51</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-44" name="__codelineno-0-44"></a><span class="k">class</span><span class="w"> </span><span class="nc">TranscriptSegment</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
4130
<a id="__codelineno-0-45" name="__codelineno-0-45"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;A single segment of transcribed audio.&quot;&quot;&quot;</span>
4131
<a id="__codelineno-0-46" name="__codelineno-0-46"></a>
4132
<a id="__codelineno-0-47" name="__codelineno-0-47"></a> <span class="n">start</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Start time in seconds&quot;</span><span class="p">)</span>
4133
<a id="__codelineno-0-48" name="__codelineno-0-48"></a> <span class="n">end</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;End time in seconds&quot;</span><span class="p">)</span>
4134
<a id="__codelineno-0-49" name="__codelineno-0-49"></a> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Transcribed text&quot;</span><span class="p">)</span>
4135
<a id="__codelineno-0-50" name="__codelineno-0-50"></a> <span class="n">speaker</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Speaker identifier&quot;</span><span class="p">)</span>
4136
<a id="__codelineno-0-51" name="__codelineno-0-51"></a> <span class="n">confidence</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Transcription confidence 0-1&quot;</span><span class="p">)</span>
4137
</code></pre></div></td></tr></table></div>
4138
</details>
4139
4140
4141
4142
<div class="doc doc-children">
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
</div>
4156
4157
</div>
4158
4159
</div>
4160
4161
<div class="doc doc-object doc-class">
4162
4163
4164
4165
<h3 id="video_processor.models.VideoManifest" class="doc doc-heading">
4166
<code>VideoManifest</code>
4167
4168
4169
<a href="#video_processor.models.VideoManifest" class="headerlink" title="Permanent link">&para;</a></h3>
4170
4171
4172
<div class="doc doc-contents ">
4173
<p class="doc doc-class-bases">
4174
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
4175
4176
4177
4178
<p>Manifest for a single video processing run - the single source of truth.</p>
4179
4180
4181
4182
4183
4184
4185
4186
4187
<details class="mkdocstrings-source">
4188
<summary>Source code in <code>video_processor/models.py</code></summary>
4189
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-235">235</a></span>
4190
<span class="normal"><a href="#__codelineno-0-236">236</a></span>
4191
<span class="normal"><a href="#__codelineno-0-237">237</a></span>
4192
<span class="normal"><a href="#__codelineno-0-238">238</a></span>
4193
<span class="normal"><a href="#__codelineno-0-239">239</a></span>
4194
<span class="normal"><a href="#__codelineno-0-240">240</a></span>
4195
<span class="normal"><a href="#__codelineno-0-241">241</a></span>
4196
<span class="normal"><a href="#__codelineno-0-242">242</a></span>
4197
<span class="normal"><a href="#__codelineno-0-243">243</a></span>
4198
<span class="normal"><a href="#__codelineno-0-244">244</a></span>
4199
<span class="normal"><a href="#__codelineno-0-245">245</a></span>
4200
<span class="normal"><a href="#__codelineno-0-246">246</a></span>
4201
<span class="normal"><a href="#__codelineno-0-247">247</a></span>
4202
<span class="normal"><a href="#__codelineno-0-248">248</a></span>
4203
<span class="normal"><a href="#__codelineno-0-249">249</a></span>
4204
<span class="normal"><a href="#__codelineno-0-250">250</a></span>
4205
<span class="normal"><a href="#__codelineno-0-251">251</a></span>
4206
<span class="normal"><a href="#__codelineno-0-252">252</a></span>
4207
<span class="normal"><a href="#__codelineno-0-253">253</a></span>
4208
<span class="normal"><a href="#__codelineno-0-254">254</a></span>
4209
<span class="normal"><a href="#__codelineno-0-255">255</a></span>
4210
<span class="normal"><a href="#__codelineno-0-256">256</a></span>
4211
<span class="normal"><a href="#__codelineno-0-257">257</a></span>
4212
<span class="normal"><a href="#__codelineno-0-258">258</a></span>
4213
<span class="normal"><a href="#__codelineno-0-259">259</a></span>
4214
<span class="normal"><a href="#__codelineno-0-260">260</a></span>
4215
<span class="normal"><a href="#__codelineno-0-261">261</a></span>
4216
<span class="normal"><a href="#__codelineno-0-262">262</a></span>
4217
<span class="normal"><a href="#__codelineno-0-263">263</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-235" name="__codelineno-0-235"></a><span class="k">class</span><span class="w"> </span><span class="nc">VideoManifest</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
4218
<a id="__codelineno-0-236" name="__codelineno-0-236"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Manifest for a single video processing run - the single source of truth.&quot;&quot;&quot;</span>
4219
<a id="__codelineno-0-237" name="__codelineno-0-237"></a>
4220
<a id="__codelineno-0-238" name="__codelineno-0-238"></a> <span class="n">version</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s2">&quot;1.0&quot;</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Manifest schema version&quot;</span><span class="p">)</span>
4221
<a id="__codelineno-0-239" name="__codelineno-0-239"></a> <span class="n">video</span><span class="p">:</span> <span class="n">VideoMetadata</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Source video metadata&quot;</span><span class="p">)</span>
4222
<a id="__codelineno-0-240" name="__codelineno-0-240"></a> <span class="n">stats</span><span class="p">:</span> <span class="n">ProcessingStats</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="n">ProcessingStats</span><span class="p">)</span>
4223
<a id="__codelineno-0-241" name="__codelineno-0-241"></a>
4224
<a id="__codelineno-0-242" name="__codelineno-0-242"></a> <span class="c1"># Relative paths to output files</span>
4225
<a id="__codelineno-0-243" name="__codelineno-0-243"></a> <span class="n">transcript_json</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
4226
<a id="__codelineno-0-244" name="__codelineno-0-244"></a> <span class="n">transcript_txt</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
4227
<a id="__codelineno-0-245" name="__codelineno-0-245"></a> <span class="n">transcript_srt</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
4228
<a id="__codelineno-0-246" name="__codelineno-0-246"></a> <span class="n">analysis_md</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
4229
<a id="__codelineno-0-247" name="__codelineno-0-247"></a> <span class="n">analysis_html</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
4230
<a id="__codelineno-0-248" name="__codelineno-0-248"></a> <span class="n">analysis_pdf</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
4231
<a id="__codelineno-0-249" name="__codelineno-0-249"></a> <span class="n">knowledge_graph_json</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
4232
<a id="__codelineno-0-250" name="__codelineno-0-250"></a> <span class="n">knowledge_graph_db</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
4233
<a id="__codelineno-0-251" name="__codelineno-0-251"></a> <span class="n">key_points_json</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
4234
<a id="__codelineno-0-252" name="__codelineno-0-252"></a> <span class="n">action_items_json</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
4235
<a id="__codelineno-0-253" name="__codelineno-0-253"></a>
4236
<a id="__codelineno-0-254" name="__codelineno-0-254"></a> <span class="c1"># Inline structured data</span>
4237
<a id="__codelineno-0-255" name="__codelineno-0-255"></a> <span class="n">key_points</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">KeyPoint</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">)</span>
4238
<a id="__codelineno-0-256" name="__codelineno-0-256"></a> <span class="n">action_items</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">ActionItem</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">)</span>
4239
<a id="__codelineno-0-257" name="__codelineno-0-257"></a> <span class="n">diagrams</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">DiagramResult</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">)</span>
4240
<a id="__codelineno-0-258" name="__codelineno-0-258"></a> <span class="n">screen_captures</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">ScreenCapture</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">)</span>
4241
<a id="__codelineno-0-259" name="__codelineno-0-259"></a>
4242
<a id="__codelineno-0-260" name="__codelineno-0-260"></a> <span class="c1"># Frame paths</span>
4243
<a id="__codelineno-0-261" name="__codelineno-0-261"></a> <span class="n">frame_paths</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
4244
<a id="__codelineno-0-262" name="__codelineno-0-262"></a> <span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Relative paths to extracted frames&quot;</span>
4245
<a id="__codelineno-0-263" name="__codelineno-0-263"></a> <span class="p">)</span>
4246
</code></pre></div></td></tr></table></div>
4247
</details>
4248
4249
4250
4251
<div class="doc doc-children">
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
</div>
4265
4266
</div>
4267
4268
</div>
4269
4270
<div class="doc doc-object doc-class">
4271
4272
4273
4274
<h3 id="video_processor.models.VideoMetadata" class="doc doc-heading">
4275
<code>VideoMetadata</code>
4276
4277
4278
<a href="#video_processor.models.VideoMetadata" class="headerlink" title="Permanent link">&para;</a></h3>
4279
4280
4281
<div class="doc doc-contents ">
4282
<p class="doc doc-class-bases">
4283
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
4284
4285
4286
4287
<p>Metadata about the source video.</p>
4288
4289
4290
4291
4292
4293
4294
4295
4296
<details class="mkdocstrings-source">
4297
<summary>Source code in <code>video_processor/models.py</code></summary>
4298
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-222">222</a></span>
4299
<span class="normal"><a href="#__codelineno-0-223">223</a></span>
4300
<span class="normal"><a href="#__codelineno-0-224">224</a></span>
4301
<span class="normal"><a href="#__codelineno-0-225">225</a></span>
4302
<span class="normal"><a href="#__codelineno-0-226">226</a></span>
4303
<span class="normal"><a href="#__codelineno-0-227">227</a></span>
4304
<span class="normal"><a href="#__codelineno-0-228">228</a></span>
4305
<span class="normal"><a href="#__codelineno-0-229">229</a></span>
4306
<span class="normal"><a href="#__codelineno-0-230">230</a></span>
4307
<span class="normal"><a href="#__codelineno-0-231">231</a></span>
4308
<span class="normal"><a href="#__codelineno-0-232">232</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-222" name="__codelineno-0-222"></a><span class="k">class</span><span class="w"> </span><span class="nc">VideoMetadata</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
4309
<a id="__codelineno-0-223" name="__codelineno-0-223"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Metadata about the source video.&quot;&quot;&quot;</span>
4310
<a id="__codelineno-0-224" name="__codelineno-0-224"></a>
4311
<a id="__codelineno-0-225" name="__codelineno-0-225"></a> <span class="n">title</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Video title&quot;</span><span class="p">)</span>
4312
<a id="__codelineno-0-226" name="__codelineno-0-226"></a> <span class="n">source_path</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Original video file path&quot;</span><span class="p">)</span>
4313
<a id="__codelineno-0-227" name="__codelineno-0-227"></a> <span class="n">duration_seconds</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Video duration&quot;</span><span class="p">)</span>
4314
<a id="__codelineno-0-228" name="__codelineno-0-228"></a> <span class="n">resolution</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;Video resolution (e.g. 1920x1080)&quot;</span><span class="p">)</span>
4315
<a id="__codelineno-0-229" name="__codelineno-0-229"></a> <span class="n">processed_at</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
4316
<a id="__codelineno-0-230" name="__codelineno-0-230"></a> <span class="n">default_factory</span><span class="o">=</span><span class="k">lambda</span><span class="p">:</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">isoformat</span><span class="p">(),</span>
4317
<a id="__codelineno-0-231" name="__codelineno-0-231"></a> <span class="n">description</span><span class="o">=</span><span class="s2">&quot;ISO format processing timestamp&quot;</span><span class="p">,</span>
4318
<a id="__codelineno-0-232" name="__codelineno-0-232"></a> <span class="p">)</span>
4319
</code></pre></div></td></tr></table></div>
4320
</details>
4321
4322
4323
4324
<div class="doc doc-children">
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
</div>
4338
4339
</div>
4340
4341
</div>
4342
4343
4344
4345
4346
</div>
4347
4348
</div>
4349
4350
</div><hr />
4351
<h2 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">&para;</a></h2>
4352
<p>The <code>video_processor.models</code> 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.</p>
4353
<p>All models inherit from <code>pydantic.BaseModel</code> and support JSON serialization via <code>.model_dump_json()</code> and deserialization via <code>.model_validate_json()</code>.</p>
4354
<hr />
4355
<h2 id="enumerations">Enumerations<a class="headerlink" href="#enumerations" title="Permanent link">&para;</a></h2>
4356
<h3 id="diagramtype">DiagramType<a class="headerlink" href="#diagramtype" title="Permanent link">&para;</a></h3>
4357
<p>Types of visual content detected in video frames.</p>
4358
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.models</span><span class="w"> </span><span class="kn">import</span> <span class="n">DiagramType</span>
4359
</code></pre></div>
4360
<table>
4361
<thead>
4362
<tr>
4363
<th>Value</th>
4364
<th>Description</th>
4365
</tr>
4366
</thead>
4367
<tbody>
4368
<tr>
4369
<td><code>flowchart</code></td>
4370
<td>Process flow or decision tree diagrams</td>
4371
</tr>
4372
<tr>
4373
<td><code>sequence</code></td>
4374
<td>Sequence or interaction diagrams</td>
4375
</tr>
4376
<tr>
4377
<td><code>architecture</code></td>
4378
<td>System architecture diagrams</td>
4379
</tr>
4380
<tr>
4381
<td><code>whiteboard</code></td>
4382
<td>Whiteboard drawings or sketches</td>
4383
</tr>
4384
<tr>
4385
<td><code>chart</code></td>
4386
<td>Data charts (bar, line, pie, scatter)</td>
4387
</tr>
4388
<tr>
4389
<td><code>table</code></td>
4390
<td>Tabular data</td>
4391
</tr>
4392
<tr>
4393
<td><code>slide</code></td>
4394
<td>Presentation slides</td>
4395
</tr>
4396
<tr>
4397
<td><code>screenshot</code></td>
4398
<td>Application screenshots or screen shares</td>
4399
</tr>
4400
<tr>
4401
<td><code>unknown</code></td>
4402
<td>Unclassified visual content</td>
4403
</tr>
4404
</tbody>
4405
</table>
4406
<h3 id="outputformat">OutputFormat<a class="headerlink" href="#outputformat" title="Permanent link">&para;</a></h3>
4407
<p>Available output formats for processing results.</p>
4408
<table>
4409
<thead>
4410
<tr>
4411
<th>Value</th>
4412
<th>Description</th>
4413
</tr>
4414
</thead>
4415
<tbody>
4416
<tr>
4417
<td><code>markdown</code></td>
4418
<td>Markdown text</td>
4419
</tr>
4420
<tr>
4421
<td><code>json</code></td>
4422
<td>JSON data</td>
4423
</tr>
4424
<tr>
4425
<td><code>html</code></td>
4426
<td>HTML document</td>
4427
</tr>
4428
<tr>
4429
<td><code>pdf</code></td>
4430
<td>PDF document</td>
4431
</tr>
4432
<tr>
4433
<td><code>svg</code></td>
4434
<td>SVG vector graphic</td>
4435
</tr>
4436
<tr>
4437
<td><code>png</code></td>
4438
<td>PNG raster image</td>
4439
</tr>
4440
</tbody>
4441
</table>
4442
<h3 id="planningentitytype">PlanningEntityType<a class="headerlink" href="#planningentitytype" title="Permanent link">&para;</a></h3>
4443
<p>Classification types for entities in a planning taxonomy.</p>
4444
<table>
4445
<thead>
4446
<tr>
4447
<th>Value</th>
4448
<th>Description</th>
4449
</tr>
4450
</thead>
4451
<tbody>
4452
<tr>
4453
<td><code>goal</code></td>
4454
<td>Project goals or objectives</td>
4455
</tr>
4456
<tr>
4457
<td><code>requirement</code></td>
4458
<td>Functional or non-functional requirements</td>
4459
</tr>
4460
<tr>
4461
<td><code>constraint</code></td>
4462
<td>Limitations or constraints</td>
4463
</tr>
4464
<tr>
4465
<td><code>decision</code></td>
4466
<td>Decisions made during planning</td>
4467
</tr>
4468
<tr>
4469
<td><code>risk</code></td>
4470
<td>Identified risks</td>
4471
</tr>
4472
<tr>
4473
<td><code>assumption</code></td>
4474
<td>Planning assumptions</td>
4475
</tr>
4476
<tr>
4477
<td><code>dependency</code></td>
4478
<td>External or internal dependencies</td>
4479
</tr>
4480
<tr>
4481
<td><code>milestone</code></td>
4482
<td>Project milestones</td>
4483
</tr>
4484
<tr>
4485
<td><code>task</code></td>
4486
<td>Actionable tasks</td>
4487
</tr>
4488
<tr>
4489
<td><code>feature</code></td>
4490
<td>Product features</td>
4491
</tr>
4492
</tbody>
4493
</table>
4494
<h3 id="planningrelationshiptype">PlanningRelationshipType<a class="headerlink" href="#planningrelationshiptype" title="Permanent link">&para;</a></h3>
4495
<p>Relationship types within a planning taxonomy.</p>
4496
<table>
4497
<thead>
4498
<tr>
4499
<th>Value</th>
4500
<th>Description</th>
4501
</tr>
4502
</thead>
4503
<tbody>
4504
<tr>
4505
<td><code>requires</code></td>
4506
<td>Entity A requires entity B</td>
4507
</tr>
4508
<tr>
4509
<td><code>blocked_by</code></td>
4510
<td>Entity A is blocked by entity B</td>
4511
</tr>
4512
<tr>
4513
<td><code>has_risk</code></td>
4514
<td>Entity A has an associated risk B</td>
4515
</tr>
4516
<tr>
4517
<td><code>depends_on</code></td>
4518
<td>Entity A depends on entity B</td>
4519
</tr>
4520
<tr>
4521
<td><code>addresses</code></td>
4522
<td>Entity A addresses entity B</td>
4523
</tr>
4524
<tr>
4525
<td><code>has_tradeoff</code></td>
4526
<td>Entity A involves a tradeoff with entity B</td>
4527
</tr>
4528
<tr>
4529
<td><code>delivers</code></td>
4530
<td>Entity A delivers entity B</td>
4531
</tr>
4532
<tr>
4533
<td><code>implements</code></td>
4534
<td>Entity A implements entity B</td>
4535
</tr>
4536
<tr>
4537
<td><code>parent_of</code></td>
4538
<td>Entity A is the parent of entity B</td>
4539
</tr>
4540
</tbody>
4541
</table>
4542
<hr />
4543
<h2 id="protocols">Protocols<a class="headerlink" href="#protocols" title="Permanent link">&para;</a></h2>
4544
<h3 id="progresscallback">ProgressCallback<a class="headerlink" href="#progresscallback" title="Permanent link">&para;</a></h3>
4545
<p>A runtime-checkable protocol for receiving pipeline progress updates. Implement this interface to integrate custom progress reporting (e.g., web UI, logging).</p>
4546
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.models</span><span class="w"> </span><span class="kn">import</span> <span class="n">ProgressCallback</span>
4547
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>
4548
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="k">class</span><span class="w"> </span><span class="nc">MyProgress</span><span class="p">:</span>
4549
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a> <span class="k">def</span><span class="w"> </span><span class="nf">on_step_start</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">step</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">index</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">total</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
4550
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Starting </span><span class="si">{</span><span class="n">step</span><span class="si">}</span><span class="s2"> (</span><span class="si">{</span><span class="n">index</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">total</span><span class="si">}</span><span class="s2">)&quot;</span><span class="p">)</span>
4551
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a>
4552
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a> <span class="k">def</span><span class="w"> </span><span class="nf">on_step_complete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">step</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">index</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">total</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
4553
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Completed </span><span class="si">{</span><span class="n">step</span><span class="si">}</span><span class="s2"> (</span><span class="si">{</span><span class="n">index</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">total</span><span class="si">}</span><span class="s2">)&quot;</span><span class="p">)</span>
4554
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a>
4555
<a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a> <span class="k">def</span><span class="w"> </span><span class="nf">on_progress</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">step</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">percent</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">message</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
4556
<a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">step</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="n">percent</span><span class="si">:</span><span class="s2">.0f</span><span class="si">}</span><span class="s2">% </span><span class="si">{</span><span class="n">message</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
4557
<a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a>
4558
<a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a><span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">MyProgress</span><span class="p">(),</span> <span class="n">ProgressCallback</span><span class="p">)</span> <span class="c1"># True</span>
4559
</code></pre></div>
4560
<p><strong>Methods:</strong></p>
4561
<table>
4562
<thead>
4563
<tr>
4564
<th>Method</th>
4565
<th>Parameters</th>
4566
<th>Description</th>
4567
</tr>
4568
</thead>
4569
<tbody>
4570
<tr>
4571
<td><code>on_step_start</code></td>
4572
<td><code>step: str</code>, <code>index: int</code>, <code>total: int</code></td>
4573
<td>Called when a pipeline step begins</td>
4574
</tr>
4575
<tr>
4576
<td><code>on_step_complete</code></td>
4577
<td><code>step: str</code>, <code>index: int</code>, <code>total: int</code></td>
4578
<td>Called when a pipeline step finishes</td>
4579
</tr>
4580
<tr>
4581
<td><code>on_progress</code></td>
4582
<td><code>step: str</code>, <code>percent: float</code>, <code>message: str</code></td>
4583
<td>Called with incremental progress updates</td>
4584
</tr>
4585
</tbody>
4586
</table>
4587
<hr />
4588
<h2 id="transcript-models">Transcript Models<a class="headerlink" href="#transcript-models" title="Permanent link">&para;</a></h2>
4589
<h3 id="transcriptsegment">TranscriptSegment<a class="headerlink" href="#transcriptsegment" title="Permanent link">&para;</a></h3>
4590
<p>A single segment of transcribed audio with timing and optional speaker identification.</p>
4591
<table>
4592
<thead>
4593
<tr>
4594
<th>Field</th>
4595
<th>Type</th>
4596
<th>Default</th>
4597
<th>Description</th>
4598
</tr>
4599
</thead>
4600
<tbody>
4601
<tr>
4602
<td><code>start</code></td>
4603
<td><code>float</code></td>
4604
<td><em>required</em></td>
4605
<td>Start time in seconds</td>
4606
</tr>
4607
<tr>
4608
<td><code>end</code></td>
4609
<td><code>float</code></td>
4610
<td><em>required</em></td>
4611
<td>End time in seconds</td>
4612
</tr>
4613
<tr>
4614
<td><code>text</code></td>
4615
<td><code>str</code></td>
4616
<td><em>required</em></td>
4617
<td>Transcribed text content</td>
4618
</tr>
4619
<tr>
4620
<td><code>speaker</code></td>
4621
<td><code>Optional[str]</code></td>
4622
<td><code>None</code></td>
4623
<td>Speaker identifier (e.g., "Speaker 1")</td>
4624
</tr>
4625
<tr>
4626
<td><code>confidence</code></td>
4627
<td><code>Optional[float]</code></td>
4628
<td><code>None</code></td>
4629
<td>Transcription confidence score (0.0 to 1.0)</td>
4630
</tr>
4631
</tbody>
4632
</table>
4633
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="p">{</span>
4634
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="w"> </span><span class="nt">&quot;start&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">12.5</span><span class="p">,</span>
4635
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="nt">&quot;end&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">15.3</span><span class="p">,</span>
4636
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="nt">&quot;text&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;We should migrate to the new API by next quarter.&quot;</span><span class="p">,</span>
4637
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="nt">&quot;speaker&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Alice&quot;</span><span class="p">,</span>
4638
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="w"> </span><span class="nt">&quot;confidence&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">0.95</span>
4639
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="p">}</span>
4640
</code></pre></div>
4641
<hr />
4642
<h2 id="content-extraction-models">Content Extraction Models<a class="headerlink" href="#content-extraction-models" title="Permanent link">&para;</a></h2>
4643
<h3 id="actionitem">ActionItem<a class="headerlink" href="#actionitem" title="Permanent link">&para;</a></h3>
4644
<p>An action item extracted from transcript or diagram content.</p>
4645
<table>
4646
<thead>
4647
<tr>
4648
<th>Field</th>
4649
<th>Type</th>
4650
<th>Default</th>
4651
<th>Description</th>
4652
</tr>
4653
</thead>
4654
<tbody>
4655
<tr>
4656
<td><code>action</code></td>
4657
<td><code>str</code></td>
4658
<td><em>required</em></td>
4659
<td>The action to be taken</td>
4660
</tr>
4661
<tr>
4662
<td><code>assignee</code></td>
4663
<td><code>Optional[str]</code></td>
4664
<td><code>None</code></td>
4665
<td>Person responsible for the action</td>
4666
</tr>
4667
<tr>
4668
<td><code>deadline</code></td>
4669
<td><code>Optional[str]</code></td>
4670
<td><code>None</code></td>
4671
<td>Deadline or timeframe</td>
4672
</tr>
4673
<tr>
4674
<td><code>priority</code></td>
4675
<td><code>Optional[str]</code></td>
4676
<td><code>None</code></td>
4677
<td>Priority level (e.g., "high", "medium", "low")</td>
4678
</tr>
4679
<tr>
4680
<td><code>context</code></td>
4681
<td><code>Optional[str]</code></td>
4682
<td><code>None</code></td>
4683
<td>Additional context or notes</td>
4684
</tr>
4685
<tr>
4686
<td><code>source</code></td>
4687
<td><code>Optional[str]</code></td>
4688
<td><code>None</code></td>
4689
<td>Where this was found: <code>"transcript"</code>, <code>"diagram"</code>, or <code>"both"</code></td>
4690
</tr>
4691
</tbody>
4692
</table>
4693
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="p">{</span>
4694
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="w"> </span><span class="nt">&quot;action&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Migrate authentication service to OAuth 2.0&quot;</span><span class="p">,</span>
4695
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span><span class="nt">&quot;assignee&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Bob&quot;</span><span class="p">,</span>
4696
<a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a><span class="w"> </span><span class="nt">&quot;deadline&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Q2 2026&quot;</span><span class="p">,</span>
4697
<a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="w"> </span><span class="nt">&quot;priority&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;high&quot;</span><span class="p">,</span>
4698
<a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="w"> </span><span class="nt">&quot;context&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;at 245s&quot;</span><span class="p">,</span>
4699
<a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a><span class="w"> </span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;transcript&quot;</span>
4700
<a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a><span class="p">}</span>
4701
</code></pre></div>
4702
<h3 id="keypoint">KeyPoint<a class="headerlink" href="#keypoint" title="Permanent link">&para;</a></h3>
4703
<p>A key point extracted from content, optionally linked to diagrams.</p>
4704
<table>
4705
<thead>
4706
<tr>
4707
<th>Field</th>
4708
<th>Type</th>
4709
<th>Default</th>
4710
<th>Description</th>
4711
</tr>
4712
</thead>
4713
<tbody>
4714
<tr>
4715
<td><code>point</code></td>
4716
<td><code>str</code></td>
4717
<td><em>required</em></td>
4718
<td>The key point text</td>
4719
</tr>
4720
<tr>
4721
<td><code>topic</code></td>
4722
<td><code>Optional[str]</code></td>
4723
<td><code>None</code></td>
4724
<td>Topic or category</td>
4725
</tr>
4726
<tr>
4727
<td><code>details</code></td>
4728
<td><code>Optional[str]</code></td>
4729
<td><code>None</code></td>
4730
<td>Supporting details</td>
4731
</tr>
4732
<tr>
4733
<td><code>timestamp</code></td>
4734
<td><code>Optional[float]</code></td>
4735
<td><code>None</code></td>
4736
<td>Timestamp in video (seconds)</td>
4737
</tr>
4738
<tr>
4739
<td><code>source</code></td>
4740
<td><code>Optional[str]</code></td>
4741
<td><code>None</code></td>
4742
<td>Where this was found</td>
4743
</tr>
4744
<tr>
4745
<td><code>related_diagrams</code></td>
4746
<td><code>List[int]</code></td>
4747
<td><code>[]</code></td>
4748
<td>Indices of related diagrams in the manifest</td>
4749
</tr>
4750
</tbody>
4751
</table>
4752
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="p">{</span>
4753
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="nt">&quot;point&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Team decided to use FalkorDB for graph storage&quot;</span><span class="p">,</span>
4754
<a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="w"> </span><span class="nt">&quot;topic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Architecture&quot;</span><span class="p">,</span>
4755
<a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="w"> </span><span class="nt">&quot;details&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Embedded database avoids infrastructure overhead for CLI use&quot;</span><span class="p">,</span>
4756
<a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a><span class="w"> </span><span class="nt">&quot;timestamp&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">342.0</span><span class="p">,</span>
4757
<a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a><span class="w"> </span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;transcript&quot;</span><span class="p">,</span>
4758
<a id="__codelineno-4-7" name="__codelineno-4-7" href="#__codelineno-4-7"></a><span class="w"> </span><span class="nt">&quot;related_diagrams&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">]</span>
4759
<a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a><span class="p">}</span>
4760
</code></pre></div>
4761
<hr />
4762
<h2 id="diagram-models">Diagram Models<a class="headerlink" href="#diagram-models" title="Permanent link">&para;</a></h2>
4763
<h3 id="diagramresult">DiagramResult<a class="headerlink" href="#diagramresult" title="Permanent link">&para;</a></h3>
4764
<p>Result from diagram extraction and analysis. Contains structured data extracted from visual content, along with paths to output files.</p>
4765
<table>
4766
<thead>
4767
<tr>
4768
<th>Field</th>
4769
<th>Type</th>
4770
<th>Default</th>
4771
<th>Description</th>
4772
</tr>
4773
</thead>
4774
<tbody>
4775
<tr>
4776
<td><code>frame_index</code></td>
4777
<td><code>int</code></td>
4778
<td><em>required</em></td>
4779
<td>Index of the source frame</td>
4780
</tr>
4781
<tr>
4782
<td><code>timestamp</code></td>
4783
<td><code>Optional[float]</code></td>
4784
<td><code>None</code></td>
4785
<td>Timestamp in video (seconds)</td>
4786
</tr>
4787
<tr>
4788
<td><code>diagram_type</code></td>
4789
<td><code>DiagramType</code></td>
4790
<td><code>unknown</code></td>
4791
<td>Type of diagram detected</td>
4792
</tr>
4793
<tr>
4794
<td><code>confidence</code></td>
4795
<td><code>float</code></td>
4796
<td><code>0.0</code></td>
4797
<td>Detection confidence (0.0 to 1.0)</td>
4798
</tr>
4799
<tr>
4800
<td><code>description</code></td>
4801
<td><code>Optional[str]</code></td>
4802
<td><code>None</code></td>
4803
<td>Detailed description of the diagram</td>
4804
</tr>
4805
<tr>
4806
<td><code>text_content</code></td>
4807
<td><code>Optional[str]</code></td>
4808
<td><code>None</code></td>
4809
<td>All visible text, preserving structure</td>
4810
</tr>
4811
<tr>
4812
<td><code>elements</code></td>
4813
<td><code>List[str]</code></td>
4814
<td><code>[]</code></td>
4815
<td>Identified elements or components</td>
4816
</tr>
4817
<tr>
4818
<td><code>relationships</code></td>
4819
<td><code>List[str]</code></td>
4820
<td><code>[]</code></td>
4821
<td>Identified relationships (e.g., <code>"A -&gt; B: connects"</code>)</td>
4822
</tr>
4823
<tr>
4824
<td><code>mermaid</code></td>
4825
<td><code>Optional[str]</code></td>
4826
<td><code>None</code></td>
4827
<td>Mermaid syntax representation</td>
4828
</tr>
4829
<tr>
4830
<td><code>chart_data</code></td>
4831
<td><code>Optional[Dict[str, Any]]</code></td>
4832
<td><code>None</code></td>
4833
<td>Extractable chart data (<code>labels</code>, <code>values</code>, <code>chart_type</code>)</td>
4834
</tr>
4835
<tr>
4836
<td><code>image_path</code></td>
4837
<td><code>Optional[str]</code></td>
4838
<td><code>None</code></td>
4839
<td>Relative path to original frame image</td>
4840
</tr>
4841
<tr>
4842
<td><code>svg_path</code></td>
4843
<td><code>Optional[str]</code></td>
4844
<td><code>None</code></td>
4845
<td>Relative path to rendered SVG</td>
4846
</tr>
4847
<tr>
4848
<td><code>png_path</code></td>
4849
<td><code>Optional[str]</code></td>
4850
<td><code>None</code></td>
4851
<td>Relative path to rendered PNG</td>
4852
</tr>
4853
<tr>
4854
<td><code>mermaid_path</code></td>
4855
<td><code>Optional[str]</code></td>
4856
<td><code>None</code></td>
4857
<td>Relative path to mermaid source file</td>
4858
</tr>
4859
</tbody>
4860
</table>
4861
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="p">{</span>
4862
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="w"> </span><span class="nt">&quot;frame_index&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span>
4863
<a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a><span class="w"> </span><span class="nt">&quot;timestamp&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">120.0</span><span class="p">,</span>
4864
<a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="w"> </span><span class="nt">&quot;diagram_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;architecture&quot;</span><span class="p">,</span>
4865
<a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a><span class="w"> </span><span class="nt">&quot;confidence&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">0.92</span><span class="p">,</span>
4866
<a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Microservices architecture showing API gateway, auth service, and database layer&quot;</span><span class="p">,</span>
4867
<a id="__codelineno-5-7" name="__codelineno-5-7" href="#__codelineno-5-7"></a><span class="w"> </span><span class="nt">&quot;text_content&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;API Gateway\nAuth Service\nUser DB\nPostgreSQL&quot;</span><span class="p">,</span>
4868
<a id="__codelineno-5-8" name="__codelineno-5-8" href="#__codelineno-5-8"></a><span class="w"> </span><span class="nt">&quot;elements&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;API Gateway&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;Auth Service&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;User DB&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;PostgreSQL&quot;</span><span class="p">],</span>
4869
<a id="__codelineno-5-9" name="__codelineno-5-9" href="#__codelineno-5-9"></a><span class="w"> </span><span class="nt">&quot;relationships&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;API Gateway -&gt; Auth Service: authenticates&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;Auth Service -&gt; User DB: queries&quot;</span><span class="p">],</span>
4870
<a id="__codelineno-5-10" name="__codelineno-5-10" href="#__codelineno-5-10"></a><span class="w"> </span><span class="nt">&quot;mermaid&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;graph LR\n A[API Gateway] --&gt; B[Auth Service]\n B --&gt; C[User DB]&quot;</span><span class="p">,</span>
4871
<a id="__codelineno-5-11" name="__codelineno-5-11" href="#__codelineno-5-11"></a><span class="w"> </span><span class="nt">&quot;chart_data&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4872
<a id="__codelineno-5-12" name="__codelineno-5-12" href="#__codelineno-5-12"></a><span class="w"> </span><span class="nt">&quot;image_path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;diagrams/diagram_0.jpg&quot;</span><span class="p">,</span>
4873
<a id="__codelineno-5-13" name="__codelineno-5-13" href="#__codelineno-5-13"></a><span class="w"> </span><span class="nt">&quot;svg_path&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4874
<a id="__codelineno-5-14" name="__codelineno-5-14" href="#__codelineno-5-14"></a><span class="w"> </span><span class="nt">&quot;png_path&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4875
<a id="__codelineno-5-15" name="__codelineno-5-15" href="#__codelineno-5-15"></a><span class="w"> </span><span class="nt">&quot;mermaid_path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;diagrams/diagram_0.mermaid&quot;</span>
4876
<a id="__codelineno-5-16" name="__codelineno-5-16" href="#__codelineno-5-16"></a><span class="p">}</span>
4877
</code></pre></div>
4878
<h3 id="screencapture">ScreenCapture<a class="headerlink" href="#screencapture" title="Permanent link">&para;</a></h3>
4879
<p>A screengrab fallback created when diagram extraction fails or confidence is too low for full analysis.</p>
4880
<table>
4881
<thead>
4882
<tr>
4883
<th>Field</th>
4884
<th>Type</th>
4885
<th>Default</th>
4886
<th>Description</th>
4887
</tr>
4888
</thead>
4889
<tbody>
4890
<tr>
4891
<td><code>frame_index</code></td>
4892
<td><code>int</code></td>
4893
<td><em>required</em></td>
4894
<td>Index of the source frame</td>
4895
</tr>
4896
<tr>
4897
<td><code>timestamp</code></td>
4898
<td><code>Optional[float]</code></td>
4899
<td><code>None</code></td>
4900
<td>Timestamp in video (seconds)</td>
4901
</tr>
4902
<tr>
4903
<td><code>caption</code></td>
4904
<td><code>Optional[str]</code></td>
4905
<td><code>None</code></td>
4906
<td>Brief description of the content</td>
4907
</tr>
4908
<tr>
4909
<td><code>image_path</code></td>
4910
<td><code>Optional[str]</code></td>
4911
<td><code>None</code></td>
4912
<td>Relative path to screenshot image</td>
4913
</tr>
4914
<tr>
4915
<td><code>confidence</code></td>
4916
<td><code>float</code></td>
4917
<td><code>0.0</code></td>
4918
<td>Detection confidence that triggered fallback</td>
4919
</tr>
4920
</tbody>
4921
</table>
4922
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="p">{</span>
4923
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><span class="w"> </span><span class="nt">&quot;frame_index&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">8</span><span class="p">,</span>
4924
<a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="w"> </span><span class="nt">&quot;timestamp&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">195.0</span><span class="p">,</span>
4925
<a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a><span class="w"> </span><span class="nt">&quot;caption&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Code editor showing a Python function definition&quot;</span><span class="p">,</span>
4926
<a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a><span class="w"> </span><span class="nt">&quot;image_path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;captures/capture_0.jpg&quot;</span><span class="p">,</span>
4927
<a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a><span class="w"> </span><span class="nt">&quot;confidence&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">0.45</span>
4928
<a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a><span class="p">}</span>
4929
</code></pre></div>
4930
<hr />
4931
<h2 id="knowledge-graph-models">Knowledge Graph Models<a class="headerlink" href="#knowledge-graph-models" title="Permanent link">&para;</a></h2>
4932
<h3 id="entity">Entity<a class="headerlink" href="#entity" title="Permanent link">&para;</a></h3>
4933
<p>An entity in the knowledge graph, representing a person, concept, technology, or other named item extracted from content.</p>
4934
<table>
4935
<thead>
4936
<tr>
4937
<th>Field</th>
4938
<th>Type</th>
4939
<th>Default</th>
4940
<th>Description</th>
4941
</tr>
4942
</thead>
4943
<tbody>
4944
<tr>
4945
<td><code>name</code></td>
4946
<td><code>str</code></td>
4947
<td><em>required</em></td>
4948
<td>Entity name</td>
4949
</tr>
4950
<tr>
4951
<td><code>type</code></td>
4952
<td><code>str</code></td>
4953
<td><code>"concept"</code></td>
4954
<td>Entity type: <code>"person"</code>, <code>"concept"</code>, <code>"technology"</code>, <code>"time"</code>, <code>"diagram"</code></td>
4955
</tr>
4956
<tr>
4957
<td><code>descriptions</code></td>
4958
<td><code>List[str]</code></td>
4959
<td><code>[]</code></td>
4960
<td>Accumulated descriptions of this entity</td>
4961
</tr>
4962
<tr>
4963
<td><code>source</code></td>
4964
<td><code>Optional[str]</code></td>
4965
<td><code>None</code></td>
4966
<td>Source attribution: <code>"transcript"</code>, <code>"diagram"</code>, or <code>"both"</code></td>
4967
</tr>
4968
<tr>
4969
<td><code>occurrences</code></td>
4970
<td><code>List[Dict[str, Any]]</code></td>
4971
<td><code>[]</code></td>
4972
<td>Occurrences with source, timestamp, and text context</td>
4973
</tr>
4974
</tbody>
4975
</table>
4976
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="p">{</span>
4977
<a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;FalkorDB&quot;</span><span class="p">,</span>
4978
<a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;technology&quot;</span><span class="p">,</span>
4979
<a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a><span class="w"> </span><span class="nt">&quot;descriptions&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;Embedded graph database&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;Supports Cypher queries&quot;</span><span class="p">],</span>
4980
<a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a><span class="w"> </span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;both&quot;</span><span class="p">,</span>
4981
<a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a><span class="w"> </span><span class="nt">&quot;occurrences&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
4982
<a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a><span class="w"> </span><span class="p">{</span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;transcript&quot;</span><span class="p">,</span><span class="w"> </span><span class="nt">&quot;timestamp&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">120.0</span><span class="p">,</span><span class="w"> </span><span class="nt">&quot;text&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;We chose FalkorDB for graph storage&quot;</span><span class="p">},</span>
4983
<a id="__codelineno-7-8" name="__codelineno-7-8" href="#__codelineno-7-8"></a><span class="w"> </span><span class="p">{</span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;diagram&quot;</span><span class="p">,</span><span class="w"> </span><span class="nt">&quot;text&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;FalkorDB Lite&quot;</span><span class="p">}</span>
4984
<a id="__codelineno-7-9" name="__codelineno-7-9" href="#__codelineno-7-9"></a><span class="w"> </span><span class="p">]</span>
4985
<a id="__codelineno-7-10" name="__codelineno-7-10" href="#__codelineno-7-10"></a><span class="p">}</span>
4986
</code></pre></div>
4987
<h3 id="relationship">Relationship<a class="headerlink" href="#relationship" title="Permanent link">&para;</a></h3>
4988
<p>A directed relationship between two entities in the knowledge graph.</p>
4989
<table>
4990
<thead>
4991
<tr>
4992
<th>Field</th>
4993
<th>Type</th>
4994
<th>Default</th>
4995
<th>Description</th>
4996
</tr>
4997
</thead>
4998
<tbody>
4999
<tr>
5000
<td><code>source</code></td>
5001
<td><code>str</code></td>
5002
<td><em>required</em></td>
5003
<td>Source entity name</td>
5004
</tr>
5005
<tr>
5006
<td><code>target</code></td>
5007
<td><code>str</code></td>
5008
<td><em>required</em></td>
5009
<td>Target entity name</td>
5010
</tr>
5011
<tr>
5012
<td><code>type</code></td>
5013
<td><code>str</code></td>
5014
<td><code>"related_to"</code></td>
5015
<td>Relationship type (e.g., <code>"uses"</code>, <code>"manages"</code>, <code>"related_to"</code>)</td>
5016
</tr>
5017
<tr>
5018
<td><code>content_source</code></td>
5019
<td><code>Optional[str]</code></td>
5020
<td><code>None</code></td>
5021
<td>Content source identifier</td>
5022
</tr>
5023
<tr>
5024
<td><code>timestamp</code></td>
5025
<td><code>Optional[float]</code></td>
5026
<td><code>None</code></td>
5027
<td>Timestamp in seconds</td>
5028
</tr>
5029
</tbody>
5030
</table>
5031
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="p">{</span>
5032
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="w"> </span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;PlanOpticon&quot;</span><span class="p">,</span>
5033
<a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a><span class="w"> </span><span class="nt">&quot;target&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;FalkorDB&quot;</span><span class="p">,</span>
5034
<a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;uses&quot;</span><span class="p">,</span>
5035
<a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a><span class="w"> </span><span class="nt">&quot;content_source&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;transcript&quot;</span><span class="p">,</span>
5036
<a id="__codelineno-8-6" name="__codelineno-8-6" href="#__codelineno-8-6"></a><span class="w"> </span><span class="nt">&quot;timestamp&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">125.0</span>
5037
<a id="__codelineno-8-7" name="__codelineno-8-7" href="#__codelineno-8-7"></a><span class="p">}</span>
5038
</code></pre></div>
5039
<h3 id="sourcerecord">SourceRecord<a class="headerlink" href="#sourcerecord" title="Permanent link">&para;</a></h3>
5040
<p>A content source registered in the knowledge graph for provenance tracking.</p>
5041
<table>
5042
<thead>
5043
<tr>
5044
<th>Field</th>
5045
<th>Type</th>
5046
<th>Default</th>
5047
<th>Description</th>
5048
</tr>
5049
</thead>
5050
<tbody>
5051
<tr>
5052
<td><code>source_id</code></td>
5053
<td><code>str</code></td>
5054
<td><em>required</em></td>
5055
<td>Unique identifier for this source</td>
5056
</tr>
5057
<tr>
5058
<td><code>source_type</code></td>
5059
<td><code>str</code></td>
5060
<td><em>required</em></td>
5061
<td>Source type: <code>"video"</code>, <code>"document"</code>, <code>"url"</code>, <code>"api"</code>, <code>"manual"</code></td>
5062
</tr>
5063
<tr>
5064
<td><code>title</code></td>
5065
<td><code>str</code></td>
5066
<td><em>required</em></td>
5067
<td>Human-readable title</td>
5068
</tr>
5069
<tr>
5070
<td><code>path</code></td>
5071
<td><code>Optional[str]</code></td>
5072
<td><code>None</code></td>
5073
<td>Local file path</td>
5074
</tr>
5075
<tr>
5076
<td><code>url</code></td>
5077
<td><code>Optional[str]</code></td>
5078
<td><code>None</code></td>
5079
<td>URL if applicable</td>
5080
</tr>
5081
<tr>
5082
<td><code>mime_type</code></td>
5083
<td><code>Optional[str]</code></td>
5084
<td><code>None</code></td>
5085
<td>MIME type of the source</td>
5086
</tr>
5087
<tr>
5088
<td><code>ingested_at</code></td>
5089
<td><code>str</code></td>
5090
<td><em>auto</em></td>
5091
<td>ISO format ingestion timestamp (auto-generated)</td>
5092
</tr>
5093
<tr>
5094
<td><code>metadata</code></td>
5095
<td><code>Dict[str, Any]</code></td>
5096
<td><code>{}</code></td>
5097
<td>Additional source metadata</td>
5098
</tr>
5099
</tbody>
5100
</table>
5101
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="p">{</span>
5102
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a><span class="w"> </span><span class="nt">&quot;source_id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;vid_abc123&quot;</span><span class="p">,</span>
5103
<a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="w"> </span><span class="nt">&quot;source_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;video&quot;</span><span class="p">,</span>
5104
<a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="w"> </span><span class="nt">&quot;title&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Sprint Planning Meeting - Jan 15&quot;</span><span class="p">,</span>
5105
<a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a><span class="w"> </span><span class="nt">&quot;path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;/recordings/sprint-planning.mp4&quot;</span><span class="p">,</span>
5106
<a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5107
<a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a><span class="w"> </span><span class="nt">&quot;mime_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;video/mp4&quot;</span><span class="p">,</span>
5108
<a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a><span class="w"> </span><span class="nt">&quot;ingested_at&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2026-01-15T10:30:00&quot;</span><span class="p">,</span>
5109
<a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a><span class="w"> </span><span class="nt">&quot;metadata&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="nt">&quot;duration&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">3600</span><span class="p">,</span><span class="w"> </span><span class="nt">&quot;resolution&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1920x1080&quot;</span><span class="p">}</span>
5110
<a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a><span class="p">}</span>
5111
</code></pre></div>
5112
<h3 id="knowledgegraphdata">KnowledgeGraphData<a class="headerlink" href="#knowledgegraphdata" title="Permanent link">&para;</a></h3>
5113
<p>Serializable knowledge graph data containing all nodes, relationships, and source provenance.</p>
5114
<table>
5115
<thead>
5116
<tr>
5117
<th>Field</th>
5118
<th>Type</th>
5119
<th>Default</th>
5120
<th>Description</th>
5121
</tr>
5122
</thead>
5123
<tbody>
5124
<tr>
5125
<td><code>nodes</code></td>
5126
<td><code>List[Entity]</code></td>
5127
<td><code>[]</code></td>
5128
<td>Graph nodes/entities</td>
5129
</tr>
5130
<tr>
5131
<td><code>relationships</code></td>
5132
<td><code>List[Relationship]</code></td>
5133
<td><code>[]</code></td>
5134
<td>Graph relationships</td>
5135
</tr>
5136
<tr>
5137
<td><code>sources</code></td>
5138
<td><code>List[SourceRecord]</code></td>
5139
<td><code>[]</code></td>
5140
<td>Content sources for provenance tracking</td>
5141
</tr>
5142
</tbody>
5143
</table>
5144
<hr />
5145
<h2 id="planning-models">Planning Models<a class="headerlink" href="#planning-models" title="Permanent link">&para;</a></h2>
5146
<h3 id="planningentity">PlanningEntity<a class="headerlink" href="#planningentity" title="Permanent link">&para;</a></h3>
5147
<p>An entity classified for planning purposes, with priority and status tracking.</p>
5148
<table>
5149
<thead>
5150
<tr>
5151
<th>Field</th>
5152
<th>Type</th>
5153
<th>Default</th>
5154
<th>Description</th>
5155
</tr>
5156
</thead>
5157
<tbody>
5158
<tr>
5159
<td><code>name</code></td>
5160
<td><code>str</code></td>
5161
<td><em>required</em></td>
5162
<td>Entity name</td>
5163
</tr>
5164
<tr>
5165
<td><code>planning_type</code></td>
5166
<td><code>PlanningEntityType</code></td>
5167
<td><em>required</em></td>
5168
<td>Planning classification</td>
5169
</tr>
5170
<tr>
5171
<td><code>description</code></td>
5172
<td><code>str</code></td>
5173
<td><code>""</code></td>
5174
<td>Detailed description</td>
5175
</tr>
5176
<tr>
5177
<td><code>priority</code></td>
5178
<td><code>Optional[str]</code></td>
5179
<td><code>None</code></td>
5180
<td>Priority: <code>"high"</code>, <code>"medium"</code>, <code>"low"</code></td>
5181
</tr>
5182
<tr>
5183
<td><code>status</code></td>
5184
<td><code>Optional[str]</code></td>
5185
<td><code>None</code></td>
5186
<td>Status: <code>"identified"</code>, <code>"confirmed"</code>, <code>"resolved"</code></td>
5187
</tr>
5188
<tr>
5189
<td><code>source_entities</code></td>
5190
<td><code>List[str]</code></td>
5191
<td><code>[]</code></td>
5192
<td>Names of source KG entities this was derived from</td>
5193
</tr>
5194
<tr>
5195
<td><code>metadata</code></td>
5196
<td><code>Dict[str, Any]</code></td>
5197
<td><code>{}</code></td>
5198
<td>Additional metadata</td>
5199
</tr>
5200
</tbody>
5201
</table>
5202
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="p">{</span>
5203
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Migrate to OAuth 2.0&quot;</span><span class="p">,</span>
5204
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a><span class="w"> </span><span class="nt">&quot;planning_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;task&quot;</span><span class="p">,</span>
5205
<a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Replace custom auth with OAuth 2.0 across all services&quot;</span><span class="p">,</span>
5206
<a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a><span class="w"> </span><span class="nt">&quot;priority&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;high&quot;</span><span class="p">,</span>
5207
<a id="__codelineno-10-6" name="__codelineno-10-6" href="#__codelineno-10-6"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;identified&quot;</span><span class="p">,</span>
5208
<a id="__codelineno-10-7" name="__codelineno-10-7" href="#__codelineno-10-7"></a><span class="w"> </span><span class="nt">&quot;source_entities&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;OAuth&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;Authentication Service&quot;</span><span class="p">],</span>
5209
<a id="__codelineno-10-8" name="__codelineno-10-8" href="#__codelineno-10-8"></a><span class="w"> </span><span class="nt">&quot;metadata&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span>
5210
<a id="__codelineno-10-9" name="__codelineno-10-9" href="#__codelineno-10-9"></a><span class="p">}</span>
5211
</code></pre></div>
5212
<hr />
5213
<h2 id="processing-and-metadata-models">Processing and Metadata Models<a class="headerlink" href="#processing-and-metadata-models" title="Permanent link">&para;</a></h2>
5214
<h3 id="processingstats">ProcessingStats<a class="headerlink" href="#processingstats" title="Permanent link">&para;</a></h3>
5215
<p>Statistics about a processing run, including model usage tracking.</p>
5216
<table>
5217
<thead>
5218
<tr>
5219
<th>Field</th>
5220
<th>Type</th>
5221
<th>Default</th>
5222
<th>Description</th>
5223
</tr>
5224
</thead>
5225
<tbody>
5226
<tr>
5227
<td><code>start_time</code></td>
5228
<td><code>Optional[str]</code></td>
5229
<td><code>None</code></td>
5230
<td>ISO format start time</td>
5231
</tr>
5232
<tr>
5233
<td><code>end_time</code></td>
5234
<td><code>Optional[str]</code></td>
5235
<td><code>None</code></td>
5236
<td>ISO format end time</td>
5237
</tr>
5238
<tr>
5239
<td><code>duration_seconds</code></td>
5240
<td><code>Optional[float]</code></td>
5241
<td><code>None</code></td>
5242
<td>Total processing time</td>
5243
</tr>
5244
<tr>
5245
<td><code>frames_extracted</code></td>
5246
<td><code>int</code></td>
5247
<td><code>0</code></td>
5248
<td>Number of frames extracted from video</td>
5249
</tr>
5250
<tr>
5251
<td><code>people_frames_filtered</code></td>
5252
<td><code>int</code></td>
5253
<td><code>0</code></td>
5254
<td>Frames filtered out (contained people/webcam)</td>
5255
</tr>
5256
<tr>
5257
<td><code>diagrams_detected</code></td>
5258
<td><code>int</code></td>
5259
<td><code>0</code></td>
5260
<td>Number of diagrams detected</td>
5261
</tr>
5262
<tr>
5263
<td><code>screen_captures</code></td>
5264
<td><code>int</code></td>
5265
<td><code>0</code></td>
5266
<td>Number of screen captures saved</td>
5267
</tr>
5268
<tr>
5269
<td><code>transcript_duration_seconds</code></td>
5270
<td><code>Optional[float]</code></td>
5271
<td><code>None</code></td>
5272
<td>Duration of transcribed audio</td>
5273
</tr>
5274
<tr>
5275
<td><code>models_used</code></td>
5276
<td><code>Dict[str, str]</code></td>
5277
<td><code>{}</code></td>
5278
<td>Map of task to model used (e.g., <code>{"vision": "gpt-4o"}</code>)</td>
5279
</tr>
5280
</tbody>
5281
</table>
5282
<h3 id="videometadata">VideoMetadata<a class="headerlink" href="#videometadata" title="Permanent link">&para;</a></h3>
5283
<p>Metadata about the source video file.</p>
5284
<table>
5285
<thead>
5286
<tr>
5287
<th>Field</th>
5288
<th>Type</th>
5289
<th>Default</th>
5290
<th>Description</th>
5291
</tr>
5292
</thead>
5293
<tbody>
5294
<tr>
5295
<td><code>title</code></td>
5296
<td><code>str</code></td>
5297
<td><em>required</em></td>
5298
<td>Video title</td>
5299
</tr>
5300
<tr>
5301
<td><code>source_path</code></td>
5302
<td><code>Optional[str]</code></td>
5303
<td><code>None</code></td>
5304
<td>Original video file path</td>
5305
</tr>
5306
<tr>
5307
<td><code>duration_seconds</code></td>
5308
<td><code>Optional[float]</code></td>
5309
<td><code>None</code></td>
5310
<td>Video duration in seconds</td>
5311
</tr>
5312
<tr>
5313
<td><code>resolution</code></td>
5314
<td><code>Optional[str]</code></td>
5315
<td><code>None</code></td>
5316
<td>Video resolution (e.g., <code>"1920x1080"</code>)</td>
5317
</tr>
5318
<tr>
5319
<td><code>processed_at</code></td>
5320
<td><code>str</code></td>
5321
<td><em>auto</em></td>
5322
<td>ISO format processing timestamp</td>
5323
</tr>
5324
</tbody>
5325
</table>
5326
<hr />
5327
<h2 id="manifest-models">Manifest Models<a class="headerlink" href="#manifest-models" title="Permanent link">&para;</a></h2>
5328
<h3 id="videomanifest">VideoManifest<a class="headerlink" href="#videomanifest" title="Permanent link">&para;</a></h3>
5329
<p>The single source of truth for a video processing run. Contains all output paths, inline structured data, and processing statistics.</p>
5330
<table>
5331
<thead>
5332
<tr>
5333
<th>Field</th>
5334
<th>Type</th>
5335
<th>Default</th>
5336
<th>Description</th>
5337
</tr>
5338
</thead>
5339
<tbody>
5340
<tr>
5341
<td><code>version</code></td>
5342
<td><code>str</code></td>
5343
<td><code>"1.0"</code></td>
5344
<td>Manifest schema version</td>
5345
</tr>
5346
<tr>
5347
<td><code>video</code></td>
5348
<td><code>VideoMetadata</code></td>
5349
<td><em>required</em></td>
5350
<td>Source video metadata</td>
5351
</tr>
5352
<tr>
5353
<td><code>stats</code></td>
5354
<td><code>ProcessingStats</code></td>
5355
<td><em>default</em></td>
5356
<td>Processing statistics</td>
5357
</tr>
5358
<tr>
5359
<td><code>transcript_json</code></td>
5360
<td><code>Optional[str]</code></td>
5361
<td><code>None</code></td>
5362
<td>Relative path to transcript JSON</td>
5363
</tr>
5364
<tr>
5365
<td><code>transcript_txt</code></td>
5366
<td><code>Optional[str]</code></td>
5367
<td><code>None</code></td>
5368
<td>Relative path to transcript text</td>
5369
</tr>
5370
<tr>
5371
<td><code>transcript_srt</code></td>
5372
<td><code>Optional[str]</code></td>
5373
<td><code>None</code></td>
5374
<td>Relative path to SRT subtitles</td>
5375
</tr>
5376
<tr>
5377
<td><code>analysis_md</code></td>
5378
<td><code>Optional[str]</code></td>
5379
<td><code>None</code></td>
5380
<td>Relative path to analysis Markdown</td>
5381
</tr>
5382
<tr>
5383
<td><code>analysis_html</code></td>
5384
<td><code>Optional[str]</code></td>
5385
<td><code>None</code></td>
5386
<td>Relative path to analysis HTML</td>
5387
</tr>
5388
<tr>
5389
<td><code>analysis_pdf</code></td>
5390
<td><code>Optional[str]</code></td>
5391
<td><code>None</code></td>
5392
<td>Relative path to analysis PDF</td>
5393
</tr>
5394
<tr>
5395
<td><code>knowledge_graph_json</code></td>
5396
<td><code>Optional[str]</code></td>
5397
<td><code>None</code></td>
5398
<td>Relative path to knowledge graph JSON</td>
5399
</tr>
5400
<tr>
5401
<td><code>knowledge_graph_db</code></td>
5402
<td><code>Optional[str]</code></td>
5403
<td><code>None</code></td>
5404
<td>Relative path to knowledge graph DB</td>
5405
</tr>
5406
<tr>
5407
<td><code>key_points_json</code></td>
5408
<td><code>Optional[str]</code></td>
5409
<td><code>None</code></td>
5410
<td>Relative path to key points JSON</td>
5411
</tr>
5412
<tr>
5413
<td><code>action_items_json</code></td>
5414
<td><code>Optional[str]</code></td>
5415
<td><code>None</code></td>
5416
<td>Relative path to action items JSON</td>
5417
</tr>
5418
<tr>
5419
<td><code>key_points</code></td>
5420
<td><code>List[KeyPoint]</code></td>
5421
<td><code>[]</code></td>
5422
<td>Inline key points data</td>
5423
</tr>
5424
<tr>
5425
<td><code>action_items</code></td>
5426
<td><code>List[ActionItem]</code></td>
5427
<td><code>[]</code></td>
5428
<td>Inline action items data</td>
5429
</tr>
5430
<tr>
5431
<td><code>diagrams</code></td>
5432
<td><code>List[DiagramResult]</code></td>
5433
<td><code>[]</code></td>
5434
<td>Inline diagram results</td>
5435
</tr>
5436
<tr>
5437
<td><code>screen_captures</code></td>
5438
<td><code>List[ScreenCapture]</code></td>
5439
<td><code>[]</code></td>
5440
<td>Inline screen captures</td>
5441
</tr>
5442
<tr>
5443
<td><code>frame_paths</code></td>
5444
<td><code>List[str]</code></td>
5445
<td><code>[]</code></td>
5446
<td>Relative paths to extracted frames</td>
5447
</tr>
5448
</tbody>
5449
</table>
5450
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.models</span><span class="w"> </span><span class="kn">import</span> <span class="n">VideoManifest</span><span class="p">,</span> <span class="n">VideoMetadata</span>
5451
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a>
5452
<a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a><span class="n">manifest</span> <span class="o">=</span> <span class="n">VideoManifest</span><span class="p">(</span>
5453
<a id="__codelineno-11-4" name="__codelineno-11-4" href="#__codelineno-11-4"></a> <span class="n">video</span><span class="o">=</span><span class="n">VideoMetadata</span><span class="p">(</span><span class="n">title</span><span class="o">=</span><span class="s2">&quot;Sprint Planning&quot;</span><span class="p">),</span>
5454
<a id="__codelineno-11-5" name="__codelineno-11-5" href="#__codelineno-11-5"></a> <span class="n">key_points</span><span class="o">=</span><span class="p">[</span><span class="o">...</span><span class="p">],</span>
5455
<a id="__codelineno-11-6" name="__codelineno-11-6" href="#__codelineno-11-6"></a> <span class="n">action_items</span><span class="o">=</span><span class="p">[</span><span class="o">...</span><span class="p">],</span>
5456
<a id="__codelineno-11-7" name="__codelineno-11-7" href="#__codelineno-11-7"></a> <span class="n">diagrams</span><span class="o">=</span><span class="p">[</span><span class="o">...</span><span class="p">],</span>
5457
<a id="__codelineno-11-8" name="__codelineno-11-8" href="#__codelineno-11-8"></a><span class="p">)</span>
5458
<a id="__codelineno-11-9" name="__codelineno-11-9" href="#__codelineno-11-9"></a>
5459
<a id="__codelineno-11-10" name="__codelineno-11-10" href="#__codelineno-11-10"></a><span class="c1"># Serialize to JSON</span>
5460
<a id="__codelineno-11-11" name="__codelineno-11-11" href="#__codelineno-11-11"></a><span class="n">manifest</span><span class="o">.</span><span class="n">model_dump_json</span><span class="p">(</span><span class="n">indent</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
5461
<a id="__codelineno-11-12" name="__codelineno-11-12" href="#__codelineno-11-12"></a>
5462
<a id="__codelineno-11-13" name="__codelineno-11-13" href="#__codelineno-11-13"></a><span class="c1"># Load from file</span>
5463
<a id="__codelineno-11-14" name="__codelineno-11-14" href="#__codelineno-11-14"></a><span class="n">loaded</span> <span class="o">=</span> <span class="n">VideoManifest</span><span class="o">.</span><span class="n">model_validate_json</span><span class="p">(</span><span class="n">Path</span><span class="p">(</span><span class="s2">&quot;manifest.json&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">read_text</span><span class="p">())</span>
5464
</code></pre></div>
5465
<h3 id="batchvideoentry">BatchVideoEntry<a class="headerlink" href="#batchvideoentry" title="Permanent link">&para;</a></h3>
5466
<p>Summary of a single video within a batch processing run.</p>
5467
<table>
5468
<thead>
5469
<tr>
5470
<th>Field</th>
5471
<th>Type</th>
5472
<th>Default</th>
5473
<th>Description</th>
5474
</tr>
5475
</thead>
5476
<tbody>
5477
<tr>
5478
<td><code>video_name</code></td>
5479
<td><code>str</code></td>
5480
<td><em>required</em></td>
5481
<td>Video file name</td>
5482
</tr>
5483
<tr>
5484
<td><code>manifest_path</code></td>
5485
<td><code>str</code></td>
5486
<td><em>required</em></td>
5487
<td>Relative path to the video's manifest file</td>
5488
</tr>
5489
<tr>
5490
<td><code>status</code></td>
5491
<td><code>str</code></td>
5492
<td><code>"pending"</code></td>
5493
<td>Processing status: <code>"pending"</code>, <code>"completed"</code>, <code>"failed"</code></td>
5494
</tr>
5495
<tr>
5496
<td><code>error</code></td>
5497
<td><code>Optional[str]</code></td>
5498
<td><code>None</code></td>
5499
<td>Error message if processing failed</td>
5500
</tr>
5501
<tr>
5502
<td><code>diagrams_count</code></td>
5503
<td><code>int</code></td>
5504
<td><code>0</code></td>
5505
<td>Number of diagrams detected</td>
5506
</tr>
5507
<tr>
5508
<td><code>action_items_count</code></td>
5509
<td><code>int</code></td>
5510
<td><code>0</code></td>
5511
<td>Number of action items extracted</td>
5512
</tr>
5513
<tr>
5514
<td><code>key_points_count</code></td>
5515
<td><code>int</code></td>
5516
<td><code>0</code></td>
5517
<td>Number of key points extracted</td>
5518
</tr>
5519
<tr>
5520
<td><code>duration_seconds</code></td>
5521
<td><code>Optional[float]</code></td>
5522
<td><code>None</code></td>
5523
<td>Processing duration</td>
5524
</tr>
5525
</tbody>
5526
</table>
5527
<h3 id="batchmanifest">BatchManifest<a class="headerlink" href="#batchmanifest" title="Permanent link">&para;</a></h3>
5528
<p>Manifest for a batch processing run across multiple videos.</p>
5529
<table>
5530
<thead>
5531
<tr>
5532
<th>Field</th>
5533
<th>Type</th>
5534
<th>Default</th>
5535
<th>Description</th>
5536
</tr>
5537
</thead>
5538
<tbody>
5539
<tr>
5540
<td><code>version</code></td>
5541
<td><code>str</code></td>
5542
<td><code>"1.0"</code></td>
5543
<td>Manifest schema version</td>
5544
</tr>
5545
<tr>
5546
<td><code>title</code></td>
5547
<td><code>str</code></td>
5548
<td><code>"Batch Processing Results"</code></td>
5549
<td>Batch title</td>
5550
</tr>
5551
<tr>
5552
<td><code>processed_at</code></td>
5553
<td><code>str</code></td>
5554
<td><em>auto</em></td>
5555
<td>ISO format timestamp</td>
5556
</tr>
5557
<tr>
5558
<td><code>stats</code></td>
5559
<td><code>ProcessingStats</code></td>
5560
<td><em>default</em></td>
5561
<td>Aggregated processing statistics</td>
5562
</tr>
5563
<tr>
5564
<td><code>videos</code></td>
5565
<td><code>List[BatchVideoEntry]</code></td>
5566
<td><code>[]</code></td>
5567
<td>Per-video summaries</td>
5568
</tr>
5569
<tr>
5570
<td><code>total_videos</code></td>
5571
<td><code>int</code></td>
5572
<td><code>0</code></td>
5573
<td>Total number of videos in batch</td>
5574
</tr>
5575
<tr>
5576
<td><code>completed_videos</code></td>
5577
<td><code>int</code></td>
5578
<td><code>0</code></td>
5579
<td>Successfully processed videos</td>
5580
</tr>
5581
<tr>
5582
<td><code>failed_videos</code></td>
5583
<td><code>int</code></td>
5584
<td><code>0</code></td>
5585
<td>Videos that failed processing</td>
5586
</tr>
5587
<tr>
5588
<td><code>total_diagrams</code></td>
5589
<td><code>int</code></td>
5590
<td><code>0</code></td>
5591
<td>Total diagrams across all videos</td>
5592
</tr>
5593
<tr>
5594
<td><code>total_action_items</code></td>
5595
<td><code>int</code></td>
5596
<td><code>0</code></td>
5597
<td>Total action items across all videos</td>
5598
</tr>
5599
<tr>
5600
<td><code>total_key_points</code></td>
5601
<td><code>int</code></td>
5602
<td><code>0</code></td>
5603
<td>Total key points across all videos</td>
5604
</tr>
5605
<tr>
5606
<td><code>batch_summary_md</code></td>
5607
<td><code>Optional[str]</code></td>
5608
<td><code>None</code></td>
5609
<td>Relative path to batch summary Markdown</td>
5610
</tr>
5611
<tr>
5612
<td><code>merged_knowledge_graph_json</code></td>
5613
<td><code>Optional[str]</code></td>
5614
<td><code>None</code></td>
5615
<td>Relative path to merged KG JSON</td>
5616
</tr>
5617
<tr>
5618
<td><code>merged_knowledge_graph_db</code></td>
5619
<td><code>Optional[str]</code></td>
5620
<td><code>None</code></td>
5621
<td>Relative path to merged KG database</td>
5622
</tr>
5623
</tbody>
5624
</table>
5625
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.models</span><span class="w"> </span><span class="kn">import</span> <span class="n">BatchManifest</span>
5626
<a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a>
5627
<a id="__codelineno-12-3" name="__codelineno-12-3" href="#__codelineno-12-3"></a><span class="n">batch</span> <span class="o">=</span> <span class="n">BatchManifest</span><span class="p">(</span>
5628
<a id="__codelineno-12-4" name="__codelineno-12-4" href="#__codelineno-12-4"></a> <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Weekly Recordings&quot;</span><span class="p">,</span>
5629
<a id="__codelineno-12-5" name="__codelineno-12-5" href="#__codelineno-12-5"></a> <span class="n">total_videos</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span>
5630
<a id="__codelineno-12-6" name="__codelineno-12-6" href="#__codelineno-12-6"></a> <span class="n">completed_videos</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span>
5631
<a id="__codelineno-12-7" name="__codelineno-12-7" href="#__codelineno-12-7"></a> <span class="n">failed_videos</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
5632
<a id="__codelineno-12-8" name="__codelineno-12-8" href="#__codelineno-12-8"></a><span class="p">)</span>
5633
</code></pre></div>
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
</article>
5648
</div>
5649
5650
5651
<script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
5652
5653
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
5654
</div>
5655
5656
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
5657
5658
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
5659
Back to top
5660
</button>
5661
5662
</main>
5663
5664
<footer class="md-footer">
5665
5666
<div class="md-footer-meta md-typeset">
5667
<div class="md-footer-meta__inner md-grid">
5668
<div class="md-copyright">
5669
5670
<div class="md-copyright__highlight">
5671
Copyright &copy; 2026 CONFLICT LLC
5672
</div>
5673
5674
5675
Made with
5676
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
5677
Material for MkDocs
5678
</a>
5679
5680
</div>
5681
5682
5683
<div class="md-social">
5684
5685
5686
5687
5688
5689
5690
5691
5692
<a href="https://github.com/ConflictHQ/PlanOpticon" target="_blank" rel="noopener" title="github.com" class="md-social__link">
5693
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
5694
</a>
5695
5696
</div>
5697
5698
</div>
5699
</div>
5700
</footer>
5701
5702
</div>
5703
<div class="md-dialog" data-md-component="dialog">
5704
<div class="md-dialog__inner md-typeset"></div>
5705
</div>
5706
5707
5708
5709
5710
5711
<script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.instant", "navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.copy", "content.tabs.link", "header.autohide"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
5712
5713
5714
<script src="../../assets/javascripts/bundle.79ae519e.min.js"></script>
5715
5716
5717
</body>
5718
</html>

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button