agentfootprint 8.7.0 → 8.8.0

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 (166) hide show
  1. package/AGENTS.md +12 -4
  2. package/CLAUDE.md +4 -2
  3. package/ai-instructions/claude-code/SKILL.md +1 -1
  4. package/ai-instructions/setup.sh +0 -0
  5. package/bin/agentfootprint-lint-tools.mjs +0 -0
  6. package/dist/core/agent/buildAgentChart.js +12 -1
  7. package/dist/core/agent/buildAgentChart.js.map +1 -1
  8. package/dist/core/agent/buildDynamicAgentChart.js +12 -1
  9. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  10. package/dist/core/agent/memoryRecallInjections.js +100 -10
  11. package/dist/core/agent/memoryRecallInjections.js.map +1 -1
  12. package/dist/core/agent/stages/deliver.js.map +1 -1
  13. package/dist/core/slots/buildSystemPromptSlot.js +10 -0
  14. package/dist/core/slots/buildSystemPromptSlot.js.map +1 -1
  15. package/dist/core/slots/helpers.js +12 -10
  16. package/dist/core/slots/helpers.js.map +1 -1
  17. package/dist/esm/core/agent/buildAgentChart.js +13 -2
  18. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  19. package/dist/esm/core/agent/buildDynamicAgentChart.js +13 -2
  20. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  21. package/dist/esm/core/agent/memoryRecallInjections.d.ts +13 -3
  22. package/dist/esm/core/agent/memoryRecallInjections.js +101 -11
  23. package/dist/esm/core/agent/memoryRecallInjections.js.map +1 -1
  24. package/dist/esm/core/agent/stages/deliver.d.ts +6 -3
  25. package/dist/esm/core/agent/stages/deliver.js.map +1 -1
  26. package/dist/esm/core/slots/buildSystemPromptSlot.js +10 -0
  27. package/dist/esm/core/slots/buildSystemPromptSlot.js.map +1 -1
  28. package/dist/esm/core/slots/helpers.d.ts +11 -2
  29. package/dist/esm/core/slots/helpers.js +11 -9
  30. package/dist/esm/core/slots/helpers.js.map +1 -1
  31. package/dist/esm/events/payloads.d.ts +63 -0
  32. package/dist/esm/events/registry.d.ts +3 -1
  33. package/dist/esm/events/registry.js +2 -0
  34. package/dist/esm/events/registry.js.map +1 -1
  35. package/dist/esm/index.d.ts +2 -1
  36. package/dist/esm/index.js +6 -1
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/lib/fnv1a.d.ts +16 -0
  39. package/dist/esm/lib/fnv1a.js +24 -0
  40. package/dist/esm/lib/fnv1a.js.map +1 -0
  41. package/dist/esm/lib/injection-engine/types.d.ts +17 -0
  42. package/dist/esm/lib/injection-engine/types.js.map +1 -1
  43. package/dist/esm/lib/rag/defineRAG.d.ts +126 -26
  44. package/dist/esm/lib/rag/defineRAG.js +112 -25
  45. package/dist/esm/lib/rag/defineRAG.js.map +1 -1
  46. package/dist/esm/lib/rag/index.d.ts +1 -1
  47. package/dist/esm/lib/rag/index.js +1 -1
  48. package/dist/esm/lib/rag/index.js.map +1 -1
  49. package/dist/esm/memory/define.js +38 -2
  50. package/dist/esm/memory/define.js.map +1 -1
  51. package/dist/esm/memory/define.types.d.ts +93 -1
  52. package/dist/esm/memory/define.types.js +18 -0
  53. package/dist/esm/memory/define.types.js.map +1 -1
  54. package/dist/esm/memory/embedding/loadRelevant.d.ts +49 -15
  55. package/dist/esm/memory/embedding/loadRelevant.js +136 -7
  56. package/dist/esm/memory/embedding/loadRelevant.js.map +1 -1
  57. package/dist/esm/memory/index.d.ts +2 -1
  58. package/dist/esm/memory/index.js +2 -1
  59. package/dist/esm/memory/index.js.map +1 -1
  60. package/dist/esm/memory/pipeline/semantic.d.ts +15 -0
  61. package/dist/esm/memory/pipeline/semantic.js +3 -1
  62. package/dist/esm/memory/pipeline/semantic.js.map +1 -1
  63. package/dist/esm/memory/retrieval/index.d.ts +10 -0
  64. package/dist/esm/memory/retrieval/index.js +3 -0
  65. package/dist/esm/memory/retrieval/index.js.map +1 -0
  66. package/dist/esm/memory/retrieval/provenance.d.ts +43 -0
  67. package/dist/esm/memory/retrieval/provenance.js +60 -0
  68. package/dist/esm/memory/retrieval/provenance.js.map +1 -0
  69. package/dist/esm/memory/retrieval/topK.d.ts +67 -0
  70. package/dist/esm/memory/retrieval/topK.js +53 -0
  71. package/dist/esm/memory/retrieval/topK.js.map +1 -0
  72. package/dist/esm/memory/retrieval/types.d.ts +189 -0
  73. package/dist/esm/memory/retrieval/types.js +2 -0
  74. package/dist/esm/memory/retrieval/types.js.map +1 -0
  75. package/dist/esm/memory/stages/formatDefault.d.ts +52 -26
  76. package/dist/esm/memory/stages/formatDefault.js +118 -28
  77. package/dist/esm/memory/stages/formatDefault.js.map +1 -1
  78. package/dist/esm/memory/stages/pickByBudget.js +53 -3
  79. package/dist/esm/memory/stages/pickByBudget.js.map +1 -1
  80. package/dist/esm/memory/stages/types.d.ts +15 -0
  81. package/dist/esm/memory/wire/mountMemoryPipeline.d.ts +25 -0
  82. package/dist/esm/memory/wire/mountMemoryPipeline.js +11 -2
  83. package/dist/esm/memory/wire/mountMemoryPipeline.js.map +1 -1
  84. package/dist/events/registry.js +2 -0
  85. package/dist/events/registry.js.map +1 -1
  86. package/dist/index.js +8 -1
  87. package/dist/index.js.map +1 -1
  88. package/dist/lib/fnv1a.js +28 -0
  89. package/dist/lib/fnv1a.js.map +1 -0
  90. package/dist/lib/injection-engine/types.js.map +1 -1
  91. package/dist/lib/rag/defineRAG.js +113 -26
  92. package/dist/lib/rag/defineRAG.js.map +1 -1
  93. package/dist/lib/rag/index.js +2 -1
  94. package/dist/lib/rag/index.js.map +1 -1
  95. package/dist/memory/define.js +38 -2
  96. package/dist/memory/define.js.map +1 -1
  97. package/dist/memory/define.types.js +21 -1
  98. package/dist/memory/define.types.js.map +1 -1
  99. package/dist/memory/embedding/loadRelevant.js +138 -8
  100. package/dist/memory/embedding/loadRelevant.js.map +1 -1
  101. package/dist/memory/index.js +5 -1
  102. package/dist/memory/index.js.map +1 -1
  103. package/dist/memory/pipeline/semantic.js +2 -0
  104. package/dist/memory/pipeline/semantic.js.map +1 -1
  105. package/dist/memory/retrieval/index.js +9 -0
  106. package/dist/memory/retrieval/index.js.map +1 -0
  107. package/dist/memory/retrieval/provenance.js +65 -0
  108. package/dist/memory/retrieval/provenance.js.map +1 -0
  109. package/dist/memory/retrieval/topK.js +57 -0
  110. package/dist/memory/retrieval/topK.js.map +1 -0
  111. package/dist/memory/retrieval/types.js +3 -0
  112. package/dist/memory/retrieval/types.js.map +1 -0
  113. package/dist/memory/stages/formatDefault.js +118 -28
  114. package/dist/memory/stages/formatDefault.js.map +1 -1
  115. package/dist/memory/stages/pickByBudget.js +53 -3
  116. package/dist/memory/stages/pickByBudget.js.map +1 -1
  117. package/dist/memory/wire/mountMemoryPipeline.js +11 -2
  118. package/dist/memory/wire/mountMemoryPipeline.js.map +1 -1
  119. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  120. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  121. package/dist/types/core/agent/memoryRecallInjections.d.ts +13 -3
  122. package/dist/types/core/agent/memoryRecallInjections.d.ts.map +1 -1
  123. package/dist/types/core/agent/stages/deliver.d.ts +6 -3
  124. package/dist/types/core/agent/stages/deliver.d.ts.map +1 -1
  125. package/dist/types/core/slots/buildSystemPromptSlot.d.ts.map +1 -1
  126. package/dist/types/core/slots/helpers.d.ts +11 -2
  127. package/dist/types/core/slots/helpers.d.ts.map +1 -1
  128. package/dist/types/events/payloads.d.ts +63 -0
  129. package/dist/types/events/payloads.d.ts.map +1 -1
  130. package/dist/types/events/registry.d.ts +3 -1
  131. package/dist/types/events/registry.d.ts.map +1 -1
  132. package/dist/types/index.d.ts +2 -1
  133. package/dist/types/index.d.ts.map +1 -1
  134. package/dist/types/lib/fnv1a.d.ts +17 -0
  135. package/dist/types/lib/fnv1a.d.ts.map +1 -0
  136. package/dist/types/lib/injection-engine/types.d.ts +17 -0
  137. package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
  138. package/dist/types/lib/rag/defineRAG.d.ts +126 -26
  139. package/dist/types/lib/rag/defineRAG.d.ts.map +1 -1
  140. package/dist/types/lib/rag/index.d.ts +1 -1
  141. package/dist/types/lib/rag/index.d.ts.map +1 -1
  142. package/dist/types/memory/define.d.ts.map +1 -1
  143. package/dist/types/memory/define.types.d.ts +93 -1
  144. package/dist/types/memory/define.types.d.ts.map +1 -1
  145. package/dist/types/memory/embedding/loadRelevant.d.ts +49 -15
  146. package/dist/types/memory/embedding/loadRelevant.d.ts.map +1 -1
  147. package/dist/types/memory/index.d.ts +2 -1
  148. package/dist/types/memory/index.d.ts.map +1 -1
  149. package/dist/types/memory/pipeline/semantic.d.ts +15 -0
  150. package/dist/types/memory/pipeline/semantic.d.ts.map +1 -1
  151. package/dist/types/memory/retrieval/index.d.ts +11 -0
  152. package/dist/types/memory/retrieval/index.d.ts.map +1 -0
  153. package/dist/types/memory/retrieval/provenance.d.ts +44 -0
  154. package/dist/types/memory/retrieval/provenance.d.ts.map +1 -0
  155. package/dist/types/memory/retrieval/topK.d.ts +68 -0
  156. package/dist/types/memory/retrieval/topK.d.ts.map +1 -0
  157. package/dist/types/memory/retrieval/types.d.ts +190 -0
  158. package/dist/types/memory/retrieval/types.d.ts.map +1 -0
  159. package/dist/types/memory/stages/formatDefault.d.ts +52 -26
  160. package/dist/types/memory/stages/formatDefault.d.ts.map +1 -1
  161. package/dist/types/memory/stages/pickByBudget.d.ts.map +1 -1
  162. package/dist/types/memory/stages/types.d.ts +15 -0
  163. package/dist/types/memory/stages/types.d.ts.map +1 -1
  164. package/dist/types/memory/wire/mountMemoryPipeline.d.ts +25 -0
  165. package/dist/types/memory/wire/mountMemoryPipeline.d.ts.map +1 -1
  166. package/package.json +1 -1
@@ -1,24 +1,67 @@
1
1
  "use strict";
2
2
  /**
3
- * defineRAG — sugar factory for retrieval-augmented generation.
3
+ * defineRAG — retrieval-augmented generation over a document corpus.
4
4
  *
5
- * RAG is a context-engineering flavor: embed the user's question,
6
- * retrieve top-K semantically similar chunks from a vector store,
7
- * inject those chunks into the system-prompt slot of the next LLM call.
8
- * It's the same plumbing as `defineMemory({ type: SEMANTIC,
9
- * strategy: TOP_K })` — the rename is for intent + ergonomics.
5
+ * Embed the user's question, retrieve the most similar chunks from a
6
+ * vector store, inject them into the system-prompt slot of the next LLM
7
+ * call. It is the same machinery as `defineMemory({ type: SEMANTIC,
8
+ * strategy: TOP_K })` — with three differences that are not cosmetic:
10
9
  *
11
10
  * defineMemory ─┬─► EPISODIC (raw conversation)
12
11
  * ├─► SEMANTIC (extracted facts / RAG chunks)
13
12
  * ├─► NARRATIVE (beats / summaries)
14
13
  * └─► CAUSAL (footprintjs decision snapshots)
15
14
  *
16
- * defineRAG ─► SEMANTIC + TOP_K with RAG-specific defaults
17
- * (topK=3, threshold=0.7, no LLM-extract)
15
+ * defineRAG ─► SEMANTIC + TOP_K, READ-ONLY, over a NAMED CORPUS,
16
+ * rendered as citable <source> blocks.
17
+ *
18
+ * ─── What changed in 8.8.0, and why ────────────────────────────────────
19
+ *
20
+ * **1. A corpus is read-only.** Until 8.8.0 `defineRAG` also mounted the
21
+ * semantic pipeline's WRITE half, which embedded every conversation turn
22
+ * and stored it in the same namespace as the documents. The consequence
23
+ * was measurable and bad: the user's own question, re-embedded, is the
24
+ * single best-scoring "document" in the corpus (cosine 1.0 against
25
+ * itself), so it came back as retrieval hit #1 and consumed a slot in
26
+ * the top-K budget that a real passage should have had. A corpus is not
27
+ * a conversation log. Nothing this retriever reads is written back.
28
+ *
29
+ * If you want conversation memory ALONGSIDE a corpus, that is what
30
+ * `defineMemory` is for, and the two are registered separately, each
31
+ * with its own store:
32
+ *
33
+ * ```ts
34
+ * const agent = Agent.create({ provider })
35
+ * .rag(defineRAG({ id: 'product-docs', store: corpusStore, embedder }))
36
+ * .memory(defineMemory({
37
+ * id: 'chat',
38
+ * type: MEMORY_TYPES.EPISODIC,
39
+ * strategy: { kind: MEMORY_STRATEGIES.WINDOW, size: 10 },
40
+ * store: conversationStore,
41
+ * }))
42
+ * .build();
43
+ * ```
44
+ *
45
+ * **2. The corpus has its own namespace.** A memory reads under the
46
+ * identity passed to `agent.run()`. For conversation recall that is
47
+ * right. For a shared corpus it was the reason the documented example
48
+ * retrieved NOTHING: `indexDocuments` writes under
49
+ * `{ conversationId: '_global' }` by default, while a run with no
50
+ * explicit identity gets `{ conversationId: 'run-<timestamp>-<n>' }` —
51
+ * so the write side and the read side never met, silently. `corpus`
52
+ * defaults to the same `'_global'` the indexer uses, so the documented
53
+ * example works with no extra arguments; pass it explicitly when you
54
+ * index per tenant.
55
+ *
56
+ * **3. Chunks are citable.** Retrieved passages render as
57
+ * `<source id="refunds.md#3" doc="refunds.md" score="0.81">` under a
58
+ * corpus header, instead of the conversation-recall shape that printed
59
+ * `role="unknown" turn="0"` on a page of a PDF and gave the model
60
+ * nothing to cite.
18
61
  *
19
62
  * Pattern: Composition over duplication — defineRAG returns a
20
63
  * MemoryDefinition produced by defineMemory. No new engine
21
- * code, no new slot subflow, no new event type.
64
+ * code, no new slot subflow, no new stage.
22
65
  *
23
66
  * Role: Layer-3 context-engineering primitive. Lives next to
24
67
  * defineSkill / defineSteering / defineInstruction / defineFact
@@ -26,27 +69,32 @@
26
69
  * (RAG content is computed at runtime via async retrieval —
27
70
  * can't fit the synchronous Injection.inject shape).
28
71
  *
29
- * Emits: Indirectly — the underlying memory pipeline emits
30
- * `agentfootprint.context.injected` when retrieved chunks
31
- * land in the system-prompt slot.
72
+ * Emits: `agentfootprint.memory.retrieved` (once per retrieval, with
73
+ * every candidate and its score — including the rejected ones),
74
+ * `agentfootprint.memory.attached` (once per chunk that reached
75
+ * the prompt), and `agentfootprint.context.injected` with
76
+ * `source: 'rag'` (once per chunk).
32
77
  *
33
78
  * @see ./indexDocuments.ts for the seeding helper
34
79
  * @see ../../memory/define.ts for the underlying factory
80
+ * @see ../../memory/retrieval/ for the retrieval seam
35
81
  * @see ../../memory/asRoleRefusal.ts for why `asRole` is refused, not honoured
36
82
  *
37
- * @example Basic usage
83
+ * @example Basic usage — works with no identity argument anywhere
38
84
  * ```ts
39
- * import { * Agent, defineRAG, indexDocuments, * } from 'agentfootprint'
40
- import { InMemoryStore, mockEmbedder } from 'agentfootprint/memory'
41
- import { mock } from 'agentfootprint/llm-providers';
85
+ * import { Agent, defineRAG, indexDocuments } from 'agentfootprint';
86
+ * import { InMemoryStore, mockEmbedder } from 'agentfootprint/memory';
87
+ * import { mock } from 'agentfootprint/providers';
42
88
  *
43
89
  * const embedder = mockEmbedder();
44
90
  * const store = new InMemoryStore();
45
91
  *
46
- * // Seed the store once at startup
92
+ * // Seed the corpus once at startup (defaults to the '_global' namespace).
47
93
  * await indexDocuments(store, embedder, [
48
- * { id: 'doc1', content: 'Refunds are processed within 3 business days.' },
49
- * { id: 'doc2', content: 'Pro plan costs $20/month.' },
94
+ * { id: 'refunds.md#0', content: 'Refunds are processed within 3 business days.',
95
+ * metadata: { source: 'refunds.md' } },
96
+ * { id: 'pricing.md#0', content: 'Pro plan costs $20/month.',
97
+ * metadata: { source: 'pricing.md' } },
50
98
  * ]);
51
99
  *
52
100
  * const docs = defineRAG({
@@ -61,13 +109,27 @@ import { mock } from 'agentfootprint/llm-providers';
61
109
  * const agent = Agent.create({ provider: mock({ reply: 'ok' }), model: 'mock' })
62
110
  * .rag(docs)
63
111
  * .build();
112
+ *
113
+ * agent.on('agentfootprint.memory.retrieved', (e) => {
114
+ * // every candidate, admitted or not, with its score and its reason
115
+ * console.log(e.payload.candidates);
116
+ * });
117
+ *
118
+ * await agent.run({ message: 'How long do refunds take?' });
64
119
  * ```
65
120
  */
66
121
  Object.defineProperty(exports, "__esModule", { value: true });
67
- exports.defineRAG = void 0;
122
+ exports.defineRAG = exports.DEFAULT_CORPUS_IDENTITY = void 0;
68
123
  const define_types_js_1 = require("../../memory/define.types.js");
69
124
  const define_js_1 = require("../../memory/define.js");
70
125
  const asRoleRefusal_js_1 = require("../../memory/asRoleRefusal.js");
126
+ /**
127
+ * The namespace a corpus lives in unless told otherwise — the same one
128
+ * `indexDocuments` writes to by default. The two defaults are one value
129
+ * on purpose: index with no options, retrieve with no options, and the
130
+ * documents are found.
131
+ */
132
+ exports.DEFAULT_CORPUS_IDENTITY = { conversationId: '_global' };
71
133
  /**
72
134
  * Build a RAG context-engineering definition. The returned
73
135
  * `MemoryDefinition` is registered on the Agent via `.rag(definition)`
@@ -75,6 +137,7 @@ const asRoleRefusal_js_1 = require("../../memory/asRoleRefusal.js");
75
137
  *
76
138
  * @throws when `store` does not implement `search()`. RAG requires a
77
139
  * vector-capable adapter.
140
+ * @throws when `retrieval` is combined with `topK` or `threshold`.
78
141
  */
79
142
  function defineRAG(opts) {
80
143
  if (!opts.id || opts.id.trim() === '') {
@@ -94,17 +157,41 @@ function defineRAG(opts) {
94
157
  throw new Error(`defineRAG[${opts.id}]: store must implement search(). ` +
95
158
  'Pass a vector-capable adapter (InMemoryStore, pgvector, Pinecone, ...).');
96
159
  }
160
+ if (opts.retrieval !== undefined) {
161
+ const shorthand = [];
162
+ if (opts.topK !== undefined)
163
+ shorthand.push('`topK`');
164
+ if (opts.threshold !== undefined)
165
+ shorthand.push('`threshold`');
166
+ if (shorthand.length > 0) {
167
+ throw new Error(`defineRAG[${opts.id}]: ${shorthand.join(' and ')} cannot be combined with \`retrieval\` ` +
168
+ '— they are two spellings of the same rule and could disagree. Keep ' +
169
+ `\`retrieval: ${opts.retrieval.name}({ ... })\` and drop ${shorthand.join('/')}.`);
170
+ }
171
+ }
97
172
  return (0, define_js_1.defineMemory)({
98
173
  id: opts.id,
99
174
  ...(opts.description !== undefined && { description: opts.description }),
100
175
  type: define_types_js_1.MEMORY_TYPES.SEMANTIC,
101
- strategy: {
102
- kind: define_types_js_1.MEMORY_STRATEGIES.TOP_K,
103
- topK: opts.topK ?? 3,
104
- threshold: opts.threshold ?? 0.7,
105
- embedder: opts.embedder,
106
- },
176
+ strategy: opts.retrieval !== undefined
177
+ ? {
178
+ kind: define_types_js_1.MEMORY_STRATEGIES.TOP_K,
179
+ embedder: opts.embedder,
180
+ retrieval: opts.retrieval,
181
+ ...(opts.embedderId !== undefined && { embedderId: opts.embedderId }),
182
+ }
183
+ : {
184
+ kind: define_types_js_1.MEMORY_STRATEGIES.TOP_K,
185
+ topK: opts.topK ?? 3,
186
+ threshold: opts.threshold ?? 0.7,
187
+ embedder: opts.embedder,
188
+ ...(opts.embedderId !== undefined && { embedderId: opts.embedderId }),
189
+ },
107
190
  store: opts.store,
191
+ // A corpus is not a conversation log — see the header.
192
+ readOnly: true,
193
+ corpus: opts.corpus ?? exports.DEFAULT_CORPUS_IDENTITY,
194
+ flavor: 'rag',
108
195
  });
109
196
  }
110
197
  exports.defineRAG = defineRAG;
@@ -1 +1 @@
1
- {"version":3,"file":"defineRAG.js","sourceRoot":"","sources":["../../../src/lib/rag/defineRAG.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;;;AAKH,kEAA+E;AAC/E,sDAAsD;AACtD,oEAA6D;AAkE7D;;;;;;;GAOG;AACH,SAAgB,SAAS,CAAC,IAAsB;IAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,sEAAsE;IACtE,oEAAoE;IACpE,uDAAuD;IACvD,IAAA,+BAAY,EAAC,IAAI,EAAE,cAAc,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,CAAC,EAAE,oCAAoC;YACtD,yEAAyE,CAC5E,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,wBAAY,EAAC;QAClB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACxE,IAAI,EAAE,8BAAY,CAAC,QAAQ;QAC3B,QAAQ,EAAE;YACR,IAAI,EAAE,mCAAiB,CAAC,KAAK;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;QACD,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;AACL,CAAC;AAjCD,8BAiCC"}
1
+ {"version":3,"file":"defineRAG.js","sourceRoot":"","sources":["../../../src/lib/rag/defineRAG.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.indexDocuments = exports.defineRAG = void 0;
3
+ exports.indexDocuments = exports.DEFAULT_CORPUS_IDENTITY = exports.defineRAG = void 0;
4
4
  /**
5
5
  * RAG — retrieval-augmented generation as a context-engineering
6
6
  * flavor. ONE factory + ONE seeding helper. Composes over the memory
@@ -8,6 +8,7 @@ exports.indexDocuments = exports.defineRAG = void 0;
8
8
  */
9
9
  var defineRAG_js_1 = require("./defineRAG.js");
10
10
  Object.defineProperty(exports, "defineRAG", { enumerable: true, get: function () { return defineRAG_js_1.defineRAG; } });
11
+ Object.defineProperty(exports, "DEFAULT_CORPUS_IDENTITY", { enumerable: true, get: function () { return defineRAG_js_1.DEFAULT_CORPUS_IDENTITY; } });
11
12
  var indexDocuments_js_1 = require("./indexDocuments.js");
12
13
  Object.defineProperty(exports, "indexDocuments", { enumerable: true, get: function () { return indexDocuments_js_1.indexDocuments; } });
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/rag/index.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,+CAAkE;AAAzD,yGAAA,SAAS,OAAA;AAClB,yDAAmG;AAA1F,mHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/rag/index.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,+CAA2F;AAAlF,yGAAA,SAAS,OAAA;AAAE,uHAAA,uBAAuB,OAAA;AAC3C,yDAAmG;AAA1F,mHAAA,cAAc,OAAA"}
@@ -68,14 +68,21 @@ const define_types_js_1 = require("./define.types.js");
68
68
  function defineMemory(options) {
69
69
  validate(options);
70
70
  const pipeline = buildPipeline(options);
71
+ // `readOnly` drops the write half entirely (8.8.0). Not "writes are
72
+ // skipped at runtime" — the subflow is never compiled and never mounted,
73
+ // so a read-only memory has no write stage in its chart, no write commit
74
+ // in its log, and nothing to disable later by accident.
75
+ const write = options.readOnly === true ? undefined : pipeline.write;
71
76
  const definition = {
72
77
  id: options.id,
73
78
  ...(options.description !== undefined && { description: options.description }),
74
79
  type: options.type,
75
80
  read: brandPipeline(pipeline.read),
76
- ...(pipeline.write !== undefined && { write: brandPipeline(pipeline.write) }),
81
+ ...(write !== undefined && { write: brandPipeline(write) }),
77
82
  timing: options.timing ?? define_types_js_1.MEMORY_TIMING.TURN_START,
78
83
  ...(options.redact !== undefined && { redact: options.redact }),
84
+ ...(options.corpus !== undefined && { corpus: options.corpus }),
85
+ ...(options.flavor !== undefined && { flavor: options.flavor }),
79
86
  ...(options.type === define_types_js_1.MEMORY_TYPES.CAUSAL &&
80
87
  options.projection !== undefined && {
81
88
  projection: options.projection,
@@ -97,6 +104,26 @@ function validate(options) {
97
104
  throw new Error(`defineMemory[id=${options.id}]: \`store\` is required. ` +
98
105
  'Pass `new InMemoryStore()` for dev/tests, or a backed store for production.');
99
106
  }
107
+ // The shorthand and the spelled-out rule EXCLUDE. Accepting both would
108
+ // mean one of two numbers silently loses, and the recording would name
109
+ // a `k` the run did not use.
110
+ // Read through a structural shape, not the union: the union's arms
111
+ // declare the OTHER spelling as `never`, so intersecting them here
112
+ // would make the very field this check reads unreadable.
113
+ const strategy = options.strategy;
114
+ if (strategy?.retrieval !== undefined) {
115
+ const shorthand = [];
116
+ if (strategy.topK !== undefined)
117
+ shorthand.push('`topK`');
118
+ if (strategy.threshold !== undefined)
119
+ shorthand.push('`threshold`');
120
+ if (shorthand.length > 0) {
121
+ throw new Error(`defineMemory[id=${options.id}]: ${shorthand.join(' and ')} cannot be combined with ` +
122
+ '`retrieval` — they are two spellings of the same rule and could disagree. ' +
123
+ `Keep the strategy (\`retrieval: ${strategy.retrieval.name}({ ... })\`) and drop ` +
124
+ `${shorthand.join('/')}, or drop \`retrieval\`.`);
125
+ }
126
+ }
100
127
  }
101
128
  // ─── Pipeline dispatch ─────────────────────────────────────────────
102
129
  function buildPipeline(options) {
@@ -181,8 +208,11 @@ function buildSemanticPipeline(options) {
181
208
  const config = {
182
209
  store: options.store,
183
210
  embedder: t.embedder,
184
- k: t.topK,
211
+ ...(t.topK !== undefined && { k: t.topK }),
185
212
  ...(t.threshold !== undefined && { minScore: t.threshold }),
213
+ ...(t.embedderId !== undefined && { embedderId: t.embedderId }),
214
+ ...(t.retrieval !== undefined && { retrieval: t.retrieval }),
215
+ ...(options.flavor !== undefined && { flavor: options.flavor }),
186
216
  };
187
217
  return (0, semantic_js_1.semanticPipeline)(config);
188
218
  }
@@ -272,6 +302,12 @@ function buildCausalPipeline(options) {
272
302
  'Pass `new InMemoryStore({ embedder })` for dev/tests, or a vector adapter ' +
273
303
  '(pgvector, Pinecone, Qdrant) for production.');
274
304
  }
305
+ // CAUSAL predates the retrieval seam and reads the shorthand only. A
306
+ // strategy passed here would be accepted and ignored, so it is refused.
307
+ if (s.retrieval !== undefined) {
308
+ throw new Error(`defineMemory[${options.id}]: CAUSAL type does not read \`retrieval\` — snapshot recall ` +
309
+ 'matches a stored query vector, not a document pool. Use `topK` + `threshold`.');
310
+ }
275
311
  const config = {
276
312
  store: options.store,
277
313
  embedder: s.embedder,
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/memory/define.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/memory/define.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@
40
40
  * @see MEMORY.md for the load-bearing design memory
41
41
  */
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.isMemoryInjectionKey = exports.memoryInjectionKey = exports.MEMORY_INJECTION_KEY_PREFIX = exports.isSnapshotProjection = exports.isMemoryTiming = exports.isMemoryStrategyKind = exports.isMemoryType = exports.SNAPSHOT_PROJECTIONS = exports.MEMORY_TIMING = exports.MEMORY_STRATEGIES = exports.MEMORY_TYPES = void 0;
43
+ exports.isRetrievalEvidenceKey = exports.retrievalEvidenceKey = exports.RETRIEVAL_EVIDENCE_KEY_PREFIX = exports.isMemoryInjectionKey = exports.memoryInjectionKey = exports.MEMORY_INJECTION_KEY_PREFIX = exports.isSnapshotProjection = exports.isMemoryTiming = exports.isMemoryStrategyKind = exports.isMemoryType = exports.SNAPSHOT_PROJECTIONS = exports.MEMORY_TIMING = exports.MEMORY_STRATEGIES = exports.MEMORY_TYPES = void 0;
44
44
  // ─── Const-objects (SSOT) ───────────────────────────────────────────
45
45
  /**
46
46
  * What shape of memory you're keeping.
@@ -135,4 +135,24 @@ function isMemoryInjectionKey(key) {
135
135
  return key.startsWith(exports.MEMORY_INJECTION_KEY_PREFIX);
136
136
  }
137
137
  exports.isMemoryInjectionKey = isMemoryInjectionKey;
138
+ /**
139
+ * Scope-key prefix for the retrieval record a memory lifts to the parent
140
+ * scope (8.8.0), one key per memory id — the same layering rule as
141
+ * `memoryInjection_`.
142
+ *
143
+ * This key is the reason a backward slice can now reach a passage. It is
144
+ * ORDINARY root state, so `sliceForKey('finalContent')` walks the
145
+ * system-prompt write, and the record naming every candidate id and score
146
+ * is one hop away. Before 8.8.0 the scores existed only inside the memory
147
+ * subflow, which the root commit log never sees.
148
+ */
149
+ exports.RETRIEVAL_EVIDENCE_KEY_PREFIX = 'retrievalEvidence_';
150
+ function retrievalEvidenceKey(id) {
151
+ return `${exports.RETRIEVAL_EVIDENCE_KEY_PREFIX}${id}`;
152
+ }
153
+ exports.retrievalEvidenceKey = retrievalEvidenceKey;
154
+ function isRetrievalEvidenceKey(key) {
155
+ return key.startsWith(exports.RETRIEVAL_EVIDENCE_KEY_PREFIX);
156
+ }
157
+ exports.isRetrievalEvidenceKey = isRetrievalEvidenceKey;
138
158
  //# sourceMappingURL=define.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.types.js","sourceRoot":"","sources":["../../src/memory/define.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAMH,uEAAuE;AAEvE;;;;;;;;;GASG;AACU,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;;;GAQG;AACU,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACU,QAAA,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AAiOX,uEAAuE;AAEvE,SAAgB,YAAY,CAAC,KAAa;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAFD,oCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,yBAAiB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAFD,oDAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAFD,wCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,4BAAoB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAFD,oDAEC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACU,QAAA,2BAA2B,GAAG,kBAA2B,CAAC;AAEvE,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,OAAO,GAAG,mCAA2B,GAAG,EAAE,EAAE,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,mCAA2B,CAAC,CAAC;AACrD,CAAC;AAFD,oDAEC"}
1
+ {"version":3,"file":"define.types.js","sourceRoot":"","sources":["../../src/memory/define.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAQH,uEAAuE;AAEvE;;;;;;;;;GASG;AACU,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;;;GAQG;AACU,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACU,QAAA,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AAqTX,uEAAuE;AAEvE,SAAgB,YAAY,CAAC,KAAa;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAFD,oCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,yBAAiB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAFD,oDAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAFD,wCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,4BAAoB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAFD,oDAEC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACU,QAAA,2BAA2B,GAAG,kBAA2B,CAAC;AAEvE,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,OAAO,GAAG,mCAA2B,GAAG,EAAE,EAAE,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,mCAA2B,CAAC,CAAC;AACrD,CAAC;AAFD,oDAEC;AAED;;;;;;;;;;GAUG;AACU,QAAA,6BAA6B,GAAG,oBAA6B,CAAC;AAE3E,SAAgB,oBAAoB,CAAC,EAAU;IAC7C,OAAO,GAAG,qCAA6B,GAAG,EAAE,EAAE,CAAC;AACjD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,GAAW;IAChD,OAAO,GAAG,CAAC,UAAU,CAAC,qCAA6B,CAAC,CAAC;AACvD,CAAC;AAFD,wDAEC"}
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadRelevant = void 0;
3
+ exports.__resetEmptyCorpusWarnings = exports.loadRelevant = void 0;
4
+ const index_js_1 = require("../identity/index.js");
5
+ const fnv1a_js_1 = require("../../lib/fnv1a.js");
6
+ const provenance_js_1 = require("../retrieval/provenance.js");
7
+ const topK_js_1 = require("../retrieval/topK.js");
4
8
  /**
5
9
  * Default query extractor — last user message.
6
10
  *
@@ -22,6 +26,12 @@ function defaultQueryFrom(scope) {
22
26
  }
23
27
  return '';
24
28
  }
29
+ /** Emit through the scope's emit channel when there is one (there always is under an Agent). */
30
+ function emit(scope, type, payload) {
31
+ const emitter = scope.$emit;
32
+ if (typeof emitter === 'function')
33
+ emitter.call(scope, type, payload);
34
+ }
25
35
  function loadRelevant(config) {
26
36
  const { store, embedder } = config;
27
37
  if (!store.search) {
@@ -29,12 +39,43 @@ function loadRelevant(config) {
29
39
  'Use a vector-capable adapter (InMemoryStore, pgvector, Pinecone, ...).');
30
40
  }
31
41
  const queryFrom = config.queryFrom ?? defaultQueryFrom;
32
- const k = config.k ?? 20;
42
+ // The shorthand and the strategy are two spellings of one rule; the
43
+ // strategy wins when both are present, and `defineMemory` refuses the
44
+ // contradiction before it ever gets here.
45
+ const strategy = config.retrieval ??
46
+ (0, topK_js_1.topK)({
47
+ k: config.k ?? 20,
48
+ threshold: config.minScore === undefined ? null : config.minScore,
49
+ // With no explicit strategy there is no explicit reject window
50
+ // either; 10 near-misses is enough to diagnose a threshold without
51
+ // making every retrieval read a large page.
52
+ });
53
+ const poolSize = strategy.k + strategy.rejectWindow;
33
54
  return async (scope) => {
34
55
  const identity = scope.identity;
56
+ const namespace = (0, index_js_1.identityNamespace)(identity);
35
57
  const text = queryFrom(scope).trim();
58
+ const baseEvidence = {
59
+ queryHash: (0, fnv1a_js_1.fnv1a)(text),
60
+ k: strategy.k,
61
+ ...(strategy.threshold !== undefined && { threshold: strategy.threshold }),
62
+ ...(config.embedderId !== undefined && { embedderId: config.embedderId }),
63
+ selectionOrder: 'recency',
64
+ namespace,
65
+ };
36
66
  if (text.length === 0) {
37
67
  scope.loaded = [];
68
+ const emptyQuery = {
69
+ ...baseEvidence,
70
+ consideredCount: 0,
71
+ admittedCount: 0,
72
+ rejectedCount: 0,
73
+ candidates: [],
74
+ candidatesComplete: true,
75
+ // The corpus was never asked, so it cannot be reported empty.
76
+ corpusEmpty: false,
77
+ };
78
+ scope.retrieved = emptyQuery;
38
79
  return;
39
80
  }
40
81
  const signal = scope.$getEnv?.()?.signal;
@@ -45,16 +86,105 @@ function loadRelevant(config) {
45
86
  // store.search optional on MemoryStore but required when an embedder
46
87
  // is configured (validated upstream by defineMemory).
47
88
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
48
- const results = await store.search(identity, queryVec, {
49
- k,
50
- ...(config.minScore !== undefined && { minScore: config.minScore }),
89
+ const results = (await store.search(identity, queryVec, {
90
+ k: poolSize,
91
+ // `minScore` is deliberately NOT forwarded — see the header proof.
51
92
  ...(config.tiers && { tiers: config.tiers }),
52
93
  ...(config.embedderId !== undefined && { embedderId: config.embedderId }),
94
+ text,
95
+ }));
96
+ // A store that ranks server-side may return entries without a usable
97
+ // score. We report that rather than printing a number we did not get.
98
+ const scoresUsable = results.every((r) => typeof r.score === 'number' && Number.isFinite(r.score));
99
+ const verdicts = scoresUsable
100
+ ? strategy.select(results.map((r) => ({ entry: r.entry, score: r.score })))
101
+ : // No comparable scores to rule on. The store already ranked, so we
102
+ // honour its order and take the first `k` — and say in the record
103
+ // that we could not see the candidates ourselves.
104
+ results.map((_, i) => ({ admitted: i < strategy.k }));
105
+ const admitted = [];
106
+ const candidates = [];
107
+ results.forEach((result, i) => {
108
+ // `verdicts` is built from `results` above, one per element.
109
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
110
+ const verdict = verdicts[i];
111
+ if (verdict.admitted)
112
+ admitted.push(result);
113
+ candidates.push({
114
+ id: result.entry.id,
115
+ score: result.score,
116
+ rank: i + 1,
117
+ admitted: verdict.admitted,
118
+ ...(verdict.reason !== undefined && { reason: verdict.reason }),
119
+ ...(0, provenance_js_1.chunkProvenance)(result.entry.value),
120
+ });
121
+ });
122
+ const evidence = {
123
+ ...baseEvidence,
124
+ ...(queryVec.length > 0 && { dimensions: queryVec.length }),
125
+ consideredCount: results.length,
126
+ admittedCount: admitted.length,
127
+ rejectedCount: results.length - admitted.length,
128
+ ...(scoresUsable
129
+ ? { candidates }
130
+ : {
131
+ candidatesOmittedReason: 'the store ranked this query server-side and returned no comparable scores',
132
+ }),
133
+ // The pool came back full, so there may be further below-threshold
134
+ // entries we never saw. This never weakens the ADMITTED set (see
135
+ // the header proof) — only the rejected list is a sample.
136
+ candidatesComplete: results.length < poolSize,
137
+ corpusEmpty: results.length === 0,
138
+ };
139
+ scope.loaded = admitted.map((r) => r.entry);
140
+ scope.retrieved = evidence;
141
+ // Telemetry rides the emit channel, never a commit payload. The
142
+ // memory bridge (`memoryRecorder`) is attached on every Agent run, so
143
+ // this reaches `agent.on('agentfootprint.memory.retrieved')` with no
144
+ // extra wiring. Which retriever fired is `meta.runtimeStageId`
145
+ // (`sf-memory-read-<id>/load-relevant#N`) — the house correlation model.
146
+ emit(scope, 'agentfootprint.memory.retrieved', {
147
+ queryHash: evidence.queryHash,
148
+ k: evidence.k,
149
+ ...(evidence.threshold !== undefined && { threshold: evidence.threshold }),
150
+ ...(evidence.embedderId !== undefined && { embedderId: evidence.embedderId }),
151
+ ...(evidence.dimensions !== undefined && { dimensions: evidence.dimensions }),
152
+ consideredCount: evidence.consideredCount,
153
+ admittedCount: evidence.admittedCount,
154
+ rejectedCount: evidence.rejectedCount,
155
+ ...(evidence.candidates !== undefined && { candidates: evidence.candidates }),
156
+ ...(evidence.candidatesOmittedReason !== undefined && {
157
+ candidatesOmittedReason: evidence.candidatesOmittedReason,
158
+ }),
159
+ candidatesComplete: evidence.candidatesComplete,
160
+ corpusEmpty: evidence.corpusEmpty,
161
+ namespace: evidence.namespace,
53
162
  });
54
- // Write loaded entries to scope in best-first order — downstream
55
- // pickByBudget further narrows by the token budget.
56
- scope.loaded = results.map((r) => r.entry);
163
+ // An empty namespace is almost never "the corpus has nothing to say".
164
+ // It is almost always "the corpus was indexed under a different
165
+ // identity than the one being queried" — the failure that used to be
166
+ // completely silent. Say it once per process, naming both sides.
167
+ if (evidence.corpusEmpty)
168
+ warnEmptyCorpus(namespace);
57
169
  };
58
170
  }
59
171
  exports.loadRelevant = loadRelevant;
172
+ const warnedNamespaces = new Set();
173
+ function warnEmptyCorpus(namespace) {
174
+ if (warnedNamespaces.has(namespace))
175
+ return;
176
+ warnedNamespaces.add(namespace);
177
+ console.warn(`[agentfootprint] Semantic retrieval found NO entries at all in namespace '${namespace}'.\n` +
178
+ ` Nothing was injected, and the answer will come from the model alone.\n` +
179
+ ` The usual cause is that the corpus was indexed under a different identity than the one\n` +
180
+ ` being queried: indexDocuments() defaults to { conversationId: '_global' }, and a memory\n` +
181
+ ` reads under the identity passed to agent.run() unless the retriever declares its own\n` +
182
+ ` \`corpus\`. defineRAG() defaults \`corpus\` to { conversationId: '_global' } so the two\n` +
183
+ ` sides meet; pass \`corpus\` explicitly when you index per tenant.`);
184
+ }
185
+ /** Test seam — the once-per-process warning is per PROCESS, which tests must be able to reset. */
186
+ function __resetEmptyCorpusWarnings() {
187
+ warnedNamespaces.clear();
188
+ }
189
+ exports.__resetEmptyCorpusWarnings = __resetEmptyCorpusWarnings;
60
190
  //# sourceMappingURL=loadRelevant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadRelevant.js","sourceRoot":"","sources":["../../../src/memory/embedding/loadRelevant.ts"],"names":[],"mappings":";;;AA2DA;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,KAA8B;IACtD,MAAM,QAAQ,GAAG,KAAqD,CAAC;IACvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,MAAM,GACV,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAwB,CAAC;IAErF,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QAChC,IAAI,CAAC,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC,OAAO,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,YAAY,CAAC,MAA0B;IACrD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,kEAAkE;YAChE,wEAAwE,CAC3E,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,gBAAgB,CAAC;IACvD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzB,OAAO,KAAK,EAAE,KAA8B,EAAiB,EAAE;QAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC;QACzC,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC;YACrC,IAAI;YACJ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAa,CAAC;QAEhB,qEAAqE;QACrE,sDAAsD;QACtD,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE;YACtD,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;SAC1E,CAAC,CAAC;QAEH,iEAAiE;QACjE,oDAAoD;QACpD,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAA0B,CAAC;IACtE,CAAC,CAAC;AACJ,CAAC;AAvCD,oCAuCC"}
1
+ {"version":3,"file":"loadRelevant.js","sourceRoot":"","sources":["../../../src/memory/embedding/loadRelevant.ts"],"names":[],"mappings":"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"}