@absolutejs/rag 0.0.1

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 (110) hide show
  1. package/README.md +6 -0
  2. package/dist/ai/client/index.js +12628 -0
  3. package/dist/ai/client/index.js.map +15 -0
  4. package/dist/ai/client/ui.js +11245 -0
  5. package/dist/ai/client/ui.js.map +12 -0
  6. package/dist/ai/rag/index.js +37146 -0
  7. package/dist/ai/rag/index.js.map +38 -0
  8. package/dist/ai/rag/quality.js +11358 -0
  9. package/dist/ai/rag/quality.js.map +12 -0
  10. package/dist/ai/rag/ui.js +11282 -0
  11. package/dist/ai/rag/ui.js.map +12 -0
  12. package/dist/angular/ai/index.js +4383 -0
  13. package/dist/angular/ai/index.js.map +17 -0
  14. package/dist/react/ai/index.js +4942 -0
  15. package/dist/react/ai/index.js.map +31 -0
  16. package/dist/src/ai/client/createRAGAnswerWorkflow.d.ts +32 -0
  17. package/dist/src/ai/client/createRAGStream.d.ts +2 -0
  18. package/dist/src/ai/client/createRAGWorkflow.d.ts +3 -0
  19. package/dist/src/ai/client/index.d.ts +8 -0
  20. package/dist/src/ai/client/ragClient.d.ts +349 -0
  21. package/dist/src/ai/client/ui.d.ts +5 -0
  22. package/dist/src/ai/rag/accessControl.d.ts +2 -0
  23. package/dist/src/ai/rag/adapters/filtering.d.ts +2 -0
  24. package/dist/src/ai/rag/adapters/inMemory.d.ts +8 -0
  25. package/dist/src/ai/rag/adapters/postgres.d.ts +20 -0
  26. package/dist/src/ai/rag/adapters/queryPlanning.d.ts +26 -0
  27. package/dist/src/ai/rag/adapters/sqlite.d.ts +24 -0
  28. package/dist/src/ai/rag/adapters/utils.d.ts +3 -0
  29. package/dist/src/ai/rag/chat.d.ts +1773 -0
  30. package/dist/src/ai/rag/collection.d.ts +15 -0
  31. package/dist/src/ai/rag/constants.d.ts +9 -0
  32. package/dist/src/ai/rag/emailProviders.d.ts +34 -0
  33. package/dist/src/ai/rag/embedding.d.ts +9 -0
  34. package/dist/src/ai/rag/embeddingProviders.d.ts +50 -0
  35. package/dist/src/ai/rag/extractorProviders.d.ts +58 -0
  36. package/dist/src/ai/rag/grounding.d.ts +6 -0
  37. package/dist/src/ai/rag/htmxConfig.d.ts +3 -0
  38. package/dist/src/ai/rag/htmxWorkflowRenderers.d.ts +3 -0
  39. package/dist/src/ai/rag/index.d.ts +30 -0
  40. package/dist/src/ai/rag/ingestion.d.ts +61 -0
  41. package/dist/src/ai/rag/jobState.d.ts +2 -0
  42. package/dist/src/ai/rag/lexical.d.ts +42 -0
  43. package/dist/src/ai/rag/presentation.d.ts +165 -0
  44. package/dist/src/ai/rag/quality.d.ts +607 -0
  45. package/dist/src/ai/rag/queryTransforms.d.ts +17 -0
  46. package/dist/src/ai/rag/reranking.d.ts +17 -0
  47. package/dist/src/ai/rag/resolveAbsoluteSQLiteVec.d.ts +3 -0
  48. package/dist/src/ai/rag/retrievalStrategies.d.ts +6 -0
  49. package/dist/src/ai/rag/sync.d.ts +37 -0
  50. package/dist/src/ai/rag/types.d.ts +11 -0
  51. package/dist/src/ai/rag/ui.d.ts +4 -0
  52. package/dist/src/ai/rag/workflowState.d.ts +1 -0
  53. package/dist/src/angular/ai/ai-rag-stream.service.d.ts +32 -0
  54. package/dist/src/angular/ai/ai-rag-workflow.service.d.ts +33 -0
  55. package/dist/src/angular/ai/index.d.ts +3 -0
  56. package/dist/src/angular/ai/rag-client.service.d.ts +243 -0
  57. package/dist/src/constants.d.ts +60 -0
  58. package/dist/src/react/ai/index.d.ts +18 -0
  59. package/dist/src/react/ai/useRAG.d.ts +341 -0
  60. package/dist/src/react/ai/useRAGChunkPreview.d.ts +20 -0
  61. package/dist/src/react/ai/useRAGCitations.d.ts +9 -0
  62. package/dist/src/react/ai/useRAGDocuments.d.ts +10 -0
  63. package/dist/src/react/ai/useRAGEvaluate.d.ts +28 -0
  64. package/dist/src/react/ai/useRAGGrounding.d.ts +10 -0
  65. package/dist/src/react/ai/useRAGIndexAdmin.d.ts +58 -0
  66. package/dist/src/react/ai/useRAGIngest.d.ts +16 -0
  67. package/dist/src/react/ai/useRAGOps.d.ts +20 -0
  68. package/dist/src/react/ai/useRAGSearch.d.ts +17 -0
  69. package/dist/src/react/ai/useRAGSources.d.ts +13 -0
  70. package/dist/src/react/ai/useRAGStatus.d.ts +10 -0
  71. package/dist/src/react/ai/useRAGStream.d.ts +55 -0
  72. package/dist/src/react/ai/useRAGStreamProgress.d.ts +9 -0
  73. package/dist/src/react/ai/useRAGWorkflow.d.ts +55 -0
  74. package/dist/src/svelte/ai/createRAG.d.ts +292 -0
  75. package/dist/src/svelte/ai/createRAGChunkPreview.d.ts +20 -0
  76. package/dist/src/svelte/ai/createRAGCitations.d.ts +10 -0
  77. package/dist/src/svelte/ai/createRAGDocuments.d.ts +10 -0
  78. package/dist/src/svelte/ai/createRAGEvaluate.d.ts +28 -0
  79. package/dist/src/svelte/ai/createRAGGrounding.d.ts +11 -0
  80. package/dist/src/svelte/ai/createRAGIndexAdmin.d.ts +58 -0
  81. package/dist/src/svelte/ai/createRAGIngest.d.ts +17 -0
  82. package/dist/src/svelte/ai/createRAGOps.d.ts +20 -0
  83. package/dist/src/svelte/ai/createRAGSearch.d.ts +15 -0
  84. package/dist/src/svelte/ai/createRAGSources.d.ts +14 -0
  85. package/dist/src/svelte/ai/createRAGStatus.d.ts +9 -0
  86. package/dist/src/svelte/ai/createRAGStream.d.ts +30 -0
  87. package/dist/src/svelte/ai/createRAGStreamProgress.d.ts +8 -0
  88. package/dist/src/svelte/ai/createRAGWorkflow.d.ts +30 -0
  89. package/dist/src/svelte/ai/index.d.ts +17 -0
  90. package/dist/src/vue/ai/index.d.ts +17 -0
  91. package/dist/src/vue/ai/useRAG.d.ts +2892 -0
  92. package/dist/src/vue/ai/useRAGChunkPreview.d.ts +152 -0
  93. package/dist/src/vue/ai/useRAGCitations.d.ts +10 -0
  94. package/dist/src/vue/ai/useRAGDocuments.d.ts +94 -0
  95. package/dist/src/vue/ai/useRAGEvaluate.d.ts +1002 -0
  96. package/dist/src/vue/ai/useRAGGrounding.d.ts +11 -0
  97. package/dist/src/vue/ai/useRAGIndexAdmin.d.ts +1104 -0
  98. package/dist/src/vue/ai/useRAGIngest.d.ts +27 -0
  99. package/dist/src/vue/ai/useRAGOps.d.ts +220 -0
  100. package/dist/src/vue/ai/useRAGSearch.d.ts +159 -0
  101. package/dist/src/vue/ai/useRAGSources.d.ts +14 -0
  102. package/dist/src/vue/ai/useRAGStatus.d.ts +9 -0
  103. package/dist/src/vue/ai/useRAGStream.d.ts +35 -0
  104. package/dist/src/vue/ai/useRAGStreamProgress.d.ts +8 -0
  105. package/dist/src/vue/ai/useRAGWorkflow.d.ts +35 -0
  106. package/dist/svelte/ai/index.js +4930 -0
  107. package/dist/svelte/ai/index.js.map +29 -0
  108. package/dist/vue/ai/index.js +4905 -0
  109. package/dist/vue/ai/index.js.map +29 -0
  110. package/package.json +81 -0
@@ -0,0 +1,2892 @@
1
+ export type UseRAGOptions = {
2
+ autoLoadOps?: boolean;
3
+ autoLoadStatus?: boolean;
4
+ conversationId?: string;
5
+ streamPath?: string;
6
+ };
7
+ export declare const useRAG: (path: string, options?: UseRAGOptions) => {
8
+ chunkPreview: {
9
+ activeChunkId: import("vue").Ref<string | null, string | null>;
10
+ activeSectionDiagnostic: import("vue").ComputedRef<import("@absolutejs/ai").RAGSectionRetrievalDiagnostic | null>;
11
+ clear: () => void;
12
+ chunkGraph: import("vue").ComputedRef<import("@absolutejs/ai").RAGChunkGraph | null>;
13
+ error: import("vue").Ref<string | null, string | null>;
14
+ inspect: (id: string) => Promise<{
15
+ ok: true;
16
+ } & import("@absolutejs/ai").RAGDocumentChunkPreview>;
17
+ isLoading: import("vue").Ref<boolean, boolean>;
18
+ navigation: import("vue").ComputedRef<import("@absolutejs/ai").RAGChunkGraphNavigation | null>;
19
+ preview: import("vue").Ref<{
20
+ document: {
21
+ kind?: string | undefined;
22
+ source: string;
23
+ title: string;
24
+ corpusKey?: string | undefined;
25
+ labels?: {
26
+ contextLabel?: string | undefined;
27
+ locatorLabel?: string | undefined;
28
+ provenanceLabel?: string | undefined;
29
+ } | undefined;
30
+ id: string;
31
+ createdAt?: number | undefined;
32
+ chunkCount?: number | undefined;
33
+ format?: import("@absolutejs/ai").RAGContentFormat | undefined;
34
+ chunkStrategy?: import("@absolutejs/ai").RAGChunkingStrategy | undefined;
35
+ chunkSize?: number | undefined;
36
+ updatedAt?: number | undefined;
37
+ metadata?: Record<string, unknown> | undefined;
38
+ };
39
+ normalizedText: string;
40
+ chunks: {
41
+ chunkId: string;
42
+ corpusKey?: string | undefined;
43
+ text: string;
44
+ title?: string | undefined;
45
+ source?: string | undefined;
46
+ metadata?: Record<string, unknown> | undefined;
47
+ embedding?: number[] | undefined;
48
+ embeddingVariants?: {
49
+ id: string;
50
+ label?: string | undefined;
51
+ text?: string | undefined;
52
+ metadata?: Record<string, unknown> | undefined;
53
+ embedding?: number[] | undefined;
54
+ }[] | undefined;
55
+ structure?: {
56
+ section?: {
57
+ title?: string | undefined;
58
+ path?: string[] | undefined;
59
+ depth?: number | undefined;
60
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "office_block" | "pdf_block" | "spreadsheet_rows" | "presentation_slide" | undefined;
61
+ } | undefined;
62
+ sequence?: {
63
+ sectionChunkId?: string | undefined;
64
+ sectionChunkIndex?: number | undefined;
65
+ sectionChunkCount?: number | undefined;
66
+ previousChunkId?: string | undefined;
67
+ nextChunkId?: string | undefined;
68
+ } | undefined;
69
+ } | undefined;
70
+ labels?: {
71
+ contextLabel?: string | undefined;
72
+ locatorLabel?: string | undefined;
73
+ provenanceLabel?: string | undefined;
74
+ } | undefined;
75
+ excerpts?: {
76
+ chunkExcerpt: string;
77
+ windowExcerpt: string;
78
+ sectionExcerpt: string;
79
+ } | undefined;
80
+ excerptSelection?: {
81
+ mode: import("@absolutejs/ai").RAGExcerptMode;
82
+ reason: import("@absolutejs/ai").RAGExcerptPromotionReason;
83
+ } | undefined;
84
+ }[];
85
+ } | null, import("@absolutejs/ai").RAGDocumentChunkPreview | {
86
+ document: {
87
+ kind?: string | undefined;
88
+ source: string;
89
+ title: string;
90
+ corpusKey?: string | undefined;
91
+ labels?: {
92
+ contextLabel?: string | undefined;
93
+ locatorLabel?: string | undefined;
94
+ provenanceLabel?: string | undefined;
95
+ } | undefined;
96
+ id: string;
97
+ createdAt?: number | undefined;
98
+ chunkCount?: number | undefined;
99
+ format?: import("@absolutejs/ai").RAGContentFormat | undefined;
100
+ chunkStrategy?: import("@absolutejs/ai").RAGChunkingStrategy | undefined;
101
+ chunkSize?: number | undefined;
102
+ updatedAt?: number | undefined;
103
+ metadata?: Record<string, unknown> | undefined;
104
+ };
105
+ normalizedText: string;
106
+ chunks: {
107
+ chunkId: string;
108
+ corpusKey?: string | undefined;
109
+ text: string;
110
+ title?: string | undefined;
111
+ source?: string | undefined;
112
+ metadata?: Record<string, unknown> | undefined;
113
+ embedding?: number[] | undefined;
114
+ embeddingVariants?: {
115
+ id: string;
116
+ label?: string | undefined;
117
+ text?: string | undefined;
118
+ metadata?: Record<string, unknown> | undefined;
119
+ embedding?: number[] | undefined;
120
+ }[] | undefined;
121
+ structure?: {
122
+ section?: {
123
+ title?: string | undefined;
124
+ path?: string[] | undefined;
125
+ depth?: number | undefined;
126
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "office_block" | "pdf_block" | "spreadsheet_rows" | "presentation_slide" | undefined;
127
+ } | undefined;
128
+ sequence?: {
129
+ sectionChunkId?: string | undefined;
130
+ sectionChunkIndex?: number | undefined;
131
+ sectionChunkCount?: number | undefined;
132
+ previousChunkId?: string | undefined;
133
+ nextChunkId?: string | undefined;
134
+ } | undefined;
135
+ } | undefined;
136
+ labels?: {
137
+ contextLabel?: string | undefined;
138
+ locatorLabel?: string | undefined;
139
+ provenanceLabel?: string | undefined;
140
+ } | undefined;
141
+ excerpts?: {
142
+ chunkExcerpt: string;
143
+ windowExcerpt: string;
144
+ sectionExcerpt: string;
145
+ } | undefined;
146
+ excerptSelection?: {
147
+ mode: import("@absolutejs/ai").RAGExcerptMode;
148
+ reason: import("@absolutejs/ai").RAGExcerptPromotionReason;
149
+ } | undefined;
150
+ }[];
151
+ } | null>;
152
+ sectionDiagnostics: import("vue").ComputedRef<import("@absolutejs/ai").RAGSectionRetrievalDiagnostic[]>;
153
+ selectChildSection: (sectionId: string) => void;
154
+ selectChunk: (id: string | null) => void;
155
+ selectParentSection: () => void;
156
+ selectSiblingSection: (sectionId: string) => void;
157
+ };
158
+ citations: {
159
+ citationReferenceMap: import("vue").ComputedRef<import("@absolutejs/ai").RAGCitationReferenceMap>;
160
+ citations: import("vue").ComputedRef<import("@absolutejs/ai").RAGCitation[]>;
161
+ hasCitations: import("vue").ComputedRef<boolean>;
162
+ sourceGroups: import("vue").ComputedRef<import("@absolutejs/ai").RAGSourceGroup[]>;
163
+ sourceSummaries: import("vue").ComputedRef<import("@absolutejs/ai").RAGSourceSummary[]>;
164
+ };
165
+ documents: {
166
+ documents: import("vue").Ref<{
167
+ corpusKey?: string | undefined;
168
+ id: string;
169
+ title: string;
170
+ source: string;
171
+ text?: string | undefined;
172
+ kind?: string | undefined;
173
+ format?: import("@absolutejs/ai").RAGContentFormat | undefined;
174
+ chunkStrategy?: import("@absolutejs/ai").RAGChunkingStrategy | undefined;
175
+ chunkSize?: number | undefined;
176
+ chunkCount?: number | undefined;
177
+ createdAt?: number | undefined;
178
+ updatedAt?: number | undefined;
179
+ metadata?: Record<string, unknown> | undefined;
180
+ labels?: {
181
+ contextLabel?: string | undefined;
182
+ locatorLabel?: string | undefined;
183
+ provenanceLabel?: string | undefined;
184
+ } | undefined;
185
+ }[], import("@absolutejs/ai").RAGIndexedDocument[] | {
186
+ corpusKey?: string | undefined;
187
+ id: string;
188
+ title: string;
189
+ source: string;
190
+ text?: string | undefined;
191
+ kind?: string | undefined;
192
+ format?: import("@absolutejs/ai").RAGContentFormat | undefined;
193
+ chunkStrategy?: import("@absolutejs/ai").RAGChunkingStrategy | undefined;
194
+ chunkSize?: number | undefined;
195
+ chunkCount?: number | undefined;
196
+ createdAt?: number | undefined;
197
+ updatedAt?: number | undefined;
198
+ metadata?: Record<string, unknown> | undefined;
199
+ labels?: {
200
+ contextLabel?: string | undefined;
201
+ locatorLabel?: string | undefined;
202
+ provenanceLabel?: string | undefined;
203
+ } | undefined;
204
+ }[]>;
205
+ error: import("vue").Ref<string | null, string | null>;
206
+ isLoading: import("vue").Ref<boolean, boolean>;
207
+ lastResponse: import("vue").Ref<{
208
+ ok: true;
209
+ documents: {
210
+ corpusKey?: string | undefined;
211
+ id: string;
212
+ title: string;
213
+ source: string;
214
+ text?: string | undefined;
215
+ kind?: string | undefined;
216
+ format?: import("@absolutejs/ai").RAGContentFormat | undefined;
217
+ chunkStrategy?: import("@absolutejs/ai").RAGChunkingStrategy | undefined;
218
+ chunkSize?: number | undefined;
219
+ chunkCount?: number | undefined;
220
+ createdAt?: number | undefined;
221
+ updatedAt?: number | undefined;
222
+ metadata?: Record<string, unknown> | undefined;
223
+ labels?: {
224
+ contextLabel?: string | undefined;
225
+ locatorLabel?: string | undefined;
226
+ provenanceLabel?: string | undefined;
227
+ } | undefined;
228
+ }[];
229
+ lastSeedMsByMode?: Record<string, number> | undefined;
230
+ } | null, import("@absolutejs/ai").RAGDocumentsResponse | {
231
+ ok: true;
232
+ documents: {
233
+ corpusKey?: string | undefined;
234
+ id: string;
235
+ title: string;
236
+ source: string;
237
+ text?: string | undefined;
238
+ kind?: string | undefined;
239
+ format?: import("@absolutejs/ai").RAGContentFormat | undefined;
240
+ chunkStrategy?: import("@absolutejs/ai").RAGChunkingStrategy | undefined;
241
+ chunkSize?: number | undefined;
242
+ chunkCount?: number | undefined;
243
+ createdAt?: number | undefined;
244
+ updatedAt?: number | undefined;
245
+ metadata?: Record<string, unknown> | undefined;
246
+ labels?: {
247
+ contextLabel?: string | undefined;
248
+ locatorLabel?: string | undefined;
249
+ provenanceLabel?: string | undefined;
250
+ } | undefined;
251
+ }[];
252
+ lastSeedMsByMode?: Record<string, number> | undefined;
253
+ } | null>;
254
+ load: (kind?: string) => Promise<import("@absolutejs/ai").RAGDocumentsResponse>;
255
+ reset: () => void;
256
+ };
257
+ evaluate: {
258
+ clearRuns: () => void;
259
+ error: import("vue").Ref<string | null, string | null>;
260
+ evaluate: (input: import("@absolutejs/ai").RAGEvaluationInput) => Promise<import("@absolutejs/ai").RAGEvaluationResponse>;
261
+ isEvaluating: import("vue").Ref<boolean, boolean>;
262
+ lastRequest: import("vue").Ref<{
263
+ cases: {
264
+ id: string;
265
+ query: string;
266
+ corpusKey?: string | undefined;
267
+ topK?: number | undefined;
268
+ model?: string | undefined;
269
+ scoreThreshold?: number | undefined;
270
+ filter?: Record<string, unknown> | undefined;
271
+ retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
272
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
273
+ lexicalTopK?: number | undefined;
274
+ maxResultsPerSource?: number | undefined;
275
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
276
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
277
+ mmrLambda?: number | undefined;
278
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
279
+ fusionConstant?: number | undefined;
280
+ lexicalWeight?: number | undefined;
281
+ vectorWeight?: number | undefined;
282
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
283
+ nativeCandidateLimit?: number | undefined;
284
+ nativeMaxBackfills?: number | undefined;
285
+ nativeMinResults?: number | undefined;
286
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
287
+ } | undefined;
288
+ expectedChunkIds?: string[] | undefined;
289
+ expectedSources?: string[] | undefined;
290
+ expectedDocumentIds?: string[] | undefined;
291
+ goldenSet?: boolean | undefined;
292
+ hardNegativeChunkIds?: string[] | undefined;
293
+ hardNegativeSources?: string[] | undefined;
294
+ hardNegativeDocumentIds?: string[] | undefined;
295
+ label?: string | undefined;
296
+ metadata?: Record<string, unknown> | undefined;
297
+ }[];
298
+ topK?: number | undefined;
299
+ scoreThreshold?: number | undefined;
300
+ model?: string | undefined;
301
+ filter?: Record<string, unknown> | undefined;
302
+ retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
303
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
304
+ lexicalTopK?: number | undefined;
305
+ maxResultsPerSource?: number | undefined;
306
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
307
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
308
+ mmrLambda?: number | undefined;
309
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
310
+ fusionConstant?: number | undefined;
311
+ lexicalWeight?: number | undefined;
312
+ vectorWeight?: number | undefined;
313
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
314
+ nativeCandidateLimit?: number | undefined;
315
+ nativeMaxBackfills?: number | undefined;
316
+ nativeMinResults?: number | undefined;
317
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
318
+ } | undefined;
319
+ dryRun?: boolean | undefined;
320
+ } | null, import("@absolutejs/ai").RAGEvaluationInput | {
321
+ cases: {
322
+ id: string;
323
+ query: string;
324
+ corpusKey?: string | undefined;
325
+ topK?: number | undefined;
326
+ model?: string | undefined;
327
+ scoreThreshold?: number | undefined;
328
+ filter?: Record<string, unknown> | undefined;
329
+ retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
330
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
331
+ lexicalTopK?: number | undefined;
332
+ maxResultsPerSource?: number | undefined;
333
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
334
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
335
+ mmrLambda?: number | undefined;
336
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
337
+ fusionConstant?: number | undefined;
338
+ lexicalWeight?: number | undefined;
339
+ vectorWeight?: number | undefined;
340
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
341
+ nativeCandidateLimit?: number | undefined;
342
+ nativeMaxBackfills?: number | undefined;
343
+ nativeMinResults?: number | undefined;
344
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
345
+ } | undefined;
346
+ expectedChunkIds?: string[] | undefined;
347
+ expectedSources?: string[] | undefined;
348
+ expectedDocumentIds?: string[] | undefined;
349
+ goldenSet?: boolean | undefined;
350
+ hardNegativeChunkIds?: string[] | undefined;
351
+ hardNegativeSources?: string[] | undefined;
352
+ hardNegativeDocumentIds?: string[] | undefined;
353
+ label?: string | undefined;
354
+ metadata?: Record<string, unknown> | undefined;
355
+ }[];
356
+ topK?: number | undefined;
357
+ scoreThreshold?: number | undefined;
358
+ model?: string | undefined;
359
+ filter?: Record<string, unknown> | undefined;
360
+ retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
361
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
362
+ lexicalTopK?: number | undefined;
363
+ maxResultsPerSource?: number | undefined;
364
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
365
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
366
+ mmrLambda?: number | undefined;
367
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
368
+ fusionConstant?: number | undefined;
369
+ lexicalWeight?: number | undefined;
370
+ vectorWeight?: number | undefined;
371
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
372
+ nativeCandidateLimit?: number | undefined;
373
+ nativeMaxBackfills?: number | undefined;
374
+ nativeMinResults?: number | undefined;
375
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
376
+ } | undefined;
377
+ dryRun?: boolean | undefined;
378
+ } | null>;
379
+ lastResponse: import("vue").Ref<{
380
+ ok: true;
381
+ corpusKeys?: string[] | undefined;
382
+ cases: {
383
+ caseId: string;
384
+ corpusKey?: string | undefined;
385
+ query: string;
386
+ label?: string | undefined;
387
+ status: "pass" | "partial" | "fail";
388
+ topK: number;
389
+ elapsedMs: number;
390
+ retrievedCount: number;
391
+ expectedCount: number;
392
+ matchedCount: number;
393
+ precision: number;
394
+ recall: number;
395
+ f1: number;
396
+ retrievedIds: string[];
397
+ expectedIds: string[];
398
+ matchedIds: string[];
399
+ missingIds: string[];
400
+ mode: "chunkId" | "source" | "documentId";
401
+ failureClasses?: Array<"no_expected_targets" | "no_results" | "no_match" | "partial_recall" | "extra_noise" | "section_evidence_miss" | "section_graph_miss" | "section_hierarchy_miss" | "spreadsheet_evidence_miss" | "media_evidence_miss" | "ocr_evidence_miss" | "routing_miss"> | undefined;
402
+ metadata?: Record<string, unknown> | undefined;
403
+ }[];
404
+ summary: {
405
+ totalCases: number;
406
+ passedCases: number;
407
+ partialCases: number;
408
+ failedCases: number;
409
+ averagePrecision: number;
410
+ averageRecall: number;
411
+ averageF1: number;
412
+ averageLatencyMs: number;
413
+ };
414
+ elapsedMs: number;
415
+ totalCases: number;
416
+ passingRate: number;
417
+ } | null, import("@absolutejs/ai").RAGEvaluationResponse | {
418
+ ok: true;
419
+ corpusKeys?: string[] | undefined;
420
+ cases: {
421
+ caseId: string;
422
+ corpusKey?: string | undefined;
423
+ query: string;
424
+ label?: string | undefined;
425
+ status: "pass" | "partial" | "fail";
426
+ topK: number;
427
+ elapsedMs: number;
428
+ retrievedCount: number;
429
+ expectedCount: number;
430
+ matchedCount: number;
431
+ precision: number;
432
+ recall: number;
433
+ f1: number;
434
+ retrievedIds: string[];
435
+ expectedIds: string[];
436
+ matchedIds: string[];
437
+ missingIds: string[];
438
+ mode: "chunkId" | "source" | "documentId";
439
+ failureClasses?: Array<"no_expected_targets" | "no_results" | "no_match" | "partial_recall" | "extra_noise" | "section_evidence_miss" | "section_graph_miss" | "section_hierarchy_miss" | "spreadsheet_evidence_miss" | "media_evidence_miss" | "ocr_evidence_miss" | "routing_miss"> | undefined;
440
+ metadata?: Record<string, unknown> | undefined;
441
+ }[];
442
+ summary: {
443
+ totalCases: number;
444
+ passedCases: number;
445
+ partialCases: number;
446
+ failedCases: number;
447
+ averagePrecision: number;
448
+ averageRecall: number;
449
+ averageF1: number;
450
+ averageLatencyMs: number;
451
+ };
452
+ elapsedMs: number;
453
+ totalCases: number;
454
+ passingRate: number;
455
+ } | null>;
456
+ leaderboard: import("vue").ComputedRef<import("@absolutejs/ai").RAGEvaluationLeaderboardEntry[]>;
457
+ removeSuite: (id: string) => void;
458
+ reset: () => void;
459
+ runSuite: (suite: import("@absolutejs/ai").RAGEvaluationSuite, overrides?: Partial<import("@absolutejs/ai").RAGEvaluationInput>) => Promise<{
460
+ caseTraceSnapshots: import("@absolutejs/ai").RAGEvaluationCaseTraceSnapshot[] | undefined;
461
+ elapsedMs: number;
462
+ finishedAt: number;
463
+ id: `${string}-${string}-${string}-${string}-${string}`;
464
+ label: string;
465
+ metadata: Record<string, unknown> | undefined;
466
+ response: import("@absolutejs/ai").RAGEvaluationResponse;
467
+ startedAt: number;
468
+ suiteId: string;
469
+ traceSummary: import("@absolutejs/ai").RAGRetrievalTraceComparisonSummary | undefined;
470
+ }>;
471
+ saveSuite: (suite: import("@absolutejs/ai").RAGEvaluationSuite) => import("@absolutejs/ai").RAGEvaluationSuite;
472
+ suiteRuns: import("vue").Ref<{
473
+ id: string;
474
+ suiteId: string;
475
+ label: string;
476
+ startedAt: number;
477
+ finishedAt: number;
478
+ elapsedMs: number;
479
+ response: {
480
+ ok: true;
481
+ corpusKeys?: string[] | undefined;
482
+ cases: {
483
+ caseId: string;
484
+ corpusKey?: string | undefined;
485
+ query: string;
486
+ label?: string | undefined;
487
+ status: "pass" | "partial" | "fail";
488
+ topK: number;
489
+ elapsedMs: number;
490
+ retrievedCount: number;
491
+ expectedCount: number;
492
+ matchedCount: number;
493
+ precision: number;
494
+ recall: number;
495
+ f1: number;
496
+ retrievedIds: string[];
497
+ expectedIds: string[];
498
+ matchedIds: string[];
499
+ missingIds: string[];
500
+ mode: "chunkId" | "source" | "documentId";
501
+ failureClasses?: Array<"no_expected_targets" | "no_results" | "no_match" | "partial_recall" | "extra_noise" | "section_evidence_miss" | "section_graph_miss" | "section_hierarchy_miss" | "spreadsheet_evidence_miss" | "media_evidence_miss" | "ocr_evidence_miss" | "routing_miss"> | undefined;
502
+ metadata?: Record<string, unknown> | undefined;
503
+ }[];
504
+ summary: {
505
+ totalCases: number;
506
+ passedCases: number;
507
+ partialCases: number;
508
+ failedCases: number;
509
+ averagePrecision: number;
510
+ averageRecall: number;
511
+ averageF1: number;
512
+ averageLatencyMs: number;
513
+ };
514
+ elapsedMs: number;
515
+ totalCases: number;
516
+ passingRate: number;
517
+ };
518
+ traceSummary?: {
519
+ totalCases: number;
520
+ modes: import("@absolutejs/ai").RAGHybridRetrievalMode[];
521
+ sourceBalanceStrategies: import("@absolutejs/ai").RAGSourceBalanceStrategy[];
522
+ vectorCases: number;
523
+ lexicalCases: number;
524
+ balancedCases: number;
525
+ roundRobinCases: number;
526
+ transformedCases: number;
527
+ variantCases: number;
528
+ multiVectorCases: number;
529
+ multiVectorVectorHitCases: number;
530
+ multiVectorLexicalHitCases: number;
531
+ multiVectorCollapsedCases: number;
532
+ officeEvidenceReconcileCases: number;
533
+ officeParagraphEvidenceReconcileCases?: number | undefined;
534
+ officeListEvidenceReconcileCases?: number | undefined;
535
+ officeTableEvidenceReconcileCases?: number | undefined;
536
+ pdfEvidenceReconcileCases: number;
537
+ runtimeCandidateBudgetExhaustedCases: number;
538
+ runtimeUnderfilledTopKCases: number;
539
+ averageFinalCount: number;
540
+ averageVectorCount: number;
541
+ averageLexicalCount: number;
542
+ averageCandidateTopK: number;
543
+ averageLexicalTopK: number;
544
+ stageCounts: {
545
+ input?: number | undefined;
546
+ query_transform?: number | undefined;
547
+ routing?: number | undefined;
548
+ embed?: number | undefined;
549
+ vector_search?: number | undefined;
550
+ lexical_search?: number | undefined;
551
+ fusion?: number | undefined;
552
+ rerank?: number | undefined;
553
+ diversity?: number | undefined;
554
+ source_balance?: number | undefined;
555
+ evidence_reconcile?: number | undefined;
556
+ score_filter?: number | undefined;
557
+ finalize?: number | undefined;
558
+ };
559
+ } | undefined;
560
+ caseTraceSnapshots?: {
561
+ caseId: string;
562
+ corpusKey?: string | undefined;
563
+ label?: string | undefined;
564
+ query: string;
565
+ status: import("@absolutejs/ai").RAGEvaluationCaseResult["status"];
566
+ inputFilter?: Record<string, unknown> | undefined;
567
+ previousInputFilter?: Record<string, unknown> | undefined;
568
+ inputRetrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
569
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
570
+ lexicalTopK?: number | undefined;
571
+ maxResultsPerSource?: number | undefined;
572
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
573
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
574
+ mmrLambda?: number | undefined;
575
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
576
+ fusionConstant?: number | undefined;
577
+ lexicalWeight?: number | undefined;
578
+ vectorWeight?: number | undefined;
579
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
580
+ nativeCandidateLimit?: number | undefined;
581
+ nativeMaxBackfills?: number | undefined;
582
+ nativeMinResults?: number | undefined;
583
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
584
+ } | undefined;
585
+ previousInputRetrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
586
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
587
+ lexicalTopK?: number | undefined;
588
+ maxResultsPerSource?: number | undefined;
589
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
590
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
591
+ mmrLambda?: number | undefined;
592
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
593
+ fusionConstant?: number | undefined;
594
+ lexicalWeight?: number | undefined;
595
+ vectorWeight?: number | undefined;
596
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
597
+ nativeCandidateLimit?: number | undefined;
598
+ nativeMaxBackfills?: number | undefined;
599
+ nativeMinResults?: number | undefined;
600
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
601
+ } | undefined;
602
+ traceMode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
603
+ previousTraceMode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
604
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
605
+ previousSourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
606
+ transformedQuery?: string | undefined;
607
+ previousTransformedQuery?: string | undefined;
608
+ variantQueries: string[];
609
+ previousVariantQueries: string[];
610
+ finalCount: number;
611
+ previousFinalCount?: number | undefined;
612
+ vectorCount: number;
613
+ previousVectorCount?: number | undefined;
614
+ lexicalCount: number;
615
+ previousLexicalCount?: number | undefined;
616
+ candidateTopK: number;
617
+ previousCandidateTopK?: number | undefined;
618
+ lexicalTopK: number;
619
+ previousLexicalTopK?: number | undefined;
620
+ topContextLabel?: string | undefined;
621
+ previousTopContextLabel?: string | undefined;
622
+ topLocatorLabel?: string | undefined;
623
+ previousTopLocatorLabel?: string | undefined;
624
+ leadPresentationCue?: "body" | "notes" | "title" | undefined;
625
+ previousLeadPresentationCue?: "body" | "notes" | "title" | undefined;
626
+ leadSpreadsheetCue?: "column" | "sheet" | "table" | undefined;
627
+ previousLeadSpreadsheetCue?: "column" | "sheet" | "table" | undefined;
628
+ leadSpeakerCue?: string | undefined;
629
+ previousLeadSpeakerCue?: string | undefined;
630
+ leadSpeakerAttributionCue?: string | undefined;
631
+ previousLeadSpeakerAttributionCue?: string | undefined;
632
+ leadChannelCue?: string | undefined;
633
+ previousLeadChannelCue?: string | undefined;
634
+ leadChannelAttributionCue?: string | undefined;
635
+ previousLeadChannelAttributionCue?: string | undefined;
636
+ leadContinuityCue?: string | undefined;
637
+ previousLeadContinuityCue?: string | undefined;
638
+ sqliteQueryMode?: "json_fallback" | "native_vec0" | undefined;
639
+ previousSqliteQueryMode?: "json_fallback" | "native_vec0" | undefined;
640
+ sqliteQueryPushdownMode?: "none" | "partial" | "full" | undefined;
641
+ previousSqliteQueryPushdownMode?: "none" | "partial" | "full" | undefined;
642
+ sqliteQueryPushdownApplied?: boolean | undefined;
643
+ previousSqliteQueryPushdownApplied?: boolean | undefined;
644
+ sqliteQueryPushdownClauseCount?: number | undefined;
645
+ previousSqliteQueryPushdownClauseCount?: number | undefined;
646
+ sqliteQueryTotalFilterClauseCount?: number | undefined;
647
+ previousSqliteQueryTotalFilterClauseCount?: number | undefined;
648
+ sqliteQueryJsRemainderClauseCount?: number | undefined;
649
+ previousSqliteQueryJsRemainderClauseCount?: number | undefined;
650
+ sqliteQueryMultiplierUsed?: number | undefined;
651
+ previousSqliteQueryMultiplierUsed?: number | undefined;
652
+ sqliteQueryPlannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
653
+ previousSqliteQueryPlannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
654
+ sqliteQueryCandidateLimitUsed?: number | undefined;
655
+ previousSqliteQueryCandidateLimitUsed?: number | undefined;
656
+ sqliteQueryMaxBackfillsUsed?: number | undefined;
657
+ previousSqliteQueryMaxBackfillsUsed?: number | undefined;
658
+ sqliteQueryMinResultsUsed?: number | undefined;
659
+ previousSqliteQueryMinResultsUsed?: number | undefined;
660
+ sqliteQueryFillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
661
+ previousSqliteQueryFillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
662
+ sqliteQueryPushdownCoverageRatio?: number | undefined;
663
+ previousSqliteQueryPushdownCoverageRatio?: number | undefined;
664
+ sqliteQueryJsRemainderRatio?: number | undefined;
665
+ previousSqliteQueryJsRemainderRatio?: number | undefined;
666
+ sqliteQueryFilteredCandidates?: number | undefined;
667
+ previousSqliteQueryFilteredCandidates?: number | undefined;
668
+ sqliteQueryInitialSearchK?: number | undefined;
669
+ previousSqliteQueryInitialSearchK?: number | undefined;
670
+ sqliteQueryFinalSearchK?: number | undefined;
671
+ previousSqliteQueryFinalSearchK?: number | undefined;
672
+ sqliteQuerySearchExpansionRatio?: number | undefined;
673
+ previousSqliteQuerySearchExpansionRatio?: number | undefined;
674
+ sqliteQueryBackfillCount?: number | undefined;
675
+ previousSqliteQueryBackfillCount?: number | undefined;
676
+ sqliteQueryBackfillLimitReached?: boolean | undefined;
677
+ previousSqliteQueryBackfillLimitReached?: boolean | undefined;
678
+ sqliteQueryMinResultsSatisfied?: boolean | undefined;
679
+ previousSqliteQueryMinResultsSatisfied?: boolean | undefined;
680
+ sqliteQueryReturnedCount?: number | undefined;
681
+ previousSqliteQueryReturnedCount?: number | undefined;
682
+ sqliteQueryCandidateYieldRatio?: number | undefined;
683
+ previousSqliteQueryCandidateYieldRatio?: number | undefined;
684
+ sqliteQueryTopKFillRatio?: number | undefined;
685
+ previousSqliteQueryTopKFillRatio?: number | undefined;
686
+ sqliteQueryUnderfilledTopK?: boolean | undefined;
687
+ previousSqliteQueryUnderfilledTopK?: boolean | undefined;
688
+ sqliteQueryCandidateBudgetExhausted?: boolean | undefined;
689
+ previousSqliteQueryCandidateBudgetExhausted?: boolean | undefined;
690
+ sqliteQueryCandidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
691
+ previousSqliteQueryCandidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
692
+ postgresQueryMode?: "native_pgvector" | undefined;
693
+ previousPostgresQueryMode?: "native_pgvector" | undefined;
694
+ postgresQueryPushdownMode?: "none" | "partial" | "full" | undefined;
695
+ previousPostgresQueryPushdownMode?: "none" | "partial" | "full" | undefined;
696
+ postgresQueryPushdownApplied?: boolean | undefined;
697
+ previousPostgresQueryPushdownApplied?: boolean | undefined;
698
+ postgresQueryPushdownClauseCount?: number | undefined;
699
+ previousPostgresQueryPushdownClauseCount?: number | undefined;
700
+ postgresQueryTotalFilterClauseCount?: number | undefined;
701
+ previousPostgresQueryTotalFilterClauseCount?: number | undefined;
702
+ postgresQueryJsRemainderClauseCount?: number | undefined;
703
+ previousPostgresQueryJsRemainderClauseCount?: number | undefined;
704
+ postgresQueryMultiplierUsed?: number | undefined;
705
+ previousPostgresQueryMultiplierUsed?: number | undefined;
706
+ postgresQueryPlannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
707
+ previousPostgresQueryPlannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
708
+ postgresQueryCandidateLimitUsed?: number | undefined;
709
+ previousPostgresQueryCandidateLimitUsed?: number | undefined;
710
+ postgresQueryMaxBackfillsUsed?: number | undefined;
711
+ previousPostgresQueryMaxBackfillsUsed?: number | undefined;
712
+ postgresQueryMinResultsUsed?: number | undefined;
713
+ previousPostgresQueryMinResultsUsed?: number | undefined;
714
+ postgresQueryFillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
715
+ previousPostgresQueryFillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
716
+ postgresQueryPushdownCoverageRatio?: number | undefined;
717
+ previousPostgresQueryPushdownCoverageRatio?: number | undefined;
718
+ postgresQueryJsRemainderRatio?: number | undefined;
719
+ previousPostgresQueryJsRemainderRatio?: number | undefined;
720
+ postgresQueryFilteredCandidates?: number | undefined;
721
+ previousPostgresQueryFilteredCandidates?: number | undefined;
722
+ postgresQueryInitialSearchK?: number | undefined;
723
+ previousPostgresQueryInitialSearchK?: number | undefined;
724
+ postgresQueryFinalSearchK?: number | undefined;
725
+ previousPostgresQueryFinalSearchK?: number | undefined;
726
+ postgresQuerySearchExpansionRatio?: number | undefined;
727
+ previousPostgresQuerySearchExpansionRatio?: number | undefined;
728
+ postgresQueryBackfillCount?: number | undefined;
729
+ previousPostgresQueryBackfillCount?: number | undefined;
730
+ postgresQueryBackfillLimitReached?: boolean | undefined;
731
+ previousPostgresQueryBackfillLimitReached?: boolean | undefined;
732
+ postgresQueryMinResultsSatisfied?: boolean | undefined;
733
+ previousPostgresQueryMinResultsSatisfied?: boolean | undefined;
734
+ postgresQueryReturnedCount?: number | undefined;
735
+ previousPostgresQueryReturnedCount?: number | undefined;
736
+ postgresQueryCandidateYieldRatio?: number | undefined;
737
+ previousPostgresQueryCandidateYieldRatio?: number | undefined;
738
+ postgresQueryTopKFillRatio?: number | undefined;
739
+ previousPostgresQueryTopKFillRatio?: number | undefined;
740
+ postgresQueryUnderfilledTopK?: boolean | undefined;
741
+ previousPostgresQueryUnderfilledTopK?: boolean | undefined;
742
+ postgresQueryCandidateBudgetExhausted?: boolean | undefined;
743
+ previousPostgresQueryCandidateBudgetExhausted?: boolean | undefined;
744
+ postgresQueryCandidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
745
+ previousPostgresQueryCandidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
746
+ postgresIndexType?: "none" | "hnsw" | "ivfflat" | undefined;
747
+ previousPostgresIndexType?: "none" | "hnsw" | "ivfflat" | undefined;
748
+ postgresIndexName?: string | undefined;
749
+ previousPostgresIndexName?: string | undefined;
750
+ postgresIndexPresent?: boolean | undefined;
751
+ previousPostgresIndexPresent?: boolean | undefined;
752
+ postgresEstimatedRowCount?: number | undefined;
753
+ previousPostgresEstimatedRowCount?: number | undefined;
754
+ postgresTableBytes?: number | undefined;
755
+ previousPostgresTableBytes?: number | undefined;
756
+ postgresIndexBytes?: number | undefined;
757
+ previousPostgresIndexBytes?: number | undefined;
758
+ postgresTotalBytes?: number | undefined;
759
+ previousPostgresTotalBytes?: number | undefined;
760
+ postgresIndexStorageRatio?: number | undefined;
761
+ previousPostgresIndexStorageRatio?: number | undefined;
762
+ sourceAwareChunkReasonLabel?: string | undefined;
763
+ previousSourceAwareChunkReasonLabel?: string | undefined;
764
+ sourceAwareUnitScopeLabel?: string | undefined;
765
+ previousSourceAwareUnitScopeLabel?: string | undefined;
766
+ stageCounts: {
767
+ input?: number | undefined;
768
+ query_transform?: number | undefined;
769
+ routing?: number | undefined;
770
+ embed?: number | undefined;
771
+ vector_search?: number | undefined;
772
+ lexical_search?: number | undefined;
773
+ fusion?: number | undefined;
774
+ rerank?: number | undefined;
775
+ diversity?: number | undefined;
776
+ source_balance?: number | undefined;
777
+ evidence_reconcile?: number | undefined;
778
+ score_filter?: number | undefined;
779
+ finalize?: number | undefined;
780
+ };
781
+ previousStageCounts: {
782
+ input?: number | undefined;
783
+ query_transform?: number | undefined;
784
+ routing?: number | undefined;
785
+ embed?: number | undefined;
786
+ vector_search?: number | undefined;
787
+ lexical_search?: number | undefined;
788
+ fusion?: number | undefined;
789
+ rerank?: number | undefined;
790
+ diversity?: number | undefined;
791
+ source_balance?: number | undefined;
792
+ evidence_reconcile?: number | undefined;
793
+ score_filter?: number | undefined;
794
+ finalize?: number | undefined;
795
+ };
796
+ traceChange: "new" | "changed" | "unchanged";
797
+ }[] | undefined;
798
+ metadata?: Record<string, unknown> | undefined;
799
+ }[], import("@absolutejs/ai").RAGEvaluationSuiteRun[] | {
800
+ id: string;
801
+ suiteId: string;
802
+ label: string;
803
+ startedAt: number;
804
+ finishedAt: number;
805
+ elapsedMs: number;
806
+ response: {
807
+ ok: true;
808
+ corpusKeys?: string[] | undefined;
809
+ cases: {
810
+ caseId: string;
811
+ corpusKey?: string | undefined;
812
+ query: string;
813
+ label?: string | undefined;
814
+ status: "pass" | "partial" | "fail";
815
+ topK: number;
816
+ elapsedMs: number;
817
+ retrievedCount: number;
818
+ expectedCount: number;
819
+ matchedCount: number;
820
+ precision: number;
821
+ recall: number;
822
+ f1: number;
823
+ retrievedIds: string[];
824
+ expectedIds: string[];
825
+ matchedIds: string[];
826
+ missingIds: string[];
827
+ mode: "chunkId" | "source" | "documentId";
828
+ failureClasses?: Array<"no_expected_targets" | "no_results" | "no_match" | "partial_recall" | "extra_noise" | "section_evidence_miss" | "section_graph_miss" | "section_hierarchy_miss" | "spreadsheet_evidence_miss" | "media_evidence_miss" | "ocr_evidence_miss" | "routing_miss"> | undefined;
829
+ metadata?: Record<string, unknown> | undefined;
830
+ }[];
831
+ summary: {
832
+ totalCases: number;
833
+ passedCases: number;
834
+ partialCases: number;
835
+ failedCases: number;
836
+ averagePrecision: number;
837
+ averageRecall: number;
838
+ averageF1: number;
839
+ averageLatencyMs: number;
840
+ };
841
+ elapsedMs: number;
842
+ totalCases: number;
843
+ passingRate: number;
844
+ };
845
+ traceSummary?: {
846
+ totalCases: number;
847
+ modes: import("@absolutejs/ai").RAGHybridRetrievalMode[];
848
+ sourceBalanceStrategies: import("@absolutejs/ai").RAGSourceBalanceStrategy[];
849
+ vectorCases: number;
850
+ lexicalCases: number;
851
+ balancedCases: number;
852
+ roundRobinCases: number;
853
+ transformedCases: number;
854
+ variantCases: number;
855
+ multiVectorCases: number;
856
+ multiVectorVectorHitCases: number;
857
+ multiVectorLexicalHitCases: number;
858
+ multiVectorCollapsedCases: number;
859
+ officeEvidenceReconcileCases: number;
860
+ officeParagraphEvidenceReconcileCases?: number | undefined;
861
+ officeListEvidenceReconcileCases?: number | undefined;
862
+ officeTableEvidenceReconcileCases?: number | undefined;
863
+ pdfEvidenceReconcileCases: number;
864
+ runtimeCandidateBudgetExhaustedCases: number;
865
+ runtimeUnderfilledTopKCases: number;
866
+ averageFinalCount: number;
867
+ averageVectorCount: number;
868
+ averageLexicalCount: number;
869
+ averageCandidateTopK: number;
870
+ averageLexicalTopK: number;
871
+ stageCounts: {
872
+ input?: number | undefined;
873
+ query_transform?: number | undefined;
874
+ routing?: number | undefined;
875
+ embed?: number | undefined;
876
+ vector_search?: number | undefined;
877
+ lexical_search?: number | undefined;
878
+ fusion?: number | undefined;
879
+ rerank?: number | undefined;
880
+ diversity?: number | undefined;
881
+ source_balance?: number | undefined;
882
+ evidence_reconcile?: number | undefined;
883
+ score_filter?: number | undefined;
884
+ finalize?: number | undefined;
885
+ };
886
+ } | undefined;
887
+ caseTraceSnapshots?: {
888
+ caseId: string;
889
+ corpusKey?: string | undefined;
890
+ label?: string | undefined;
891
+ query: string;
892
+ status: import("@absolutejs/ai").RAGEvaluationCaseResult["status"];
893
+ inputFilter?: Record<string, unknown> | undefined;
894
+ previousInputFilter?: Record<string, unknown> | undefined;
895
+ inputRetrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
896
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
897
+ lexicalTopK?: number | undefined;
898
+ maxResultsPerSource?: number | undefined;
899
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
900
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
901
+ mmrLambda?: number | undefined;
902
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
903
+ fusionConstant?: number | undefined;
904
+ lexicalWeight?: number | undefined;
905
+ vectorWeight?: number | undefined;
906
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
907
+ nativeCandidateLimit?: number | undefined;
908
+ nativeMaxBackfills?: number | undefined;
909
+ nativeMinResults?: number | undefined;
910
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
911
+ } | undefined;
912
+ previousInputRetrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
913
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
914
+ lexicalTopK?: number | undefined;
915
+ maxResultsPerSource?: number | undefined;
916
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
917
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
918
+ mmrLambda?: number | undefined;
919
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
920
+ fusionConstant?: number | undefined;
921
+ lexicalWeight?: number | undefined;
922
+ vectorWeight?: number | undefined;
923
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
924
+ nativeCandidateLimit?: number | undefined;
925
+ nativeMaxBackfills?: number | undefined;
926
+ nativeMinResults?: number | undefined;
927
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
928
+ } | undefined;
929
+ traceMode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
930
+ previousTraceMode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
931
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
932
+ previousSourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
933
+ transformedQuery?: string | undefined;
934
+ previousTransformedQuery?: string | undefined;
935
+ variantQueries: string[];
936
+ previousVariantQueries: string[];
937
+ finalCount: number;
938
+ previousFinalCount?: number | undefined;
939
+ vectorCount: number;
940
+ previousVectorCount?: number | undefined;
941
+ lexicalCount: number;
942
+ previousLexicalCount?: number | undefined;
943
+ candidateTopK: number;
944
+ previousCandidateTopK?: number | undefined;
945
+ lexicalTopK: number;
946
+ previousLexicalTopK?: number | undefined;
947
+ topContextLabel?: string | undefined;
948
+ previousTopContextLabel?: string | undefined;
949
+ topLocatorLabel?: string | undefined;
950
+ previousTopLocatorLabel?: string | undefined;
951
+ leadPresentationCue?: "body" | "notes" | "title" | undefined;
952
+ previousLeadPresentationCue?: "body" | "notes" | "title" | undefined;
953
+ leadSpreadsheetCue?: "column" | "sheet" | "table" | undefined;
954
+ previousLeadSpreadsheetCue?: "column" | "sheet" | "table" | undefined;
955
+ leadSpeakerCue?: string | undefined;
956
+ previousLeadSpeakerCue?: string | undefined;
957
+ leadSpeakerAttributionCue?: string | undefined;
958
+ previousLeadSpeakerAttributionCue?: string | undefined;
959
+ leadChannelCue?: string | undefined;
960
+ previousLeadChannelCue?: string | undefined;
961
+ leadChannelAttributionCue?: string | undefined;
962
+ previousLeadChannelAttributionCue?: string | undefined;
963
+ leadContinuityCue?: string | undefined;
964
+ previousLeadContinuityCue?: string | undefined;
965
+ sqliteQueryMode?: "json_fallback" | "native_vec0" | undefined;
966
+ previousSqliteQueryMode?: "json_fallback" | "native_vec0" | undefined;
967
+ sqliteQueryPushdownMode?: "none" | "partial" | "full" | undefined;
968
+ previousSqliteQueryPushdownMode?: "none" | "partial" | "full" | undefined;
969
+ sqliteQueryPushdownApplied?: boolean | undefined;
970
+ previousSqliteQueryPushdownApplied?: boolean | undefined;
971
+ sqliteQueryPushdownClauseCount?: number | undefined;
972
+ previousSqliteQueryPushdownClauseCount?: number | undefined;
973
+ sqliteQueryTotalFilterClauseCount?: number | undefined;
974
+ previousSqliteQueryTotalFilterClauseCount?: number | undefined;
975
+ sqliteQueryJsRemainderClauseCount?: number | undefined;
976
+ previousSqliteQueryJsRemainderClauseCount?: number | undefined;
977
+ sqliteQueryMultiplierUsed?: number | undefined;
978
+ previousSqliteQueryMultiplierUsed?: number | undefined;
979
+ sqliteQueryPlannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
980
+ previousSqliteQueryPlannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
981
+ sqliteQueryCandidateLimitUsed?: number | undefined;
982
+ previousSqliteQueryCandidateLimitUsed?: number | undefined;
983
+ sqliteQueryMaxBackfillsUsed?: number | undefined;
984
+ previousSqliteQueryMaxBackfillsUsed?: number | undefined;
985
+ sqliteQueryMinResultsUsed?: number | undefined;
986
+ previousSqliteQueryMinResultsUsed?: number | undefined;
987
+ sqliteQueryFillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
988
+ previousSqliteQueryFillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
989
+ sqliteQueryPushdownCoverageRatio?: number | undefined;
990
+ previousSqliteQueryPushdownCoverageRatio?: number | undefined;
991
+ sqliteQueryJsRemainderRatio?: number | undefined;
992
+ previousSqliteQueryJsRemainderRatio?: number | undefined;
993
+ sqliteQueryFilteredCandidates?: number | undefined;
994
+ previousSqliteQueryFilteredCandidates?: number | undefined;
995
+ sqliteQueryInitialSearchK?: number | undefined;
996
+ previousSqliteQueryInitialSearchK?: number | undefined;
997
+ sqliteQueryFinalSearchK?: number | undefined;
998
+ previousSqliteQueryFinalSearchK?: number | undefined;
999
+ sqliteQuerySearchExpansionRatio?: number | undefined;
1000
+ previousSqliteQuerySearchExpansionRatio?: number | undefined;
1001
+ sqliteQueryBackfillCount?: number | undefined;
1002
+ previousSqliteQueryBackfillCount?: number | undefined;
1003
+ sqliteQueryBackfillLimitReached?: boolean | undefined;
1004
+ previousSqliteQueryBackfillLimitReached?: boolean | undefined;
1005
+ sqliteQueryMinResultsSatisfied?: boolean | undefined;
1006
+ previousSqliteQueryMinResultsSatisfied?: boolean | undefined;
1007
+ sqliteQueryReturnedCount?: number | undefined;
1008
+ previousSqliteQueryReturnedCount?: number | undefined;
1009
+ sqliteQueryCandidateYieldRatio?: number | undefined;
1010
+ previousSqliteQueryCandidateYieldRatio?: number | undefined;
1011
+ sqliteQueryTopKFillRatio?: number | undefined;
1012
+ previousSqliteQueryTopKFillRatio?: number | undefined;
1013
+ sqliteQueryUnderfilledTopK?: boolean | undefined;
1014
+ previousSqliteQueryUnderfilledTopK?: boolean | undefined;
1015
+ sqliteQueryCandidateBudgetExhausted?: boolean | undefined;
1016
+ previousSqliteQueryCandidateBudgetExhausted?: boolean | undefined;
1017
+ sqliteQueryCandidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1018
+ previousSqliteQueryCandidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1019
+ postgresQueryMode?: "native_pgvector" | undefined;
1020
+ previousPostgresQueryMode?: "native_pgvector" | undefined;
1021
+ postgresQueryPushdownMode?: "none" | "partial" | "full" | undefined;
1022
+ previousPostgresQueryPushdownMode?: "none" | "partial" | "full" | undefined;
1023
+ postgresQueryPushdownApplied?: boolean | undefined;
1024
+ previousPostgresQueryPushdownApplied?: boolean | undefined;
1025
+ postgresQueryPushdownClauseCount?: number | undefined;
1026
+ previousPostgresQueryPushdownClauseCount?: number | undefined;
1027
+ postgresQueryTotalFilterClauseCount?: number | undefined;
1028
+ previousPostgresQueryTotalFilterClauseCount?: number | undefined;
1029
+ postgresQueryJsRemainderClauseCount?: number | undefined;
1030
+ previousPostgresQueryJsRemainderClauseCount?: number | undefined;
1031
+ postgresQueryMultiplierUsed?: number | undefined;
1032
+ previousPostgresQueryMultiplierUsed?: number | undefined;
1033
+ postgresQueryPlannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1034
+ previousPostgresQueryPlannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1035
+ postgresQueryCandidateLimitUsed?: number | undefined;
1036
+ previousPostgresQueryCandidateLimitUsed?: number | undefined;
1037
+ postgresQueryMaxBackfillsUsed?: number | undefined;
1038
+ previousPostgresQueryMaxBackfillsUsed?: number | undefined;
1039
+ postgresQueryMinResultsUsed?: number | undefined;
1040
+ previousPostgresQueryMinResultsUsed?: number | undefined;
1041
+ postgresQueryFillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
1042
+ previousPostgresQueryFillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
1043
+ postgresQueryPushdownCoverageRatio?: number | undefined;
1044
+ previousPostgresQueryPushdownCoverageRatio?: number | undefined;
1045
+ postgresQueryJsRemainderRatio?: number | undefined;
1046
+ previousPostgresQueryJsRemainderRatio?: number | undefined;
1047
+ postgresQueryFilteredCandidates?: number | undefined;
1048
+ previousPostgresQueryFilteredCandidates?: number | undefined;
1049
+ postgresQueryInitialSearchK?: number | undefined;
1050
+ previousPostgresQueryInitialSearchK?: number | undefined;
1051
+ postgresQueryFinalSearchK?: number | undefined;
1052
+ previousPostgresQueryFinalSearchK?: number | undefined;
1053
+ postgresQuerySearchExpansionRatio?: number | undefined;
1054
+ previousPostgresQuerySearchExpansionRatio?: number | undefined;
1055
+ postgresQueryBackfillCount?: number | undefined;
1056
+ previousPostgresQueryBackfillCount?: number | undefined;
1057
+ postgresQueryBackfillLimitReached?: boolean | undefined;
1058
+ previousPostgresQueryBackfillLimitReached?: boolean | undefined;
1059
+ postgresQueryMinResultsSatisfied?: boolean | undefined;
1060
+ previousPostgresQueryMinResultsSatisfied?: boolean | undefined;
1061
+ postgresQueryReturnedCount?: number | undefined;
1062
+ previousPostgresQueryReturnedCount?: number | undefined;
1063
+ postgresQueryCandidateYieldRatio?: number | undefined;
1064
+ previousPostgresQueryCandidateYieldRatio?: number | undefined;
1065
+ postgresQueryTopKFillRatio?: number | undefined;
1066
+ previousPostgresQueryTopKFillRatio?: number | undefined;
1067
+ postgresQueryUnderfilledTopK?: boolean | undefined;
1068
+ previousPostgresQueryUnderfilledTopK?: boolean | undefined;
1069
+ postgresQueryCandidateBudgetExhausted?: boolean | undefined;
1070
+ previousPostgresQueryCandidateBudgetExhausted?: boolean | undefined;
1071
+ postgresQueryCandidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1072
+ previousPostgresQueryCandidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1073
+ postgresIndexType?: "none" | "hnsw" | "ivfflat" | undefined;
1074
+ previousPostgresIndexType?: "none" | "hnsw" | "ivfflat" | undefined;
1075
+ postgresIndexName?: string | undefined;
1076
+ previousPostgresIndexName?: string | undefined;
1077
+ postgresIndexPresent?: boolean | undefined;
1078
+ previousPostgresIndexPresent?: boolean | undefined;
1079
+ postgresEstimatedRowCount?: number | undefined;
1080
+ previousPostgresEstimatedRowCount?: number | undefined;
1081
+ postgresTableBytes?: number | undefined;
1082
+ previousPostgresTableBytes?: number | undefined;
1083
+ postgresIndexBytes?: number | undefined;
1084
+ previousPostgresIndexBytes?: number | undefined;
1085
+ postgresTotalBytes?: number | undefined;
1086
+ previousPostgresTotalBytes?: number | undefined;
1087
+ postgresIndexStorageRatio?: number | undefined;
1088
+ previousPostgresIndexStorageRatio?: number | undefined;
1089
+ sourceAwareChunkReasonLabel?: string | undefined;
1090
+ previousSourceAwareChunkReasonLabel?: string | undefined;
1091
+ sourceAwareUnitScopeLabel?: string | undefined;
1092
+ previousSourceAwareUnitScopeLabel?: string | undefined;
1093
+ stageCounts: {
1094
+ input?: number | undefined;
1095
+ query_transform?: number | undefined;
1096
+ routing?: number | undefined;
1097
+ embed?: number | undefined;
1098
+ vector_search?: number | undefined;
1099
+ lexical_search?: number | undefined;
1100
+ fusion?: number | undefined;
1101
+ rerank?: number | undefined;
1102
+ diversity?: number | undefined;
1103
+ source_balance?: number | undefined;
1104
+ evidence_reconcile?: number | undefined;
1105
+ score_filter?: number | undefined;
1106
+ finalize?: number | undefined;
1107
+ };
1108
+ previousStageCounts: {
1109
+ input?: number | undefined;
1110
+ query_transform?: number | undefined;
1111
+ routing?: number | undefined;
1112
+ embed?: number | undefined;
1113
+ vector_search?: number | undefined;
1114
+ lexical_search?: number | undefined;
1115
+ fusion?: number | undefined;
1116
+ rerank?: number | undefined;
1117
+ diversity?: number | undefined;
1118
+ source_balance?: number | undefined;
1119
+ evidence_reconcile?: number | undefined;
1120
+ score_filter?: number | undefined;
1121
+ finalize?: number | undefined;
1122
+ };
1123
+ traceChange: "new" | "changed" | "unchanged";
1124
+ }[] | undefined;
1125
+ metadata?: Record<string, unknown> | undefined;
1126
+ }[]>;
1127
+ suites: import("vue").Ref<{
1128
+ id: string;
1129
+ label?: string | undefined;
1130
+ description?: string | undefined;
1131
+ input: {
1132
+ cases: {
1133
+ id: string;
1134
+ query: string;
1135
+ corpusKey?: string | undefined;
1136
+ topK?: number | undefined;
1137
+ model?: string | undefined;
1138
+ scoreThreshold?: number | undefined;
1139
+ filter?: Record<string, unknown> | undefined;
1140
+ retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
1141
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
1142
+ lexicalTopK?: number | undefined;
1143
+ maxResultsPerSource?: number | undefined;
1144
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
1145
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
1146
+ mmrLambda?: number | undefined;
1147
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
1148
+ fusionConstant?: number | undefined;
1149
+ lexicalWeight?: number | undefined;
1150
+ vectorWeight?: number | undefined;
1151
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1152
+ nativeCandidateLimit?: number | undefined;
1153
+ nativeMaxBackfills?: number | undefined;
1154
+ nativeMinResults?: number | undefined;
1155
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
1156
+ } | undefined;
1157
+ expectedChunkIds?: string[] | undefined;
1158
+ expectedSources?: string[] | undefined;
1159
+ expectedDocumentIds?: string[] | undefined;
1160
+ goldenSet?: boolean | undefined;
1161
+ hardNegativeChunkIds?: string[] | undefined;
1162
+ hardNegativeSources?: string[] | undefined;
1163
+ hardNegativeDocumentIds?: string[] | undefined;
1164
+ label?: string | undefined;
1165
+ metadata?: Record<string, unknown> | undefined;
1166
+ }[];
1167
+ topK?: number | undefined;
1168
+ scoreThreshold?: number | undefined;
1169
+ model?: string | undefined;
1170
+ filter?: Record<string, unknown> | undefined;
1171
+ retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
1172
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
1173
+ lexicalTopK?: number | undefined;
1174
+ maxResultsPerSource?: number | undefined;
1175
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
1176
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
1177
+ mmrLambda?: number | undefined;
1178
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
1179
+ fusionConstant?: number | undefined;
1180
+ lexicalWeight?: number | undefined;
1181
+ vectorWeight?: number | undefined;
1182
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1183
+ nativeCandidateLimit?: number | undefined;
1184
+ nativeMaxBackfills?: number | undefined;
1185
+ nativeMinResults?: number | undefined;
1186
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
1187
+ } | undefined;
1188
+ dryRun?: boolean | undefined;
1189
+ };
1190
+ metadata?: Record<string, unknown> | undefined;
1191
+ }[], import("@absolutejs/ai").RAGEvaluationSuite[] | {
1192
+ id: string;
1193
+ label?: string | undefined;
1194
+ description?: string | undefined;
1195
+ input: {
1196
+ cases: {
1197
+ id: string;
1198
+ query: string;
1199
+ corpusKey?: string | undefined;
1200
+ topK?: number | undefined;
1201
+ model?: string | undefined;
1202
+ scoreThreshold?: number | undefined;
1203
+ filter?: Record<string, unknown> | undefined;
1204
+ retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
1205
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
1206
+ lexicalTopK?: number | undefined;
1207
+ maxResultsPerSource?: number | undefined;
1208
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
1209
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
1210
+ mmrLambda?: number | undefined;
1211
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
1212
+ fusionConstant?: number | undefined;
1213
+ lexicalWeight?: number | undefined;
1214
+ vectorWeight?: number | undefined;
1215
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1216
+ nativeCandidateLimit?: number | undefined;
1217
+ nativeMaxBackfills?: number | undefined;
1218
+ nativeMinResults?: number | undefined;
1219
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
1220
+ } | undefined;
1221
+ expectedChunkIds?: string[] | undefined;
1222
+ expectedSources?: string[] | undefined;
1223
+ expectedDocumentIds?: string[] | undefined;
1224
+ goldenSet?: boolean | undefined;
1225
+ hardNegativeChunkIds?: string[] | undefined;
1226
+ hardNegativeSources?: string[] | undefined;
1227
+ hardNegativeDocumentIds?: string[] | undefined;
1228
+ label?: string | undefined;
1229
+ metadata?: Record<string, unknown> | undefined;
1230
+ }[];
1231
+ topK?: number | undefined;
1232
+ scoreThreshold?: number | undefined;
1233
+ model?: string | undefined;
1234
+ filter?: Record<string, unknown> | undefined;
1235
+ retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
1236
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
1237
+ lexicalTopK?: number | undefined;
1238
+ maxResultsPerSource?: number | undefined;
1239
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
1240
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
1241
+ mmrLambda?: number | undefined;
1242
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
1243
+ fusionConstant?: number | undefined;
1244
+ lexicalWeight?: number | undefined;
1245
+ vectorWeight?: number | undefined;
1246
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1247
+ nativeCandidateLimit?: number | undefined;
1248
+ nativeMaxBackfills?: number | undefined;
1249
+ nativeMinResults?: number | undefined;
1250
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
1251
+ } | undefined;
1252
+ dryRun?: boolean | undefined;
1253
+ };
1254
+ metadata?: Record<string, unknown> | undefined;
1255
+ }[]>;
1256
+ };
1257
+ grounding: {
1258
+ coverage: import("vue").ComputedRef<"grounded" | "partial" | "ungrounded">;
1259
+ groundedAnswer: import("vue").ComputedRef<import("@absolutejs/ai").RAGGroundedAnswer>;
1260
+ hasCitations: import("vue").ComputedRef<boolean>;
1261
+ hasGrounding: import("vue").ComputedRef<boolean>;
1262
+ references: import("vue").ComputedRef<import("@absolutejs/ai").RAGGroundingReference[]>;
1263
+ ungroundedReferenceNumbers: import("vue").ComputedRef<number[]>;
1264
+ };
1265
+ index: {
1266
+ backends: import("vue").Ref<{
1267
+ ok: true;
1268
+ defaultMode?: string | undefined;
1269
+ activeModeCookie?: string | undefined;
1270
+ backends: {
1271
+ id: string;
1272
+ label: string;
1273
+ path?: string | undefined;
1274
+ available: boolean;
1275
+ reason?: string | undefined;
1276
+ lastSeedMs?: number | undefined;
1277
+ status?: {
1278
+ backend: "in_memory" | "sqlite" | "postgres";
1279
+ vectorMode: "in_memory" | "json_fallback" | "native_vec0" | "native_pgvector";
1280
+ dimensions?: number | undefined;
1281
+ native?: {
1282
+ requested: boolean;
1283
+ available: boolean;
1284
+ active: boolean;
1285
+ mode?: "vec0" | undefined;
1286
+ tableName?: string | undefined;
1287
+ distanceMetric?: "cosine" | "l2" | undefined;
1288
+ rowCount?: number | undefined;
1289
+ pageCount?: number | undefined;
1290
+ freelistCount?: number | undefined;
1291
+ databaseBytes?: number | undefined;
1292
+ lastHealthCheckAt?: number | undefined;
1293
+ lastAnalyzeAt?: number | undefined;
1294
+ resolution?: {
1295
+ status: import("@absolutejs/ai").SQLiteVecResolutionStatus;
1296
+ source: import("@absolutejs/ai").SQLiteVecResolutionSource;
1297
+ platformKey: string;
1298
+ packageName?: string | undefined;
1299
+ packageVersion?: string | undefined;
1300
+ packageRoot?: string | undefined;
1301
+ libraryFile?: string | undefined;
1302
+ libraryPath?: string | undefined;
1303
+ reason?: string | undefined;
1304
+ } | undefined;
1305
+ fallbackReason?: string | undefined;
1306
+ lastAnalyzeError?: string | undefined;
1307
+ lastHealthError?: string | undefined;
1308
+ lastLoadError?: string | undefined;
1309
+ lastQueryError?: string | undefined;
1310
+ lastUpsertError?: string | undefined;
1311
+ lastQueryPlan?: {
1312
+ pushdownMode: "none" | "partial" | "full";
1313
+ pushdownApplied: boolean;
1314
+ pushdownClauseCount: number;
1315
+ totalFilterClauseCount: number;
1316
+ jsRemainderClauseCount: number;
1317
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1318
+ queryMultiplierUsed?: number | undefined;
1319
+ candidateLimitUsed?: number | undefined;
1320
+ maxBackfillsUsed?: number | undefined;
1321
+ minResultsUsed?: number | undefined;
1322
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
1323
+ pushdownCoverageRatio?: number | undefined;
1324
+ jsRemainderRatio?: number | undefined;
1325
+ filteredCandidateCount?: number | undefined;
1326
+ initialSearchK?: number | undefined;
1327
+ finalSearchK?: number | undefined;
1328
+ searchExpansionRatio?: number | undefined;
1329
+ backfillCount?: number | undefined;
1330
+ backfillLimitReached?: boolean | undefined;
1331
+ minResultsSatisfied?: boolean | undefined;
1332
+ returnedCount?: number | undefined;
1333
+ candidateYieldRatio?: number | undefined;
1334
+ topKFillRatio?: number | undefined;
1335
+ underfilledTopK?: boolean | undefined;
1336
+ candidateBudgetExhausted?: boolean | undefined;
1337
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1338
+ queryMode: "json_fallback" | "native_vec0";
1339
+ } | undefined;
1340
+ } | {
1341
+ requested: boolean;
1342
+ available: boolean;
1343
+ active: boolean;
1344
+ mode?: "pgvector" | undefined;
1345
+ extensionName?: string | undefined;
1346
+ schemaName?: string | undefined;
1347
+ tableName?: string | undefined;
1348
+ distanceMetric?: "cosine" | "l2" | "inner_product" | undefined;
1349
+ indexType?: "none" | "hnsw" | "ivfflat" | undefined;
1350
+ indexName?: string | undefined;
1351
+ indexPresent?: boolean | undefined;
1352
+ estimatedRowCount?: number | undefined;
1353
+ tableBytes?: number | undefined;
1354
+ indexBytes?: number | undefined;
1355
+ totalBytes?: number | undefined;
1356
+ lastHealthCheckAt?: number | undefined;
1357
+ lastAnalyzeAt?: number | undefined;
1358
+ lastReindexAt?: number | undefined;
1359
+ fallbackReason?: string | undefined;
1360
+ lastAnalyzeError?: string | undefined;
1361
+ lastInitError?: string | undefined;
1362
+ lastQueryError?: string | undefined;
1363
+ lastReindexError?: string | undefined;
1364
+ lastUpsertError?: string | undefined;
1365
+ lastMigrationError?: string | undefined;
1366
+ lastHealthError?: string | undefined;
1367
+ lastFilterDebug?: {
1368
+ filter?: Record<string, unknown> | undefined;
1369
+ pushdownFilter?: Record<string, unknown> | undefined;
1370
+ countSql?: string | undefined;
1371
+ countParams?: unknown[] | undefined;
1372
+ querySql?: string | undefined;
1373
+ queryParams?: unknown[] | undefined;
1374
+ countResultRaw?: unknown;
1375
+ queryRowCount?: number | undefined;
1376
+ } | undefined;
1377
+ lastQueryPlan?: {
1378
+ pushdownMode: "none" | "partial" | "full";
1379
+ pushdownApplied: boolean;
1380
+ pushdownClauseCount: number;
1381
+ totalFilterClauseCount: number;
1382
+ jsRemainderClauseCount: number;
1383
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1384
+ queryMultiplierUsed?: number | undefined;
1385
+ candidateLimitUsed?: number | undefined;
1386
+ maxBackfillsUsed?: number | undefined;
1387
+ minResultsUsed?: number | undefined;
1388
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
1389
+ pushdownCoverageRatio?: number | undefined;
1390
+ jsRemainderRatio?: number | undefined;
1391
+ filteredCandidateCount?: number | undefined;
1392
+ initialSearchK?: number | undefined;
1393
+ finalSearchK?: number | undefined;
1394
+ searchExpansionRatio?: number | undefined;
1395
+ backfillCount?: number | undefined;
1396
+ backfillLimitReached?: boolean | undefined;
1397
+ minResultsSatisfied?: boolean | undefined;
1398
+ returnedCount?: number | undefined;
1399
+ candidateYieldRatio?: number | undefined;
1400
+ topKFillRatio?: number | undefined;
1401
+ underfilledTopK?: boolean | undefined;
1402
+ candidateBudgetExhausted?: boolean | undefined;
1403
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1404
+ queryMode: "native_pgvector";
1405
+ } | undefined;
1406
+ } | undefined;
1407
+ } | undefined;
1408
+ capabilities?: {
1409
+ backend: "in_memory" | "sqlite" | "postgres" | "custom";
1410
+ persistence: "memory_only" | "embedded" | "external";
1411
+ nativeVectorSearch: boolean;
1412
+ serverSideFiltering: boolean;
1413
+ streamingIngestStatus: boolean;
1414
+ } | undefined;
1415
+ }[];
1416
+ } | null, import("@absolutejs/ai").RAGBackendsResponse | {
1417
+ ok: true;
1418
+ defaultMode?: string | undefined;
1419
+ activeModeCookie?: string | undefined;
1420
+ backends: {
1421
+ id: string;
1422
+ label: string;
1423
+ path?: string | undefined;
1424
+ available: boolean;
1425
+ reason?: string | undefined;
1426
+ lastSeedMs?: number | undefined;
1427
+ status?: {
1428
+ backend: "in_memory" | "sqlite" | "postgres";
1429
+ vectorMode: "in_memory" | "json_fallback" | "native_vec0" | "native_pgvector";
1430
+ dimensions?: number | undefined;
1431
+ native?: {
1432
+ requested: boolean;
1433
+ available: boolean;
1434
+ active: boolean;
1435
+ mode?: "vec0" | undefined;
1436
+ tableName?: string | undefined;
1437
+ distanceMetric?: "cosine" | "l2" | undefined;
1438
+ rowCount?: number | undefined;
1439
+ pageCount?: number | undefined;
1440
+ freelistCount?: number | undefined;
1441
+ databaseBytes?: number | undefined;
1442
+ lastHealthCheckAt?: number | undefined;
1443
+ lastAnalyzeAt?: number | undefined;
1444
+ resolution?: {
1445
+ status: import("@absolutejs/ai").SQLiteVecResolutionStatus;
1446
+ source: import("@absolutejs/ai").SQLiteVecResolutionSource;
1447
+ platformKey: string;
1448
+ packageName?: string | undefined;
1449
+ packageVersion?: string | undefined;
1450
+ packageRoot?: string | undefined;
1451
+ libraryFile?: string | undefined;
1452
+ libraryPath?: string | undefined;
1453
+ reason?: string | undefined;
1454
+ } | undefined;
1455
+ fallbackReason?: string | undefined;
1456
+ lastAnalyzeError?: string | undefined;
1457
+ lastHealthError?: string | undefined;
1458
+ lastLoadError?: string | undefined;
1459
+ lastQueryError?: string | undefined;
1460
+ lastUpsertError?: string | undefined;
1461
+ lastQueryPlan?: {
1462
+ pushdownMode: "none" | "partial" | "full";
1463
+ pushdownApplied: boolean;
1464
+ pushdownClauseCount: number;
1465
+ totalFilterClauseCount: number;
1466
+ jsRemainderClauseCount: number;
1467
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1468
+ queryMultiplierUsed?: number | undefined;
1469
+ candidateLimitUsed?: number | undefined;
1470
+ maxBackfillsUsed?: number | undefined;
1471
+ minResultsUsed?: number | undefined;
1472
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
1473
+ pushdownCoverageRatio?: number | undefined;
1474
+ jsRemainderRatio?: number | undefined;
1475
+ filteredCandidateCount?: number | undefined;
1476
+ initialSearchK?: number | undefined;
1477
+ finalSearchK?: number | undefined;
1478
+ searchExpansionRatio?: number | undefined;
1479
+ backfillCount?: number | undefined;
1480
+ backfillLimitReached?: boolean | undefined;
1481
+ minResultsSatisfied?: boolean | undefined;
1482
+ returnedCount?: number | undefined;
1483
+ candidateYieldRatio?: number | undefined;
1484
+ topKFillRatio?: number | undefined;
1485
+ underfilledTopK?: boolean | undefined;
1486
+ candidateBudgetExhausted?: boolean | undefined;
1487
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1488
+ queryMode: "json_fallback" | "native_vec0";
1489
+ } | undefined;
1490
+ } | {
1491
+ requested: boolean;
1492
+ available: boolean;
1493
+ active: boolean;
1494
+ mode?: "pgvector" | undefined;
1495
+ extensionName?: string | undefined;
1496
+ schemaName?: string | undefined;
1497
+ tableName?: string | undefined;
1498
+ distanceMetric?: "cosine" | "l2" | "inner_product" | undefined;
1499
+ indexType?: "none" | "hnsw" | "ivfflat" | undefined;
1500
+ indexName?: string | undefined;
1501
+ indexPresent?: boolean | undefined;
1502
+ estimatedRowCount?: number | undefined;
1503
+ tableBytes?: number | undefined;
1504
+ indexBytes?: number | undefined;
1505
+ totalBytes?: number | undefined;
1506
+ lastHealthCheckAt?: number | undefined;
1507
+ lastAnalyzeAt?: number | undefined;
1508
+ lastReindexAt?: number | undefined;
1509
+ fallbackReason?: string | undefined;
1510
+ lastAnalyzeError?: string | undefined;
1511
+ lastInitError?: string | undefined;
1512
+ lastQueryError?: string | undefined;
1513
+ lastReindexError?: string | undefined;
1514
+ lastUpsertError?: string | undefined;
1515
+ lastMigrationError?: string | undefined;
1516
+ lastHealthError?: string | undefined;
1517
+ lastFilterDebug?: {
1518
+ filter?: Record<string, unknown> | undefined;
1519
+ pushdownFilter?: Record<string, unknown> | undefined;
1520
+ countSql?: string | undefined;
1521
+ countParams?: unknown[] | undefined;
1522
+ querySql?: string | undefined;
1523
+ queryParams?: unknown[] | undefined;
1524
+ countResultRaw?: unknown;
1525
+ queryRowCount?: number | undefined;
1526
+ } | undefined;
1527
+ lastQueryPlan?: {
1528
+ pushdownMode: "none" | "partial" | "full";
1529
+ pushdownApplied: boolean;
1530
+ pushdownClauseCount: number;
1531
+ totalFilterClauseCount: number;
1532
+ jsRemainderClauseCount: number;
1533
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1534
+ queryMultiplierUsed?: number | undefined;
1535
+ candidateLimitUsed?: number | undefined;
1536
+ maxBackfillsUsed?: number | undefined;
1537
+ minResultsUsed?: number | undefined;
1538
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
1539
+ pushdownCoverageRatio?: number | undefined;
1540
+ jsRemainderRatio?: number | undefined;
1541
+ filteredCandidateCount?: number | undefined;
1542
+ initialSearchK?: number | undefined;
1543
+ finalSearchK?: number | undefined;
1544
+ searchExpansionRatio?: number | undefined;
1545
+ backfillCount?: number | undefined;
1546
+ backfillLimitReached?: boolean | undefined;
1547
+ minResultsSatisfied?: boolean | undefined;
1548
+ returnedCount?: number | undefined;
1549
+ candidateYieldRatio?: number | undefined;
1550
+ topKFillRatio?: number | undefined;
1551
+ underfilledTopK?: boolean | undefined;
1552
+ candidateBudgetExhausted?: boolean | undefined;
1553
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1554
+ queryMode: "native_pgvector";
1555
+ } | undefined;
1556
+ } | undefined;
1557
+ } | undefined;
1558
+ capabilities?: {
1559
+ backend: "in_memory" | "sqlite" | "postgres" | "custom";
1560
+ persistence: "memory_only" | "embedded" | "external";
1561
+ nativeVectorSearch: boolean;
1562
+ serverSideFiltering: boolean;
1563
+ streamingIngestStatus: boolean;
1564
+ } | undefined;
1565
+ }[];
1566
+ } | null>;
1567
+ analyzeBackend: () => Promise<import("@absolutejs/ai").RAGMutationResponse>;
1568
+ clearIndex: () => Promise<{
1569
+ ok: boolean;
1570
+ }>;
1571
+ createDocument: (input: {
1572
+ id?: string;
1573
+ title?: string;
1574
+ source?: string;
1575
+ text: string;
1576
+ format?: import("@absolutejs/ai").RAGContentFormat;
1577
+ metadata?: Record<string, unknown>;
1578
+ chunking?: {
1579
+ maxChunkLength?: number;
1580
+ chunkOverlap?: number;
1581
+ minChunkLength?: number;
1582
+ strategy?: import("@absolutejs/ai").RAGChunkingStrategy;
1583
+ };
1584
+ }) => Promise<import("@absolutejs/ai").RAGMutationResponse>;
1585
+ deleteDocument: (id: string) => Promise<import("@absolutejs/ai").RAGMutationResponse>;
1586
+ error: import("vue").Ref<string | null, string | null>;
1587
+ isLoading: import("vue").Ref<boolean, boolean>;
1588
+ lastMutation: import("vue").Ref<{
1589
+ ok: boolean;
1590
+ error?: string | undefined;
1591
+ deleted?: string | undefined;
1592
+ inserted?: string | undefined;
1593
+ reindexed?: string | undefined;
1594
+ status?: string | undefined;
1595
+ documents?: number | undefined;
1596
+ maintenance?: {
1597
+ backend: Exclude<import("@absolutejs/ai").RAGVectorStoreStatus["backend"], "in_memory">;
1598
+ activeJobs: {
1599
+ action: "analyze_backend" | "rebuild_native_index";
1600
+ startedAt: number;
1601
+ target?: string | undefined;
1602
+ }[];
1603
+ recentActions: {
1604
+ action: "analyze_backend" | "rebuild_native_index";
1605
+ status: import("@absolutejs/ai").RAGAdminActionRecord["status"];
1606
+ finishedAt?: number | undefined;
1607
+ target?: string | undefined;
1608
+ error?: string | undefined;
1609
+ }[];
1610
+ recommendations: {
1611
+ code: "backend_statistics_refresh_recommended" | "native_backend_inactive" | "native_backend_recent_errors" | "native_index_missing" | "native_index_rebuild_recommended" | "sqlite_storage_optimization_recommended";
1612
+ message: string;
1613
+ severity: "info" | "warning" | "error";
1614
+ action?: "analyze_backend" | "rebuild_native_index" | undefined;
1615
+ }[];
1616
+ } | undefined;
1617
+ workflowStatus?: {
1618
+ backend: "in_memory" | "sqlite" | "postgres";
1619
+ vectorMode: "in_memory" | "json_fallback" | "native_vec0" | "native_pgvector";
1620
+ dimensions?: number | undefined;
1621
+ native?: {
1622
+ requested: boolean;
1623
+ available: boolean;
1624
+ active: boolean;
1625
+ mode?: "vec0" | undefined;
1626
+ tableName?: string | undefined;
1627
+ distanceMetric?: "cosine" | "l2" | undefined;
1628
+ rowCount?: number | undefined;
1629
+ pageCount?: number | undefined;
1630
+ freelistCount?: number | undefined;
1631
+ databaseBytes?: number | undefined;
1632
+ lastHealthCheckAt?: number | undefined;
1633
+ lastAnalyzeAt?: number | undefined;
1634
+ resolution?: {
1635
+ status: import("@absolutejs/ai").SQLiteVecResolutionStatus;
1636
+ source: import("@absolutejs/ai").SQLiteVecResolutionSource;
1637
+ platformKey: string;
1638
+ packageName?: string | undefined;
1639
+ packageVersion?: string | undefined;
1640
+ packageRoot?: string | undefined;
1641
+ libraryFile?: string | undefined;
1642
+ libraryPath?: string | undefined;
1643
+ reason?: string | undefined;
1644
+ } | undefined;
1645
+ fallbackReason?: string | undefined;
1646
+ lastAnalyzeError?: string | undefined;
1647
+ lastHealthError?: string | undefined;
1648
+ lastLoadError?: string | undefined;
1649
+ lastQueryError?: string | undefined;
1650
+ lastUpsertError?: string | undefined;
1651
+ lastQueryPlan?: {
1652
+ pushdownMode: "none" | "partial" | "full";
1653
+ pushdownApplied: boolean;
1654
+ pushdownClauseCount: number;
1655
+ totalFilterClauseCount: number;
1656
+ jsRemainderClauseCount: number;
1657
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1658
+ queryMultiplierUsed?: number | undefined;
1659
+ candidateLimitUsed?: number | undefined;
1660
+ maxBackfillsUsed?: number | undefined;
1661
+ minResultsUsed?: number | undefined;
1662
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
1663
+ pushdownCoverageRatio?: number | undefined;
1664
+ jsRemainderRatio?: number | undefined;
1665
+ filteredCandidateCount?: number | undefined;
1666
+ initialSearchK?: number | undefined;
1667
+ finalSearchK?: number | undefined;
1668
+ searchExpansionRatio?: number | undefined;
1669
+ backfillCount?: number | undefined;
1670
+ backfillLimitReached?: boolean | undefined;
1671
+ minResultsSatisfied?: boolean | undefined;
1672
+ returnedCount?: number | undefined;
1673
+ candidateYieldRatio?: number | undefined;
1674
+ topKFillRatio?: number | undefined;
1675
+ underfilledTopK?: boolean | undefined;
1676
+ candidateBudgetExhausted?: boolean | undefined;
1677
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1678
+ queryMode: "json_fallback" | "native_vec0";
1679
+ } | undefined;
1680
+ } | {
1681
+ requested: boolean;
1682
+ available: boolean;
1683
+ active: boolean;
1684
+ mode?: "pgvector" | undefined;
1685
+ extensionName?: string | undefined;
1686
+ schemaName?: string | undefined;
1687
+ tableName?: string | undefined;
1688
+ distanceMetric?: "cosine" | "l2" | "inner_product" | undefined;
1689
+ indexType?: "none" | "hnsw" | "ivfflat" | undefined;
1690
+ indexName?: string | undefined;
1691
+ indexPresent?: boolean | undefined;
1692
+ estimatedRowCount?: number | undefined;
1693
+ tableBytes?: number | undefined;
1694
+ indexBytes?: number | undefined;
1695
+ totalBytes?: number | undefined;
1696
+ lastHealthCheckAt?: number | undefined;
1697
+ lastAnalyzeAt?: number | undefined;
1698
+ lastReindexAt?: number | undefined;
1699
+ fallbackReason?: string | undefined;
1700
+ lastAnalyzeError?: string | undefined;
1701
+ lastInitError?: string | undefined;
1702
+ lastQueryError?: string | undefined;
1703
+ lastReindexError?: string | undefined;
1704
+ lastUpsertError?: string | undefined;
1705
+ lastMigrationError?: string | undefined;
1706
+ lastHealthError?: string | undefined;
1707
+ lastFilterDebug?: {
1708
+ filter?: Record<string, unknown> | undefined;
1709
+ pushdownFilter?: Record<string, unknown> | undefined;
1710
+ countSql?: string | undefined;
1711
+ countParams?: unknown[] | undefined;
1712
+ querySql?: string | undefined;
1713
+ queryParams?: unknown[] | undefined;
1714
+ countResultRaw?: unknown;
1715
+ queryRowCount?: number | undefined;
1716
+ } | undefined;
1717
+ lastQueryPlan?: {
1718
+ pushdownMode: "none" | "partial" | "full";
1719
+ pushdownApplied: boolean;
1720
+ pushdownClauseCount: number;
1721
+ totalFilterClauseCount: number;
1722
+ jsRemainderClauseCount: number;
1723
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1724
+ queryMultiplierUsed?: number | undefined;
1725
+ candidateLimitUsed?: number | undefined;
1726
+ maxBackfillsUsed?: number | undefined;
1727
+ minResultsUsed?: number | undefined;
1728
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
1729
+ pushdownCoverageRatio?: number | undefined;
1730
+ jsRemainderRatio?: number | undefined;
1731
+ filteredCandidateCount?: number | undefined;
1732
+ initialSearchK?: number | undefined;
1733
+ finalSearchK?: number | undefined;
1734
+ searchExpansionRatio?: number | undefined;
1735
+ backfillCount?: number | undefined;
1736
+ backfillLimitReached?: boolean | undefined;
1737
+ minResultsSatisfied?: boolean | undefined;
1738
+ returnedCount?: number | undefined;
1739
+ candidateYieldRatio?: number | undefined;
1740
+ topKFillRatio?: number | undefined;
1741
+ underfilledTopK?: boolean | undefined;
1742
+ candidateBudgetExhausted?: boolean | undefined;
1743
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1744
+ queryMode: "native_pgvector";
1745
+ } | undefined;
1746
+ } | undefined;
1747
+ } | undefined;
1748
+ admin?: {
1749
+ canAnalyzeBackend: boolean;
1750
+ canClearIndex: boolean;
1751
+ canCreateDocument: boolean;
1752
+ canDeleteDocument: boolean;
1753
+ canListSyncSources: boolean;
1754
+ canManageRetrievalBaselines: boolean;
1755
+ canPruneSearchTraces: boolean;
1756
+ canRebuildNativeIndex: boolean;
1757
+ canReindexDocument: boolean;
1758
+ canReindexSource: boolean;
1759
+ canReseed: boolean;
1760
+ canReset: boolean;
1761
+ canSyncAllSources: boolean;
1762
+ canSyncSource: boolean;
1763
+ } | undefined;
1764
+ adminActions?: {
1765
+ id: string;
1766
+ action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
1767
+ status: "completed" | "failed";
1768
+ startedAt: number;
1769
+ finishedAt?: number | undefined;
1770
+ elapsedMs?: number | undefined;
1771
+ documentId?: string | undefined;
1772
+ target?: string | undefined;
1773
+ error?: string | undefined;
1774
+ }[] | undefined;
1775
+ adminJobs?: {
1776
+ id: string;
1777
+ action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
1778
+ status: import("@absolutejs/ai").RAGAdminJobStatus;
1779
+ startedAt: number;
1780
+ finishedAt?: number | undefined;
1781
+ elapsedMs?: number | undefined;
1782
+ target?: string | undefined;
1783
+ error?: string | undefined;
1784
+ }[] | undefined;
1785
+ backendStats?: Record<string, {
1786
+ chunkCount: number;
1787
+ totalDocuments: number;
1788
+ elapsedMs: number;
1789
+ }> | undefined;
1790
+ document?: {
1791
+ corpusKey?: string | undefined;
1792
+ id: string;
1793
+ title: string;
1794
+ source: string;
1795
+ text?: string | undefined;
1796
+ kind?: string | undefined;
1797
+ format?: import("@absolutejs/ai").RAGContentFormat | undefined;
1798
+ chunkStrategy?: import("@absolutejs/ai").RAGChunkingStrategy | undefined;
1799
+ chunkSize?: number | undefined;
1800
+ chunkCount?: number | undefined;
1801
+ createdAt?: number | undefined;
1802
+ updatedAt?: number | undefined;
1803
+ metadata?: Record<string, unknown> | undefined;
1804
+ labels?: {
1805
+ contextLabel?: string | undefined;
1806
+ locatorLabel?: string | undefined;
1807
+ provenanceLabel?: string | undefined;
1808
+ } | undefined;
1809
+ } | undefined;
1810
+ } | null, import("@absolutejs/ai").RAGMutationResponse | {
1811
+ ok: boolean;
1812
+ error?: string | undefined;
1813
+ deleted?: string | undefined;
1814
+ inserted?: string | undefined;
1815
+ reindexed?: string | undefined;
1816
+ status?: string | undefined;
1817
+ documents?: number | undefined;
1818
+ maintenance?: {
1819
+ backend: Exclude<import("@absolutejs/ai").RAGVectorStoreStatus["backend"], "in_memory">;
1820
+ activeJobs: {
1821
+ action: "analyze_backend" | "rebuild_native_index";
1822
+ startedAt: number;
1823
+ target?: string | undefined;
1824
+ }[];
1825
+ recentActions: {
1826
+ action: "analyze_backend" | "rebuild_native_index";
1827
+ status: import("@absolutejs/ai").RAGAdminActionRecord["status"];
1828
+ finishedAt?: number | undefined;
1829
+ target?: string | undefined;
1830
+ error?: string | undefined;
1831
+ }[];
1832
+ recommendations: {
1833
+ code: "backend_statistics_refresh_recommended" | "native_backend_inactive" | "native_backend_recent_errors" | "native_index_missing" | "native_index_rebuild_recommended" | "sqlite_storage_optimization_recommended";
1834
+ message: string;
1835
+ severity: "info" | "warning" | "error";
1836
+ action?: "analyze_backend" | "rebuild_native_index" | undefined;
1837
+ }[];
1838
+ } | undefined;
1839
+ workflowStatus?: {
1840
+ backend: "in_memory" | "sqlite" | "postgres";
1841
+ vectorMode: "in_memory" | "json_fallback" | "native_vec0" | "native_pgvector";
1842
+ dimensions?: number | undefined;
1843
+ native?: {
1844
+ requested: boolean;
1845
+ available: boolean;
1846
+ active: boolean;
1847
+ mode?: "vec0" | undefined;
1848
+ tableName?: string | undefined;
1849
+ distanceMetric?: "cosine" | "l2" | undefined;
1850
+ rowCount?: number | undefined;
1851
+ pageCount?: number | undefined;
1852
+ freelistCount?: number | undefined;
1853
+ databaseBytes?: number | undefined;
1854
+ lastHealthCheckAt?: number | undefined;
1855
+ lastAnalyzeAt?: number | undefined;
1856
+ resolution?: {
1857
+ status: import("@absolutejs/ai").SQLiteVecResolutionStatus;
1858
+ source: import("@absolutejs/ai").SQLiteVecResolutionSource;
1859
+ platformKey: string;
1860
+ packageName?: string | undefined;
1861
+ packageVersion?: string | undefined;
1862
+ packageRoot?: string | undefined;
1863
+ libraryFile?: string | undefined;
1864
+ libraryPath?: string | undefined;
1865
+ reason?: string | undefined;
1866
+ } | undefined;
1867
+ fallbackReason?: string | undefined;
1868
+ lastAnalyzeError?: string | undefined;
1869
+ lastHealthError?: string | undefined;
1870
+ lastLoadError?: string | undefined;
1871
+ lastQueryError?: string | undefined;
1872
+ lastUpsertError?: string | undefined;
1873
+ lastQueryPlan?: {
1874
+ pushdownMode: "none" | "partial" | "full";
1875
+ pushdownApplied: boolean;
1876
+ pushdownClauseCount: number;
1877
+ totalFilterClauseCount: number;
1878
+ jsRemainderClauseCount: number;
1879
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1880
+ queryMultiplierUsed?: number | undefined;
1881
+ candidateLimitUsed?: number | undefined;
1882
+ maxBackfillsUsed?: number | undefined;
1883
+ minResultsUsed?: number | undefined;
1884
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
1885
+ pushdownCoverageRatio?: number | undefined;
1886
+ jsRemainderRatio?: number | undefined;
1887
+ filteredCandidateCount?: number | undefined;
1888
+ initialSearchK?: number | undefined;
1889
+ finalSearchK?: number | undefined;
1890
+ searchExpansionRatio?: number | undefined;
1891
+ backfillCount?: number | undefined;
1892
+ backfillLimitReached?: boolean | undefined;
1893
+ minResultsSatisfied?: boolean | undefined;
1894
+ returnedCount?: number | undefined;
1895
+ candidateYieldRatio?: number | undefined;
1896
+ topKFillRatio?: number | undefined;
1897
+ underfilledTopK?: boolean | undefined;
1898
+ candidateBudgetExhausted?: boolean | undefined;
1899
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1900
+ queryMode: "json_fallback" | "native_vec0";
1901
+ } | undefined;
1902
+ } | {
1903
+ requested: boolean;
1904
+ available: boolean;
1905
+ active: boolean;
1906
+ mode?: "pgvector" | undefined;
1907
+ extensionName?: string | undefined;
1908
+ schemaName?: string | undefined;
1909
+ tableName?: string | undefined;
1910
+ distanceMetric?: "cosine" | "l2" | "inner_product" | undefined;
1911
+ indexType?: "none" | "hnsw" | "ivfflat" | undefined;
1912
+ indexName?: string | undefined;
1913
+ indexPresent?: boolean | undefined;
1914
+ estimatedRowCount?: number | undefined;
1915
+ tableBytes?: number | undefined;
1916
+ indexBytes?: number | undefined;
1917
+ totalBytes?: number | undefined;
1918
+ lastHealthCheckAt?: number | undefined;
1919
+ lastAnalyzeAt?: number | undefined;
1920
+ lastReindexAt?: number | undefined;
1921
+ fallbackReason?: string | undefined;
1922
+ lastAnalyzeError?: string | undefined;
1923
+ lastInitError?: string | undefined;
1924
+ lastQueryError?: string | undefined;
1925
+ lastReindexError?: string | undefined;
1926
+ lastUpsertError?: string | undefined;
1927
+ lastMigrationError?: string | undefined;
1928
+ lastHealthError?: string | undefined;
1929
+ lastFilterDebug?: {
1930
+ filter?: Record<string, unknown> | undefined;
1931
+ pushdownFilter?: Record<string, unknown> | undefined;
1932
+ countSql?: string | undefined;
1933
+ countParams?: unknown[] | undefined;
1934
+ querySql?: string | undefined;
1935
+ queryParams?: unknown[] | undefined;
1936
+ countResultRaw?: unknown;
1937
+ queryRowCount?: number | undefined;
1938
+ } | undefined;
1939
+ lastQueryPlan?: {
1940
+ pushdownMode: "none" | "partial" | "full";
1941
+ pushdownApplied: boolean;
1942
+ pushdownClauseCount: number;
1943
+ totalFilterClauseCount: number;
1944
+ jsRemainderClauseCount: number;
1945
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
1946
+ queryMultiplierUsed?: number | undefined;
1947
+ candidateLimitUsed?: number | undefined;
1948
+ maxBackfillsUsed?: number | undefined;
1949
+ minResultsUsed?: number | undefined;
1950
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
1951
+ pushdownCoverageRatio?: number | undefined;
1952
+ jsRemainderRatio?: number | undefined;
1953
+ filteredCandidateCount?: number | undefined;
1954
+ initialSearchK?: number | undefined;
1955
+ finalSearchK?: number | undefined;
1956
+ searchExpansionRatio?: number | undefined;
1957
+ backfillCount?: number | undefined;
1958
+ backfillLimitReached?: boolean | undefined;
1959
+ minResultsSatisfied?: boolean | undefined;
1960
+ returnedCount?: number | undefined;
1961
+ candidateYieldRatio?: number | undefined;
1962
+ topKFillRatio?: number | undefined;
1963
+ underfilledTopK?: boolean | undefined;
1964
+ candidateBudgetExhausted?: boolean | undefined;
1965
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
1966
+ queryMode: "native_pgvector";
1967
+ } | undefined;
1968
+ } | undefined;
1969
+ } | undefined;
1970
+ admin?: {
1971
+ canAnalyzeBackend: boolean;
1972
+ canClearIndex: boolean;
1973
+ canCreateDocument: boolean;
1974
+ canDeleteDocument: boolean;
1975
+ canListSyncSources: boolean;
1976
+ canManageRetrievalBaselines: boolean;
1977
+ canPruneSearchTraces: boolean;
1978
+ canRebuildNativeIndex: boolean;
1979
+ canReindexDocument: boolean;
1980
+ canReindexSource: boolean;
1981
+ canReseed: boolean;
1982
+ canReset: boolean;
1983
+ canSyncAllSources: boolean;
1984
+ canSyncSource: boolean;
1985
+ } | undefined;
1986
+ adminActions?: {
1987
+ id: string;
1988
+ action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
1989
+ status: "completed" | "failed";
1990
+ startedAt: number;
1991
+ finishedAt?: number | undefined;
1992
+ elapsedMs?: number | undefined;
1993
+ documentId?: string | undefined;
1994
+ target?: string | undefined;
1995
+ error?: string | undefined;
1996
+ }[] | undefined;
1997
+ adminJobs?: {
1998
+ id: string;
1999
+ action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
2000
+ status: import("@absolutejs/ai").RAGAdminJobStatus;
2001
+ startedAt: number;
2002
+ finishedAt?: number | undefined;
2003
+ elapsedMs?: number | undefined;
2004
+ target?: string | undefined;
2005
+ error?: string | undefined;
2006
+ }[] | undefined;
2007
+ backendStats?: Record<string, {
2008
+ chunkCount: number;
2009
+ totalDocuments: number;
2010
+ elapsedMs: number;
2011
+ }> | undefined;
2012
+ document?: {
2013
+ corpusKey?: string | undefined;
2014
+ id: string;
2015
+ title: string;
2016
+ source: string;
2017
+ text?: string | undefined;
2018
+ kind?: string | undefined;
2019
+ format?: import("@absolutejs/ai").RAGContentFormat | undefined;
2020
+ chunkStrategy?: import("@absolutejs/ai").RAGChunkingStrategy | undefined;
2021
+ chunkSize?: number | undefined;
2022
+ chunkCount?: number | undefined;
2023
+ createdAt?: number | undefined;
2024
+ updatedAt?: number | undefined;
2025
+ metadata?: Record<string, unknown> | undefined;
2026
+ labels?: {
2027
+ contextLabel?: string | undefined;
2028
+ locatorLabel?: string | undefined;
2029
+ provenanceLabel?: string | undefined;
2030
+ } | undefined;
2031
+ } | undefined;
2032
+ } | null>;
2033
+ loadBackends: () => Promise<import("@absolutejs/ai").RAGBackendsResponse>;
2034
+ loadSyncSources: () => Promise<import("@absolutejs/ai").RAGSyncResponse>;
2035
+ rebuildNativeIndex: () => Promise<import("@absolutejs/ai").RAGMutationResponse>;
2036
+ reindexDocument: (id: string) => Promise<import("@absolutejs/ai").RAGMutationResponse>;
2037
+ reindexSource: (source: string) => Promise<import("@absolutejs/ai").RAGMutationResponse>;
2038
+ reseed: () => Promise<import("@absolutejs/ai").RAGMutationResponse>;
2039
+ reset: () => Promise<import("@absolutejs/ai").RAGMutationResponse>;
2040
+ resetState: () => void;
2041
+ syncAllSources: (options?: import("@absolutejs/ai").RAGSyncRunOptions) => Promise<{
2042
+ ok: true;
2043
+ source: import("@absolutejs/ai").RAGSyncSourceRecord;
2044
+ partial?: boolean;
2045
+ } | {
2046
+ ok: true;
2047
+ sources: import("@absolutejs/ai").RAGSyncSourceRecord[];
2048
+ partial?: boolean;
2049
+ failedSourceIds?: string[];
2050
+ errorsBySource?: Record<string, string>;
2051
+ }>;
2052
+ syncSource: (id: string, options?: import("@absolutejs/ai").RAGSyncRunOptions) => Promise<{
2053
+ ok: true;
2054
+ source: import("@absolutejs/ai").RAGSyncSourceRecord;
2055
+ partial?: boolean;
2056
+ } | {
2057
+ ok: true;
2058
+ sources: import("@absolutejs/ai").RAGSyncSourceRecord[];
2059
+ partial?: boolean;
2060
+ failedSourceIds?: string[];
2061
+ errorsBySource?: Record<string, string>;
2062
+ }>;
2063
+ syncSources: import("vue").Ref<{
2064
+ ok: true;
2065
+ source: {
2066
+ id: string;
2067
+ label: string;
2068
+ kind: "directory" | "url" | "storage" | "email" | "custom";
2069
+ status: import("@absolutejs/ai").RAGSyncSourceStatus;
2070
+ description?: string | undefined;
2071
+ target?: string | undefined;
2072
+ lastStartedAt?: number | undefined;
2073
+ lastSyncedAt?: number | undefined;
2074
+ lastSyncDurationMs?: number | undefined;
2075
+ lastError?: string | undefined;
2076
+ lastSuccessfulSyncAt?: number | undefined;
2077
+ consecutiveFailures?: number | undefined;
2078
+ retryAttempts?: number | undefined;
2079
+ nextRetryAt?: number | undefined;
2080
+ documentCount?: number | undefined;
2081
+ chunkCount?: number | undefined;
2082
+ reconciliation?: {
2083
+ refreshMode: "noop" | "targeted";
2084
+ staleDocumentIds: string[];
2085
+ staleSyncKeys: string[];
2086
+ refreshedDocumentIds: string[];
2087
+ refreshedSyncKeys: string[];
2088
+ unchangedDocumentIds: string[];
2089
+ unchangedSyncKeys: string[];
2090
+ targetedRefreshSyncKeys: string[];
2091
+ duplicateSyncKeyGroups: {
2092
+ syncKey: string;
2093
+ count: number;
2094
+ documentIds: string[];
2095
+ }[];
2096
+ lineageConflicts: {
2097
+ syncKey: string;
2098
+ lineageIds: string[];
2099
+ versionIds: string[];
2100
+ latestDocumentIds: string[];
2101
+ documentIds: string[];
2102
+ documents: {
2103
+ documentId: string;
2104
+ lineageId?: string | undefined;
2105
+ versionId?: string | undefined;
2106
+ versionNumber?: number | undefined;
2107
+ isLatestVersion: boolean;
2108
+ }[];
2109
+ reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
2110
+ }[];
2111
+ } | undefined;
2112
+ diagnostics?: {
2113
+ summary: string;
2114
+ entries: {
2115
+ code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
2116
+ severity: "info" | "warning" | "error";
2117
+ summary: string;
2118
+ }[];
2119
+ extractionFailures?: {
2120
+ itemLabel: string;
2121
+ itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
2122
+ reason: string;
2123
+ remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
2124
+ }[] | undefined;
2125
+ retryGuidance?: {
2126
+ action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
2127
+ reason: string;
2128
+ nextRetryAt?: number | undefined;
2129
+ resumeCursor?: string | undefined;
2130
+ syncKeys?: string[] | undefined;
2131
+ } | undefined;
2132
+ } | undefined;
2133
+ metadata?: Record<string, unknown> | undefined;
2134
+ };
2135
+ partial?: boolean | undefined;
2136
+ } | {
2137
+ ok: true;
2138
+ sources: {
2139
+ id: string;
2140
+ label: string;
2141
+ kind: "directory" | "url" | "storage" | "email" | "custom";
2142
+ status: import("@absolutejs/ai").RAGSyncSourceStatus;
2143
+ description?: string | undefined;
2144
+ target?: string | undefined;
2145
+ lastStartedAt?: number | undefined;
2146
+ lastSyncedAt?: number | undefined;
2147
+ lastSyncDurationMs?: number | undefined;
2148
+ lastError?: string | undefined;
2149
+ lastSuccessfulSyncAt?: number | undefined;
2150
+ consecutiveFailures?: number | undefined;
2151
+ retryAttempts?: number | undefined;
2152
+ nextRetryAt?: number | undefined;
2153
+ documentCount?: number | undefined;
2154
+ chunkCount?: number | undefined;
2155
+ reconciliation?: {
2156
+ refreshMode: "noop" | "targeted";
2157
+ staleDocumentIds: string[];
2158
+ staleSyncKeys: string[];
2159
+ refreshedDocumentIds: string[];
2160
+ refreshedSyncKeys: string[];
2161
+ unchangedDocumentIds: string[];
2162
+ unchangedSyncKeys: string[];
2163
+ targetedRefreshSyncKeys: string[];
2164
+ duplicateSyncKeyGroups: {
2165
+ syncKey: string;
2166
+ count: number;
2167
+ documentIds: string[];
2168
+ }[];
2169
+ lineageConflicts: {
2170
+ syncKey: string;
2171
+ lineageIds: string[];
2172
+ versionIds: string[];
2173
+ latestDocumentIds: string[];
2174
+ documentIds: string[];
2175
+ documents: {
2176
+ documentId: string;
2177
+ lineageId?: string | undefined;
2178
+ versionId?: string | undefined;
2179
+ versionNumber?: number | undefined;
2180
+ isLatestVersion: boolean;
2181
+ }[];
2182
+ reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
2183
+ }[];
2184
+ } | undefined;
2185
+ diagnostics?: {
2186
+ summary: string;
2187
+ entries: {
2188
+ code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
2189
+ severity: "info" | "warning" | "error";
2190
+ summary: string;
2191
+ }[];
2192
+ extractionFailures?: {
2193
+ itemLabel: string;
2194
+ itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
2195
+ reason: string;
2196
+ remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
2197
+ }[] | undefined;
2198
+ retryGuidance?: {
2199
+ action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
2200
+ reason: string;
2201
+ nextRetryAt?: number | undefined;
2202
+ resumeCursor?: string | undefined;
2203
+ syncKeys?: string[] | undefined;
2204
+ } | undefined;
2205
+ } | undefined;
2206
+ metadata?: Record<string, unknown> | undefined;
2207
+ }[];
2208
+ partial?: boolean | undefined;
2209
+ failedSourceIds?: string[] | undefined;
2210
+ errorsBySource?: Record<string, string> | undefined;
2211
+ } | {
2212
+ ok: false;
2213
+ error: string;
2214
+ } | null, import("@absolutejs/ai").RAGSyncResponse | {
2215
+ ok: true;
2216
+ source: {
2217
+ id: string;
2218
+ label: string;
2219
+ kind: "directory" | "url" | "storage" | "email" | "custom";
2220
+ status: import("@absolutejs/ai").RAGSyncSourceStatus;
2221
+ description?: string | undefined;
2222
+ target?: string | undefined;
2223
+ lastStartedAt?: number | undefined;
2224
+ lastSyncedAt?: number | undefined;
2225
+ lastSyncDurationMs?: number | undefined;
2226
+ lastError?: string | undefined;
2227
+ lastSuccessfulSyncAt?: number | undefined;
2228
+ consecutiveFailures?: number | undefined;
2229
+ retryAttempts?: number | undefined;
2230
+ nextRetryAt?: number | undefined;
2231
+ documentCount?: number | undefined;
2232
+ chunkCount?: number | undefined;
2233
+ reconciliation?: {
2234
+ refreshMode: "noop" | "targeted";
2235
+ staleDocumentIds: string[];
2236
+ staleSyncKeys: string[];
2237
+ refreshedDocumentIds: string[];
2238
+ refreshedSyncKeys: string[];
2239
+ unchangedDocumentIds: string[];
2240
+ unchangedSyncKeys: string[];
2241
+ targetedRefreshSyncKeys: string[];
2242
+ duplicateSyncKeyGroups: {
2243
+ syncKey: string;
2244
+ count: number;
2245
+ documentIds: string[];
2246
+ }[];
2247
+ lineageConflicts: {
2248
+ syncKey: string;
2249
+ lineageIds: string[];
2250
+ versionIds: string[];
2251
+ latestDocumentIds: string[];
2252
+ documentIds: string[];
2253
+ documents: {
2254
+ documentId: string;
2255
+ lineageId?: string | undefined;
2256
+ versionId?: string | undefined;
2257
+ versionNumber?: number | undefined;
2258
+ isLatestVersion: boolean;
2259
+ }[];
2260
+ reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
2261
+ }[];
2262
+ } | undefined;
2263
+ diagnostics?: {
2264
+ summary: string;
2265
+ entries: {
2266
+ code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
2267
+ severity: "info" | "warning" | "error";
2268
+ summary: string;
2269
+ }[];
2270
+ extractionFailures?: {
2271
+ itemLabel: string;
2272
+ itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
2273
+ reason: string;
2274
+ remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
2275
+ }[] | undefined;
2276
+ retryGuidance?: {
2277
+ action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
2278
+ reason: string;
2279
+ nextRetryAt?: number | undefined;
2280
+ resumeCursor?: string | undefined;
2281
+ syncKeys?: string[] | undefined;
2282
+ } | undefined;
2283
+ } | undefined;
2284
+ metadata?: Record<string, unknown> | undefined;
2285
+ };
2286
+ partial?: boolean | undefined;
2287
+ } | {
2288
+ ok: true;
2289
+ sources: {
2290
+ id: string;
2291
+ label: string;
2292
+ kind: "directory" | "url" | "storage" | "email" | "custom";
2293
+ status: import("@absolutejs/ai").RAGSyncSourceStatus;
2294
+ description?: string | undefined;
2295
+ target?: string | undefined;
2296
+ lastStartedAt?: number | undefined;
2297
+ lastSyncedAt?: number | undefined;
2298
+ lastSyncDurationMs?: number | undefined;
2299
+ lastError?: string | undefined;
2300
+ lastSuccessfulSyncAt?: number | undefined;
2301
+ consecutiveFailures?: number | undefined;
2302
+ retryAttempts?: number | undefined;
2303
+ nextRetryAt?: number | undefined;
2304
+ documentCount?: number | undefined;
2305
+ chunkCount?: number | undefined;
2306
+ reconciliation?: {
2307
+ refreshMode: "noop" | "targeted";
2308
+ staleDocumentIds: string[];
2309
+ staleSyncKeys: string[];
2310
+ refreshedDocumentIds: string[];
2311
+ refreshedSyncKeys: string[];
2312
+ unchangedDocumentIds: string[];
2313
+ unchangedSyncKeys: string[];
2314
+ targetedRefreshSyncKeys: string[];
2315
+ duplicateSyncKeyGroups: {
2316
+ syncKey: string;
2317
+ count: number;
2318
+ documentIds: string[];
2319
+ }[];
2320
+ lineageConflicts: {
2321
+ syncKey: string;
2322
+ lineageIds: string[];
2323
+ versionIds: string[];
2324
+ latestDocumentIds: string[];
2325
+ documentIds: string[];
2326
+ documents: {
2327
+ documentId: string;
2328
+ lineageId?: string | undefined;
2329
+ versionId?: string | undefined;
2330
+ versionNumber?: number | undefined;
2331
+ isLatestVersion: boolean;
2332
+ }[];
2333
+ reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
2334
+ }[];
2335
+ } | undefined;
2336
+ diagnostics?: {
2337
+ summary: string;
2338
+ entries: {
2339
+ code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
2340
+ severity: "info" | "warning" | "error";
2341
+ summary: string;
2342
+ }[];
2343
+ extractionFailures?: {
2344
+ itemLabel: string;
2345
+ itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
2346
+ reason: string;
2347
+ remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
2348
+ }[] | undefined;
2349
+ retryGuidance?: {
2350
+ action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
2351
+ reason: string;
2352
+ nextRetryAt?: number | undefined;
2353
+ resumeCursor?: string | undefined;
2354
+ syncKeys?: string[] | undefined;
2355
+ } | undefined;
2356
+ } | undefined;
2357
+ metadata?: Record<string, unknown> | undefined;
2358
+ }[];
2359
+ partial?: boolean | undefined;
2360
+ failedSourceIds?: string[] | undefined;
2361
+ errorsBySource?: Record<string, string> | undefined;
2362
+ } | {
2363
+ ok: false;
2364
+ error: string;
2365
+ } | null>;
2366
+ };
2367
+ ingest: {
2368
+ clearIndex: () => Promise<{
2369
+ ok: boolean;
2370
+ }>;
2371
+ error: import("vue").Ref<string | null, string | null>;
2372
+ ingest: (chunks: import("@absolutejs/ai").RAGDocumentChunk[]) => Promise<import("@absolutejs/ai").RAGIngestResponse>;
2373
+ ingestChunks: (chunks: import("@absolutejs/ai").RAGDocumentChunk[]) => Promise<import("@absolutejs/ai").RAGIngestResponse>;
2374
+ ingestDocuments: (input: import("@absolutejs/ai").RAGDocumentIngestInput) => Promise<import("@absolutejs/ai").RAGIngestResponse>;
2375
+ ingestUploads: (input: import("@absolutejs/ai").RAGDocumentUploadIngestInput) => Promise<import("@absolutejs/ai").RAGIngestResponse>;
2376
+ ingestUrls: (input: import("@absolutejs/ai").RAGDocumentUrlIngestInput) => Promise<import("@absolutejs/ai").RAGIngestResponse>;
2377
+ isIngesting: import("vue").Ref<boolean, boolean>;
2378
+ lastDocumentCount: import("vue").Ref<number | null, number | null>;
2379
+ lastIngestCount: import("vue").Ref<number | null, number | null>;
2380
+ lastResponse: import("vue").Ref<{
2381
+ ok: boolean;
2382
+ count?: number | undefined;
2383
+ documentCount?: number | undefined;
2384
+ error?: string | undefined;
2385
+ } | null, import("@absolutejs/ai").RAGIngestResponse | {
2386
+ ok: boolean;
2387
+ count?: number | undefined;
2388
+ documentCount?: number | undefined;
2389
+ error?: string | undefined;
2390
+ } | null>;
2391
+ reset: () => void;
2392
+ };
2393
+ ops: {
2394
+ admin: import("vue").Ref<import("@absolutejs/ai").RAGAdminCapabilities | undefined, import("@absolutejs/ai").RAGAdminCapabilities | undefined>;
2395
+ adminActions: import("vue").Ref<{
2396
+ id: string;
2397
+ action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
2398
+ status: "completed" | "failed";
2399
+ startedAt: number;
2400
+ finishedAt?: number | undefined;
2401
+ elapsedMs?: number | undefined;
2402
+ documentId?: string | undefined;
2403
+ target?: string | undefined;
2404
+ error?: string | undefined;
2405
+ }[], import("@absolutejs/ai").RAGAdminActionRecord[] | {
2406
+ id: string;
2407
+ action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
2408
+ status: "completed" | "failed";
2409
+ startedAt: number;
2410
+ finishedAt?: number | undefined;
2411
+ elapsedMs?: number | undefined;
2412
+ documentId?: string | undefined;
2413
+ target?: string | undefined;
2414
+ error?: string | undefined;
2415
+ }[]>;
2416
+ adminJobs: import("vue").Ref<{
2417
+ id: string;
2418
+ action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
2419
+ status: import("@absolutejs/ai").RAGAdminJobStatus;
2420
+ startedAt: number;
2421
+ finishedAt?: number | undefined;
2422
+ elapsedMs?: number | undefined;
2423
+ target?: string | undefined;
2424
+ error?: string | undefined;
2425
+ }[], import("@absolutejs/ai").RAGAdminJobRecord[] | {
2426
+ id: string;
2427
+ action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
2428
+ status: import("@absolutejs/ai").RAGAdminJobStatus;
2429
+ startedAt: number;
2430
+ finishedAt?: number | undefined;
2431
+ elapsedMs?: number | undefined;
2432
+ target?: string | undefined;
2433
+ error?: string | undefined;
2434
+ }[]>;
2435
+ capabilities: import("vue").Ref<import("@absolutejs/ai").RAGBackendCapabilities | undefined, import("@absolutejs/ai").RAGBackendCapabilities | undefined>;
2436
+ documents: import("vue").Ref<import("@absolutejs/ai").RAGDocumentSummary | undefined, import("@absolutejs/ai").RAGDocumentSummary | undefined>;
2437
+ error: import("vue").Ref<string | null, string | null>;
2438
+ health: import("vue").Ref<import("@absolutejs/ai").RAGCorpusHealth | undefined, import("@absolutejs/ai").RAGCorpusHealth | undefined>;
2439
+ ingestJobs: import("vue").Ref<{
2440
+ id: string;
2441
+ status: import("@absolutejs/ai").RAGIngestJobStatus;
2442
+ startedAt: number;
2443
+ finishedAt?: number | undefined;
2444
+ elapsedMs?: number | undefined;
2445
+ inputKind: "chunks" | "documents" | "urls" | "uploads";
2446
+ requestedCount: number;
2447
+ chunkCount?: number | undefined;
2448
+ documentCount?: number | undefined;
2449
+ error?: string | undefined;
2450
+ extractorNames?: string[] | undefined;
2451
+ }[], import("@absolutejs/ai").RAGIngestJobRecord[] | {
2452
+ id: string;
2453
+ status: import("@absolutejs/ai").RAGIngestJobStatus;
2454
+ startedAt: number;
2455
+ finishedAt?: number | undefined;
2456
+ elapsedMs?: number | undefined;
2457
+ inputKind: "chunks" | "documents" | "urls" | "uploads";
2458
+ requestedCount: number;
2459
+ chunkCount?: number | undefined;
2460
+ documentCount?: number | undefined;
2461
+ error?: string | undefined;
2462
+ extractorNames?: string[] | undefined;
2463
+ }[]>;
2464
+ isLoading: import("vue").Ref<boolean, boolean>;
2465
+ maintenance: import("vue").Ref<import("@absolutejs/ai").RAGBackendMaintenanceSummary | undefined, import("@absolutejs/ai").RAGBackendMaintenanceSummary | undefined>;
2466
+ operations: import("vue").Ref<import("@absolutejs/ai").RAGOperationsResponse | undefined, import("@absolutejs/ai").RAGOperationsResponse | undefined>;
2467
+ readiness: import("vue").Ref<import("@absolutejs/ai").RAGExtractorReadiness | undefined, import("@absolutejs/ai").RAGExtractorReadiness | undefined>;
2468
+ refresh: () => Promise<import("@absolutejs/ai").RAGOperationsResponse>;
2469
+ reset: () => void;
2470
+ status: import("vue").Ref<import("@absolutejs/ai").RAGVectorStoreStatus | undefined, import("@absolutejs/ai").RAGVectorStoreStatus | undefined>;
2471
+ syncSources: import("vue").Ref<{
2472
+ id: string;
2473
+ label: string;
2474
+ kind: "directory" | "url" | "storage" | "email" | "custom";
2475
+ status: import("@absolutejs/ai").RAGSyncSourceStatus;
2476
+ description?: string | undefined;
2477
+ target?: string | undefined;
2478
+ lastStartedAt?: number | undefined;
2479
+ lastSyncedAt?: number | undefined;
2480
+ lastSyncDurationMs?: number | undefined;
2481
+ lastError?: string | undefined;
2482
+ lastSuccessfulSyncAt?: number | undefined;
2483
+ consecutiveFailures?: number | undefined;
2484
+ retryAttempts?: number | undefined;
2485
+ nextRetryAt?: number | undefined;
2486
+ documentCount?: number | undefined;
2487
+ chunkCount?: number | undefined;
2488
+ reconciliation?: {
2489
+ refreshMode: "noop" | "targeted";
2490
+ staleDocumentIds: string[];
2491
+ staleSyncKeys: string[];
2492
+ refreshedDocumentIds: string[];
2493
+ refreshedSyncKeys: string[];
2494
+ unchangedDocumentIds: string[];
2495
+ unchangedSyncKeys: string[];
2496
+ targetedRefreshSyncKeys: string[];
2497
+ duplicateSyncKeyGroups: {
2498
+ syncKey: string;
2499
+ count: number;
2500
+ documentIds: string[];
2501
+ }[];
2502
+ lineageConflicts: {
2503
+ syncKey: string;
2504
+ lineageIds: string[];
2505
+ versionIds: string[];
2506
+ latestDocumentIds: string[];
2507
+ documentIds: string[];
2508
+ documents: {
2509
+ documentId: string;
2510
+ lineageId?: string | undefined;
2511
+ versionId?: string | undefined;
2512
+ versionNumber?: number | undefined;
2513
+ isLatestVersion: boolean;
2514
+ }[];
2515
+ reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
2516
+ }[];
2517
+ } | undefined;
2518
+ diagnostics?: {
2519
+ summary: string;
2520
+ entries: {
2521
+ code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
2522
+ severity: "info" | "warning" | "error";
2523
+ summary: string;
2524
+ }[];
2525
+ extractionFailures?: {
2526
+ itemLabel: string;
2527
+ itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
2528
+ reason: string;
2529
+ remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
2530
+ }[] | undefined;
2531
+ retryGuidance?: {
2532
+ action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
2533
+ reason: string;
2534
+ nextRetryAt?: number | undefined;
2535
+ resumeCursor?: string | undefined;
2536
+ syncKeys?: string[] | undefined;
2537
+ } | undefined;
2538
+ } | undefined;
2539
+ metadata?: Record<string, unknown> | undefined;
2540
+ }[], import("@absolutejs/ai").RAGSyncSourceRecord[] | {
2541
+ id: string;
2542
+ label: string;
2543
+ kind: "directory" | "url" | "storage" | "email" | "custom";
2544
+ status: import("@absolutejs/ai").RAGSyncSourceStatus;
2545
+ description?: string | undefined;
2546
+ target?: string | undefined;
2547
+ lastStartedAt?: number | undefined;
2548
+ lastSyncedAt?: number | undefined;
2549
+ lastSyncDurationMs?: number | undefined;
2550
+ lastError?: string | undefined;
2551
+ lastSuccessfulSyncAt?: number | undefined;
2552
+ consecutiveFailures?: number | undefined;
2553
+ retryAttempts?: number | undefined;
2554
+ nextRetryAt?: number | undefined;
2555
+ documentCount?: number | undefined;
2556
+ chunkCount?: number | undefined;
2557
+ reconciliation?: {
2558
+ refreshMode: "noop" | "targeted";
2559
+ staleDocumentIds: string[];
2560
+ staleSyncKeys: string[];
2561
+ refreshedDocumentIds: string[];
2562
+ refreshedSyncKeys: string[];
2563
+ unchangedDocumentIds: string[];
2564
+ unchangedSyncKeys: string[];
2565
+ targetedRefreshSyncKeys: string[];
2566
+ duplicateSyncKeyGroups: {
2567
+ syncKey: string;
2568
+ count: number;
2569
+ documentIds: string[];
2570
+ }[];
2571
+ lineageConflicts: {
2572
+ syncKey: string;
2573
+ lineageIds: string[];
2574
+ versionIds: string[];
2575
+ latestDocumentIds: string[];
2576
+ documentIds: string[];
2577
+ documents: {
2578
+ documentId: string;
2579
+ lineageId?: string | undefined;
2580
+ versionId?: string | undefined;
2581
+ versionNumber?: number | undefined;
2582
+ isLatestVersion: boolean;
2583
+ }[];
2584
+ reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
2585
+ }[];
2586
+ } | undefined;
2587
+ diagnostics?: {
2588
+ summary: string;
2589
+ entries: {
2590
+ code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
2591
+ severity: "info" | "warning" | "error";
2592
+ summary: string;
2593
+ }[];
2594
+ extractionFailures?: {
2595
+ itemLabel: string;
2596
+ itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
2597
+ reason: string;
2598
+ remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
2599
+ }[] | undefined;
2600
+ retryGuidance?: {
2601
+ action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
2602
+ reason: string;
2603
+ nextRetryAt?: number | undefined;
2604
+ resumeCursor?: string | undefined;
2605
+ syncKeys?: string[] | undefined;
2606
+ } | undefined;
2607
+ } | undefined;
2608
+ metadata?: Record<string, unknown> | undefined;
2609
+ }[]>;
2610
+ };
2611
+ search: {
2612
+ error: import("vue").Ref<string | null, string | null>;
2613
+ hasSearched: import("vue").Ref<boolean, boolean>;
2614
+ isSearching: import("vue").Ref<boolean, boolean>;
2615
+ lastRequest: import("vue").Ref<{
2616
+ filter?: Record<string, unknown> | undefined;
2617
+ query: string;
2618
+ candidateTopK?: number | undefined;
2619
+ retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
2620
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
2621
+ lexicalTopK?: number | undefined;
2622
+ maxResultsPerSource?: number | undefined;
2623
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
2624
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
2625
+ mmrLambda?: number | undefined;
2626
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
2627
+ fusionConstant?: number | undefined;
2628
+ lexicalWeight?: number | undefined;
2629
+ vectorWeight?: number | undefined;
2630
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
2631
+ nativeCandidateLimit?: number | undefined;
2632
+ nativeMaxBackfills?: number | undefined;
2633
+ nativeMinResults?: number | undefined;
2634
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
2635
+ } | undefined;
2636
+ model?: string | undefined;
2637
+ topK?: number | undefined;
2638
+ scoreThreshold?: number | undefined;
2639
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
2640
+ nativeQueryMultiplier?: number | undefined;
2641
+ nativeCandidateLimit?: number | undefined;
2642
+ nativeMaxBackfills?: number | undefined;
2643
+ nativeMinResults?: number | undefined;
2644
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
2645
+ queryTransform?: import("@absolutejs/ai").RAGQueryTransformer | {
2646
+ transform: import("@absolutejs/ai").RAGQueryTransformer;
2647
+ defaultModel?: string | undefined;
2648
+ providerName?: string | undefined;
2649
+ } | undefined;
2650
+ retrievalStrategy?: import("@absolutejs/ai").RAGRetrievalStrategySelector | {
2651
+ select: import("@absolutejs/ai").RAGRetrievalStrategySelector;
2652
+ providerName?: string | undefined;
2653
+ defaultLabel?: string | undefined;
2654
+ } | undefined;
2655
+ includeTrace?: boolean | undefined;
2656
+ persistTrace?: boolean | undefined;
2657
+ traceGroupKey?: string | undefined;
2658
+ traceTags?: string[] | undefined;
2659
+ } | null, import("@absolutejs/ai").RAGSearchRequest | {
2660
+ filter?: Record<string, unknown> | undefined;
2661
+ query: string;
2662
+ candidateTopK?: number | undefined;
2663
+ retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
2664
+ mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
2665
+ lexicalTopK?: number | undefined;
2666
+ maxResultsPerSource?: number | undefined;
2667
+ sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
2668
+ diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
2669
+ mmrLambda?: number | undefined;
2670
+ fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
2671
+ fusionConstant?: number | undefined;
2672
+ lexicalWeight?: number | undefined;
2673
+ vectorWeight?: number | undefined;
2674
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
2675
+ nativeCandidateLimit?: number | undefined;
2676
+ nativeMaxBackfills?: number | undefined;
2677
+ nativeMinResults?: number | undefined;
2678
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
2679
+ } | undefined;
2680
+ model?: string | undefined;
2681
+ topK?: number | undefined;
2682
+ scoreThreshold?: number | undefined;
2683
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
2684
+ nativeQueryMultiplier?: number | undefined;
2685
+ nativeCandidateLimit?: number | undefined;
2686
+ nativeMaxBackfills?: number | undefined;
2687
+ nativeMinResults?: number | undefined;
2688
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
2689
+ queryTransform?: import("@absolutejs/ai").RAGQueryTransformer | {
2690
+ transform: import("@absolutejs/ai").RAGQueryTransformer;
2691
+ defaultModel?: string | undefined;
2692
+ providerName?: string | undefined;
2693
+ } | undefined;
2694
+ retrievalStrategy?: import("@absolutejs/ai").RAGRetrievalStrategySelector | {
2695
+ select: import("@absolutejs/ai").RAGRetrievalStrategySelector;
2696
+ providerName?: string | undefined;
2697
+ defaultLabel?: string | undefined;
2698
+ } | undefined;
2699
+ includeTrace?: boolean | undefined;
2700
+ persistTrace?: boolean | undefined;
2701
+ traceGroupKey?: string | undefined;
2702
+ traceTags?: string[] | undefined;
2703
+ } | null>;
2704
+ reset: () => void;
2705
+ results: import("vue").Ref<{
2706
+ chunkId: string;
2707
+ corpusKey?: string | undefined;
2708
+ score: number;
2709
+ text: string;
2710
+ title?: string | undefined;
2711
+ source?: string | undefined;
2712
+ metadata?: Record<string, unknown> | undefined;
2713
+ labels?: {
2714
+ contextLabel?: string | undefined;
2715
+ locatorLabel?: string | undefined;
2716
+ provenanceLabel?: string | undefined;
2717
+ } | undefined;
2718
+ structure?: {
2719
+ section?: {
2720
+ title?: string | undefined;
2721
+ path?: string[] | undefined;
2722
+ depth?: number | undefined;
2723
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "office_block" | "pdf_block" | "spreadsheet_rows" | "presentation_slide" | undefined;
2724
+ } | undefined;
2725
+ sequence?: {
2726
+ sectionChunkId?: string | undefined;
2727
+ sectionChunkIndex?: number | undefined;
2728
+ sectionChunkCount?: number | undefined;
2729
+ previousChunkId?: string | undefined;
2730
+ nextChunkId?: string | undefined;
2731
+ } | undefined;
2732
+ } | undefined;
2733
+ }[], import("@absolutejs/ai").RAGSource[] | {
2734
+ chunkId: string;
2735
+ corpusKey?: string | undefined;
2736
+ score: number;
2737
+ text: string;
2738
+ title?: string | undefined;
2739
+ source?: string | undefined;
2740
+ metadata?: Record<string, unknown> | undefined;
2741
+ labels?: {
2742
+ contextLabel?: string | undefined;
2743
+ locatorLabel?: string | undefined;
2744
+ provenanceLabel?: string | undefined;
2745
+ } | undefined;
2746
+ structure?: {
2747
+ section?: {
2748
+ title?: string | undefined;
2749
+ path?: string[] | undefined;
2750
+ depth?: number | undefined;
2751
+ kind?: "markdown_heading" | "html_heading" | "office_heading" | "office_block" | "pdf_block" | "spreadsheet_rows" | "presentation_slide" | undefined;
2752
+ } | undefined;
2753
+ sequence?: {
2754
+ sectionChunkId?: string | undefined;
2755
+ sectionChunkIndex?: number | undefined;
2756
+ sectionChunkCount?: number | undefined;
2757
+ previousChunkId?: string | undefined;
2758
+ nextChunkId?: string | undefined;
2759
+ } | undefined;
2760
+ } | undefined;
2761
+ }[]>;
2762
+ search: (input: {
2763
+ filter?: Record<string, unknown> | undefined;
2764
+ query: string;
2765
+ candidateTopK?: number | undefined;
2766
+ retrieval?: (import("@absolutejs/ai").RAGHybridSearchOptions | import("@absolutejs/ai").RAGHybridRetrievalMode) | undefined;
2767
+ model?: string | undefined;
2768
+ topK?: number | undefined;
2769
+ scoreThreshold?: number | undefined;
2770
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
2771
+ nativeQueryMultiplier?: number | undefined;
2772
+ nativeCandidateLimit?: number | undefined;
2773
+ nativeMaxBackfills?: number | undefined;
2774
+ nativeMinResults?: number | undefined;
2775
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
2776
+ queryTransform?: import("@absolutejs/ai").RAGQueryTransformProviderLike | undefined;
2777
+ retrievalStrategy?: import("@absolutejs/ai").RAGRetrievalStrategyProviderLike | undefined;
2778
+ persistTrace?: boolean | undefined;
2779
+ traceGroupKey?: string | undefined;
2780
+ traceTags?: string[] | undefined;
2781
+ }) => Promise<import("@absolutejs/ai").RAGSource[]>;
2782
+ searchWithTrace: (input: {
2783
+ filter?: Record<string, unknown> | undefined;
2784
+ query: string;
2785
+ candidateTopK?: number | undefined;
2786
+ retrieval?: (import("@absolutejs/ai").RAGHybridSearchOptions | import("@absolutejs/ai").RAGHybridRetrievalMode) | undefined;
2787
+ model?: string | undefined;
2788
+ topK?: number | undefined;
2789
+ scoreThreshold?: number | undefined;
2790
+ nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
2791
+ nativeQueryMultiplier?: number | undefined;
2792
+ nativeCandidateLimit?: number | undefined;
2793
+ nativeMaxBackfills?: number | undefined;
2794
+ nativeMinResults?: number | undefined;
2795
+ nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
2796
+ queryTransform?: import("@absolutejs/ai").RAGQueryTransformProviderLike | undefined;
2797
+ retrievalStrategy?: import("@absolutejs/ai").RAGRetrievalStrategyProviderLike | undefined;
2798
+ persistTrace?: boolean | undefined;
2799
+ traceGroupKey?: string | undefined;
2800
+ traceTags?: string[] | undefined;
2801
+ }) => Promise<import("../../ai/client").RAGDetailedSearchResponse>;
2802
+ trace: import("vue").Ref<import("@absolutejs/ai").RAGRetrievalTrace | undefined, import("@absolutejs/ai").RAGRetrievalTrace | undefined>;
2803
+ };
2804
+ sources: {
2805
+ citationReferenceMap: import("vue").ComputedRef<import("@absolutejs/ai").RAGCitationReferenceMap>;
2806
+ chunkGraph: import("vue").ComputedRef<import("@absolutejs/ai").RAGChunkGraph>;
2807
+ hasSources: import("vue").ComputedRef<boolean>;
2808
+ latestAssistantMessage: import("vue").ComputedRef<import("@absolutejs/ai").AIMessage | undefined>;
2809
+ navigationForChunk: (chunkId?: string | null) => import("@absolutejs/ai").RAGChunkGraphNavigation;
2810
+ sectionDiagnostics: import("vue").ComputedRef<import("@absolutejs/ai").RAGSectionRetrievalDiagnostic[]>;
2811
+ sourceGroups: import("vue").ComputedRef<import("@absolutejs/ai").RAGSourceGroup[]>;
2812
+ sources: import("vue").ComputedRef<import("@absolutejs/ai").RAGSource[]>;
2813
+ sourceSummaries: import("vue").ComputedRef<import("@absolutejs/ai").RAGSourceSummary[]>;
2814
+ };
2815
+ status: {
2816
+ capabilities: import("vue").Ref<import("@absolutejs/ai").RAGBackendCapabilities | undefined, import("@absolutejs/ai").RAGBackendCapabilities | undefined>;
2817
+ error: import("vue").Ref<string | null, string | null>;
2818
+ isLoading: import("vue").Ref<boolean, boolean>;
2819
+ refresh: () => Promise<import("@absolutejs/ai").RAGStatusResponse>;
2820
+ reset: () => void;
2821
+ status: import("vue").Ref<import("@absolutejs/ai").RAGVectorStoreStatus | undefined, import("@absolutejs/ai").RAGVectorStoreStatus | undefined>;
2822
+ };
2823
+ stream: {
2824
+ state: import("vue").ComputedRef<import("@absolutejs/ai").RAGAnswerWorkflowState>;
2825
+ citationReferenceMap: import("vue").ComputedRef<import("@absolutejs/ai").RAGCitationReferenceMap>;
2826
+ citations: import("vue").ComputedRef<import("@absolutejs/ai").RAGCitation[]>;
2827
+ coverage: import("vue").ComputedRef<"grounded" | "partial" | "ungrounded">;
2828
+ groundedAnswer: import("vue").ComputedRef<import("@absolutejs/ai").RAGGroundedAnswer>;
2829
+ groundingReferences: import("vue").ComputedRef<import("@absolutejs/ai").RAGGroundingReference[]>;
2830
+ hasGrounding: import("vue").ComputedRef<boolean>;
2831
+ hasRetrieved: import("vue").ComputedRef<boolean>;
2832
+ hasSources: import("vue").ComputedRef<boolean>;
2833
+ isAnswerStreaming: import("vue").ComputedRef<boolean>;
2834
+ isComplete: import("vue").ComputedRef<boolean>;
2835
+ isError: import("vue").ComputedRef<boolean>;
2836
+ isRetrieved: import("vue").ComputedRef<boolean>;
2837
+ isRetrieving: import("vue").ComputedRef<boolean>;
2838
+ isRunning: import("vue").ComputedRef<boolean>;
2839
+ latestAssistantMessage: import("vue").ComputedRef<import("@absolutejs/ai").AIMessage | undefined>;
2840
+ progress: import("vue").ComputedRef<import("../../ai/rag/presentation").RAGStreamProgress>;
2841
+ query: (content: string, attachments?: import("@absolutejs/ai").AIAttachment[]) => void;
2842
+ retrieval: import("vue").ComputedRef<import("@absolutejs/ai").RAGRetrievedState | null>;
2843
+ sourceGroups: import("vue").ComputedRef<import("@absolutejs/ai").RAGSourceGroup[]>;
2844
+ sourceSummaries: import("vue").ComputedRef<import("@absolutejs/ai").RAGSourceSummary[]>;
2845
+ sources: import("vue").ComputedRef<import("@absolutejs/ai").RAGSource[]>;
2846
+ stage: import("vue").ComputedRef<import("@absolutejs/ai").RAGStreamStage>;
2847
+ ungroundedReferenceNumbers: import("vue").ComputedRef<number[]>;
2848
+ workflow: import("vue").ComputedRef<import("@absolutejs/ai").RAGAnswerWorkflowState>;
2849
+ branch: (messageId: string, content: string) => void;
2850
+ cancel: () => void;
2851
+ destroy: () => void;
2852
+ error: import("vue").Ref<string | null, string | null>;
2853
+ isStreaming: import("vue").Ref<boolean, boolean>;
2854
+ messages: import("vue").ShallowRef<import("@absolutejs/ai").AIMessage[], import("@absolutejs/ai").AIMessage[]>;
2855
+ send: (content: string, attachments?: import("@absolutejs/ai").AIAttachment[]) => void;
2856
+ };
2857
+ workflow: {
2858
+ state: import("vue").ComputedRef<import("@absolutejs/ai").RAGAnswerWorkflowState>;
2859
+ citationReferenceMap: import("vue").ComputedRef<import("@absolutejs/ai").RAGCitationReferenceMap>;
2860
+ citations: import("vue").ComputedRef<import("@absolutejs/ai").RAGCitation[]>;
2861
+ coverage: import("vue").ComputedRef<"grounded" | "partial" | "ungrounded">;
2862
+ groundedAnswer: import("vue").ComputedRef<import("@absolutejs/ai").RAGGroundedAnswer>;
2863
+ groundingReferences: import("vue").ComputedRef<import("@absolutejs/ai").RAGGroundingReference[]>;
2864
+ hasGrounding: import("vue").ComputedRef<boolean>;
2865
+ hasRetrieved: import("vue").ComputedRef<boolean>;
2866
+ hasSources: import("vue").ComputedRef<boolean>;
2867
+ isAnswerStreaming: import("vue").ComputedRef<boolean>;
2868
+ isComplete: import("vue").ComputedRef<boolean>;
2869
+ isError: import("vue").ComputedRef<boolean>;
2870
+ isRetrieved: import("vue").ComputedRef<boolean>;
2871
+ isRetrieving: import("vue").ComputedRef<boolean>;
2872
+ isRunning: import("vue").ComputedRef<boolean>;
2873
+ latestAssistantMessage: import("vue").ComputedRef<import("@absolutejs/ai").AIMessage | undefined>;
2874
+ progress: import("vue").ComputedRef<import("../../ai/rag/presentation").RAGStreamProgress>;
2875
+ query: (content: string, attachments?: import("@absolutejs/ai").AIAttachment[]) => void;
2876
+ retrieval: import("vue").ComputedRef<import("@absolutejs/ai").RAGRetrievedState | null>;
2877
+ sourceGroups: import("vue").ComputedRef<import("@absolutejs/ai").RAGSourceGroup[]>;
2878
+ sourceSummaries: import("vue").ComputedRef<import("@absolutejs/ai").RAGSourceSummary[]>;
2879
+ sources: import("vue").ComputedRef<import("@absolutejs/ai").RAGSource[]>;
2880
+ stage: import("vue").ComputedRef<import("@absolutejs/ai").RAGStreamStage>;
2881
+ ungroundedReferenceNumbers: import("vue").ComputedRef<number[]>;
2882
+ workflow: import("vue").ComputedRef<import("@absolutejs/ai").RAGAnswerWorkflowState>;
2883
+ branch: (messageId: string, content: string) => void;
2884
+ cancel: () => void;
2885
+ destroy: () => void;
2886
+ error: import("vue").Ref<string | null, string | null>;
2887
+ isStreaming: import("vue").Ref<boolean, boolean>;
2888
+ messages: import("vue").ShallowRef<import("@absolutejs/ai").AIMessage[], import("@absolutejs/ai").AIMessage[]>;
2889
+ send: (content: string, attachments?: import("@absolutejs/ai").AIAttachment[]) => void;
2890
+ };
2891
+ };
2892
+ export type UseRAGResult = ReturnType<typeof useRAG>;