@devflow-tools/memory-engine 0.17.8 → 0.18.1

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 (155) hide show
  1. package/LICENSE +21 -0
  2. package/dist/consolidator.d.ts.map +1 -1
  3. package/dist/consolidator.js +2 -0
  4. package/dist/consolidator.js.map +1 -1
  5. package/dist/embedding-model-store.d.ts +1 -4
  6. package/dist/embedding-model-store.d.ts.map +1 -1
  7. package/dist/embedding-model-store.js +3 -75
  8. package/dist/embedding-model-store.js.map +1 -1
  9. package/dist/embedding-provider.d.ts +3 -2
  10. package/dist/embedding-provider.d.ts.map +1 -1
  11. package/dist/embedding-provider.js +151 -43
  12. package/dist/embedding-provider.js.map +1 -1
  13. package/dist/hybrid-search.d.ts +5 -1
  14. package/dist/hybrid-search.d.ts.map +1 -1
  15. package/dist/hybrid-search.js +92 -56
  16. package/dist/hybrid-search.js.map +1 -1
  17. package/dist/index.d.ts +16 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +8 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/lease-store.d.ts.map +1 -1
  22. package/dist/lease-store.js +30 -0
  23. package/dist/lease-store.js.map +1 -1
  24. package/dist/memory-command-service.d.ts +73 -0
  25. package/dist/memory-command-service.d.ts.map +1 -0
  26. package/dist/memory-command-service.js +283 -0
  27. package/dist/memory-command-service.js.map +1 -0
  28. package/dist/memory-engine.d.ts +19 -15
  29. package/dist/memory-engine.d.ts.map +1 -1
  30. package/dist/memory-engine.js +207 -158
  31. package/dist/memory-engine.js.map +1 -1
  32. package/dist/memory-episode-repository.d.ts +77 -0
  33. package/dist/memory-episode-repository.d.ts.map +1 -0
  34. package/dist/memory-episode-repository.js +262 -0
  35. package/dist/memory-episode-repository.js.map +1 -0
  36. package/dist/memory-fact-provider-port.d.ts +83 -0
  37. package/dist/memory-fact-provider-port.d.ts.map +1 -0
  38. package/dist/memory-fact-provider-port.js +22 -0
  39. package/dist/memory-fact-provider-port.js.map +1 -0
  40. package/dist/memory-fact-validator.d.ts +16 -0
  41. package/dist/memory-fact-validator.d.ts.map +1 -0
  42. package/dist/memory-fact-validator.js +52 -0
  43. package/dist/memory-fact-validator.js.map +1 -0
  44. package/dist/memory-gate.d.ts +14 -17
  45. package/dist/memory-gate.d.ts.map +1 -1
  46. package/dist/memory-gate.js +369 -329
  47. package/dist/memory-gate.js.map +1 -1
  48. package/dist/memory-identity-compiler.d.ts +18 -0
  49. package/dist/memory-identity-compiler.d.ts.map +1 -0
  50. package/dist/memory-identity-compiler.js +26 -0
  51. package/dist/memory-identity-compiler.js.map +1 -0
  52. package/dist/memory-index-projector.d.ts +22 -0
  53. package/dist/memory-index-projector.d.ts.map +1 -0
  54. package/dist/memory-index-projector.js +11 -0
  55. package/dist/memory-index-projector.js.map +1 -0
  56. package/dist/memory-lifecycle-reducer.d.ts +21 -0
  57. package/dist/memory-lifecycle-reducer.d.ts.map +1 -0
  58. package/dist/memory-lifecycle-reducer.js +34 -0
  59. package/dist/memory-lifecycle-reducer.js.map +1 -0
  60. package/dist/memory-maintenance.d.ts +1 -4
  61. package/dist/memory-maintenance.d.ts.map +1 -1
  62. package/dist/memory-maintenance.js +3 -20
  63. package/dist/memory-maintenance.js.map +1 -1
  64. package/dist/memory-query-service.d.ts +24 -0
  65. package/dist/memory-query-service.d.ts.map +1 -0
  66. package/dist/memory-query-service.js +180 -0
  67. package/dist/memory-query-service.js.map +1 -0
  68. package/dist/memory-relevance.d.ts +16 -1
  69. package/dist/memory-relevance.d.ts.map +1 -1
  70. package/dist/memory-relevance.js +83 -139
  71. package/dist/memory-relevance.js.map +1 -1
  72. package/dist/memory-store.d.ts +52 -36
  73. package/dist/memory-store.d.ts.map +1 -1
  74. package/dist/memory-store.js +406 -704
  75. package/dist/memory-store.js.map +1 -1
  76. package/dist/semantic-memory-compiler.d.ts +0 -2
  77. package/dist/semantic-memory-compiler.d.ts.map +1 -1
  78. package/dist/semantic-memory-compiler.js +4 -4
  79. package/dist/semantic-memory-compiler.js.map +1 -1
  80. package/dist/session-summarizer.d.ts +3 -0
  81. package/dist/session-summarizer.d.ts.map +1 -1
  82. package/dist/session-summarizer.js.map +1 -1
  83. package/dist/signal-analyzer.d.ts +2 -2
  84. package/dist/signal-analyzer.d.ts.map +1 -1
  85. package/dist/signal-analyzer.js +10 -16
  86. package/dist/signal-analyzer.js.map +1 -1
  87. package/package.json +14 -5
  88. package/dist/lease-store.test.d.ts +0 -2
  89. package/dist/lease-store.test.d.ts.map +0 -1
  90. package/dist/lease-store.test.js +0 -182
  91. package/dist/lease-store.test.js.map +0 -1
  92. package/dist/migrations/v10-to-v11.d.ts +0 -3
  93. package/dist/migrations/v10-to-v11.d.ts.map +0 -1
  94. package/dist/migrations/v10-to-v11.js +0 -21
  95. package/dist/migrations/v10-to-v11.js.map +0 -1
  96. package/dist/migrations/v11-to-v12.d.ts +0 -66
  97. package/dist/migrations/v11-to-v12.d.ts.map +0 -1
  98. package/dist/migrations/v11-to-v12.js +0 -577
  99. package/dist/migrations/v11-to-v12.js.map +0 -1
  100. package/dist/migrations/v12-to-v13.d.ts +0 -3
  101. package/dist/migrations/v12-to-v13.d.ts.map +0 -1
  102. package/dist/migrations/v12-to-v13.js +0 -50
  103. package/dist/migrations/v12-to-v13.js.map +0 -1
  104. package/dist/migrations/v2-to-v3.d.ts +0 -3
  105. package/dist/migrations/v2-to-v3.d.ts.map +0 -1
  106. package/dist/migrations/v2-to-v3.js +0 -122
  107. package/dist/migrations/v2-to-v3.js.map +0 -1
  108. package/dist/migrations/v2-to-v3.test.d.ts +0 -2
  109. package/dist/migrations/v2-to-v3.test.d.ts.map +0 -1
  110. package/dist/migrations/v2-to-v3.test.js +0 -88
  111. package/dist/migrations/v2-to-v3.test.js.map +0 -1
  112. package/dist/migrations/v3-to-v4.d.ts +0 -3
  113. package/dist/migrations/v3-to-v4.d.ts.map +0 -1
  114. package/dist/migrations/v3-to-v4.js +0 -97
  115. package/dist/migrations/v3-to-v4.js.map +0 -1
  116. package/dist/migrations/v4-to-v5.d.ts +0 -3
  117. package/dist/migrations/v4-to-v5.d.ts.map +0 -1
  118. package/dist/migrations/v4-to-v5.js +0 -34
  119. package/dist/migrations/v4-to-v5.js.map +0 -1
  120. package/dist/migrations/v4-to-v5.test.d.ts +0 -2
  121. package/dist/migrations/v4-to-v5.test.d.ts.map +0 -1
  122. package/dist/migrations/v4-to-v5.test.js +0 -32
  123. package/dist/migrations/v4-to-v5.test.js.map +0 -1
  124. package/dist/migrations/v6-to-v7.d.ts +0 -3
  125. package/dist/migrations/v6-to-v7.d.ts.map +0 -1
  126. package/dist/migrations/v6-to-v7.js +0 -18
  127. package/dist/migrations/v6-to-v7.js.map +0 -1
  128. package/dist/migrations/v6-to-v7.test.d.ts +0 -2
  129. package/dist/migrations/v6-to-v7.test.d.ts.map +0 -1
  130. package/dist/migrations/v6-to-v7.test.js +0 -33
  131. package/dist/migrations/v6-to-v7.test.js.map +0 -1
  132. package/dist/migrations/v7-to-v8.d.ts +0 -3
  133. package/dist/migrations/v7-to-v8.d.ts.map +0 -1
  134. package/dist/migrations/v7-to-v8.js +0 -20
  135. package/dist/migrations/v7-to-v8.js.map +0 -1
  136. package/dist/migrations/v8-to-v9.d.ts +0 -3
  137. package/dist/migrations/v8-to-v9.d.ts.map +0 -1
  138. package/dist/migrations/v8-to-v9.js +0 -18
  139. package/dist/migrations/v8-to-v9.js.map +0 -1
  140. package/dist/migrations/v9-to-v10.d.ts +0 -3
  141. package/dist/migrations/v9-to-v10.d.ts.map +0 -1
  142. package/dist/migrations/v9-to-v10.js +0 -45
  143. package/dist/migrations/v9-to-v10.js.map +0 -1
  144. package/dist/migrations/v9-to-v10.test.d.ts +0 -2
  145. package/dist/migrations/v9-to-v10.test.d.ts.map +0 -1
  146. package/dist/migrations/v9-to-v10.test.js +0 -40
  147. package/dist/migrations/v9-to-v10.test.js.map +0 -1
  148. package/dist/preference-conflicts.test.d.ts +0 -2
  149. package/dist/preference-conflicts.test.d.ts.map +0 -1
  150. package/dist/preference-conflicts.test.js +0 -80
  151. package/dist/preference-conflicts.test.js.map +0 -1
  152. package/dist/semantic-memory.test.d.ts +0 -2
  153. package/dist/semantic-memory.test.d.ts.map +0 -1
  154. package/dist/semantic-memory.test.js +0 -61
  155. package/dist/semantic-memory.test.js.map +0 -1
@@ -18,10 +18,10 @@ export class SignalAnalyzer {
18
18
  this.fileTouchWindow = [];
19
19
  }
20
20
  // ── All-in-one detection ──────────────────────────
21
- detect(event, recentEvents, userMessage, semanticFrame) {
21
+ detect(event, recentEvents, userMessage, semanticFacts) {
22
22
  const signals = [];
23
23
  // Cheap — per event
24
- signals.push(...this.detectCheap(event, userMessage, semanticFrame));
24
+ signals.push(...this.detectCheap(event, userMessage, semanticFacts));
25
25
  // Medium — needs recent window
26
26
  signals.push(...this.detectMedium(event, recentEvents));
27
27
  // Expensive — sequence analysis over full window
@@ -29,30 +29,24 @@ export class SignalAnalyzer {
29
29
  return signals;
30
30
  }
31
31
  // ── Cheap Layer (regex, per-event, no DB) ──────────
32
- detectCheap(event, userMessage, semanticFrame) {
32
+ detectCheap(event, userMessage, semanticFacts) {
33
33
  const signals = [];
34
34
  const now = Date.now();
35
35
  // 1. user_explicit_save — "记住"/"save this"/"/memory add"
36
- if (userMessage?.text && semanticFrame?.state === 'resolved') {
37
- const directiveType = semanticFrame.memoryDirective === 'save' ? 'user_explicit_save'
38
- : semanticFrame.memoryDirective === 'forget' ? 'user_explicit_forget'
39
- : semanticFrame.memoryDirective === 'recall' ? 'user_explicit_recall' : null;
40
- const memoryEvidence = semanticFrame.evidence.filter(item => item.field === 'memory');
36
+ if (userMessage?.text && semanticFacts) {
37
+ const directiveType = semanticFacts.memoryDirective === 'save' ? 'user_explicit_save'
38
+ : semanticFacts.memoryDirective === 'forget' ? 'user_explicit_forget'
39
+ : semanticFacts.memoryDirective === 'recall' ? 'user_explicit_recall' : null;
40
+ const memoryEvidence = semanticFacts.evidence.filter(item => item.field === 'memory');
41
41
  if (directiveType && memoryEvidence.length > 0) {
42
42
  signals.push(this.makeSignal(directiveType, 0.95, event, {
43
- frameHash: semanticFrame.frameHash,
43
+ factsHash: semanticFacts.factsHash,
44
44
  evidenceIds: memoryEvidence.map(item => item.textHash),
45
- directive: semanticFrame.memoryDirective,
45
+ directive: semanticFacts.memoryDirective,
46
46
  }));
47
47
  }
48
48
  }
49
49
  if (userMessage?.text) {
50
- const savePattern = /\b(remember|记住|save this|保存|记一下|keep this)\b/i;
51
- if (!semanticFrame && savePattern.test(userMessage.text)) {
52
- signals.push(this.makeSignal('user_explicit_save', 0.95, event, {
53
- message: userMessage.text.slice(0, 200),
54
- }));
55
- }
56
50
  // 2. user_correction — "不对"/"don't"/"错了"/"should not"
57
51
  const correctionPattern = /\b(no\b|不对|don't|wrong|不是这样|错了|不对的|should not|no longer)\b/i;
58
52
  if (correctionPattern.test(userMessage.text)) {
@@ -1 +1 @@
1
- {"version":3,"file":"signal-analyzer.js","sourceRoot":"","sources":["../src/signal-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signal-analyzer.js","sourceRoot":"","sources":["../src/signal-analyzer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/memory-engine",
3
- "version": "0.17.8",
3
+ "version": "0.18.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,10 +17,12 @@
17
17
  "clean": "rm -rf dist"
18
18
  },
19
19
  "dependencies": {
20
- "@devflow-tools/sdk": "0.17.8",
21
- "@devflow-tools/telemetry": "0.17.8",
22
- "@xenova/transformers": "^2.17.0",
20
+ "@devflow-tools/provider-runtime": "0.18.1",
21
+ "@devflow-tools/sdk": "0.18.1",
22
+ "@devflow-tools/telemetry": "0.18.1",
23
+ "@huggingface/tokenizers": "0.1.3",
23
24
  "better-sqlite3": "^12.0.0",
25
+ "onnxruntime-web": "1.27.0",
24
26
  "sqlite-vec": "^0.1.9",
25
27
  "ulidx": "^2.4.1"
26
28
  },
@@ -31,5 +33,12 @@
31
33
  "files": [
32
34
  "dist"
33
35
  ],
34
- "gitHead": "940c6c004c0ebb59abad3da9bc67137fa2d2a666"
36
+ "gitHead": "940c6c004c0ebb59abad3da9bc67137fa2d2a666",
37
+ "description": "Durable episodic and factual memory ingestion and retrieval for DevFlow.",
38
+ "license": "MIT",
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "git+https://github.com/shilongfeicool/dev-flow.git"
42
+ },
43
+ "homepage": "https://github.com/shilongfeicool/dev-flow#readme"
35
44
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=lease-store.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lease-store.test.d.ts","sourceRoot":"","sources":["../src/lease-store.test.ts"],"names":[],"mappings":""}
@@ -1,182 +0,0 @@
1
- import { describe, it, expect, beforeEach } from "vitest";
2
- import Database from "better-sqlite3";
3
- import { applyV2ToV3Migration } from "./migrations/v2-to-v3.js";
4
- import { applyV4ToV5Migration } from "./migrations/v4-to-v5.js";
5
- import { LeaseStore } from "./lease-store.js";
6
- describe("LeaseStore", () => {
7
- let db;
8
- let store;
9
- beforeEach(() => {
10
- db = new Database(":memory:");
11
- db.exec(`CREATE TABLE schema_versions (version INTEGER PRIMARY KEY, applied_at INTEGER)`);
12
- db.prepare(`INSERT INTO schema_versions VALUES (2, ?)`).run(Date.now());
13
- applyV2ToV3Migration(db);
14
- applyV4ToV5Migration(db);
15
- store = new LeaseStore(db);
16
- });
17
- it("createLease returns a ULID and persists", () => {
18
- const id = store.createLease(["e1", "e2"], ["s1"], 600_000);
19
- expect(id).toMatch(/^[0-9A-Z]{26}$/);
20
- const lease = store.getLease(id);
21
- expect(lease?.status).toBe("pending");
22
- expect(lease?.eventIds).toEqual(["e1", "e2"]);
23
- expect(lease?.sessionIds).toEqual(["s1"]);
24
- expect(lease?.eventCount).toBe(2);
25
- });
26
- it("commitLease transitions pending -> committed", () => {
27
- const id = store.createLease(["e1"], ["s1"]);
28
- store.commitLease(id);
29
- expect(store.getLease(id)?.status).toBe("committed");
30
- });
31
- it("requires every page before creating a canonical distill receipt", () => {
32
- const id = store.createLease(["e1", "e2"], ["s1"]);
33
- store.recordPageRead(id, 0, 2);
34
- expect(() => store.assertAllPagesRead(id)).toThrow(/unread pages/);
35
- store.recordPageRead(id, 1, 2);
36
- expect(() => store.assertAllPagesRead(id)).not.toThrow();
37
- expect(store.createReceipt(id, 0, 2)).toMatchObject({
38
- receiptId: `distill-receipt:${id}`,
39
- status: "committed_empty",
40
- observationCount: 0,
41
- eventCount: 2,
42
- });
43
- });
44
- it("commitLease throws when lease missing or already committed", () => {
45
- expect(() => store.commitLease("missing")).toThrow(/not found or already committed/);
46
- const id = store.createLease(["e1"], ["s1"]);
47
- store.commitLease(id);
48
- expect(() => store.commitLease(id)).toThrow();
49
- });
50
- it("commitLease throws when lease is overdue but not swept", () => {
51
- const id = store.createLease(["e1"], ["s1"]);
52
- db.prepare("UPDATE distill_leases SET expires_at = 0 WHERE batch_id = ?").run(id);
53
- expect(() => store.commitLease(id)).toThrow(/expired/);
54
- });
55
- it("expireOverdueLeases moves expired pending -> expired", () => {
56
- const id = store.createLease(["e1"], ["s1"]);
57
- db.prepare("UPDATE distill_leases SET expires_at = 0 WHERE batch_id = ?").run(id);
58
- const n = store.expireOverdueLeases();
59
- expect(n).toBe(1);
60
- expect(store.getLease(id)?.status).toBe("expired");
61
- });
62
- it("getPendingEventIds returns only pending lease event_ids", () => {
63
- const p = store.createLease(["e1", "e2"], ["s1"]);
64
- const c = store.createLease(["e3"], ["s2"]);
65
- store.commitLease(c);
66
- const overdue = store.createLease(["e4"], ["s3"]);
67
- db.prepare("UPDATE distill_leases SET expires_at = 0 WHERE batch_id = ?").run(overdue);
68
- const pending = store.getPendingEventIds();
69
- expect(pending).toEqual(new Set(["e1", "e2"]));
70
- expect(pending.has("e3")).toBe(false);
71
- expect(pending.has("e4")).toBe(false); // overdue pending
72
- });
73
- it("releases pending leases for one session without consuming other sessions", () => {
74
- const first = store.createLease(["event-a"], ["session-a"]);
75
- const second = store.createLease(["event-b"], ["session-b"]);
76
- expect(store.releasePendingLeases("session-a")).toBe(1);
77
- expect(store.getLease(first)?.status).toBe("expired");
78
- expect(store.getLease(second)?.status).toBe("pending");
79
- });
80
- it("createLease rejects empty eventIds", () => {
81
- expect(() => store.createLease([], ["s1"])).toThrow(/nonempty unique array/);
82
- });
83
- it.each([
84
- { label: "blank event ID", eventIds: [" "], sessionIds: ["s1"], ttlMs: 1_000 },
85
- { label: "non-string event ID", eventIds: [123], sessionIds: ["s1"], ttlMs: 1_000 },
86
- { label: "duplicate event IDs", eventIds: ["e1", "e1"], sessionIds: ["s1"], ttlMs: 1_000 },
87
- { label: "blank session ID", eventIds: ["e1"], sessionIds: [" "], ttlMs: 1_000 },
88
- { label: "non-string session ID", eventIds: ["e1"], sessionIds: [123], ttlMs: 1_000 },
89
- { label: "duplicate session IDs", eventIds: ["e1"], sessionIds: ["s1", "s1"], ttlMs: 1_000 },
90
- { label: "zero TTL", eventIds: ["e1"], sessionIds: ["s1"], ttlMs: 0 },
91
- { label: "negative TTL", eventIds: ["e1"], sessionIds: ["s1"], ttlMs: -1 },
92
- { label: "fractional TTL", eventIds: ["e1"], sessionIds: ["s1"], ttlMs: 1.5 },
93
- { label: "non-number TTL", eventIds: ["e1"], sessionIds: ["s1"], ttlMs: "1000" },
94
- {
95
- label: "TTL producing an unsafe expiry",
96
- eventIds: ["e1"],
97
- sessionIds: ["s1"],
98
- ttlMs: Number.MAX_SAFE_INTEGER,
99
- },
100
- ])("rejects $label before persisting a lease", ({ eventIds, sessionIds, ttlMs }) => {
101
- expect(() => store.createLease(eventIds, sessionIds, ttlMs)).toThrow();
102
- expect(db.prepare("SELECT COUNT(*) AS count FROM distill_leases").get())
103
- .toEqual({ count: 0 });
104
- });
105
- it.each([
106
- ["event_ids", "not-json"],
107
- ["event_ids", JSON.stringify(["e1", " "])],
108
- ["event_ids", JSON.stringify(["e1", "e1"])],
109
- ["session_ids", JSON.stringify([""])],
110
- ["session_ids", JSON.stringify(["s1", "s1"])],
111
- ["event_count", 2],
112
- ["created_at", -1],
113
- ["expires_at", 1.5],
114
- ["status", "queued"],
115
- ])("rejects malformed %s with an actionable typed error", (column, value) => {
116
- const id = store.createLease(["e1"], ["s1"]);
117
- if (column === "status")
118
- db.pragma("ignore_check_constraints = ON");
119
- db.prepare(`UPDATE distill_leases SET ${column} = ? WHERE batch_id = ?`).run(value, id);
120
- if (column === "status")
121
- db.pragma("ignore_check_constraints = OFF");
122
- expectMalformedLease(id, () => store.getLease(id));
123
- });
124
- it("fails closed when an active lease row is malformed", () => {
125
- const id = store.createLease(["e1"], ["s1"]);
126
- db.prepare("UPDATE distill_leases SET session_ids = ? WHERE batch_id = ?")
127
- .run(JSON.stringify([" "]), id);
128
- expectMalformedLease(id, () => store.getPendingEventIds());
129
- });
130
- it("validates a malformed pending expiry before auto-expiring the lease", () => {
131
- const id = store.createLease(["e1"], ["s1"]);
132
- db.prepare("UPDATE distill_leases SET expires_at = -1 WHERE batch_id = ?").run(id);
133
- expectMalformedLease(id, () => store.expireOverdueLeases());
134
- expect(db.prepare("SELECT status FROM distill_leases WHERE batch_id = ?").get(id))
135
- .toEqual({ status: "pending" });
136
- });
137
- it("accepts safe bigint integer fields and converts them to numbers", () => {
138
- const id = store.createLease(["e1"], ["s1"]);
139
- db.defaultSafeIntegers(true);
140
- const lease = store.getLease(id);
141
- expect(lease).not.toBeNull();
142
- expect(lease).toMatchObject({ eventCount: 1, status: "pending" });
143
- expect(typeof lease.eventCount).toBe("number");
144
- expect(typeof lease.createdAt).toBe("number");
145
- expect(typeof lease.expiresAt).toBe("number");
146
- });
147
- it.each([
148
- ["event_count", BigInt(Number.MAX_SAFE_INTEGER) + 1n],
149
- ["created_at", BigInt(Number.MAX_SAFE_INTEGER) + 1n],
150
- ["expires_at", BigInt(Number.MAX_SAFE_INTEGER) + 1n],
151
- ["event_count", -1n],
152
- ["created_at", -1n],
153
- ["expires_at", -1n],
154
- ["event_count", 1.5],
155
- ["created_at", 1.5],
156
- ])("rejects unsafe lease integer %s=%s", (column, value) => {
157
- const id = store.createLease(["e1"], ["s1"]);
158
- db.prepare(`UPDATE distill_leases SET ${column} = ? WHERE batch_id = ?`).run(value, id);
159
- expectMalformedLease(id, () => store.getLease(id));
160
- });
161
- it("commit is idempotent within same transaction via check-and-update", () => {
162
- const id = store.createLease(["e1"], ["s1"]);
163
- store.commitLease(id);
164
- expect(() => store.commitLease(id)).toThrow();
165
- });
166
- });
167
- function expectMalformedLease(batchId, read) {
168
- let error;
169
- try {
170
- read();
171
- }
172
- catch (caught) {
173
- error = caught;
174
- }
175
- expect(error).toMatchObject({
176
- name: "MalformedDistillLeaseError",
177
- batchId,
178
- });
179
- expect(error.message).toContain(batchId);
180
- expect(error.message).toMatch(/repair or remove/i);
181
- }
182
- //# sourceMappingURL=lease-store.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lease-store.test.js","sourceRoot":"","sources":["../src/lease-store.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type Database from 'better-sqlite3';
2
- export declare function applyV10ToV11Migration(db: Database.Database): void;
3
- //# sourceMappingURL=v10-to-v11.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v10-to-v11.d.ts","sourceRoot":"","sources":["../../src/migrations/v10-to-v11.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAkBlE"}
@@ -1,21 +0,0 @@
1
- export function applyV10ToV11Migration(db) {
2
- const columns = db.pragma('table_info(retrieval_access_log)');
3
- const add = (name, sql) => {
4
- if (!columns.some(column => column.name === name))
5
- db.exec(sql);
6
- };
7
- add('workflow_run_id', 'ALTER TABLE retrieval_access_log ADD COLUMN workflow_run_id TEXT');
8
- add('context_receipt', 'ALTER TABLE retrieval_access_log ADD COLUMN context_receipt TEXT');
9
- add('tool_evidence', 'ALTER TABLE retrieval_access_log ADD COLUMN tool_evidence TEXT');
10
- add('outcome_reason', 'ALTER TABLE retrieval_access_log ADD COLUMN outcome_reason TEXT');
11
- add('verification_receipt', 'ALTER TABLE retrieval_access_log ADD COLUMN verification_receipt TEXT');
12
- add('idempotency_key', 'ALTER TABLE retrieval_access_log ADD COLUMN idempotency_key TEXT');
13
- db.exec(`
14
- CREATE UNIQUE INDEX IF NOT EXISTS idx_retrieval_access_idempotency
15
- ON retrieval_access_log(idempotency_key) WHERE idempotency_key IS NOT NULL;
16
- CREATE INDEX IF NOT EXISTS idx_retrieval_access_outcome
17
- ON retrieval_access_log(source_type, source_id, access_type, timestamp DESC);
18
- `);
19
- db.prepare('INSERT OR REPLACE INTO schema_versions (version, applied_at) VALUES (11, ?)').run(Date.now());
20
- }
21
- //# sourceMappingURL=v10-to-v11.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v10-to-v11.js","sourceRoot":"","sources":["../../src/migrations/v10-to-v11.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,EAAqB;IAC1D,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,kCAAkC,CAA4B,CAAC;IACzF,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,GAAW,EAAQ,EAAE;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC,CAAC;IACF,GAAG,CAAC,iBAAiB,EAAE,kEAAkE,CAAC,CAAC;IAC3F,GAAG,CAAC,iBAAiB,EAAE,kEAAkE,CAAC,CAAC;IAC3F,GAAG,CAAC,eAAe,EAAE,gEAAgE,CAAC,CAAC;IACvF,GAAG,CAAC,gBAAgB,EAAE,iEAAiE,CAAC,CAAC;IACzF,GAAG,CAAC,sBAAsB,EAAE,uEAAuE,CAAC,CAAC;IACrG,GAAG,CAAC,iBAAiB,EAAE,kEAAkE,CAAC,CAAC;IAC3F,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IACH,EAAE,CAAC,OAAO,CAAC,6EAA6E,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5G,CAAC"}
@@ -1,66 +0,0 @@
1
- import type Database from 'better-sqlite3';
2
- export interface HistoricalMemoryRepairReport {
3
- runId: string;
4
- schemaVersion: 12;
5
- generatedAt: number;
6
- sourceEvents: {
7
- before: number;
8
- after: number;
9
- preserved: boolean;
10
- };
11
- ruleEngineQuarantines: Array<{
12
- id: string;
13
- previousStatus: string;
14
- reason: 'untrusted_rule_engine_approval' | 'false_grep_correction';
15
- }>;
16
- consolidatedMemoriesSanitized: Array<{
17
- id: string;
18
- previousContent: string;
19
- content: string;
20
- previousScope: string;
21
- scope: string;
22
- }>;
23
- duplicateConsolidatedMemoriesMerged: Array<{
24
- winnerId: string;
25
- supersededIds: string[];
26
- semanticKey: string;
27
- facetKey: string;
28
- }>;
29
- explicitSemanticsReenriched: Array<{
30
- id: string;
31
- previousSemanticKey: string | null;
32
- semanticKey: string;
33
- facetKey: string;
34
- }>;
35
- duplicateExplicitMemoriesMerged: Array<{
36
- winnerId: string;
37
- supersededIds: string[];
38
- semanticKey: string;
39
- facetKey: string;
40
- reason: 'duplicate_semantic_memory';
41
- }>;
42
- legacyAdoptionsMarked: Array<{
43
- id: string;
44
- sourceType: string;
45
- sourceId: string;
46
- previousOutcomeReason: string | null;
47
- reason: 'legacy_unknown';
48
- }>;
49
- indexes: {
50
- memoriesFtsRebuilt: boolean;
51
- observationsFtsRebuilt: boolean;
52
- conceptsRebuilt: number;
53
- entitiesRebuilt: number;
54
- vectorsRemoved: number;
55
- observationVectorsSynchronized: number;
56
- vectorBackfillRequired: number;
57
- };
58
- }
59
- export interface HistoricalMemoryRepairOptions {
60
- projectRoot: string;
61
- runId?: string;
62
- generatedAt?: number;
63
- }
64
- export declare function applyV11ToV12Migration(db: Database.Database, projectRoot: string): HistoricalMemoryRepairReport | null;
65
- export declare function repairHistoricalMemoryData(db: Database.Database, options: HistoricalMemoryRepairOptions): HistoricalMemoryRepairReport;
66
- //# sourceMappingURL=v11-to-v12.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v11-to-v12.d.ts","sourceRoot":"","sources":["../../src/migrations/v11-to-v12.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAiD3C,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IACpE,qBAAqB,EAAE,KAAK,CAAC;QAC3B,EAAE,EAAE,MAAM,CAAC;QACX,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,gCAAgC,GAAG,uBAAuB,CAAC;KACpE,CAAC,CAAC;IACH,6BAA6B,EAAE,KAAK,CAAC;QACnC,EAAE,EAAE,MAAM,CAAC;QACX,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,mCAAmC,EAAE,KAAK,CAAC;QACzC,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,2BAA2B,EAAE,KAAK,CAAC;QACjC,EAAE,EAAE,MAAM,CAAC;QACX,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,+BAA+B,EAAE,KAAK,CAAC;QACrC,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,2BAA2B,CAAC;KACrC,CAAC,CAAC;IACH,qBAAqB,EAAE,KAAK,CAAC;QAC3B,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,MAAM,EAAE,gBAAgB,CAAC;KAC1B,CAAC,CAAC;IACH,OAAO,EAAE;QACP,kBAAkB,EAAE,OAAO,CAAC;QAC5B,sBAAsB,EAAE,OAAO,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,8BAA8B,EAAE,MAAM,CAAC;QACvC,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,WAAW,EAAE,MAAM,GAClB,4BAA4B,GAAG,IAAI,CAWrC;AAED,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,6BAA6B,GACrC,4BAA4B,CAoD9B"}