@absolutejs/absolute 0.19.0-beta.614 → 0.19.0-beta.616

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 (49) hide show
  1. package/dist/ai/client/index.js +92 -43
  2. package/dist/ai/client/index.js.map +7 -7
  3. package/dist/ai/client/ui.js +37 -1
  4. package/dist/ai/client/ui.js.map +3 -3
  5. package/dist/ai/index.js +1271 -237
  6. package/dist/ai/index.js.map +17 -14
  7. package/dist/ai/rag/quality.js +16 -3
  8. package/dist/ai/rag/quality.js.map +4 -4
  9. package/dist/ai/rag/ui.js +37 -1
  10. package/dist/ai/rag/ui.js.map +3 -3
  11. package/dist/ai-client/angular/ai/index.js +51 -40
  12. package/dist/ai-client/react/ai/index.js +53 -42
  13. package/dist/ai-client/vue/ai/index.js +51 -40
  14. package/dist/angular/ai/index.js +78 -42
  15. package/dist/angular/ai/index.js.map +6 -6
  16. package/dist/angular/index.js +2 -2
  17. package/dist/angular/index.js.map +1 -1
  18. package/dist/angular/server.js +2 -2
  19. package/dist/angular/server.js.map +1 -1
  20. package/dist/build.js +2 -2
  21. package/dist/build.js.map +1 -1
  22. package/dist/index.js +2 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/react/ai/index.js +96 -47
  25. package/dist/react/ai/index.js.map +9 -9
  26. package/dist/src/ai/client/actions.d.ts +1 -1
  27. package/dist/src/ai/index.d.ts +2 -2
  28. package/dist/src/ai/protocol.d.ts +1 -1
  29. package/dist/src/ai/rag/accessControl.d.ts +2 -0
  30. package/dist/src/ai/rag/chat.d.ts +21 -23
  31. package/dist/src/ai/rag/collection.d.ts +2 -1
  32. package/dist/src/ai/rag/index.d.ts +5 -2
  33. package/dist/src/ai/rag/ingestion.d.ts +12 -3
  34. package/dist/src/ai/rag/jobState.d.ts +2 -0
  35. package/dist/src/ai/rag/retrievalStrategies.d.ts +6 -0
  36. package/dist/src/react/ai/useRAG.d.ts +2 -0
  37. package/dist/src/svelte/ai/createRAG.d.ts +2 -0
  38. package/dist/src/vue/ai/useRAG.d.ts +44 -0
  39. package/dist/src/vue/ai/useRAGChunkPreview.d.ts +4 -0
  40. package/dist/src/vue/ai/useRAGDocuments.d.ts +4 -0
  41. package/dist/src/vue/ai/useRAGEvaluate.d.ts +20 -0
  42. package/dist/src/vue/ai/useRAGIndexAdmin.d.ts +2 -0
  43. package/dist/src/vue/ai/useRAGSearch.d.ts +12 -0
  44. package/dist/svelte/ai/index.js +92 -43
  45. package/dist/svelte/ai/index.js.map +7 -7
  46. package/dist/types/ai.d.ts +199 -1
  47. package/dist/vue/ai/index.js +92 -43
  48. package/dist/vue/ai/index.js.map +7 -7
  49. package/package.json +7 -7
@@ -11,6 +11,7 @@ export type RAGExcerptSelection = {
11
11
  export type RAGExcerptModeCounts = Record<RAGExcerptMode, number>;
12
12
  export type RAGSource = {
13
13
  chunkId: string;
14
+ corpusKey?: string;
14
15
  score: number;
15
16
  text: string;
16
17
  title?: string;
@@ -128,7 +129,14 @@ export type RAGSectionRetrievalDiagnostic = {
128
129
  mode: 'primary' | 'transformed' | 'variant' | 'mixed';
129
130
  reasons: RAGSectionQueryAttributionReason[];
130
131
  };
132
+ requestedMode?: RAGHybridRetrievalMode;
131
133
  retrievalMode?: RAGHybridRetrievalMode;
134
+ routingProvider?: string;
135
+ routingLabel?: string;
136
+ routingReason?: string;
137
+ queryTransformProvider?: string;
138
+ queryTransformLabel?: string;
139
+ queryTransformReason?: string;
132
140
  rerankApplied?: boolean;
133
141
  sourceBalanceApplied?: boolean;
134
142
  scoreThresholdApplied?: boolean;
@@ -261,6 +269,7 @@ export type RAGAnswerWorkflowState = {
261
269
  export type RAGStreamStage = 'idle' | 'submitting' | 'retrieving' | 'retrieved' | 'streaming' | 'complete' | 'error';
262
270
  export type RAGDocumentChunk = {
263
271
  chunkId: string;
272
+ corpusKey?: string;
264
273
  text: string;
265
274
  title?: string;
266
275
  source?: string;
@@ -291,6 +300,7 @@ export type RAGFileExtractionInput = {
291
300
  contentType?: string;
292
301
  metadata?: Record<string, unknown>;
293
302
  chunking?: RAGChunkingOptions;
303
+ extractorRegistry?: RAGFileExtractorRegistryLike;
294
304
  };
295
305
  export type RAGExtractedFileDocument = RAGIngestDocument & {
296
306
  contentType?: string;
@@ -301,6 +311,27 @@ export type RAGFileExtractor = {
301
311
  supports: (input: RAGFileExtractionInput) => boolean | Promise<boolean>;
302
312
  extract: (input: RAGFileExtractionInput) => RAGExtractedFileDocument | RAGExtractedFileDocument[] | Promise<RAGExtractedFileDocument | RAGExtractedFileDocument[]>;
303
313
  };
314
+ export type RAGFileExtractorRegistryInput = RAGFileExtractionInput & {
315
+ inferredContentType?: string | null;
316
+ inferredExtension?: string | null;
317
+ inferredFormat?: RAGContentFormat;
318
+ };
319
+ export type RAGFileExtractorRegistration = {
320
+ extractor: RAGFileExtractor;
321
+ name?: string;
322
+ priority?: number;
323
+ contentTypes?: string[];
324
+ extensions?: string[];
325
+ formats?: RAGContentFormat[];
326
+ names?: string[];
327
+ match?: (input: RAGFileExtractorRegistryInput) => boolean | Promise<boolean>;
328
+ };
329
+ export type RAGFileExtractorRegistry = {
330
+ registrations: RAGFileExtractorRegistration[];
331
+ includeDefaults?: boolean;
332
+ defaultOrder?: 'registry_first' | 'defaults_first';
333
+ };
334
+ export type RAGFileExtractorRegistryLike = RAGFileExtractorRegistry | RAGFileExtractorRegistration[];
304
335
  export type RAGMediaTranscriptSegment = {
305
336
  text: string;
306
337
  startMs?: number;
@@ -364,8 +395,36 @@ export type RAGChunkingOptions = {
364
395
  minChunkLength?: number;
365
396
  strategy?: RAGChunkingStrategy;
366
397
  };
398
+ export type RAGChunkingProfileInput = {
399
+ document: RAGIngestDocument;
400
+ format: RAGContentFormat;
401
+ normalizedText: string;
402
+ metadata: Record<string, unknown>;
403
+ sourceNativeKind?: string;
404
+ defaults?: RAGChunkingOptions;
405
+ };
406
+ export type RAGChunkingProfile = {
407
+ name: string;
408
+ resolve: (input: RAGChunkingProfileInput) => Partial<RAGChunkingOptions> | undefined;
409
+ };
410
+ export type RAGChunkingProfileRegistration = {
411
+ name?: string;
412
+ documentIds?: string[];
413
+ formats?: RAGContentFormat[];
414
+ priority?: number;
415
+ profile: Partial<RAGChunkingOptions> | {
416
+ options?: Partial<RAGChunkingOptions>;
417
+ };
418
+ sourceNativeKinds?: string[];
419
+ sources?: string[];
420
+ };
421
+ export type RAGChunkingRegistry = {
422
+ profiles: Array<RAGChunkingProfile | RAGChunkingProfileRegistration>;
423
+ };
424
+ export type RAGChunkingRegistryLike = RAGChunkingRegistry | Array<RAGChunkingProfile | RAGChunkingProfileRegistration>;
367
425
  export type RAGIngestDocument = {
368
426
  text: string;
427
+ corpusKey?: string;
369
428
  id?: string;
370
429
  title?: string;
371
430
  source?: string;
@@ -382,14 +441,18 @@ export type RAGDocumentUrlInput = {
382
441
  metadata?: Record<string, unknown>;
383
442
  chunking?: RAGChunkingOptions;
384
443
  extractors?: RAGFileExtractor[];
444
+ extractorRegistry?: RAGFileExtractorRegistryLike;
385
445
  };
386
446
  export type RAGDocumentUrlIngestInput = {
387
447
  baseMetadata?: Record<string, unknown>;
388
448
  defaultChunking?: RAGChunkingOptions;
449
+ chunkingRegistry?: RAGChunkingRegistryLike;
389
450
  extractors?: RAGFileExtractor[];
451
+ extractorRegistry?: RAGFileExtractorRegistryLike;
390
452
  urls: RAGDocumentUrlInput[];
391
453
  };
392
454
  export type RAGPreparedDocument = {
455
+ corpusKey?: string;
393
456
  documentId: string;
394
457
  title: string;
395
458
  source: string;
@@ -402,6 +465,7 @@ export type RAGDocumentFileInput = Omit<RAGIngestDocument, 'text'> & {
402
465
  path: string;
403
466
  contentType?: string;
404
467
  extractors?: RAGFileExtractor[];
468
+ extractorRegistry?: RAGFileExtractorRegistryLike;
405
469
  };
406
470
  export type RAGDirectoryIngestInput = {
407
471
  directory: string;
@@ -409,7 +473,9 @@ export type RAGDirectoryIngestInput = {
409
473
  includeExtensions?: string[];
410
474
  baseMetadata?: Record<string, unknown>;
411
475
  defaultChunking?: RAGChunkingOptions;
476
+ chunkingRegistry?: RAGChunkingRegistryLike;
412
477
  extractors?: RAGFileExtractor[];
478
+ extractorRegistry?: RAGFileExtractorRegistryLike;
413
479
  };
414
480
  export type RAGQueryInput = {
415
481
  queryVector: number[];
@@ -432,6 +498,9 @@ export type RAGQueryTransformInput = {
432
498
  export type RAGQueryTransformResult = {
433
499
  query: string;
434
500
  variants?: string[];
501
+ label?: string;
502
+ reason?: string;
503
+ metadata?: Record<string, string | number | boolean | null>;
435
504
  };
436
505
  export type RAGQueryTransformer = (input: RAGQueryTransformInput) => Promise<RAGQueryTransformResult> | RAGQueryTransformResult;
437
506
  export type RAGQueryTransformProvider = {
@@ -440,6 +509,39 @@ export type RAGQueryTransformProvider = {
440
509
  providerName?: string;
441
510
  };
442
511
  export type RAGQueryTransformProviderLike = RAGQueryTransformer | RAGQueryTransformProvider;
512
+ export type RAGRetrievalStrategyDecision = {
513
+ mode?: RAGHybridRetrievalMode;
514
+ lexicalTopK?: number;
515
+ maxResultsPerSource?: number;
516
+ sourceBalanceStrategy?: RAGSourceBalanceStrategy;
517
+ diversityStrategy?: RAGDiversityStrategy;
518
+ mmrLambda?: number;
519
+ fusion?: RAGHybridFusionMode;
520
+ fusionConstant?: number;
521
+ lexicalWeight?: number;
522
+ vectorWeight?: number;
523
+ label?: string;
524
+ reason?: string;
525
+ metadata?: Record<string, string | number | boolean | null>;
526
+ };
527
+ export type RAGRetrievalStrategyInput = {
528
+ query: string;
529
+ transformedQuery: string;
530
+ variantQueries: string[];
531
+ topK: number;
532
+ candidateTopK: number;
533
+ filter?: Record<string, unknown>;
534
+ scoreThreshold?: number;
535
+ model?: string;
536
+ retrieval: RAGHybridSearchOptions;
537
+ };
538
+ export type RAGRetrievalStrategySelector = (input: RAGRetrievalStrategyInput) => Promise<RAGRetrievalStrategyDecision | undefined> | RAGRetrievalStrategyDecision | undefined;
539
+ export type RAGRetrievalStrategyProvider = {
540
+ select: RAGRetrievalStrategySelector;
541
+ providerName?: string;
542
+ defaultLabel?: string;
543
+ };
544
+ export type RAGRetrievalStrategyProviderLike = RAGRetrievalStrategySelector | RAGRetrievalStrategyProvider;
443
545
  export type RAGRerankerInput = {
444
546
  query: string;
445
547
  queryVector: number[];
@@ -488,6 +590,7 @@ export type RAGUpsertInput = {
488
590
  export type RAGDocumentIngestInput = {
489
591
  documents: RAGIngestDocument[];
490
592
  defaultChunking?: RAGChunkingOptions;
593
+ chunkingRegistry?: RAGChunkingRegistryLike;
491
594
  };
492
595
  export type RAGDocumentUploadInput = {
493
596
  name: string;
@@ -503,10 +606,13 @@ export type RAGDocumentUploadInput = {
503
606
  export type RAGDocumentUploadIngestInput = {
504
607
  baseMetadata?: Record<string, unknown>;
505
608
  defaultChunking?: RAGChunkingOptions;
609
+ chunkingRegistry?: RAGChunkingRegistryLike;
506
610
  extractors?: RAGFileExtractor[];
611
+ extractorRegistry?: RAGFileExtractorRegistryLike;
507
612
  uploads: RAGDocumentUploadInput[];
508
613
  };
509
614
  export type RAGIndexedDocument = {
615
+ corpusKey?: string;
510
616
  id: string;
511
617
  title: string;
512
618
  source: string;
@@ -692,12 +798,13 @@ export type RAGCollectionSearchParams = {
692
798
  filter?: Record<string, unknown>;
693
799
  scoreThreshold?: number;
694
800
  queryTransform?: RAGQueryTransformProviderLike;
801
+ retrievalStrategy?: RAGRetrievalStrategyProviderLike;
695
802
  rerank?: RAGRerankerProviderLike;
696
803
  retrieval?: RAGHybridSearchOptions | RAGHybridRetrievalMode;
697
804
  model?: string;
698
805
  signal?: AbortSignal;
699
806
  };
700
- export type RAGRetrievalTraceStage = 'input' | 'query_transform' | 'embed' | 'vector_search' | 'lexical_search' | 'fusion' | 'rerank' | 'diversity' | 'source_balance' | 'score_filter' | 'finalize';
807
+ export type RAGRetrievalTraceStage = 'input' | 'query_transform' | 'routing' | 'embed' | 'vector_search' | 'lexical_search' | 'fusion' | 'rerank' | 'diversity' | 'source_balance' | 'score_filter' | 'finalize';
701
808
  export type RAGRetrievalTraceStep = {
702
809
  stage: RAGRetrievalTraceStage;
703
810
  label: string;
@@ -719,14 +826,21 @@ export type RAGRetrievalTrace = {
719
826
  query: string;
720
827
  transformedQuery: string;
721
828
  variantQueries: string[];
829
+ queryTransformProvider?: string;
830
+ queryTransformLabel?: string;
831
+ queryTransformReason?: string;
722
832
  topK: number;
723
833
  candidateTopK: number;
724
834
  lexicalTopK: number;
835
+ requestedMode?: RAGHybridRetrievalMode;
725
836
  maxResultsPerSource?: number;
726
837
  sourceBalanceStrategy?: RAGSourceBalanceStrategy;
727
838
  diversityStrategy?: RAGDiversityStrategy;
728
839
  mmrLambda?: number;
729
840
  mode: RAGHybridRetrievalMode;
841
+ routingProvider?: string;
842
+ routingLabel?: string;
843
+ routingReason?: string;
730
844
  runVector: boolean;
731
845
  runLexical: boolean;
732
846
  scoreThreshold?: number;
@@ -825,21 +939,30 @@ export type RAGCorpusHealth = {
825
939
  staleDocuments: string[];
826
940
  averageChunksPerDocument: number;
827
941
  inspection?: {
942
+ corpusKeys: Record<string, number>;
828
943
  sourceNativeKinds: Record<string, number>;
944
+ extractorRegistryMatches: Record<string, number>;
945
+ chunkingProfiles: Record<string, number>;
829
946
  documentsWithSourceLabels: number;
830
947
  chunksWithSourceLabels: number;
831
948
  sampleDocuments: Array<{
949
+ corpusKey?: string;
832
950
  id: string;
833
951
  title: string;
834
952
  source: string;
835
953
  sourceNativeKind?: string;
954
+ extractorRegistryMatch?: string;
955
+ chunkingProfile?: string;
836
956
  labels?: RAGSourceLabels;
837
957
  }>;
838
958
  sampleChunks: Array<{
839
959
  chunkId: string;
960
+ corpusKey?: string;
840
961
  documentId?: string;
841
962
  source?: string;
842
963
  sourceNativeKind?: string;
964
+ extractorRegistryMatch?: string;
965
+ chunkingProfile?: string;
843
966
  labels?: RAGSourceLabels;
844
967
  }>;
845
968
  };
@@ -866,6 +989,22 @@ export type RAGAdminJobRecord = {
866
989
  target?: string;
867
990
  error?: string;
868
991
  };
992
+ export type RAGJobState = {
993
+ adminActions: RAGAdminActionRecord[];
994
+ ingestJobs: RAGIngestJobRecord[];
995
+ adminJobs: RAGAdminJobRecord[];
996
+ syncJobs: RAGAdminJobRecord[];
997
+ };
998
+ export type RAGJobStateStore = {
999
+ load: () => Promise<Partial<RAGJobState> | undefined> | Partial<RAGJobState> | undefined;
1000
+ save: (state: RAGJobState) => Promise<void> | void;
1001
+ };
1002
+ export type RAGJobHistoryRetention = {
1003
+ maxAdminActions?: number;
1004
+ maxAdminJobs?: number;
1005
+ maxIngestJobs?: number;
1006
+ maxSyncJobs?: number;
1007
+ };
869
1008
  export type RAGAdminCapabilities = {
870
1009
  canClearIndex: boolean;
871
1010
  canCreateDocument: boolean;
@@ -880,6 +1019,46 @@ export type RAGAdminCapabilities = {
880
1019
  canSyncAllSources: boolean;
881
1020
  canSyncSource: boolean;
882
1021
  };
1022
+ export type RAGAuthorizedAction = 'clear_index' | 'create_document' | 'delete_document' | 'ingest' | 'list_sync_sources' | 'manage_retrieval_admin' | 'manage_retrieval_baselines' | 'prune_search_traces' | 'reindex_document' | 'reindex_source' | 'reseed' | 'reset' | 'sync_all_sources' | 'sync_source';
1023
+ export type RAGAuthorizationResource = {
1024
+ documentId?: string;
1025
+ path?: string;
1026
+ source?: string;
1027
+ sourceId?: string;
1028
+ };
1029
+ export type RAGAuthorizationDecision = boolean | {
1030
+ allowed: boolean;
1031
+ reason?: string;
1032
+ };
1033
+ export type RAGAuthorizationContext = {
1034
+ action: RAGAuthorizedAction;
1035
+ request: Request;
1036
+ resource?: RAGAuthorizationResource;
1037
+ };
1038
+ export type RAGAuthorizationProvider = (context: RAGAuthorizationContext) => Promise<RAGAuthorizationDecision> | RAGAuthorizationDecision;
1039
+ export type RAGAccessScope = {
1040
+ allowedComparisonGroupKeys?: string[];
1041
+ allowedCorpusKeys?: string[];
1042
+ allowedDocumentIds?: string[];
1043
+ allowedSourcePrefixes?: string[];
1044
+ allowedSources?: string[];
1045
+ allowedSyncSourceIds?: string[];
1046
+ requiredMetadata?: Record<string, unknown>;
1047
+ };
1048
+ export type RAGAccessScopeProvider = (request: Request) => Promise<RAGAccessScope | undefined> | RAGAccessScope | undefined;
1049
+ export type RAGAccessControlContextResolver<TContext = unknown> = (request: Request) => Promise<TContext | undefined> | TContext | undefined;
1050
+ export type RAGAccessControlAuthorizeResolver<TContext = unknown> = (input: RAGAuthorizationContext & {
1051
+ context: TContext | undefined;
1052
+ }) => Promise<RAGAuthorizationDecision> | RAGAuthorizationDecision;
1053
+ export type RAGAccessControlScopeResolver<TContext = unknown> = (input: {
1054
+ context: TContext | undefined;
1055
+ request: Request;
1056
+ }) => Promise<RAGAccessScope | undefined> | RAGAccessScope | undefined;
1057
+ export type CreateRAGAccessControlOptions<TContext = unknown> = {
1058
+ resolveContext: RAGAccessControlContextResolver<TContext>;
1059
+ authorize?: RAGAccessControlAuthorizeResolver<TContext>;
1060
+ resolveScope?: RAGAccessControlScopeResolver<TContext>;
1061
+ };
883
1062
  export type RAGSyncSourceStatus = 'idle' | 'running' | 'completed' | 'failed' | 'disabled';
884
1063
  export type RAGSyncSourceRecord = {
885
1064
  id: string;
@@ -956,7 +1135,9 @@ export type RAGDirectorySyncSourceOptions = {
956
1135
  description?: string;
957
1136
  baseMetadata?: Record<string, unknown>;
958
1137
  defaultChunking?: RAGChunkingOptions;
1138
+ chunkingRegistry?: RAGChunkingRegistryLike;
959
1139
  extractors?: RAGFileExtractor[];
1140
+ extractorRegistry?: RAGFileExtractorRegistryLike;
960
1141
  includeExtensions?: string[];
961
1142
  metadata?: Record<string, unknown>;
962
1143
  recursive?: boolean;
@@ -970,7 +1151,9 @@ export type RAGUrlSyncSourceOptions = {
970
1151
  description?: string;
971
1152
  baseMetadata?: Record<string, unknown>;
972
1153
  defaultChunking?: RAGChunkingOptions;
1154
+ chunkingRegistry?: RAGChunkingRegistryLike;
973
1155
  extractors?: RAGFileExtractor[];
1156
+ extractorRegistry?: RAGFileExtractorRegistryLike;
974
1157
  metadata?: Record<string, unknown>;
975
1158
  retryAttempts?: number;
976
1159
  retryDelayMs?: number;
@@ -985,7 +1168,9 @@ export type RAGStorageSyncSourceOptions = {
985
1168
  maxKeys?: number;
986
1169
  baseMetadata?: Record<string, unknown>;
987
1170
  defaultChunking?: RAGChunkingOptions;
1171
+ chunkingRegistry?: RAGChunkingRegistryLike;
988
1172
  extractors?: RAGFileExtractor[];
1173
+ extractorRegistry?: RAGFileExtractorRegistryLike;
989
1174
  metadata?: Record<string, unknown>;
990
1175
  retryAttempts?: number;
991
1176
  retryDelayMs?: number;
@@ -1035,7 +1220,9 @@ export type RAGEmailSyncSourceOptions = {
1035
1220
  maxResults?: number;
1036
1221
  baseMetadata?: Record<string, unknown>;
1037
1222
  defaultChunking?: RAGChunkingOptions;
1223
+ chunkingRegistry?: RAGChunkingRegistryLike;
1038
1224
  extractors?: RAGFileExtractor[];
1225
+ extractorRegistry?: RAGFileExtractorRegistryLike;
1039
1226
  metadata?: Record<string, unknown>;
1040
1227
  retryAttempts?: number;
1041
1228
  retryDelayMs?: number;
@@ -1255,6 +1442,7 @@ export type RAGMutationResponse = {
1255
1442
  export type RAGEvaluationCase = {
1256
1443
  id: string;
1257
1444
  query: string;
1445
+ corpusKey?: string;
1258
1446
  topK?: number;
1259
1447
  model?: string;
1260
1448
  scoreThreshold?: number;
@@ -1518,6 +1706,7 @@ export type RAGEvaluationInput = {
1518
1706
  };
1519
1707
  export type RAGEvaluationCaseResult = {
1520
1708
  caseId: string;
1709
+ corpusKey?: string;
1521
1710
  query: string;
1522
1711
  label?: string;
1523
1712
  status: 'pass' | 'partial' | 'fail';
@@ -1548,6 +1737,7 @@ export type RAGEvaluationSummary = {
1548
1737
  };
1549
1738
  export type RAGEvaluationResponse = {
1550
1739
  ok: true;
1740
+ corpusKeys?: string[];
1551
1741
  cases: RAGEvaluationCaseResult[];
1552
1742
  summary: RAGEvaluationSummary;
1553
1743
  elapsedMs: number;
@@ -1633,6 +1823,7 @@ export type RAGEvaluationRunDiff = {
1633
1823
  };
1634
1824
  export type RAGEvaluationCaseTraceSnapshot = {
1635
1825
  caseId: string;
1826
+ corpusKey?: string;
1636
1827
  label?: string;
1637
1828
  query: string;
1638
1829
  status: RAGEvaluationCaseResult['status'];
@@ -1871,6 +2062,7 @@ export type RAGRetrievalTraceTrend = {
1871
2062
  };
1872
2063
  export type RAGSearchTraceResultSnapshot = {
1873
2064
  chunkId: string;
2065
+ corpusKey?: string;
1874
2066
  score: number;
1875
2067
  source?: string;
1876
2068
  title?: string;
@@ -2060,6 +2252,7 @@ export type RAGRetrievalComparisonSummary = {
2060
2252
  export type RAGRetrievalComparison = {
2061
2253
  suiteId: string;
2062
2254
  suiteLabel: string;
2255
+ corpusKeys?: string[];
2063
2256
  entries: RAGRetrievalComparisonEntry[];
2064
2257
  summary: RAGRetrievalComparisonSummary;
2065
2258
  leaderboard: RAGEvaluationLeaderboardEntry[];
@@ -2088,6 +2281,7 @@ export type RAGRetrievalComparisonRun = {
2088
2281
  label: string;
2089
2282
  suiteId: string;
2090
2283
  suiteLabel: string;
2284
+ corpusKeys?: string[];
2091
2285
  groupKey?: string;
2092
2286
  tags?: string[];
2093
2287
  startedAt: number;
@@ -3494,6 +3688,10 @@ export type RAGChatPluginConfig = AIChatPluginConfig & {
3494
3688
  path?: string;
3495
3689
  ragStore?: RAGVectorStore;
3496
3690
  collection?: RAGCollection;
3691
+ jobStateStore?: RAGJobStateStore;
3692
+ authorizeRAGAction?: RAGAuthorizationProvider;
3693
+ resolveRAGAccessScope?: RAGAccessScopeProvider;
3694
+ jobHistoryRetention?: RAGJobHistoryRetention;
3497
3695
  searchTraceStore?: RAGSearchTraceStore;
3498
3696
  searchTraceRetention?: RAGSearchTracePruneInput;
3499
3697
  searchTraceRetentionSchedule?: RAGSearchTraceRetentionSchedule;