opencode-telos 1.0.0 → 1.0.2

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 (46) hide show
  1. package/dist/code-intelligence/ast/cache.d.ts.map +1 -1
  2. package/dist/code-intelligence/ast/cache.js +8 -5
  3. package/dist/code-intelligence/ast/cache.js.map +1 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +4 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/opencode/hooks.d.ts +1 -1
  8. package/dist/opencode/hooks.d.ts.map +1 -1
  9. package/dist/opencode/hooks.js +34 -40
  10. package/dist/opencode/hooks.js.map +1 -1
  11. package/dist/opencode/tools.d.ts.map +1 -1
  12. package/dist/opencode/tools.js +9 -8
  13. package/dist/opencode/tools.js.map +1 -1
  14. package/dist/sdd/cache/atomic.d.ts +3 -0
  15. package/dist/sdd/cache/atomic.d.ts.map +1 -0
  16. package/dist/sdd/cache/atomic.js +35 -0
  17. package/dist/sdd/cache/atomic.js.map +1 -0
  18. package/dist/sdd/cache/fingerprint.d.ts +18 -0
  19. package/dist/sdd/cache/fingerprint.d.ts.map +1 -0
  20. package/dist/sdd/cache/fingerprint.js +99 -0
  21. package/dist/sdd/cache/fingerprint.js.map +1 -0
  22. package/dist/sdd/cache/manager.d.ts +24 -10
  23. package/dist/sdd/cache/manager.d.ts.map +1 -1
  24. package/dist/sdd/cache/manager.js +184 -33
  25. package/dist/sdd/cache/manager.js.map +1 -1
  26. package/dist/sdd/cache/snapshot-store.d.ts +2 -1
  27. package/dist/sdd/cache/snapshot-store.d.ts.map +1 -1
  28. package/dist/sdd/cache/snapshot-store.js +13 -6
  29. package/dist/sdd/cache/snapshot-store.js.map +1 -1
  30. package/dist/sdd/persistence/sqlite.d.ts.map +1 -1
  31. package/dist/sdd/persistence/sqlite.js +66 -41
  32. package/dist/sdd/persistence/sqlite.js.map +1 -1
  33. package/dist/sdd/persistence/yaml.d.ts.map +1 -1
  34. package/dist/sdd/persistence/yaml.js +33 -25
  35. package/dist/sdd/persistence/yaml.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/code-intelligence/ast/cache.ts +11 -6
  38. package/src/index.ts +4 -1
  39. package/src/opencode/hooks.ts +34 -39
  40. package/src/opencode/tools.ts +9 -8
  41. package/src/sdd/cache/atomic.ts +30 -0
  42. package/src/sdd/cache/fingerprint.ts +98 -0
  43. package/src/sdd/cache/manager.ts +182 -39
  44. package/src/sdd/cache/snapshot-store.ts +14 -7
  45. package/src/sdd/persistence/sqlite.ts +50 -24
  46. package/src/sdd/persistence/yaml.ts +40 -26
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-store.js","sourceRoot":"","sources":["../../../src/sdd/cache/snapshot-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot-store.js","sourceRoot":"","sources":["../../../src/sdd/cache/snapshot-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,MAAM,aAAa,GAAG,uBAAuB,CAAA;AAC7C,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,SAAS;AAsBpD,MAAM,OAAO,kBAAkB;IACrB,UAAU,CAAQ;IAE1B,YAAY,UAAkB;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,KAAqB,EAAE,SAAiB,EAAE,eAAuB;QACpE,MAAM,QAAQ,GAAuB;YACnC,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACrC,SAAS;YACT,eAAe;SAChB,CAAA;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;QACjD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAEzD,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;IACjD,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;QACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAElC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACvC,MAAM,QAAQ,GAAuB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEpD,mBAAmB;YACnB,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YAEvC,eAAe;YACf,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,GAAG,mBAAmB;gBAAE,OAAO,IAAI,CAAA;YAEtE,2BAA2B;YAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YACxE,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,SAAS,KAAK,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YAErG,OAAO;gBACL,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE;gBACnC,eAAe,EAAE,QAAQ,CAAC,eAAe;aAC1C,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;QACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;QAEnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACvC,MAAM,QAAQ,GAAuB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,OAAO,QAAQ,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAChE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,mBAAmB,CAAA;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;QACjD,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBACpC,UAAU,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAqB;QAC5C,MAAM,MAAM,GAA6B,EAAE,CAAA;QAC3C,MAAM,QAAQ,GAA6B,EAAE,CAAA;QAC7C,MAAM,QAAQ,GAA6B,EAAE,CAAA;QAC7C,MAAM,QAAQ,GAA6B,EAAE,CAAA;QAC7C,MAAM,SAAS,GAA6B,EAAE,CAAA;QAC9C,MAAM,SAAS,GAA6B,EAAE,CAAA;QAE9C,eAAe;QACf,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAE/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;YACtD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;QAClD,CAAC;QAED,uBAAuB;QACvB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAChD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAE/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;YAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAE7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAClD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAEhC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;YAC9C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;gBACxB,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,SAAS;YACT,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;YAC9B,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM;SAC/C,CAAA;IACH,CAAC;CACF;AAED,wBAAwB;AACxB,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAA;AAEpD,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAC1C,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/sdd/persistence/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/sdd/persistence/sqlite.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { GraphIndices } from "../graph/index.js";
2
2
  import { ensureDir } from "./yaml.js";
3
3
  import { join } from "path";
4
4
  import { getCacheManager } from "../cache/manager.js";
5
+ import { fileSignature } from "../cache/fingerprint.js";
5
6
  import { recordLegitimateSave, validateGraphIntegrity } from "../graph/integrity-guard.js";
6
7
  let dbCounter = 0;
7
8
  /**
@@ -88,17 +89,31 @@ export class SqliteGraphRepository {
88
89
  }
89
90
  }
90
91
  loadGraph() {
92
+ const cacheMgr = getCacheManager(require("path").dirname(this.baseDir));
93
+ const sourcePaths = [this.dbPath, `${this.dbPath}-wal`, `${this.dbPath}-shm`];
94
+ const currentSourceSignature = fileSignature(sourcePaths);
91
95
  // Check cache with revalidation
92
96
  const cached = SqliteGraphRepository.cache.get(this.dbPath);
93
97
  if (cached) {
94
- // Revalidation: check if db was modified externally
95
- const cacheMgr = getCacheManager(require("path").dirname(this.baseDir));
96
- if (!cacheMgr.checkCrossProcessInvalidation(this.dbPath)) {
98
+ // Revalidation: check content signature and durable invalidation events.
99
+ if (cached.sourceSignature === currentSourceSignature && !cacheMgr.checkCrossProcessInvalidation(this.dbPath)) {
97
100
  return structuredClone(cached.graph);
98
101
  }
99
102
  // DB was modified externally, invalidate cache
100
103
  SqliteGraphRepository.cache.delete(this.dbPath);
101
104
  }
105
+ const snapshot = cacheMgr.loadGraphSnapshot();
106
+ if (snapshot?.sourceSignature === currentSourceSignature) {
107
+ const graph = snapshot.graph;
108
+ const indices = GraphIndices.from(graph);
109
+ SqliteGraphRepository.cache.set(this.dbPath, {
110
+ graph: structuredClone(graph),
111
+ indices,
112
+ sourceSignature: currentSourceSignature,
113
+ });
114
+ cacheMgr.initGraphHash(graph.nodes.length, graph.relationships.length);
115
+ return structuredClone(graph);
116
+ }
102
117
  const db = this.getDb();
103
118
  // Load metadata
104
119
  const metaRows = db.query("SELECT key, value FROM graph_metadata").all();
@@ -144,7 +159,7 @@ export class SqliteGraphRepository {
144
159
  };
145
160
  // Build indices and cache
146
161
  const indices = GraphIndices.from(graph);
147
- SqliteGraphRepository.cache.set(this.dbPath, { graph, indices });
162
+ SqliteGraphRepository.cache.set(this.dbPath, { graph, indices, sourceSignature: currentSourceSignature });
148
163
  // Anti-bypass: check for out-of-band modifications
149
164
  const projectDir = require("path").dirname(this.baseDir);
150
165
  try {
@@ -159,19 +174,24 @@ export class SqliteGraphRepository {
159
174
  }
160
175
  saveGraph(graph) {
161
176
  const db = this.getDb();
177
+ const cacheMgr = getCacheManager(require("path").dirname(this.baseDir));
178
+ if (!cacheMgr.acquireWriteLock()) {
179
+ throw new Error("Another process is writing the SDD graph; retry the mutation");
180
+ }
162
181
  // Use transaction for atomicity
163
- db.exec("BEGIN TRANSACTION");
164
182
  try {
165
- // Differential persistence: update only changed rows and delete only
166
- // rows that disappeared. This keeps SQLite useful for large graphs.
167
- const upsertMeta = db.prepare("INSERT INTO graph_metadata (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value");
168
- upsertMeta.run("project_id", graph.project_id);
169
- upsertMeta.run("version", graph.version);
170
- upsertMeta.run("created_at", graph.metadata.created_at);
171
- upsertMeta.run("updated_at", graph.metadata.updated_at);
172
- upsertMeta.run("sdd_version", graph.metadata.sdd_version);
173
- // Save nodes in batches for performance
174
- const upsertNode = db.prepare(`
183
+ db.exec("BEGIN TRANSACTION");
184
+ try {
185
+ // Differential persistence: update only changed rows and delete only
186
+ // rows that disappeared. This keeps SQLite useful for large graphs.
187
+ const upsertMeta = db.prepare("INSERT INTO graph_metadata (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value");
188
+ upsertMeta.run("project_id", graph.project_id);
189
+ upsertMeta.run("version", graph.version);
190
+ upsertMeta.run("created_at", graph.metadata.created_at);
191
+ upsertMeta.run("updated_at", graph.metadata.updated_at);
192
+ upsertMeta.run("sdd_version", graph.metadata.sdd_version);
193
+ // Save nodes in batches for performance
194
+ const upsertNode = db.prepare(`
175
195
  INSERT INTO nodes (id, type, name, status, version, description, metadata_json, created_at, updated_at, created_by, change_id, previous_version)
176
196
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
177
197
  ON CONFLICT(id) DO UPDATE SET
@@ -181,37 +201,41 @@ export class SqliteGraphRepository {
181
201
  created_by=excluded.created_by, change_id=excluded.change_id,
182
202
  previous_version=excluded.previous_version
183
203
  `);
184
- for (const node of graph.nodes) {
185
- upsertNode.run(node.id, node.type, node.name, node.status, node.version, node.description || null, JSON.stringify(node.metadata), node.created_at, node.updated_at, node.created_by || null, node.change_id || null, node.previous_version || null);
186
- }
187
- // Save relationships in batches
188
- const upsertRel = db.prepare(`
204
+ for (const node of graph.nodes) {
205
+ upsertNode.run(node.id, node.type, node.name, node.status, node.version, node.description || null, JSON.stringify(node.metadata), node.created_at, node.updated_at, node.created_by || null, node.change_id || null, node.previous_version || null);
206
+ }
207
+ // Save relationships in batches
208
+ const upsertRel = db.prepare(`
189
209
  INSERT INTO relationships (id, from_id, to_id, type, metadata_json)
190
210
  VALUES (?, ?, ?, ?, ?)
191
211
  ON CONFLICT(id) DO UPDATE SET
192
212
  from_id=excluded.from_id, to_id=excluded.to_id,
193
213
  type=excluded.type, metadata_json=excluded.metadata_json
194
214
  `);
195
- for (const rel of graph.relationships) {
196
- upsertRel.run(rel.id, rel.from, rel.to, rel.type, JSON.stringify(rel.metadata));
215
+ for (const rel of graph.relationships) {
216
+ upsertRel.run(rel.id, rel.from, rel.to, rel.type, JSON.stringify(rel.metadata));
217
+ }
218
+ const nodeIds = new Set(graph.nodes.map((node) => node.id));
219
+ const existingNodeIds = db.query("SELECT id FROM nodes").all();
220
+ const deleteNode = db.prepare("DELETE FROM nodes WHERE id = ?");
221
+ for (const row of existingNodeIds)
222
+ if (!nodeIds.has(row.id))
223
+ deleteNode.run(row.id);
224
+ const relationshipIds = new Set(graph.relationships.map((relationship) => relationship.id));
225
+ const existingRelationshipIds = db.query("SELECT id FROM relationships").all();
226
+ const deleteRelationship = db.prepare("DELETE FROM relationships WHERE id = ?");
227
+ for (const row of existingRelationshipIds)
228
+ if (!relationshipIds.has(row.id))
229
+ deleteRelationship.run(row.id);
230
+ db.exec("COMMIT");
231
+ }
232
+ catch (e) {
233
+ db.exec("ROLLBACK");
234
+ throw e;
197
235
  }
198
- const nodeIds = new Set(graph.nodes.map((node) => node.id));
199
- const existingNodeIds = db.query("SELECT id FROM nodes").all();
200
- const deleteNode = db.prepare("DELETE FROM nodes WHERE id = ?");
201
- for (const row of existingNodeIds)
202
- if (!nodeIds.has(row.id))
203
- deleteNode.run(row.id);
204
- const relationshipIds = new Set(graph.relationships.map((relationship) => relationship.id));
205
- const existingRelationshipIds = db.query("SELECT id FROM relationships").all();
206
- const deleteRelationship = db.prepare("DELETE FROM relationships WHERE id = ?");
207
- for (const row of existingRelationshipIds)
208
- if (!relationshipIds.has(row.id))
209
- deleteRelationship.run(row.id);
210
- db.exec("COMMIT");
211
236
  }
212
- catch (e) {
213
- db.exec("ROLLBACK");
214
- throw e;
237
+ finally {
238
+ cacheMgr.releaseWriteLock();
215
239
  }
216
240
  // Compare against the immutable cached snapshot before replacing it.
217
241
  const cached = SqliteGraphRepository.cache.get(this.dbPath);
@@ -219,7 +243,9 @@ export class SqliteGraphRepository {
219
243
  const snapshot = structuredClone(graph);
220
244
  const dirty = computeDirtyState(cached?.graph || null, snapshot);
221
245
  const indices = GraphIndices.from(snapshot);
222
- SqliteGraphRepository.cache.set(this.dbPath, { graph: snapshot, indices });
246
+ const sourcePaths = [this.dbPath, `${this.dbPath}-wal`, `${this.dbPath}-shm`];
247
+ const sourceSignature = fileSignature(sourcePaths);
248
+ SqliteGraphRepository.cache.set(this.dbPath, { graph: snapshot, indices, sourceSignature });
223
249
  /*
224
250
  if (cached) {
225
251
  const oldGraph = cached.graph
@@ -261,7 +287,6 @@ export class SqliteGraphRepository {
261
287
  }
262
288
  */
263
289
  // Update incremental hash
264
- const cacheMgr = getCacheManager(require("path").dirname(this.baseDir));
265
290
  cacheMgr.initGraphHash(graph.nodes.length, graph.relationships.length);
266
291
  // A: Granular invalidation — only invalidate caches for changed types
267
292
  if (dirty.allChanged || dirty.dirtyTypes.size > 10) {
@@ -273,7 +298,7 @@ export class SqliteGraphRepository {
273
298
  cacheMgr.invalidatePartial([...dirty.dirtyTypes]);
274
299
  }
275
300
  // G: Save graph snapshot to disk for cross-session restore
276
- cacheMgr.saveGraphSnapshot(graph);
301
+ cacheMgr.saveGraphSnapshot(graph, sourceSignature);
277
302
  // Anti-bypass: record legitimate save for integrity tracking
278
303
  const projectDir = require("path").dirname(this.baseDir);
279
304
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/sdd/persistence/sqlite.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAE1F,IAAI,SAAS,GAAG,CAAC,CAAA;AAEjB;;;;;;;;;;GAUG;AACH,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAQ;IACf,MAAM,CAAQ;IACd,EAAE,CAAK;IACP,MAAM,CAAC,KAAK,GAAkE,IAAI,GAAG,EAAE,CAAA;IAE/F,YAAY,UAAkB;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC5C,IAAI,CAAC,EAAE,GAAG,IAAI,CAAA;IAChB,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,EAAE,CAAA;QAE3B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEvB,4BAA4B;QAC5B,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;QAC1C,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEnC,yCAAyC;QACzC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QACvC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAEzC,oCAAoC;QACpC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsCZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;IAED,aAAa;QACX,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;YACvB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC,GAAG,EAAE,CAAA;YAC1F,OAAO,CAAC,CAAC,MAAM,CAAA;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,SAAS;QACP,gCAAgC;QAChC,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3D,IAAI,MAAM,EAAE,CAAC;YACX,oDAAoD;YACpD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;YACvE,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,OAAO,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtC,CAAC;YACD,+CAA+C;YAC/C,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAEvB,gBAAgB;QAChB,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAE,CAAA;QACxE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;QACzC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAE,GAAW,CAAC,GAAG,EAAG,GAAW,CAAC,KAAK,CAAC,CAAA;QACnD,CAAC;QAED,iBAAiB;QACjB,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAW,CAAA;QAC/D,MAAM,KAAK,GAAc,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACzC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YAChE,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;YACvC,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;YACrC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,IAAI,SAAS;SACpD,CAAC,CAAc,CAAA;QAEhB,yBAAyB;QACzB,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAW,CAAA;QACtE,MAAM,aAAa,GAAmB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxD,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,OAAO;YACjB,EAAE,EAAE,GAAG,CAAC,KAAK;YACb,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;SACjE,CAAC,CAAC,CAAA;QAEH,MAAM,KAAK,GAAmB;YAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO;YAC1C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS;YAClD,KAAK;YACL,aAAa;YACb,QAAQ,EAAE;gBACR,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACjE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACjE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO;aACnD;SACF,CAAA;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;QAEhE,mDAAmD;QACnD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YAC9D,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC;gBAAC,KAAK,CAAC,QAAgB,CAAC,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAA;YACjE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,SAAS,CAAC,KAAqB;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAEvB,gCAAgC;QAChC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAE5B,IAAI,CAAC;YACH,qEAAqE;YACrE,oEAAoE;YACpE,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAC3B,6GAA6G,CAC9G,CAAA;YACD,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;YAC9C,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YACxC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;YACvD,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;YACvD,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAEzD,wCAAwC;YACxC,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;OAS7B,CAAC,CAAA;YAEF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,UAAU,CAAC,GAAG,CACZ,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,IAAI,IAAI,EACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC7B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,IAAI,IAAI,EACvB,IAAI,CAAC,SAAS,IAAI,IAAI,EACtB,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAC9B,CAAA;YACH,CAAC;YAED,gCAAgC;YAChC,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;OAM5B,CAAC,CAAA;YAEF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACtC,SAAS,CAAC,GAAG,CACX,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,IAAI,EACR,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAC7B,CAAA;YACH,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3D,MAAM,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAA2B,CAAA;YACvF,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAA;YAC/D,KAAK,MAAM,GAAG,IAAI,eAAe;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAEnF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3F,MAAM,uBAAuB,GAAG,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,GAAG,EAA2B,CAAA;YACvG,MAAM,kBAAkB,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAA;YAC/E,KAAK,MAAM,GAAG,IAAI,uBAAuB;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAE3G,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACnB,MAAM,CAAC,CAAA;QACT,CAAC;QAED,qEAAqE;QACrE,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3D,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAmB,CAAA;QACzD,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,QAAQ,CAAC,CAAA;QAChE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3C,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QAC1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAuCE;QAEF,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QACvE,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAEtE,sEAAsE;QACtE,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;YACnD,uDAAuD;YACvD,QAAQ,CAAC,aAAa,EAAE,CAAA;QAC1B,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrC,gDAAgD;YAChD,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;QACnD,CAAC;QAED,2DAA2D;QAC3D,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAEjC,6DAA6D;QAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,CAAC;YACH,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACzC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3D,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,OAAO,CAAA;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC9B,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,cAAc;QACZ,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,YAAY;QACV,OAAO,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrD,CAAC;IAED,eAAe;QACb,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjD,CAAC;IAED,YAAY;QACV,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzB,CAAC;IAED,aAAa,CAAC,SAAiB,EAAE,IAAY,EAAE,WAAoB;QACjE,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,KAAK,GAAmB;YAC5B,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,SAAS;oBACf,IAAI;oBACJ,WAAW;oBACX,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,CAAC;oBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;oBAC/B,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,GAAG;iBAChB;aACF;YACD,aAAa,EAAE,EAAE;YACjB,QAAQ,EAAE;gBACR,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,OAAO;aACrB;SACF,CAAA;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAChE,MAAM,UAAU,GAAG,YAAY,SAAS,EAAE,CAAA;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,OAAO,CAAC,CAAA;QAE1E,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;QAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;QAC1C,SAAS,CAAC,YAAY,EAAE;YACtB,EAAE,EAAE,UAAU;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,WAAW;YACX,WAAW,EAAE,KAAK;SACnB,CAAC,CAAA;QAEF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,aAAa;QACX,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,CAAA;QACnC,OAAO,WAAW,CAAC,OAAO,CAAC;aACxB,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC;IAED,SAAS,CAAC,MAAyB,EAAE,UAAkB;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAE9B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;YACpD,MAAM,IAAI,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAA;YAChD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACrB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,iBAAiB;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mEAAmE;IAEnE,YAAY;QACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,GAAG,EAAS,CAAA;QAC3E,OAAO,MAAM,EAAE,KAAK,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,oBAAoB;QAClB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,GAAG,EAAS,CAAA;QACnF,OAAO,MAAM,EAAE,KAAK,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,cAAc,CAAC,IAAc;QAC3B,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QACvE,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,CAAC,CAAA;QAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3H,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC9D,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;QAEzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAU,CAAA;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACzC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YAChE,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,CAAC,CAAc,CAAA;QAEhB,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;QACtD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,gBAAgB,CAAC,MAAkB;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAU,CAAA;QAClF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACzC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YAChE,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,CAAC,CAAc,CAAA;IAClB,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAA;QACvE,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAC1B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACzC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YAChE,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;SAChB,CAAA;IACd,CAAC;IAED,uBAAuB,CAAC,MAAc;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,4DAA4D,CAC7D,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAA;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,OAAO;YACjB,EAAE,EAAE,GAAG,CAAC,KAAK;YACb,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;SACjE,CAAC,CAAC,CAAA;IACL,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAa,EAAE,IAAe;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAA;QAEpC,IAAI,GAAG,GAAG,mGAAmG,CAAA;QAC7G,MAAM,MAAM,GAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAE/B,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,IAAI,eAAe,CAAA;YACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QAED,GAAG,IAAI,WAAW,CAAA;QAElB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAA;QAClD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACzC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YAChE,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,CAAC,CAAc,CAAA;IAClB,CAAC;IAED,mEAAmE;IAEnE;;OAEG;IACH,cAAc;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAAS,CAAA;QACxE,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAAS,CAAA;QAC/E,OAAO;YACL,SAAS,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC;YAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC;SACzB,CAAA;IACH,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAW,CAAA;QAC7E,MAAM,GAAG,GAA2B,EAAE,CAAA;QACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAA;QAC1B,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,MAAc,EAAE,KAAa,EAAE,IAAa;QAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAEvB,IAAI,QAAQ,GAAG,iCAAiC,CAAA;QAChD,IAAI,OAAO,GAAG,mDAAmD,CAAA;QACjE,MAAM,MAAM,GAAU,EAAE,CAAA;QAExB,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,IAAI,iBAAiB,CAAA;YAC7B,OAAO,IAAI,iBAAiB,CAAA;YAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAQ,CAAA;QACzD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;QAE9B,OAAO,IAAI,uCAAuC,CAAA;QAClD,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAU,CAAA;QAErE,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC,CAAC;YACH,KAAK;SACN,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,uBAAuB,CAAC,MAAc,EAAE,KAAa;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAEvB,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAAS,CAAA;QACjF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;QAE9B,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,qEAAqE,CACtE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAA;QAE7B,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9B,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,OAAO;gBACjB,EAAE,EAAE,GAAG,CAAC,KAAK;gBACb,IAAI,EAAE,GAAG,CAAC,IAAI;aACf,CAAC,CAAC;YACH,KAAK;SACN,CAAA;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,qEAAqE,CACtE,CAAC,GAAG,EAAW,CAAA;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,eAAe;QACb,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,yEAAyE,CAC1E,CAAC,GAAG,EAAW,CAAA;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChE,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,uEAAuE,CACxE,CAAC,GAAG,EAAW,CAAA;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAC,CAAA;IACL,CAAC;IAED;;;OAGG;IACH,0BAA0B;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,oDAAoD,CACrD,CAAC,GAAG,EAAW,CAAA;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,OAAO;YACjB,EAAE,EAAE,GAAG,CAAC,KAAK;YACb,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC,CAAA;IACL,CAAC;IAED;;OAEG;IACH,YAAY;QACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC,GAAG,EAAS,CAAA;QAC9F,OAAO,GAAG,EAAE,KAAK,IAAI,EAAE,CAAA;IACzB,CAAC"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/sdd/persistence/sqlite.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEvD,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAE1F,IAAI,SAAS,GAAG,CAAC,CAAA;AAEjB;;;;;;;;;;GAUG;AACH,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAQ;IACf,MAAM,CAAQ;IACd,EAAE,CAAK;IACP,MAAM,CAAC,KAAK,GAA2F,IAAI,GAAG,EAAE,CAAA;IAExH,YAAY,UAAkB;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC5C,IAAI,CAAC,EAAE,GAAG,IAAI,CAAA;IAChB,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,EAAE,CAAA;QAE3B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEvB,4BAA4B;QAC5B,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;QAC1C,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEnC,yCAAyC;QACzC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QACvC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAEzC,oCAAoC;QACpC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsCZ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;IAED,aAAa;QACX,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;YACvB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC,GAAG,EAAE,CAAA;YAC1F,OAAO,CAAC,CAAC,MAAM,CAAA;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,SAAS;QACP,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QACvE,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,CAAA;QAC7E,MAAM,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;QAEzD,gCAAgC;QAChC,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3D,IAAI,MAAM,EAAE,CAAC;YACX,yEAAyE;YACzE,IAAI,MAAM,CAAC,eAAe,KAAK,sBAAsB,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9G,OAAO,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtC,CAAC;YACD,+CAA+C;YAC/C,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAA;QAC7C,IAAI,QAAQ,EAAE,eAAe,KAAK,sBAAsB,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;YAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACxC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC3C,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;gBAC7B,OAAO;gBACP,eAAe,EAAE,sBAAsB;aACxC,CAAC,CAAA;YACF,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YACtE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAEvB,gBAAgB;QAChB,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAE,CAAA;QACxE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;QACzC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAE,GAAW,CAAC,GAAG,EAAG,GAAW,CAAC,KAAK,CAAC,CAAA;QACnD,CAAC;QAED,iBAAiB;QACjB,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAW,CAAA;QAC/D,MAAM,KAAK,GAAc,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACzC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YAChE,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;YACvC,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;YACrC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,IAAI,SAAS;SACpD,CAAC,CAAc,CAAA;QAEhB,yBAAyB;QACzB,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAW,CAAA;QACtE,MAAM,aAAa,GAAmB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxD,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,OAAO;YACjB,EAAE,EAAE,GAAG,CAAC,KAAK;YACb,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;SACjE,CAAC,CAAC,CAAA;QAEH,MAAM,KAAK,GAAmB;YAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO;YAC1C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS;YAClD,KAAK;YACL,aAAa;YACb,QAAQ,EAAE;gBACR,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACjE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACjE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO;aACnD;SACF,CAAA;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC,CAAA;QAEzG,mDAAmD;QACnD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;YAC9D,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC1B,CAAC;gBAAC,KAAK,CAAC,QAAgB,CAAC,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAA;YACjE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,SAAS,CAAC,KAAqB;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QACvE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;QACjF,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;YAE5B,IAAI,CAAC;gBACH,qEAAqE;gBACrE,oEAAoE;gBACpE,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAC3B,6GAA6G,CAC9G,CAAA;gBACD,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;gBAC9C,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBACxC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACvD,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACvD,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;gBAE3D,wCAAwC;gBACxC,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;OAS7B,CAAC,CAAA;gBAEF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,UAAU,CAAC,GAAG,CACZ,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,IAAI,IAAI,EACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC7B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,IAAI,IAAI,EACvB,IAAI,CAAC,SAAS,IAAI,IAAI,EACtB,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAC9B,CAAA;gBACH,CAAC;gBAED,gCAAgC;gBAChC,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;OAM5B,CAAC,CAAA;gBAEF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACtC,SAAS,CAAC,GAAG,CACX,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,IAAI,EACR,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAC7B,CAAA;gBACH,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC3D,MAAM,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAA2B,CAAA;gBACvF,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAA;gBAC/D,KAAK,MAAM,GAAG,IAAI,eAAe;oBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAEnF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC3F,MAAM,uBAAuB,GAAG,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,GAAG,EAA2B,CAAA;gBACvG,MAAM,kBAAkB,GAAG,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAA;gBAC/E,KAAK,MAAM,GAAG,IAAI,uBAAuB;oBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAEzG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACnB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACnB,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,gBAAgB,EAAE,CAAA;QAC7B,CAAC;QAED,qEAAqE;QACrE,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3D,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAmB,CAAA;QACzD,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,QAAQ,CAAC,CAAA;QAChE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3C,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,CAAA;QAC7E,MAAM,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;QAClD,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;QAC3F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAuCE;QAEF,0BAA0B;QAC1B,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAEtE,sEAAsE;QACtE,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;YACnD,uDAAuD;YACvD,QAAQ,CAAC,aAAa,EAAE,CAAA;QAC1B,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrC,gDAAgD;YAChD,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;QACnD,CAAC;QAED,2DAA2D;QAC3D,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;QAElD,6DAA6D;QAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,CAAC;YACH,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACzC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3D,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,OAAO,CAAA;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC9B,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,cAAc;QACZ,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,YAAY;QACV,OAAO,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrD,CAAC;IAED,eAAe;QACb,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjD,CAAC;IAED,YAAY;QACV,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzB,CAAC;IAED,aAAa,CAAC,SAAiB,EAAE,IAAY,EAAE,WAAoB;QACjE,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,KAAK,GAAmB;YAC5B,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,SAAS;oBACf,IAAI;oBACJ,WAAW;oBACX,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,CAAC;oBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;oBAC/B,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,GAAG;iBAChB;aACF;YACD,aAAa,EAAE,EAAE;YACjB,QAAQ,EAAE;gBACR,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,OAAO;aACrB;SACF,CAAA;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAChE,MAAM,UAAU,GAAG,YAAY,SAAS,EAAE,CAAA;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,OAAO,CAAC,CAAA;QAE1E,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;QAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;QAC1C,SAAS,CAAC,YAAY,EAAE;YACtB,EAAE,EAAE,UAAU;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,WAAW;YACX,WAAW,EAAE,KAAK;SACnB,CAAC,CAAA;QAEF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,aAAa;QACX,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,CAAA;QACnC,OAAO,WAAW,CAAC,OAAO,CAAC;aACxB,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC;IAED,SAAS,CAAC,MAAyB,EAAE,UAAkB;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAE9B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;YACpD,MAAM,IAAI,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAA;YAChD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACrB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,iBAAiB;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mEAAmE;IAEnE,YAAY;QACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,GAAG,EAAS,CAAA;QAC3E,OAAO,MAAM,EAAE,KAAK,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,oBAAoB;QAClB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,GAAG,EAAS,CAAA;QACnF,OAAO,MAAM,EAAE,KAAK,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,cAAc,CAAC,IAAc;QAC3B,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QACvE,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,CAAC,CAAA;QAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3H,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC9D,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;QAEzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAU,CAAA;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACzC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YAChE,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,CAAC,CAAc,CAAA;QAEhB,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;QACtD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,gBAAgB,CAAC,MAAkB;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAU,CAAA;QAClF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACzC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YAChE,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,CAAC,CAAc,CAAA;IAClB,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAA;QACvE,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAC1B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACzC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YAChE,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;SAChB,CAAA;IACd,CAAC;IAED,uBAAuB,CAAC,MAAc;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,4DAA4D,CAC7D,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAA;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,OAAO;YACjB,EAAE,EAAE,GAAG,CAAC,KAAK;YACb,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;SACjE,CAAC,CAAC,CAAA;IACL,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAa,EAAE,IAAe;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAA;QAEpC,IAAI,GAAG,GAAG,mGAAmG,CAAA;QAC7G,MAAM,MAAM,GAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAE/B,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,IAAI,eAAe,CAAA;YACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QAED,GAAG,IAAI,WAAW,CAAA;QAElB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAA;QAClD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACzC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YAChE,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,CAAC,CAAc,CAAA;IAClB,CAAC;IAED,mEAAmE;IAEnE;;OAEG;IACH,cAAc;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAAS,CAAA;QACxE,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAAS,CAAA;QAC/E,OAAO;YACL,SAAS,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC;YAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC;SACzB,CAAA;IACH,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,GAAG,EAAW,CAAA;QAC7E,MAAM,GAAG,GAA2B,EAAE,CAAA;QACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAA;QAC1B,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,MAAc,EAAE,KAAa,EAAE,IAAa;QAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAEvB,IAAI,QAAQ,GAAG,iCAAiC,CAAA;QAChD,IAAI,OAAO,GAAG,mDAAmD,CAAA;QACjE,MAAM,MAAM,GAAU,EAAE,CAAA;QAExB,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,IAAI,iBAAiB,CAAA;YAC7B,OAAO,IAAI,iBAAiB,CAAA;YAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAQ,CAAA;QACzD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;QAE9B,OAAO,IAAI,uCAAuC,CAAA;QAClD,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAU,CAAA;QAErE,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC,CAAC;YACH,KAAK;SACN,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,uBAAuB,CAAC,MAAc,EAAE,KAAa;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAEvB,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAAS,CAAA;QACjF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;QAE9B,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,qEAAqE,CACtE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAA;QAE7B,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9B,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,OAAO;gBACjB,EAAE,EAAE,GAAG,CAAC,KAAK;gBACb,IAAI,EAAE,GAAG,CAAC,IAAI;aACf,CAAC,CAAC;YACH,KAAK;SACN,CAAA;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,qEAAqE,CACtE,CAAC,GAAG,EAAW,CAAA;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,eAAe;QACb,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,yEAAyE,CAC1E,CAAC,GAAG,EAAW,CAAA;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChE,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,uEAAuE,CACxE,CAAC,GAAG,EAAW,CAAA;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAC,CAAA;IACL,CAAC;IAED;;;OAGG;IACH,0BAA0B;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,oDAAoD,CACrD,CAAC,GAAG,EAAW,CAAA;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,OAAO;YACjB,EAAE,EAAE,GAAG,CAAC,KAAK;YACb,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC,CAAA;IACL,CAAC;IAED;;OAEG;IACH,YAAY;QACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC,GAAG,EAAS,CAAA;QAC9F,OAAO,GAAG,EAAE,KAAK,IAAI,EAAE,CAAA;IACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../../src/sdd/persistence/yaml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAItD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAG/C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAU/D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAG/C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAI/D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAYvE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAMlD;AAYD;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAqC;gBAE7C,UAAU,EAAE,MAAM;IAK9B,YAAY,IAAI,IAAI;IASpB,aAAa,IAAI,OAAO;IAIxB,SAAS,IAAI,cAAc;IAwD3B,UAAU,IAAI,YAAY;IAQ1B,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IA2GtC,cAAc,IAAI,MAAM;IAIxB,YAAY,IAAI,OAAO;IAWvB,eAAe,IAAI,IAAI;IAIvB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc;IA8BpF,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAS3C,aAAa,IAAI,MAAM,EAAE;IAQzB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe;IAgBzE,YAAY,IAAI,MAAM;IAatB,oBAAoB,IAAI,MAAM;IAM9B,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,EAAE;IAczC,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,EAAE;IAK/C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAM5C,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;CAIxD"}
1
+ {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../../src/sdd/persistence/yaml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAMtD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAG/C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAU/D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAG/C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAI/D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAYvE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAMlD;AAaD;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAqC;gBAE7C,UAAU,EAAE,MAAM;IAK9B,YAAY,IAAI,IAAI;IASpB,aAAa,IAAI,OAAO;IAIxB,SAAS,IAAI,cAAc;IAgE3B,UAAU,IAAI,YAAY;IAQ1B,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IA8GtC,cAAc,IAAI,MAAM;IAIxB,YAAY,IAAI,OAAO;IAWvB,eAAe,IAAI,IAAI;IAIvB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc;IA8BpF,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAS3C,aAAa,IAAI,MAAM,EAAE;IAQzB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe;IAgBzE,YAAY,IAAI,MAAM;IAatB,oBAAoB,IAAI,MAAM;IAM9B,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,EAAE;IAczC,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,EAAE;IAK/C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAM5C,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;CAIxD"}
@@ -1,8 +1,10 @@
1
1
  import * as yaml from "js-yaml";
2
- import { readFileSync, writeFileSync, existsSync, mkdirSync, readdirSync } from "fs";
2
+ import { readFileSync, existsSync, mkdirSync, readdirSync } from "fs";
3
3
  import { join, dirname } from "path";
4
4
  import { GraphIndices } from "../graph/index.js";
5
5
  import { getCacheManager } from "../cache/manager.js";
6
+ import { atomicWriteFile } from "../cache/atomic.js";
7
+ import { fileSignature } from "../cache/fingerprint.js";
6
8
  import { recordLegitimateSave, validateGraphIntegrity } from "../graph/integrity-guard.js";
7
9
  export function readYaml(filePath) {
8
10
  const content = readFileSync(filePath, "utf-8");
@@ -18,7 +20,7 @@ export function writeYaml(filePath, data) {
18
20
  quotingType: '"',
19
21
  forceQuotes: false,
20
22
  });
21
- writeFileSync(filePath, content, "utf-8");
23
+ atomicWriteFile(filePath, content);
22
24
  }
23
25
  export function readJson(filePath) {
24
26
  const content = readFileSync(filePath, "utf-8");
@@ -28,7 +30,7 @@ export function writeJson(filePath, data) {
28
30
  const dir = dirname(filePath);
29
31
  if (!existsSync(dir))
30
32
  mkdirSync(dir, { recursive: true });
31
- writeFileSync(filePath, JSON.stringify(data, null, 2), "utf-8");
33
+ atomicWriteFile(filePath, JSON.stringify(data, null, 2));
32
34
  }
33
35
  export function ensureDir(dirPath) {
34
36
  if (!existsSync(dirPath)) {
@@ -89,33 +91,35 @@ export class YamlGraphRepository {
89
91
  if (!this.isInitialized()) {
90
92
  throw new Error("SDD not initialized. Run sdd.initialize first.");
91
93
  }
94
+ const cacheMgr = getCacheManager(require("path").dirname(this.baseDir));
95
+ const currentSourceSignature = fileSignature([this.graphPath]);
96
+ const externallyInvalidated = cacheMgr.checkCrossProcessInvalidation(this.graphPath);
92
97
  // Check cache with revalidation
93
98
  const cached = YamlGraphRepository.cache.get(this.graphPath);
94
99
  if (cached) {
95
- // Revalidation: check if file was modified externally
96
- const currentMtime = (() => { try {
97
- return require("fs").statSync(this.graphPath).mtimeMs;
98
- }
99
- catch {
100
- return 0;
101
- } })();
102
- if (currentMtime <= cached.lastModified) {
103
- // Cache is valid — also check incremental hash
104
- const cacheMgr = getCacheManager(require("path").dirname(this.baseDir));
105
- if (cacheMgr.isGraphHashValid(cached.indices.totalNodes + ":" + cached.indices.totalRelationships)) {
106
- // Never expose the cached snapshot itself: callers intentionally
107
- // mutate the graph before saveGraph(), and leaking this reference
108
- // makes old/new comparisons impossible.
109
- return structuredClone(cached.graph);
110
- }
100
+ if (!externallyInvalidated && cached.sourceSignature === currentSourceSignature) {
101
+ // Never expose the cached snapshot itself: callers intentionally
102
+ // mutate the graph before saveGraph(), and leaking this reference
103
+ // makes old/new comparisons impossible.
104
+ return structuredClone(cached.graph);
111
105
  }
112
106
  // File was modified externally or hash mismatch, invalidate cache
113
107
  YamlGraphRepository.cache.delete(this.graphPath);
114
108
  }
115
- // Cross-process check
116
- const cacheMgr = getCacheManager(require("path").dirname(this.baseDir));
117
- if (cacheMgr.checkCrossProcessInvalidation(this.graphPath)) {
109
+ if (externallyInvalidated)
118
110
  YamlGraphRepository.cache.delete(this.graphPath);
111
+ const snapshot = cacheMgr.loadGraphSnapshot();
112
+ if (snapshot?.sourceSignature === currentSourceSignature) {
113
+ const graph = snapshot.graph;
114
+ const indices = GraphIndices.from(graph);
115
+ YamlGraphRepository.cache.set(this.graphPath, {
116
+ graph: structuredClone(graph),
117
+ indices,
118
+ lastModified: Date.now(),
119
+ sourceSignature: currentSourceSignature,
120
+ });
121
+ cacheMgr.initGraphHash(graph.nodes.length, graph.relationships.length);
122
+ return structuredClone(graph);
119
123
  }
120
124
  const graph = readYaml(this.graphPath);
121
125
  const indices = GraphIndices.from(graph);
@@ -129,8 +133,9 @@ export class YamlGraphRepository {
129
133
  graph,
130
134
  indices,
131
135
  lastModified: stat,
136
+ sourceSignature: currentSourceSignature,
132
137
  });
133
- // Initialize incremental hash
138
+ // Initialize the legacy mutation counter used by compatibility APIs.
134
139
  cacheMgr.initGraphHash(graph.nodes.length, graph.relationships.length);
135
140
  // Anti-bypass: check for out-of-band modifications
136
141
  const projectDir = require("path").dirname(this.baseDir);
@@ -156,7 +161,9 @@ export class YamlGraphRepository {
156
161
  this.ensureSddDir();
157
162
  // Acquire cross-process lock
158
163
  const cacheMgr = getCacheManager(require("path").dirname(this.baseDir));
159
- cacheMgr.acquireWriteLock();
164
+ if (!cacheMgr.acquireWriteLock()) {
165
+ throw new Error("Another process is writing the SDD graph; retry the mutation");
166
+ }
160
167
  try {
161
168
  writeYaml(this.graphPath, graph);
162
169
  }
@@ -183,6 +190,7 @@ export class YamlGraphRepository {
183
190
  graph: snapshot,
184
191
  indices,
185
192
  lastModified: Date.now(),
193
+ sourceSignature: fileSignature([this.graphPath]),
186
194
  });
187
195
  /*
188
196
  if (cached) {
@@ -251,7 +259,7 @@ export class YamlGraphRepository {
251
259
  cacheMgr.invalidatePartial([...dirty.dirtyTypes]);
252
260
  }
253
261
  // G: Save graph snapshot to disk for cross-session restore
254
- cacheMgr.saveGraphSnapshot(graph);
262
+ cacheMgr.saveGraphSnapshot(graph, fileSignature([this.graphPath]));
255
263
  }
256
264
  getStorageType() {
257
265
  return "yaml";
@@ -1 +1 @@
1
- {"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../../src/sdd/persistence/yaml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../../src/sdd/persistence/yaml.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-telos",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "OpenCode Telos - Spec-Driven Development plugin with Knowledge Graph enforcement",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -1,8 +1,9 @@
1
- import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "fs"
1
+ import { existsSync, mkdirSync, readFileSync } from "fs"
2
2
  import { join, relative } from "path"
3
3
  import { contentHash } from "./common.js"
4
4
  import { getLanguageParser } from "./registry.js"
5
5
  import type { ParsedFile } from "./ir.js"
6
+ import { atomicWriteFile } from "../../sdd/cache/atomic.js"
6
7
 
7
8
  interface CacheEntry {
8
9
  content_hash: string
@@ -12,7 +13,7 @@ interface CacheEntry {
12
13
  }
13
14
 
14
15
  interface CacheDocument {
15
- version: 1
16
+ version: 2
16
17
  entries: Record<string, CacheEntry>
17
18
  }
18
19
 
@@ -30,7 +31,13 @@ export function loadAstCache(projectDir: string): AstCache {
30
31
  if (!existsSync(path)) return { entries: new Map(), dirty: false }
31
32
  try {
32
33
  const document = JSON.parse(readFileSync(path, "utf-8")) as CacheDocument
33
- return { entries: new Map(Object.entries(document.entries || {})), dirty: false }
34
+ if (document.version !== 2 || !document.entries || typeof document.entries !== "object") {
35
+ return { entries: new Map(), dirty: false }
36
+ }
37
+ const entries = Object.entries(document.entries).filter(([, entry]) =>
38
+ Boolean(entry && entry.content_hash && entry.parser && entry.parser_version && entry.parsed),
39
+ )
40
+ return { entries: new Map(entries), dirty: false }
34
41
  } catch {
35
42
  return { entries: new Map(), dirty: false }
36
43
  }
@@ -55,7 +62,5 @@ export function saveAstCache(projectDir: string, cache: AstCache): void {
55
62
  const directory = join(projectDir, ".sdd")
56
63
  if (!existsSync(directory)) mkdirSync(directory, { recursive: true })
57
64
  const entries = Object.fromEntries(cache.entries)
58
- const temporary = `${cachePath(projectDir)}.tmp`
59
- writeFileSync(temporary, JSON.stringify({ version: 1, entries } satisfies CacheDocument), "utf-8")
60
- renameSync(temporary, cachePath(projectDir))
65
+ atomicWriteFile(cachePath(projectDir), JSON.stringify({ version: 2, entries } satisfies CacheDocument))
61
66
  }
package/src/index.ts CHANGED
@@ -4,7 +4,10 @@ import { createSddHooks } from "./opencode/hooks.js"
4
4
 
5
5
  const SddPlugin: Plugin = async (_ctx) => {
6
6
  const tools = createSddTools()
7
- const hooks = createSddHooks()
7
+ // OpenCode can load npm plugins while its process cwd is unrelated to the
8
+ // active workspace. Always bind hook state to the project directory supplied
9
+ // by the plugin runtime so .sdd stays inside the project.
10
+ const hooks = createSddHooks(_ctx.directory)
8
11
 
9
12
  return {
10
13
  tool: tools,