@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,
@@ -5689,73 +5738,73 @@ var buildRAGAnswerGroundingHistoryPresentation = (history) => ({
5689
5738
  import { onUnmounted, ref, shallowRef } from "vue";
5690
5739
 
5691
5740
  // src/ai/client/actions.ts
5692
- var serverMessageToAction = (msg) => {
5693
- switch (msg.type) {
5741
+ var serverMessageToAction = (message) => {
5742
+ switch (message.type) {
5694
5743
  case "chunk":
5695
5744
  return {
5696
- content: msg.content,
5697
- conversationId: msg.conversationId,
5698
- messageId: msg.messageId,
5745
+ content: message.content,
5746
+ conversationId: message.conversationId,
5747
+ messageId: message.messageId,
5699
5748
  type: "chunk"
5700
5749
  };
5701
5750
  case "thinking":
5702
5751
  return {
5703
- content: msg.content,
5704
- conversationId: msg.conversationId,
5705
- messageId: msg.messageId,
5752
+ content: message.content,
5753
+ conversationId: message.conversationId,
5754
+ messageId: message.messageId,
5706
5755
  type: "thinking"
5707
5756
  };
5708
5757
  case "tool_status":
5709
5758
  return {
5710
- conversationId: msg.conversationId,
5711
- input: msg.input,
5712
- messageId: msg.messageId,
5713
- name: msg.name,
5714
- result: msg.result,
5715
- status: msg.status,
5759
+ conversationId: message.conversationId,
5760
+ input: message.input,
5761
+ messageId: message.messageId,
5762
+ name: message.name,
5763
+ result: message.result,
5764
+ status: message.status,
5716
5765
  type: "tool_status"
5717
5766
  };
5718
5767
  case "image":
5719
5768
  return {
5720
- conversationId: msg.conversationId,
5721
- data: msg.data,
5722
- format: msg.format,
5723
- imageId: msg.imageId,
5724
- isPartial: msg.isPartial,
5725
- messageId: msg.messageId,
5726
- revisedPrompt: msg.revisedPrompt,
5769
+ conversationId: message.conversationId,
5770
+ data: message.data,
5771
+ format: message.format,
5772
+ imageId: message.imageId,
5773
+ isPartial: message.isPartial,
5774
+ messageId: message.messageId,
5775
+ revisedPrompt: message.revisedPrompt,
5727
5776
  type: "image"
5728
5777
  };
5729
5778
  case "complete":
5730
5779
  return {
5731
- conversationId: msg.conversationId,
5732
- durationMs: msg.durationMs,
5733
- messageId: msg.messageId,
5734
- model: msg.model,
5735
- sources: msg.sources,
5780
+ conversationId: message.conversationId,
5781
+ durationMs: message.durationMs,
5782
+ messageId: message.messageId,
5783
+ model: message.model,
5784
+ sources: message.sources,
5736
5785
  type: "complete",
5737
- usage: msg.usage
5786
+ usage: message.usage
5738
5787
  };
5739
5788
  case "rag_retrieving":
5740
5789
  return {
5741
- conversationId: msg.conversationId,
5742
- messageId: msg.messageId,
5743
- retrievalStartedAt: msg.retrievalStartedAt,
5790
+ conversationId: message.conversationId,
5791
+ messageId: message.messageId,
5792
+ retrievalStartedAt: message.retrievalStartedAt,
5744
5793
  type: "rag_retrieving"
5745
5794
  };
5746
5795
  case "rag_retrieved":
5747
5796
  return {
5748
- conversationId: msg.conversationId,
5749
- messageId: msg.messageId,
5750
- retrievalDurationMs: msg.retrievalDurationMs,
5751
- retrievalStartedAt: msg.retrievalStartedAt,
5752
- retrievedAt: msg.retrievedAt,
5753
- sources: msg.sources,
5754
- trace: msg.trace,
5797
+ conversationId: message.conversationId,
5798
+ messageId: message.messageId,
5799
+ retrievalDurationMs: message.retrievalDurationMs,
5800
+ retrievalStartedAt: message.retrievalStartedAt,
5801
+ retrievedAt: message.retrievedAt,
5802
+ sources: message.sources,
5803
+ trace: message.trace,
5755
5804
  type: "rag_retrieved"
5756
5805
  };
5757
5806
  case "error":
5758
- return { message: msg.message, type: "error" };
5807
+ return { message: message.message, type: "error" };
5759
5808
  default:
5760
5809
  return null;
5761
5810
  }
@@ -6217,8 +6266,8 @@ var useAIStream = (path, conversationId) => {
6217
6266
  }
6218
6267
  };
6219
6268
  unsubscribeStore = store.subscribe(syncState);
6220
- unsubscribeConnection = connection.subscribe((msg) => {
6221
- const action = serverMessageToAction(msg);
6269
+ unsubscribeConnection = connection.subscribe((message) => {
6270
+ const action = serverMessageToAction(message);
6222
6271
  if (action) {
6223
6272
  store.dispatch(action);
6224
6273
  }
@@ -8191,5 +8240,5 @@ export {
8191
8240
  AIStreamKey
8192
8241
  };
8193
8242
 
8194
- //# debugId=3A1711476AAA495C64756E2164756E21
8243
+ //# debugId=588CD05E6FC4209364756E2164756E21
8195
8244
  //# sourceMappingURL=index.js.map