@absolutejs/rag 0.0.4 → 0.0.5

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 (91) hide show
  1. package/dist/src/ai/client/createRAGAnswerWorkflow.d.ts +32 -0
  2. package/dist/src/ai/client/createRAGStream.d.ts +2 -0
  3. package/dist/src/ai/client/createRAGWorkflow.d.ts +3 -0
  4. package/dist/src/ai/client/index.d.ts +8 -0
  5. package/dist/src/ai/client/ragClient.d.ts +349 -0
  6. package/dist/src/ai/client/ui.d.ts +5 -0
  7. package/dist/src/ai/rag/accessControl.d.ts +2 -0
  8. package/dist/src/ai/rag/adapters/filtering.d.ts +2 -0
  9. package/dist/src/ai/rag/adapters/inMemory.d.ts +8 -0
  10. package/dist/src/ai/rag/adapters/postgres.d.ts +20 -0
  11. package/dist/src/ai/rag/adapters/queryPlanning.d.ts +26 -0
  12. package/dist/src/ai/rag/adapters/sqlite.d.ts +24 -0
  13. package/dist/src/ai/rag/adapters/utils.d.ts +3 -0
  14. package/dist/src/ai/rag/chat.d.ts +1773 -0
  15. package/dist/src/ai/rag/collection.d.ts +15 -0
  16. package/dist/src/ai/rag/constants.d.ts +9 -0
  17. package/dist/src/ai/rag/emailProviders.d.ts +34 -0
  18. package/dist/src/ai/rag/embedding.d.ts +9 -0
  19. package/dist/src/ai/rag/embeddingProviders.d.ts +50 -0
  20. package/dist/src/ai/rag/extractorProviders.d.ts +58 -0
  21. package/dist/src/ai/rag/grounding.d.ts +6 -0
  22. package/dist/src/ai/rag/htmxConfig.d.ts +3 -0
  23. package/dist/src/ai/rag/htmxWorkflowRenderers.d.ts +3 -0
  24. package/dist/src/ai/rag/index.d.ts +31 -0
  25. package/dist/src/ai/rag/ingestion.d.ts +61 -0
  26. package/dist/src/ai/rag/jobState.d.ts +2 -0
  27. package/dist/src/ai/rag/lexical.d.ts +42 -0
  28. package/dist/src/ai/rag/presentation.d.ts +165 -0
  29. package/dist/src/ai/rag/quality.d.ts +607 -0
  30. package/dist/src/ai/rag/queryTransforms.d.ts +17 -0
  31. package/dist/src/ai/rag/reranking.d.ts +17 -0
  32. package/dist/src/ai/rag/resolveAbsoluteSQLiteVec.d.ts +3 -0
  33. package/dist/src/ai/rag/retrievalStrategies.d.ts +6 -0
  34. package/dist/src/ai/rag/sync.d.ts +37 -0
  35. package/dist/src/ai/rag/types.d.ts +11 -0
  36. package/dist/src/ai/rag/ui.d.ts +4 -0
  37. package/dist/src/ai/rag/workflowState.d.ts +1 -0
  38. package/dist/src/angular/ai/ai-rag-stream.service.d.ts +32 -0
  39. package/dist/src/angular/ai/ai-rag-workflow.service.d.ts +33 -0
  40. package/dist/src/angular/ai/index.d.ts +3 -0
  41. package/dist/src/angular/ai/rag-client.service.d.ts +243 -0
  42. package/dist/src/constants.d.ts +60 -0
  43. package/dist/src/react/ai/index.d.ts +18 -0
  44. package/dist/src/react/ai/useRAG.d.ts +341 -0
  45. package/dist/src/react/ai/useRAGChunkPreview.d.ts +20 -0
  46. package/dist/src/react/ai/useRAGCitations.d.ts +9 -0
  47. package/dist/src/react/ai/useRAGDocuments.d.ts +10 -0
  48. package/dist/src/react/ai/useRAGEvaluate.d.ts +28 -0
  49. package/dist/src/react/ai/useRAGGrounding.d.ts +10 -0
  50. package/dist/src/react/ai/useRAGIndexAdmin.d.ts +58 -0
  51. package/dist/src/react/ai/useRAGIngest.d.ts +16 -0
  52. package/dist/src/react/ai/useRAGOps.d.ts +20 -0
  53. package/dist/src/react/ai/useRAGSearch.d.ts +17 -0
  54. package/dist/src/react/ai/useRAGSources.d.ts +13 -0
  55. package/dist/src/react/ai/useRAGStatus.d.ts +10 -0
  56. package/dist/src/react/ai/useRAGStream.d.ts +55 -0
  57. package/dist/src/react/ai/useRAGStreamProgress.d.ts +9 -0
  58. package/dist/src/react/ai/useRAGWorkflow.d.ts +55 -0
  59. package/dist/src/svelte/ai/createRAG.d.ts +292 -0
  60. package/dist/src/svelte/ai/createRAGChunkPreview.d.ts +20 -0
  61. package/dist/src/svelte/ai/createRAGCitations.d.ts +10 -0
  62. package/dist/src/svelte/ai/createRAGDocuments.d.ts +10 -0
  63. package/dist/src/svelte/ai/createRAGEvaluate.d.ts +28 -0
  64. package/dist/src/svelte/ai/createRAGGrounding.d.ts +11 -0
  65. package/dist/src/svelte/ai/createRAGIndexAdmin.d.ts +58 -0
  66. package/dist/src/svelte/ai/createRAGIngest.d.ts +17 -0
  67. package/dist/src/svelte/ai/createRAGOps.d.ts +20 -0
  68. package/dist/src/svelte/ai/createRAGSearch.d.ts +15 -0
  69. package/dist/src/svelte/ai/createRAGSources.d.ts +14 -0
  70. package/dist/src/svelte/ai/createRAGStatus.d.ts +9 -0
  71. package/dist/src/svelte/ai/createRAGStream.d.ts +30 -0
  72. package/dist/src/svelte/ai/createRAGStreamProgress.d.ts +8 -0
  73. package/dist/src/svelte/ai/createRAGWorkflow.d.ts +30 -0
  74. package/dist/src/svelte/ai/index.d.ts +17 -0
  75. package/dist/src/vue/ai/index.d.ts +17 -0
  76. package/dist/src/vue/ai/useRAG.d.ts +2892 -0
  77. package/dist/src/vue/ai/useRAGChunkPreview.d.ts +152 -0
  78. package/dist/src/vue/ai/useRAGCitations.d.ts +10 -0
  79. package/dist/src/vue/ai/useRAGDocuments.d.ts +94 -0
  80. package/dist/src/vue/ai/useRAGEvaluate.d.ts +1002 -0
  81. package/dist/src/vue/ai/useRAGGrounding.d.ts +11 -0
  82. package/dist/src/vue/ai/useRAGIndexAdmin.d.ts +1104 -0
  83. package/dist/src/vue/ai/useRAGIngest.d.ts +27 -0
  84. package/dist/src/vue/ai/useRAGOps.d.ts +220 -0
  85. package/dist/src/vue/ai/useRAGSearch.d.ts +159 -0
  86. package/dist/src/vue/ai/useRAGSources.d.ts +14 -0
  87. package/dist/src/vue/ai/useRAGStatus.d.ts +9 -0
  88. package/dist/src/vue/ai/useRAGStream.d.ts +35 -0
  89. package/dist/src/vue/ai/useRAGStreamProgress.d.ts +8 -0
  90. package/dist/src/vue/ai/useRAGWorkflow.d.ts +35 -0
  91. package/package.json +131 -103
@@ -0,0 +1,1104 @@
1
+ import type { RAGBackendsResponse, RAGContentFormat, RAGChunkingStrategy, RAGMutationResponse, RAGSyncResponse, RAGSyncRunOptions } from "@absolutejs/ai";
2
+ export declare const useRAGIndexAdmin: (path: string) => {
3
+ backends: import("vue").Ref<{
4
+ ok: true;
5
+ defaultMode?: string | undefined;
6
+ activeModeCookie?: string | undefined;
7
+ backends: {
8
+ id: string;
9
+ label: string;
10
+ path?: string | undefined;
11
+ available: boolean;
12
+ reason?: string | undefined;
13
+ lastSeedMs?: number | undefined;
14
+ status?: {
15
+ backend: "in_memory" | "sqlite" | "postgres";
16
+ vectorMode: "in_memory" | "json_fallback" | "native_vec0" | "native_pgvector";
17
+ dimensions?: number | undefined;
18
+ native?: {
19
+ requested: boolean;
20
+ available: boolean;
21
+ active: boolean;
22
+ mode?: "vec0" | undefined;
23
+ tableName?: string | undefined;
24
+ distanceMetric?: "cosine" | "l2" | undefined;
25
+ rowCount?: number | undefined;
26
+ pageCount?: number | undefined;
27
+ freelistCount?: number | undefined;
28
+ databaseBytes?: number | undefined;
29
+ lastHealthCheckAt?: number | undefined;
30
+ lastAnalyzeAt?: number | undefined;
31
+ resolution?: {
32
+ status: import("@absolutejs/ai").SQLiteVecResolutionStatus;
33
+ source: import("@absolutejs/ai").SQLiteVecResolutionSource;
34
+ platformKey: string;
35
+ packageName?: string | undefined;
36
+ packageVersion?: string | undefined;
37
+ packageRoot?: string | undefined;
38
+ libraryFile?: string | undefined;
39
+ libraryPath?: string | undefined;
40
+ reason?: string | undefined;
41
+ } | undefined;
42
+ fallbackReason?: string | undefined;
43
+ lastAnalyzeError?: string | undefined;
44
+ lastHealthError?: string | undefined;
45
+ lastLoadError?: string | undefined;
46
+ lastQueryError?: string | undefined;
47
+ lastUpsertError?: string | undefined;
48
+ lastQueryPlan?: {
49
+ pushdownMode: "none" | "partial" | "full";
50
+ pushdownApplied: boolean;
51
+ pushdownClauseCount: number;
52
+ totalFilterClauseCount: number;
53
+ jsRemainderClauseCount: number;
54
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
55
+ queryMultiplierUsed?: number | undefined;
56
+ candidateLimitUsed?: number | undefined;
57
+ maxBackfillsUsed?: number | undefined;
58
+ minResultsUsed?: number | undefined;
59
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
60
+ pushdownCoverageRatio?: number | undefined;
61
+ jsRemainderRatio?: number | undefined;
62
+ filteredCandidateCount?: number | undefined;
63
+ initialSearchK?: number | undefined;
64
+ finalSearchK?: number | undefined;
65
+ searchExpansionRatio?: number | undefined;
66
+ backfillCount?: number | undefined;
67
+ backfillLimitReached?: boolean | undefined;
68
+ minResultsSatisfied?: boolean | undefined;
69
+ returnedCount?: number | undefined;
70
+ candidateYieldRatio?: number | undefined;
71
+ topKFillRatio?: number | undefined;
72
+ underfilledTopK?: boolean | undefined;
73
+ candidateBudgetExhausted?: boolean | undefined;
74
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
75
+ queryMode: "json_fallback" | "native_vec0";
76
+ } | undefined;
77
+ } | {
78
+ requested: boolean;
79
+ available: boolean;
80
+ active: boolean;
81
+ mode?: "pgvector" | undefined;
82
+ extensionName?: string | undefined;
83
+ schemaName?: string | undefined;
84
+ tableName?: string | undefined;
85
+ distanceMetric?: "cosine" | "l2" | "inner_product" | undefined;
86
+ indexType?: "none" | "hnsw" | "ivfflat" | undefined;
87
+ indexName?: string | undefined;
88
+ indexPresent?: boolean | undefined;
89
+ estimatedRowCount?: number | undefined;
90
+ tableBytes?: number | undefined;
91
+ indexBytes?: number | undefined;
92
+ totalBytes?: number | undefined;
93
+ lastHealthCheckAt?: number | undefined;
94
+ lastAnalyzeAt?: number | undefined;
95
+ lastReindexAt?: number | undefined;
96
+ fallbackReason?: string | undefined;
97
+ lastAnalyzeError?: string | undefined;
98
+ lastInitError?: string | undefined;
99
+ lastQueryError?: string | undefined;
100
+ lastReindexError?: string | undefined;
101
+ lastUpsertError?: string | undefined;
102
+ lastMigrationError?: string | undefined;
103
+ lastHealthError?: string | undefined;
104
+ lastFilterDebug?: {
105
+ filter?: Record<string, unknown> | undefined;
106
+ pushdownFilter?: Record<string, unknown> | undefined;
107
+ countSql?: string | undefined;
108
+ countParams?: unknown[] | undefined;
109
+ querySql?: string | undefined;
110
+ queryParams?: unknown[] | undefined;
111
+ countResultRaw?: unknown;
112
+ queryRowCount?: number | undefined;
113
+ } | undefined;
114
+ lastQueryPlan?: {
115
+ pushdownMode: "none" | "partial" | "full";
116
+ pushdownApplied: boolean;
117
+ pushdownClauseCount: number;
118
+ totalFilterClauseCount: number;
119
+ jsRemainderClauseCount: number;
120
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
121
+ queryMultiplierUsed?: number | undefined;
122
+ candidateLimitUsed?: number | undefined;
123
+ maxBackfillsUsed?: number | undefined;
124
+ minResultsUsed?: number | undefined;
125
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
126
+ pushdownCoverageRatio?: number | undefined;
127
+ jsRemainderRatio?: number | undefined;
128
+ filteredCandidateCount?: number | undefined;
129
+ initialSearchK?: number | undefined;
130
+ finalSearchK?: number | undefined;
131
+ searchExpansionRatio?: number | undefined;
132
+ backfillCount?: number | undefined;
133
+ backfillLimitReached?: boolean | undefined;
134
+ minResultsSatisfied?: boolean | undefined;
135
+ returnedCount?: number | undefined;
136
+ candidateYieldRatio?: number | undefined;
137
+ topKFillRatio?: number | undefined;
138
+ underfilledTopK?: boolean | undefined;
139
+ candidateBudgetExhausted?: boolean | undefined;
140
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
141
+ queryMode: "native_pgvector";
142
+ } | undefined;
143
+ } | undefined;
144
+ } | undefined;
145
+ capabilities?: {
146
+ backend: "in_memory" | "sqlite" | "postgres" | "custom";
147
+ persistence: "memory_only" | "embedded" | "external";
148
+ nativeVectorSearch: boolean;
149
+ serverSideFiltering: boolean;
150
+ streamingIngestStatus: boolean;
151
+ } | undefined;
152
+ }[];
153
+ } | null, RAGBackendsResponse | {
154
+ ok: true;
155
+ defaultMode?: string | undefined;
156
+ activeModeCookie?: string | undefined;
157
+ backends: {
158
+ id: string;
159
+ label: string;
160
+ path?: string | undefined;
161
+ available: boolean;
162
+ reason?: string | undefined;
163
+ lastSeedMs?: number | undefined;
164
+ status?: {
165
+ backend: "in_memory" | "sqlite" | "postgres";
166
+ vectorMode: "in_memory" | "json_fallback" | "native_vec0" | "native_pgvector";
167
+ dimensions?: number | undefined;
168
+ native?: {
169
+ requested: boolean;
170
+ available: boolean;
171
+ active: boolean;
172
+ mode?: "vec0" | undefined;
173
+ tableName?: string | undefined;
174
+ distanceMetric?: "cosine" | "l2" | undefined;
175
+ rowCount?: number | undefined;
176
+ pageCount?: number | undefined;
177
+ freelistCount?: number | undefined;
178
+ databaseBytes?: number | undefined;
179
+ lastHealthCheckAt?: number | undefined;
180
+ lastAnalyzeAt?: number | undefined;
181
+ resolution?: {
182
+ status: import("@absolutejs/ai").SQLiteVecResolutionStatus;
183
+ source: import("@absolutejs/ai").SQLiteVecResolutionSource;
184
+ platformKey: string;
185
+ packageName?: string | undefined;
186
+ packageVersion?: string | undefined;
187
+ packageRoot?: string | undefined;
188
+ libraryFile?: string | undefined;
189
+ libraryPath?: string | undefined;
190
+ reason?: string | undefined;
191
+ } | undefined;
192
+ fallbackReason?: string | undefined;
193
+ lastAnalyzeError?: string | undefined;
194
+ lastHealthError?: string | undefined;
195
+ lastLoadError?: string | undefined;
196
+ lastQueryError?: string | undefined;
197
+ lastUpsertError?: string | undefined;
198
+ lastQueryPlan?: {
199
+ pushdownMode: "none" | "partial" | "full";
200
+ pushdownApplied: boolean;
201
+ pushdownClauseCount: number;
202
+ totalFilterClauseCount: number;
203
+ jsRemainderClauseCount: number;
204
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
205
+ queryMultiplierUsed?: number | undefined;
206
+ candidateLimitUsed?: number | undefined;
207
+ maxBackfillsUsed?: number | undefined;
208
+ minResultsUsed?: number | undefined;
209
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
210
+ pushdownCoverageRatio?: number | undefined;
211
+ jsRemainderRatio?: number | undefined;
212
+ filteredCandidateCount?: number | undefined;
213
+ initialSearchK?: number | undefined;
214
+ finalSearchK?: number | undefined;
215
+ searchExpansionRatio?: number | undefined;
216
+ backfillCount?: number | undefined;
217
+ backfillLimitReached?: boolean | undefined;
218
+ minResultsSatisfied?: boolean | undefined;
219
+ returnedCount?: number | undefined;
220
+ candidateYieldRatio?: number | undefined;
221
+ topKFillRatio?: number | undefined;
222
+ underfilledTopK?: boolean | undefined;
223
+ candidateBudgetExhausted?: boolean | undefined;
224
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
225
+ queryMode: "json_fallback" | "native_vec0";
226
+ } | undefined;
227
+ } | {
228
+ requested: boolean;
229
+ available: boolean;
230
+ active: boolean;
231
+ mode?: "pgvector" | undefined;
232
+ extensionName?: string | undefined;
233
+ schemaName?: string | undefined;
234
+ tableName?: string | undefined;
235
+ distanceMetric?: "cosine" | "l2" | "inner_product" | undefined;
236
+ indexType?: "none" | "hnsw" | "ivfflat" | undefined;
237
+ indexName?: string | undefined;
238
+ indexPresent?: boolean | undefined;
239
+ estimatedRowCount?: number | undefined;
240
+ tableBytes?: number | undefined;
241
+ indexBytes?: number | undefined;
242
+ totalBytes?: number | undefined;
243
+ lastHealthCheckAt?: number | undefined;
244
+ lastAnalyzeAt?: number | undefined;
245
+ lastReindexAt?: number | undefined;
246
+ fallbackReason?: string | undefined;
247
+ lastAnalyzeError?: string | undefined;
248
+ lastInitError?: string | undefined;
249
+ lastQueryError?: string | undefined;
250
+ lastReindexError?: string | undefined;
251
+ lastUpsertError?: string | undefined;
252
+ lastMigrationError?: string | undefined;
253
+ lastHealthError?: string | undefined;
254
+ lastFilterDebug?: {
255
+ filter?: Record<string, unknown> | undefined;
256
+ pushdownFilter?: Record<string, unknown> | undefined;
257
+ countSql?: string | undefined;
258
+ countParams?: unknown[] | undefined;
259
+ querySql?: string | undefined;
260
+ queryParams?: unknown[] | undefined;
261
+ countResultRaw?: unknown;
262
+ queryRowCount?: number | undefined;
263
+ } | undefined;
264
+ lastQueryPlan?: {
265
+ pushdownMode: "none" | "partial" | "full";
266
+ pushdownApplied: boolean;
267
+ pushdownClauseCount: number;
268
+ totalFilterClauseCount: number;
269
+ jsRemainderClauseCount: number;
270
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
271
+ queryMultiplierUsed?: number | undefined;
272
+ candidateLimitUsed?: number | undefined;
273
+ maxBackfillsUsed?: number | undefined;
274
+ minResultsUsed?: number | undefined;
275
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
276
+ pushdownCoverageRatio?: number | undefined;
277
+ jsRemainderRatio?: number | undefined;
278
+ filteredCandidateCount?: number | undefined;
279
+ initialSearchK?: number | undefined;
280
+ finalSearchK?: number | undefined;
281
+ searchExpansionRatio?: number | undefined;
282
+ backfillCount?: number | undefined;
283
+ backfillLimitReached?: boolean | undefined;
284
+ minResultsSatisfied?: boolean | undefined;
285
+ returnedCount?: number | undefined;
286
+ candidateYieldRatio?: number | undefined;
287
+ topKFillRatio?: number | undefined;
288
+ underfilledTopK?: boolean | undefined;
289
+ candidateBudgetExhausted?: boolean | undefined;
290
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
291
+ queryMode: "native_pgvector";
292
+ } | undefined;
293
+ } | undefined;
294
+ } | undefined;
295
+ capabilities?: {
296
+ backend: "in_memory" | "sqlite" | "postgres" | "custom";
297
+ persistence: "memory_only" | "embedded" | "external";
298
+ nativeVectorSearch: boolean;
299
+ serverSideFiltering: boolean;
300
+ streamingIngestStatus: boolean;
301
+ } | undefined;
302
+ }[];
303
+ } | null>;
304
+ analyzeBackend: () => Promise<RAGMutationResponse>;
305
+ clearIndex: () => Promise<{
306
+ ok: boolean;
307
+ }>;
308
+ createDocument: (input: {
309
+ id?: string;
310
+ title?: string;
311
+ source?: string;
312
+ text: string;
313
+ format?: RAGContentFormat;
314
+ metadata?: Record<string, unknown>;
315
+ chunking?: {
316
+ maxChunkLength?: number;
317
+ chunkOverlap?: number;
318
+ minChunkLength?: number;
319
+ strategy?: RAGChunkingStrategy;
320
+ };
321
+ }) => Promise<RAGMutationResponse>;
322
+ deleteDocument: (id: string) => Promise<RAGMutationResponse>;
323
+ error: import("vue").Ref<string | null, string | null>;
324
+ isLoading: import("vue").Ref<boolean, boolean>;
325
+ lastMutation: import("vue").Ref<{
326
+ ok: boolean;
327
+ error?: string | undefined;
328
+ deleted?: string | undefined;
329
+ inserted?: string | undefined;
330
+ reindexed?: string | undefined;
331
+ status?: string | undefined;
332
+ documents?: number | undefined;
333
+ maintenance?: {
334
+ backend: Exclude<import("@absolutejs/ai").RAGVectorStoreStatus["backend"], "in_memory">;
335
+ activeJobs: {
336
+ action: "analyze_backend" | "rebuild_native_index";
337
+ startedAt: number;
338
+ target?: string | undefined;
339
+ }[];
340
+ recentActions: {
341
+ action: "analyze_backend" | "rebuild_native_index";
342
+ status: import("@absolutejs/ai").RAGAdminActionRecord["status"];
343
+ finishedAt?: number | undefined;
344
+ target?: string | undefined;
345
+ error?: string | undefined;
346
+ }[];
347
+ recommendations: {
348
+ code: "backend_statistics_refresh_recommended" | "native_backend_inactive" | "native_backend_recent_errors" | "native_index_missing" | "native_index_rebuild_recommended" | "sqlite_storage_optimization_recommended";
349
+ message: string;
350
+ severity: "info" | "warning" | "error";
351
+ action?: "analyze_backend" | "rebuild_native_index" | undefined;
352
+ }[];
353
+ } | undefined;
354
+ workflowStatus?: {
355
+ backend: "in_memory" | "sqlite" | "postgres";
356
+ vectorMode: "in_memory" | "json_fallback" | "native_vec0" | "native_pgvector";
357
+ dimensions?: number | undefined;
358
+ native?: {
359
+ requested: boolean;
360
+ available: boolean;
361
+ active: boolean;
362
+ mode?: "vec0" | undefined;
363
+ tableName?: string | undefined;
364
+ distanceMetric?: "cosine" | "l2" | undefined;
365
+ rowCount?: number | undefined;
366
+ pageCount?: number | undefined;
367
+ freelistCount?: number | undefined;
368
+ databaseBytes?: number | undefined;
369
+ lastHealthCheckAt?: number | undefined;
370
+ lastAnalyzeAt?: number | undefined;
371
+ resolution?: {
372
+ status: import("@absolutejs/ai").SQLiteVecResolutionStatus;
373
+ source: import("@absolutejs/ai").SQLiteVecResolutionSource;
374
+ platformKey: string;
375
+ packageName?: string | undefined;
376
+ packageVersion?: string | undefined;
377
+ packageRoot?: string | undefined;
378
+ libraryFile?: string | undefined;
379
+ libraryPath?: string | undefined;
380
+ reason?: string | undefined;
381
+ } | undefined;
382
+ fallbackReason?: string | undefined;
383
+ lastAnalyzeError?: string | undefined;
384
+ lastHealthError?: string | undefined;
385
+ lastLoadError?: string | undefined;
386
+ lastQueryError?: string | undefined;
387
+ lastUpsertError?: string | undefined;
388
+ lastQueryPlan?: {
389
+ pushdownMode: "none" | "partial" | "full";
390
+ pushdownApplied: boolean;
391
+ pushdownClauseCount: number;
392
+ totalFilterClauseCount: number;
393
+ jsRemainderClauseCount: number;
394
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
395
+ queryMultiplierUsed?: number | undefined;
396
+ candidateLimitUsed?: number | undefined;
397
+ maxBackfillsUsed?: number | undefined;
398
+ minResultsUsed?: number | undefined;
399
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
400
+ pushdownCoverageRatio?: number | undefined;
401
+ jsRemainderRatio?: number | undefined;
402
+ filteredCandidateCount?: number | undefined;
403
+ initialSearchK?: number | undefined;
404
+ finalSearchK?: number | undefined;
405
+ searchExpansionRatio?: number | undefined;
406
+ backfillCount?: number | undefined;
407
+ backfillLimitReached?: boolean | undefined;
408
+ minResultsSatisfied?: boolean | undefined;
409
+ returnedCount?: number | undefined;
410
+ candidateYieldRatio?: number | undefined;
411
+ topKFillRatio?: number | undefined;
412
+ underfilledTopK?: boolean | undefined;
413
+ candidateBudgetExhausted?: boolean | undefined;
414
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
415
+ queryMode: "json_fallback" | "native_vec0";
416
+ } | undefined;
417
+ } | {
418
+ requested: boolean;
419
+ available: boolean;
420
+ active: boolean;
421
+ mode?: "pgvector" | undefined;
422
+ extensionName?: string | undefined;
423
+ schemaName?: string | undefined;
424
+ tableName?: string | undefined;
425
+ distanceMetric?: "cosine" | "l2" | "inner_product" | undefined;
426
+ indexType?: "none" | "hnsw" | "ivfflat" | undefined;
427
+ indexName?: string | undefined;
428
+ indexPresent?: boolean | undefined;
429
+ estimatedRowCount?: number | undefined;
430
+ tableBytes?: number | undefined;
431
+ indexBytes?: number | undefined;
432
+ totalBytes?: number | undefined;
433
+ lastHealthCheckAt?: number | undefined;
434
+ lastAnalyzeAt?: number | undefined;
435
+ lastReindexAt?: number | undefined;
436
+ fallbackReason?: string | undefined;
437
+ lastAnalyzeError?: string | undefined;
438
+ lastInitError?: string | undefined;
439
+ lastQueryError?: string | undefined;
440
+ lastReindexError?: string | undefined;
441
+ lastUpsertError?: string | undefined;
442
+ lastMigrationError?: string | undefined;
443
+ lastHealthError?: string | undefined;
444
+ lastFilterDebug?: {
445
+ filter?: Record<string, unknown> | undefined;
446
+ pushdownFilter?: Record<string, unknown> | undefined;
447
+ countSql?: string | undefined;
448
+ countParams?: unknown[] | undefined;
449
+ querySql?: string | undefined;
450
+ queryParams?: unknown[] | undefined;
451
+ countResultRaw?: unknown;
452
+ queryRowCount?: number | undefined;
453
+ } | undefined;
454
+ lastQueryPlan?: {
455
+ pushdownMode: "none" | "partial" | "full";
456
+ pushdownApplied: boolean;
457
+ pushdownClauseCount: number;
458
+ totalFilterClauseCount: number;
459
+ jsRemainderClauseCount: number;
460
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
461
+ queryMultiplierUsed?: number | undefined;
462
+ candidateLimitUsed?: number | undefined;
463
+ maxBackfillsUsed?: number | undefined;
464
+ minResultsUsed?: number | undefined;
465
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
466
+ pushdownCoverageRatio?: number | undefined;
467
+ jsRemainderRatio?: number | undefined;
468
+ filteredCandidateCount?: number | undefined;
469
+ initialSearchK?: number | undefined;
470
+ finalSearchK?: number | undefined;
471
+ searchExpansionRatio?: number | undefined;
472
+ backfillCount?: number | undefined;
473
+ backfillLimitReached?: boolean | undefined;
474
+ minResultsSatisfied?: boolean | undefined;
475
+ returnedCount?: number | undefined;
476
+ candidateYieldRatio?: number | undefined;
477
+ topKFillRatio?: number | undefined;
478
+ underfilledTopK?: boolean | undefined;
479
+ candidateBudgetExhausted?: boolean | undefined;
480
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
481
+ queryMode: "native_pgvector";
482
+ } | undefined;
483
+ } | undefined;
484
+ } | undefined;
485
+ admin?: {
486
+ canAnalyzeBackend: boolean;
487
+ canClearIndex: boolean;
488
+ canCreateDocument: boolean;
489
+ canDeleteDocument: boolean;
490
+ canListSyncSources: boolean;
491
+ canManageRetrievalBaselines: boolean;
492
+ canPruneSearchTraces: boolean;
493
+ canRebuildNativeIndex: boolean;
494
+ canReindexDocument: boolean;
495
+ canReindexSource: boolean;
496
+ canReseed: boolean;
497
+ canReset: boolean;
498
+ canSyncAllSources: boolean;
499
+ canSyncSource: boolean;
500
+ } | undefined;
501
+ adminActions?: {
502
+ id: string;
503
+ 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";
504
+ status: "completed" | "failed";
505
+ startedAt: number;
506
+ finishedAt?: number | undefined;
507
+ elapsedMs?: number | undefined;
508
+ documentId?: string | undefined;
509
+ target?: string | undefined;
510
+ error?: string | undefined;
511
+ }[] | undefined;
512
+ adminJobs?: {
513
+ id: string;
514
+ 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";
515
+ status: import("@absolutejs/ai").RAGAdminJobStatus;
516
+ startedAt: number;
517
+ finishedAt?: number | undefined;
518
+ elapsedMs?: number | undefined;
519
+ target?: string | undefined;
520
+ error?: string | undefined;
521
+ }[] | undefined;
522
+ backendStats?: Record<string, {
523
+ chunkCount: number;
524
+ totalDocuments: number;
525
+ elapsedMs: number;
526
+ }> | undefined;
527
+ document?: {
528
+ corpusKey?: string | undefined;
529
+ id: string;
530
+ title: string;
531
+ source: string;
532
+ text?: string | undefined;
533
+ kind?: string | undefined;
534
+ format?: RAGContentFormat | undefined;
535
+ chunkStrategy?: RAGChunkingStrategy | undefined;
536
+ chunkSize?: number | undefined;
537
+ chunkCount?: number | undefined;
538
+ createdAt?: number | undefined;
539
+ updatedAt?: number | undefined;
540
+ metadata?: Record<string, unknown> | undefined;
541
+ labels?: {
542
+ contextLabel?: string | undefined;
543
+ locatorLabel?: string | undefined;
544
+ provenanceLabel?: string | undefined;
545
+ } | undefined;
546
+ } | undefined;
547
+ } | null, RAGMutationResponse | {
548
+ ok: boolean;
549
+ error?: string | undefined;
550
+ deleted?: string | undefined;
551
+ inserted?: string | undefined;
552
+ reindexed?: string | undefined;
553
+ status?: string | undefined;
554
+ documents?: number | undefined;
555
+ maintenance?: {
556
+ backend: Exclude<import("@absolutejs/ai").RAGVectorStoreStatus["backend"], "in_memory">;
557
+ activeJobs: {
558
+ action: "analyze_backend" | "rebuild_native_index";
559
+ startedAt: number;
560
+ target?: string | undefined;
561
+ }[];
562
+ recentActions: {
563
+ action: "analyze_backend" | "rebuild_native_index";
564
+ status: import("@absolutejs/ai").RAGAdminActionRecord["status"];
565
+ finishedAt?: number | undefined;
566
+ target?: string | undefined;
567
+ error?: string | undefined;
568
+ }[];
569
+ recommendations: {
570
+ code: "backend_statistics_refresh_recommended" | "native_backend_inactive" | "native_backend_recent_errors" | "native_index_missing" | "native_index_rebuild_recommended" | "sqlite_storage_optimization_recommended";
571
+ message: string;
572
+ severity: "info" | "warning" | "error";
573
+ action?: "analyze_backend" | "rebuild_native_index" | undefined;
574
+ }[];
575
+ } | undefined;
576
+ workflowStatus?: {
577
+ backend: "in_memory" | "sqlite" | "postgres";
578
+ vectorMode: "in_memory" | "json_fallback" | "native_vec0" | "native_pgvector";
579
+ dimensions?: number | undefined;
580
+ native?: {
581
+ requested: boolean;
582
+ available: boolean;
583
+ active: boolean;
584
+ mode?: "vec0" | undefined;
585
+ tableName?: string | undefined;
586
+ distanceMetric?: "cosine" | "l2" | undefined;
587
+ rowCount?: number | undefined;
588
+ pageCount?: number | undefined;
589
+ freelistCount?: number | undefined;
590
+ databaseBytes?: number | undefined;
591
+ lastHealthCheckAt?: number | undefined;
592
+ lastAnalyzeAt?: number | undefined;
593
+ resolution?: {
594
+ status: import("@absolutejs/ai").SQLiteVecResolutionStatus;
595
+ source: import("@absolutejs/ai").SQLiteVecResolutionSource;
596
+ platformKey: string;
597
+ packageName?: string | undefined;
598
+ packageVersion?: string | undefined;
599
+ packageRoot?: string | undefined;
600
+ libraryFile?: string | undefined;
601
+ libraryPath?: string | undefined;
602
+ reason?: string | undefined;
603
+ } | undefined;
604
+ fallbackReason?: string | undefined;
605
+ lastAnalyzeError?: string | undefined;
606
+ lastHealthError?: string | undefined;
607
+ lastLoadError?: string | undefined;
608
+ lastQueryError?: string | undefined;
609
+ lastUpsertError?: string | undefined;
610
+ lastQueryPlan?: {
611
+ pushdownMode: "none" | "partial" | "full";
612
+ pushdownApplied: boolean;
613
+ pushdownClauseCount: number;
614
+ totalFilterClauseCount: number;
615
+ jsRemainderClauseCount: number;
616
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
617
+ queryMultiplierUsed?: number | undefined;
618
+ candidateLimitUsed?: number | undefined;
619
+ maxBackfillsUsed?: number | undefined;
620
+ minResultsUsed?: number | undefined;
621
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
622
+ pushdownCoverageRatio?: number | undefined;
623
+ jsRemainderRatio?: number | undefined;
624
+ filteredCandidateCount?: number | undefined;
625
+ initialSearchK?: number | undefined;
626
+ finalSearchK?: number | undefined;
627
+ searchExpansionRatio?: number | undefined;
628
+ backfillCount?: number | undefined;
629
+ backfillLimitReached?: boolean | undefined;
630
+ minResultsSatisfied?: boolean | undefined;
631
+ returnedCount?: number | undefined;
632
+ candidateYieldRatio?: number | undefined;
633
+ topKFillRatio?: number | undefined;
634
+ underfilledTopK?: boolean | undefined;
635
+ candidateBudgetExhausted?: boolean | undefined;
636
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
637
+ queryMode: "json_fallback" | "native_vec0";
638
+ } | undefined;
639
+ } | {
640
+ requested: boolean;
641
+ available: boolean;
642
+ active: boolean;
643
+ mode?: "pgvector" | undefined;
644
+ extensionName?: string | undefined;
645
+ schemaName?: string | undefined;
646
+ tableName?: string | undefined;
647
+ distanceMetric?: "cosine" | "l2" | "inner_product" | undefined;
648
+ indexType?: "none" | "hnsw" | "ivfflat" | undefined;
649
+ indexName?: string | undefined;
650
+ indexPresent?: boolean | undefined;
651
+ estimatedRowCount?: number | undefined;
652
+ tableBytes?: number | undefined;
653
+ indexBytes?: number | undefined;
654
+ totalBytes?: number | undefined;
655
+ lastHealthCheckAt?: number | undefined;
656
+ lastAnalyzeAt?: number | undefined;
657
+ lastReindexAt?: number | undefined;
658
+ fallbackReason?: string | undefined;
659
+ lastAnalyzeError?: string | undefined;
660
+ lastInitError?: string | undefined;
661
+ lastQueryError?: string | undefined;
662
+ lastReindexError?: string | undefined;
663
+ lastUpsertError?: string | undefined;
664
+ lastMigrationError?: string | undefined;
665
+ lastHealthError?: string | undefined;
666
+ lastFilterDebug?: {
667
+ filter?: Record<string, unknown> | undefined;
668
+ pushdownFilter?: Record<string, unknown> | undefined;
669
+ countSql?: string | undefined;
670
+ countParams?: unknown[] | undefined;
671
+ querySql?: string | undefined;
672
+ queryParams?: unknown[] | undefined;
673
+ countResultRaw?: unknown;
674
+ queryRowCount?: number | undefined;
675
+ } | undefined;
676
+ lastQueryPlan?: {
677
+ pushdownMode: "none" | "partial" | "full";
678
+ pushdownApplied: boolean;
679
+ pushdownClauseCount: number;
680
+ totalFilterClauseCount: number;
681
+ jsRemainderClauseCount: number;
682
+ plannerProfileUsed?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
683
+ queryMultiplierUsed?: number | undefined;
684
+ candidateLimitUsed?: number | undefined;
685
+ maxBackfillsUsed?: number | undefined;
686
+ minResultsUsed?: number | undefined;
687
+ fillPolicyUsed?: "strict_topk" | "satisfy_min_results" | undefined;
688
+ pushdownCoverageRatio?: number | undefined;
689
+ jsRemainderRatio?: number | undefined;
690
+ filteredCandidateCount?: number | undefined;
691
+ initialSearchK?: number | undefined;
692
+ finalSearchK?: number | undefined;
693
+ searchExpansionRatio?: number | undefined;
694
+ backfillCount?: number | undefined;
695
+ backfillLimitReached?: boolean | undefined;
696
+ minResultsSatisfied?: boolean | undefined;
697
+ returnedCount?: number | undefined;
698
+ candidateYieldRatio?: number | undefined;
699
+ topKFillRatio?: number | undefined;
700
+ underfilledTopK?: boolean | undefined;
701
+ candidateBudgetExhausted?: boolean | undefined;
702
+ candidateCoverage?: "empty" | "under_target" | "target_sized" | "broad" | undefined;
703
+ queryMode: "native_pgvector";
704
+ } | undefined;
705
+ } | undefined;
706
+ } | undefined;
707
+ admin?: {
708
+ canAnalyzeBackend: boolean;
709
+ canClearIndex: boolean;
710
+ canCreateDocument: boolean;
711
+ canDeleteDocument: boolean;
712
+ canListSyncSources: boolean;
713
+ canManageRetrievalBaselines: boolean;
714
+ canPruneSearchTraces: boolean;
715
+ canRebuildNativeIndex: boolean;
716
+ canReindexDocument: boolean;
717
+ canReindexSource: boolean;
718
+ canReseed: boolean;
719
+ canReset: boolean;
720
+ canSyncAllSources: boolean;
721
+ canSyncSource: boolean;
722
+ } | undefined;
723
+ adminActions?: {
724
+ id: string;
725
+ 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";
726
+ status: "completed" | "failed";
727
+ startedAt: number;
728
+ finishedAt?: number | undefined;
729
+ elapsedMs?: number | undefined;
730
+ documentId?: string | undefined;
731
+ target?: string | undefined;
732
+ error?: string | undefined;
733
+ }[] | undefined;
734
+ adminJobs?: {
735
+ id: string;
736
+ 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";
737
+ status: import("@absolutejs/ai").RAGAdminJobStatus;
738
+ startedAt: number;
739
+ finishedAt?: number | undefined;
740
+ elapsedMs?: number | undefined;
741
+ target?: string | undefined;
742
+ error?: string | undefined;
743
+ }[] | undefined;
744
+ backendStats?: Record<string, {
745
+ chunkCount: number;
746
+ totalDocuments: number;
747
+ elapsedMs: number;
748
+ }> | undefined;
749
+ document?: {
750
+ corpusKey?: string | undefined;
751
+ id: string;
752
+ title: string;
753
+ source: string;
754
+ text?: string | undefined;
755
+ kind?: string | undefined;
756
+ format?: RAGContentFormat | undefined;
757
+ chunkStrategy?: RAGChunkingStrategy | undefined;
758
+ chunkSize?: number | undefined;
759
+ chunkCount?: number | undefined;
760
+ createdAt?: number | undefined;
761
+ updatedAt?: number | undefined;
762
+ metadata?: Record<string, unknown> | undefined;
763
+ labels?: {
764
+ contextLabel?: string | undefined;
765
+ locatorLabel?: string | undefined;
766
+ provenanceLabel?: string | undefined;
767
+ } | undefined;
768
+ } | undefined;
769
+ } | null>;
770
+ loadBackends: () => Promise<RAGBackendsResponse>;
771
+ loadSyncSources: () => Promise<RAGSyncResponse>;
772
+ rebuildNativeIndex: () => Promise<RAGMutationResponse>;
773
+ reindexDocument: (id: string) => Promise<RAGMutationResponse>;
774
+ reindexSource: (source: string) => Promise<RAGMutationResponse>;
775
+ reseed: () => Promise<RAGMutationResponse>;
776
+ reset: () => Promise<RAGMutationResponse>;
777
+ resetState: () => void;
778
+ syncAllSources: (options?: RAGSyncRunOptions) => Promise<{
779
+ ok: true;
780
+ source: import("@absolutejs/ai").RAGSyncSourceRecord;
781
+ partial?: boolean;
782
+ } | {
783
+ ok: true;
784
+ sources: import("@absolutejs/ai").RAGSyncSourceRecord[];
785
+ partial?: boolean;
786
+ failedSourceIds?: string[];
787
+ errorsBySource?: Record<string, string>;
788
+ }>;
789
+ syncSource: (id: string, options?: RAGSyncRunOptions) => Promise<{
790
+ ok: true;
791
+ source: import("@absolutejs/ai").RAGSyncSourceRecord;
792
+ partial?: boolean;
793
+ } | {
794
+ ok: true;
795
+ sources: import("@absolutejs/ai").RAGSyncSourceRecord[];
796
+ partial?: boolean;
797
+ failedSourceIds?: string[];
798
+ errorsBySource?: Record<string, string>;
799
+ }>;
800
+ syncSources: import("vue").Ref<{
801
+ ok: true;
802
+ source: {
803
+ id: string;
804
+ label: string;
805
+ kind: "directory" | "url" | "storage" | "email" | "custom";
806
+ status: import("@absolutejs/ai").RAGSyncSourceStatus;
807
+ description?: string | undefined;
808
+ target?: string | undefined;
809
+ lastStartedAt?: number | undefined;
810
+ lastSyncedAt?: number | undefined;
811
+ lastSyncDurationMs?: number | undefined;
812
+ lastError?: string | undefined;
813
+ lastSuccessfulSyncAt?: number | undefined;
814
+ consecutiveFailures?: number | undefined;
815
+ retryAttempts?: number | undefined;
816
+ nextRetryAt?: number | undefined;
817
+ documentCount?: number | undefined;
818
+ chunkCount?: number | undefined;
819
+ reconciliation?: {
820
+ refreshMode: "noop" | "targeted";
821
+ staleDocumentIds: string[];
822
+ staleSyncKeys: string[];
823
+ refreshedDocumentIds: string[];
824
+ refreshedSyncKeys: string[];
825
+ unchangedDocumentIds: string[];
826
+ unchangedSyncKeys: string[];
827
+ targetedRefreshSyncKeys: string[];
828
+ duplicateSyncKeyGroups: {
829
+ syncKey: string;
830
+ count: number;
831
+ documentIds: string[];
832
+ }[];
833
+ lineageConflicts: {
834
+ syncKey: string;
835
+ lineageIds: string[];
836
+ versionIds: string[];
837
+ latestDocumentIds: string[];
838
+ documentIds: string[];
839
+ documents: {
840
+ documentId: string;
841
+ lineageId?: string | undefined;
842
+ versionId?: string | undefined;
843
+ versionNumber?: number | undefined;
844
+ isLatestVersion: boolean;
845
+ }[];
846
+ reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
847
+ }[];
848
+ } | undefined;
849
+ diagnostics?: {
850
+ summary: string;
851
+ entries: {
852
+ code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
853
+ severity: "info" | "warning" | "error";
854
+ summary: string;
855
+ }[];
856
+ extractionFailures?: {
857
+ itemLabel: string;
858
+ itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
859
+ reason: string;
860
+ remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
861
+ }[] | undefined;
862
+ retryGuidance?: {
863
+ action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
864
+ reason: string;
865
+ nextRetryAt?: number | undefined;
866
+ resumeCursor?: string | undefined;
867
+ syncKeys?: string[] | undefined;
868
+ } | undefined;
869
+ } | undefined;
870
+ metadata?: Record<string, unknown> | undefined;
871
+ };
872
+ partial?: boolean | undefined;
873
+ } | {
874
+ ok: true;
875
+ sources: {
876
+ id: string;
877
+ label: string;
878
+ kind: "directory" | "url" | "storage" | "email" | "custom";
879
+ status: import("@absolutejs/ai").RAGSyncSourceStatus;
880
+ description?: string | undefined;
881
+ target?: string | undefined;
882
+ lastStartedAt?: number | undefined;
883
+ lastSyncedAt?: number | undefined;
884
+ lastSyncDurationMs?: number | undefined;
885
+ lastError?: string | undefined;
886
+ lastSuccessfulSyncAt?: number | undefined;
887
+ consecutiveFailures?: number | undefined;
888
+ retryAttempts?: number | undefined;
889
+ nextRetryAt?: number | undefined;
890
+ documentCount?: number | undefined;
891
+ chunkCount?: number | undefined;
892
+ reconciliation?: {
893
+ refreshMode: "noop" | "targeted";
894
+ staleDocumentIds: string[];
895
+ staleSyncKeys: string[];
896
+ refreshedDocumentIds: string[];
897
+ refreshedSyncKeys: string[];
898
+ unchangedDocumentIds: string[];
899
+ unchangedSyncKeys: string[];
900
+ targetedRefreshSyncKeys: string[];
901
+ duplicateSyncKeyGroups: {
902
+ syncKey: string;
903
+ count: number;
904
+ documentIds: string[];
905
+ }[];
906
+ lineageConflicts: {
907
+ syncKey: string;
908
+ lineageIds: string[];
909
+ versionIds: string[];
910
+ latestDocumentIds: string[];
911
+ documentIds: string[];
912
+ documents: {
913
+ documentId: string;
914
+ lineageId?: string | undefined;
915
+ versionId?: string | undefined;
916
+ versionNumber?: number | undefined;
917
+ isLatestVersion: boolean;
918
+ }[];
919
+ reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
920
+ }[];
921
+ } | undefined;
922
+ diagnostics?: {
923
+ summary: string;
924
+ entries: {
925
+ code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
926
+ severity: "info" | "warning" | "error";
927
+ summary: string;
928
+ }[];
929
+ extractionFailures?: {
930
+ itemLabel: string;
931
+ itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
932
+ reason: string;
933
+ remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
934
+ }[] | undefined;
935
+ retryGuidance?: {
936
+ action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
937
+ reason: string;
938
+ nextRetryAt?: number | undefined;
939
+ resumeCursor?: string | undefined;
940
+ syncKeys?: string[] | undefined;
941
+ } | undefined;
942
+ } | undefined;
943
+ metadata?: Record<string, unknown> | undefined;
944
+ }[];
945
+ partial?: boolean | undefined;
946
+ failedSourceIds?: string[] | undefined;
947
+ errorsBySource?: Record<string, string> | undefined;
948
+ } | {
949
+ ok: false;
950
+ error: string;
951
+ } | null, RAGSyncResponse | {
952
+ ok: true;
953
+ source: {
954
+ id: string;
955
+ label: string;
956
+ kind: "directory" | "url" | "storage" | "email" | "custom";
957
+ status: import("@absolutejs/ai").RAGSyncSourceStatus;
958
+ description?: string | undefined;
959
+ target?: string | undefined;
960
+ lastStartedAt?: number | undefined;
961
+ lastSyncedAt?: number | undefined;
962
+ lastSyncDurationMs?: number | undefined;
963
+ lastError?: string | undefined;
964
+ lastSuccessfulSyncAt?: number | undefined;
965
+ consecutiveFailures?: number | undefined;
966
+ retryAttempts?: number | undefined;
967
+ nextRetryAt?: number | undefined;
968
+ documentCount?: number | undefined;
969
+ chunkCount?: number | undefined;
970
+ reconciliation?: {
971
+ refreshMode: "noop" | "targeted";
972
+ staleDocumentIds: string[];
973
+ staleSyncKeys: string[];
974
+ refreshedDocumentIds: string[];
975
+ refreshedSyncKeys: string[];
976
+ unchangedDocumentIds: string[];
977
+ unchangedSyncKeys: string[];
978
+ targetedRefreshSyncKeys: string[];
979
+ duplicateSyncKeyGroups: {
980
+ syncKey: string;
981
+ count: number;
982
+ documentIds: string[];
983
+ }[];
984
+ lineageConflicts: {
985
+ syncKey: string;
986
+ lineageIds: string[];
987
+ versionIds: string[];
988
+ latestDocumentIds: string[];
989
+ documentIds: string[];
990
+ documents: {
991
+ documentId: string;
992
+ lineageId?: string | undefined;
993
+ versionId?: string | undefined;
994
+ versionNumber?: number | undefined;
995
+ isLatestVersion: boolean;
996
+ }[];
997
+ reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
998
+ }[];
999
+ } | undefined;
1000
+ diagnostics?: {
1001
+ summary: string;
1002
+ entries: {
1003
+ code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
1004
+ severity: "info" | "warning" | "error";
1005
+ summary: string;
1006
+ }[];
1007
+ extractionFailures?: {
1008
+ itemLabel: string;
1009
+ itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
1010
+ reason: string;
1011
+ remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
1012
+ }[] | undefined;
1013
+ retryGuidance?: {
1014
+ action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
1015
+ reason: string;
1016
+ nextRetryAt?: number | undefined;
1017
+ resumeCursor?: string | undefined;
1018
+ syncKeys?: string[] | undefined;
1019
+ } | undefined;
1020
+ } | undefined;
1021
+ metadata?: Record<string, unknown> | undefined;
1022
+ };
1023
+ partial?: boolean | undefined;
1024
+ } | {
1025
+ ok: true;
1026
+ sources: {
1027
+ id: string;
1028
+ label: string;
1029
+ kind: "directory" | "url" | "storage" | "email" | "custom";
1030
+ status: import("@absolutejs/ai").RAGSyncSourceStatus;
1031
+ description?: string | undefined;
1032
+ target?: string | undefined;
1033
+ lastStartedAt?: number | undefined;
1034
+ lastSyncedAt?: number | undefined;
1035
+ lastSyncDurationMs?: number | undefined;
1036
+ lastError?: string | undefined;
1037
+ lastSuccessfulSyncAt?: number | undefined;
1038
+ consecutiveFailures?: number | undefined;
1039
+ retryAttempts?: number | undefined;
1040
+ nextRetryAt?: number | undefined;
1041
+ documentCount?: number | undefined;
1042
+ chunkCount?: number | undefined;
1043
+ reconciliation?: {
1044
+ refreshMode: "noop" | "targeted";
1045
+ staleDocumentIds: string[];
1046
+ staleSyncKeys: string[];
1047
+ refreshedDocumentIds: string[];
1048
+ refreshedSyncKeys: string[];
1049
+ unchangedDocumentIds: string[];
1050
+ unchangedSyncKeys: string[];
1051
+ targetedRefreshSyncKeys: string[];
1052
+ duplicateSyncKeyGroups: {
1053
+ syncKey: string;
1054
+ count: number;
1055
+ documentIds: string[];
1056
+ }[];
1057
+ lineageConflicts: {
1058
+ syncKey: string;
1059
+ lineageIds: string[];
1060
+ versionIds: string[];
1061
+ latestDocumentIds: string[];
1062
+ documentIds: string[];
1063
+ documents: {
1064
+ documentId: string;
1065
+ lineageId?: string | undefined;
1066
+ versionId?: string | undefined;
1067
+ versionNumber?: number | undefined;
1068
+ isLatestVersion: boolean;
1069
+ }[];
1070
+ reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
1071
+ }[];
1072
+ } | undefined;
1073
+ diagnostics?: {
1074
+ summary: string;
1075
+ entries: {
1076
+ code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
1077
+ severity: "info" | "warning" | "error";
1078
+ summary: string;
1079
+ }[];
1080
+ extractionFailures?: {
1081
+ itemLabel: string;
1082
+ itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
1083
+ reason: string;
1084
+ remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
1085
+ }[] | undefined;
1086
+ retryGuidance?: {
1087
+ action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
1088
+ reason: string;
1089
+ nextRetryAt?: number | undefined;
1090
+ resumeCursor?: string | undefined;
1091
+ syncKeys?: string[] | undefined;
1092
+ } | undefined;
1093
+ } | undefined;
1094
+ metadata?: Record<string, unknown> | undefined;
1095
+ }[];
1096
+ partial?: boolean | undefined;
1097
+ failedSourceIds?: string[] | undefined;
1098
+ errorsBySource?: Record<string, string> | undefined;
1099
+ } | {
1100
+ ok: false;
1101
+ error: string;
1102
+ } | null>;
1103
+ };
1104
+ export type UseRAGIndexAdminResult = ReturnType<typeof useRAGIndexAdmin>;