@absolutejs/rag 0.0.26 → 0.0.28

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 (97) hide show
  1. package/dist/adapter-kit/index.js +122 -6
  2. package/dist/adapter-kit/index.js.map +14 -14
  3. package/dist/angular/index.js.map +6 -6
  4. package/dist/client/index.js.map +6 -6
  5. package/dist/client/ui.js.map +4 -4
  6. package/dist/index.js +124 -6
  7. package/dist/index.js.map +29 -29
  8. package/dist/presentation/ui.js.map +6 -6
  9. package/dist/quality/quality.js.map +4 -4
  10. package/dist/react/index.js.map +14 -14
  11. package/dist/src/adapter-kit/index.d.ts +1 -1
  12. package/dist/src/adapters/inMemory.d.ts +1 -1
  13. package/dist/src/adapters/sync.d.ts +1 -1
  14. package/dist/src/angular/ai-rag-stream.service.d.ts +9 -9
  15. package/dist/src/angular/ai-rag-workflow.service.d.ts +10 -10
  16. package/dist/src/angular/rag-client.service.d.ts +68 -68
  17. package/dist/src/chat/chat.d.ts +1 -1
  18. package/dist/src/client/createRAGAnswerWorkflow.d.ts +10 -9
  19. package/dist/src/client/ragClient.d.ts +41 -40
  20. package/dist/src/client/ui.d.ts +1 -1
  21. package/dist/src/index.d.ts +3 -2
  22. package/dist/src/ingestion/ingestion.d.ts +1 -1
  23. package/dist/src/internal/accessControl.d.ts +1 -1
  24. package/dist/src/internal/jobState.d.ts +1 -1
  25. package/dist/src/presentation/htmxCitationFragments.d.ts +1 -1
  26. package/dist/src/presentation/htmxConfig.d.ts +1 -1
  27. package/dist/src/presentation/htmxRenderers.d.ts +2 -1
  28. package/dist/src/presentation/htmxWorkflowRenderers.d.ts +1 -1
  29. package/dist/src/presentation/presentation.d.ts +5 -4
  30. package/dist/src/providers/contactProviders.d.ts +1 -1
  31. package/dist/src/providers/emailProviders.d.ts +1 -1
  32. package/dist/src/providers/embeddingProviders.d.ts +1 -1
  33. package/dist/src/providers/extractorProviders.d.ts +1 -1
  34. package/dist/src/providers/rerankerProviders.d.ts +1 -1
  35. package/dist/src/providers/socialProviders.d.ts +1 -1
  36. package/dist/src/quality/quality.d.ts +2 -1
  37. package/dist/src/react/useRAG.d.ts +117 -117
  38. package/dist/src/react/useRAGChunkPreview.d.ts +5 -5
  39. package/dist/src/react/useRAGCitations.d.ts +4 -4
  40. package/dist/src/react/useRAGDocuments.d.ts +1 -1
  41. package/dist/src/react/useRAGEvaluate.d.ts +4 -4
  42. package/dist/src/react/useRAGGrounding.d.ts +3 -3
  43. package/dist/src/react/useRAGIndexAdmin.d.ts +5 -5
  44. package/dist/src/react/useRAGIngest.d.ts +1 -1
  45. package/dist/src/react/useRAGOps.d.ts +1 -1
  46. package/dist/src/react/useRAGSearch.d.ts +2 -1
  47. package/dist/src/react/useRAGSources.d.ts +6 -6
  48. package/dist/src/react/useRAGStatus.d.ts +2 -2
  49. package/dist/src/react/useRAGStream.d.ts +11 -11
  50. package/dist/src/react/useRAGWorkflow.d.ts +12 -12
  51. package/dist/src/retrieval/collection.d.ts +3 -1
  52. package/dist/src/retrieval/context.d.ts +1 -1
  53. package/dist/src/retrieval/embedding.d.ts +1 -1
  54. package/dist/src/retrieval/grounding.d.ts +2 -1
  55. package/dist/src/retrieval/lexical.d.ts +2 -1
  56. package/dist/src/retrieval/queryTransforms.d.ts +1 -1
  57. package/dist/src/retrieval/reranking.d.ts +1 -1
  58. package/dist/src/retrieval/retrievalStrategies.d.ts +1 -1
  59. package/dist/src/svelte/createRAG.d.ts +109 -109
  60. package/dist/src/svelte/createRAGChunkPreview.d.ts +5 -5
  61. package/dist/src/svelte/createRAGCitations.d.ts +4 -4
  62. package/dist/src/svelte/createRAGDocuments.d.ts +1 -1
  63. package/dist/src/svelte/createRAGEvaluate.d.ts +4 -4
  64. package/dist/src/svelte/createRAGGrounding.d.ts +3 -3
  65. package/dist/src/svelte/createRAGIndexAdmin.d.ts +5 -5
  66. package/dist/src/svelte/createRAGIngest.d.ts +1 -1
  67. package/dist/src/svelte/createRAGOps.d.ts +1 -1
  68. package/dist/src/svelte/createRAGSearch.d.ts +2 -1
  69. package/dist/src/svelte/createRAGSources.d.ts +6 -6
  70. package/dist/src/svelte/createRAGStatus.d.ts +2 -2
  71. package/dist/src/svelte/createRAGStream.d.ts +8 -8
  72. package/dist/src/svelte/createRAGWorkflow.d.ts +9 -9
  73. package/dist/src/sync/sync.d.ts +2 -2
  74. package/dist/src/vue/useRAG.d.ts +257 -257
  75. package/dist/src/vue/useRAGChunkPreview.d.ts +25 -25
  76. package/dist/src/vue/useRAGCitations.d.ts +4 -4
  77. package/dist/src/vue/useRAGDocuments.d.ts +9 -9
  78. package/dist/src/vue/useRAGEvaluate.d.ts +50 -50
  79. package/dist/src/vue/useRAGGrounding.d.ts +3 -3
  80. package/dist/src/vue/useRAGIndexAdmin.d.ts +35 -35
  81. package/dist/src/vue/useRAGIngest.d.ts +1 -1
  82. package/dist/src/vue/useRAGOps.d.ts +9 -9
  83. package/dist/src/vue/useRAGSearch.d.ts +30 -29
  84. package/dist/src/vue/useRAGSources.d.ts +6 -6
  85. package/dist/src/vue/useRAGStatus.d.ts +2 -2
  86. package/dist/src/vue/useRAGStream.d.ts +10 -10
  87. package/dist/src/vue/useRAGWorkflow.d.ts +11 -11
  88. package/dist/svelte/index.js.map +13 -13
  89. package/dist/types/adapters.d.ts +1 -1
  90. package/dist/types/client.d.ts +2 -1
  91. package/dist/types/core.d.ts +1 -1
  92. package/dist/types/engine.d.ts +4407 -0
  93. package/dist/types/index.d.ts +1 -0
  94. package/dist/types/presentation.d.ts +2 -1
  95. package/dist/types/retrieval.d.ts +1 -1
  96. package/dist/vue/index.js.map +13 -13
  97. package/package.json +6 -2
package/dist/index.js CHANGED
@@ -21092,7 +21092,10 @@ var createRAGCollection = (options) => {
21092
21092
  const embeddingProvider = resolveRAGEmbeddingProvider(options.embedding, options.store.embed, options.defaultModel);
21093
21093
  const getExpectedDimensions = () => embeddingProvider.dimensions ?? getStatus?.()?.dimensions;
21094
21094
  const embed = async (input, context) => {
21095
- const vector = await embeddingProvider.embed(input);
21095
+ const vector = await embeddingProvider.embed({
21096
+ ...input,
21097
+ kind: input.kind ?? (context === "query" ? "query" : "passage")
21098
+ });
21096
21099
  validateRAGEmbeddingDimensions(vector, getExpectedDimensions(), context);
21097
21100
  return vector;
21098
21101
  };
@@ -21552,6 +21555,115 @@ var createRAGCollection = (options) => {
21552
21555
  }))).flat();
21553
21556
  await options.store.upsert({ chunks });
21554
21557
  };
21558
+ const buildSourceUpsertInput = async (sourceId, input) => {
21559
+ const sharedMetadata = input.metadata;
21560
+ if (input.document) {
21561
+ return buildRAGUpsertInputFromDocuments({
21562
+ chunkingRegistry: input.chunkingRegistry,
21563
+ defaultChunking: input.chunking,
21564
+ documents: [
21565
+ {
21566
+ ...input.document,
21567
+ chunking: input.document.chunking ?? input.chunking,
21568
+ metadata: { ...input.document.metadata ?? {}, ...sharedMetadata },
21569
+ source: input.document.source ?? sourceId
21570
+ }
21571
+ ]
21572
+ });
21573
+ }
21574
+ if (input.upload) {
21575
+ return buildRAGUpsertInputFromUploads({
21576
+ chunkingRegistry: input.chunkingRegistry,
21577
+ extractorRegistry: input.extractorRegistry,
21578
+ extractors: input.extractors,
21579
+ uploads: [
21580
+ {
21581
+ ...input.upload,
21582
+ chunking: input.upload.chunking ?? input.chunking,
21583
+ metadata: { ...input.upload.metadata ?? {}, ...sharedMetadata },
21584
+ source: input.upload.source ?? sourceId
21585
+ }
21586
+ ]
21587
+ });
21588
+ }
21589
+ if (input.url) {
21590
+ return buildRAGUpsertInputFromURLs({
21591
+ chunkingRegistry: input.chunkingRegistry,
21592
+ extractorRegistry: input.extractorRegistry,
21593
+ extractors: input.extractors,
21594
+ urls: [
21595
+ {
21596
+ ...input.url,
21597
+ chunking: input.url.chunking ?? input.chunking,
21598
+ extractorRegistry: input.url.extractorRegistry ?? input.extractorRegistry,
21599
+ extractors: input.url.extractors ?? input.extractors,
21600
+ metadata: { ...input.url.metadata ?? {}, ...sharedMetadata },
21601
+ source: input.url.source ?? sourceId
21602
+ }
21603
+ ]
21604
+ });
21605
+ }
21606
+ throw new Error("ingestSource requires one of upload, url, or document to be provided.");
21607
+ };
21608
+ const removeSource = async (input) => {
21609
+ const sourceId = input.sourceId?.trim();
21610
+ if (!sourceId) {
21611
+ throw new Error("removeSource requires a non-empty sourceId.");
21612
+ }
21613
+ const deleteFromStore = options.store.delete;
21614
+ if (typeof deleteFromStore !== "function") {
21615
+ throw new Error("removeSource requires a store that implements delete().");
21616
+ }
21617
+ let deleted = 0;
21618
+ const chunkIds = input.chunkIds ?? (typeof input.chunkCount === "number" && input.chunkCount > 0 ? Array.from({ length: input.chunkCount }, (_unused, index) => `${sourceId}#${index}`) : undefined);
21619
+ if (chunkIds && chunkIds.length > 0) {
21620
+ deleted += await deleteFromStore({ chunkIds });
21621
+ }
21622
+ if (input.filterDelete !== false) {
21623
+ try {
21624
+ deleted += await deleteFromStore({ filter: { sourceId } });
21625
+ } catch {}
21626
+ }
21627
+ return { deleted, sourceId };
21628
+ };
21629
+ const ingestSource = async (input) => {
21630
+ const sourceId = input.sourceId?.trim();
21631
+ if (!sourceId) {
21632
+ throw new Error("ingestSource requires a non-empty sourceId.");
21633
+ }
21634
+ if (input.replace !== false) {
21635
+ await removeSource({
21636
+ chunkCount: input.previousChunkCount,
21637
+ sourceId
21638
+ });
21639
+ }
21640
+ const built = await buildSourceUpsertInput(sourceId, input);
21641
+ const embedKind = input.embedKind ?? "passage";
21642
+ const chunks = await Promise.all(built.chunks.map(async (chunk, index) => {
21643
+ const chunkId = `${sourceId}#${index}`;
21644
+ const embedding = chunk.embedding ?? await embed({
21645
+ kind: embedKind,
21646
+ model: options.defaultModel,
21647
+ text: chunk.text
21648
+ }, "chunk");
21649
+ return {
21650
+ ...chunk,
21651
+ chunkId,
21652
+ embedding,
21653
+ metadata: {
21654
+ ...chunk.metadata ?? {},
21655
+ sourceId
21656
+ },
21657
+ source: chunk.source ?? sourceId
21658
+ };
21659
+ }));
21660
+ await ingest({ chunks });
21661
+ return {
21662
+ chunkCount: chunks.length,
21663
+ chunkIds: chunks.map((chunk) => chunk.chunkId),
21664
+ sourceId
21665
+ };
21666
+ };
21555
21667
  return {
21556
21668
  clear: typeof options.store.clear === "function" ? () => options.store.clear?.() : undefined,
21557
21669
  getCapabilities: typeof getCapabilities === "function" ? () => getCapabilities() : undefined,
@@ -21559,12 +21671,16 @@ var createRAGCollection = (options) => {
21559
21671
  searchWithTrace,
21560
21672
  search,
21561
21673
  store: options.store,
21562
- ingest
21674
+ ingest,
21675
+ ingestSource,
21676
+ removeSource
21563
21677
  };
21564
21678
  };
21565
21679
  var ingestDocuments = async (collection, input) => collection.ingest(input);
21566
21680
  var ingestRAGDocuments = async (collection, input) => collection.ingest(buildRAGUpsertInputFromDocuments(input));
21567
21681
  var searchDocuments = async (collection, input) => collection.search(input);
21682
+ var ingestRAGSource = async (collection, input) => collection.ingestSource(input);
21683
+ var removeRAGSource = async (collection, input) => collection.removeSource(input);
21568
21684
 
21569
21685
  // src/presentation/htmxWorkflowRenderers.ts
21570
21686
  var escapeHtml2 = (text) => text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
@@ -22503,7 +22619,7 @@ var toAssistantTextBlock = (content) => [
22503
22619
  { content, type: "text" }
22504
22620
  ];
22505
22621
  var resolveTools = (config, providerName, model) => typeof config.tools === "function" ? config.tools(providerName, model) : config.tools;
22506
- var resolveThinking = (config, providerName, model) => typeof config.thinking === "function" ? config.thinking(providerName, model) : config.thinking;
22622
+ var resolveReasoning = (config, providerName, model) => typeof config.reasoning === "function" ? config.reasoning(providerName, model) : config.reasoning;
22507
22623
  var resolveModel = (config, parsed) => {
22508
22624
  if (parsed.model) {
22509
22625
  return parsed.model;
@@ -23167,7 +23283,7 @@ var ragChat = (config) => {
23167
23283
  provider,
23168
23284
  signal: controller.signal,
23169
23285
  systemPrompt: config.systemPrompt,
23170
- thinking: resolveThinking(config, providerName, model),
23286
+ reasoning: resolveReasoning(config, providerName, model),
23171
23287
  tools: resolveTools(config, providerName, model),
23172
23288
  onComplete: async (fullResponse, usage) => {
23173
23289
  await appendAssistantMessage(conversationId, assistantMessageId, fullResponse, sources, usage, model, retrievalStartedAt, retrievedAt, retrievalDurationMs, trace);
@@ -29940,7 +30056,7 @@ var ragChat = (config) => {
29940
30056
  provider,
29941
30057
  signal: controller.signal,
29942
30058
  systemPrompt: config.systemPrompt,
29943
- thinking: resolveThinking(config, providerName, model),
30059
+ reasoning: resolveReasoning(config, providerName, model),
29944
30060
  tools: resolveTools(config, providerName, model),
29945
30061
  onComplete: async (fullResponse, usage) => {
29946
30062
  await appendAssistantMessage(conversationId, assistantMessageId, fullResponse, sources, usage, model, retrievalStartedAt, retrievedAt, retrievalDurationMs);
@@ -35882,6 +35998,7 @@ export {
35882
35998
  resolveRAGHybridSearchOptions,
35883
35999
  resolveRAGEmbeddingProvider,
35884
36000
  reorderRAGEvaluationSuiteCases,
36001
+ removeRAGSource,
35885
36002
  removeRAGEvaluationSuiteCaseHardNegative,
35886
36003
  removeRAGEvaluationSuiteCase,
35887
36004
  ragChat as ragPlugin,
@@ -35953,6 +36070,7 @@ export {
35953
36070
  loadRAGAnswerGroundingEvaluationHistory,
35954
36071
  loadRAGAnswerGroundingCaseDifficultyHistory,
35955
36072
  inspectRAGSQLiteStoreMigrations,
36073
+ ingestRAGSource,
35956
36074
  ingestRAGDocuments,
35957
36075
  ingestDocuments,
35958
36076
  googleEmbeddings,
@@ -36153,5 +36271,5 @@ export {
36153
36271
  addRAGEvaluationSuiteCase
36154
36272
  };
36155
36273
 
36156
- //# debugId=8164D2D742BE222864756E2164756E21
36274
+ //# debugId=CA76BA0B8835240864756E2164756E21
36157
36275
  //# sourceMappingURL=index.js.map