bikky 0.3.3 → 0.3.6

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 (218) hide show
  1. package/README.md +26 -6
  2. package/dist/cli.js +26 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.d.ts +22 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +255 -3
  7. package/dist/config.js.map +1 -1
  8. package/dist/config.test.d.ts +3 -2
  9. package/dist/config.test.d.ts.map +1 -1
  10. package/dist/config.test.js +95 -6
  11. package/dist/config.test.js.map +1 -1
  12. package/dist/daemon/capture-policy.d.ts +4 -4
  13. package/dist/daemon/capture-policy.d.ts.map +1 -1
  14. package/dist/daemon/capture-policy.js +8 -17
  15. package/dist/daemon/capture-policy.js.map +1 -1
  16. package/dist/daemon/capture-policy.test.js +2 -2
  17. package/dist/daemon/capture-policy.test.js.map +1 -1
  18. package/dist/daemon/consolidation.d.ts +4 -1
  19. package/dist/daemon/consolidation.d.ts.map +1 -1
  20. package/dist/daemon/consolidation.js +18 -4
  21. package/dist/daemon/consolidation.js.map +1 -1
  22. package/dist/daemon/entity-typing.d.ts +42 -0
  23. package/dist/daemon/entity-typing.d.ts.map +1 -0
  24. package/dist/daemon/entity-typing.js +295 -0
  25. package/dist/daemon/entity-typing.js.map +1 -0
  26. package/dist/daemon/entity-typing.test.d.ts +2 -0
  27. package/dist/daemon/entity-typing.test.d.ts.map +1 -0
  28. package/dist/daemon/entity-typing.test.js +50 -0
  29. package/dist/daemon/entity-typing.test.js.map +1 -0
  30. package/dist/daemon/episode-summary.d.ts +4 -8
  31. package/dist/daemon/episode-summary.d.ts.map +1 -1
  32. package/dist/daemon/episode-summary.js +52 -18
  33. package/dist/daemon/episode-summary.js.map +1 -1
  34. package/dist/daemon/episode-summary.test.js +10 -7
  35. package/dist/daemon/episode-summary.test.js.map +1 -1
  36. package/dist/daemon/extraction-quality.test.d.ts +2 -0
  37. package/dist/daemon/extraction-quality.test.d.ts.map +1 -0
  38. package/dist/daemon/extraction-quality.test.js +283 -0
  39. package/dist/daemon/extraction-quality.test.js.map +1 -0
  40. package/dist/daemon/extraction-rules.d.ts +131 -0
  41. package/dist/daemon/extraction-rules.d.ts.map +1 -0
  42. package/dist/daemon/extraction-rules.js +321 -0
  43. package/dist/daemon/extraction-rules.js.map +1 -0
  44. package/dist/daemon/extraction-rules.test.d.ts +2 -0
  45. package/dist/daemon/extraction-rules.test.d.ts.map +1 -0
  46. package/dist/daemon/extraction-rules.test.js +183 -0
  47. package/dist/daemon/extraction-rules.test.js.map +1 -0
  48. package/dist/daemon/extraction.d.ts +19 -1
  49. package/dist/daemon/extraction.d.ts.map +1 -1
  50. package/dist/daemon/extraction.js +183 -26
  51. package/dist/daemon/extraction.js.map +1 -1
  52. package/dist/daemon/extraction.test.js +96 -2
  53. package/dist/daemon/extraction.test.js.map +1 -1
  54. package/dist/daemon/loop.d.ts.map +1 -1
  55. package/dist/daemon/loop.js +22 -0
  56. package/dist/daemon/loop.js.map +1 -1
  57. package/dist/daemon/loop.test.d.ts +2 -0
  58. package/dist/daemon/loop.test.d.ts.map +1 -0
  59. package/dist/daemon/loop.test.js +85 -0
  60. package/dist/daemon/loop.test.js.map +1 -0
  61. package/dist/daemon/maintenance-state.d.ts +36 -0
  62. package/dist/daemon/maintenance-state.d.ts.map +1 -0
  63. package/dist/daemon/maintenance-state.js +95 -0
  64. package/dist/daemon/maintenance-state.js.map +1 -0
  65. package/dist/daemon/maintenance-state.test.d.ts +2 -0
  66. package/dist/daemon/maintenance-state.test.d.ts.map +1 -0
  67. package/dist/daemon/maintenance-state.test.js +56 -0
  68. package/dist/daemon/maintenance-state.test.js.map +1 -0
  69. package/dist/daemon/qdrant.d.ts +37 -1
  70. package/dist/daemon/qdrant.d.ts.map +1 -1
  71. package/dist/daemon/qdrant.js +107 -12
  72. package/dist/daemon/qdrant.js.map +1 -1
  73. package/dist/daemon/qdrant.test.js +57 -1
  74. package/dist/daemon/qdrant.test.js.map +1 -1
  75. package/dist/daemon/relations-vocab.d.ts +44 -0
  76. package/dist/daemon/relations-vocab.d.ts.map +1 -0
  77. package/dist/daemon/relations-vocab.js +168 -0
  78. package/dist/daemon/relations-vocab.js.map +1 -0
  79. package/dist/daemon/relations-vocab.test.d.ts +2 -0
  80. package/dist/daemon/relations-vocab.test.d.ts.map +1 -0
  81. package/dist/daemon/relations-vocab.test.js +69 -0
  82. package/dist/daemon/relations-vocab.test.js.map +1 -0
  83. package/dist/daemon/relations.d.ts +49 -34
  84. package/dist/daemon/relations.d.ts.map +1 -1
  85. package/dist/daemon/relations.js +249 -153
  86. package/dist/daemon/relations.js.map +1 -1
  87. package/dist/daemon/relations.test.d.ts +2 -0
  88. package/dist/daemon/relations.test.d.ts.map +1 -0
  89. package/dist/daemon/relations.test.js +36 -0
  90. package/dist/daemon/relations.test.js.map +1 -0
  91. package/dist/daemon/session-index.d.ts +1 -8
  92. package/dist/daemon/session-index.d.ts.map +1 -1
  93. package/dist/daemon/session-index.js +8 -10
  94. package/dist/daemon/session-index.js.map +1 -1
  95. package/dist/daemon/session-index.test.js +15 -9
  96. package/dist/daemon/session-index.test.js.map +1 -1
  97. package/dist/daemon/session-summary.d.ts +1 -8
  98. package/dist/daemon/session-summary.d.ts.map +1 -1
  99. package/dist/daemon/session-summary.js +17 -12
  100. package/dist/daemon/session-summary.js.map +1 -1
  101. package/dist/daemon/session-summary.test.js +5 -3
  102. package/dist/daemon/session-summary.test.js.map +1 -1
  103. package/dist/daemon/watcher-health.d.ts +20 -0
  104. package/dist/daemon/watcher-health.d.ts.map +1 -0
  105. package/dist/daemon/watcher-health.js +78 -0
  106. package/dist/daemon/watcher-health.js.map +1 -0
  107. package/dist/daemon/watcher-health.test.d.ts +5 -0
  108. package/dist/daemon/watcher-health.test.d.ts.map +1 -0
  109. package/dist/daemon/watcher-health.test.js +96 -0
  110. package/dist/daemon/watcher-health.test.js.map +1 -0
  111. package/dist/daemon/watcher.test.d.ts +3 -2
  112. package/dist/daemon/watcher.test.d.ts.map +1 -1
  113. package/dist/daemon/watcher.test.js +9 -19
  114. package/dist/daemon/watcher.test.js.map +1 -1
  115. package/dist/daemon/workstream-resolver.d.ts +76 -0
  116. package/dist/daemon/workstream-resolver.d.ts.map +1 -0
  117. package/dist/daemon/workstream-resolver.js +180 -0
  118. package/dist/daemon/workstream-resolver.js.map +1 -0
  119. package/dist/daemon/workstream-resolver.test.d.ts +2 -0
  120. package/dist/daemon/workstream-resolver.test.d.ts.map +1 -0
  121. package/dist/daemon/workstream-resolver.test.js +128 -0
  122. package/dist/daemon/workstream-resolver.test.js.map +1 -0
  123. package/dist/daemon/workstream-summary.d.ts +1 -8
  124. package/dist/daemon/workstream-summary.d.ts.map +1 -1
  125. package/dist/daemon/workstream-summary.js +22 -14
  126. package/dist/daemon/workstream-summary.js.map +1 -1
  127. package/dist/daemon/workstream-summary.test.js +9 -6
  128. package/dist/daemon/workstream-summary.test.js.map +1 -1
  129. package/dist/lib/qdrant-client.d.ts +34 -0
  130. package/dist/lib/qdrant-client.d.ts.map +1 -1
  131. package/dist/lib/qdrant-client.js +54 -0
  132. package/dist/lib/qdrant-client.js.map +1 -1
  133. package/dist/lib/qdrant-client.test.js +49 -1
  134. package/dist/lib/qdrant-client.test.js.map +1 -1
  135. package/dist/llm/inference/index.d.ts +2 -1
  136. package/dist/llm/inference/index.d.ts.map +1 -1
  137. package/dist/llm/inference/index.js +37 -2
  138. package/dist/llm/inference/index.js.map +1 -1
  139. package/dist/llm/inference/index.test.js +44 -3
  140. package/dist/llm/inference/index.test.js.map +1 -1
  141. package/dist/llm/inference/providers/bedrock.d.ts +23 -0
  142. package/dist/llm/inference/providers/bedrock.d.ts.map +1 -1
  143. package/dist/llm/inference/providers/bedrock.js +10 -1
  144. package/dist/llm/inference/providers/bedrock.js.map +1 -1
  145. package/dist/llm/inference/providers/bedrock.test.js +49 -2
  146. package/dist/llm/inference/providers/bedrock.test.js.map +1 -1
  147. package/dist/llm/inference/providers/ollama.d.ts.map +1 -1
  148. package/dist/llm/inference/providers/ollama.js +7 -1
  149. package/dist/llm/inference/providers/ollama.js.map +1 -1
  150. package/dist/llm/inference/providers/openai.d.ts.map +1 -1
  151. package/dist/llm/inference/providers/openai.js +7 -1
  152. package/dist/llm/inference/providers/openai.js.map +1 -1
  153. package/dist/llm/inference/providers/openai.test.js +38 -2
  154. package/dist/llm/inference/providers/openai.test.js.map +1 -1
  155. package/dist/llm/inference/providers/portkey.d.ts.map +1 -1
  156. package/dist/llm/inference/providers/portkey.js +7 -1
  157. package/dist/llm/inference/providers/portkey.js.map +1 -1
  158. package/dist/llm/inference/types.d.ts +15 -0
  159. package/dist/llm/inference/types.d.ts.map +1 -1
  160. package/dist/llm/telemetry.d.ts +8 -1
  161. package/dist/llm/telemetry.d.ts.map +1 -1
  162. package/dist/llm/telemetry.js.map +1 -1
  163. package/dist/mcp/helpers.d.ts.map +1 -1
  164. package/dist/mcp/helpers.js +17 -2
  165. package/dist/mcp/helpers.js.map +1 -1
  166. package/dist/mcp/taxonomy.d.ts +6 -18
  167. package/dist/mcp/taxonomy.d.ts.map +1 -1
  168. package/dist/mcp/taxonomy.js +15 -25
  169. package/dist/mcp/taxonomy.js.map +1 -1
  170. package/dist/mcp/taxonomy.test.js +23 -7
  171. package/dist/mcp/taxonomy.test.js.map +1 -1
  172. package/dist/mcp/tools.d.ts.map +1 -1
  173. package/dist/mcp/tools.js +355 -17
  174. package/dist/mcp/tools.js.map +1 -1
  175. package/dist/mcp/tools.test.js +279 -5
  176. package/dist/mcp/tools.test.js.map +1 -1
  177. package/dist/privacy/redaction.d.ts +21 -0
  178. package/dist/privacy/redaction.d.ts.map +1 -0
  179. package/dist/privacy/redaction.js +83 -0
  180. package/dist/privacy/redaction.js.map +1 -0
  181. package/dist/privacy/redaction.test.d.ts +2 -0
  182. package/dist/privacy/redaction.test.d.ts.map +1 -0
  183. package/dist/privacy/redaction.test.js +51 -0
  184. package/dist/privacy/redaction.test.js.map +1 -0
  185. package/dist/prompts/distill.d.ts.map +1 -1
  186. package/dist/prompts/distill.js +3 -2
  187. package/dist/prompts/distill.js.map +1 -1
  188. package/dist/prompts/entity-typing.d.ts +18 -0
  189. package/dist/prompts/entity-typing.d.ts.map +1 -0
  190. package/dist/prompts/entity-typing.js +60 -0
  191. package/dist/prompts/entity-typing.js.map +1 -0
  192. package/dist/prompts/episode-summary.d.ts.map +1 -1
  193. package/dist/prompts/episode-summary.js +17 -3
  194. package/dist/prompts/episode-summary.js.map +1 -1
  195. package/dist/prompts/extraction.d.ts.map +1 -1
  196. package/dist/prompts/extraction.js +114 -5
  197. package/dist/prompts/extraction.js.map +1 -1
  198. package/dist/prompts/index.d.ts +1 -0
  199. package/dist/prompts/index.d.ts.map +1 -1
  200. package/dist/prompts/index.js +1 -0
  201. package/dist/prompts/index.js.map +1 -1
  202. package/dist/prompts/relations.d.ts.map +1 -1
  203. package/dist/prompts/relations.js +72 -4
  204. package/dist/prompts/relations.js.map +1 -1
  205. package/dist/render.d.ts.map +1 -1
  206. package/dist/render.js +7 -1
  207. package/dist/render.js.map +1 -1
  208. package/dist/render.test.js +3 -2
  209. package/dist/render.test.js.map +1 -1
  210. package/dist/status.d.ts +94 -0
  211. package/dist/status.d.ts.map +1 -0
  212. package/dist/status.js +378 -0
  213. package/dist/status.js.map +1 -0
  214. package/dist/status.test.d.ts +5 -0
  215. package/dist/status.test.d.ts.map +1 -0
  216. package/dist/status.test.js +203 -0
  217. package/dist/status.test.js.map +1 -0
  218. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,10 @@ describe("mcp/tools handlers", () => {
113
113
  "memory_verify",
114
114
  "memory_review",
115
115
  "memory_heartbeat",
116
+ "memory_mark_useful",
117
+ "memory_report_outcome",
118
+ "memory_session_summary",
119
+ "memory_distill",
116
120
  ]) {
117
121
  assert.ok(handlers.has(name), `expected handler '${name}' to be registered`);
118
122
  }
@@ -176,10 +180,10 @@ describe("mcp/tools handlers", () => {
176
180
  it("inserts a new point when no duplicates are found", async () => {
177
181
  on("/points/scroll", () => ({ result: { points: [] } }));
178
182
  on("/points/search", () => ({ result: [] }));
179
- let upsertBody = null;
183
+ const upsertBodies = [];
180
184
  on(/\/points$/, (call) => {
181
- if (call.method === "PUT")
182
- upsertBody = call.body;
185
+ if (call.method === "PUT" && call.body)
186
+ upsertBodies.push(call.body);
183
187
  return { status: "ok" };
184
188
  });
185
189
  const result = await invoke("memory_store", {
@@ -191,8 +195,11 @@ describe("mcp/tools handlers", () => {
191
195
  const parsed = JSON.parse(textOf(result));
192
196
  assert.equal(parsed.action, "inserted");
193
197
  assert.ok(parsed.fact_id, "should return a generated fact_id");
194
- assert.ok(upsertBody, "expected an upsert PUT to /points");
195
- const pt = upsertBody.points[0];
198
+ assert.equal(upsertBodies.length, 1, "expected an upsert PUT to /points");
199
+ const upsertBody = upsertBodies[0];
200
+ const points = upsertBody.points;
201
+ assert.ok(Array.isArray(points), "expected points array");
202
+ const pt = points[0];
196
203
  assert.equal(pt.payload.content, "platform is on AWS");
197
204
  assert.deepEqual(pt.payload.entities, ["platform"]); // lowercased
198
205
  assert.equal(pt.payload.reinforcement_count, 1);
@@ -200,6 +207,35 @@ describe("mcp/tools handlers", () => {
200
207
  assert.ok(pt.payload.content_hash, "content_hash should be set");
201
208
  assert.equal(pt.payload.superseded_by, null);
202
209
  });
210
+ it("redacts secret values before embedding and storage", async () => {
211
+ on("/points/scroll", () => ({ result: { points: [] } }));
212
+ on("/points/search", () => ({ result: [] }));
213
+ const upsertBodies = [];
214
+ on(/\/points$/, (call) => {
215
+ if (call.method === "PUT" && call.body)
216
+ upsertBodies.push(call.body);
217
+ return { status: "ok" };
218
+ });
219
+ const result = await invoke("memory_store", {
220
+ content: "platform deploy uses password=supersecretvalue",
221
+ category: "infrastructure",
222
+ entities: ["platform"],
223
+ });
224
+ const parsed = JSON.parse(textOf(result));
225
+ assert.equal(parsed.action, "inserted");
226
+ const embedCall = callsTo("/v1/embeddings")[0];
227
+ assert.equal(embedCall?.body?.input, "platform deploy uses password=[REDACTED:secret]");
228
+ assert.equal(upsertBodies.length, 1, "expected an upsert PUT to /points");
229
+ const points = upsertBodies[0].points;
230
+ assert.ok(Array.isArray(points), "expected points array");
231
+ const pt = points[0];
232
+ assert.equal(pt.payload.content, "platform deploy uses password=[REDACTED:secret]");
233
+ assert.deepEqual(pt.payload.redaction, {
234
+ redacted: true,
235
+ summary: "secret:1",
236
+ matches: [{ type: "secret", count: 1 }],
237
+ });
238
+ });
203
239
  it("flags potential conflicts when similarity is in the related band with shared entities", async () => {
204
240
  on("/points/scroll", () => ({ result: { points: [] } }));
205
241
  const related = (THRESHOLD_RELATED + THRESHOLD_DUPLICATE) / 2;
@@ -284,6 +320,39 @@ describe("mcp/tools handlers", () => {
284
320
  assert.equal(relPt.payload.relation_type, "owns");
285
321
  assert.deepEqual(relPt.payload.entities, ["saber", "platform"]);
286
322
  });
323
+ it("scopes relation redaction metadata to the relation payload", async () => {
324
+ on("/points/scroll", () => ({ result: { points: [] } }));
325
+ on("/points/search", () => ({ result: [] }));
326
+ const upserts = [];
327
+ on(/\/points$/, (call) => {
328
+ if (call.method === "PUT")
329
+ upserts.push(call.body);
330
+ return { status: "ok" };
331
+ });
332
+ const result = await invoke("memory_store", {
333
+ content: "saber owns platform",
334
+ category: "team",
335
+ entities: ["saber", "platform"],
336
+ relation: { from: "api_key=relationsecret", type: "Owns", to: "Platform" },
337
+ });
338
+ const parsed = JSON.parse(textOf(result));
339
+ assert.equal(parsed.action, "inserted");
340
+ assert.deepEqual(parsed.redaction, {
341
+ redacted: true,
342
+ summary: "secret:1",
343
+ matches: [{ type: "secret", count: 1 }],
344
+ });
345
+ assert.equal(upserts.length, 2);
346
+ const factPt = upserts[0].points[0];
347
+ const relPt = upserts[1].points[0];
348
+ assert.equal(factPt.payload.redaction, undefined);
349
+ assert.equal(relPt.payload.content, "api_key=[REDACTED:secret] Owns Platform");
350
+ assert.deepEqual(relPt.payload.redaction, {
351
+ redacted: true,
352
+ summary: "secret:1",
353
+ matches: [{ type: "secret", count: 1 }],
354
+ });
355
+ });
287
356
  });
288
357
  // ─────────────────────────────────────────────────────────────────────────
289
358
  // memory_recall — filter composition + graph_depth
@@ -468,5 +537,210 @@ describe("mcp/tools handlers", () => {
468
537
  assert.match(text, /^Error: /);
469
538
  });
470
539
  });
540
+ // ─────────────────────────────────────────────────────────────────────────
541
+ // memory_mark_useful
542
+ // ─────────────────────────────────────────────────────────────────────────
543
+ describe("memory_mark_useful", () => {
544
+ it("bumps useful_count and writes a feedback_event telemetry row", async () => {
545
+ const setPayloadCalls = [];
546
+ let upsertedPayload = null;
547
+ on(/\/points$/, (call) => {
548
+ const b = call.body;
549
+ if (call.method === "POST" && b.ids) {
550
+ return { result: [{ id: "fact-1", payload: { content: "x", useful_count: 2 } }] };
551
+ }
552
+ if (call.method === "PUT" && b.points) {
553
+ upsertedPayload = b.points[0].payload;
554
+ return { status: "ok" };
555
+ }
556
+ return { status: "ok" };
557
+ });
558
+ on("/points/payload", (call) => {
559
+ setPayloadCalls.push(call.body);
560
+ return { status: "ok" };
561
+ });
562
+ const result = await invoke("memory_mark_useful", { fact_id: "fact-1", note: "saved a re-debug" });
563
+ const parsed = JSON.parse(textOf(result));
564
+ assert.equal(parsed.status, "marked_useful");
565
+ assert.equal(parsed.fact_id, "fact-1");
566
+ assert.equal(parsed.useful_count, 3);
567
+ assert.ok(parsed.event_id);
568
+ // Counter bump on the original fact.
569
+ const counterBump = setPayloadCalls.find((b) => b.payload.useful_count !== undefined);
570
+ assert.ok(counterBump, "expected a useful_count payload update");
571
+ const bumpPayload = counterBump.payload;
572
+ assert.equal(bumpPayload.useful_count, 3);
573
+ assert.ok(bumpPayload.last_useful_at);
574
+ // Telemetry row written.
575
+ assert.ok(upsertedPayload, "expected a telemetry feedback_event upsert");
576
+ const tp = upsertedPayload;
577
+ assert.equal(tp.kind, "telemetry");
578
+ assert.equal(tp.memory_subtype, "feedback_event");
579
+ assert.equal(tp.target_fact_id, "fact-1");
580
+ assert.equal(tp.feedback_kind, "useful");
581
+ assert.match(String(tp.content), /saved a re-debug/);
582
+ });
583
+ it("returns not_found when the fact does not exist", async () => {
584
+ on(/\/points$/, (call) => {
585
+ const b = call.body;
586
+ if (call.method === "POST" && b.ids)
587
+ return { result: [] };
588
+ return { status: "ok" };
589
+ });
590
+ const result = await invoke("memory_mark_useful", { fact_id: "missing" });
591
+ const parsed = JSON.parse(textOf(result));
592
+ assert.equal(parsed.status, "not_found");
593
+ assert.equal(parsed.fact_id, "missing");
594
+ });
595
+ });
596
+ // ─────────────────────────────────────────────────────────────────────────
597
+ // memory_report_outcome
598
+ // ─────────────────────────────────────────────────────────────────────────
599
+ describe("memory_report_outcome", () => {
600
+ it("writes an outcome_event telemetry row carrying the outcome value", async () => {
601
+ let upsertedPayload = null;
602
+ on(/\/points$/, (call) => {
603
+ const b = call.body;
604
+ if (call.method === "POST" && b.ids) {
605
+ return { result: [{ id: "fact-2", payload: { content: "y" } }] };
606
+ }
607
+ if (call.method === "PUT" && b.points) {
608
+ upsertedPayload = b.points[0].payload;
609
+ return { status: "ok" };
610
+ }
611
+ return { status: "ok" };
612
+ });
613
+ const result = await invoke("memory_report_outcome", {
614
+ fact_id: "fact-2",
615
+ outcome: "misleading",
616
+ notes: "API moved in v2",
617
+ });
618
+ const parsed = JSON.parse(textOf(result));
619
+ assert.equal(parsed.status, "outcome_recorded");
620
+ assert.equal(parsed.outcome, "misleading");
621
+ assert.ok(parsed.event_id);
622
+ assert.ok(upsertedPayload);
623
+ const tp = upsertedPayload;
624
+ assert.equal(tp.kind, "telemetry");
625
+ assert.equal(tp.memory_subtype, "outcome_event");
626
+ assert.equal(tp.target_fact_id, "fact-2");
627
+ assert.equal(tp.outcome, "misleading");
628
+ // Negative outcomes are higher importance.
629
+ assert.equal(tp.importance, 0.6);
630
+ assert.match(String(tp.content), /API moved in v2/);
631
+ });
632
+ it("uses lower importance for non-negative outcomes", async () => {
633
+ let upsertedPayload = null;
634
+ on(/\/points$/, (call) => {
635
+ const b = call.body;
636
+ if (call.method === "POST" && b.ids) {
637
+ return { result: [{ id: "fact-3", payload: { content: "z" } }] };
638
+ }
639
+ if (call.method === "PUT" && b.points) {
640
+ upsertedPayload = b.points[0].payload;
641
+ return { status: "ok" };
642
+ }
643
+ return { status: "ok" };
644
+ });
645
+ await invoke("memory_report_outcome", { fact_id: "fact-3", outcome: "useful" });
646
+ const tp = upsertedPayload;
647
+ assert.equal(tp.outcome, "useful");
648
+ assert.equal(tp.importance, 0.3);
649
+ });
650
+ });
651
+ // ─────────────────────────────────────────────────────────────────────────
652
+ // memory_session_summary
653
+ // ─────────────────────────────────────────────────────────────────────────
654
+ describe("memory_session_summary", () => {
655
+ it("inserts a summary point pinned to kind=summary, memory_subtype=session_index", async () => {
656
+ let upsertedPayload = null;
657
+ on(/\/points$/, (call) => {
658
+ const b = call.body;
659
+ if (call.method === "PUT" && b.points) {
660
+ upsertedPayload = b.points[0].payload;
661
+ return { status: "ok" };
662
+ }
663
+ return { status: "ok" };
664
+ });
665
+ const result = await invoke("memory_session_summary", {
666
+ content: "Built taxonomy slim and added 4 feedback tools.",
667
+ entities: ["Bikky", "Taxonomy"],
668
+ episode_id: "ep-1",
669
+ workstream_key: "ws-bikky",
670
+ repo: "bikky-dev/bikky",
671
+ });
672
+ const parsed = JSON.parse(textOf(result));
673
+ assert.equal(parsed.status, "summary_stored");
674
+ assert.ok(parsed.summary_id);
675
+ assert.ok(upsertedPayload);
676
+ const p = upsertedPayload;
677
+ assert.equal(p.kind, "summary");
678
+ assert.equal(p.memory_subtype, "session_index");
679
+ assert.equal(p.source, "agent");
680
+ assert.equal(p.episode_id, "ep-1");
681
+ assert.equal(p.workstream_key, "ws-bikky");
682
+ assert.equal(p.repo, "bikky-dev/bikky");
683
+ assert.deepEqual(p.entities, ["bikky", "taxonomy"]);
684
+ });
685
+ });
686
+ // ─────────────────────────────────────────────────────────────────────────
687
+ // memory_distill
688
+ // ─────────────────────────────────────────────────────────────────────────
689
+ describe("memory_distill", () => {
690
+ it("inserts a distilled point pinned to kind=distilled, memory_subtype=convention", async () => {
691
+ let upsertedPayload = null;
692
+ on(/\/points$/, (call) => {
693
+ const b = call.body;
694
+ if (call.method === "PUT" && b.points) {
695
+ upsertedPayload = b.points[0].payload;
696
+ return { status: "ok" };
697
+ }
698
+ return { status: "ok" };
699
+ });
700
+ const result = await invoke("memory_distill", {
701
+ content: "Always create the relevant Qdrant payload index before adding a new filter.",
702
+ entities: ["Qdrant", "filter"],
703
+ });
704
+ const parsed = JSON.parse(textOf(result));
705
+ assert.equal(parsed.status, "distilled_stored");
706
+ assert.ok(parsed.distilled_id);
707
+ assert.ok(upsertedPayload);
708
+ const p = upsertedPayload;
709
+ assert.equal(p.kind, "distilled");
710
+ assert.equal(p.memory_subtype, "convention");
711
+ assert.equal(p.source, "agent");
712
+ assert.deepEqual(p.entities, ["qdrant", "filter"]);
713
+ });
714
+ it("supersedes a prior distilled fact when supersedes is provided", async () => {
715
+ const setPayloadCalls = [];
716
+ on(/\/points$/, (call) => {
717
+ const b = call.body;
718
+ if (call.method === "POST" && b.ids) {
719
+ return { result: [{ id: "old-1", payload: { content: "old convention" } }] };
720
+ }
721
+ return { status: "ok" };
722
+ });
723
+ on("/points/payload", (call) => {
724
+ setPayloadCalls.push(call.body);
725
+ return { status: "ok" };
726
+ });
727
+ const result = await invoke("memory_distill", {
728
+ content: "Refined convention.",
729
+ entities: ["x"],
730
+ supersedes: "old-1",
731
+ });
732
+ const parsed = JSON.parse(textOf(result));
733
+ assert.equal(parsed.status, "distilled_stored");
734
+ assert.equal(parsed.supersedes, "old-1");
735
+ const supersedeCall = setPayloadCalls.find((b) => {
736
+ const points = b.points;
737
+ return Array.isArray(points) && points.includes("old-1");
738
+ });
739
+ assert.ok(supersedeCall, "expected a supersede payload update on old-1");
740
+ const sp = supersedeCall.payload;
741
+ assert.equal(sp.superseded_by, parsed.distilled_id);
742
+ assert.ok(sp.superseded_at);
743
+ });
744
+ });
471
745
  });
472
746
  //# sourceMappingURL=tools.test.js.map