bikky 0.3.5 → 0.3.7

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 (147) hide show
  1. package/README.md +11 -4
  2. package/dist/cli.js +26 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.d.ts +21 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +249 -2
  7. package/dist/config.js.map +1 -1
  8. package/dist/config.test.js +84 -1
  9. package/dist/config.test.js.map +1 -1
  10. package/dist/daemon/consolidation.d.ts +4 -1
  11. package/dist/daemon/consolidation.d.ts.map +1 -1
  12. package/dist/daemon/consolidation.js +18 -4
  13. package/dist/daemon/consolidation.js.map +1 -1
  14. package/dist/daemon/entity-typing.d.ts +33 -11
  15. package/dist/daemon/entity-typing.d.ts.map +1 -1
  16. package/dist/daemon/entity-typing.js +203 -74
  17. package/dist/daemon/entity-typing.js.map +1 -1
  18. package/dist/daemon/entity-typing.test.d.ts +2 -0
  19. package/dist/daemon/entity-typing.test.d.ts.map +1 -0
  20. package/dist/daemon/entity-typing.test.js +50 -0
  21. package/dist/daemon/entity-typing.test.js.map +1 -0
  22. package/dist/daemon/episode-summary.d.ts +1 -8
  23. package/dist/daemon/episode-summary.d.ts.map +1 -1
  24. package/dist/daemon/episode-summary.js +33 -16
  25. package/dist/daemon/episode-summary.js.map +1 -1
  26. package/dist/daemon/episode-summary.test.js +6 -3
  27. package/dist/daemon/episode-summary.test.js.map +1 -1
  28. package/dist/daemon/extraction.d.ts.map +1 -1
  29. package/dist/daemon/extraction.js +14 -5
  30. package/dist/daemon/extraction.js.map +1 -1
  31. package/dist/daemon/loop.d.ts.map +1 -1
  32. package/dist/daemon/loop.js +9 -1
  33. package/dist/daemon/loop.js.map +1 -1
  34. package/dist/daemon/loop.test.d.ts +2 -0
  35. package/dist/daemon/loop.test.d.ts.map +1 -0
  36. package/dist/daemon/loop.test.js +85 -0
  37. package/dist/daemon/loop.test.js.map +1 -0
  38. package/dist/daemon/maintenance-state.d.ts +36 -0
  39. package/dist/daemon/maintenance-state.d.ts.map +1 -0
  40. package/dist/daemon/maintenance-state.js +95 -0
  41. package/dist/daemon/maintenance-state.js.map +1 -0
  42. package/dist/daemon/maintenance-state.test.d.ts +2 -0
  43. package/dist/daemon/maintenance-state.test.d.ts.map +1 -0
  44. package/dist/daemon/maintenance-state.test.js +56 -0
  45. package/dist/daemon/maintenance-state.test.js.map +1 -0
  46. package/dist/daemon/qdrant.d.ts +22 -0
  47. package/dist/daemon/qdrant.d.ts.map +1 -1
  48. package/dist/daemon/qdrant.js +62 -10
  49. package/dist/daemon/qdrant.js.map +1 -1
  50. package/dist/daemon/qdrant.test.js +57 -1
  51. package/dist/daemon/qdrant.test.js.map +1 -1
  52. package/dist/daemon/relations.d.ts +47 -34
  53. package/dist/daemon/relations.d.ts.map +1 -1
  54. package/dist/daemon/relations.js +241 -155
  55. package/dist/daemon/relations.js.map +1 -1
  56. package/dist/daemon/relations.test.d.ts +2 -0
  57. package/dist/daemon/relations.test.d.ts.map +1 -0
  58. package/dist/daemon/relations.test.js +36 -0
  59. package/dist/daemon/relations.test.js.map +1 -0
  60. package/dist/daemon/session-index.d.ts +1 -8
  61. package/dist/daemon/session-index.d.ts.map +1 -1
  62. package/dist/daemon/session-index.js +8 -10
  63. package/dist/daemon/session-index.js.map +1 -1
  64. package/dist/daemon/session-index.test.js +14 -8
  65. package/dist/daemon/session-index.test.js.map +1 -1
  66. package/dist/daemon/session-summary.d.ts +1 -8
  67. package/dist/daemon/session-summary.d.ts.map +1 -1
  68. package/dist/daemon/session-summary.js +17 -12
  69. package/dist/daemon/session-summary.js.map +1 -1
  70. package/dist/daemon/session-summary.test.js +5 -3
  71. package/dist/daemon/session-summary.test.js.map +1 -1
  72. package/dist/daemon/watcher-health.d.ts +7 -0
  73. package/dist/daemon/watcher-health.d.ts.map +1 -1
  74. package/dist/daemon/watcher-health.js +24 -0
  75. package/dist/daemon/watcher-health.js.map +1 -1
  76. package/dist/daemon/watcher-health.test.js +24 -1
  77. package/dist/daemon/watcher-health.test.js.map +1 -1
  78. package/dist/daemon/workstream-summary.d.ts +1 -8
  79. package/dist/daemon/workstream-summary.d.ts.map +1 -1
  80. package/dist/daemon/workstream-summary.js +22 -14
  81. package/dist/daemon/workstream-summary.js.map +1 -1
  82. package/dist/daemon/workstream-summary.test.js +6 -3
  83. package/dist/daemon/workstream-summary.test.js.map +1 -1
  84. package/dist/lib/qdrant-client.d.ts +34 -0
  85. package/dist/lib/qdrant-client.d.ts.map +1 -1
  86. package/dist/lib/qdrant-client.js +54 -0
  87. package/dist/lib/qdrant-client.js.map +1 -1
  88. package/dist/lib/qdrant-client.test.js +49 -1
  89. package/dist/lib/qdrant-client.test.js.map +1 -1
  90. package/dist/llm/inference/index.d.ts +2 -1
  91. package/dist/llm/inference/index.d.ts.map +1 -1
  92. package/dist/llm/inference/index.js +37 -2
  93. package/dist/llm/inference/index.js.map +1 -1
  94. package/dist/llm/inference/index.test.js +44 -3
  95. package/dist/llm/inference/index.test.js.map +1 -1
  96. package/dist/llm/inference/providers/bedrock.d.ts +23 -0
  97. package/dist/llm/inference/providers/bedrock.d.ts.map +1 -1
  98. package/dist/llm/inference/providers/bedrock.js +10 -1
  99. package/dist/llm/inference/providers/bedrock.js.map +1 -1
  100. package/dist/llm/inference/providers/bedrock.test.js +49 -2
  101. package/dist/llm/inference/providers/bedrock.test.js.map +1 -1
  102. package/dist/llm/inference/providers/ollama.d.ts.map +1 -1
  103. package/dist/llm/inference/providers/ollama.js +7 -1
  104. package/dist/llm/inference/providers/ollama.js.map +1 -1
  105. package/dist/llm/inference/providers/openai.d.ts.map +1 -1
  106. package/dist/llm/inference/providers/openai.js +7 -1
  107. package/dist/llm/inference/providers/openai.js.map +1 -1
  108. package/dist/llm/inference/providers/openai.test.js +38 -2
  109. package/dist/llm/inference/providers/openai.test.js.map +1 -1
  110. package/dist/llm/inference/providers/portkey.d.ts.map +1 -1
  111. package/dist/llm/inference/providers/portkey.js +7 -1
  112. package/dist/llm/inference/providers/portkey.js.map +1 -1
  113. package/dist/llm/inference/types.d.ts +15 -0
  114. package/dist/llm/inference/types.d.ts.map +1 -1
  115. package/dist/llm/telemetry.d.ts +8 -1
  116. package/dist/llm/telemetry.d.ts.map +1 -1
  117. package/dist/llm/telemetry.js.map +1 -1
  118. package/dist/mcp/taxonomy.d.ts.map +1 -1
  119. package/dist/mcp/taxonomy.js +10 -0
  120. package/dist/mcp/taxonomy.js.map +1 -1
  121. package/dist/mcp/taxonomy.test.js +13 -2
  122. package/dist/mcp/taxonomy.test.js.map +1 -1
  123. package/dist/mcp/tools.d.ts.map +1 -1
  124. package/dist/mcp/tools.js +33 -26
  125. package/dist/mcp/tools.js.map +1 -1
  126. package/dist/mcp/tools.test.js +70 -5
  127. package/dist/mcp/tools.test.js.map +1 -1
  128. package/dist/privacy/redaction.d.ts +21 -0
  129. package/dist/privacy/redaction.d.ts.map +1 -0
  130. package/dist/privacy/redaction.js +83 -0
  131. package/dist/privacy/redaction.js.map +1 -0
  132. package/dist/privacy/redaction.test.d.ts +2 -0
  133. package/dist/privacy/redaction.test.d.ts.map +1 -0
  134. package/dist/privacy/redaction.test.js +51 -0
  135. package/dist/privacy/redaction.test.js.map +1 -0
  136. package/dist/prompts/relations.d.ts.map +1 -1
  137. package/dist/prompts/relations.js +60 -14
  138. package/dist/prompts/relations.js.map +1 -1
  139. package/dist/status.d.ts +94 -0
  140. package/dist/status.d.ts.map +1 -0
  141. package/dist/status.js +378 -0
  142. package/dist/status.js.map +1 -0
  143. package/dist/status.test.d.ts +5 -0
  144. package/dist/status.test.d.ts.map +1 -0
  145. package/dist/status.test.js +203 -0
  146. package/dist/status.test.js.map +1 -0
  147. package/package.json +1 -1
@@ -180,10 +180,10 @@ describe("mcp/tools handlers", () => {
180
180
  it("inserts a new point when no duplicates are found", async () => {
181
181
  on("/points/scroll", () => ({ result: { points: [] } }));
182
182
  on("/points/search", () => ({ result: [] }));
183
- let upsertBody = null;
183
+ const upsertBodies = [];
184
184
  on(/\/points$/, (call) => {
185
- if (call.method === "PUT")
186
- upsertBody = call.body;
185
+ if (call.method === "PUT" && call.body)
186
+ upsertBodies.push(call.body);
187
187
  return { status: "ok" };
188
188
  });
189
189
  const result = await invoke("memory_store", {
@@ -195,8 +195,11 @@ describe("mcp/tools handlers", () => {
195
195
  const parsed = JSON.parse(textOf(result));
196
196
  assert.equal(parsed.action, "inserted");
197
197
  assert.ok(parsed.fact_id, "should return a generated fact_id");
198
- assert.ok(upsertBody, "expected an upsert PUT to /points");
199
- 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];
200
203
  assert.equal(pt.payload.content, "platform is on AWS");
201
204
  assert.deepEqual(pt.payload.entities, ["platform"]); // lowercased
202
205
  assert.equal(pt.payload.reinforcement_count, 1);
@@ -204,6 +207,35 @@ describe("mcp/tools handlers", () => {
204
207
  assert.ok(pt.payload.content_hash, "content_hash should be set");
205
208
  assert.equal(pt.payload.superseded_by, null);
206
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
+ });
207
239
  it("flags potential conflicts when similarity is in the related band with shared entities", async () => {
208
240
  on("/points/scroll", () => ({ result: { points: [] } }));
209
241
  const related = (THRESHOLD_RELATED + THRESHOLD_DUPLICATE) / 2;
@@ -288,6 +320,39 @@ describe("mcp/tools handlers", () => {
288
320
  assert.equal(relPt.payload.relation_type, "owns");
289
321
  assert.deepEqual(relPt.payload.entities, ["saber", "platform"]);
290
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
+ });
291
356
  });
292
357
  // ─────────────────────────────────────────────────────────────────────────
293
358
  // memory_recall — filter composition + graph_depth
@@ -1 +1 @@
1
- {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/mcp/tools.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/mcp/tools.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export interface RedactionMatch {
2
+ type: string;
3
+ count: number;
4
+ }
5
+ export interface RedactionSummary {
6
+ redacted: boolean;
7
+ summary: string;
8
+ matches: RedactionMatch[];
9
+ }
10
+ export interface RedactionResult extends RedactionSummary {
11
+ text: string;
12
+ }
13
+ export interface RedactionOptions {
14
+ enabled?: boolean;
15
+ redactPii?: boolean;
16
+ }
17
+ export declare const noRedaction: () => RedactionSummary;
18
+ export declare const redactStorageText: (text: string, options?: RedactionOptions) => RedactionResult;
19
+ export declare const combineRedactions: (items: Array<RedactionSummary | RedactionResult | null | undefined>) => RedactionSummary;
20
+ export declare const addRedactionPayload: (payload: Record<string, unknown>, summary: RedactionSummary) => void;
21
+ //# sourceMappingURL=redaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../src/privacy/redaction.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAsCD,eAAO,MAAM,WAAW,QAAO,gBAI7B,CAAC;AAgBH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,UAAS,gBAAqB,KAC7B,eAmBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,KAAK,CAAC,gBAAgB,GAAG,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC,KAClE,gBAWF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,gBAAgB,KACxB,IAQF,CAAC"}
@@ -0,0 +1,83 @@
1
+ const SECRET_PLACEHOLDER = "[REDACTED:secret]";
2
+ const secretPatterns = [
3
+ {
4
+ type: "secret",
5
+ pattern: /\b((?:password|passwd|pwd|api[_-]?key|token|access[_-]?token|refresh[_-]?token|secret|client[_-]?secret|private[_-]?key)\s*[:=]\s*)(?:"[^"\s,;]+"|'[^'\s,;]+'|[^\s,;]+)/gi,
6
+ replace: (_match, prefix) => `${prefix}${SECRET_PLACEHOLDER}`,
7
+ },
8
+ {
9
+ type: "secret",
10
+ pattern: /\b(Bearer\s+)[A-Za-z0-9._~+/=-]{12,}/gi,
11
+ replace: (_match, prefix) => `${prefix}${SECRET_PLACEHOLDER}`,
12
+ },
13
+ {
14
+ type: "secret",
15
+ pattern: /\b(?:github_pat_[A-Za-z0-9_]{20,}|gh[opsur]_[A-Za-z0-9_]{20,})\b/g,
16
+ replace: () => SECRET_PLACEHOLDER,
17
+ },
18
+ {
19
+ type: "secret",
20
+ pattern: /\bsk-[A-Za-z0-9_-]{20,}\b/g,
21
+ replace: () => SECRET_PLACEHOLDER,
22
+ },
23
+ {
24
+ type: "secret",
25
+ pattern: /\b(?:AKIA|ASIA)[0-9A-Z]{16}\b/g,
26
+ replace: () => SECRET_PLACEHOLDER,
27
+ },
28
+ ];
29
+ export const noRedaction = () => ({
30
+ redacted: false,
31
+ summary: "none",
32
+ matches: [],
33
+ });
34
+ const summarizeMatches = (counts) => {
35
+ const matches = [...counts.entries()]
36
+ .filter(([, count]) => count > 0)
37
+ .map(([type, count]) => ({ type, count }));
38
+ if (matches.length === 0)
39
+ return noRedaction();
40
+ return {
41
+ redacted: true,
42
+ summary: matches.map((match) => `${match.type}:${match.count}`).join(","),
43
+ matches,
44
+ };
45
+ };
46
+ export const redactStorageText = (text, options = {}) => {
47
+ if (options.enabled === false) {
48
+ return { text, ...noRedaction() };
49
+ }
50
+ let redactedText = text;
51
+ const counts = new Map();
52
+ for (const { type, pattern, replace } of secretPatterns) {
53
+ redactedText = redactedText.replace(pattern, (match, ...groups) => {
54
+ counts.set(type, (counts.get(type) ?? 0) + 1);
55
+ return replace(match, ...groups);
56
+ });
57
+ }
58
+ return {
59
+ text: redactedText,
60
+ ...summarizeMatches(counts),
61
+ };
62
+ };
63
+ export const combineRedactions = (items) => {
64
+ const counts = new Map();
65
+ for (const item of items) {
66
+ if (!item?.redacted)
67
+ continue;
68
+ for (const match of item.matches) {
69
+ counts.set(match.type, (counts.get(match.type) ?? 0) + match.count);
70
+ }
71
+ }
72
+ return summarizeMatches(counts);
73
+ };
74
+ export const addRedactionPayload = (payload, summary) => {
75
+ if (summary.redacted) {
76
+ payload["redaction"] = {
77
+ redacted: summary.redacted,
78
+ summary: summary.summary,
79
+ matches: summary.matches,
80
+ };
81
+ }
82
+ };
83
+ //# sourceMappingURL=redaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.js","sourceRoot":"","sources":["../../src/privacy/redaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=redaction.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.test.d.ts","sourceRoot":"","sources":["../../src/privacy/redaction.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { describe, it } from "node:test";
2
+ import assert from "node:assert/strict";
3
+ import { addRedactionPayload, combineRedactions, redactStorageText, } from "./redaction.js";
4
+ describe("privacy/redaction", () => {
5
+ it("redacts assignment-style secrets", () => {
6
+ const result = redactStorageText("Configured service with password=supersecretvalue and api_key: sk-testsecretvalue123456789.");
7
+ assert.equal(result.text, "Configured service with password=[REDACTED:secret] and api_key: [REDACTED:secret]");
8
+ assert.equal(result.redacted, true);
9
+ assert.equal(result.summary, "secret:2");
10
+ assert.deepEqual(result.matches, [{ type: "secret", count: 2 }]);
11
+ });
12
+ it("redacts bearer and common token prefixes", () => {
13
+ const result = redactStorageText("Use Bearer abcdefghijklmnop and ghp_abcdefghijklmnopqrstuvwxyz1234567890");
14
+ assert.equal(result.text, "Use Bearer [REDACTED:secret] and [REDACTED:secret]");
15
+ assert.deepEqual(result.matches, [{ type: "secret", count: 2 }]);
16
+ });
17
+ it("leaves non-secret text unchanged", () => {
18
+ const result = redactStorageText("Bikky stores memory in Qdrant.");
19
+ assert.equal(result.text, "Bikky stores memory in Qdrant.");
20
+ assert.equal(result.redacted, false);
21
+ assert.equal(result.summary, "none");
22
+ assert.deepEqual(result.matches, []);
23
+ });
24
+ it("can be explicitly disabled", () => {
25
+ const result = redactStorageText("password=supersecretvalue", { enabled: false });
26
+ assert.equal(result.text, "password=supersecretvalue");
27
+ assert.equal(result.redacted, false);
28
+ });
29
+ it("combines redaction summaries", () => {
30
+ const first = redactStorageText("password=one");
31
+ const second = redactStorageText("token=two");
32
+ assert.deepEqual(combineRedactions([first, second]), {
33
+ redacted: true,
34
+ summary: "secret:2",
35
+ matches: [{ type: "secret", count: 2 }],
36
+ });
37
+ });
38
+ it("adds payload metadata only when redacted", () => {
39
+ const payload = {};
40
+ addRedactionPayload(payload, redactStorageText("password=one"));
41
+ assert.deepEqual(payload.redaction, {
42
+ redacted: true,
43
+ summary: "secret:1",
44
+ matches: [{ type: "secret", count: 1 }],
45
+ });
46
+ const cleanPayload = {};
47
+ addRedactionPayload(cleanPayload, redactStorageText("no secrets here"));
48
+ assert.equal(cleanPayload.redaction, undefined);
49
+ });
50
+ });
51
+ //# sourceMappingURL=redaction.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.test.js","sourceRoot":"","sources":["../../src/privacy/redaction.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/prompts/relations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG7F,eAAO,MAAM,2BAA2B,EAAE,gBAGzC,CAAC;AAqEF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,cAAc,KAAG,cAiBvD,CAAC"}
1
+ {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/prompts/relations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG7F,eAAO,MAAM,2BAA2B,EAAE,gBAGzC,CAAC;AAmHF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,cAAc,KAAG,cAiBvD,CAAC"}
@@ -7,7 +7,7 @@ import { buildOpts, wrapData } from "./index.js";
7
7
  import { canonicalTypesForPrompt } from "../daemon/relations-vocab.js";
8
8
  export const RELATIONS_PROMPT_DESCRIPTOR = {
9
9
  id: "relations",
10
- version: "2026-04-27-1",
10
+ version: "2026-04-27-2",
11
11
  };
12
12
  const SYSTEM = `<role>
13
13
  You infer ONE directed relationship between two named entities, based on facts that mention both.
@@ -35,18 +35,54 @@ ${canonicalTypesForPrompt()}
35
35
  </vocabulary>
36
36
 
37
37
  <reasoning-steps>
38
- Walk these steps before emitting JSON:
39
- 1. Read each shared fact. Identify the verb that links the two entities.
40
- 2. Decide direction: which entity is the SUBJECT (does the action / owns the dependency)?
41
- If the facts are symmetric ("X and Y both ..."), there is NO directed relation → return type:null.
42
- 3. Map the verb to a canonical type from <vocabulary>. Examples:
43
- "calls" / "invokes" / "triggers" → calls
44
- "uses" / "needs" / "relies on" → depends-on
45
- "manages" / "is responsible for" → owns
46
- "writes to" / "persists in" stores-in
38
+ Walk these steps IN ORDER before emitting JSON — do not skip any.
39
+
40
+ 1. Read each shared fact. Identify the verb/phrase that links the two entities.
41
+
42
+ 2. EPHEMERAL-EVENT GATE — does the verb describe a one-time past action
43
+ (deployed, reverted, migrated, restarted, upgraded, rolled back, fixed, patched)?
44
+ If YES → return {"type": null, "reason": "ephemeral event, not a durable relation"}.
45
+ Also: do the two entities merely participate in the SAME event independently?
46
+ If YES → return {"type": null, "reason": "independent events, not a relation"}.
47
+
48
+ 3. DIRECTIONALITY — which entity is the SUBJECT (performs the action / owns the dependency)?
49
+ If the facts are symmetric ("X and Y both …"), there is NO directed relation → return type:null.
50
+
51
+ 4. TYPE MAPPING — map the verb to a canonical type from <vocabulary>. Examples:
52
+ "calls" / "invokes" / "triggers" → calls
53
+ "uses" / "needs" / "relies on" → depends-on
54
+ "manages" / "is responsible for" → owns
55
+ "writes to" / "persists in" → stores-in
47
56
  If no canonical fits, write your own kebab-case verb (1-3 words).
48
- 4. Pick the verbatim quote that anchors the relation — it MUST appear inside <facts>.
49
- 5. Set confidence: 0.9 if the quote names both entities + the verb; 0.7 if implied; 0.5 if weak.
57
+
58
+ 5. EVIDENCE pick the verbatim quote that anchors the relation. It MUST appear inside <facts>.
59
+
60
+ 6. SELF-JUDGMENT — score the candidate relation on three axes (think step-by-step BEFORE setting these):
61
+
62
+ AXIS 1 — evidence_strength (0.0–1.0)
63
+ Question: Does the evidence explicitly name BOTH entities AND the linking verb?
64
+ - 1.0 — quote contains both entity names + an explicit verb matching the type
65
+ - 0.7 — one entity or the verb is implied but clearly resolvable in context
66
+ - 0.4 — the link is inferred; neither entity is named directly in the quote
67
+ - 0.0 — no evidence at all (should have returned type:null in step 5)
68
+
69
+ AXIS 2 — durability (one of: structural | configuration | transient | ephemeral)
70
+ Question: How long will this relation remain TRUE?
71
+ - structural — architecture, ownership, dependency graph (years)
72
+ - configuration — feature flags, settings, integrations that change with releases (months)
73
+ - transient — currently deployed version, active incident response links (days–weeks)
74
+ - ephemeral — one-time events: deploy, revert, migration, rollback (should NOT reach this step — step 2 should have caught it)
75
+ If durability is "transient" or "ephemeral" → return {"type": null, "reason": "relation is not durable enough to store"}.
76
+
77
+ AXIS 3 — directionality_clarity (clear | ambiguous)
78
+ Question: Is the from→to direction unambiguously supported by the evidence?
79
+ - clear — the evidence makes the subject→object direction obvious
80
+ - ambiguous — reasonable people could read the direction either way
81
+ If "ambiguous" → return {"type": null, "reason": "direction of relation is ambiguous"}.
82
+
83
+ 7. CONFIDENCE — derive from self-judgment:
84
+ confidence = evidence_strength × (durability == "structural" ? 1.0 : 0.85)
85
+ Round to 1 decimal place.
50
86
  </reasoning-steps>
51
87
 
52
88
  <rules>
@@ -54,21 +90,31 @@ Walk these steps before emitting JSON:
54
90
  - Co-occurrence alone is NOT a relation. The shared facts must describe an action, dependency, ownership, or composition link.
55
91
  - Pick directionality based on what the facts say, not alphabetical order.
56
92
  - Symmetric facts ("X and Y both run on Z") do NOT define a directed relation between X and Y.
93
+ - EPHEMERAL EVENTS are NOT relations. If the facts describe a one-time past action (deployed, reverted, migrated, rolled back, upgraded, restarted, fixed), return {"type": null, "reason": "ephemeral event, not a durable relation"}. Relations must describe ONGOING structural links — things that are true right now and will remain true.
94
+ - If the two entities merely participated in the SAME event independently (e.g. "X reverted to rev 33" and "Y reverted to rev 26"), there is NO relation between X and Y — return {"type": null, "reason": "independent events, not a relation"}.
57
95
  </rules>
58
96
 
59
97
  <examples>
60
98
  Entities: "tg-bot", "bedrock"
61
99
  Facts: "tg-bot calls Bedrock via Portkey for LLM inference"
62
- → {"from":"tg-bot","type":"calls","to":"bedrock","evidence":"tg-bot calls Bedrock via Portkey","reasoning":"verb 'calls' links subject tg-bot to object bedrock; canonical match 'calls'.","content":"tg-bot calls bedrock because it invokes Bedrock via Portkey for LLM inference","confidence":0.9}
100
+ → {"from":"tg-bot","type":"calls","to":"bedrock","evidence":"tg-bot calls Bedrock via Portkey","reasoning":"verb 'calls' links subject tg-bot to object bedrock; canonical match 'calls'.","judgment":{"evidence_strength":0.9,"durability":"structural","directionality_clarity":"clear"},"confidence":0.9,"content":"tg-bot calls bedrock because it invokes Bedrock via Portkey for LLM inference"}
63
101
 
64
102
  Entities: "lloyds", "cba"
65
103
  Facts: "lloyds and cba are both production clusters in eu-west-2 and ap-southeast-2 respectively"
66
104
  → {"type":null,"reason":"facts describe peer cluster setup; no directed relation"}
105
+
106
+ Entities: "cba", "lloyds"
107
+ Facts: "CBA reverted from revision 27 to 26" / "Lloyds reverted from revision 34 to 33"
108
+ → {"type":null,"reason":"independent ephemeral events; no durable relation between the two entities"}
109
+
110
+ Entities: "bikky", "qdrant"
111
+ Facts: "bikky stores all memory vectors in Qdrant Cloud" / "bikky daemon reads from and writes to the qdrant collection"
112
+ → {"from":"bikky","type":"stores-in","to":"qdrant","evidence":"bikky stores all memory vectors in Qdrant Cloud","reasoning":"'stores … in' maps to stores-in; bikky is subject, qdrant is target datastore.","judgment":{"evidence_strength":1.0,"durability":"structural","directionality_clarity":"clear"},"confidence":1.0,"content":"bikky stores-in qdrant because it persists all memory vectors in Qdrant Cloud"}
67
113
  </examples>
68
114
 
69
115
  <format>
70
116
  Output ONLY a JSON object — no prose, no fences. Use one of these shapes:
71
- {"from":"<entity>","type":"<canonical-or-kebab-verb>","to":"<entity>","evidence":"<verbatim quote>","reasoning":"<one short sentence>","confidence":0.0-1.0,"content":"<full sentence>"}
117
+ {"from":"<entity>","type":"<canonical-or-kebab-verb>","to":"<entity>","evidence":"<verbatim quote>","reasoning":"<one short sentence>","judgment":{"evidence_strength":0.0-1.0,"durability":"structural|configuration|transient|ephemeral","directionality_clarity":"clear|ambiguous"},"confidence":0.0-1.0,"content":"<full sentence>"}
72
118
  {"type":null,"reason":"<short explanation>"}
73
119
  </format>
74
120
 
@@ -1 +1 @@
1
- {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/prompts/relations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAA8C,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,MAAM,2BAA2B,GAAqB;IAC3D,EAAE,EAAE,WAAW;IACf,OAAO,EAAE,cAAc;CACxB,CAAC;AAEF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;EAsBb,uBAAuB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2CT,CAAC;AAQnB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAqB,EAAkB,EAAE;IACvE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACvD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,IAAI,GAAG;QACX,QAAQ,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,OAAO,GAAG,CAAC;QAClE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;KAC9B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,OAAO,SAAS,CAAC,2BAA2B,EAAE;QAC5C,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,GAAG;QACf,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;KACzC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/prompts/relations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAA8C,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,MAAM,2BAA2B,GAAqB;IAC3D,EAAE,EAAE,WAAW;IACf,OAAO,EAAE,cAAc;CACxB,CAAC;AAEF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;EAsBb,uBAAuB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAyFT,CAAC;AAQnB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAqB,EAAkB,EAAE;IACvE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACvD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,IAAI,GAAG;QACX,QAAQ,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,OAAO,GAAG,CAAC;QAClE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;KAC9B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,OAAO,SAAS,CAAC,2BAA2B,EAAE;QAC5C,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,GAAG;QACf,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;KACzC,CAAC,CAAC;AACL,CAAC,CAAC"}