@slicenfer/project-memory-runtime-core 0.3.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 +674 -0
- package/README.md +12 -0
- package/dist/activation/engine.d.ts +27 -0
- package/dist/activation/engine.d.ts.map +1 -0
- package/dist/activation/engine.js +294 -0
- package/dist/activation/engine.js.map +1 -0
- package/dist/checkpoints.d.ts +12 -0
- package/dist/checkpoints.d.ts.map +1 -0
- package/dist/checkpoints.js +94 -0
- package/dist/checkpoints.js.map +1 -0
- package/dist/compiler/deterministic.d.ts +7 -0
- package/dist/compiler/deterministic.d.ts.map +1 -0
- package/dist/compiler/deterministic.js +385 -0
- package/dist/compiler/deterministic.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/ingestion/service.d.ts +7 -0
- package/dist/ingestion/service.d.ts.map +1 -0
- package/dist/ingestion/service.js +5 -0
- package/dist/ingestion/service.js.map +1 -0
- package/dist/recall/packet.d.ts +13 -0
- package/dist/recall/packet.d.ts.map +1 -0
- package/dist/recall/packet.js +155 -0
- package/dist/recall/packet.js.map +1 -0
- package/dist/runtime.d.ts +53 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +708 -0
- package/dist/runtime.js.map +1 -0
- package/dist/scope.d.ts +6 -0
- package/dist/scope.d.ts.map +1 -0
- package/dist/scope.js +50 -0
- package/dist/scope.js.map +1 -0
- package/dist/storage/migrations/001_init.sql +113 -0
- package/dist/storage/migrations/002_constraints.sql +148 -0
- package/dist/storage/migrations/003_event_provenance.sql +36 -0
- package/dist/storage/migrations/004_event_capture_path.sql +37 -0
- package/dist/storage/migrations/005_activation_indices.sql +15 -0
- package/dist/storage/migrations/006_session_checkpoints.sql +54 -0
- package/dist/storage/migrations.d.ts +6 -0
- package/dist/storage/migrations.d.ts.map +1 -0
- package/dist/storage/migrations.js +19 -0
- package/dist/storage/migrations.js.map +1 -0
- package/dist/storage/sqlite.d.ts +36 -0
- package/dist/storage/sqlite.d.ts.map +1 -0
- package/dist/storage/sqlite.js +601 -0
- package/dist/storage/sqlite.js.map +1 -0
- package/dist/types.d.ts +294 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +36 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +16 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +36 -0
- package/dist/utils.js.map +1 -0
- package/dist/validation.d.ts +24 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +323 -0
- package/dist/validation.js.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/scope.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ClaimScope } from "./types.js";
|
|
2
|
+
export declare function normalizeClaimScope(scope?: ClaimScope): ClaimScope | undefined;
|
|
3
|
+
export declare function scopeSignature(scope?: ClaimScope): string;
|
|
4
|
+
export declare function singletonScopeCompatible(leftScope?: ClaimScope, rightScope?: ClaimScope): boolean;
|
|
5
|
+
export declare function scopeSpecificity(scope?: ClaimScope): number;
|
|
6
|
+
//# sourceMappingURL=scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAS7C,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAU9E;AAED,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED,wBAAgB,wBAAwB,CACtC,SAAS,CAAC,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAUT;AAED,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAU3D"}
|
package/dist/scope.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
function sameFiles(left, right) {
|
|
2
|
+
if (!left?.length && !right?.length)
|
|
3
|
+
return true;
|
|
4
|
+
if (!left?.length || !right?.length)
|
|
5
|
+
return false;
|
|
6
|
+
if (left.length !== right.length)
|
|
7
|
+
return false;
|
|
8
|
+
return left.every((value, index) => value === right[index]);
|
|
9
|
+
}
|
|
10
|
+
export function normalizeClaimScope(scope) {
|
|
11
|
+
if (!scope)
|
|
12
|
+
return undefined;
|
|
13
|
+
const normalized = {};
|
|
14
|
+
if (scope.repo)
|
|
15
|
+
normalized.repo = scope.repo;
|
|
16
|
+
if (scope.branch)
|
|
17
|
+
normalized.branch = scope.branch;
|
|
18
|
+
if (scope.cwd_prefix)
|
|
19
|
+
normalized.cwd_prefix = scope.cwd_prefix;
|
|
20
|
+
if (scope.files?.length)
|
|
21
|
+
normalized.files = [...scope.files].sort();
|
|
22
|
+
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
23
|
+
}
|
|
24
|
+
export function scopeSignature(scope) {
|
|
25
|
+
return JSON.stringify(normalizeClaimScope(scope) ?? null);
|
|
26
|
+
}
|
|
27
|
+
export function singletonScopeCompatible(leftScope, rightScope) {
|
|
28
|
+
const left = normalizeClaimScope(leftScope);
|
|
29
|
+
const right = normalizeClaimScope(rightScope);
|
|
30
|
+
return ((left?.repo ?? null) === (right?.repo ?? null) &&
|
|
31
|
+
(left?.branch ?? null) === (right?.branch ?? null) &&
|
|
32
|
+
(left?.cwd_prefix ?? null) === (right?.cwd_prefix ?? null) &&
|
|
33
|
+
sameFiles(left?.files, right?.files));
|
|
34
|
+
}
|
|
35
|
+
export function scopeSpecificity(scope) {
|
|
36
|
+
const normalized = normalizeClaimScope(scope);
|
|
37
|
+
if (!normalized)
|
|
38
|
+
return 0;
|
|
39
|
+
let score = 0;
|
|
40
|
+
if (normalized.repo)
|
|
41
|
+
score += 1;
|
|
42
|
+
if (normalized.branch)
|
|
43
|
+
score += 2;
|
|
44
|
+
if (normalized.cwd_prefix)
|
|
45
|
+
score += 4;
|
|
46
|
+
if (normalized.files?.length)
|
|
47
|
+
score += 8;
|
|
48
|
+
return score;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAEA,SAAS,SAAS,CAAC,IAAe,EAAE,KAAgB;IAClD,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM;QAAE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACnD,IAAI,KAAK,CAAC,UAAU;QAAE,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAC/D,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM;QAAE,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAAsB,EACtB,UAAuB;IAEvB,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE9C,OAAO,CACL,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;QAC9C,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC;QAClD,CAAC,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,CAAC;QAC1D,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC;IAE1B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,UAAU,CAAC,IAAI;QAAE,KAAK,IAAI,CAAC,CAAC;IAChC,IAAI,UAAU,CAAC,MAAM;QAAE,KAAK,IAAI,CAAC,CAAC;IAClC,IAAI,UAAU,CAAC,UAAU;QAAE,KAAK,IAAI,CAAC,CAAC;IACtC,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM;QAAE,KAAK,IAAI,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS schema_migrations (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
applied_at TEXT NOT NULL
|
|
4
|
+
);
|
|
5
|
+
|
|
6
|
+
CREATE TABLE IF NOT EXISTS ledger_events (
|
|
7
|
+
id TEXT PRIMARY KEY,
|
|
8
|
+
ts TEXT NOT NULL,
|
|
9
|
+
project_id TEXT NOT NULL,
|
|
10
|
+
session_id TEXT,
|
|
11
|
+
workspace_id TEXT,
|
|
12
|
+
repo_id TEXT,
|
|
13
|
+
parent_event_id TEXT,
|
|
14
|
+
causation_id TEXT,
|
|
15
|
+
agent_id TEXT NOT NULL,
|
|
16
|
+
agent_version TEXT NOT NULL,
|
|
17
|
+
event_type TEXT NOT NULL,
|
|
18
|
+
content TEXT NOT NULL,
|
|
19
|
+
scope_json TEXT,
|
|
20
|
+
metadata_json TEXT,
|
|
21
|
+
created_at TEXT NOT NULL
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
CREATE INDEX IF NOT EXISTS idx_ledger_events_project_ts
|
|
25
|
+
ON ledger_events(project_id, ts);
|
|
26
|
+
|
|
27
|
+
CREATE INDEX IF NOT EXISTS idx_ledger_events_project_type_ts
|
|
28
|
+
ON ledger_events(project_id, event_type, ts);
|
|
29
|
+
|
|
30
|
+
CREATE INDEX IF NOT EXISTS idx_ledger_events_causation
|
|
31
|
+
ON ledger_events(causation_id);
|
|
32
|
+
|
|
33
|
+
CREATE TABLE IF NOT EXISTS claims (
|
|
34
|
+
id TEXT PRIMARY KEY,
|
|
35
|
+
created_at TEXT NOT NULL,
|
|
36
|
+
project_id TEXT NOT NULL,
|
|
37
|
+
type TEXT NOT NULL,
|
|
38
|
+
assertion_kind TEXT NOT NULL,
|
|
39
|
+
canonical_key TEXT NOT NULL,
|
|
40
|
+
cardinality TEXT NOT NULL,
|
|
41
|
+
content TEXT NOT NULL,
|
|
42
|
+
source_event_ids_json TEXT NOT NULL,
|
|
43
|
+
confidence REAL NOT NULL,
|
|
44
|
+
importance REAL NOT NULL,
|
|
45
|
+
outcome_score REAL NOT NULL,
|
|
46
|
+
verification_status TEXT NOT NULL,
|
|
47
|
+
verification_method TEXT,
|
|
48
|
+
status TEXT NOT NULL,
|
|
49
|
+
pinned INTEGER NOT NULL DEFAULT 0,
|
|
50
|
+
valid_from TEXT,
|
|
51
|
+
valid_to TEXT,
|
|
52
|
+
supersedes_json TEXT,
|
|
53
|
+
last_verified_at TEXT,
|
|
54
|
+
last_activated_at TEXT,
|
|
55
|
+
scope_json TEXT,
|
|
56
|
+
thread_status TEXT,
|
|
57
|
+
resolved_at TEXT,
|
|
58
|
+
resolution_rules_json TEXT
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
CREATE INDEX IF NOT EXISTS idx_claims_project_key
|
|
62
|
+
ON claims(project_id, canonical_key);
|
|
63
|
+
|
|
64
|
+
CREATE INDEX IF NOT EXISTS idx_claims_project_status
|
|
65
|
+
ON claims(project_id, status);
|
|
66
|
+
|
|
67
|
+
CREATE INDEX IF NOT EXISTS idx_claims_project_type_status
|
|
68
|
+
ON claims(project_id, type, status);
|
|
69
|
+
|
|
70
|
+
CREATE TABLE IF NOT EXISTS claim_outcomes (
|
|
71
|
+
id TEXT PRIMARY KEY,
|
|
72
|
+
ts TEXT NOT NULL,
|
|
73
|
+
project_id TEXT NOT NULL,
|
|
74
|
+
related_event_ids_json TEXT NOT NULL,
|
|
75
|
+
related_claim_ids_json TEXT,
|
|
76
|
+
outcome_type TEXT NOT NULL,
|
|
77
|
+
strength REAL NOT NULL,
|
|
78
|
+
notes TEXT
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
CREATE INDEX IF NOT EXISTS idx_claim_outcomes_project_ts
|
|
82
|
+
ON claim_outcomes(project_id, ts);
|
|
83
|
+
|
|
84
|
+
CREATE TABLE IF NOT EXISTS claim_transitions (
|
|
85
|
+
id TEXT PRIMARY KEY,
|
|
86
|
+
ts TEXT NOT NULL,
|
|
87
|
+
project_id TEXT NOT NULL,
|
|
88
|
+
claim_id TEXT NOT NULL,
|
|
89
|
+
from_status TEXT,
|
|
90
|
+
to_status TEXT NOT NULL,
|
|
91
|
+
reason TEXT NOT NULL,
|
|
92
|
+
trigger_type TEXT NOT NULL,
|
|
93
|
+
trigger_ref TEXT,
|
|
94
|
+
actor TEXT NOT NULL
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
CREATE INDEX IF NOT EXISTS idx_claim_transitions_claim_ts
|
|
98
|
+
ON claim_transitions(claim_id, ts);
|
|
99
|
+
|
|
100
|
+
CREATE TABLE IF NOT EXISTS activation_logs (
|
|
101
|
+
id TEXT PRIMARY KEY,
|
|
102
|
+
ts TEXT NOT NULL,
|
|
103
|
+
project_id TEXT NOT NULL,
|
|
104
|
+
claim_id TEXT NOT NULL,
|
|
105
|
+
eligibility_result TEXT NOT NULL,
|
|
106
|
+
suppression_reason TEXT,
|
|
107
|
+
rank_score REAL,
|
|
108
|
+
packing_decision TEXT,
|
|
109
|
+
activation_reasons_json TEXT
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
CREATE INDEX IF NOT EXISTS idx_activation_logs_project_ts
|
|
113
|
+
ON activation_logs(project_id, ts);
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
CREATE TRIGGER IF NOT EXISTS trg_claims_validate_insert
|
|
2
|
+
BEFORE INSERT ON claims
|
|
3
|
+
BEGIN
|
|
4
|
+
SELECT CASE
|
|
5
|
+
WHEN NEW.type NOT IN ('fact', 'decision', 'thread')
|
|
6
|
+
THEN RAISE(ABORT, 'invalid claim.type')
|
|
7
|
+
END;
|
|
8
|
+
SELECT CASE
|
|
9
|
+
WHEN NEW.assertion_kind NOT IN ('fact', 'hypothesis', 'instruction', 'preference', 'todo', 'outcome')
|
|
10
|
+
THEN RAISE(ABORT, 'invalid claim.assertion_kind')
|
|
11
|
+
END;
|
|
12
|
+
SELECT CASE
|
|
13
|
+
WHEN NEW.cardinality NOT IN ('singleton', 'set')
|
|
14
|
+
THEN RAISE(ABORT, 'invalid claim.cardinality')
|
|
15
|
+
END;
|
|
16
|
+
SELECT CASE
|
|
17
|
+
WHEN NEW.verification_status NOT IN ('unverified', 'inferred', 'user_confirmed', 'system_verified', 'outcome_verified', 'disputed')
|
|
18
|
+
THEN RAISE(ABORT, 'invalid claim.verification_status')
|
|
19
|
+
END;
|
|
20
|
+
SELECT CASE
|
|
21
|
+
WHEN NEW.status NOT IN ('active', 'stale', 'superseded', 'archived')
|
|
22
|
+
THEN RAISE(ABORT, 'invalid claim.status')
|
|
23
|
+
END;
|
|
24
|
+
SELECT CASE
|
|
25
|
+
WHEN NEW.thread_status IS NOT NULL AND NEW.thread_status NOT IN ('open', 'resolved', 'blocked')
|
|
26
|
+
THEN RAISE(ABORT, 'invalid claim.thread_status')
|
|
27
|
+
END;
|
|
28
|
+
SELECT CASE
|
|
29
|
+
WHEN NEW.confidence < 0 OR NEW.confidence > 1
|
|
30
|
+
THEN RAISE(ABORT, 'claim.confidence out of range')
|
|
31
|
+
END;
|
|
32
|
+
SELECT CASE
|
|
33
|
+
WHEN NEW.importance < 0 OR NEW.importance > 1
|
|
34
|
+
THEN RAISE(ABORT, 'claim.importance out of range')
|
|
35
|
+
END;
|
|
36
|
+
SELECT CASE
|
|
37
|
+
WHEN NEW.outcome_score < -1 OR NEW.outcome_score > 1
|
|
38
|
+
THEN RAISE(ABORT, 'claim.outcome_score out of range')
|
|
39
|
+
END;
|
|
40
|
+
SELECT CASE
|
|
41
|
+
WHEN NEW.verification_status = 'disputed' AND NEW.status = 'active'
|
|
42
|
+
THEN RAISE(ABORT, 'disputed claims must not remain active')
|
|
43
|
+
END;
|
|
44
|
+
SELECT CASE
|
|
45
|
+
WHEN NEW.type != 'thread' AND NEW.thread_status IS NOT NULL
|
|
46
|
+
THEN RAISE(ABORT, 'non-thread claims must not set thread_status')
|
|
47
|
+
END;
|
|
48
|
+
SELECT CASE
|
|
49
|
+
WHEN NEW.type != 'thread' AND NEW.resolved_at IS NOT NULL
|
|
50
|
+
THEN RAISE(ABORT, 'non-thread claims must not set resolved_at')
|
|
51
|
+
END;
|
|
52
|
+
SELECT CASE
|
|
53
|
+
WHEN NEW.thread_status = 'resolved' AND NEW.status != 'archived'
|
|
54
|
+
THEN RAISE(ABORT, 'resolved threads must be archived')
|
|
55
|
+
END;
|
|
56
|
+
END;
|
|
57
|
+
|
|
58
|
+
CREATE TRIGGER IF NOT EXISTS trg_claims_validate_update
|
|
59
|
+
BEFORE UPDATE ON claims
|
|
60
|
+
BEGIN
|
|
61
|
+
SELECT CASE
|
|
62
|
+
WHEN NEW.type NOT IN ('fact', 'decision', 'thread')
|
|
63
|
+
THEN RAISE(ABORT, 'invalid claim.type')
|
|
64
|
+
END;
|
|
65
|
+
SELECT CASE
|
|
66
|
+
WHEN NEW.assertion_kind NOT IN ('fact', 'hypothesis', 'instruction', 'preference', 'todo', 'outcome')
|
|
67
|
+
THEN RAISE(ABORT, 'invalid claim.assertion_kind')
|
|
68
|
+
END;
|
|
69
|
+
SELECT CASE
|
|
70
|
+
WHEN NEW.cardinality NOT IN ('singleton', 'set')
|
|
71
|
+
THEN RAISE(ABORT, 'invalid claim.cardinality')
|
|
72
|
+
END;
|
|
73
|
+
SELECT CASE
|
|
74
|
+
WHEN NEW.verification_status NOT IN ('unverified', 'inferred', 'user_confirmed', 'system_verified', 'outcome_verified', 'disputed')
|
|
75
|
+
THEN RAISE(ABORT, 'invalid claim.verification_status')
|
|
76
|
+
END;
|
|
77
|
+
SELECT CASE
|
|
78
|
+
WHEN NEW.status NOT IN ('active', 'stale', 'superseded', 'archived')
|
|
79
|
+
THEN RAISE(ABORT, 'invalid claim.status')
|
|
80
|
+
END;
|
|
81
|
+
SELECT CASE
|
|
82
|
+
WHEN NEW.thread_status IS NOT NULL AND NEW.thread_status NOT IN ('open', 'resolved', 'blocked')
|
|
83
|
+
THEN RAISE(ABORT, 'invalid claim.thread_status')
|
|
84
|
+
END;
|
|
85
|
+
SELECT CASE
|
|
86
|
+
WHEN NEW.confidence < 0 OR NEW.confidence > 1
|
|
87
|
+
THEN RAISE(ABORT, 'claim.confidence out of range')
|
|
88
|
+
END;
|
|
89
|
+
SELECT CASE
|
|
90
|
+
WHEN NEW.importance < 0 OR NEW.importance > 1
|
|
91
|
+
THEN RAISE(ABORT, 'claim.importance out of range')
|
|
92
|
+
END;
|
|
93
|
+
SELECT CASE
|
|
94
|
+
WHEN NEW.outcome_score < -1 OR NEW.outcome_score > 1
|
|
95
|
+
THEN RAISE(ABORT, 'claim.outcome_score out of range')
|
|
96
|
+
END;
|
|
97
|
+
SELECT CASE
|
|
98
|
+
WHEN NEW.verification_status = 'disputed' AND NEW.status = 'active'
|
|
99
|
+
THEN RAISE(ABORT, 'disputed claims must not remain active')
|
|
100
|
+
END;
|
|
101
|
+
SELECT CASE
|
|
102
|
+
WHEN NEW.type != 'thread' AND NEW.thread_status IS NOT NULL
|
|
103
|
+
THEN RAISE(ABORT, 'non-thread claims must not set thread_status')
|
|
104
|
+
END;
|
|
105
|
+
SELECT CASE
|
|
106
|
+
WHEN NEW.type != 'thread' AND NEW.resolved_at IS NOT NULL
|
|
107
|
+
THEN RAISE(ABORT, 'non-thread claims must not set resolved_at')
|
|
108
|
+
END;
|
|
109
|
+
SELECT CASE
|
|
110
|
+
WHEN NEW.thread_status = 'resolved' AND NEW.status != 'archived'
|
|
111
|
+
THEN RAISE(ABORT, 'resolved threads must be archived')
|
|
112
|
+
END;
|
|
113
|
+
SELECT CASE
|
|
114
|
+
WHEN OLD.status != NEW.status AND NOT (
|
|
115
|
+
(OLD.status = 'active' AND NEW.status IN ('stale', 'superseded', 'archived')) OR
|
|
116
|
+
(OLD.status = 'stale' AND NEW.status IN ('active', 'superseded', 'archived')) OR
|
|
117
|
+
(OLD.status = 'superseded' AND NEW.status = 'archived') OR
|
|
118
|
+
(OLD.status = 'archived' AND NEW.status = 'active')
|
|
119
|
+
)
|
|
120
|
+
THEN RAISE(ABORT, 'illegal claim status transition')
|
|
121
|
+
END;
|
|
122
|
+
END;
|
|
123
|
+
|
|
124
|
+
CREATE TRIGGER IF NOT EXISTS trg_claim_outcomes_validate_insert
|
|
125
|
+
BEFORE INSERT ON claim_outcomes
|
|
126
|
+
BEGIN
|
|
127
|
+
SELECT CASE
|
|
128
|
+
WHEN NEW.outcome_type NOT IN ('test_pass', 'test_fail', 'build_pass', 'build_fail', 'commit_kept', 'commit_reverted', 'issue_closed', 'issue_reopened', 'human_kept', 'human_corrected', 'manual_override')
|
|
129
|
+
THEN RAISE(ABORT, 'invalid outcome.outcome_type')
|
|
130
|
+
END;
|
|
131
|
+
SELECT CASE
|
|
132
|
+
WHEN NEW.strength < 0 OR NEW.strength > 1
|
|
133
|
+
THEN RAISE(ABORT, 'outcome.strength out of range')
|
|
134
|
+
END;
|
|
135
|
+
END;
|
|
136
|
+
|
|
137
|
+
CREATE TRIGGER IF NOT EXISTS trg_claim_outcomes_validate_update
|
|
138
|
+
BEFORE UPDATE ON claim_outcomes
|
|
139
|
+
BEGIN
|
|
140
|
+
SELECT CASE
|
|
141
|
+
WHEN NEW.outcome_type NOT IN ('test_pass', 'test_fail', 'build_pass', 'build_fail', 'commit_kept', 'commit_reverted', 'issue_closed', 'issue_reopened', 'human_kept', 'human_corrected', 'manual_override')
|
|
142
|
+
THEN RAISE(ABORT, 'invalid outcome.outcome_type')
|
|
143
|
+
END;
|
|
144
|
+
SELECT CASE
|
|
145
|
+
WHEN NEW.strength < 0 OR NEW.strength > 1
|
|
146
|
+
THEN RAISE(ABORT, 'outcome.strength out of range')
|
|
147
|
+
END;
|
|
148
|
+
END;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
ALTER TABLE ledger_events ADD COLUMN source_kind TEXT;
|
|
2
|
+
ALTER TABLE ledger_events ADD COLUMN trust_level TEXT;
|
|
3
|
+
|
|
4
|
+
CREATE TRIGGER IF NOT EXISTS trg_ledger_events_validate_insert
|
|
5
|
+
BEFORE INSERT ON ledger_events
|
|
6
|
+
BEGIN
|
|
7
|
+
SELECT CASE
|
|
8
|
+
WHEN NEW.event_type NOT IN ('user_message', 'agent_message', 'file_edit', 'command_result', 'test_result', 'build_result', 'lint_result', 'benchmark_result', 'deploy_result', 'git_commit', 'git_revert', 'pr_opened', 'pr_merged', 'pr_closed', 'issue_link', 'issue_closed', 'issue_reopened', 'human_edit_after_agent', 'manual_override', 'session_start', 'session_end', 'user_confirmation')
|
|
9
|
+
THEN RAISE(ABORT, 'invalid event.event_type')
|
|
10
|
+
END;
|
|
11
|
+
SELECT CASE
|
|
12
|
+
WHEN NEW.source_kind IS NOT NULL AND NEW.source_kind NOT IN ('user', 'agent', 'system', 'operator', 'imported')
|
|
13
|
+
THEN RAISE(ABORT, 'invalid event.source_kind')
|
|
14
|
+
END;
|
|
15
|
+
SELECT CASE
|
|
16
|
+
WHEN NEW.trust_level IS NOT NULL AND NEW.trust_level NOT IN ('low', 'medium', 'high')
|
|
17
|
+
THEN RAISE(ABORT, 'invalid event.trust_level')
|
|
18
|
+
END;
|
|
19
|
+
END;
|
|
20
|
+
|
|
21
|
+
CREATE TRIGGER IF NOT EXISTS trg_ledger_events_validate_update
|
|
22
|
+
BEFORE UPDATE ON ledger_events
|
|
23
|
+
BEGIN
|
|
24
|
+
SELECT CASE
|
|
25
|
+
WHEN NEW.event_type NOT IN ('user_message', 'agent_message', 'file_edit', 'command_result', 'test_result', 'build_result', 'lint_result', 'benchmark_result', 'deploy_result', 'git_commit', 'git_revert', 'pr_opened', 'pr_merged', 'pr_closed', 'issue_link', 'issue_closed', 'issue_reopened', 'human_edit_after_agent', 'manual_override', 'session_start', 'session_end', 'user_confirmation')
|
|
26
|
+
THEN RAISE(ABORT, 'invalid event.event_type')
|
|
27
|
+
END;
|
|
28
|
+
SELECT CASE
|
|
29
|
+
WHEN NEW.source_kind IS NOT NULL AND NEW.source_kind NOT IN ('user', 'agent', 'system', 'operator', 'imported')
|
|
30
|
+
THEN RAISE(ABORT, 'invalid event.source_kind')
|
|
31
|
+
END;
|
|
32
|
+
SELECT CASE
|
|
33
|
+
WHEN NEW.trust_level IS NOT NULL AND NEW.trust_level NOT IN ('low', 'medium', 'high')
|
|
34
|
+
THEN RAISE(ABORT, 'invalid event.trust_level')
|
|
35
|
+
END;
|
|
36
|
+
END;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
ALTER TABLE ledger_events ADD COLUMN capture_path TEXT;
|
|
2
|
+
|
|
3
|
+
CREATE TRIGGER IF NOT EXISTS trg_ledger_events_validate_capture_path_insert
|
|
4
|
+
BEFORE INSERT ON ledger_events
|
|
5
|
+
BEGIN
|
|
6
|
+
SELECT CASE
|
|
7
|
+
WHEN NEW.capture_path IS NOT NULL
|
|
8
|
+
AND NEW.capture_path NOT IN (
|
|
9
|
+
'fixture.user_confirmation',
|
|
10
|
+
'fixture.user_message',
|
|
11
|
+
'claude_code.hook.user_confirmation',
|
|
12
|
+
'claude_code.hook.user_message',
|
|
13
|
+
'import.transcript',
|
|
14
|
+
'system.tool_observation',
|
|
15
|
+
'operator.manual'
|
|
16
|
+
)
|
|
17
|
+
THEN RAISE(ABORT, 'invalid event.capture_path')
|
|
18
|
+
END;
|
|
19
|
+
END;
|
|
20
|
+
|
|
21
|
+
CREATE TRIGGER IF NOT EXISTS trg_ledger_events_validate_capture_path_update
|
|
22
|
+
BEFORE UPDATE ON ledger_events
|
|
23
|
+
BEGIN
|
|
24
|
+
SELECT CASE
|
|
25
|
+
WHEN NEW.capture_path IS NOT NULL
|
|
26
|
+
AND NEW.capture_path NOT IN (
|
|
27
|
+
'fixture.user_confirmation',
|
|
28
|
+
'fixture.user_message',
|
|
29
|
+
'claude_code.hook.user_confirmation',
|
|
30
|
+
'claude_code.hook.user_message',
|
|
31
|
+
'import.transcript',
|
|
32
|
+
'system.tool_observation',
|
|
33
|
+
'operator.manual'
|
|
34
|
+
)
|
|
35
|
+
THEN RAISE(ABORT, 'invalid event.capture_path')
|
|
36
|
+
END;
|
|
37
|
+
END;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
-- Performance indices for claim activation queries
|
|
2
|
+
CREATE INDEX IF NOT EXISTS idx_claims_project_status
|
|
3
|
+
ON claims (project_id, status);
|
|
4
|
+
|
|
5
|
+
CREATE INDEX IF NOT EXISTS idx_claims_project_key_status
|
|
6
|
+
ON claims (project_id, canonical_key, cardinality, status);
|
|
7
|
+
|
|
8
|
+
CREATE INDEX IF NOT EXISTS idx_outcomes_project
|
|
9
|
+
ON claim_outcomes (project_id, ts);
|
|
10
|
+
|
|
11
|
+
CREATE INDEX IF NOT EXISTS idx_transitions_project_claim
|
|
12
|
+
ON claim_transitions (project_id, claim_id, ts);
|
|
13
|
+
|
|
14
|
+
CREATE INDEX IF NOT EXISTS idx_events_project_ts
|
|
15
|
+
ON ledger_events (project_id, ts);
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS session_checkpoints (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
created_at TEXT NOT NULL,
|
|
4
|
+
project_id TEXT NOT NULL,
|
|
5
|
+
session_id TEXT NOT NULL,
|
|
6
|
+
workspace_id TEXT,
|
|
7
|
+
branch TEXT,
|
|
8
|
+
repo_head TEXT,
|
|
9
|
+
status TEXT NOT NULL,
|
|
10
|
+
source TEXT NOT NULL,
|
|
11
|
+
summary TEXT NOT NULL,
|
|
12
|
+
current_goal TEXT,
|
|
13
|
+
next_action TEXT,
|
|
14
|
+
blocking_reason TEXT,
|
|
15
|
+
hot_claim_ids_json TEXT NOT NULL,
|
|
16
|
+
hot_files_json TEXT NOT NULL,
|
|
17
|
+
evidence_refs_json TEXT NOT NULL,
|
|
18
|
+
packet_hash TEXT NOT NULL,
|
|
19
|
+
hot_file_digests_json TEXT,
|
|
20
|
+
stale_reason TEXT,
|
|
21
|
+
UNIQUE(project_id, session_id, source, packet_hash)
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
CREATE INDEX IF NOT EXISTS idx_session_checkpoints_project_workspace_created
|
|
25
|
+
ON session_checkpoints(project_id, workspace_id, created_at DESC);
|
|
26
|
+
|
|
27
|
+
CREATE INDEX IF NOT EXISTS idx_session_checkpoints_project_status_created
|
|
28
|
+
ON session_checkpoints(project_id, status, created_at DESC);
|
|
29
|
+
|
|
30
|
+
CREATE TRIGGER IF NOT EXISTS trg_session_checkpoints_validate_insert
|
|
31
|
+
BEFORE INSERT ON session_checkpoints
|
|
32
|
+
BEGIN
|
|
33
|
+
SELECT CASE
|
|
34
|
+
WHEN NEW.status NOT IN ('active', 'stale')
|
|
35
|
+
THEN RAISE(ABORT, 'invalid session_checkpoint.status')
|
|
36
|
+
END;
|
|
37
|
+
SELECT CASE
|
|
38
|
+
WHEN NEW.source NOT IN ('precompact', 'session_end', 'postcompact', 'stop_failure')
|
|
39
|
+
THEN RAISE(ABORT, 'invalid session_checkpoint.source')
|
|
40
|
+
END;
|
|
41
|
+
END;
|
|
42
|
+
|
|
43
|
+
CREATE TRIGGER IF NOT EXISTS trg_session_checkpoints_validate_update
|
|
44
|
+
BEFORE UPDATE ON session_checkpoints
|
|
45
|
+
BEGIN
|
|
46
|
+
SELECT CASE
|
|
47
|
+
WHEN NEW.status NOT IN ('active', 'stale')
|
|
48
|
+
THEN RAISE(ABORT, 'invalid session_checkpoint.status')
|
|
49
|
+
END;
|
|
50
|
+
SELECT CASE
|
|
51
|
+
WHEN NEW.source NOT IN ('precompact', 'session_end', 'postcompact', 'stop_failure')
|
|
52
|
+
THEN RAISE(ABORT, 'invalid session_checkpoint.source')
|
|
53
|
+
END;
|
|
54
|
+
END;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/storage/migrations.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAWD,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAQlD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
const MIGRATION_FILES = [
|
|
3
|
+
"001_init.sql",
|
|
4
|
+
"002_constraints.sql",
|
|
5
|
+
"003_event_provenance.sql",
|
|
6
|
+
"004_event_capture_path.sql",
|
|
7
|
+
"005_activation_indices.sql",
|
|
8
|
+
"006_session_checkpoints.sql",
|
|
9
|
+
];
|
|
10
|
+
export function loadSqlMigrations() {
|
|
11
|
+
return MIGRATION_FILES.map((fileName) => {
|
|
12
|
+
const fileUrl = new URL(`./migrations/${fileName}`, import.meta.url);
|
|
13
|
+
return {
|
|
14
|
+
id: fileName.replace(/\.sql$/, ""),
|
|
15
|
+
sql: fs.readFileSync(fileUrl, "utf8"),
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=migrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/storage/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAOzB,MAAM,eAAe,GAAG;IACtB,cAAc;IACd,qBAAqB;IACrB,0BAA0B;IAC1B,4BAA4B;IAC5B,4BAA4B;IAC5B,6BAA6B;CAC9B,CAAC;AAEF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,gBAAgB,QAAQ,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;SACtC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import Database from "better-sqlite3";
|
|
2
|
+
import { type ActivationLog, type Claim, type ClaimScope, type ClaimTransition, type NormalizedEvent, type Outcome, type RuntimeConfig, type RuntimePaths, type RuntimeStats, type SessionCheckpoint, type SessionCheckpointStatus } from "../types.js";
|
|
3
|
+
export declare function resolveRuntimePaths(config?: RuntimeConfig): RuntimePaths;
|
|
4
|
+
export declare class RuntimeStorage {
|
|
5
|
+
readonly paths: RuntimePaths;
|
|
6
|
+
readonly db: Database.Database;
|
|
7
|
+
constructor(config?: RuntimeConfig);
|
|
8
|
+
close(): void;
|
|
9
|
+
transact<T>(fn: () => T): T;
|
|
10
|
+
applyMigrations(): number;
|
|
11
|
+
insertEvent(event: NormalizedEvent): void;
|
|
12
|
+
insertEventWithResult(event: NormalizedEvent): boolean;
|
|
13
|
+
insertClaim(claim: Claim): void;
|
|
14
|
+
upsertClaim(claim: Claim): void;
|
|
15
|
+
insertOutcome(outcome: Outcome): void;
|
|
16
|
+
upsertOutcome(outcome: Outcome): void;
|
|
17
|
+
insertSessionCheckpoint(checkpoint: SessionCheckpoint): void;
|
|
18
|
+
upsertSessionCheckpoint(checkpoint: SessionCheckpoint): void;
|
|
19
|
+
listEvents(projectId?: string): NormalizedEvent[];
|
|
20
|
+
listClaims(projectId?: string): Claim[];
|
|
21
|
+
listOutcomes(projectId?: string): Outcome[];
|
|
22
|
+
listSessionCheckpoints(projectId?: string): SessionCheckpoint[];
|
|
23
|
+
getLatestSessionCheckpoint(projectId: string, workspaceId?: string, status?: SessionCheckpointStatus): SessionCheckpoint | undefined;
|
|
24
|
+
getClaimById(claimId: string): Claim | undefined;
|
|
25
|
+
touchClaims(projectId: string, claimIds: string[], activatedAt: string): number;
|
|
26
|
+
findCompatibleActiveSingletonClaims(projectId: string, canonicalKey: string, scope: ClaimScope | undefined, excludeClaimId?: string): Claim[];
|
|
27
|
+
supersedeClaim(oldClaimId: string, newClaimId: string, reason: string, triggerType: string, actor: string): void;
|
|
28
|
+
insertClaimTransition(transition: ClaimTransition): void;
|
|
29
|
+
insertActivationLog(log: ActivationLog): void;
|
|
30
|
+
listActivationLogs(projectId?: string): ActivationLog[];
|
|
31
|
+
listClaimTransitions(projectId?: string): ClaimTransition[];
|
|
32
|
+
getStats(): RuntimeStats;
|
|
33
|
+
private normalizeClaim;
|
|
34
|
+
private assertActiveSingletonInvariant;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=sqlite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAyKrB,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,aAAkB,GAAG,YAAY,CAI5E;AAED,qBAAa,cAAc;IACzB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBAEnB,MAAM,GAAE,aAAkB;IAUtC,KAAK,IAAI,IAAI;IAIb,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAK3B,eAAe,IAAI,MAAM;IAmCzB,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAIzC,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAqCtD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI/B,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA2E/B,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIrC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAsBrC,uBAAuB,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAI5D,uBAAuB,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAkD5D,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE;IAUjD,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAUvC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE;IAU3C,sBAAsB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAU/D,0BAA0B,CACxB,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,uBAAuB,GAC/B,iBAAiB,GAAG,SAAS;IAqChC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAMhD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAgB/E,mCAAmC,CACjC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,cAAc,CAAC,EAAE,MAAM,GACtB,KAAK,EAAE;IAoBV,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA8ChH,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAgBxD,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAkB7C,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE;IAUvD,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE;IAU3D,QAAQ,IAAI,YAAY;IAiBxB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,8BAA8B;CAevC"}
|