@dsh-libing/knowledge-base 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +80 -0
  3. package/cordis.patch.yml +3 -0
  4. package/icon.svg +6 -0
  5. package/lib/chunks.d.ts +8 -0
  6. package/lib/chunks.js +197 -0
  7. package/lib/client-types/client/BrowsePanel.d.ts +13 -0
  8. package/lib/client-types/client/Icon.d.ts +4 -0
  9. package/lib/client-types/client/ImageReview.d.ts +20 -0
  10. package/lib/client-types/client/ImportPanel.d.ts +19 -0
  11. package/lib/client-types/client/JobsPanel.d.ts +6 -0
  12. package/lib/client-types/client/KnowledgePage.d.ts +7 -0
  13. package/lib/client-types/client/Metadata.d.ts +10 -0
  14. package/lib/client-types/client/QualityReport.d.ts +6 -0
  15. package/lib/client-types/client/SettingsPanel.d.ts +6 -0
  16. package/lib/client-types/client/SourceText.d.ts +3 -0
  17. package/lib/client-types/client/UsageGuide.d.ts +8 -0
  18. package/lib/client-types/client/api.d.ts +953 -0
  19. package/lib/client-types/client/common.d.ts +11 -0
  20. package/lib/client-types/client/index.d.ts +14 -0
  21. package/lib/client-types/client/locales.d.ts +284 -0
  22. package/lib/client-types/client/searchCommand.d.ts +2 -0
  23. package/lib/client-types/client/useKnowledge.d.ts +251 -0
  24. package/lib/client-types/contract.d.ts +1197 -0
  25. package/lib/client-types/data.d.ts +1972 -0
  26. package/lib/client-types/settings.d.ts +33 -0
  27. package/lib/client-types/shared.d.ts +95 -0
  28. package/lib/client.js +305 -0
  29. package/lib/config.d.ts +13 -0
  30. package/lib/config.js +13 -0
  31. package/lib/contract.d.ts +1197 -0
  32. package/lib/contract.js +18 -0
  33. package/lib/data.d.ts +1972 -0
  34. package/lib/data.js +80 -0
  35. package/lib/document/convert.d.ts +5 -0
  36. package/lib/document/convert.js +325 -0
  37. package/lib/document/pdf-data.d.ts +99 -0
  38. package/lib/document/pdf-data.js +9 -0
  39. package/lib/document/pdf-layout.d.ts +24 -0
  40. package/lib/document/pdf-layout.js +234 -0
  41. package/lib/document/pdf-session.d.ts +39 -0
  42. package/lib/document/pdf-session.js +127 -0
  43. package/lib/document/pdf-vision.d.ts +26 -0
  44. package/lib/document/pdf-vision.js +115 -0
  45. package/lib/document/pdf-worker.d.ts +1 -0
  46. package/lib/document/pdf-worker.js +210 -0
  47. package/lib/document/pdf.d.ts +3 -0
  48. package/lib/document/pdf.js +218 -0
  49. package/lib/document/zip.d.ts +3 -0
  50. package/lib/document/zip.js +59 -0
  51. package/lib/figures/process.d.ts +187 -0
  52. package/lib/figures/process.js +159 -0
  53. package/lib/figures/prompts.d.ts +7 -0
  54. package/lib/figures/prompts.js +27 -0
  55. package/lib/index.d.ts +8 -0
  56. package/lib/index.js +42 -0
  57. package/lib/indexes.d.ts +38 -0
  58. package/lib/indexes.js +101 -0
  59. package/lib/jobs.d.ts +2806 -0
  60. package/lib/jobs.js +435 -0
  61. package/lib/models.d.ts +24 -0
  62. package/lib/models.js +120 -0
  63. package/lib/retrieval.d.ts +209 -0
  64. package/lib/retrieval.js +173 -0
  65. package/lib/routes.d.ts +3 -0
  66. package/lib/routes.js +152 -0
  67. package/lib/runtime.d.ts +48 -0
  68. package/lib/runtime.js +41 -0
  69. package/lib/settings.d.ts +33 -0
  70. package/lib/settings.js +19 -0
  71. package/lib/shared.d.ts +95 -0
  72. package/lib/shared.js +17 -0
  73. package/lib/skills.d.ts +3 -0
  74. package/lib/skills.js +21 -0
  75. package/lib/store.d.ts +409 -0
  76. package/lib/store.js +328 -0
  77. package/lib/tools.d.ts +3 -0
  78. package/lib/tools.js +72 -0
  79. package/lib/util.d.ts +25 -0
  80. package/lib/util.js +89 -0
  81. package/package.json +125 -0
  82. package/skills/libing-kb-build/SKILL.md +10 -0
  83. package/skills/libing-kb-search/SKILL.md +10 -0
  84. package/skills/libing-knowledge-base/SKILL.md +15 -0
  85. package/skills/libing-knowledge-base/references/build.md +23 -0
  86. package/skills/libing-knowledge-base/references/search.md +21 -0
package/lib/jobs.d.ts ADDED
@@ -0,0 +1,2806 @@
1
+ import type { Job, JobRecord, JobState, Overlay, ModelRoute } from './data.ts';
2
+ import type { Store } from './store.ts';
3
+ import type { Models } from './models.ts';
4
+ import type { Settings } from './config.ts';
5
+ import type { BuildArgs, JobOptions } from './shared.ts';
6
+ export declare const ACTIVE: ReadonlySet<JobState>;
7
+ export type Execution = {
8
+ sessionId?: string | undefined;
9
+ route?: ModelRoute | undefined;
10
+ };
11
+ export type ReviewOptions = {
12
+ visionProvider?: string | undefined;
13
+ visionModel?: string | undefined;
14
+ restore?: boolean | undefined;
15
+ };
16
+ export declare class Jobs {
17
+ readonly store: Store;
18
+ readonly models: Models;
19
+ readonly config: Settings;
20
+ readonly jobs: Map<string, Job>;
21
+ readonly controllers: Map<string, AbortController>;
22
+ readonly work: Map<string, Promise<void>>;
23
+ private stopped;
24
+ private mutationTail;
25
+ private releaseOwner;
26
+ constructor(store: Store, models: Models, config: Settings);
27
+ mutate<T>(fn: () => Promise<T>): Promise<T>;
28
+ init(): Promise<void>;
29
+ attach(record: JobRecord, directory: string): Job;
30
+ public(job: Job): {
31
+ outputPath: string | null;
32
+ jobId: string;
33
+ kbId: string;
34
+ docId: string;
35
+ title: string;
36
+ sourceVersion: string;
37
+ filename: string;
38
+ sourceFormat: "docx" | "pdf";
39
+ sourceOriginalHash: string;
40
+ buildKey: string;
41
+ config: {
42
+ dataRoot: string;
43
+ chunkTargetChars: number;
44
+ evidenceMaxChars: number;
45
+ catalogMaxChars: number;
46
+ candidateLimit: number;
47
+ maxInputBytes: number;
48
+ maxUncompressedBytes: number;
49
+ maxArchiveEntries: number;
50
+ modelTimeoutMs: number;
51
+ modelAttempts: number;
52
+ visionConcurrency: number;
53
+ maxModelCalls: number;
54
+ maxModelTokens: number;
55
+ visionMaxEdge: number;
56
+ visionTileSize: number;
57
+ visionMaxTiles: number;
58
+ modelMaxOutputTokens: number;
59
+ summaryMaxChars: number;
60
+ figureMaxChars: number;
61
+ pdfMaxPages: number;
62
+ pdfMaxPagePixels: number;
63
+ pdfPageTimeoutMs: number;
64
+ libreOfficePath: string;
65
+ visionProvider: string;
66
+ visionModel: string;
67
+ summaryProvider: string;
68
+ summaryModel: string;
69
+ skipImages: boolean;
70
+ acceptPartial: boolean;
71
+ };
72
+ routes: {
73
+ vision: {
74
+ provider: string;
75
+ model: string;
76
+ } | null;
77
+ summary: {
78
+ provider: string;
79
+ model: string;
80
+ } | null;
81
+ };
82
+ schemaHash: string;
83
+ sessionId: string | null;
84
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
85
+ createdAt: string;
86
+ progress: {
87
+ totalPages?: number | undefined;
88
+ parsedPages?: number | undefined;
89
+ ocrPages?: number | undefined;
90
+ tables?: number | undefined;
91
+ blocks?: number | undefined;
92
+ currentPage?: number | undefined;
93
+ totalFigures?: number | undefined;
94
+ completedFigures?: number | undefined;
95
+ inflightFigures?: {
96
+ occurrenceId: string;
97
+ caption: string;
98
+ }[] | undefined;
99
+ totalChunks?: number | undefined;
100
+ indexedChunks?: number | undefined;
101
+ currentChunk?: {
102
+ title: string;
103
+ headingPath: string[];
104
+ chunkId: string;
105
+ } | undefined;
106
+ };
107
+ usage: {
108
+ calls: number;
109
+ tokens: number;
110
+ reportedCalls: number;
111
+ records: import("zod").JSONType[];
112
+ };
113
+ failures: {
114
+ at: string;
115
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
116
+ error: string;
117
+ }[];
118
+ sourceHash?: string | undefined;
119
+ updatedAt?: string | undefined;
120
+ events?: {
121
+ at: string;
122
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
123
+ }[] | undefined;
124
+ figureRefresh?: {
125
+ occurrenceId: string;
126
+ token: string;
127
+ } | null | undefined;
128
+ visionCapability?: string | undefined;
129
+ parserVersion?: string | undefined;
130
+ pageStart?: number | undefined;
131
+ pageEnd?: number | undefined;
132
+ pdf?: {
133
+ pageCount: number;
134
+ selectedPages: {
135
+ start: number;
136
+ end: number;
137
+ count: number;
138
+ total: number;
139
+ partial: boolean;
140
+ };
141
+ outlineCount?: number | undefined;
142
+ } | undefined;
143
+ revision?: string | undefined;
144
+ report?: {
145
+ revision: string;
146
+ sourceHash: string;
147
+ issues: {
148
+ code: string;
149
+ message: string;
150
+ blocking: boolean;
151
+ page?: number | undefined;
152
+ kind?: string | undefined;
153
+ snippet?: string | undefined;
154
+ reason?: string | undefined;
155
+ }[];
156
+ documents: number;
157
+ blocks: number;
158
+ figures: number;
159
+ ignoredFigures: number;
160
+ unreviewedFigures: number;
161
+ chunks: number;
162
+ withinTarget: number;
163
+ oversized: {
164
+ chunkId: string;
165
+ chars: number;
166
+ reason: string;
167
+ }[];
168
+ usage: {
169
+ calls: number;
170
+ tokens: number;
171
+ reportedCalls: number;
172
+ records: import("zod").JSONType[];
173
+ };
174
+ targetChars: number;
175
+ pdf?: {
176
+ pageCount: number;
177
+ selectedPages: {
178
+ start: number;
179
+ end: number;
180
+ count: number;
181
+ total: number;
182
+ partial: boolean;
183
+ };
184
+ outlineCount: number;
185
+ matchedBookmarks: number;
186
+ ocrPages: number;
187
+ pages: {
188
+ page: number;
189
+ status: "failed" | "needs-review" | "navigation" | "parsed";
190
+ ocr: boolean;
191
+ tables: number;
192
+ figures: number;
193
+ headings: {
194
+ text: string;
195
+ level: number;
196
+ basis?: string | undefined;
197
+ }[];
198
+ width?: number | undefined;
199
+ height?: number | undefined;
200
+ pageLabel?: string | null | undefined;
201
+ spanCount?: number | undefined;
202
+ artifactCount?: number | undefined;
203
+ excluded?: {
204
+ kind: string;
205
+ bbox: [number, number, number, number] | null;
206
+ text?: string | undefined;
207
+ }[] | undefined;
208
+ previewAssetId?: string | null | undefined;
209
+ error?: string | undefined;
210
+ }[];
211
+ } | undefined;
212
+ } | undefined;
213
+ error?: string | null | undefined;
214
+ recoveredAt?: string | undefined;
215
+ finishedAt?: string | undefined;
216
+ cancelRequested?: boolean | undefined;
217
+ };
218
+ list(kbId?: string): {
219
+ outputPath: string | null;
220
+ jobId: string;
221
+ kbId: string;
222
+ docId: string;
223
+ title: string;
224
+ sourceVersion: string;
225
+ filename: string;
226
+ sourceFormat: "docx" | "pdf";
227
+ sourceOriginalHash: string;
228
+ buildKey: string;
229
+ config: {
230
+ dataRoot: string;
231
+ chunkTargetChars: number;
232
+ evidenceMaxChars: number;
233
+ catalogMaxChars: number;
234
+ candidateLimit: number;
235
+ maxInputBytes: number;
236
+ maxUncompressedBytes: number;
237
+ maxArchiveEntries: number;
238
+ modelTimeoutMs: number;
239
+ modelAttempts: number;
240
+ visionConcurrency: number;
241
+ maxModelCalls: number;
242
+ maxModelTokens: number;
243
+ visionMaxEdge: number;
244
+ visionTileSize: number;
245
+ visionMaxTiles: number;
246
+ modelMaxOutputTokens: number;
247
+ summaryMaxChars: number;
248
+ figureMaxChars: number;
249
+ pdfMaxPages: number;
250
+ pdfMaxPagePixels: number;
251
+ pdfPageTimeoutMs: number;
252
+ libreOfficePath: string;
253
+ visionProvider: string;
254
+ visionModel: string;
255
+ summaryProvider: string;
256
+ summaryModel: string;
257
+ skipImages: boolean;
258
+ acceptPartial: boolean;
259
+ };
260
+ routes: {
261
+ vision: {
262
+ provider: string;
263
+ model: string;
264
+ } | null;
265
+ summary: {
266
+ provider: string;
267
+ model: string;
268
+ } | null;
269
+ };
270
+ schemaHash: string;
271
+ sessionId: string | null;
272
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
273
+ createdAt: string;
274
+ progress: {
275
+ totalPages?: number | undefined;
276
+ parsedPages?: number | undefined;
277
+ ocrPages?: number | undefined;
278
+ tables?: number | undefined;
279
+ blocks?: number | undefined;
280
+ currentPage?: number | undefined;
281
+ totalFigures?: number | undefined;
282
+ completedFigures?: number | undefined;
283
+ inflightFigures?: {
284
+ occurrenceId: string;
285
+ caption: string;
286
+ }[] | undefined;
287
+ totalChunks?: number | undefined;
288
+ indexedChunks?: number | undefined;
289
+ currentChunk?: {
290
+ title: string;
291
+ headingPath: string[];
292
+ chunkId: string;
293
+ } | undefined;
294
+ };
295
+ usage: {
296
+ calls: number;
297
+ tokens: number;
298
+ reportedCalls: number;
299
+ records: import("zod").JSONType[];
300
+ };
301
+ failures: {
302
+ at: string;
303
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
304
+ error: string;
305
+ }[];
306
+ sourceHash?: string | undefined;
307
+ updatedAt?: string | undefined;
308
+ events?: {
309
+ at: string;
310
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
311
+ }[] | undefined;
312
+ figureRefresh?: {
313
+ occurrenceId: string;
314
+ token: string;
315
+ } | null | undefined;
316
+ visionCapability?: string | undefined;
317
+ parserVersion?: string | undefined;
318
+ pageStart?: number | undefined;
319
+ pageEnd?: number | undefined;
320
+ pdf?: {
321
+ pageCount: number;
322
+ selectedPages: {
323
+ start: number;
324
+ end: number;
325
+ count: number;
326
+ total: number;
327
+ partial: boolean;
328
+ };
329
+ outlineCount?: number | undefined;
330
+ } | undefined;
331
+ revision?: string | undefined;
332
+ report?: {
333
+ revision: string;
334
+ sourceHash: string;
335
+ issues: {
336
+ code: string;
337
+ message: string;
338
+ blocking: boolean;
339
+ page?: number | undefined;
340
+ kind?: string | undefined;
341
+ snippet?: string | undefined;
342
+ reason?: string | undefined;
343
+ }[];
344
+ documents: number;
345
+ blocks: number;
346
+ figures: number;
347
+ ignoredFigures: number;
348
+ unreviewedFigures: number;
349
+ chunks: number;
350
+ withinTarget: number;
351
+ oversized: {
352
+ chunkId: string;
353
+ chars: number;
354
+ reason: string;
355
+ }[];
356
+ usage: {
357
+ calls: number;
358
+ tokens: number;
359
+ reportedCalls: number;
360
+ records: import("zod").JSONType[];
361
+ };
362
+ targetChars: number;
363
+ pdf?: {
364
+ pageCount: number;
365
+ selectedPages: {
366
+ start: number;
367
+ end: number;
368
+ count: number;
369
+ total: number;
370
+ partial: boolean;
371
+ };
372
+ outlineCount: number;
373
+ matchedBookmarks: number;
374
+ ocrPages: number;
375
+ pages: {
376
+ page: number;
377
+ status: "failed" | "needs-review" | "navigation" | "parsed";
378
+ ocr: boolean;
379
+ tables: number;
380
+ figures: number;
381
+ headings: {
382
+ text: string;
383
+ level: number;
384
+ basis?: string | undefined;
385
+ }[];
386
+ width?: number | undefined;
387
+ height?: number | undefined;
388
+ pageLabel?: string | null | undefined;
389
+ spanCount?: number | undefined;
390
+ artifactCount?: number | undefined;
391
+ excluded?: {
392
+ kind: string;
393
+ bbox: [number, number, number, number] | null;
394
+ text?: string | undefined;
395
+ }[] | undefined;
396
+ previewAssetId?: string | null | undefined;
397
+ error?: string | undefined;
398
+ }[];
399
+ } | undefined;
400
+ } | undefined;
401
+ error?: string | null | undefined;
402
+ recoveredAt?: string | undefined;
403
+ finishedAt?: string | undefined;
404
+ cancelRequested?: boolean | undefined;
405
+ }[];
406
+ get(jobId: string): Job;
407
+ submit(args: BuildArgs, execution?: Execution): Promise<{
408
+ outputPath: string | null;
409
+ jobId: string;
410
+ kbId: string;
411
+ docId: string;
412
+ title: string;
413
+ sourceVersion: string;
414
+ filename: string;
415
+ sourceFormat: "docx" | "pdf";
416
+ sourceOriginalHash: string;
417
+ buildKey: string;
418
+ config: {
419
+ dataRoot: string;
420
+ chunkTargetChars: number;
421
+ evidenceMaxChars: number;
422
+ catalogMaxChars: number;
423
+ candidateLimit: number;
424
+ maxInputBytes: number;
425
+ maxUncompressedBytes: number;
426
+ maxArchiveEntries: number;
427
+ modelTimeoutMs: number;
428
+ modelAttempts: number;
429
+ visionConcurrency: number;
430
+ maxModelCalls: number;
431
+ maxModelTokens: number;
432
+ visionMaxEdge: number;
433
+ visionTileSize: number;
434
+ visionMaxTiles: number;
435
+ modelMaxOutputTokens: number;
436
+ summaryMaxChars: number;
437
+ figureMaxChars: number;
438
+ pdfMaxPages: number;
439
+ pdfMaxPagePixels: number;
440
+ pdfPageTimeoutMs: number;
441
+ libreOfficePath: string;
442
+ visionProvider: string;
443
+ visionModel: string;
444
+ summaryProvider: string;
445
+ summaryModel: string;
446
+ skipImages: boolean;
447
+ acceptPartial: boolean;
448
+ };
449
+ routes: {
450
+ vision: {
451
+ provider: string;
452
+ model: string;
453
+ } | null;
454
+ summary: {
455
+ provider: string;
456
+ model: string;
457
+ } | null;
458
+ };
459
+ schemaHash: string;
460
+ sessionId: string | null;
461
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
462
+ createdAt: string;
463
+ progress: {
464
+ totalPages?: number | undefined;
465
+ parsedPages?: number | undefined;
466
+ ocrPages?: number | undefined;
467
+ tables?: number | undefined;
468
+ blocks?: number | undefined;
469
+ currentPage?: number | undefined;
470
+ totalFigures?: number | undefined;
471
+ completedFigures?: number | undefined;
472
+ inflightFigures?: {
473
+ occurrenceId: string;
474
+ caption: string;
475
+ }[] | undefined;
476
+ totalChunks?: number | undefined;
477
+ indexedChunks?: number | undefined;
478
+ currentChunk?: {
479
+ title: string;
480
+ headingPath: string[];
481
+ chunkId: string;
482
+ } | undefined;
483
+ };
484
+ usage: {
485
+ calls: number;
486
+ tokens: number;
487
+ reportedCalls: number;
488
+ records: import("zod").JSONType[];
489
+ };
490
+ failures: {
491
+ at: string;
492
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
493
+ error: string;
494
+ }[];
495
+ sourceHash?: string | undefined;
496
+ updatedAt?: string | undefined;
497
+ events?: {
498
+ at: string;
499
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
500
+ }[] | undefined;
501
+ figureRefresh?: {
502
+ occurrenceId: string;
503
+ token: string;
504
+ } | null | undefined;
505
+ visionCapability?: string | undefined;
506
+ parserVersion?: string | undefined;
507
+ pageStart?: number | undefined;
508
+ pageEnd?: number | undefined;
509
+ pdf?: {
510
+ pageCount: number;
511
+ selectedPages: {
512
+ start: number;
513
+ end: number;
514
+ count: number;
515
+ total: number;
516
+ partial: boolean;
517
+ };
518
+ outlineCount?: number | undefined;
519
+ } | undefined;
520
+ revision?: string | undefined;
521
+ report?: {
522
+ revision: string;
523
+ sourceHash: string;
524
+ issues: {
525
+ code: string;
526
+ message: string;
527
+ blocking: boolean;
528
+ page?: number | undefined;
529
+ kind?: string | undefined;
530
+ snippet?: string | undefined;
531
+ reason?: string | undefined;
532
+ }[];
533
+ documents: number;
534
+ blocks: number;
535
+ figures: number;
536
+ ignoredFigures: number;
537
+ unreviewedFigures: number;
538
+ chunks: number;
539
+ withinTarget: number;
540
+ oversized: {
541
+ chunkId: string;
542
+ chars: number;
543
+ reason: string;
544
+ }[];
545
+ usage: {
546
+ calls: number;
547
+ tokens: number;
548
+ reportedCalls: number;
549
+ records: import("zod").JSONType[];
550
+ };
551
+ targetChars: number;
552
+ pdf?: {
553
+ pageCount: number;
554
+ selectedPages: {
555
+ start: number;
556
+ end: number;
557
+ count: number;
558
+ total: number;
559
+ partial: boolean;
560
+ };
561
+ outlineCount: number;
562
+ matchedBookmarks: number;
563
+ ocrPages: number;
564
+ pages: {
565
+ page: number;
566
+ status: "failed" | "needs-review" | "navigation" | "parsed";
567
+ ocr: boolean;
568
+ tables: number;
569
+ figures: number;
570
+ headings: {
571
+ text: string;
572
+ level: number;
573
+ basis?: string | undefined;
574
+ }[];
575
+ width?: number | undefined;
576
+ height?: number | undefined;
577
+ pageLabel?: string | null | undefined;
578
+ spanCount?: number | undefined;
579
+ artifactCount?: number | undefined;
580
+ excluded?: {
581
+ kind: string;
582
+ bbox: [number, number, number, number] | null;
583
+ text?: string | undefined;
584
+ }[] | undefined;
585
+ previewAssetId?: string | null | undefined;
586
+ error?: string | undefined;
587
+ }[];
588
+ } | undefined;
589
+ } | undefined;
590
+ error?: string | null | undefined;
591
+ recoveredAt?: string | undefined;
592
+ finishedAt?: string | undefined;
593
+ cancelRequested?: boolean | undefined;
594
+ } | {
595
+ reused: boolean;
596
+ outputPath: string | null;
597
+ jobId: string;
598
+ kbId: string;
599
+ docId: string;
600
+ title: string;
601
+ sourceVersion: string;
602
+ filename: string;
603
+ sourceFormat: "docx" | "pdf";
604
+ sourceOriginalHash: string;
605
+ buildKey: string;
606
+ config: {
607
+ dataRoot: string;
608
+ chunkTargetChars: number;
609
+ evidenceMaxChars: number;
610
+ catalogMaxChars: number;
611
+ candidateLimit: number;
612
+ maxInputBytes: number;
613
+ maxUncompressedBytes: number;
614
+ maxArchiveEntries: number;
615
+ modelTimeoutMs: number;
616
+ modelAttempts: number;
617
+ visionConcurrency: number;
618
+ maxModelCalls: number;
619
+ maxModelTokens: number;
620
+ visionMaxEdge: number;
621
+ visionTileSize: number;
622
+ visionMaxTiles: number;
623
+ modelMaxOutputTokens: number;
624
+ summaryMaxChars: number;
625
+ figureMaxChars: number;
626
+ pdfMaxPages: number;
627
+ pdfMaxPagePixels: number;
628
+ pdfPageTimeoutMs: number;
629
+ libreOfficePath: string;
630
+ visionProvider: string;
631
+ visionModel: string;
632
+ summaryProvider: string;
633
+ summaryModel: string;
634
+ skipImages: boolean;
635
+ acceptPartial: boolean;
636
+ };
637
+ routes: {
638
+ vision: {
639
+ provider: string;
640
+ model: string;
641
+ } | null;
642
+ summary: {
643
+ provider: string;
644
+ model: string;
645
+ } | null;
646
+ };
647
+ schemaHash: string;
648
+ sessionId: string | null;
649
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
650
+ createdAt: string;
651
+ progress: {
652
+ totalPages?: number | undefined;
653
+ parsedPages?: number | undefined;
654
+ ocrPages?: number | undefined;
655
+ tables?: number | undefined;
656
+ blocks?: number | undefined;
657
+ currentPage?: number | undefined;
658
+ totalFigures?: number | undefined;
659
+ completedFigures?: number | undefined;
660
+ inflightFigures?: {
661
+ occurrenceId: string;
662
+ caption: string;
663
+ }[] | undefined;
664
+ totalChunks?: number | undefined;
665
+ indexedChunks?: number | undefined;
666
+ currentChunk?: {
667
+ title: string;
668
+ headingPath: string[];
669
+ chunkId: string;
670
+ } | undefined;
671
+ };
672
+ usage: {
673
+ calls: number;
674
+ tokens: number;
675
+ reportedCalls: number;
676
+ records: import("zod").JSONType[];
677
+ };
678
+ failures: {
679
+ at: string;
680
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
681
+ error: string;
682
+ }[];
683
+ sourceHash?: string | undefined;
684
+ updatedAt?: string | undefined;
685
+ events?: {
686
+ at: string;
687
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
688
+ }[] | undefined;
689
+ figureRefresh?: {
690
+ occurrenceId: string;
691
+ token: string;
692
+ } | null | undefined;
693
+ visionCapability?: string | undefined;
694
+ parserVersion?: string | undefined;
695
+ pageStart?: number | undefined;
696
+ pageEnd?: number | undefined;
697
+ pdf?: {
698
+ pageCount: number;
699
+ selectedPages: {
700
+ start: number;
701
+ end: number;
702
+ count: number;
703
+ total: number;
704
+ partial: boolean;
705
+ };
706
+ outlineCount?: number | undefined;
707
+ } | undefined;
708
+ revision?: string | undefined;
709
+ report?: {
710
+ revision: string;
711
+ sourceHash: string;
712
+ issues: {
713
+ code: string;
714
+ message: string;
715
+ blocking: boolean;
716
+ page?: number | undefined;
717
+ kind?: string | undefined;
718
+ snippet?: string | undefined;
719
+ reason?: string | undefined;
720
+ }[];
721
+ documents: number;
722
+ blocks: number;
723
+ figures: number;
724
+ ignoredFigures: number;
725
+ unreviewedFigures: number;
726
+ chunks: number;
727
+ withinTarget: number;
728
+ oversized: {
729
+ chunkId: string;
730
+ chars: number;
731
+ reason: string;
732
+ }[];
733
+ usage: {
734
+ calls: number;
735
+ tokens: number;
736
+ reportedCalls: number;
737
+ records: import("zod").JSONType[];
738
+ };
739
+ targetChars: number;
740
+ pdf?: {
741
+ pageCount: number;
742
+ selectedPages: {
743
+ start: number;
744
+ end: number;
745
+ count: number;
746
+ total: number;
747
+ partial: boolean;
748
+ };
749
+ outlineCount: number;
750
+ matchedBookmarks: number;
751
+ ocrPages: number;
752
+ pages: {
753
+ page: number;
754
+ status: "failed" | "needs-review" | "navigation" | "parsed";
755
+ ocr: boolean;
756
+ tables: number;
757
+ figures: number;
758
+ headings: {
759
+ text: string;
760
+ level: number;
761
+ basis?: string | undefined;
762
+ }[];
763
+ width?: number | undefined;
764
+ height?: number | undefined;
765
+ pageLabel?: string | null | undefined;
766
+ spanCount?: number | undefined;
767
+ artifactCount?: number | undefined;
768
+ excluded?: {
769
+ kind: string;
770
+ bbox: [number, number, number, number] | null;
771
+ text?: string | undefined;
772
+ }[] | undefined;
773
+ previewAssetId?: string | null | undefined;
774
+ error?: string | undefined;
775
+ }[];
776
+ } | undefined;
777
+ } | undefined;
778
+ error?: string | null | undefined;
779
+ recoveredAt?: string | undefined;
780
+ finishedAt?: string | undefined;
781
+ cancelRequested?: boolean | undefined;
782
+ }>;
783
+ submitUnlocked(args: BuildArgs, execution?: Execution): Promise<{
784
+ outputPath: string | null;
785
+ jobId: string;
786
+ kbId: string;
787
+ docId: string;
788
+ title: string;
789
+ sourceVersion: string;
790
+ filename: string;
791
+ sourceFormat: "docx" | "pdf";
792
+ sourceOriginalHash: string;
793
+ buildKey: string;
794
+ config: {
795
+ dataRoot: string;
796
+ chunkTargetChars: number;
797
+ evidenceMaxChars: number;
798
+ catalogMaxChars: number;
799
+ candidateLimit: number;
800
+ maxInputBytes: number;
801
+ maxUncompressedBytes: number;
802
+ maxArchiveEntries: number;
803
+ modelTimeoutMs: number;
804
+ modelAttempts: number;
805
+ visionConcurrency: number;
806
+ maxModelCalls: number;
807
+ maxModelTokens: number;
808
+ visionMaxEdge: number;
809
+ visionTileSize: number;
810
+ visionMaxTiles: number;
811
+ modelMaxOutputTokens: number;
812
+ summaryMaxChars: number;
813
+ figureMaxChars: number;
814
+ pdfMaxPages: number;
815
+ pdfMaxPagePixels: number;
816
+ pdfPageTimeoutMs: number;
817
+ libreOfficePath: string;
818
+ visionProvider: string;
819
+ visionModel: string;
820
+ summaryProvider: string;
821
+ summaryModel: string;
822
+ skipImages: boolean;
823
+ acceptPartial: boolean;
824
+ };
825
+ routes: {
826
+ vision: {
827
+ provider: string;
828
+ model: string;
829
+ } | null;
830
+ summary: {
831
+ provider: string;
832
+ model: string;
833
+ } | null;
834
+ };
835
+ schemaHash: string;
836
+ sessionId: string | null;
837
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
838
+ createdAt: string;
839
+ progress: {
840
+ totalPages?: number | undefined;
841
+ parsedPages?: number | undefined;
842
+ ocrPages?: number | undefined;
843
+ tables?: number | undefined;
844
+ blocks?: number | undefined;
845
+ currentPage?: number | undefined;
846
+ totalFigures?: number | undefined;
847
+ completedFigures?: number | undefined;
848
+ inflightFigures?: {
849
+ occurrenceId: string;
850
+ caption: string;
851
+ }[] | undefined;
852
+ totalChunks?: number | undefined;
853
+ indexedChunks?: number | undefined;
854
+ currentChunk?: {
855
+ title: string;
856
+ headingPath: string[];
857
+ chunkId: string;
858
+ } | undefined;
859
+ };
860
+ usage: {
861
+ calls: number;
862
+ tokens: number;
863
+ reportedCalls: number;
864
+ records: import("zod").JSONType[];
865
+ };
866
+ failures: {
867
+ at: string;
868
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
869
+ error: string;
870
+ }[];
871
+ sourceHash?: string | undefined;
872
+ updatedAt?: string | undefined;
873
+ events?: {
874
+ at: string;
875
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
876
+ }[] | undefined;
877
+ figureRefresh?: {
878
+ occurrenceId: string;
879
+ token: string;
880
+ } | null | undefined;
881
+ visionCapability?: string | undefined;
882
+ parserVersion?: string | undefined;
883
+ pageStart?: number | undefined;
884
+ pageEnd?: number | undefined;
885
+ pdf?: {
886
+ pageCount: number;
887
+ selectedPages: {
888
+ start: number;
889
+ end: number;
890
+ count: number;
891
+ total: number;
892
+ partial: boolean;
893
+ };
894
+ outlineCount?: number | undefined;
895
+ } | undefined;
896
+ revision?: string | undefined;
897
+ report?: {
898
+ revision: string;
899
+ sourceHash: string;
900
+ issues: {
901
+ code: string;
902
+ message: string;
903
+ blocking: boolean;
904
+ page?: number | undefined;
905
+ kind?: string | undefined;
906
+ snippet?: string | undefined;
907
+ reason?: string | undefined;
908
+ }[];
909
+ documents: number;
910
+ blocks: number;
911
+ figures: number;
912
+ ignoredFigures: number;
913
+ unreviewedFigures: number;
914
+ chunks: number;
915
+ withinTarget: number;
916
+ oversized: {
917
+ chunkId: string;
918
+ chars: number;
919
+ reason: string;
920
+ }[];
921
+ usage: {
922
+ calls: number;
923
+ tokens: number;
924
+ reportedCalls: number;
925
+ records: import("zod").JSONType[];
926
+ };
927
+ targetChars: number;
928
+ pdf?: {
929
+ pageCount: number;
930
+ selectedPages: {
931
+ start: number;
932
+ end: number;
933
+ count: number;
934
+ total: number;
935
+ partial: boolean;
936
+ };
937
+ outlineCount: number;
938
+ matchedBookmarks: number;
939
+ ocrPages: number;
940
+ pages: {
941
+ page: number;
942
+ status: "failed" | "needs-review" | "navigation" | "parsed";
943
+ ocr: boolean;
944
+ tables: number;
945
+ figures: number;
946
+ headings: {
947
+ text: string;
948
+ level: number;
949
+ basis?: string | undefined;
950
+ }[];
951
+ width?: number | undefined;
952
+ height?: number | undefined;
953
+ pageLabel?: string | null | undefined;
954
+ spanCount?: number | undefined;
955
+ artifactCount?: number | undefined;
956
+ excluded?: {
957
+ kind: string;
958
+ bbox: [number, number, number, number] | null;
959
+ text?: string | undefined;
960
+ }[] | undefined;
961
+ previewAssetId?: string | null | undefined;
962
+ error?: string | undefined;
963
+ }[];
964
+ } | undefined;
965
+ } | undefined;
966
+ error?: string | null | undefined;
967
+ recoveredAt?: string | undefined;
968
+ finishedAt?: string | undefined;
969
+ cancelRequested?: boolean | undefined;
970
+ } | {
971
+ reused: boolean;
972
+ outputPath: string | null;
973
+ jobId: string;
974
+ kbId: string;
975
+ docId: string;
976
+ title: string;
977
+ sourceVersion: string;
978
+ filename: string;
979
+ sourceFormat: "docx" | "pdf";
980
+ sourceOriginalHash: string;
981
+ buildKey: string;
982
+ config: {
983
+ dataRoot: string;
984
+ chunkTargetChars: number;
985
+ evidenceMaxChars: number;
986
+ catalogMaxChars: number;
987
+ candidateLimit: number;
988
+ maxInputBytes: number;
989
+ maxUncompressedBytes: number;
990
+ maxArchiveEntries: number;
991
+ modelTimeoutMs: number;
992
+ modelAttempts: number;
993
+ visionConcurrency: number;
994
+ maxModelCalls: number;
995
+ maxModelTokens: number;
996
+ visionMaxEdge: number;
997
+ visionTileSize: number;
998
+ visionMaxTiles: number;
999
+ modelMaxOutputTokens: number;
1000
+ summaryMaxChars: number;
1001
+ figureMaxChars: number;
1002
+ pdfMaxPages: number;
1003
+ pdfMaxPagePixels: number;
1004
+ pdfPageTimeoutMs: number;
1005
+ libreOfficePath: string;
1006
+ visionProvider: string;
1007
+ visionModel: string;
1008
+ summaryProvider: string;
1009
+ summaryModel: string;
1010
+ skipImages: boolean;
1011
+ acceptPartial: boolean;
1012
+ };
1013
+ routes: {
1014
+ vision: {
1015
+ provider: string;
1016
+ model: string;
1017
+ } | null;
1018
+ summary: {
1019
+ provider: string;
1020
+ model: string;
1021
+ } | null;
1022
+ };
1023
+ schemaHash: string;
1024
+ sessionId: string | null;
1025
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1026
+ createdAt: string;
1027
+ progress: {
1028
+ totalPages?: number | undefined;
1029
+ parsedPages?: number | undefined;
1030
+ ocrPages?: number | undefined;
1031
+ tables?: number | undefined;
1032
+ blocks?: number | undefined;
1033
+ currentPage?: number | undefined;
1034
+ totalFigures?: number | undefined;
1035
+ completedFigures?: number | undefined;
1036
+ inflightFigures?: {
1037
+ occurrenceId: string;
1038
+ caption: string;
1039
+ }[] | undefined;
1040
+ totalChunks?: number | undefined;
1041
+ indexedChunks?: number | undefined;
1042
+ currentChunk?: {
1043
+ title: string;
1044
+ headingPath: string[];
1045
+ chunkId: string;
1046
+ } | undefined;
1047
+ };
1048
+ usage: {
1049
+ calls: number;
1050
+ tokens: number;
1051
+ reportedCalls: number;
1052
+ records: import("zod").JSONType[];
1053
+ };
1054
+ failures: {
1055
+ at: string;
1056
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1057
+ error: string;
1058
+ }[];
1059
+ sourceHash?: string | undefined;
1060
+ updatedAt?: string | undefined;
1061
+ events?: {
1062
+ at: string;
1063
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1064
+ }[] | undefined;
1065
+ figureRefresh?: {
1066
+ occurrenceId: string;
1067
+ token: string;
1068
+ } | null | undefined;
1069
+ visionCapability?: string | undefined;
1070
+ parserVersion?: string | undefined;
1071
+ pageStart?: number | undefined;
1072
+ pageEnd?: number | undefined;
1073
+ pdf?: {
1074
+ pageCount: number;
1075
+ selectedPages: {
1076
+ start: number;
1077
+ end: number;
1078
+ count: number;
1079
+ total: number;
1080
+ partial: boolean;
1081
+ };
1082
+ outlineCount?: number | undefined;
1083
+ } | undefined;
1084
+ revision?: string | undefined;
1085
+ report?: {
1086
+ revision: string;
1087
+ sourceHash: string;
1088
+ issues: {
1089
+ code: string;
1090
+ message: string;
1091
+ blocking: boolean;
1092
+ page?: number | undefined;
1093
+ kind?: string | undefined;
1094
+ snippet?: string | undefined;
1095
+ reason?: string | undefined;
1096
+ }[];
1097
+ documents: number;
1098
+ blocks: number;
1099
+ figures: number;
1100
+ ignoredFigures: number;
1101
+ unreviewedFigures: number;
1102
+ chunks: number;
1103
+ withinTarget: number;
1104
+ oversized: {
1105
+ chunkId: string;
1106
+ chars: number;
1107
+ reason: string;
1108
+ }[];
1109
+ usage: {
1110
+ calls: number;
1111
+ tokens: number;
1112
+ reportedCalls: number;
1113
+ records: import("zod").JSONType[];
1114
+ };
1115
+ targetChars: number;
1116
+ pdf?: {
1117
+ pageCount: number;
1118
+ selectedPages: {
1119
+ start: number;
1120
+ end: number;
1121
+ count: number;
1122
+ total: number;
1123
+ partial: boolean;
1124
+ };
1125
+ outlineCount: number;
1126
+ matchedBookmarks: number;
1127
+ ocrPages: number;
1128
+ pages: {
1129
+ page: number;
1130
+ status: "failed" | "needs-review" | "navigation" | "parsed";
1131
+ ocr: boolean;
1132
+ tables: number;
1133
+ figures: number;
1134
+ headings: {
1135
+ text: string;
1136
+ level: number;
1137
+ basis?: string | undefined;
1138
+ }[];
1139
+ width?: number | undefined;
1140
+ height?: number | undefined;
1141
+ pageLabel?: string | null | undefined;
1142
+ spanCount?: number | undefined;
1143
+ artifactCount?: number | undefined;
1144
+ excluded?: {
1145
+ kind: string;
1146
+ bbox: [number, number, number, number] | null;
1147
+ text?: string | undefined;
1148
+ }[] | undefined;
1149
+ previewAssetId?: string | null | undefined;
1150
+ error?: string | undefined;
1151
+ }[];
1152
+ } | undefined;
1153
+ } | undefined;
1154
+ error?: string | null | undefined;
1155
+ recoveredAt?: string | undefined;
1156
+ finishedAt?: string | undefined;
1157
+ cancelRequested?: boolean | undefined;
1158
+ }>;
1159
+ pump(): void;
1160
+ phase(job: Job, state: JobState): Promise<void>;
1161
+ preview(jobId: string): Promise<{
1162
+ root: string;
1163
+ manifest: {
1164
+ formatVersion: 1;
1165
+ revision: string;
1166
+ buildKey: string;
1167
+ createdAt: string;
1168
+ documents: {
1169
+ docId: string;
1170
+ title: string;
1171
+ filename: string;
1172
+ sourceHash: string;
1173
+ sourceVersion: string;
1174
+ nodes: {
1175
+ nodeId: string;
1176
+ title: string;
1177
+ level: number;
1178
+ parentId: string | null;
1179
+ headingPath: string[];
1180
+ children: string[];
1181
+ anchor?: string | null | undefined;
1182
+ indexPath?: string | undefined;
1183
+ }[];
1184
+ chunks: {
1185
+ chunkId: string;
1186
+ docId: string;
1187
+ sourceHash: string;
1188
+ sourceVersion: string;
1189
+ title: string;
1190
+ nodeId: string;
1191
+ headingPath: string[];
1192
+ blockRange: [string, string];
1193
+ assetRefs: string[];
1194
+ tableRefs: string[];
1195
+ relatedChunks: string[];
1196
+ reviewStatus: "source" | "generated" | "needs-review";
1197
+ path: string;
1198
+ segments: {
1199
+ text: string;
1200
+ blockIds: string[];
1201
+ type: "code" | "caption" | "table" | "heading" | "paragraph" | "figure" | "list" | "note" | "formula";
1202
+ sourceLocations?: import("./data.ts").Source[] | undefined;
1203
+ startLine?: number | undefined;
1204
+ endLine?: number | undefined;
1205
+ }[];
1206
+ anchors: string[];
1207
+ fullChars: number;
1208
+ bodyChars: number;
1209
+ contentHash: string;
1210
+ summary: string;
1211
+ keywords: string[];
1212
+ sourceFormat?: "docx" | "pdf" | undefined;
1213
+ sourceLocations?: import("./data.ts").Source[] | undefined;
1214
+ pageRange?: [number, number] | undefined;
1215
+ selectedPages?: {
1216
+ start: number;
1217
+ end: number;
1218
+ count: number;
1219
+ total: number;
1220
+ partial: boolean;
1221
+ } | undefined;
1222
+ oversizedReason?: string | undefined;
1223
+ summaryFallback?: boolean | undefined;
1224
+ }[];
1225
+ assets: {
1226
+ assetId: string;
1227
+ mime: string;
1228
+ path: string;
1229
+ bytes: number;
1230
+ origin: string;
1231
+ source?: import("./data.ts").Source | undefined;
1232
+ }[];
1233
+ figures: {
1234
+ status: "decoration" | "generated" | "failed" | "skipped" | "ignored" | "reviewed";
1235
+ assetId: string;
1236
+ occurrenceId: string;
1237
+ caption: string;
1238
+ cacheKey: string;
1239
+ overlayKey: string;
1240
+ overlayHash: string;
1241
+ humanReviewed: boolean;
1242
+ needsReview: boolean;
1243
+ types?: ("architecture" | "pinout" | "schematic" | "timing" | "flowchart" | "table" | "curve" | "other" | "decoration")[] | undefined;
1244
+ visibleLabels?: string[] | undefined;
1245
+ description?: string | undefined;
1246
+ relations?: {
1247
+ from: string;
1248
+ to: string;
1249
+ label: string;
1250
+ }[] | undefined;
1251
+ uncertainties?: string[] | undefined;
1252
+ contextNotes?: string | undefined;
1253
+ pins?: import("zod").JSONType[] | undefined;
1254
+ timingConstraints?: import("zod").JSONType[] | undefined;
1255
+ tableRows?: import("zod").JSONType[] | undefined;
1256
+ error?: string | undefined;
1257
+ classification?: {
1258
+ types: ("architecture" | "pinout" | "schematic" | "timing" | "flowchart" | "table" | "curve" | "other" | "decoration")[];
1259
+ reason: string;
1260
+ } | undefined;
1261
+ width?: number | undefined;
1262
+ height?: number | undefined;
1263
+ model?: {
1264
+ provider: string;
1265
+ model: string;
1266
+ } | undefined;
1267
+ promptVersion?: string | undefined;
1268
+ context?: {
1269
+ headingPath: string[];
1270
+ nearby: string[];
1271
+ caption?: string | undefined;
1272
+ } | undefined;
1273
+ source?: import("./data.ts").Source | undefined;
1274
+ nativeLabels?: string[] | undefined;
1275
+ refreshToken?: string | undefined;
1276
+ ignore?: boolean | undefined;
1277
+ skip?: boolean | undefined;
1278
+ previous?: Overlay | null | undefined;
1279
+ updatedAt?: string | undefined;
1280
+ }[];
1281
+ sourceFormat?: "docx" | "pdf" | undefined;
1282
+ pageCount?: number | undefined;
1283
+ selectedPages?: {
1284
+ start: number;
1285
+ end: number;
1286
+ count: number;
1287
+ total: number;
1288
+ partial: boolean;
1289
+ } | undefined;
1290
+ parserVersion?: string | undefined;
1291
+ audit?: {
1292
+ pages: {
1293
+ page: number;
1294
+ status: "failed" | "needs-review" | "navigation" | "parsed";
1295
+ ocr: boolean;
1296
+ tables: number;
1297
+ figures: number;
1298
+ headings: {
1299
+ text: string;
1300
+ level: number;
1301
+ basis?: string | undefined;
1302
+ }[];
1303
+ width?: number | undefined;
1304
+ height?: number | undefined;
1305
+ pageLabel?: string | null | undefined;
1306
+ spanCount?: number | undefined;
1307
+ artifactCount?: number | undefined;
1308
+ excluded?: {
1309
+ kind: string;
1310
+ bbox: [number, number, number, number] | null;
1311
+ text?: string | undefined;
1312
+ }[] | undefined;
1313
+ previewAssetId?: string | null | undefined;
1314
+ error?: string | undefined;
1315
+ }[];
1316
+ outlineCount: number;
1317
+ matchedBookmarks: number;
1318
+ convertedFigures: number;
1319
+ convertedTables: number;
1320
+ warnings?: {
1321
+ code: string;
1322
+ message: string;
1323
+ blocking: boolean;
1324
+ page?: number | undefined;
1325
+ kind?: string | undefined;
1326
+ snippet?: string | undefined;
1327
+ reason?: string | undefined;
1328
+ }[] | undefined;
1329
+ styleLevels?: Record<string, number> | undefined;
1330
+ headingLevels?: Record<string, number> | undefined;
1331
+ outlineLevels?: Record<string, number> | undefined;
1332
+ expectedFigures?: number | undefined;
1333
+ expectedTables?: number | undefined;
1334
+ expectedHeadings?: string[] | undefined;
1335
+ textBoxes?: number | undefined;
1336
+ footnoteRefs?: number | undefined;
1337
+ anchors?: string[] | undefined;
1338
+ rawMediaCount?: number | undefined;
1339
+ } | undefined;
1340
+ chunkTargetChars?: number | undefined;
1341
+ coverageIncomplete?: boolean | undefined;
1342
+ warnings?: {
1343
+ code: string;
1344
+ message: string;
1345
+ blocking: boolean;
1346
+ page?: number | undefined;
1347
+ kind?: string | undefined;
1348
+ snippet?: string | undefined;
1349
+ reason?: string | undefined;
1350
+ }[] | undefined;
1351
+ }[];
1352
+ catalogs: Record<string, {
1353
+ catalogId: string;
1354
+ path: string;
1355
+ title: string;
1356
+ pages: {
1357
+ path: string;
1358
+ content: string;
1359
+ entries: {
1360
+ title?: string | undefined;
1361
+ path?: string | undefined;
1362
+ docId?: string | undefined;
1363
+ nodeId?: string | undefined;
1364
+ chunkId?: string | undefined;
1365
+ summary?: string | undefined;
1366
+ fullChars?: number | undefined;
1367
+ keywords?: string[] | undefined;
1368
+ reviewStatus?: string | undefined;
1369
+ pdfScope?: string | undefined;
1370
+ pageRange?: [number, number] | undefined;
1371
+ }[];
1372
+ next: string | null;
1373
+ }[];
1374
+ }>;
1375
+ entities: Record<string, {
1376
+ label: string;
1377
+ docId: string;
1378
+ chunkId: string;
1379
+ path: string;
1380
+ headingPath: string[];
1381
+ }[]>;
1382
+ coverageIncomplete: boolean;
1383
+ config: {
1384
+ chunkTargetChars: number;
1385
+ };
1386
+ report: {
1387
+ revision: string;
1388
+ sourceHash: string;
1389
+ issues: {
1390
+ code: string;
1391
+ message: string;
1392
+ blocking: boolean;
1393
+ page?: number | undefined;
1394
+ kind?: string | undefined;
1395
+ snippet?: string | undefined;
1396
+ reason?: string | undefined;
1397
+ }[];
1398
+ documents: number;
1399
+ blocks: number;
1400
+ figures: number;
1401
+ ignoredFigures: number;
1402
+ unreviewedFigures: number;
1403
+ chunks: number;
1404
+ withinTarget: number;
1405
+ oversized: {
1406
+ chunkId: string;
1407
+ chars: number;
1408
+ reason: string;
1409
+ }[];
1410
+ usage: {
1411
+ calls: number;
1412
+ tokens: number;
1413
+ reportedCalls: number;
1414
+ records: import("zod").JSONType[];
1415
+ };
1416
+ targetChars: number;
1417
+ pdf?: {
1418
+ pageCount: number;
1419
+ selectedPages: {
1420
+ start: number;
1421
+ end: number;
1422
+ count: number;
1423
+ total: number;
1424
+ partial: boolean;
1425
+ };
1426
+ outlineCount: number;
1427
+ matchedBookmarks: number;
1428
+ ocrPages: number;
1429
+ pages: {
1430
+ page: number;
1431
+ status: "failed" | "needs-review" | "navigation" | "parsed";
1432
+ ocr: boolean;
1433
+ tables: number;
1434
+ figures: number;
1435
+ headings: {
1436
+ text: string;
1437
+ level: number;
1438
+ basis?: string | undefined;
1439
+ }[];
1440
+ width?: number | undefined;
1441
+ height?: number | undefined;
1442
+ pageLabel?: string | null | undefined;
1443
+ spanCount?: number | undefined;
1444
+ artifactCount?: number | undefined;
1445
+ excluded?: {
1446
+ kind: string;
1447
+ bbox: [number, number, number, number] | null;
1448
+ text?: string | undefined;
1449
+ }[] | undefined;
1450
+ previewAssetId?: string | null | undefined;
1451
+ error?: string | undefined;
1452
+ }[];
1453
+ } | undefined;
1454
+ };
1455
+ };
1456
+ revision: string;
1457
+ kbId: string;
1458
+ jobId: string;
1459
+ }>;
1460
+ run(job: Job, signal: AbortSignal): Promise<void>;
1461
+ action(jobId: string, action: 'status' | 'retry' | 'cancel', options?: JobOptions): Promise<{
1462
+ outputPath: string | null;
1463
+ jobId: string;
1464
+ kbId: string;
1465
+ docId: string;
1466
+ title: string;
1467
+ sourceVersion: string;
1468
+ filename: string;
1469
+ sourceFormat: "docx" | "pdf";
1470
+ sourceOriginalHash: string;
1471
+ buildKey: string;
1472
+ config: {
1473
+ dataRoot: string;
1474
+ chunkTargetChars: number;
1475
+ evidenceMaxChars: number;
1476
+ catalogMaxChars: number;
1477
+ candidateLimit: number;
1478
+ maxInputBytes: number;
1479
+ maxUncompressedBytes: number;
1480
+ maxArchiveEntries: number;
1481
+ modelTimeoutMs: number;
1482
+ modelAttempts: number;
1483
+ visionConcurrency: number;
1484
+ maxModelCalls: number;
1485
+ maxModelTokens: number;
1486
+ visionMaxEdge: number;
1487
+ visionTileSize: number;
1488
+ visionMaxTiles: number;
1489
+ modelMaxOutputTokens: number;
1490
+ summaryMaxChars: number;
1491
+ figureMaxChars: number;
1492
+ pdfMaxPages: number;
1493
+ pdfMaxPagePixels: number;
1494
+ pdfPageTimeoutMs: number;
1495
+ libreOfficePath: string;
1496
+ visionProvider: string;
1497
+ visionModel: string;
1498
+ summaryProvider: string;
1499
+ summaryModel: string;
1500
+ skipImages: boolean;
1501
+ acceptPartial: boolean;
1502
+ };
1503
+ routes: {
1504
+ vision: {
1505
+ provider: string;
1506
+ model: string;
1507
+ } | null;
1508
+ summary: {
1509
+ provider: string;
1510
+ model: string;
1511
+ } | null;
1512
+ };
1513
+ schemaHash: string;
1514
+ sessionId: string | null;
1515
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1516
+ createdAt: string;
1517
+ progress: {
1518
+ totalPages?: number | undefined;
1519
+ parsedPages?: number | undefined;
1520
+ ocrPages?: number | undefined;
1521
+ tables?: number | undefined;
1522
+ blocks?: number | undefined;
1523
+ currentPage?: number | undefined;
1524
+ totalFigures?: number | undefined;
1525
+ completedFigures?: number | undefined;
1526
+ inflightFigures?: {
1527
+ occurrenceId: string;
1528
+ caption: string;
1529
+ }[] | undefined;
1530
+ totalChunks?: number | undefined;
1531
+ indexedChunks?: number | undefined;
1532
+ currentChunk?: {
1533
+ title: string;
1534
+ headingPath: string[];
1535
+ chunkId: string;
1536
+ } | undefined;
1537
+ };
1538
+ usage: {
1539
+ calls: number;
1540
+ tokens: number;
1541
+ reportedCalls: number;
1542
+ records: import("zod").JSONType[];
1543
+ };
1544
+ failures: {
1545
+ at: string;
1546
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1547
+ error: string;
1548
+ }[];
1549
+ sourceHash?: string | undefined;
1550
+ updatedAt?: string | undefined;
1551
+ events?: {
1552
+ at: string;
1553
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1554
+ }[] | undefined;
1555
+ figureRefresh?: {
1556
+ occurrenceId: string;
1557
+ token: string;
1558
+ } | null | undefined;
1559
+ visionCapability?: string | undefined;
1560
+ parserVersion?: string | undefined;
1561
+ pageStart?: number | undefined;
1562
+ pageEnd?: number | undefined;
1563
+ pdf?: {
1564
+ pageCount: number;
1565
+ selectedPages: {
1566
+ start: number;
1567
+ end: number;
1568
+ count: number;
1569
+ total: number;
1570
+ partial: boolean;
1571
+ };
1572
+ outlineCount?: number | undefined;
1573
+ } | undefined;
1574
+ revision?: string | undefined;
1575
+ report?: {
1576
+ revision: string;
1577
+ sourceHash: string;
1578
+ issues: {
1579
+ code: string;
1580
+ message: string;
1581
+ blocking: boolean;
1582
+ page?: number | undefined;
1583
+ kind?: string | undefined;
1584
+ snippet?: string | undefined;
1585
+ reason?: string | undefined;
1586
+ }[];
1587
+ documents: number;
1588
+ blocks: number;
1589
+ figures: number;
1590
+ ignoredFigures: number;
1591
+ unreviewedFigures: number;
1592
+ chunks: number;
1593
+ withinTarget: number;
1594
+ oversized: {
1595
+ chunkId: string;
1596
+ chars: number;
1597
+ reason: string;
1598
+ }[];
1599
+ usage: {
1600
+ calls: number;
1601
+ tokens: number;
1602
+ reportedCalls: number;
1603
+ records: import("zod").JSONType[];
1604
+ };
1605
+ targetChars: number;
1606
+ pdf?: {
1607
+ pageCount: number;
1608
+ selectedPages: {
1609
+ start: number;
1610
+ end: number;
1611
+ count: number;
1612
+ total: number;
1613
+ partial: boolean;
1614
+ };
1615
+ outlineCount: number;
1616
+ matchedBookmarks: number;
1617
+ ocrPages: number;
1618
+ pages: {
1619
+ page: number;
1620
+ status: "failed" | "needs-review" | "navigation" | "parsed";
1621
+ ocr: boolean;
1622
+ tables: number;
1623
+ figures: number;
1624
+ headings: {
1625
+ text: string;
1626
+ level: number;
1627
+ basis?: string | undefined;
1628
+ }[];
1629
+ width?: number | undefined;
1630
+ height?: number | undefined;
1631
+ pageLabel?: string | null | undefined;
1632
+ spanCount?: number | undefined;
1633
+ artifactCount?: number | undefined;
1634
+ excluded?: {
1635
+ kind: string;
1636
+ bbox: [number, number, number, number] | null;
1637
+ text?: string | undefined;
1638
+ }[] | undefined;
1639
+ previewAssetId?: string | null | undefined;
1640
+ error?: string | undefined;
1641
+ }[];
1642
+ } | undefined;
1643
+ } | undefined;
1644
+ error?: string | null | undefined;
1645
+ recoveredAt?: string | undefined;
1646
+ finishedAt?: string | undefined;
1647
+ cancelRequested?: boolean | undefined;
1648
+ }>;
1649
+ actionUnlocked(jobId: string, action: 'status' | 'retry' | 'cancel', options?: JobOptions): Promise<{
1650
+ outputPath: string | null;
1651
+ jobId: string;
1652
+ kbId: string;
1653
+ docId: string;
1654
+ title: string;
1655
+ sourceVersion: string;
1656
+ filename: string;
1657
+ sourceFormat: "docx" | "pdf";
1658
+ sourceOriginalHash: string;
1659
+ buildKey: string;
1660
+ config: {
1661
+ dataRoot: string;
1662
+ chunkTargetChars: number;
1663
+ evidenceMaxChars: number;
1664
+ catalogMaxChars: number;
1665
+ candidateLimit: number;
1666
+ maxInputBytes: number;
1667
+ maxUncompressedBytes: number;
1668
+ maxArchiveEntries: number;
1669
+ modelTimeoutMs: number;
1670
+ modelAttempts: number;
1671
+ visionConcurrency: number;
1672
+ maxModelCalls: number;
1673
+ maxModelTokens: number;
1674
+ visionMaxEdge: number;
1675
+ visionTileSize: number;
1676
+ visionMaxTiles: number;
1677
+ modelMaxOutputTokens: number;
1678
+ summaryMaxChars: number;
1679
+ figureMaxChars: number;
1680
+ pdfMaxPages: number;
1681
+ pdfMaxPagePixels: number;
1682
+ pdfPageTimeoutMs: number;
1683
+ libreOfficePath: string;
1684
+ visionProvider: string;
1685
+ visionModel: string;
1686
+ summaryProvider: string;
1687
+ summaryModel: string;
1688
+ skipImages: boolean;
1689
+ acceptPartial: boolean;
1690
+ };
1691
+ routes: {
1692
+ vision: {
1693
+ provider: string;
1694
+ model: string;
1695
+ } | null;
1696
+ summary: {
1697
+ provider: string;
1698
+ model: string;
1699
+ } | null;
1700
+ };
1701
+ schemaHash: string;
1702
+ sessionId: string | null;
1703
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1704
+ createdAt: string;
1705
+ progress: {
1706
+ totalPages?: number | undefined;
1707
+ parsedPages?: number | undefined;
1708
+ ocrPages?: number | undefined;
1709
+ tables?: number | undefined;
1710
+ blocks?: number | undefined;
1711
+ currentPage?: number | undefined;
1712
+ totalFigures?: number | undefined;
1713
+ completedFigures?: number | undefined;
1714
+ inflightFigures?: {
1715
+ occurrenceId: string;
1716
+ caption: string;
1717
+ }[] | undefined;
1718
+ totalChunks?: number | undefined;
1719
+ indexedChunks?: number | undefined;
1720
+ currentChunk?: {
1721
+ title: string;
1722
+ headingPath: string[];
1723
+ chunkId: string;
1724
+ } | undefined;
1725
+ };
1726
+ usage: {
1727
+ calls: number;
1728
+ tokens: number;
1729
+ reportedCalls: number;
1730
+ records: import("zod").JSONType[];
1731
+ };
1732
+ failures: {
1733
+ at: string;
1734
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1735
+ error: string;
1736
+ }[];
1737
+ sourceHash?: string | undefined;
1738
+ updatedAt?: string | undefined;
1739
+ events?: {
1740
+ at: string;
1741
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1742
+ }[] | undefined;
1743
+ figureRefresh?: {
1744
+ occurrenceId: string;
1745
+ token: string;
1746
+ } | null | undefined;
1747
+ visionCapability?: string | undefined;
1748
+ parserVersion?: string | undefined;
1749
+ pageStart?: number | undefined;
1750
+ pageEnd?: number | undefined;
1751
+ pdf?: {
1752
+ pageCount: number;
1753
+ selectedPages: {
1754
+ start: number;
1755
+ end: number;
1756
+ count: number;
1757
+ total: number;
1758
+ partial: boolean;
1759
+ };
1760
+ outlineCount?: number | undefined;
1761
+ } | undefined;
1762
+ revision?: string | undefined;
1763
+ report?: {
1764
+ revision: string;
1765
+ sourceHash: string;
1766
+ issues: {
1767
+ code: string;
1768
+ message: string;
1769
+ blocking: boolean;
1770
+ page?: number | undefined;
1771
+ kind?: string | undefined;
1772
+ snippet?: string | undefined;
1773
+ reason?: string | undefined;
1774
+ }[];
1775
+ documents: number;
1776
+ blocks: number;
1777
+ figures: number;
1778
+ ignoredFigures: number;
1779
+ unreviewedFigures: number;
1780
+ chunks: number;
1781
+ withinTarget: number;
1782
+ oversized: {
1783
+ chunkId: string;
1784
+ chars: number;
1785
+ reason: string;
1786
+ }[];
1787
+ usage: {
1788
+ calls: number;
1789
+ tokens: number;
1790
+ reportedCalls: number;
1791
+ records: import("zod").JSONType[];
1792
+ };
1793
+ targetChars: number;
1794
+ pdf?: {
1795
+ pageCount: number;
1796
+ selectedPages: {
1797
+ start: number;
1798
+ end: number;
1799
+ count: number;
1800
+ total: number;
1801
+ partial: boolean;
1802
+ };
1803
+ outlineCount: number;
1804
+ matchedBookmarks: number;
1805
+ ocrPages: number;
1806
+ pages: {
1807
+ page: number;
1808
+ status: "failed" | "needs-review" | "navigation" | "parsed";
1809
+ ocr: boolean;
1810
+ tables: number;
1811
+ figures: number;
1812
+ headings: {
1813
+ text: string;
1814
+ level: number;
1815
+ basis?: string | undefined;
1816
+ }[];
1817
+ width?: number | undefined;
1818
+ height?: number | undefined;
1819
+ pageLabel?: string | null | undefined;
1820
+ spanCount?: number | undefined;
1821
+ artifactCount?: number | undefined;
1822
+ excluded?: {
1823
+ kind: string;
1824
+ bbox: [number, number, number, number] | null;
1825
+ text?: string | undefined;
1826
+ }[] | undefined;
1827
+ previewAssetId?: string | null | undefined;
1828
+ error?: string | undefined;
1829
+ }[];
1830
+ } | undefined;
1831
+ } | undefined;
1832
+ error?: string | null | undefined;
1833
+ recoveredAt?: string | undefined;
1834
+ finishedAt?: string | undefined;
1835
+ cancelRequested?: boolean | undefined;
1836
+ }>;
1837
+ review(kbId: string, revision: string, docId: string, occurrenceId: string, value: Overlay | null, expectedHash: string, options?: ReviewOptions): Promise<{
1838
+ outputPath: string | null;
1839
+ jobId: string;
1840
+ kbId: string;
1841
+ docId: string;
1842
+ title: string;
1843
+ sourceVersion: string;
1844
+ filename: string;
1845
+ sourceFormat: "docx" | "pdf";
1846
+ sourceOriginalHash: string;
1847
+ buildKey: string;
1848
+ config: {
1849
+ dataRoot: string;
1850
+ chunkTargetChars: number;
1851
+ evidenceMaxChars: number;
1852
+ catalogMaxChars: number;
1853
+ candidateLimit: number;
1854
+ maxInputBytes: number;
1855
+ maxUncompressedBytes: number;
1856
+ maxArchiveEntries: number;
1857
+ modelTimeoutMs: number;
1858
+ modelAttempts: number;
1859
+ visionConcurrency: number;
1860
+ maxModelCalls: number;
1861
+ maxModelTokens: number;
1862
+ visionMaxEdge: number;
1863
+ visionTileSize: number;
1864
+ visionMaxTiles: number;
1865
+ modelMaxOutputTokens: number;
1866
+ summaryMaxChars: number;
1867
+ figureMaxChars: number;
1868
+ pdfMaxPages: number;
1869
+ pdfMaxPagePixels: number;
1870
+ pdfPageTimeoutMs: number;
1871
+ libreOfficePath: string;
1872
+ visionProvider: string;
1873
+ visionModel: string;
1874
+ summaryProvider: string;
1875
+ summaryModel: string;
1876
+ skipImages: boolean;
1877
+ acceptPartial: boolean;
1878
+ };
1879
+ routes: {
1880
+ vision: {
1881
+ provider: string;
1882
+ model: string;
1883
+ } | null;
1884
+ summary: {
1885
+ provider: string;
1886
+ model: string;
1887
+ } | null;
1888
+ };
1889
+ schemaHash: string;
1890
+ sessionId: string | null;
1891
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1892
+ createdAt: string;
1893
+ progress: {
1894
+ totalPages?: number | undefined;
1895
+ parsedPages?: number | undefined;
1896
+ ocrPages?: number | undefined;
1897
+ tables?: number | undefined;
1898
+ blocks?: number | undefined;
1899
+ currentPage?: number | undefined;
1900
+ totalFigures?: number | undefined;
1901
+ completedFigures?: number | undefined;
1902
+ inflightFigures?: {
1903
+ occurrenceId: string;
1904
+ caption: string;
1905
+ }[] | undefined;
1906
+ totalChunks?: number | undefined;
1907
+ indexedChunks?: number | undefined;
1908
+ currentChunk?: {
1909
+ title: string;
1910
+ headingPath: string[];
1911
+ chunkId: string;
1912
+ } | undefined;
1913
+ };
1914
+ usage: {
1915
+ calls: number;
1916
+ tokens: number;
1917
+ reportedCalls: number;
1918
+ records: import("zod").JSONType[];
1919
+ };
1920
+ failures: {
1921
+ at: string;
1922
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1923
+ error: string;
1924
+ }[];
1925
+ sourceHash?: string | undefined;
1926
+ updatedAt?: string | undefined;
1927
+ events?: {
1928
+ at: string;
1929
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
1930
+ }[] | undefined;
1931
+ figureRefresh?: {
1932
+ occurrenceId: string;
1933
+ token: string;
1934
+ } | null | undefined;
1935
+ visionCapability?: string | undefined;
1936
+ parserVersion?: string | undefined;
1937
+ pageStart?: number | undefined;
1938
+ pageEnd?: number | undefined;
1939
+ pdf?: {
1940
+ pageCount: number;
1941
+ selectedPages: {
1942
+ start: number;
1943
+ end: number;
1944
+ count: number;
1945
+ total: number;
1946
+ partial: boolean;
1947
+ };
1948
+ outlineCount?: number | undefined;
1949
+ } | undefined;
1950
+ revision?: string | undefined;
1951
+ report?: {
1952
+ revision: string;
1953
+ sourceHash: string;
1954
+ issues: {
1955
+ code: string;
1956
+ message: string;
1957
+ blocking: boolean;
1958
+ page?: number | undefined;
1959
+ kind?: string | undefined;
1960
+ snippet?: string | undefined;
1961
+ reason?: string | undefined;
1962
+ }[];
1963
+ documents: number;
1964
+ blocks: number;
1965
+ figures: number;
1966
+ ignoredFigures: number;
1967
+ unreviewedFigures: number;
1968
+ chunks: number;
1969
+ withinTarget: number;
1970
+ oversized: {
1971
+ chunkId: string;
1972
+ chars: number;
1973
+ reason: string;
1974
+ }[];
1975
+ usage: {
1976
+ calls: number;
1977
+ tokens: number;
1978
+ reportedCalls: number;
1979
+ records: import("zod").JSONType[];
1980
+ };
1981
+ targetChars: number;
1982
+ pdf?: {
1983
+ pageCount: number;
1984
+ selectedPages: {
1985
+ start: number;
1986
+ end: number;
1987
+ count: number;
1988
+ total: number;
1989
+ partial: boolean;
1990
+ };
1991
+ outlineCount: number;
1992
+ matchedBookmarks: number;
1993
+ ocrPages: number;
1994
+ pages: {
1995
+ page: number;
1996
+ status: "failed" | "needs-review" | "navigation" | "parsed";
1997
+ ocr: boolean;
1998
+ tables: number;
1999
+ figures: number;
2000
+ headings: {
2001
+ text: string;
2002
+ level: number;
2003
+ basis?: string | undefined;
2004
+ }[];
2005
+ width?: number | undefined;
2006
+ height?: number | undefined;
2007
+ pageLabel?: string | null | undefined;
2008
+ spanCount?: number | undefined;
2009
+ artifactCount?: number | undefined;
2010
+ excluded?: {
2011
+ kind: string;
2012
+ bbox: [number, number, number, number] | null;
2013
+ text?: string | undefined;
2014
+ }[] | undefined;
2015
+ previewAssetId?: string | null | undefined;
2016
+ error?: string | undefined;
2017
+ }[];
2018
+ } | undefined;
2019
+ } | undefined;
2020
+ error?: string | null | undefined;
2021
+ recoveredAt?: string | undefined;
2022
+ finishedAt?: string | undefined;
2023
+ cancelRequested?: boolean | undefined;
2024
+ } | {
2025
+ reused: boolean;
2026
+ outputPath: string | null;
2027
+ jobId: string;
2028
+ kbId: string;
2029
+ docId: string;
2030
+ title: string;
2031
+ sourceVersion: string;
2032
+ filename: string;
2033
+ sourceFormat: "docx" | "pdf";
2034
+ sourceOriginalHash: string;
2035
+ buildKey: string;
2036
+ config: {
2037
+ dataRoot: string;
2038
+ chunkTargetChars: number;
2039
+ evidenceMaxChars: number;
2040
+ catalogMaxChars: number;
2041
+ candidateLimit: number;
2042
+ maxInputBytes: number;
2043
+ maxUncompressedBytes: number;
2044
+ maxArchiveEntries: number;
2045
+ modelTimeoutMs: number;
2046
+ modelAttempts: number;
2047
+ visionConcurrency: number;
2048
+ maxModelCalls: number;
2049
+ maxModelTokens: number;
2050
+ visionMaxEdge: number;
2051
+ visionTileSize: number;
2052
+ visionMaxTiles: number;
2053
+ modelMaxOutputTokens: number;
2054
+ summaryMaxChars: number;
2055
+ figureMaxChars: number;
2056
+ pdfMaxPages: number;
2057
+ pdfMaxPagePixels: number;
2058
+ pdfPageTimeoutMs: number;
2059
+ libreOfficePath: string;
2060
+ visionProvider: string;
2061
+ visionModel: string;
2062
+ summaryProvider: string;
2063
+ summaryModel: string;
2064
+ skipImages: boolean;
2065
+ acceptPartial: boolean;
2066
+ };
2067
+ routes: {
2068
+ vision: {
2069
+ provider: string;
2070
+ model: string;
2071
+ } | null;
2072
+ summary: {
2073
+ provider: string;
2074
+ model: string;
2075
+ } | null;
2076
+ };
2077
+ schemaHash: string;
2078
+ sessionId: string | null;
2079
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2080
+ createdAt: string;
2081
+ progress: {
2082
+ totalPages?: number | undefined;
2083
+ parsedPages?: number | undefined;
2084
+ ocrPages?: number | undefined;
2085
+ tables?: number | undefined;
2086
+ blocks?: number | undefined;
2087
+ currentPage?: number | undefined;
2088
+ totalFigures?: number | undefined;
2089
+ completedFigures?: number | undefined;
2090
+ inflightFigures?: {
2091
+ occurrenceId: string;
2092
+ caption: string;
2093
+ }[] | undefined;
2094
+ totalChunks?: number | undefined;
2095
+ indexedChunks?: number | undefined;
2096
+ currentChunk?: {
2097
+ title: string;
2098
+ headingPath: string[];
2099
+ chunkId: string;
2100
+ } | undefined;
2101
+ };
2102
+ usage: {
2103
+ calls: number;
2104
+ tokens: number;
2105
+ reportedCalls: number;
2106
+ records: import("zod").JSONType[];
2107
+ };
2108
+ failures: {
2109
+ at: string;
2110
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2111
+ error: string;
2112
+ }[];
2113
+ sourceHash?: string | undefined;
2114
+ updatedAt?: string | undefined;
2115
+ events?: {
2116
+ at: string;
2117
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2118
+ }[] | undefined;
2119
+ figureRefresh?: {
2120
+ occurrenceId: string;
2121
+ token: string;
2122
+ } | null | undefined;
2123
+ visionCapability?: string | undefined;
2124
+ parserVersion?: string | undefined;
2125
+ pageStart?: number | undefined;
2126
+ pageEnd?: number | undefined;
2127
+ pdf?: {
2128
+ pageCount: number;
2129
+ selectedPages: {
2130
+ start: number;
2131
+ end: number;
2132
+ count: number;
2133
+ total: number;
2134
+ partial: boolean;
2135
+ };
2136
+ outlineCount?: number | undefined;
2137
+ } | undefined;
2138
+ revision?: string | undefined;
2139
+ report?: {
2140
+ revision: string;
2141
+ sourceHash: string;
2142
+ issues: {
2143
+ code: string;
2144
+ message: string;
2145
+ blocking: boolean;
2146
+ page?: number | undefined;
2147
+ kind?: string | undefined;
2148
+ snippet?: string | undefined;
2149
+ reason?: string | undefined;
2150
+ }[];
2151
+ documents: number;
2152
+ blocks: number;
2153
+ figures: number;
2154
+ ignoredFigures: number;
2155
+ unreviewedFigures: number;
2156
+ chunks: number;
2157
+ withinTarget: number;
2158
+ oversized: {
2159
+ chunkId: string;
2160
+ chars: number;
2161
+ reason: string;
2162
+ }[];
2163
+ usage: {
2164
+ calls: number;
2165
+ tokens: number;
2166
+ reportedCalls: number;
2167
+ records: import("zod").JSONType[];
2168
+ };
2169
+ targetChars: number;
2170
+ pdf?: {
2171
+ pageCount: number;
2172
+ selectedPages: {
2173
+ start: number;
2174
+ end: number;
2175
+ count: number;
2176
+ total: number;
2177
+ partial: boolean;
2178
+ };
2179
+ outlineCount: number;
2180
+ matchedBookmarks: number;
2181
+ ocrPages: number;
2182
+ pages: {
2183
+ page: number;
2184
+ status: "failed" | "needs-review" | "navigation" | "parsed";
2185
+ ocr: boolean;
2186
+ tables: number;
2187
+ figures: number;
2188
+ headings: {
2189
+ text: string;
2190
+ level: number;
2191
+ basis?: string | undefined;
2192
+ }[];
2193
+ width?: number | undefined;
2194
+ height?: number | undefined;
2195
+ pageLabel?: string | null | undefined;
2196
+ spanCount?: number | undefined;
2197
+ artifactCount?: number | undefined;
2198
+ excluded?: {
2199
+ kind: string;
2200
+ bbox: [number, number, number, number] | null;
2201
+ text?: string | undefined;
2202
+ }[] | undefined;
2203
+ previewAssetId?: string | null | undefined;
2204
+ error?: string | undefined;
2205
+ }[];
2206
+ } | undefined;
2207
+ } | undefined;
2208
+ error?: string | null | undefined;
2209
+ recoveredAt?: string | undefined;
2210
+ finishedAt?: string | undefined;
2211
+ cancelRequested?: boolean | undefined;
2212
+ }>;
2213
+ reviewUnlocked(kbId: string, revision: string, docId: string, occurrenceId: string, value: Overlay | null, expectedHash: string, options?: ReviewOptions): Promise<{
2214
+ outputPath: string | null;
2215
+ jobId: string;
2216
+ kbId: string;
2217
+ docId: string;
2218
+ title: string;
2219
+ sourceVersion: string;
2220
+ filename: string;
2221
+ sourceFormat: "docx" | "pdf";
2222
+ sourceOriginalHash: string;
2223
+ buildKey: string;
2224
+ config: {
2225
+ dataRoot: string;
2226
+ chunkTargetChars: number;
2227
+ evidenceMaxChars: number;
2228
+ catalogMaxChars: number;
2229
+ candidateLimit: number;
2230
+ maxInputBytes: number;
2231
+ maxUncompressedBytes: number;
2232
+ maxArchiveEntries: number;
2233
+ modelTimeoutMs: number;
2234
+ modelAttempts: number;
2235
+ visionConcurrency: number;
2236
+ maxModelCalls: number;
2237
+ maxModelTokens: number;
2238
+ visionMaxEdge: number;
2239
+ visionTileSize: number;
2240
+ visionMaxTiles: number;
2241
+ modelMaxOutputTokens: number;
2242
+ summaryMaxChars: number;
2243
+ figureMaxChars: number;
2244
+ pdfMaxPages: number;
2245
+ pdfMaxPagePixels: number;
2246
+ pdfPageTimeoutMs: number;
2247
+ libreOfficePath: string;
2248
+ visionProvider: string;
2249
+ visionModel: string;
2250
+ summaryProvider: string;
2251
+ summaryModel: string;
2252
+ skipImages: boolean;
2253
+ acceptPartial: boolean;
2254
+ };
2255
+ routes: {
2256
+ vision: {
2257
+ provider: string;
2258
+ model: string;
2259
+ } | null;
2260
+ summary: {
2261
+ provider: string;
2262
+ model: string;
2263
+ } | null;
2264
+ };
2265
+ schemaHash: string;
2266
+ sessionId: string | null;
2267
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2268
+ createdAt: string;
2269
+ progress: {
2270
+ totalPages?: number | undefined;
2271
+ parsedPages?: number | undefined;
2272
+ ocrPages?: number | undefined;
2273
+ tables?: number | undefined;
2274
+ blocks?: number | undefined;
2275
+ currentPage?: number | undefined;
2276
+ totalFigures?: number | undefined;
2277
+ completedFigures?: number | undefined;
2278
+ inflightFigures?: {
2279
+ occurrenceId: string;
2280
+ caption: string;
2281
+ }[] | undefined;
2282
+ totalChunks?: number | undefined;
2283
+ indexedChunks?: number | undefined;
2284
+ currentChunk?: {
2285
+ title: string;
2286
+ headingPath: string[];
2287
+ chunkId: string;
2288
+ } | undefined;
2289
+ };
2290
+ usage: {
2291
+ calls: number;
2292
+ tokens: number;
2293
+ reportedCalls: number;
2294
+ records: import("zod").JSONType[];
2295
+ };
2296
+ failures: {
2297
+ at: string;
2298
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2299
+ error: string;
2300
+ }[];
2301
+ sourceHash?: string | undefined;
2302
+ updatedAt?: string | undefined;
2303
+ events?: {
2304
+ at: string;
2305
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2306
+ }[] | undefined;
2307
+ figureRefresh?: {
2308
+ occurrenceId: string;
2309
+ token: string;
2310
+ } | null | undefined;
2311
+ visionCapability?: string | undefined;
2312
+ parserVersion?: string | undefined;
2313
+ pageStart?: number | undefined;
2314
+ pageEnd?: number | undefined;
2315
+ pdf?: {
2316
+ pageCount: number;
2317
+ selectedPages: {
2318
+ start: number;
2319
+ end: number;
2320
+ count: number;
2321
+ total: number;
2322
+ partial: boolean;
2323
+ };
2324
+ outlineCount?: number | undefined;
2325
+ } | undefined;
2326
+ revision?: string | undefined;
2327
+ report?: {
2328
+ revision: string;
2329
+ sourceHash: string;
2330
+ issues: {
2331
+ code: string;
2332
+ message: string;
2333
+ blocking: boolean;
2334
+ page?: number | undefined;
2335
+ kind?: string | undefined;
2336
+ snippet?: string | undefined;
2337
+ reason?: string | undefined;
2338
+ }[];
2339
+ documents: number;
2340
+ blocks: number;
2341
+ figures: number;
2342
+ ignoredFigures: number;
2343
+ unreviewedFigures: number;
2344
+ chunks: number;
2345
+ withinTarget: number;
2346
+ oversized: {
2347
+ chunkId: string;
2348
+ chars: number;
2349
+ reason: string;
2350
+ }[];
2351
+ usage: {
2352
+ calls: number;
2353
+ tokens: number;
2354
+ reportedCalls: number;
2355
+ records: import("zod").JSONType[];
2356
+ };
2357
+ targetChars: number;
2358
+ pdf?: {
2359
+ pageCount: number;
2360
+ selectedPages: {
2361
+ start: number;
2362
+ end: number;
2363
+ count: number;
2364
+ total: number;
2365
+ partial: boolean;
2366
+ };
2367
+ outlineCount: number;
2368
+ matchedBookmarks: number;
2369
+ ocrPages: number;
2370
+ pages: {
2371
+ page: number;
2372
+ status: "failed" | "needs-review" | "navigation" | "parsed";
2373
+ ocr: boolean;
2374
+ tables: number;
2375
+ figures: number;
2376
+ headings: {
2377
+ text: string;
2378
+ level: number;
2379
+ basis?: string | undefined;
2380
+ }[];
2381
+ width?: number | undefined;
2382
+ height?: number | undefined;
2383
+ pageLabel?: string | null | undefined;
2384
+ spanCount?: number | undefined;
2385
+ artifactCount?: number | undefined;
2386
+ excluded?: {
2387
+ kind: string;
2388
+ bbox: [number, number, number, number] | null;
2389
+ text?: string | undefined;
2390
+ }[] | undefined;
2391
+ previewAssetId?: string | null | undefined;
2392
+ error?: string | undefined;
2393
+ }[];
2394
+ } | undefined;
2395
+ } | undefined;
2396
+ error?: string | null | undefined;
2397
+ recoveredAt?: string | undefined;
2398
+ finishedAt?: string | undefined;
2399
+ cancelRequested?: boolean | undefined;
2400
+ } | {
2401
+ reused: boolean;
2402
+ outputPath: string | null;
2403
+ jobId: string;
2404
+ kbId: string;
2405
+ docId: string;
2406
+ title: string;
2407
+ sourceVersion: string;
2408
+ filename: string;
2409
+ sourceFormat: "docx" | "pdf";
2410
+ sourceOriginalHash: string;
2411
+ buildKey: string;
2412
+ config: {
2413
+ dataRoot: string;
2414
+ chunkTargetChars: number;
2415
+ evidenceMaxChars: number;
2416
+ catalogMaxChars: number;
2417
+ candidateLimit: number;
2418
+ maxInputBytes: number;
2419
+ maxUncompressedBytes: number;
2420
+ maxArchiveEntries: number;
2421
+ modelTimeoutMs: number;
2422
+ modelAttempts: number;
2423
+ visionConcurrency: number;
2424
+ maxModelCalls: number;
2425
+ maxModelTokens: number;
2426
+ visionMaxEdge: number;
2427
+ visionTileSize: number;
2428
+ visionMaxTiles: number;
2429
+ modelMaxOutputTokens: number;
2430
+ summaryMaxChars: number;
2431
+ figureMaxChars: number;
2432
+ pdfMaxPages: number;
2433
+ pdfMaxPagePixels: number;
2434
+ pdfPageTimeoutMs: number;
2435
+ libreOfficePath: string;
2436
+ visionProvider: string;
2437
+ visionModel: string;
2438
+ summaryProvider: string;
2439
+ summaryModel: string;
2440
+ skipImages: boolean;
2441
+ acceptPartial: boolean;
2442
+ };
2443
+ routes: {
2444
+ vision: {
2445
+ provider: string;
2446
+ model: string;
2447
+ } | null;
2448
+ summary: {
2449
+ provider: string;
2450
+ model: string;
2451
+ } | null;
2452
+ };
2453
+ schemaHash: string;
2454
+ sessionId: string | null;
2455
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2456
+ createdAt: string;
2457
+ progress: {
2458
+ totalPages?: number | undefined;
2459
+ parsedPages?: number | undefined;
2460
+ ocrPages?: number | undefined;
2461
+ tables?: number | undefined;
2462
+ blocks?: number | undefined;
2463
+ currentPage?: number | undefined;
2464
+ totalFigures?: number | undefined;
2465
+ completedFigures?: number | undefined;
2466
+ inflightFigures?: {
2467
+ occurrenceId: string;
2468
+ caption: string;
2469
+ }[] | undefined;
2470
+ totalChunks?: number | undefined;
2471
+ indexedChunks?: number | undefined;
2472
+ currentChunk?: {
2473
+ title: string;
2474
+ headingPath: string[];
2475
+ chunkId: string;
2476
+ } | undefined;
2477
+ };
2478
+ usage: {
2479
+ calls: number;
2480
+ tokens: number;
2481
+ reportedCalls: number;
2482
+ records: import("zod").JSONType[];
2483
+ };
2484
+ failures: {
2485
+ at: string;
2486
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2487
+ error: string;
2488
+ }[];
2489
+ sourceHash?: string | undefined;
2490
+ updatedAt?: string | undefined;
2491
+ events?: {
2492
+ at: string;
2493
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2494
+ }[] | undefined;
2495
+ figureRefresh?: {
2496
+ occurrenceId: string;
2497
+ token: string;
2498
+ } | null | undefined;
2499
+ visionCapability?: string | undefined;
2500
+ parserVersion?: string | undefined;
2501
+ pageStart?: number | undefined;
2502
+ pageEnd?: number | undefined;
2503
+ pdf?: {
2504
+ pageCount: number;
2505
+ selectedPages: {
2506
+ start: number;
2507
+ end: number;
2508
+ count: number;
2509
+ total: number;
2510
+ partial: boolean;
2511
+ };
2512
+ outlineCount?: number | undefined;
2513
+ } | undefined;
2514
+ revision?: string | undefined;
2515
+ report?: {
2516
+ revision: string;
2517
+ sourceHash: string;
2518
+ issues: {
2519
+ code: string;
2520
+ message: string;
2521
+ blocking: boolean;
2522
+ page?: number | undefined;
2523
+ kind?: string | undefined;
2524
+ snippet?: string | undefined;
2525
+ reason?: string | undefined;
2526
+ }[];
2527
+ documents: number;
2528
+ blocks: number;
2529
+ figures: number;
2530
+ ignoredFigures: number;
2531
+ unreviewedFigures: number;
2532
+ chunks: number;
2533
+ withinTarget: number;
2534
+ oversized: {
2535
+ chunkId: string;
2536
+ chars: number;
2537
+ reason: string;
2538
+ }[];
2539
+ usage: {
2540
+ calls: number;
2541
+ tokens: number;
2542
+ reportedCalls: number;
2543
+ records: import("zod").JSONType[];
2544
+ };
2545
+ targetChars: number;
2546
+ pdf?: {
2547
+ pageCount: number;
2548
+ selectedPages: {
2549
+ start: number;
2550
+ end: number;
2551
+ count: number;
2552
+ total: number;
2553
+ partial: boolean;
2554
+ };
2555
+ outlineCount: number;
2556
+ matchedBookmarks: number;
2557
+ ocrPages: number;
2558
+ pages: {
2559
+ page: number;
2560
+ status: "failed" | "needs-review" | "navigation" | "parsed";
2561
+ ocr: boolean;
2562
+ tables: number;
2563
+ figures: number;
2564
+ headings: {
2565
+ text: string;
2566
+ level: number;
2567
+ basis?: string | undefined;
2568
+ }[];
2569
+ width?: number | undefined;
2570
+ height?: number | undefined;
2571
+ pageLabel?: string | null | undefined;
2572
+ spanCount?: number | undefined;
2573
+ artifactCount?: number | undefined;
2574
+ excluded?: {
2575
+ kind: string;
2576
+ bbox: [number, number, number, number] | null;
2577
+ text?: string | undefined;
2578
+ }[] | undefined;
2579
+ previewAssetId?: string | null | undefined;
2580
+ error?: string | undefined;
2581
+ }[];
2582
+ } | undefined;
2583
+ } | undefined;
2584
+ error?: string | null | undefined;
2585
+ recoveredAt?: string | undefined;
2586
+ finishedAt?: string | undefined;
2587
+ cancelRequested?: boolean | undefined;
2588
+ }>;
2589
+ trash(kbId: string, expectedName: string): Promise<{
2590
+ kbId: string;
2591
+ name: string;
2592
+ createdAt: string;
2593
+ deletedAt?: string | undefined;
2594
+ purge?: {
2595
+ startedAt: string;
2596
+ jobIds: string[];
2597
+ error?: string | undefined;
2598
+ } | undefined;
2599
+ }>;
2600
+ restore(kbId: string): Promise<{
2601
+ kbId: string;
2602
+ name: string;
2603
+ createdAt: string;
2604
+ deletedAt?: string | undefined;
2605
+ purge?: {
2606
+ startedAt: string;
2607
+ jobIds: string[];
2608
+ error?: string | undefined;
2609
+ } | undefined;
2610
+ }>;
2611
+ purge(kbId: string, expectedName: string, confirmed: boolean): Promise<{
2612
+ kbId: string;
2613
+ name: string;
2614
+ purged: boolean;
2615
+ }>;
2616
+ wait(jobId: string): Promise<{
2617
+ outputPath: string | null;
2618
+ jobId: string;
2619
+ kbId: string;
2620
+ docId: string;
2621
+ title: string;
2622
+ sourceVersion: string;
2623
+ filename: string;
2624
+ sourceFormat: "docx" | "pdf";
2625
+ sourceOriginalHash: string;
2626
+ buildKey: string;
2627
+ config: {
2628
+ dataRoot: string;
2629
+ chunkTargetChars: number;
2630
+ evidenceMaxChars: number;
2631
+ catalogMaxChars: number;
2632
+ candidateLimit: number;
2633
+ maxInputBytes: number;
2634
+ maxUncompressedBytes: number;
2635
+ maxArchiveEntries: number;
2636
+ modelTimeoutMs: number;
2637
+ modelAttempts: number;
2638
+ visionConcurrency: number;
2639
+ maxModelCalls: number;
2640
+ maxModelTokens: number;
2641
+ visionMaxEdge: number;
2642
+ visionTileSize: number;
2643
+ visionMaxTiles: number;
2644
+ modelMaxOutputTokens: number;
2645
+ summaryMaxChars: number;
2646
+ figureMaxChars: number;
2647
+ pdfMaxPages: number;
2648
+ pdfMaxPagePixels: number;
2649
+ pdfPageTimeoutMs: number;
2650
+ libreOfficePath: string;
2651
+ visionProvider: string;
2652
+ visionModel: string;
2653
+ summaryProvider: string;
2654
+ summaryModel: string;
2655
+ skipImages: boolean;
2656
+ acceptPartial: boolean;
2657
+ };
2658
+ routes: {
2659
+ vision: {
2660
+ provider: string;
2661
+ model: string;
2662
+ } | null;
2663
+ summary: {
2664
+ provider: string;
2665
+ model: string;
2666
+ } | null;
2667
+ };
2668
+ schemaHash: string;
2669
+ sessionId: string | null;
2670
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2671
+ createdAt: string;
2672
+ progress: {
2673
+ totalPages?: number | undefined;
2674
+ parsedPages?: number | undefined;
2675
+ ocrPages?: number | undefined;
2676
+ tables?: number | undefined;
2677
+ blocks?: number | undefined;
2678
+ currentPage?: number | undefined;
2679
+ totalFigures?: number | undefined;
2680
+ completedFigures?: number | undefined;
2681
+ inflightFigures?: {
2682
+ occurrenceId: string;
2683
+ caption: string;
2684
+ }[] | undefined;
2685
+ totalChunks?: number | undefined;
2686
+ indexedChunks?: number | undefined;
2687
+ currentChunk?: {
2688
+ title: string;
2689
+ headingPath: string[];
2690
+ chunkId: string;
2691
+ } | undefined;
2692
+ };
2693
+ usage: {
2694
+ calls: number;
2695
+ tokens: number;
2696
+ reportedCalls: number;
2697
+ records: import("zod").JSONType[];
2698
+ };
2699
+ failures: {
2700
+ at: string;
2701
+ stage: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2702
+ error: string;
2703
+ }[];
2704
+ sourceHash?: string | undefined;
2705
+ updatedAt?: string | undefined;
2706
+ events?: {
2707
+ at: string;
2708
+ state: "failed" | "needs-review" | "queued" | "preflight" | "converting" | "describing" | "splitting" | "indexing" | "validating" | "publishing" | "paused-budget" | "cancelled" | "ready";
2709
+ }[] | undefined;
2710
+ figureRefresh?: {
2711
+ occurrenceId: string;
2712
+ token: string;
2713
+ } | null | undefined;
2714
+ visionCapability?: string | undefined;
2715
+ parserVersion?: string | undefined;
2716
+ pageStart?: number | undefined;
2717
+ pageEnd?: number | undefined;
2718
+ pdf?: {
2719
+ pageCount: number;
2720
+ selectedPages: {
2721
+ start: number;
2722
+ end: number;
2723
+ count: number;
2724
+ total: number;
2725
+ partial: boolean;
2726
+ };
2727
+ outlineCount?: number | undefined;
2728
+ } | undefined;
2729
+ revision?: string | undefined;
2730
+ report?: {
2731
+ revision: string;
2732
+ sourceHash: string;
2733
+ issues: {
2734
+ code: string;
2735
+ message: string;
2736
+ blocking: boolean;
2737
+ page?: number | undefined;
2738
+ kind?: string | undefined;
2739
+ snippet?: string | undefined;
2740
+ reason?: string | undefined;
2741
+ }[];
2742
+ documents: number;
2743
+ blocks: number;
2744
+ figures: number;
2745
+ ignoredFigures: number;
2746
+ unreviewedFigures: number;
2747
+ chunks: number;
2748
+ withinTarget: number;
2749
+ oversized: {
2750
+ chunkId: string;
2751
+ chars: number;
2752
+ reason: string;
2753
+ }[];
2754
+ usage: {
2755
+ calls: number;
2756
+ tokens: number;
2757
+ reportedCalls: number;
2758
+ records: import("zod").JSONType[];
2759
+ };
2760
+ targetChars: number;
2761
+ pdf?: {
2762
+ pageCount: number;
2763
+ selectedPages: {
2764
+ start: number;
2765
+ end: number;
2766
+ count: number;
2767
+ total: number;
2768
+ partial: boolean;
2769
+ };
2770
+ outlineCount: number;
2771
+ matchedBookmarks: number;
2772
+ ocrPages: number;
2773
+ pages: {
2774
+ page: number;
2775
+ status: "failed" | "needs-review" | "navigation" | "parsed";
2776
+ ocr: boolean;
2777
+ tables: number;
2778
+ figures: number;
2779
+ headings: {
2780
+ text: string;
2781
+ level: number;
2782
+ basis?: string | undefined;
2783
+ }[];
2784
+ width?: number | undefined;
2785
+ height?: number | undefined;
2786
+ pageLabel?: string | null | undefined;
2787
+ spanCount?: number | undefined;
2788
+ artifactCount?: number | undefined;
2789
+ excluded?: {
2790
+ kind: string;
2791
+ bbox: [number, number, number, number] | null;
2792
+ text?: string | undefined;
2793
+ }[] | undefined;
2794
+ previewAssetId?: string | null | undefined;
2795
+ error?: string | undefined;
2796
+ }[];
2797
+ } | undefined;
2798
+ } | undefined;
2799
+ error?: string | null | undefined;
2800
+ recoveredAt?: string | undefined;
2801
+ finishedAt?: string | undefined;
2802
+ cancelRequested?: boolean | undefined;
2803
+ }>;
2804
+ stop(): void;
2805
+ close(): Promise<void>;
2806
+ }