@devflow-tools/memory-engine 0.17.7 → 0.18.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.
- package/LICENSE +21 -0
- package/README.md +10 -2
- package/dist/consolidator.d.ts.map +1 -1
- package/dist/consolidator.js +2 -0
- package/dist/consolidator.js.map +1 -1
- package/dist/durable-memory-text.js +1 -1
- package/dist/durable-memory-text.js.map +1 -1
- package/dist/embedding-model-store.d.ts +1 -4
- package/dist/embedding-model-store.d.ts.map +1 -1
- package/dist/embedding-model-store.js +3 -74
- package/dist/embedding-model-store.js.map +1 -1
- package/dist/embedding-provider.d.ts +3 -2
- package/dist/embedding-provider.d.ts.map +1 -1
- package/dist/embedding-provider.js +151 -43
- package/dist/embedding-provider.js.map +1 -1
- package/dist/hybrid-search.d.ts +5 -1
- package/dist/hybrid-search.d.ts.map +1 -1
- package/dist/hybrid-search.js +92 -56
- package/dist/hybrid-search.js.map +1 -1
- package/dist/index.d.ts +16 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/lease-store.d.ts.map +1 -1
- package/dist/lease-store.js +30 -0
- package/dist/lease-store.js.map +1 -1
- package/dist/memory-command-service.d.ts +73 -0
- package/dist/memory-command-service.d.ts.map +1 -0
- package/dist/memory-command-service.js +283 -0
- package/dist/memory-command-service.js.map +1 -0
- package/dist/memory-engine.d.ts +19 -15
- package/dist/memory-engine.d.ts.map +1 -1
- package/dist/memory-engine.js +207 -158
- package/dist/memory-engine.js.map +1 -1
- package/dist/memory-episode-repository.d.ts +77 -0
- package/dist/memory-episode-repository.d.ts.map +1 -0
- package/dist/memory-episode-repository.js +262 -0
- package/dist/memory-episode-repository.js.map +1 -0
- package/dist/memory-fact-provider-port.d.ts +83 -0
- package/dist/memory-fact-provider-port.d.ts.map +1 -0
- package/dist/memory-fact-provider-port.js +22 -0
- package/dist/memory-fact-provider-port.js.map +1 -0
- package/dist/memory-fact-validator.d.ts +16 -0
- package/dist/memory-fact-validator.d.ts.map +1 -0
- package/dist/memory-fact-validator.js +52 -0
- package/dist/memory-fact-validator.js.map +1 -0
- package/dist/memory-gate.d.ts +14 -17
- package/dist/memory-gate.d.ts.map +1 -1
- package/dist/memory-gate.js +377 -320
- package/dist/memory-gate.js.map +1 -1
- package/dist/memory-identity-compiler.d.ts +18 -0
- package/dist/memory-identity-compiler.d.ts.map +1 -0
- package/dist/memory-identity-compiler.js +26 -0
- package/dist/memory-identity-compiler.js.map +1 -0
- package/dist/memory-index-projector.d.ts +22 -0
- package/dist/memory-index-projector.d.ts.map +1 -0
- package/dist/memory-index-projector.js +11 -0
- package/dist/memory-index-projector.js.map +1 -0
- package/dist/memory-lifecycle-reducer.d.ts +21 -0
- package/dist/memory-lifecycle-reducer.d.ts.map +1 -0
- package/dist/memory-lifecycle-reducer.js +34 -0
- package/dist/memory-lifecycle-reducer.js.map +1 -0
- package/dist/memory-maintenance.d.ts +1 -4
- package/dist/memory-maintenance.d.ts.map +1 -1
- package/dist/memory-maintenance.js +3 -20
- package/dist/memory-maintenance.js.map +1 -1
- package/dist/memory-query-service.d.ts +24 -0
- package/dist/memory-query-service.d.ts.map +1 -0
- package/dist/memory-query-service.js +180 -0
- package/dist/memory-query-service.js.map +1 -0
- package/dist/memory-relevance.d.ts +16 -1
- package/dist/memory-relevance.d.ts.map +1 -1
- package/dist/memory-relevance.js +83 -139
- package/dist/memory-relevance.js.map +1 -1
- package/dist/memory-store.d.ts +52 -35
- package/dist/memory-store.d.ts.map +1 -1
- package/dist/memory-store.js +406 -690
- package/dist/memory-store.js.map +1 -1
- package/dist/semantic-memory-compiler.d.ts +0 -2
- package/dist/semantic-memory-compiler.d.ts.map +1 -1
- package/dist/semantic-memory-compiler.js +4 -4
- package/dist/semantic-memory-compiler.js.map +1 -1
- package/dist/session-summarizer.d.ts +3 -0
- package/dist/session-summarizer.d.ts.map +1 -1
- package/dist/session-summarizer.js.map +1 -1
- package/dist/signal-analyzer.d.ts +2 -2
- package/dist/signal-analyzer.d.ts.map +1 -1
- package/dist/signal-analyzer.js +10 -16
- package/dist/signal-analyzer.js.map +1 -1
- package/package.json +14 -5
- package/dist/lease-store.test.d.ts +0 -2
- package/dist/lease-store.test.d.ts.map +0 -1
- package/dist/lease-store.test.js +0 -182
- package/dist/lease-store.test.js.map +0 -1
- package/dist/migrations/v10-to-v11.d.ts +0 -3
- package/dist/migrations/v10-to-v11.d.ts.map +0 -1
- package/dist/migrations/v10-to-v11.js +0 -21
- package/dist/migrations/v10-to-v11.js.map +0 -1
- package/dist/migrations/v11-to-v12.d.ts +0 -66
- package/dist/migrations/v11-to-v12.d.ts.map +0 -1
- package/dist/migrations/v11-to-v12.js +0 -577
- package/dist/migrations/v11-to-v12.js.map +0 -1
- package/dist/migrations/v12-to-v13.d.ts +0 -3
- package/dist/migrations/v12-to-v13.d.ts.map +0 -1
- package/dist/migrations/v12-to-v13.js +0 -50
- package/dist/migrations/v12-to-v13.js.map +0 -1
- package/dist/migrations/v2-to-v3.d.ts +0 -3
- package/dist/migrations/v2-to-v3.d.ts.map +0 -1
- package/dist/migrations/v2-to-v3.js +0 -122
- package/dist/migrations/v2-to-v3.js.map +0 -1
- package/dist/migrations/v2-to-v3.test.d.ts +0 -2
- package/dist/migrations/v2-to-v3.test.d.ts.map +0 -1
- package/dist/migrations/v2-to-v3.test.js +0 -88
- package/dist/migrations/v2-to-v3.test.js.map +0 -1
- package/dist/migrations/v3-to-v4.d.ts +0 -3
- package/dist/migrations/v3-to-v4.d.ts.map +0 -1
- package/dist/migrations/v3-to-v4.js +0 -97
- package/dist/migrations/v3-to-v4.js.map +0 -1
- package/dist/migrations/v4-to-v5.d.ts +0 -3
- package/dist/migrations/v4-to-v5.d.ts.map +0 -1
- package/dist/migrations/v4-to-v5.js +0 -34
- package/dist/migrations/v4-to-v5.js.map +0 -1
- package/dist/migrations/v4-to-v5.test.d.ts +0 -2
- package/dist/migrations/v4-to-v5.test.d.ts.map +0 -1
- package/dist/migrations/v4-to-v5.test.js +0 -32
- package/dist/migrations/v4-to-v5.test.js.map +0 -1
- package/dist/migrations/v6-to-v7.d.ts +0 -3
- package/dist/migrations/v6-to-v7.d.ts.map +0 -1
- package/dist/migrations/v6-to-v7.js +0 -18
- package/dist/migrations/v6-to-v7.js.map +0 -1
- package/dist/migrations/v6-to-v7.test.d.ts +0 -2
- package/dist/migrations/v6-to-v7.test.d.ts.map +0 -1
- package/dist/migrations/v6-to-v7.test.js +0 -33
- package/dist/migrations/v6-to-v7.test.js.map +0 -1
- package/dist/migrations/v7-to-v8.d.ts +0 -3
- package/dist/migrations/v7-to-v8.d.ts.map +0 -1
- package/dist/migrations/v7-to-v8.js +0 -20
- package/dist/migrations/v7-to-v8.js.map +0 -1
- package/dist/migrations/v8-to-v9.d.ts +0 -3
- package/dist/migrations/v8-to-v9.d.ts.map +0 -1
- package/dist/migrations/v8-to-v9.js +0 -18
- package/dist/migrations/v8-to-v9.js.map +0 -1
- package/dist/migrations/v9-to-v10.d.ts +0 -3
- package/dist/migrations/v9-to-v10.d.ts.map +0 -1
- package/dist/migrations/v9-to-v10.js +0 -45
- package/dist/migrations/v9-to-v10.js.map +0 -1
- package/dist/migrations/v9-to-v10.test.d.ts +0 -2
- package/dist/migrations/v9-to-v10.test.d.ts.map +0 -1
- package/dist/migrations/v9-to-v10.test.js +0 -40
- package/dist/migrations/v9-to-v10.test.js.map +0 -1
- package/dist/preference-conflicts.test.d.ts +0 -2
- package/dist/preference-conflicts.test.d.ts.map +0 -1
- package/dist/preference-conflicts.test.js +0 -80
- package/dist/preference-conflicts.test.js.map +0 -1
- package/dist/semantic-memory.test.d.ts +0 -2
- package/dist/semantic-memory.test.d.ts.map +0 -1
- package/dist/semantic-memory.test.js +0 -61
- package/dist/semantic-memory.test.js.map +0 -1
package/dist/signal-analyzer.js
CHANGED
|
@@ -18,10 +18,10 @@ export class SignalAnalyzer {
|
|
|
18
18
|
this.fileTouchWindow = [];
|
|
19
19
|
}
|
|
20
20
|
// ── All-in-one detection ──────────────────────────
|
|
21
|
-
detect(event, recentEvents, userMessage,
|
|
21
|
+
detect(event, recentEvents, userMessage, semanticFacts) {
|
|
22
22
|
const signals = [];
|
|
23
23
|
// Cheap — per event
|
|
24
|
-
signals.push(...this.detectCheap(event, userMessage,
|
|
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,
|
|
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 &&
|
|
37
|
-
const directiveType =
|
|
38
|
-
:
|
|
39
|
-
:
|
|
40
|
-
const memoryEvidence =
|
|
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
|
-
|
|
43
|
+
factsHash: semanticFacts.factsHash,
|
|
44
44
|
evidenceIds: memoryEvidence.map(item => item.textHash),
|
|
45
|
-
directive:
|
|
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.
|
|
3
|
+
"version": "0.18.0",
|
|
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/
|
|
21
|
-
"@devflow-tools/
|
|
22
|
-
"@
|
|
20
|
+
"@devflow-tools/provider-runtime": "0.18.0",
|
|
21
|
+
"@devflow-tools/sdk": "0.18.0",
|
|
22
|
+
"@devflow-tools/telemetry": "0.18.0",
|
|
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": "
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lease-store.test.d.ts","sourceRoot":"","sources":["../src/lease-store.test.ts"],"names":[],"mappings":""}
|
package/dist/lease-store.test.js
DELETED
|
@@ -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":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,EAAqB,CAAC;IAC1B,IAAI,KAAiB,CAAC;IAEtB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC9B,EAAE,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QAC1F,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxE,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACzB,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACzB,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnE,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAClD,SAAS,EAAE,mBAAmB,EAAE,EAAE;YAClC,MAAM,EAAE,iBAAiB;YACzB,gBAAgB,EAAE,CAAC;YACnB,UAAU,EAAE,CAAC;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QACrF,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,CAAC,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;QACtC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvF,MAAM,OAAO,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAE7D,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;QAC9E,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;QACnF,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1F,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;QAChF,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;QACrF,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;QAC5F,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACrE,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE;QAC1E,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;QAC7E,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;QAChF;YACE,KAAK,EAAE,gCAAgC;YACvC,QAAQ,EAAE,CAAC,IAAI,CAAC;YAChB,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC,gBAAgB;SAC/B;KACF,CAAC,CAAC,0CAA0C,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;QACjF,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAC5B,QAAoB,EACpB,UAAsB,EACtB,KAAe,CAChB,CAAC,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,EAAE,CAAC;aACrE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,WAAW,EAAE,UAAU,CAAC;QACzB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3C,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC,aAAa,EAAE,CAAC,CAAC;QAClB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAClB,CAAC,YAAY,EAAE,GAAG,CAAC;QACnB,CAAC,QAAQ,EAAE,QAAQ,CAAC;KACrB,CAAC,CAAC,qDAAqD,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC1E,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,QAAQ;YAAE,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;QACpE,EAAE,CAAC,OAAO,CAAC,6BAA6B,MAAM,yBAAyB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxF,IAAI,MAAM,KAAK,QAAQ;YAAE,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAErE,oBAAoB,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,EAAE,CAAC,OAAO,CAAC,8DAA8D,CAAC;aACvE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAElC,oBAAoB,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,EAAE,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEnF,oBAAoB,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC/E,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEjC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAClE,MAAM,CAAC,OAAO,KAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,KAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,KAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;QACrD,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;QACpD,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;QACpD,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;QACpB,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;QACnB,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;QACnB,CAAC,aAAa,EAAE,GAAG,CAAC;QACpB,CAAC,YAAY,EAAE,GAAG,CAAC;KACpB,CAAC,CAAC,oCAAoC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACzD,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,EAAE,CAAC,OAAO,CAAC,6BAA6B,MAAM,yBAAyB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAExF,oBAAoB,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,oBAAoB,CAAC,OAAe,EAAE,IAAmB;IAChE,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,EAAE,CAAC;IACT,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,KAAK,GAAG,MAAM,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;QAC1B,IAAI,EAAE,4BAA4B;QAClC,OAAO;KACR,CAAC,CAAC;IACH,MAAM,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -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"}
|