@absolutejs/absolute 0.19.0-beta.615 → 0.19.0-beta.617

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 (46) hide show
  1. package/dist/ai/client/index.js +93 -46
  2. package/dist/ai/client/index.js.map +7 -7
  3. package/dist/ai/client/ui.js +5 -1
  4. package/dist/ai/client/ui.js.map +3 -3
  5. package/dist/ai/index.js +1544 -253
  6. package/dist/ai/index.js.map +14 -12
  7. package/dist/ai/rag/quality.js +49 -6
  8. package/dist/ai/rag/quality.js.map +4 -4
  9. package/dist/ai/rag/ui.js +5 -1
  10. package/dist/ai/rag/ui.js.map +3 -3
  11. package/dist/ai-client/angular/ai/index.js +44 -40
  12. package/dist/ai-client/react/ai/index.js +46 -42
  13. package/dist/ai-client/vue/ai/index.js +44 -40
  14. package/dist/angular/ai/index.js +46 -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 +97 -50
  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/index.d.ts +4 -2
  32. package/dist/src/ai/rag/ingestion.d.ts +12 -3
  33. package/dist/src/ai/rag/jobState.d.ts +2 -0
  34. package/dist/src/ai/rag/quality.d.ts +20 -10
  35. package/dist/src/vue/ai/useRAG.d.ts +26 -0
  36. package/dist/src/vue/ai/useRAGChunkPreview.d.ts +4 -0
  37. package/dist/src/vue/ai/useRAGDocuments.d.ts +4 -0
  38. package/dist/src/vue/ai/useRAGEvaluate.d.ts +14 -0
  39. package/dist/src/vue/ai/useRAGIndexAdmin.d.ts +2 -0
  40. package/dist/src/vue/ai/useRAGSearch.d.ts +2 -0
  41. package/dist/svelte/ai/index.js +93 -46
  42. package/dist/svelte/ai/index.js.map +7 -7
  43. package/dist/types/ai.d.ts +190 -0
  44. package/dist/vue/ai/index.js +93 -46
  45. package/dist/vue/ai/index.js.map +7 -7
  46. 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;
@@ -268,6 +269,7 @@ export type RAGAnswerWorkflowState = {
268
269
  export type RAGStreamStage = 'idle' | 'submitting' | 'retrieving' | 'retrieved' | 'streaming' | 'complete' | 'error';
269
270
  export type RAGDocumentChunk = {
270
271
  chunkId: string;
272
+ corpusKey?: string;
271
273
  text: string;
272
274
  title?: string;
273
275
  source?: string;
@@ -298,6 +300,7 @@ export type RAGFileExtractionInput = {
298
300
  contentType?: string;
299
301
  metadata?: Record<string, unknown>;
300
302
  chunking?: RAGChunkingOptions;
303
+ extractorRegistry?: RAGFileExtractorRegistryLike;
301
304
  };
302
305
  export type RAGExtractedFileDocument = RAGIngestDocument & {
303
306
  contentType?: string;
@@ -308,6 +311,27 @@ export type RAGFileExtractor = {
308
311
  supports: (input: RAGFileExtractionInput) => boolean | Promise<boolean>;
309
312
  extract: (input: RAGFileExtractionInput) => RAGExtractedFileDocument | RAGExtractedFileDocument[] | Promise<RAGExtractedFileDocument | RAGExtractedFileDocument[]>;
310
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[];
311
335
  export type RAGMediaTranscriptSegment = {
312
336
  text: string;
313
337
  startMs?: number;
@@ -371,8 +395,36 @@ export type RAGChunkingOptions = {
371
395
  minChunkLength?: number;
372
396
  strategy?: RAGChunkingStrategy;
373
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>;
374
425
  export type RAGIngestDocument = {
375
426
  text: string;
427
+ corpusKey?: string;
376
428
  id?: string;
377
429
  title?: string;
378
430
  source?: string;
@@ -389,14 +441,18 @@ export type RAGDocumentUrlInput = {
389
441
  metadata?: Record<string, unknown>;
390
442
  chunking?: RAGChunkingOptions;
391
443
  extractors?: RAGFileExtractor[];
444
+ extractorRegistry?: RAGFileExtractorRegistryLike;
392
445
  };
393
446
  export type RAGDocumentUrlIngestInput = {
394
447
  baseMetadata?: Record<string, unknown>;
395
448
  defaultChunking?: RAGChunkingOptions;
449
+ chunkingRegistry?: RAGChunkingRegistryLike;
396
450
  extractors?: RAGFileExtractor[];
451
+ extractorRegistry?: RAGFileExtractorRegistryLike;
397
452
  urls: RAGDocumentUrlInput[];
398
453
  };
399
454
  export type RAGPreparedDocument = {
455
+ corpusKey?: string;
400
456
  documentId: string;
401
457
  title: string;
402
458
  source: string;
@@ -409,6 +465,7 @@ export type RAGDocumentFileInput = Omit<RAGIngestDocument, 'text'> & {
409
465
  path: string;
410
466
  contentType?: string;
411
467
  extractors?: RAGFileExtractor[];
468
+ extractorRegistry?: RAGFileExtractorRegistryLike;
412
469
  };
413
470
  export type RAGDirectoryIngestInput = {
414
471
  directory: string;
@@ -416,7 +473,9 @@ export type RAGDirectoryIngestInput = {
416
473
  includeExtensions?: string[];
417
474
  baseMetadata?: Record<string, unknown>;
418
475
  defaultChunking?: RAGChunkingOptions;
476
+ chunkingRegistry?: RAGChunkingRegistryLike;
419
477
  extractors?: RAGFileExtractor[];
478
+ extractorRegistry?: RAGFileExtractorRegistryLike;
420
479
  };
421
480
  export type RAGQueryInput = {
422
481
  queryVector: number[];
@@ -531,6 +590,7 @@ export type RAGUpsertInput = {
531
590
  export type RAGDocumentIngestInput = {
532
591
  documents: RAGIngestDocument[];
533
592
  defaultChunking?: RAGChunkingOptions;
593
+ chunkingRegistry?: RAGChunkingRegistryLike;
534
594
  };
535
595
  export type RAGDocumentUploadInput = {
536
596
  name: string;
@@ -546,10 +606,13 @@ export type RAGDocumentUploadInput = {
546
606
  export type RAGDocumentUploadIngestInput = {
547
607
  baseMetadata?: Record<string, unknown>;
548
608
  defaultChunking?: RAGChunkingOptions;
609
+ chunkingRegistry?: RAGChunkingRegistryLike;
549
610
  extractors?: RAGFileExtractor[];
611
+ extractorRegistry?: RAGFileExtractorRegistryLike;
550
612
  uploads: RAGDocumentUploadInput[];
551
613
  };
552
614
  export type RAGIndexedDocument = {
615
+ corpusKey?: string;
553
616
  id: string;
554
617
  title: string;
555
618
  source: string;
@@ -876,21 +939,30 @@ export type RAGCorpusHealth = {
876
939
  staleDocuments: string[];
877
940
  averageChunksPerDocument: number;
878
941
  inspection?: {
942
+ corpusKeys: Record<string, number>;
879
943
  sourceNativeKinds: Record<string, number>;
944
+ extractorRegistryMatches: Record<string, number>;
945
+ chunkingProfiles: Record<string, number>;
880
946
  documentsWithSourceLabels: number;
881
947
  chunksWithSourceLabels: number;
882
948
  sampleDocuments: Array<{
949
+ corpusKey?: string;
883
950
  id: string;
884
951
  title: string;
885
952
  source: string;
886
953
  sourceNativeKind?: string;
954
+ extractorRegistryMatch?: string;
955
+ chunkingProfile?: string;
887
956
  labels?: RAGSourceLabels;
888
957
  }>;
889
958
  sampleChunks: Array<{
890
959
  chunkId: string;
960
+ corpusKey?: string;
891
961
  documentId?: string;
892
962
  source?: string;
893
963
  sourceNativeKind?: string;
964
+ extractorRegistryMatch?: string;
965
+ chunkingProfile?: string;
894
966
  labels?: RAGSourceLabels;
895
967
  }>;
896
968
  };
@@ -917,6 +989,22 @@ export type RAGAdminJobRecord = {
917
989
  target?: string;
918
990
  error?: string;
919
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
+ };
920
1008
  export type RAGAdminCapabilities = {
921
1009
  canClearIndex: boolean;
922
1010
  canCreateDocument: boolean;
@@ -931,6 +1019,47 @@ export type RAGAdminCapabilities = {
931
1019
  canSyncAllSources: boolean;
932
1020
  canSyncSource: boolean;
933
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
+ allowedCorpusGroupKeys?: string[];
1042
+ allowedCorpusKeys?: string[];
1043
+ allowedDocumentIds?: string[];
1044
+ allowedSourcePrefixes?: string[];
1045
+ allowedSources?: string[];
1046
+ allowedSyncSourceIds?: string[];
1047
+ requiredMetadata?: Record<string, unknown>;
1048
+ };
1049
+ export type RAGAccessScopeProvider = (request: Request) => Promise<RAGAccessScope | undefined> | RAGAccessScope | undefined;
1050
+ export type RAGAccessControlContextResolver<TContext = unknown> = (request: Request) => Promise<TContext | undefined> | TContext | undefined;
1051
+ export type RAGAccessControlAuthorizeResolver<TContext = unknown> = (input: RAGAuthorizationContext & {
1052
+ context: TContext | undefined;
1053
+ }) => Promise<RAGAuthorizationDecision> | RAGAuthorizationDecision;
1054
+ export type RAGAccessControlScopeResolver<TContext = unknown> = (input: {
1055
+ context: TContext | undefined;
1056
+ request: Request;
1057
+ }) => Promise<RAGAccessScope | undefined> | RAGAccessScope | undefined;
1058
+ export type CreateRAGAccessControlOptions<TContext = unknown> = {
1059
+ resolveContext: RAGAccessControlContextResolver<TContext>;
1060
+ authorize?: RAGAccessControlAuthorizeResolver<TContext>;
1061
+ resolveScope?: RAGAccessControlScopeResolver<TContext>;
1062
+ };
934
1063
  export type RAGSyncSourceStatus = 'idle' | 'running' | 'completed' | 'failed' | 'disabled';
935
1064
  export type RAGSyncSourceRecord = {
936
1065
  id: string;
@@ -1007,7 +1136,9 @@ export type RAGDirectorySyncSourceOptions = {
1007
1136
  description?: string;
1008
1137
  baseMetadata?: Record<string, unknown>;
1009
1138
  defaultChunking?: RAGChunkingOptions;
1139
+ chunkingRegistry?: RAGChunkingRegistryLike;
1010
1140
  extractors?: RAGFileExtractor[];
1141
+ extractorRegistry?: RAGFileExtractorRegistryLike;
1011
1142
  includeExtensions?: string[];
1012
1143
  metadata?: Record<string, unknown>;
1013
1144
  recursive?: boolean;
@@ -1021,7 +1152,9 @@ export type RAGUrlSyncSourceOptions = {
1021
1152
  description?: string;
1022
1153
  baseMetadata?: Record<string, unknown>;
1023
1154
  defaultChunking?: RAGChunkingOptions;
1155
+ chunkingRegistry?: RAGChunkingRegistryLike;
1024
1156
  extractors?: RAGFileExtractor[];
1157
+ extractorRegistry?: RAGFileExtractorRegistryLike;
1025
1158
  metadata?: Record<string, unknown>;
1026
1159
  retryAttempts?: number;
1027
1160
  retryDelayMs?: number;
@@ -1036,7 +1169,9 @@ export type RAGStorageSyncSourceOptions = {
1036
1169
  maxKeys?: number;
1037
1170
  baseMetadata?: Record<string, unknown>;
1038
1171
  defaultChunking?: RAGChunkingOptions;
1172
+ chunkingRegistry?: RAGChunkingRegistryLike;
1039
1173
  extractors?: RAGFileExtractor[];
1174
+ extractorRegistry?: RAGFileExtractorRegistryLike;
1040
1175
  metadata?: Record<string, unknown>;
1041
1176
  retryAttempts?: number;
1042
1177
  retryDelayMs?: number;
@@ -1086,7 +1221,9 @@ export type RAGEmailSyncSourceOptions = {
1086
1221
  maxResults?: number;
1087
1222
  baseMetadata?: Record<string, unknown>;
1088
1223
  defaultChunking?: RAGChunkingOptions;
1224
+ chunkingRegistry?: RAGChunkingRegistryLike;
1089
1225
  extractors?: RAGFileExtractor[];
1226
+ extractorRegistry?: RAGFileExtractorRegistryLike;
1090
1227
  metadata?: Record<string, unknown>;
1091
1228
  retryAttempts?: number;
1092
1229
  retryDelayMs?: number;
@@ -1306,6 +1443,7 @@ export type RAGMutationResponse = {
1306
1443
  export type RAGEvaluationCase = {
1307
1444
  id: string;
1308
1445
  query: string;
1446
+ corpusKey?: string;
1309
1447
  topK?: number;
1310
1448
  model?: string;
1311
1449
  scoreThreshold?: number;
@@ -1569,6 +1707,7 @@ export type RAGEvaluationInput = {
1569
1707
  };
1570
1708
  export type RAGEvaluationCaseResult = {
1571
1709
  caseId: string;
1710
+ corpusKey?: string;
1572
1711
  query: string;
1573
1712
  label?: string;
1574
1713
  status: 'pass' | 'partial' | 'fail';
@@ -1599,6 +1738,7 @@ export type RAGEvaluationSummary = {
1599
1738
  };
1600
1739
  export type RAGEvaluationResponse = {
1601
1740
  ok: true;
1741
+ corpusKeys?: string[];
1602
1742
  cases: RAGEvaluationCaseResult[];
1603
1743
  summary: RAGEvaluationSummary;
1604
1744
  elapsedMs: number;
@@ -1684,6 +1824,7 @@ export type RAGEvaluationRunDiff = {
1684
1824
  };
1685
1825
  export type RAGEvaluationCaseTraceSnapshot = {
1686
1826
  caseId: string;
1827
+ corpusKey?: string;
1687
1828
  label?: string;
1688
1829
  query: string;
1689
1830
  status: RAGEvaluationCaseResult['status'];
@@ -1922,6 +2063,7 @@ export type RAGRetrievalTraceTrend = {
1922
2063
  };
1923
2064
  export type RAGSearchTraceResultSnapshot = {
1924
2065
  chunkId: string;
2066
+ corpusKey?: string;
1925
2067
  score: number;
1926
2068
  source?: string;
1927
2069
  title?: string;
@@ -2111,6 +2253,8 @@ export type RAGRetrievalComparisonSummary = {
2111
2253
  export type RAGRetrievalComparison = {
2112
2254
  suiteId: string;
2113
2255
  suiteLabel: string;
2256
+ corpusGroupKey?: string;
2257
+ corpusKeys?: string[];
2114
2258
  entries: RAGRetrievalComparisonEntry[];
2115
2259
  summary: RAGRetrievalComparisonSummary;
2116
2260
  leaderboard: RAGEvaluationLeaderboardEntry[];
@@ -2126,6 +2270,7 @@ export type RAGRetrievalComparisonRequest = RAGEvaluationInput & {
2126
2270
  persistRun?: boolean;
2127
2271
  baselineRetrievalId?: string;
2128
2272
  candidateRetrievalId?: string;
2273
+ corpusGroupKey?: string;
2129
2274
  groupKey?: string;
2130
2275
  tags?: string[];
2131
2276
  };
@@ -2139,6 +2284,8 @@ export type RAGRetrievalComparisonRun = {
2139
2284
  label: string;
2140
2285
  suiteId: string;
2141
2286
  suiteLabel: string;
2287
+ corpusGroupKey?: string;
2288
+ corpusKeys?: string[];
2142
2289
  groupKey?: string;
2143
2290
  tags?: string[];
2144
2291
  startedAt: number;
@@ -2203,6 +2350,7 @@ export type RAGRetrievalComparisonHistoryStore = {
2203
2350
  suiteId?: string;
2204
2351
  label?: string;
2205
2352
  winnerId?: string;
2353
+ corpusGroupKey?: string;
2206
2354
  groupKey?: string;
2207
2355
  tag?: string;
2208
2356
  }) => Promise<RAGRetrievalComparisonRun[]> | RAGRetrievalComparisonRun[];
@@ -2214,6 +2362,7 @@ export type RAGRetrievalComparisonHistoryResponse = {
2214
2362
  };
2215
2363
  export type RAGRetrievalBaselineRecord = {
2216
2364
  id: string;
2365
+ corpusGroupKey?: string;
2217
2366
  groupKey: string;
2218
2367
  version: number;
2219
2368
  status: 'active' | 'superseded';
@@ -2234,6 +2383,7 @@ export type RAGRetrievalBaselineRecord = {
2234
2383
  export type RAGRetrievalBaselineStore = {
2235
2384
  saveBaseline: (record: RAGRetrievalBaselineRecord) => Promise<void> | void;
2236
2385
  listBaselines: (input?: {
2386
+ corpusGroupKey?: string;
2237
2387
  groupKey?: string;
2238
2388
  tag?: string;
2239
2389
  limit?: number;
@@ -2242,6 +2392,7 @@ export type RAGRetrievalBaselineStore = {
2242
2392
  getBaseline?: (groupKey: string) => Promise<RAGRetrievalBaselineRecord | null | undefined> | RAGRetrievalBaselineRecord | null | undefined;
2243
2393
  };
2244
2394
  export type RAGRetrievalBaselinePromotionRequest = {
2395
+ corpusGroupKey?: string;
2245
2396
  groupKey: string;
2246
2397
  retrievalId: string;
2247
2398
  rolloutLabel?: 'canary' | 'stable' | 'rollback_target';
@@ -2257,6 +2408,7 @@ export type RAGRetrievalBaselinePromotionRequest = {
2257
2408
  metadata?: Record<string, unknown>;
2258
2409
  };
2259
2410
  export type RAGRetrievalBaselinePromotionFromRunRequest = {
2411
+ corpusGroupKey?: string;
2260
2412
  groupKey: string;
2261
2413
  sourceRunId: string;
2262
2414
  retrievalId?: string;
@@ -2270,6 +2422,7 @@ export type RAGRetrievalBaselinePromotionFromRunRequest = {
2270
2422
  metadata?: Record<string, unknown>;
2271
2423
  };
2272
2424
  export type RAGRetrievalBaselineRevertRequest = {
2425
+ corpusGroupKey?: string;
2273
2426
  groupKey: string;
2274
2427
  version?: number;
2275
2428
  baselineId?: string;
@@ -2292,6 +2445,7 @@ export type RAGRetrievalBaselineListResponse = {
2292
2445
  export type RAGRetrievalReleaseDecisionRecord = {
2293
2446
  id: string;
2294
2447
  kind: 'approve' | 'promote' | 'reject' | 'revert';
2448
+ corpusGroupKey?: string;
2295
2449
  groupKey: string;
2296
2450
  targetRolloutLabel?: RAGRetrievalBaselineRecord['rolloutLabel'];
2297
2451
  baselineId?: string;
@@ -2364,6 +2518,7 @@ export type RAGRetrievalReleaseLanePolicySummary = RAGRetrievalReleasePolicy & {
2364
2518
  };
2365
2519
  export type RAGRetrievalReleaseLanePolicyHistoryRecord = {
2366
2520
  id: string;
2521
+ corpusGroupKey?: string;
2367
2522
  groupKey?: string;
2368
2523
  rolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2369
2524
  scope: 'rollout_label' | 'group_rollout_label';
@@ -2377,6 +2532,7 @@ export type RAGRetrievalReleaseLanePolicyHistoryRecord = {
2377
2532
  export type RAGRetrievalReleaseLanePolicyHistoryStore = {
2378
2533
  saveRecord: (record: RAGRetrievalReleaseLanePolicyHistoryRecord) => Promise<void> | void;
2379
2534
  listRecords: (input?: {
2535
+ corpusGroupKey?: string;
2380
2536
  groupKey?: string;
2381
2537
  limit?: number;
2382
2538
  rolloutLabel?: RAGRetrievalReleaseLanePolicyHistoryRecord['rolloutLabel'];
@@ -2396,6 +2552,7 @@ export type RAGRetrievalBaselineGatePolicySummary = {
2396
2552
  };
2397
2553
  export type RAGRetrievalBaselineGatePolicyHistoryRecord = {
2398
2554
  id: string;
2555
+ corpusGroupKey?: string;
2399
2556
  groupKey?: string;
2400
2557
  rolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2401
2558
  scope: 'rollout_label' | 'group_rollout_label';
@@ -2407,6 +2564,7 @@ export type RAGRetrievalBaselineGatePolicyHistoryRecord = {
2407
2564
  export type RAGRetrievalBaselineGatePolicyHistoryStore = {
2408
2565
  saveRecord: (record: RAGRetrievalBaselineGatePolicyHistoryRecord) => Promise<void> | void;
2409
2566
  listRecords: (input?: {
2567
+ corpusGroupKey?: string;
2410
2568
  groupKey?: string;
2411
2569
  limit?: number;
2412
2570
  rolloutLabel?: RAGRetrievalBaselineGatePolicyHistoryRecord['rolloutLabel'];
@@ -2451,6 +2609,7 @@ export type RAGRetrievalIncidentRemediationDecisionRequest = {
2451
2609
  export type RAGRetrievalIncidentRemediationDecisionStore = {
2452
2610
  saveRecord: (record: RAGRetrievalIncidentRemediationDecisionRecord) => Promise<void> | void;
2453
2611
  listRecords: (input?: {
2612
+ corpusGroupKey?: string;
2454
2613
  groupKey?: string;
2455
2614
  incidentId?: string;
2456
2615
  limit?: number;
@@ -2558,6 +2717,7 @@ export type RAGRetrievalIncidentRemediationBulkExecutionResponse = {
2558
2717
  error?: string;
2559
2718
  };
2560
2719
  export type RAGRetrievalReleaseGroupSummary = {
2720
+ corpusGroupKey?: string;
2561
2721
  groupKey: string;
2562
2722
  escalationSeverity: 'none' | 'info' | 'warning' | 'critical';
2563
2723
  recommendedAction: 'promote_candidate' | 'renew_approval' | 'await_approval' | 'investigate_regression' | 'monitor';
@@ -2580,6 +2740,7 @@ export type RAGRetrievalReleaseGroupSummary = {
2580
2740
  activeBaselineGatePolicy?: RAGRetrievalBaselineGatePolicy;
2581
2741
  };
2582
2742
  export type RAGRetrievalReleaseTimelineSummary = {
2743
+ corpusGroupKey?: string;
2583
2744
  groupKey: string;
2584
2745
  lastApprovedAt?: number;
2585
2746
  lastPromotedAt?: number;
@@ -2590,6 +2751,7 @@ export type RAGRetrievalReleaseTimelineSummary = {
2590
2751
  latestDecisionFreshnessStatus?: RAGRetrievalReleaseDecisionRecord['freshnessStatus'];
2591
2752
  };
2592
2753
  export type RAGRetrievalReleaseLaneTimelineSummary = {
2754
+ corpusGroupKey?: string;
2593
2755
  groupKey: string;
2594
2756
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2595
2757
  lastApprovedAt?: number;
@@ -2601,6 +2763,7 @@ export type RAGRetrievalReleaseLaneTimelineSummary = {
2601
2763
  latestDecisionFreshnessStatus?: RAGRetrievalReleaseDecisionRecord['freshnessStatus'];
2602
2764
  };
2603
2765
  export type RAGRetrievalReleaseLaneDecisionSummary = {
2766
+ corpusGroupKey?: string;
2604
2767
  groupKey: string;
2605
2768
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2606
2769
  decisionCount: number;
@@ -2613,6 +2776,7 @@ export type RAGRetrievalReleaseLaneDecisionSummary = {
2613
2776
  latestDecisionBy?: string;
2614
2777
  };
2615
2778
  export type RAGRetrievalReleaseApprovalScopeSummary = {
2779
+ corpusGroupKey?: string;
2616
2780
  groupKey: string;
2617
2781
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2618
2782
  status: 'approved' | 'rejected' | 'none';
@@ -2624,6 +2788,7 @@ export type RAGRetrievalReleaseApprovalScopeSummary = {
2624
2788
  latestRejectedBy?: string;
2625
2789
  };
2626
2790
  export type RAGRetrievalReleaseLaneEscalationPolicySummary = {
2791
+ corpusGroupKey?: string;
2627
2792
  groupKey: string;
2628
2793
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2629
2794
  openIncidentSeverity: RAGRetrievalReleaseIncidentRecord['severity'];
@@ -2633,6 +2798,7 @@ export type RAGRetrievalReleaseLaneEscalationPolicySummary = {
2633
2798
  };
2634
2799
  export type RAGRetrievalReleaseLaneEscalationPolicyHistoryRecord = {
2635
2800
  id: string;
2801
+ corpusGroupKey?: string;
2636
2802
  groupKey: string;
2637
2803
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2638
2804
  openIncidentSeverity: RAGRetrievalReleaseIncidentRecord['severity'];
@@ -2649,6 +2815,7 @@ export type RAGRetrievalReleaseLaneEscalationPolicyHistoryRecord = {
2649
2815
  export type RAGRetrievalReleaseLaneEscalationPolicyHistoryStore = {
2650
2816
  saveRecord: (record: RAGRetrievalReleaseLaneEscalationPolicyHistoryRecord) => Promise<void> | void;
2651
2817
  listRecords: (input?: {
2818
+ corpusGroupKey?: string;
2652
2819
  groupKey?: string;
2653
2820
  limit?: number;
2654
2821
  targetRolloutLabel?: RAGRetrievalReleaseLaneEscalationPolicyHistoryRecord['targetRolloutLabel'];
@@ -2660,6 +2827,7 @@ export type RAGRetrievalReleaseLaneEscalationPolicyHistoryResponse = {
2660
2827
  error?: string;
2661
2828
  };
2662
2829
  export type RAGRetrievalReleaseLaneAuditSummary = {
2830
+ corpusGroupKey?: string;
2663
2831
  groupKey: string;
2664
2832
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2665
2833
  activeBaselineRetrievalId?: string;
@@ -2676,6 +2844,7 @@ export type RAGRetrievalReleaseLaneAuditSummary = {
2676
2844
  lastRevertedBy?: string;
2677
2845
  };
2678
2846
  export type RAGRetrievalReleaseLaneRecommendationSummary = {
2847
+ corpusGroupKey?: string;
2679
2848
  groupKey: string;
2680
2849
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2681
2850
  recommendedAction: 'promote_candidate' | 'renew_approval' | 'await_approval' | 'investigate_regression' | 'monitor';
@@ -2694,6 +2863,7 @@ export type RAGRetrievalReleaseLaneRecommendationSummary = {
2694
2863
  remediationSteps?: RAGRemediationStep[];
2695
2864
  };
2696
2865
  export type RAGRetrievalReleaseLaneHandoffSummary = {
2866
+ corpusGroupKey?: string;
2697
2867
  groupKey: string;
2698
2868
  sourceRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2699
2869
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
@@ -2749,10 +2919,12 @@ export type RAGRetrievalReleaseIncidentRecord = {
2749
2919
  notes?: string;
2750
2920
  };
2751
2921
  export type RAGRetrievalLaneHandoffIncidentRecord = Omit<RAGRetrievalReleaseIncidentRecord, 'kind'> & {
2922
+ corpusGroupKey?: string;
2752
2923
  kind: 'handoff_stale';
2753
2924
  sourceRolloutLabel?: RAGRetrievalLaneHandoffDecisionRecord['sourceRolloutLabel'];
2754
2925
  };
2755
2926
  export type RAGRetrievalReleaseLaneIncidentSummary = {
2927
+ corpusGroupKey?: string;
2756
2928
  groupKey: string;
2757
2929
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2758
2930
  openCount: number;
@@ -2782,6 +2954,7 @@ export type RAGRetrievalReleaseIncidentResolveRequest = {
2782
2954
  export type RAGRetrievalReleaseIncidentStore = {
2783
2955
  saveIncident: (record: RAGRetrievalReleaseIncidentRecord) => Promise<void> | void;
2784
2956
  listIncidents: (input?: {
2957
+ corpusGroupKey?: string;
2785
2958
  groupKey?: string;
2786
2959
  limit?: number;
2787
2960
  targetRolloutLabel?: RAGRetrievalReleaseIncidentRecord['targetRolloutLabel'];
@@ -2792,6 +2965,7 @@ export type RAGRetrievalReleaseIncidentStore = {
2792
2965
  export type RAGRetrievalLaneHandoffIncidentStore = {
2793
2966
  saveIncident: (record: RAGRetrievalLaneHandoffIncidentRecord) => Promise<void> | void;
2794
2967
  listIncidents: (input?: {
2968
+ corpusGroupKey?: string;
2795
2969
  groupKey?: string;
2796
2970
  limit?: number;
2797
2971
  targetRolloutLabel?: RAGRetrievalLaneHandoffIncidentRecord['targetRolloutLabel'];
@@ -2807,6 +2981,7 @@ export type RAGRetrievalLaneHandoffIncidentListResponse = {
2807
2981
  export type RAGRetrievalLaneHandoffIncidentHistoryRecord = {
2808
2982
  id: string;
2809
2983
  incidentId: string;
2984
+ corpusGroupKey?: string;
2810
2985
  groupKey: string;
2811
2986
  kind: 'handoff_stale';
2812
2987
  targetRolloutLabel?: RAGRetrievalLaneHandoffIncidentRecord['targetRolloutLabel'];
@@ -2821,6 +2996,7 @@ export type RAGRetrievalLaneHandoffIncidentHistoryRecord = {
2821
2996
  export type RAGRetrievalLaneHandoffIncidentHistoryStore = {
2822
2997
  saveRecord: (record: RAGRetrievalLaneHandoffIncidentHistoryRecord) => Promise<void> | void;
2823
2998
  listRecords: (input?: {
2999
+ corpusGroupKey?: string;
2824
3000
  groupKey?: string;
2825
3001
  incidentId?: string;
2826
3002
  limit?: number;
@@ -2846,6 +3022,7 @@ export type RAGRetrievalLaneHandoffAutoCompletePolicySummary = {
2846
3022
  };
2847
3023
  export type RAGRetrievalLaneHandoffAutoCompletePolicyHistoryRecord = {
2848
3024
  id: string;
3025
+ corpusGroupKey?: string;
2849
3026
  groupKey: string;
2850
3027
  targetRolloutLabel: Exclude<RAGRetrievalLaneHandoffDecisionRecord['targetRolloutLabel'], undefined>;
2851
3028
  enabled: boolean;
@@ -2858,6 +3035,7 @@ export type RAGRetrievalLaneHandoffAutoCompletePolicyHistoryRecord = {
2858
3035
  export type RAGRetrievalLaneHandoffAutoCompletePolicyHistoryStore = {
2859
3036
  saveRecord: (record: RAGRetrievalLaneHandoffAutoCompletePolicyHistoryRecord) => Promise<void> | void;
2860
3037
  listRecords: (input?: {
3038
+ corpusGroupKey?: string;
2861
3039
  groupKey?: string;
2862
3040
  limit?: number;
2863
3041
  targetRolloutLabel?: RAGRetrievalLaneHandoffAutoCompletePolicyHistoryRecord['targetRolloutLabel'];
@@ -2925,12 +3103,14 @@ export type RAGRetrievalReleasePolicySummary = RAGRetrievalReleasePolicy & {
2925
3103
  export type RAGRetrievalReleaseDecisionStore = {
2926
3104
  saveDecision: (record: RAGRetrievalReleaseDecisionRecord) => Promise<void> | void;
2927
3105
  listDecisions: (input?: {
3106
+ corpusGroupKey?: string;
2928
3107
  groupKey?: string;
2929
3108
  limit?: number;
2930
3109
  kind?: RAGRetrievalReleaseDecisionRecord['kind'];
2931
3110
  }) => Promise<RAGRetrievalReleaseDecisionRecord[]> | RAGRetrievalReleaseDecisionRecord[];
2932
3111
  };
2933
3112
  export type RAGRetrievalReleaseDecisionActionRequest = {
3113
+ corpusGroupKey?: string;
2934
3114
  groupKey: string;
2935
3115
  sourceRunId: string;
2936
3116
  targetRolloutLabel?: RAGRetrievalBaselineRecord['rolloutLabel'];
@@ -2953,6 +3133,7 @@ export type RAGRetrievalReleaseDecisionListResponse = {
2953
3133
  };
2954
3134
  export type RAGRetrievalLaneHandoffDecisionRecord = {
2955
3135
  id: string;
3136
+ corpusGroupKey?: string;
2956
3137
  groupKey: string;
2957
3138
  sourceRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2958
3139
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
@@ -2968,6 +3149,7 @@ export type RAGRetrievalLaneHandoffDecisionRecord = {
2968
3149
  export type RAGRetrievalLaneHandoffDecisionStore = {
2969
3150
  saveDecision: (record: RAGRetrievalLaneHandoffDecisionRecord) => Promise<void> | void;
2970
3151
  listDecisions: (input?: {
3152
+ corpusGroupKey?: string;
2971
3153
  groupKey?: string;
2972
3154
  sourceRolloutLabel?: RAGRetrievalLaneHandoffDecisionRecord['sourceRolloutLabel'];
2973
3155
  targetRolloutLabel?: RAGRetrievalLaneHandoffDecisionRecord['targetRolloutLabel'];
@@ -2976,6 +3158,7 @@ export type RAGRetrievalLaneHandoffDecisionStore = {
2976
3158
  }) => Promise<RAGRetrievalLaneHandoffDecisionRecord[]> | RAGRetrievalLaneHandoffDecisionRecord[];
2977
3159
  };
2978
3160
  export type RAGRetrievalLaneHandoffDecisionRequest = {
3161
+ corpusGroupKey?: string;
2979
3162
  groupKey: string;
2980
3163
  sourceRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
2981
3164
  targetRolloutLabel: Exclude<RAGRetrievalBaselineRecord['rolloutLabel'], undefined>;
@@ -3006,6 +3189,7 @@ export type RAGRetrievalLaneHandoffListResponse = {
3006
3189
  };
3007
3190
  export type RAGRetrievalReleaseGroupHistoryResponse = {
3008
3191
  ok: boolean;
3192
+ corpusGroupKey?: string;
3009
3193
  groupKey?: string;
3010
3194
  decisions?: RAGRetrievalReleaseDecisionRecord[];
3011
3195
  baselines?: RAGRetrievalBaselineRecord[];
@@ -3023,6 +3207,7 @@ export type RAGRetrievalComparisonLatestSummary = {
3023
3207
  label: string;
3024
3208
  suiteId: string;
3025
3209
  suiteLabel: string;
3210
+ corpusGroupKey?: string;
3026
3211
  groupKey?: string;
3027
3212
  tags?: string[];
3028
3213
  finishedAt: number;
@@ -3044,6 +3229,7 @@ export type RAGRetrievalComparisonAlert = {
3044
3229
  message: string;
3045
3230
  latestRunId: string;
3046
3231
  retrievalId?: string;
3232
+ corpusGroupKey?: string;
3047
3233
  groupKey?: string;
3048
3234
  tag?: string;
3049
3235
  baselineRetrievalId?: string;
@@ -3545,6 +3731,10 @@ export type RAGChatPluginConfig = AIChatPluginConfig & {
3545
3731
  path?: string;
3546
3732
  ragStore?: RAGVectorStore;
3547
3733
  collection?: RAGCollection;
3734
+ jobStateStore?: RAGJobStateStore;
3735
+ authorizeRAGAction?: RAGAuthorizationProvider;
3736
+ resolveRAGAccessScope?: RAGAccessScopeProvider;
3737
+ jobHistoryRetention?: RAGJobHistoryRetention;
3548
3738
  searchTraceStore?: RAGSearchTraceStore;
3549
3739
  searchTraceRetention?: RAGSearchTracePruneInput;
3550
3740
  searchTraceRetentionSchedule?: RAGSearchTraceRetentionSchedule;