@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
@@ -187,7 +187,7 @@ var parseAIMessage = (raw) => {
187
187
  return null;
188
188
  }
189
189
  };
190
- var serializeAIMessage = (msg) => JSON.stringify(msg);
190
+ var serializeAIMessage = (message) => JSON.stringify(message);
191
191
 
192
192
  // src/ai/rag/grounding.ts
193
193
  var getContextString = (value) => typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
@@ -1275,7 +1275,10 @@ var evaluateRAGCollectionCases = async ({
1275
1275
  const expectedIds = normalizeExpectedIds(mode === "chunkId" ? caseInput.expectedChunkIds ?? [] : mode === "source" ? caseInput.expectedSources ?? [] : caseInput.expectedDocumentIds ?? []);
1276
1276
  const topK = typeof caseInput.topK === "number" ? caseInput.topK : typeof input.topK === "number" ? input.topK : defaultTopK;
1277
1277
  const searchInput = {
1278
- filter: typeof caseInput.filter === "object" ? caseInput.filter : input.filter,
1278
+ filter: caseInput.corpusKey ? {
1279
+ ...(typeof caseInput.filter === "object" ? caseInput.filter : input.filter) ?? {},
1280
+ corpusKey: caseInput.corpusKey
1281
+ } : typeof caseInput.filter === "object" ? caseInput.filter : input.filter,
1279
1282
  model: caseInput.model ?? input.model,
1280
1283
  query,
1281
1284
  rerank,
@@ -1677,6 +1680,7 @@ var buildEvaluationCaseTraceSnapshot = ({
1677
1680
  return {
1678
1681
  candidateTopK: currentTrace?.candidateTopK ?? 0,
1679
1682
  caseId: caseResult.caseId,
1683
+ corpusKey: caseResult.corpusKey,
1680
1684
  inputFilter: filter,
1681
1685
  finalCount: currentTrace?.resultCounts.final ?? 0,
1682
1686
  label: caseResult.label,
@@ -3229,11 +3233,15 @@ var persistRAGRetrievalReleaseLaneEscalationPolicyHistory = async ({
3229
3233
  };
3230
3234
  var buildRAGEvaluationResponse = (cases) => {
3231
3235
  const totalCases = cases.length;
3236
+ const corpusKeys = [
3237
+ ...new Set(cases.flatMap((entry) => entry.corpusKey ?? []))
3238
+ ];
3232
3239
  const passedCases = cases.filter((entry) => entry.status === "pass").length;
3233
3240
  const partialCases = cases.filter((entry) => entry.status === "partial").length;
3234
3241
  const failedCases = cases.filter((entry) => entry.status === "fail").length;
3235
3242
  return {
3236
3243
  cases,
3244
+ ...corpusKeys.length > 0 ? { corpusKeys } : {},
3237
3245
  elapsedMs: cases.reduce((sum, result) => sum + result.elapsedMs, 0),
3238
3246
  ok: true,
3239
3247
  passingRate: totalCases > 0 ? passedCases / totalCases * 100 : 0,
@@ -3459,6 +3467,9 @@ var compareRAGRetrievalStrategies = async ({
3459
3467
  traceSummary: entry.traceSummary
3460
3468
  })));
3461
3469
  return {
3470
+ corpusKeys: [
3471
+ ...new Set(entries.flatMap((entry) => entry.response.corpusKeys ?? []))
3472
+ ],
3462
3473
  entries,
3463
3474
  leaderboard,
3464
3475
  summary: summarizeRAGRetrievalComparison(entries),
@@ -3491,6 +3502,7 @@ var compareRAGRetrievalTraceSummaries = (current, previous) => ({
3491
3502
  });
3492
3503
  var buildSearchTraceResultSnapshots = (results) => results.map((result) => ({
3493
3504
  chunkId: result.chunkId,
3505
+ corpusKey: result.corpusKey ?? (typeof result.metadata?.corpusKey === "string" ? result.metadata.corpusKey : undefined),
3494
3506
  documentId: typeof result.metadata?.documentId === "string" ? result.metadata.documentId : undefined,
3495
3507
  score: result.score,
3496
3508
  source: result.source,
@@ -3690,6 +3702,7 @@ var summarizeRAGEvaluationCase = ({
3690
3702
  const status = expectedCount === 0 ? "partial" : matchedCount === expectedCount ? "pass" : matchedCount > 0 ? "partial" : "fail";
3691
3703
  return {
3692
3704
  caseId: caseInput.id ?? `case-${caseIndex + 1}`,
3705
+ corpusKey: caseInput.corpusKey,
3693
3706
  elapsedMs,
3694
3707
  expectedCount,
3695
3708
  expectedIds,
@@ -3772,10 +3785,35 @@ var buildRAGRetrievalTracePresentation = (trace) => {
3772
3785
  ];
3773
3786
  const details = [
3774
3787
  { label: "Transformed query", value: trace.transformedQuery },
3788
+ ...trace.queryTransformLabel || trace.queryTransformProvider ? [
3789
+ {
3790
+ label: "Query transform",
3791
+ value: trace.queryTransformLabel ?? trace.queryTransformProvider ?? "configured"
3792
+ },
3793
+ ...trace.queryTransformReason ? [
3794
+ {
3795
+ label: "Query transform reason",
3796
+ value: trace.queryTransformReason
3797
+ }
3798
+ ] : []
3799
+ ] : [],
3775
3800
  {
3776
3801
  label: "Variant queries",
3777
3802
  value: trace.variantQueries.length > 0 ? trace.variantQueries.join(" \xB7 ") : "none"
3778
3803
  },
3804
+ ...trace.requestedMode && trace.requestedMode !== trace.mode ? [{ label: "Requested mode", value: trace.requestedMode }] : [],
3805
+ ...trace.routingLabel || trace.routingProvider ? [
3806
+ {
3807
+ label: "Routing decision",
3808
+ value: trace.routingLabel ?? trace.routingProvider ?? "configured"
3809
+ },
3810
+ ...trace.routingReason ? [
3811
+ {
3812
+ label: "Routing reason",
3813
+ value: trace.routingReason
3814
+ }
3815
+ ] : []
3816
+ ] : [],
3779
3817
  { label: "Candidate topK", value: String(trace.candidateTopK) },
3780
3818
  { label: "Lexical topK", value: String(trace.lexicalTopK) }
3781
3819
  ];
@@ -4264,10 +4302,14 @@ var buildProvenanceLabel2 = (metadata) => {
4264
4302
  const transcriptSource = getContextString2(metadata.transcriptSource);
4265
4303
  const pdfTextMode = getContextString2(metadata.pdfTextMode);
4266
4304
  const ocrEngine = getContextString2(metadata.ocrEngine);
4305
+ const extractorRegistryMatch = getContextString2(metadata.extractorRegistryMatch);
4306
+ const chunkingProfile = getContextString2(metadata.chunkingProfile);
4267
4307
  const ocrConfidence = getContextNumber2(metadata.ocrRegionConfidence) ?? getContextNumber2(metadata.ocrConfidence);
4268
4308
  const labels = [
4269
4309
  pdfTextMode ? `PDF ${pdfTextMode}` : "",
4270
4310
  ocrEngine ? `OCR ${ocrEngine}` : "",
4311
+ extractorRegistryMatch ? `Extractor ${extractorRegistryMatch}` : "",
4312
+ chunkingProfile ? `Chunking ${chunkingProfile}` : "",
4271
4313
  typeof ocrConfidence === "number" ? `Confidence ${ocrConfidence.toFixed(2)}` : "",
4272
4314
  mediaKind ? `Media ${mediaKind}` : "",
4273
4315
  transcriptSource ? `Transcript ${transcriptSource}` : "",
@@ -4878,7 +4920,14 @@ var buildRAGSectionRetrievalDiagnostics = (sources, trace) => {
4878
4920
  transformedHits: section.transformedHits,
4879
4921
  variantHits: section.variantHits
4880
4922
  },
4923
+ requestedMode: trace?.requestedMode,
4881
4924
  retrievalMode: trace?.mode,
4925
+ routingLabel: trace?.routingLabel,
4926
+ routingProvider: trace?.routingProvider,
4927
+ routingReason: trace?.routingReason,
4928
+ queryTransformLabel: trace?.queryTransformLabel,
4929
+ queryTransformProvider: trace?.queryTransformProvider,
4930
+ queryTransformReason: trace?.queryTransformReason,
4882
4931
  reasons,
4883
4932
  rerankApplied: trace?.steps.some((step) => step.stage === "rerank" && step.metadata?.applied === true),
4884
4933
  scoreShare,
@@ -5686,73 +5735,73 @@ var buildRAGAnswerGroundingHistoryPresentation = (history) => ({
5686
5735
  summary: history?.latestRun ? history.latestRun.label : "No persisted provider runs yet."
5687
5736
  });
5688
5737
  // src/ai/client/actions.ts
5689
- var serverMessageToAction = (msg) => {
5690
- switch (msg.type) {
5738
+ var serverMessageToAction = (message) => {
5739
+ switch (message.type) {
5691
5740
  case "chunk":
5692
5741
  return {
5693
- content: msg.content,
5694
- conversationId: msg.conversationId,
5695
- messageId: msg.messageId,
5742
+ content: message.content,
5743
+ conversationId: message.conversationId,
5744
+ messageId: message.messageId,
5696
5745
  type: "chunk"
5697
5746
  };
5698
5747
  case "thinking":
5699
5748
  return {
5700
- content: msg.content,
5701
- conversationId: msg.conversationId,
5702
- messageId: msg.messageId,
5749
+ content: message.content,
5750
+ conversationId: message.conversationId,
5751
+ messageId: message.messageId,
5703
5752
  type: "thinking"
5704
5753
  };
5705
5754
  case "tool_status":
5706
5755
  return {
5707
- conversationId: msg.conversationId,
5708
- input: msg.input,
5709
- messageId: msg.messageId,
5710
- name: msg.name,
5711
- result: msg.result,
5712
- status: msg.status,
5756
+ conversationId: message.conversationId,
5757
+ input: message.input,
5758
+ messageId: message.messageId,
5759
+ name: message.name,
5760
+ result: message.result,
5761
+ status: message.status,
5713
5762
  type: "tool_status"
5714
5763
  };
5715
5764
  case "image":
5716
5765
  return {
5717
- conversationId: msg.conversationId,
5718
- data: msg.data,
5719
- format: msg.format,
5720
- imageId: msg.imageId,
5721
- isPartial: msg.isPartial,
5722
- messageId: msg.messageId,
5723
- revisedPrompt: msg.revisedPrompt,
5766
+ conversationId: message.conversationId,
5767
+ data: message.data,
5768
+ format: message.format,
5769
+ imageId: message.imageId,
5770
+ isPartial: message.isPartial,
5771
+ messageId: message.messageId,
5772
+ revisedPrompt: message.revisedPrompt,
5724
5773
  type: "image"
5725
5774
  };
5726
5775
  case "complete":
5727
5776
  return {
5728
- conversationId: msg.conversationId,
5729
- durationMs: msg.durationMs,
5730
- messageId: msg.messageId,
5731
- model: msg.model,
5732
- sources: msg.sources,
5777
+ conversationId: message.conversationId,
5778
+ durationMs: message.durationMs,
5779
+ messageId: message.messageId,
5780
+ model: message.model,
5781
+ sources: message.sources,
5733
5782
  type: "complete",
5734
- usage: msg.usage
5783
+ usage: message.usage
5735
5784
  };
5736
5785
  case "rag_retrieving":
5737
5786
  return {
5738
- conversationId: msg.conversationId,
5739
- messageId: msg.messageId,
5740
- retrievalStartedAt: msg.retrievalStartedAt,
5787
+ conversationId: message.conversationId,
5788
+ messageId: message.messageId,
5789
+ retrievalStartedAt: message.retrievalStartedAt,
5741
5790
  type: "rag_retrieving"
5742
5791
  };
5743
5792
  case "rag_retrieved":
5744
5793
  return {
5745
- conversationId: msg.conversationId,
5746
- messageId: msg.messageId,
5747
- retrievalDurationMs: msg.retrievalDurationMs,
5748
- retrievalStartedAt: msg.retrievalStartedAt,
5749
- retrievedAt: msg.retrievedAt,
5750
- sources: msg.sources,
5751
- trace: msg.trace,
5794
+ conversationId: message.conversationId,
5795
+ messageId: message.messageId,
5796
+ retrievalDurationMs: message.retrievalDurationMs,
5797
+ retrievalStartedAt: message.retrievalStartedAt,
5798
+ retrievedAt: message.retrievedAt,
5799
+ sources: message.sources,
5800
+ trace: message.trace,
5752
5801
  type: "rag_retrieved"
5753
5802
  };
5754
5803
  case "error":
5755
- return { message: msg.message, type: "error" };
5804
+ return { message: message.message, type: "error" };
5756
5805
  default:
5757
5806
  return null;
5758
5807
  }
@@ -6211,8 +6260,8 @@ var createAIStream = (path, conversationId) => {
6211
6260
  subscribers.forEach((callback) => callback());
6212
6261
  };
6213
6262
  const unsubscribeStore = store.subscribe(syncState);
6214
- const unsubscribeConnection = connection.subscribe((msg) => {
6215
- const action = serverMessageToAction(msg);
6263
+ const unsubscribeConnection = connection.subscribe((message) => {
6264
+ const action = serverMessageToAction(message);
6216
6265
  if (action) {
6217
6266
  store.dispatch(action);
6218
6267
  }
@@ -8220,5 +8269,5 @@ export {
8220
8269
  createAIStream
8221
8270
  };
8222
8271
 
8223
- //# debugId=C6968126E498A97164756E2164756E21
8272
+ //# debugId=AD777B7B327AA3C964756E2164756E21
8224
8273
  //# sourceMappingURL=index.js.map