@ryanstark24/sfgraph-core 1.2.0 → 1.4.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.
Files changed (265) hide show
  1. package/dist/analyze/__tests__/audit-graph.test.js +79 -0
  2. package/dist/analyze/__tests__/audit-graph.test.js.map +1 -1
  3. package/dist/analyze/__tests__/edge-filters.test.d.ts +2 -0
  4. package/dist/analyze/__tests__/edge-filters.test.d.ts.map +1 -0
  5. package/dist/analyze/__tests__/edge-filters.test.js +66 -0
  6. package/dist/analyze/__tests__/edge-filters.test.js.map +1 -0
  7. package/dist/analyze/__tests__/findings.test.js +19 -9
  8. package/dist/analyze/__tests__/findings.test.js.map +1 -1
  9. package/dist/analyze/__tests__/governor-risks-detection.test.js +90 -0
  10. package/dist/analyze/__tests__/governor-risks-detection.test.js.map +1 -1
  11. package/dist/analyze/__tests__/security-fls-filter.test.d.ts +2 -0
  12. package/dist/analyze/__tests__/security-fls-filter.test.d.ts.map +1 -0
  13. package/dist/analyze/__tests__/security-fls-filter.test.js +23 -0
  14. package/dist/analyze/__tests__/security-fls-filter.test.js.map +1 -0
  15. package/dist/analyze/audit-graph.d.ts +26 -2
  16. package/dist/analyze/audit-graph.d.ts.map +1 -1
  17. package/dist/analyze/audit-graph.js +52 -5
  18. package/dist/analyze/audit-graph.js.map +1 -1
  19. package/dist/analyze/dependencies.d.ts +2 -2
  20. package/dist/analyze/dependencies.d.ts.map +1 -1
  21. package/dist/analyze/dependencies.js +9 -3
  22. package/dist/analyze/dependencies.js.map +1 -1
  23. package/dist/analyze/dependents.d.ts +6 -1
  24. package/dist/analyze/dependents.d.ts.map +1 -1
  25. package/dist/analyze/dependents.js +12 -2
  26. package/dist/analyze/dependents.js.map +1 -1
  27. package/dist/analyze/edge-filters.d.ts +37 -0
  28. package/dist/analyze/edge-filters.d.ts.map +1 -0
  29. package/dist/analyze/edge-filters.js +51 -0
  30. package/dist/analyze/edge-filters.js.map +1 -0
  31. package/dist/analyze/find-nodes.d.ts.map +1 -1
  32. package/dist/analyze/find-nodes.js.map +1 -1
  33. package/dist/analyze/findings.d.ts +1 -1
  34. package/dist/analyze/findings.d.ts.map +1 -1
  35. package/dist/analyze/findings.js +1 -3
  36. package/dist/analyze/findings.js.map +1 -1
  37. package/dist/analyze/populate.d.ts.map +1 -1
  38. package/dist/analyze/populate.js +55 -10
  39. package/dist/analyze/populate.js.map +1 -1
  40. package/dist/analyze/security.d.ts +15 -0
  41. package/dist/analyze/security.d.ts.map +1 -1
  42. package/dist/analyze/security.js +59 -3
  43. package/dist/analyze/security.js.map +1 -1
  44. package/dist/analyze/wip-impact.d.ts.map +1 -1
  45. package/dist/analyze/wip-impact.js +12 -2
  46. package/dist/analyze/wip-impact.js.map +1 -1
  47. package/dist/domain/metadata-category.d.ts +1 -0
  48. package/dist/domain/metadata-category.d.ts.map +1 -1
  49. package/dist/domain/metadata-category.js +1 -0
  50. package/dist/domain/metadata-category.js.map +1 -1
  51. package/dist/embedding/embed.d.ts.map +1 -1
  52. package/dist/embedding/embed.js +14 -1
  53. package/dist/embedding/embed.js.map +1 -1
  54. package/dist/extractors/interfaces/metadata-source.d.ts +11 -0
  55. package/dist/extractors/interfaces/metadata-source.d.ts.map +1 -1
  56. package/dist/extractors/live-org/__tests__/bulk-retrieve.test.js.map +1 -1
  57. package/dist/extractors/live-org/__tests__/custom-settings.test.d.ts +2 -0
  58. package/dist/extractors/live-org/__tests__/custom-settings.test.d.ts.map +1 -0
  59. package/dist/extractors/live-org/__tests__/custom-settings.test.js +79 -0
  60. package/dist/extractors/live-org/__tests__/custom-settings.test.js.map +1 -0
  61. package/dist/extractors/live-org/__tests__/extractor-enrichment.test.js +70 -8
  62. package/dist/extractors/live-org/__tests__/extractor-enrichment.test.js.map +1 -1
  63. package/dist/extractors/live-org/__tests__/mcd-baseline.test.js +9 -6
  64. package/dist/extractors/live-org/__tests__/mcd-baseline.test.js.map +1 -1
  65. package/dist/extractors/live-org/__tests__/metadata-read-batch.test.js +1 -1
  66. package/dist/extractors/live-org/__tests__/metadata-read-batch.test.js.map +1 -1
  67. package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.js +1 -1
  68. package/dist/extractors/live-org/__tests__/omnistudio-retrieve.test.js.map +1 -1
  69. package/dist/extractors/live-org/__tests__/pools.test.js +4 -1
  70. package/dist/extractors/live-org/__tests__/pools.test.js.map +1 -1
  71. package/dist/extractors/live-org/__tests__/rate-limit.test.js +1 -6
  72. package/dist/extractors/live-org/__tests__/rate-limit.test.js.map +1 -1
  73. package/dist/extractors/live-org/__tests__/soql-rebatch.test.js.map +1 -1
  74. package/dist/extractors/live-org/__tests__/stop-waiting.test.d.ts +2 -0
  75. package/dist/extractors/live-org/__tests__/stop-waiting.test.d.ts.map +1 -0
  76. package/dist/extractors/live-org/__tests__/stop-waiting.test.js +243 -0
  77. package/dist/extractors/live-org/__tests__/stop-waiting.test.js.map +1 -0
  78. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.d.ts +2 -0
  79. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.d.ts.map +1 -0
  80. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.js +40 -0
  81. package/dist/extractors/live-org/__tests__/watchdog-budgets.test.js.map +1 -0
  82. package/dist/extractors/live-org/__tests__/wedge-isolation.test.d.ts +2 -0
  83. package/dist/extractors/live-org/__tests__/wedge-isolation.test.d.ts.map +1 -0
  84. package/dist/extractors/live-org/__tests__/wedge-isolation.test.js +270 -0
  85. package/dist/extractors/live-org/__tests__/wedge-isolation.test.js.map +1 -0
  86. package/dist/extractors/live-org/bulk-retrieve.d.ts +169 -0
  87. package/dist/extractors/live-org/bulk-retrieve.d.ts.map +1 -1
  88. package/dist/extractors/live-org/bulk-retrieve.js +499 -70
  89. package/dist/extractors/live-org/bulk-retrieve.js.map +1 -1
  90. package/dist/extractors/live-org/capabilities.d.ts.map +1 -1
  91. package/dist/extractors/live-org/capabilities.js.map +1 -1
  92. package/dist/extractors/live-org/extractors/__tests__/apex.test.d.ts +2 -0
  93. package/dist/extractors/live-org/extractors/__tests__/apex.test.d.ts.map +1 -0
  94. package/dist/extractors/live-org/extractors/__tests__/apex.test.js +73 -0
  95. package/dist/extractors/live-org/extractors/__tests__/apex.test.js.map +1 -0
  96. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.d.ts +2 -0
  97. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.d.ts.map +1 -0
  98. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.js +183 -0
  99. package/dist/extractors/live-org/extractors/__tests__/lwc.parallel.test.js.map +1 -0
  100. package/dist/extractors/live-org/extractors/apex.d.ts.map +1 -1
  101. package/dist/extractors/live-org/extractors/apex.js +76 -51
  102. package/dist/extractors/live-org/extractors/apex.js.map +1 -1
  103. package/dist/extractors/live-org/extractors/custom-settings.d.ts +3 -0
  104. package/dist/extractors/live-org/extractors/custom-settings.d.ts.map +1 -0
  105. package/dist/extractors/live-org/extractors/custom-settings.js +66 -0
  106. package/dist/extractors/live-org/extractors/custom-settings.js.map +1 -0
  107. package/dist/extractors/live-org/extractors/flow.d.ts.map +1 -1
  108. package/dist/extractors/live-org/extractors/flow.js.map +1 -1
  109. package/dist/extractors/live-org/extractors/generic-metadata.d.ts.map +1 -1
  110. package/dist/extractors/live-org/extractors/generic-metadata.js.map +1 -1
  111. package/dist/extractors/live-org/extractors/generic-sobject.js.map +1 -1
  112. package/dist/extractors/live-org/extractors/lwc.d.ts.map +1 -1
  113. package/dist/extractors/live-org/extractors/lwc.js +81 -41
  114. package/dist/extractors/live-org/extractors/lwc.js.map +1 -1
  115. package/dist/extractors/live-org/extractors/mcd-baseline.d.ts.map +1 -1
  116. package/dist/extractors/live-org/extractors/mcd-baseline.js +2 -4
  117. package/dist/extractors/live-org/extractors/mcd-baseline.js.map +1 -1
  118. package/dist/extractors/live-org/extractors/object.d.ts.map +1 -1
  119. package/dist/extractors/live-org/extractors/object.js.map +1 -1
  120. package/dist/extractors/live-org/extractors/omnistudio-retrieve.d.ts.map +1 -1
  121. package/dist/extractors/live-org/extractors/omnistudio-retrieve.js.map +1 -1
  122. package/dist/extractors/live-org/extractors/omnistudio.d.ts +8 -1
  123. package/dist/extractors/live-org/extractors/omnistudio.d.ts.map +1 -1
  124. package/dist/extractors/live-org/extractors/omnistudio.js +59 -6
  125. package/dist/extractors/live-org/extractors/omnistudio.js.map +1 -1
  126. package/dist/extractors/live-org/rate-limit.d.ts +41 -15
  127. package/dist/extractors/live-org/rate-limit.d.ts.map +1 -1
  128. package/dist/extractors/live-org/rate-limit.js +185 -33
  129. package/dist/extractors/live-org/rate-limit.js.map +1 -1
  130. package/dist/extractors/live-org/vlocity/runner.d.ts.map +1 -1
  131. package/dist/extractors/live-org/vlocity/runner.js +30 -6
  132. package/dist/extractors/live-org/vlocity/runner.js.map +1 -1
  133. package/dist/ingest/__tests__/config-values.test.d.ts +2 -0
  134. package/dist/ingest/__tests__/config-values.test.d.ts.map +1 -0
  135. package/dist/ingest/__tests__/config-values.test.js +65 -0
  136. package/dist/ingest/__tests__/config-values.test.js.map +1 -0
  137. package/dist/ingest/__tests__/full-sync-deletion.test.js +11 -4
  138. package/dist/ingest/__tests__/full-sync-deletion.test.js.map +1 -1
  139. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.d.ts +10 -0
  140. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.d.ts.map +1 -0
  141. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.js +251 -0
  142. package/dist/ingest/__tests__/live-ingest.detect-deletions-guard.test.js.map +1 -0
  143. package/dist/ingest/__tests__/live-ingest.test.js.map +1 -1
  144. package/dist/ingest/__tests__/parser-dispatch.test.d.ts +2 -0
  145. package/dist/ingest/__tests__/parser-dispatch.test.d.ts.map +1 -0
  146. package/dist/ingest/__tests__/parser-dispatch.test.js +55 -0
  147. package/dist/ingest/__tests__/parser-dispatch.test.js.map +1 -0
  148. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.d.ts +2 -0
  149. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.d.ts.map +1 -0
  150. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.js +134 -0
  151. package/dist/ingest/__tests__/vlocity-dispatch-integration.test.js.map +1 -0
  152. package/dist/ingest/detect-deletions-guard.d.ts +45 -0
  153. package/dist/ingest/detect-deletions-guard.d.ts.map +1 -0
  154. package/dist/ingest/detect-deletions-guard.js +63 -0
  155. package/dist/ingest/detect-deletions-guard.js.map +1 -0
  156. package/dist/ingest/live-ingest.d.ts +16 -0
  157. package/dist/ingest/live-ingest.d.ts.map +1 -1
  158. package/dist/ingest/live-ingest.js +776 -549
  159. package/dist/ingest/live-ingest.js.map +1 -1
  160. package/dist/parsers/__tests__/datatransform-structured.test.d.ts +2 -0
  161. package/dist/parsers/__tests__/datatransform-structured.test.d.ts.map +1 -0
  162. package/dist/parsers/__tests__/datatransform-structured.test.js +147 -0
  163. package/dist/parsers/__tests__/datatransform-structured.test.js.map +1 -0
  164. package/dist/parsers/__tests__/edge-provenance.test.js +4 -1
  165. package/dist/parsers/__tests__/edge-provenance.test.js.map +1 -1
  166. package/dist/parsers/__tests__/lwc-bindings.test.js +6 -3
  167. package/dist/parsers/__tests__/lwc-bindings.test.js.map +1 -1
  168. package/dist/parsers/__tests__/object-inline-fields.test.js +2 -2
  169. package/dist/parsers/__tests__/object-inline-fields.test.js.map +1 -1
  170. package/dist/parsers/__tests__/omnistudio.golden.test.js +5 -6
  171. package/dist/parsers/__tests__/omnistudio.golden.test.js.map +1 -1
  172. package/dist/parsers/__tests__/vlocity.golden.test.js +9 -13
  173. package/dist/parsers/__tests__/vlocity.golden.test.js.map +1 -1
  174. package/dist/parsers/apex/__tests__/ast-extractor.test.js +64 -4
  175. package/dist/parsers/apex/__tests__/ast-extractor.test.js.map +1 -1
  176. package/dist/parsers/apex/__tests__/empty-body.test.d.ts +2 -0
  177. package/dist/parsers/apex/__tests__/empty-body.test.d.ts.map +1 -0
  178. package/dist/parsers/apex/__tests__/empty-body.test.js +40 -0
  179. package/dist/parsers/apex/__tests__/empty-body.test.js.map +1 -0
  180. package/dist/parsers/apex/__tests__/is-test-attribute.test.js +4 -2
  181. package/dist/parsers/apex/__tests__/is-test-attribute.test.js.map +1 -1
  182. package/dist/parsers/apex/__tests__/regex-arg-count.test.js +1 -1
  183. package/dist/parsers/apex/__tests__/regex-arg-count.test.js.map +1 -1
  184. package/dist/parsers/apex/__tests__/regex-inloop.test.d.ts +2 -0
  185. package/dist/parsers/apex/__tests__/regex-inloop.test.d.ts.map +1 -0
  186. package/dist/parsers/apex/__tests__/regex-inloop.test.js +70 -0
  187. package/dist/parsers/apex/__tests__/regex-inloop.test.js.map +1 -0
  188. package/dist/parsers/apex/arity-resolver.d.ts.map +1 -1
  189. package/dist/parsers/apex/arity-resolver.js.map +1 -1
  190. package/dist/parsers/apex/ast-extractor.d.ts.map +1 -1
  191. package/dist/parsers/apex/ast-extractor.js +33 -1
  192. package/dist/parsers/apex/ast-extractor.js.map +1 -1
  193. package/dist/parsers/apex/class.d.ts.map +1 -1
  194. package/dist/parsers/apex/class.js +62 -3
  195. package/dist/parsers/apex/class.js.map +1 -1
  196. package/dist/parsers/apex/trigger.d.ts.map +1 -1
  197. package/dist/parsers/apex/trigger.js +10 -0
  198. package/dist/parsers/apex/trigger.js.map +1 -1
  199. package/dist/parsers/flow/__tests__/invocable-resolver.test.js.map +1 -1
  200. package/dist/parsers/flow/invocable-resolver.d.ts.map +1 -1
  201. package/dist/parsers/flow/invocable-resolver.js.map +1 -1
  202. package/dist/parsers/generic/reflection-walker.d.ts.map +1 -1
  203. package/dist/parsers/generic/reflection-walker.js +1 -3
  204. package/dist/parsers/generic/reflection-walker.js.map +1 -1
  205. package/dist/parsers/lwc/html-visitor.d.ts.map +1 -1
  206. package/dist/parsers/lwc/html-visitor.js +3 -2
  207. package/dist/parsers/lwc/html-visitor.js.map +1 -1
  208. package/dist/parsers/lwc/js-visitor.d.ts.map +1 -1
  209. package/dist/parsers/lwc/js-visitor.js +6 -2
  210. package/dist/parsers/lwc/js-visitor.js.map +1 -1
  211. package/dist/parsers/object/object.d.ts.map +1 -1
  212. package/dist/parsers/object/object.js +1 -5
  213. package/dist/parsers/object/object.js.map +1 -1
  214. package/dist/parsers/omnistudio/data-transform.d.ts.map +1 -1
  215. package/dist/parsers/omnistudio/data-transform.js +39 -6
  216. package/dist/parsers/omnistudio/data-transform.js.map +1 -1
  217. package/dist/parsers/omnistudio/integration-procedure.d.ts.map +1 -1
  218. package/dist/parsers/omnistudio/integration-procedure.js +3 -2
  219. package/dist/parsers/omnistudio/integration-procedure.js.map +1 -1
  220. package/dist/parsers/omnistudio/overlap-detector.d.ts.map +1 -1
  221. package/dist/parsers/omnistudio/overlap-detector.js +2 -9
  222. package/dist/parsers/omnistudio/overlap-detector.js.map +1 -1
  223. package/dist/parsers/omnistudio/process.d.ts.map +1 -1
  224. package/dist/parsers/omnistudio/process.js +3 -2
  225. package/dist/parsers/omnistudio/process.js.map +1 -1
  226. package/dist/parsers/omnistudio/ui-card.d.ts.map +1 -1
  227. package/dist/parsers/omnistudio/ui-card.js +3 -2
  228. package/dist/parsers/omnistudio/ui-card.js.map +1 -1
  229. package/dist/parsers/rules/custom-metadata-type.yml +7 -0
  230. package/dist/parsers/rules/custom-setting.yml +24 -0
  231. package/dist/parsers/vlocity/common.d.ts +16 -0
  232. package/dist/parsers/vlocity/common.d.ts.map +1 -1
  233. package/dist/parsers/vlocity/common.js +62 -0
  234. package/dist/parsers/vlocity/common.js.map +1 -1
  235. package/dist/parsers/vlocity/data-raptor.d.ts.map +1 -1
  236. package/dist/parsers/vlocity/data-raptor.js +43 -14
  237. package/dist/parsers/vlocity/data-raptor.js.map +1 -1
  238. package/dist/render/__tests__/sarif.test.js +1 -4
  239. package/dist/render/__tests__/sarif.test.js.map +1 -1
  240. package/dist/render/sarif.d.ts.map +1 -1
  241. package/dist/render/sarif.js +1 -3
  242. package/dist/render/sarif.js.map +1 -1
  243. package/dist/storage/__tests__/analysis-tables-migration.test.js +1 -1
  244. package/dist/storage/__tests__/graph-store.test.js +13 -0
  245. package/dist/storage/__tests__/graph-store.test.js.map +1 -1
  246. package/dist/storage/__tests__/migrations.test.js +4 -4
  247. package/dist/storage/__tests__/rename-stability.test.js.map +1 -1
  248. package/dist/storage/__tests__/sync-generation.test.d.ts +2 -0
  249. package/dist/storage/__tests__/sync-generation.test.d.ts.map +1 -0
  250. package/dist/storage/__tests__/sync-generation.test.js +159 -0
  251. package/dist/storage/__tests__/sync-generation.test.js.map +1 -0
  252. package/dist/storage/interfaces.d.ts +57 -0
  253. package/dist/storage/interfaces.d.ts.map +1 -1
  254. package/dist/storage/sqlite/graph-store.d.ts +15 -1
  255. package/dist/storage/sqlite/graph-store.d.ts.map +1 -1
  256. package/dist/storage/sqlite/graph-store.js +78 -0
  257. package/dist/storage/sqlite/graph-store.js.map +1 -1
  258. package/dist/storage/sqlite/migrations.d.ts.map +1 -1
  259. package/dist/storage/sqlite/migrations.js +19 -0
  260. package/dist/storage/sqlite/migrations.js.map +1 -1
  261. package/dist/storage/sqlite/rename-stability.d.ts +1 -1
  262. package/dist/storage/sqlite/rename-stability.d.ts.map +1 -1
  263. package/dist/storage/sqlite/rename-stability.js +2 -6
  264. package/dist/storage/sqlite/rename-stability.js.map +1 -1
  265. package/package.json +1 -1
@@ -0,0 +1,159 @@
1
+ import { mkdtempSync, rmSync } from "node:fs";
2
+ import { tmpdir } from "node:os";
3
+ import path from "node:path";
4
+ import { asOrgId } from "@ryanstark24/sfgraph-shared";
5
+ import { afterEach, beforeEach, describe, expect, it } from "vitest";
6
+ import { SqliteGraphStore } from "../sqlite/graph-store.js";
7
+ // W1.5-08: sync-generation counter + in-progress flag tests. These all
8
+ // exercise the additive ALTER TABLE migration on `_sfgraph_orgs` plus the
9
+ // four lifecycle helpers (markSyncStarted / markSyncComplete / markSyncFailed
10
+ // / getSyncStatus).
11
+ let workDir;
12
+ let store;
13
+ const ORG = asOrgId("org-w1508");
14
+ function freshOrg() {
15
+ return {
16
+ id: ORG,
17
+ alias: "DevHub",
18
+ instanceUrl: "https://example.my.salesforce.com",
19
+ apiVersion: "62.0",
20
+ createdAt: 1,
21
+ };
22
+ }
23
+ beforeEach(async () => {
24
+ workDir = mkdtempSync(path.join(tmpdir(), "sfg-syncgen-"));
25
+ store = new SqliteGraphStore({
26
+ dbPath: path.join(workDir, "g.sqlite"),
27
+ backupDir: path.join(workDir, "bkp"),
28
+ });
29
+ await store.init();
30
+ store.upsertOrg(freshOrg());
31
+ });
32
+ afterEach(async () => {
33
+ await store.close();
34
+ rmSync(workDir, { recursive: true, force: true });
35
+ });
36
+ describe("W1.5-08 sync-generation lifecycle", () => {
37
+ it("default state for a freshly-upserted org is (0, false, null, null)", () => {
38
+ const s = store.getSyncStatus(ORG);
39
+ expect(s).toEqual({
40
+ generation: 0,
41
+ in_progress: false,
42
+ started_at: null,
43
+ last_sync_at: null,
44
+ });
45
+ });
46
+ it("markSyncStarted sets in_progress=true and started_at, generation stays 0", () => {
47
+ const iso = new Date("2025-01-01T00:00:00Z").toISOString();
48
+ store.markSyncStarted(ORG, iso);
49
+ const s = store.getSyncStatus(ORG);
50
+ expect(s.in_progress).toBe(true);
51
+ expect(s.started_at).toBe(iso);
52
+ expect(s.generation).toBe(0);
53
+ expect(s.last_sync_at).toBeNull();
54
+ });
55
+ it("markSyncComplete increments generation, clears in_progress and started_at, updates last_sync_at", () => {
56
+ const startIso = "2025-01-01T00:00:00Z";
57
+ const endIso = "2025-01-01T00:05:00Z";
58
+ store.markSyncStarted(ORG, startIso);
59
+ store.markSyncComplete(ORG, endIso);
60
+ const s = store.getSyncStatus(ORG);
61
+ expect(s.generation).toBe(1);
62
+ expect(s.in_progress).toBe(false);
63
+ expect(s.started_at).toBeNull();
64
+ expect(s.last_sync_at).toBe(Date.parse(endIso));
65
+ });
66
+ it("markSyncFailed clears in_progress and started_at but does NOT increment generation", () => {
67
+ store.markSyncStarted(ORG, "2025-01-01T00:00:00Z");
68
+ store.markSyncFailed(ORG);
69
+ const s = store.getSyncStatus(ORG);
70
+ expect(s.generation).toBe(0);
71
+ expect(s.in_progress).toBe(false);
72
+ expect(s.started_at).toBeNull();
73
+ expect(s.last_sync_at).toBeNull();
74
+ });
75
+ it("getSyncStatus returns combined state at each lifecycle stage", () => {
76
+ // Pre-start
77
+ expect(store.getSyncStatus(ORG).in_progress).toBe(false);
78
+ // In flight
79
+ store.markSyncStarted(ORG, "2025-01-01T00:00:00Z");
80
+ expect(store.getSyncStatus(ORG)).toMatchObject({
81
+ generation: 0,
82
+ in_progress: true,
83
+ started_at: "2025-01-01T00:00:00Z",
84
+ });
85
+ // Complete
86
+ store.markSyncComplete(ORG, "2025-01-01T00:01:00Z");
87
+ expect(store.getSyncStatus(ORG)).toMatchObject({
88
+ generation: 1,
89
+ in_progress: false,
90
+ started_at: null,
91
+ });
92
+ });
93
+ it("generation is monotonic across three successful ingests (0 -> 1 -> 2 -> 3)", () => {
94
+ expect(store.getSyncStatus(ORG).generation).toBe(0);
95
+ for (let i = 1; i <= 3; i += 1) {
96
+ store.markSyncStarted(ORG, new Date(1_700_000_000_000 + i).toISOString());
97
+ store.markSyncComplete(ORG, new Date(1_700_000_000_000 + i * 1000).toISOString());
98
+ expect(store.getSyncStatus(ORG).generation).toBe(i);
99
+ }
100
+ });
101
+ it("failed ingest does not increment generation even when sandwiched between successes", () => {
102
+ store.markSyncStarted(ORG, "2025-01-01T00:00:00Z");
103
+ store.markSyncComplete(ORG, "2025-01-01T00:01:00Z");
104
+ expect(store.getSyncStatus(ORG).generation).toBe(1);
105
+ // Failed in the middle — generation should still be 1.
106
+ store.markSyncStarted(ORG, "2025-01-02T00:00:00Z");
107
+ store.markSyncFailed(ORG);
108
+ expect(store.getSyncStatus(ORG).generation).toBe(1);
109
+ // Next success brings us to 2 (not 3).
110
+ store.markSyncStarted(ORG, "2025-01-03T00:00:00Z");
111
+ store.markSyncComplete(ORG, "2025-01-03T00:01:00Z");
112
+ expect(store.getSyncStatus(ORG).generation).toBe(2);
113
+ });
114
+ it("getSyncStatus on an unknown org returns the zero-defaults block", () => {
115
+ const s = store.getSyncStatus(asOrgId("does-not-exist"));
116
+ expect(s).toEqual({
117
+ generation: 0,
118
+ in_progress: false,
119
+ started_at: null,
120
+ last_sync_at: null,
121
+ });
122
+ });
123
+ it("migration is idempotent — reopening an existing DB does not error", async () => {
124
+ // Drive state into the DB, close, reopen via a fresh store.
125
+ store.markSyncStarted(ORG, "2025-01-01T00:00:00Z");
126
+ store.markSyncComplete(ORG, "2025-01-01T00:01:00Z");
127
+ const dbPath = path.join(workDir, "g.sqlite");
128
+ await store.close();
129
+ const reopened = new SqliteGraphStore({
130
+ dbPath,
131
+ backupDir: path.join(workDir, "bkp"),
132
+ });
133
+ await reopened.init();
134
+ const s = reopened.getSyncStatus(ORG);
135
+ expect(s.generation).toBe(1);
136
+ expect(s.in_progress).toBe(false);
137
+ await reopened.close();
138
+ // Reassign so afterEach's close() is a no-op on the closed handle.
139
+ store = new SqliteGraphStore({ dbPath, backupDir: path.join(workDir, "bkp") });
140
+ await store.init();
141
+ });
142
+ it("markSyncComplete uses a transaction — readers never see partial state", () => {
143
+ // We can't truly observe a partial state in single-threaded better-sqlite3,
144
+ // but we can at least assert that all four mutations land together.
145
+ store.markSyncStarted(ORG, "2025-01-01T00:00:00Z");
146
+ store.markSyncComplete(ORG, "2025-01-01T00:01:00Z");
147
+ const s = store.getSyncStatus(ORG);
148
+ // All four mutations must have applied — if any one didn't, this fails.
149
+ expect(s.generation).toBe(1);
150
+ expect(s.in_progress).toBe(false);
151
+ expect(s.started_at).toBeNull();
152
+ expect(s.last_sync_at).toBe(Date.parse("2025-01-01T00:01:00Z"));
153
+ });
154
+ it("invalid ISO timestamps to markSyncStarted / markSyncComplete throw", () => {
155
+ expect(() => store.markSyncStarted(ORG, "not-an-iso")).toThrow();
156
+ expect(() => store.markSyncComplete(ORG, "")).toThrow();
157
+ });
158
+ });
159
+ //# sourceMappingURL=sync-generation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-generation.test.js","sourceRoot":"","sources":["../../../src/storage/__tests__/sync-generation.test.ts"],"names":[],"mappings":"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"}
@@ -29,12 +29,65 @@ export interface SnippetUpsertResult {
29
29
  updated: boolean;
30
30
  unchanged: boolean;
31
31
  }
32
+ /**
33
+ * W1.5-08: combined sync-state snapshot read by MCP tool responses so
34
+ * concurrent readers can detect "the graph is currently being rewritten"
35
+ * without requiring a global ingest transaction or snapshot isolation.
36
+ *
37
+ * - `generation` is monotonic across successful ingests. It does NOT
38
+ * change when an ingest fails (markSyncFailed leaves it alone).
39
+ * - `in_progress` is true while an ingest holds the org (between
40
+ * markSyncStarted and markSyncComplete/Failed).
41
+ * - `started_at` is the ISO timestamp of the in-flight ingest, or null
42
+ * when no ingest is running.
43
+ * - `last_sync_at` is the unix-ms timestamp of the last successful
44
+ * completion (the existing `last_synced_at` column).
45
+ */
46
+ export interface SyncStatus {
47
+ generation: number;
48
+ in_progress: boolean;
49
+ started_at: string | null;
50
+ last_sync_at: number | null;
51
+ }
32
52
  export interface GraphStore {
33
53
  init(): Promise<void>;
34
54
  close(): Promise<void>;
35
55
  upsertOrg(org: Org): void;
36
56
  getOrg(id: OrgId): Org | null;
37
57
  touchSync(orgId: OrgId, iso: string): void;
58
+ /**
59
+ * W1.5-08 lifecycle: flag the start of an ingest. Sets `sync_in_progress = 1`
60
+ * and `sync_started_at = NOW_ISO`. Does NOT increment `sync_generation`
61
+ * yet — the counter only advances on successful completion via
62
+ * `markSyncComplete`. Called from the very top of the ingest function so
63
+ * concurrent MCP readers see `staleness.in_progress: true` for the entire
64
+ * sync duration.
65
+ */
66
+ markSyncStarted(orgId: OrgId, startedAtIso: string): void;
67
+ /**
68
+ * W1.5-08 lifecycle: flag a successful ingest completion. In one
69
+ * transaction: increments `sync_generation` by 1, clears
70
+ * `sync_in_progress`, clears `sync_started_at`, and updates
71
+ * `last_synced_at` to the supplied completion timestamp. Pairs with
72
+ * `markSyncStarted`; intentionally distinct from `markSyncFailed`
73
+ * because the generation counter must only advance on success.
74
+ */
75
+ markSyncComplete(orgId: OrgId, completedAtIso: string): void;
76
+ /**
77
+ * W1.5-08 lifecycle: flag an ingest that threw. Clears
78
+ * `sync_in_progress` and `sync_started_at` but leaves both
79
+ * `sync_generation` and `last_synced_at` unchanged so failed runs do
80
+ * not look like fresh data to readers.
81
+ */
82
+ markSyncFailed(orgId: OrgId): void;
83
+ /**
84
+ * W1.5-08: combined sync-state read used by the MCP tool dispatcher to
85
+ * attach a `staleness` block on every response. Returns sensible
86
+ * defaults (generation=0, in_progress=false, both timestamps null) when
87
+ * the org row does not exist yet so callers do not need to special-case
88
+ * "first ingest hasn't run".
89
+ */
90
+ getSyncStatus(orgId: OrgId): SyncStatus;
38
91
  deleteNode(orgId: OrgId, qname: QualifiedName): void;
39
92
  deleteEdgesFor(orgId: OrgId, qname: QualifiedName): void;
40
93
  mergeNodes(facts: NodeFact[]): MergeResult;
@@ -57,6 +110,10 @@ export interface GraphStore {
57
110
  * find-nodes glob matching to enumerate label tables. */
58
111
  listAllLabels(): string[];
59
112
  countNodes(orgId: OrgId): number;
113
+ /** Count nodes of a given label for `orgId`. Returns 0 if the label table
114
+ * has not yet been created. Used by the W1.5-07 detect-deletions guard
115
+ * to compute per-label drop ratios before mass-wiping nodes. */
116
+ countNodesByLabel(orgId: OrgId, label: string): number;
60
117
  countEdges(orgId: OrgId): number;
61
118
  transaction<T>(fn: () => T): T;
62
119
  upsertSnippet(rec: SnippetRecord): SnippetUpsertResult;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/storage/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/storage/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAErF,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAEtD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5F,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,EAAE,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;;;;;OAOG;IACH,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1D;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7D;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACnC;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC;IACxC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACrD,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACzD,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAC3C,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAC3C,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC7D,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;IAC1E,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,CAAC;IAC/E,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,CAAC;IAC7E;;6FAEyF;IACzF,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;IACjG,yDAAyD;IACzD,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACzF;uDACmD;IACnD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;IAC5D,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,EAAE,CAAC;IAC7C;8DAC0D;IAC1D,aAAa,IAAI,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACjC;;qEAEiE;IACjE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvD,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,mBAAmB,CAAC;IACvD,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,aAAa,GAAG,IAAI,CAAC;IACrE,wBAAwB,CACtB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,EACpB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IACX,8BAA8B,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;CAC/E;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,gBAAgB,CACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,GAClB,kBAAkB,CAAC;IACtB,kBAAkB,CAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,GAClB,kBAAkB,CAAC;IACtB,WAAW,CACT,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,YAAY,EACnB,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACxB,aAAa,EAAE,CAAC;IACnB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE,CAAC;IAC/E,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACvC;;8EAE0E;IAC1E,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,QAAQ,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IACvE,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxF,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxF,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CACjD"}
@@ -1,6 +1,6 @@
1
1
  import type { OrgId, QualifiedName } from "@ryanstark24/sfgraph-shared";
2
2
  import type { EdgeFact, NodeFact, Org, RelType } from "../../domain/index.js";
3
- import type { BetterSqlite3Database, GraphStore, MergeResult, SnippetRecord, SnippetUpsertResult } from "../interfaces.js";
3
+ import type { BetterSqlite3Database, GraphStore, MergeResult, SnippetRecord, SnippetUpsertResult, SyncStatus } from "../interfaces.js";
4
4
  export interface SqliteGraphStoreOptions {
5
5
  dbPath: string;
6
6
  backupDir?: string;
@@ -34,6 +34,10 @@ export declare class SqliteGraphStore implements GraphStore {
34
34
  upsertOrg(org: Org): void;
35
35
  getOrg(id: OrgId): Org | null;
36
36
  touchSync(orgId: OrgId, iso: string): void;
37
+ markSyncStarted(orgId: OrgId, startedAtIso: string): void;
38
+ markSyncComplete(orgId: OrgId, completedAtIso: string): void;
39
+ markSyncFailed(orgId: OrgId): void;
40
+ getSyncStatus(orgId: OrgId): SyncStatus;
37
41
  deleteNode(orgId: OrgId, qname: QualifiedName): void;
38
42
  deleteEdgesFor(orgId: OrgId, qname: QualifiedName): void;
39
43
  mergeNodes(facts: NodeFact[]): MergeResult;
@@ -65,6 +69,16 @@ export declare class SqliteGraphStore implements GraphStore {
65
69
  */
66
70
  listAllLabels(): string[];
67
71
  countNodes(orgId: OrgId): number;
72
+ /**
73
+ * Count nodes of `label` for `orgId`. Returns 0 if the label table has
74
+ * not been created yet. Used by the W1.5-07 detect-deletions guard.
75
+ *
76
+ * Note: a similar helper `countNodes(orgId)` already exists for whole-org
77
+ * counts, but it sums across all labels. The guard needs per-label
78
+ * precision to compute drop ratios per deletion-target, so a dedicated
79
+ * helper is added rather than overloading countNodes.
80
+ */
81
+ countNodesByLabel(orgId: OrgId, label: string): number;
68
82
  countEdges(orgId: OrgId): number;
69
83
  transaction<T>(fn: () => T): T;
70
84
  upsertSnippet(rec: SnippetRecord): SnippetUpsertResult;
@@ -1 +1 @@
1
- {"version":3,"file":"graph-store.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/graph-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-store.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/graph-store.ts"],"names":[],"mappings":"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"}
@@ -224,6 +224,68 @@ export class SqliteGraphStore {
224
224
  }
225
225
  this.db.prepare("UPDATE _sfgraph_orgs SET last_synced_at = ? WHERE id = ?").run(ts, orgId);
226
226
  }
227
+ // ─── W1.5-08: sync-generation lifecycle ────────────────────────────────────
228
+ // Three helpers (started / complete / failed) plus a getter. The shape is
229
+ // designed so concurrent MCP readers can answer "is the graph being
230
+ // rewritten right now?" cheaply (one SELECT) without taking a global lock.
231
+ // Generation only advances on success — failed ingests are invisible to
232
+ // the counter, matching how readers would expect "the graph has been
233
+ // updated" to be a synonym of "an ingest completed cleanly".
234
+ markSyncStarted(orgId, startedAtIso) {
235
+ // Validate the ISO early — better to fail loud at start than to write a
236
+ // garbage timestamp and confuse the staleness block readers see.
237
+ if (!Number.isFinite(Date.parse(startedAtIso))) {
238
+ throw new StorageError(`markSyncStarted: invalid ISO timestamp ${JSON.stringify(startedAtIso)}`);
239
+ }
240
+ this.db
241
+ .prepare("UPDATE _sfgraph_orgs SET sync_in_progress = 1, sync_started_at = ? WHERE id = ?")
242
+ .run(startedAtIso, orgId);
243
+ }
244
+ markSyncComplete(orgId, completedAtIso) {
245
+ const ts = Date.parse(completedAtIso);
246
+ if (!Number.isFinite(ts)) {
247
+ throw new StorageError(`markSyncComplete: invalid ISO timestamp ${JSON.stringify(completedAtIso)}`);
248
+ }
249
+ // Single transaction so concurrent readers never observe a half-applied
250
+ // state (e.g. generation incremented but in_progress still 1).
251
+ const apply = this.db.transaction(() => {
252
+ this.db
253
+ .prepare(`UPDATE _sfgraph_orgs
254
+ SET sync_generation = sync_generation + 1,
255
+ sync_in_progress = 0,
256
+ sync_started_at = NULL,
257
+ last_synced_at = ?
258
+ WHERE id = ?`)
259
+ .run(ts, orgId);
260
+ });
261
+ apply();
262
+ }
263
+ markSyncFailed(orgId) {
264
+ // Generation deliberately untouched — a failed ingest is not a new
265
+ // version of the graph, so readers polling the counter should not be
266
+ // tricked into thinking data refreshed.
267
+ this.db
268
+ .prepare("UPDATE _sfgraph_orgs SET sync_in_progress = 0, sync_started_at = NULL WHERE id = ?")
269
+ .run(orgId);
270
+ }
271
+ getSyncStatus(orgId) {
272
+ const row = this.db
273
+ .prepare(`SELECT sync_generation, sync_in_progress, sync_started_at, last_synced_at
274
+ FROM _sfgraph_orgs WHERE id = ?`)
275
+ .get(orgId);
276
+ if (!row) {
277
+ // Org row not present yet (e.g. tool fired against an MCP context
278
+ // whose DB was just provisioned). Return sane defaults so callers
279
+ // don't have to null-check every field.
280
+ return { generation: 0, in_progress: false, started_at: null, last_sync_at: null };
281
+ }
282
+ return {
283
+ generation: row.sync_generation ?? 0,
284
+ in_progress: (row.sync_in_progress ?? 0) === 1,
285
+ started_at: row.sync_started_at ?? null,
286
+ last_sync_at: row.last_synced_at ?? null,
287
+ };
288
+ }
227
289
  deleteNode(orgId, qname) {
228
290
  const apply = this.db.transaction(() => {
229
291
  const idx = this.db
@@ -485,6 +547,22 @@ export class SqliteGraphStore {
485
547
  }
486
548
  return total;
487
549
  }
550
+ /**
551
+ * Count nodes of `label` for `orgId`. Returns 0 if the label table has
552
+ * not been created yet. Used by the W1.5-07 detect-deletions guard.
553
+ *
554
+ * Note: a similar helper `countNodes(orgId)` already exists for whole-org
555
+ * counts, but it sums across all labels. The guard needs per-label
556
+ * precision to compute drop ratios per deletion-target, so a dedicated
557
+ * helper is added rather than overloading countNodes.
558
+ */
559
+ countNodesByLabel(orgId, label) {
560
+ const tbl = this.nodeLabelCache.get(label);
561
+ if (!tbl)
562
+ return 0;
563
+ const row = this.db.prepare(`SELECT COUNT(*) AS c FROM ${tbl} WHERE org_id = ?`).get(orgId);
564
+ return row?.c ?? 0;
565
+ }
488
566
  countEdges(orgId) {
489
567
  let total = 0;
490
568
  for (const tbl of this.edgeRelCache.values()) {
@@ -1 +1 @@
1
- {"version":3,"file":"graph-store.js","sourceRoot":"","sources":["../../../src/storage/sqlite/graph-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-store.js","sourceRoot":"","sources":["../../../src/storage/sqlite/graph-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE/F,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAUhG,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA4B9D,SAAS,SAAS,CAAC,GAAe,EAAE,KAAa;IAC/C,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1B,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC;QAClD,KAAK;QACL,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAA4B;QACjE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;QACrC,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,UAAU,EAAE,GAAG,CAAC,YAAY;QAC5B,cAAc,EAAE,GAAG,CAAC,gBAAgB;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAe,EAAE,OAAgB;IAClD,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1B,gBAAgB,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;QAChD,gBAAgB,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;QAChD,OAAO;QACP,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAA4B;QACjE,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,UAAU,EAAE,GAAG,CAAC,YAAY;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,gBAAgB;IAClB,EAAE,CAAwB;IAClB,MAAM,CAAU;IAChB,IAAI,CAA0B;IACvC,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;IAChD,YAAY,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC9C,WAAW,GAAG,KAAK,CAAC;IACpB,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,IAA6B;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG;oBAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,OAAO;oBAAE,MAAM,OAAO,CAAC;gBAC3B,MAAM,CAAC,CAAC;YACV,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvC,qEAAqE;QACrE,uEAAuE;QACvE,qEAAqE;QACrE,mEAAmE;QACnE,gEAAgE;QAChE,uEAAuE;QACvE,uEAAuE;QACvE,sEAAsE;QACtE,iEAAiE;QACjE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAC3C,MAAM,SAAS,GACb,IAAI,CAAC,IAAI,CAAC,SAAS;YACnB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU;gBAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC;gBAC9C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE;YACtD,SAAS;YACT,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC;SAC5C,CAAC,CAAC;QACH,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC9B,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,4DAA4D;gBAC5D,+DAA+D;gBAC/D,qDAAqD;gBACrD,IAAI,CAAC;oBACH,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,CAAC;gBAAC,MAAM,CAAC;oBACP,mCAAmC;gBACrC,CAAC;gBACD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,oDAAoD,CAAC;aAC7D,GAAG,EAAkD,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,MAAM;YAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE;aAClB,OAAO,CAAC,sDAAsD,CAAC;aAC/D,GAAG,EAAqD,CAAC;QAC5D,KAAK,MAAM,GAAG,IAAI,KAAK;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/E,CAAC;IAEO,eAAe,CAAC,KAAa;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;mCACkB,GAAG;;;;;;;;;;mCAUH,GAAG,WAAW,GAAG;KAC/C,CAAC,CAAC;QACH,IAAI,CAAC,EAAE;aACJ,OAAO,CACN,4FAA4F,CAC7F;aACA,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,eAAe,CAAC,OAAe;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;mCACkB,GAAG;;;;;;;;;mCASH,GAAG,WAAW,GAAG;KAC/C,CAAC,CAAC;QACH,IAAI,CAAC,EAAE;aACJ,OAAO,CACN,8FAA8F,CAC/F;aACA,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,CAAC,GAAQ;QAChB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;kIAE0H,CAC3H;aACA,GAAG,CACF,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,YAAY,IAAI,IAAI,CACzB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,EAAS;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN,yGAAyG,CAC1G;aACA,GAAG,CAAC,EAAE,CASI,CAAC;QACd,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,GAAG,GAAQ;YACf,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC;QACF,IAAI,GAAG,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YAC/B,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,cAAc,CAAC;QACxC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,CAAC,KAAY,EAAE,GAAW;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC7F,CAAC;IAED,8EAA8E;IAC9E,0EAA0E;IAC1E,oEAAoE;IACpE,2EAA2E;IAC3E,wEAAwE;IACxE,qEAAqE;IACrE,6DAA6D;IAE7D,eAAe,CAAC,KAAY,EAAE,YAAoB;QAChD,wEAAwE;QACxE,iEAAiE;QACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,YAAY,CACpB,0CAA0C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CACzE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,iFAAiF,CAAC;aAC1F,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,gBAAgB,CAAC,KAAY,EAAE,cAAsB;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CACpB,2CAA2C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAC5E,CAAC;QACJ,CAAC;QACD,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;;;;wBAKc,CACf;iBACA,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,KAAK,EAAE,CAAC;IACV,CAAC;IAED,cAAc,CAAC,KAAY;QACzB,mEAAmE;QACnE,qEAAqE;QACrE,wCAAwC;QACxC,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,oFAAoF,CAAC;aAC7F,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,KAAY;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;2CACmC,CACpC;aACA,GAAG,CAAC,KAAK,CAOC,CAAC;QACd,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,kEAAkE;YAClE,kEAAkE;YAClE,wCAAwC;YACxC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;QACD,OAAO;YACL,UAAU,EAAE,GAAG,CAAC,eAAe,IAAI,CAAC;YACpC,WAAW,EAAE,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,KAAK,CAAC;YAC9C,UAAU,EAAE,GAAG,CAAC,eAAe,IAAI,IAAI;YACvC,YAAY,EAAE,GAAG,CAAC,cAAc,IAAI,IAAI;SACzC,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAAY,EAAE,KAAoB;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;iBAChB,OAAO,CAAC,+EAA+E,CAAC;iBACxF,GAAG,CAAC,KAAK,EAAE,KAAK,CAAkC,CAAC;YACtD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,GAAG,EAAE,CAAC;oBACR,IAAI,CAAC,EAAE;yBACJ,OAAO,CAAC,eAAe,GAAG,0CAA0C,CAAC;yBACrE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACvB,CAAC;gBACD,IAAI,CAAC,EAAE;qBACJ,OAAO,CAAC,yEAAyE,CAAC;qBAClF,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,EAAE,CAAC;IACV,CAAC;IAED,cAAc,CAAC,KAAY,EAAE,KAAoB;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC7C,IAAI,CAAC,EAAE;qBACJ,OAAO,CAAC,eAAe,GAAG,wDAAwD,CAAC;qBACnF,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,EAAE,CAAC;IACV,CAAC;IAED,UAAU,CAAC,KAAiB;QAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACrC,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAChC,0CAA0C,GAAG,0CAA0C,CACxF,CAAC;gBACF,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAChC,eAAe,GAAG;wCACY,CAC/B,CAAC;gBACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACvC,UAAU,GAAG,sHAAsH,CACpI,CAAC;gBACF,MAAM,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzC,UAAU,GAAG,+DAA+D,CAC7E,CAAC;gBACF,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC/B;kFACwE,CACzE,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAEjD,CAAC;oBACd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,UAAU,CAAC,GAAG,CACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,aAAa,EAClB,SAAS,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,CACpB,CAAC;wBACF,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;wBACrD,QAAQ,IAAI,CAAC,CAAC;oBAChB,CAAC;yBAAM,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpD,iBAAiB,CAAC,GAAG,CACnB,SAAS,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,aAAa,CACnB,CAAC;wBACF,OAAO,IAAI,CAAC,CAAC;oBACf,CAAC;yBAAM,CAAC;wBACN,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;wBACzE,SAAS,IAAI,CAAC,CAAC;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED,UAAU,CAAC,KAAiB;QAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACrC,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAChC,yCAAyC,GAAG,uDAAuD,CACpG,CAAC;gBACF,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAChC,eAAe,GAAG,mGAAmG,CACtH,CAAC;gBACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACvC,UAAU,GAAG,4FAA4F,CAC1G,CAAC;gBACF,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACpC,UAAU,GAAG,4EAA4E,CAC1F,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAC7B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,gBAAgB,CACuC,CAAC;oBAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,UAAU,CAAC,GAAG,CACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,gBAAgB,EACrB,SAAS,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,CAChB,CAAC;wBACF,QAAQ,IAAI,CAAC,CAAC;oBAChB,CAAC;yBAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;wBAC7C,iBAAiB,CAAC,GAAG,CACnB,SAAS,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,gBAAgB,CACtB,CAAC;wBACF,OAAO,IAAI,CAAC,CAAC;oBACf,CAAC;yBAAM,CAAC;wBACN,cAAc,CAAC,GAAG,CAChB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,gBAAgB,CACtB,CAAC;wBACF,SAAS,IAAI,CAAC,CAAC;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,KAAY,EAAE,KAAoB;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CAAC,+EAA+E,CAAC;aACxF,GAAG,CAAC,KAAK,EAAE,KAAK,CAAkC,CAAC;QACtD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN,8GAA8G,GAAG,0CAA0C,CAC5J;aACA,GAAG,CAAC,KAAK,EAAE,KAAK,CAA2B,CAAC;QAC/C,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,gBAAgB,CAAC,KAAY,EAAE,KAAa,EAAE,KAAc;QAC1D,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,8GAA8G,GAAG,oBAAoB,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/L,MAAM,MAAM,GAAc,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAiB,CAAC;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,KAAY,EAAE,GAAkB,EAAE,OAAiB;QAC/D,MAAM,GAAG,GAAe,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;iBACjB,OAAO,CACN,qFAAqF,GAAG,qCAAqC,CAC9H;iBACA,GAAG,CAAC,KAAK,EAAE,GAAG,CAAiB,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAY,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,KAAY,EAAE,GAAkB,EAAE,OAAiB;QAC7D,MAAM,GAAG,GAAe,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;iBACjB,OAAO,CACN,qFAAqF,GAAG,qCAAqC,CAC9H;iBACA,GAAG,CAAC,KAAK,EAAE,GAAG,CAAiB,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAY,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kBAAkB,CAAC,KAAY,EAAE,OAAe,EAAE,OAAiB,EAAE,KAAc;QACjF,MAAM,GAAG,GAAe,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG;gBAAE,MAAM;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,GAAG,GACP,SAAS,GAAG,CAAC;gBACX,CAAC,CAAC,qFAAqF,GAAG,gDAAgD,SAAS,EAAE;gBACrJ,CAAC,CAAC,qFAAqF,GAAG,wCAAwC,CAAC;YACvI,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAiB,CAAC;YACtE,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAY,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,UAAU,CAAC,KAAY,EAAE,GAAkB,EAAE,GAAkB,EAAE,OAAgB;QAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,eAAe,GAAG,uDAAuD,CAAC;aAClF,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,KAAY,EAAE,KAAc;QAC5C,MAAM,GAAG,GAAe,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAClE,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG;gBAAE,MAAM;YAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;iBACjB,OAAO,CACN;kBACQ,GAAG;;;;aAIR,WAAW,EAAE,CACjB;iBACA,GAAG,CAAC,KAAK,CAAiB,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAkB,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,KAAY;QACxB,MAAM,GAAG,GAAoB,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;iBACjB,OAAO,CAAC,8BAA8B,GAAG,mBAAmB,CAAC;iBAC7D,GAAG,CAAC,KAAK,CAAsC,CAAC;YACnD,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAA+B,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,KAAY;QACrB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6BAA6B,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,KAAK,CAE7E,CAAC;YACd,KAAK,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACH,iBAAiB,CAAC,KAAY,EAAE,KAAa;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6BAA6B,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,KAAK,CAE7E,CAAC;QACd,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,KAAY;QACrB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6BAA6B,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,KAAK,CAE7E,CAAC;YACd,KAAK,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW,CAAI,EAAW;QACxB,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,GAAkB;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE;aACrB,OAAO,CAAC,mFAAmF,CAAC;aAC5F,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,CAAwC,CAAC;QAC5E,IAAI,QAAQ,IAAI,QAAQ,CAAC,WAAW,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;YACxD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC9D,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;;mDAGyC,CAC1C;iBACA,GAAG,CACF,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,SAAS,IAAI,IAAI,EACrB,GAAG,CAAC,OAAO,IAAI,IAAI,EACnB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,aAAa,CAClB,CAAC;YACJ,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;4CAEoC,CACrC;aACA,GAAG,CACF,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,SAAS,IAAI,IAAI,EACrB,GAAG,CAAC,OAAO,IAAI,IAAI,EACnB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,cAAc,IAAI,IAAI,EAC1B,GAAG,CAAC,WAAW,IAAI,IAAI,CACxB,CAAC;QACJ,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IAED,UAAU,CAAC,KAAY,EAAE,KAAoB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;;0EAEkE,CACnE;aACA,GAAG,CAAC,KAAK,EAAE,KAAK,CAYN,CAAC;QACd,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,GAAG,GAAkB;YACzB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAC1B,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC;YAClD,YAAY,EAAE,GAAG,CAAC,aAAoC;YACtD,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;SACtC,CAAC;QACF,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI;YAAE,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;QAC3D,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI;YAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC;QACrD,IAAI,GAAG,CAAC,eAAe,IAAI,IAAI;YAAE,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,eAAe,CAAC;QAC1E,IAAI,GAAG,CAAC,YAAY,IAAI,IAAI;YAAE,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,wBAAwB,CACtB,KAAY,EACZ,KAAoB,EACpB,cAAsB,EACtB,WAAmB;QAEnB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE;aACd,OAAO,CACN;;kDAE0C,CAC3C;aACA,GAAG,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,8BAA8B,CAAC,KAAY,EAAE,KAAc;QACzD,MAAM,GAAG,GAAG;;;gEAII,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAC3C,EAAE,CAAC;QACjB,MAAM,MAAM,GAAc,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAU7C,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,GAAG,GAAkB;gBACzB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC1B,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC;gBAClD,YAAY,EAAE,GAAG,CAAC,aAAoC;gBACtD,UAAU,EAAE,GAAG,CAAC,WAAW;gBAC3B,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;aACtC,CAAC;YACF,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI;gBAAE,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;YAC3D,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI;gBAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC;YACrD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,kBAAkB;QAChB,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED,wBAAwB;IACxB,wBAAwB,CAAC,OAAgB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,YAAY,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,oCAAoC,GAAG,qCAAqC,CAAC;aACrF,GAAG,CAAC,GAAG,EAAE,GAAG,CAA8B,CAAC;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/migrations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzE,eAAO,MAAM,UAAU,EAAE,SAAS,EA4NjC,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFJ,EAAE,EAAE,qBAAqB,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,IAAI,EAAE,mBAAmB;IAG5C,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,aAAa;IAqBrB,YAAY,IAAI,IAAI;CAsBrB"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/migrations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzE,eAAO,MAAM,UAAU,EAAE,SAAS,EAgPjC,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFJ,EAAE,EAAE,qBAAqB,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,IAAI,EAAE,mBAAmB;IAG5C,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,aAAa;IAqBrB,YAAY,IAAI,IAAI;CAsBrB"}
@@ -221,6 +221,25 @@ export const MIGRATIONS = [
221
221
  `);
222
222
  },
223
223
  },
224
+ {
225
+ version: 8,
226
+ description: "W1.5-08: sync-generation counter + in-progress flag on _sfgraph_orgs so concurrent MCP readers can detect 'graph is being rewritten' mid-ingest. Additive ALTER TABLE; pre-existing rows default to (0, 0, NULL).",
227
+ up(db) {
228
+ // SQLite forbids ALTER TABLE ADD COLUMN with a non-constant default,
229
+ // but constant 0 / NULL are fine. Existing rows pick up the defaults
230
+ // automatically. Three separate ALTERs (SQLite ALTER syntax doesn't
231
+ // batch column adds).
232
+ db.exec(`
233
+ ALTER TABLE _sfgraph_orgs ADD COLUMN sync_generation INTEGER NOT NULL DEFAULT 0;
234
+ `);
235
+ db.exec(`
236
+ ALTER TABLE _sfgraph_orgs ADD COLUMN sync_in_progress INTEGER NOT NULL DEFAULT 0;
237
+ `);
238
+ db.exec(`
239
+ ALTER TABLE _sfgraph_orgs ADD COLUMN sync_started_at TEXT;
240
+ `);
241
+ },
242
+ },
224
243
  ];
225
244
  export class MigrationRunner {
226
245
  db;
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/storage/sqlite/migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/storage/sqlite/migrations.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type Database from "better-sqlite3";
2
1
  import type { OrgId } from "@ryanstark24/sfgraph-shared";
2
+ import type Database from "better-sqlite3";
3
3
  /** Alias for better-sqlite3's Database handle — kept local rather than
4
4
  * re-exported from load-better-sqlite3 so the dep graph stays one-way. */
5
5
  type BetterSqlite3Database = Database.Database;
@@ -1 +1 @@
1
- {"version":3,"file":"rename-stability.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/rename-stability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD;2EAC2E;AAC3E,KAAK,qBAAqB,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC;IAChB,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,IAAI,CAAC;IACf,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,uBAAuB,CAAC;AAErE;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,qBAAqB,EACzB,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,IAAI,CAwBxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,qBAAqB,EACzB,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,YAAY,CA2Bd;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,qBAAqB,EACzB,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAsBhD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,qBAAqB,EACzB,KAAK,EAAE,KAAK,GAAG,MAAM,GACpB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAKrB"}
1
+ {"version":3,"file":"rename-stability.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/rename-stability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C;2EAC2E;AAC3E,KAAK,qBAAqB,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC;IAChB,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,IAAI,CAAC;IACf,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,uBAAuB,CAAC;AAErE;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,qBAAqB,EACzB,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,IAAI,CAwBxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,qBAAqB,EACzB,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,YAAY,CA2Bd;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,qBAAqB,EACzB,KAAK,EAAE,KAAK,GAAG,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAkBhD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,qBAAqB,EACzB,KAAK,EAAE,KAAK,GAAG,MAAM,GACpB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAGrB"}
@@ -63,9 +63,7 @@ export function recordServiceId(db, orgId, serviceId, qualifiedName, label) {
63
63
  */
64
64
  export function rewriteEdgesForRename(db, orgId, oldQname, newQname) {
65
65
  const orgIdStr = String(orgId);
66
- const edgeTables = db
67
- .prepare("SELECT table_name FROM _sfgraph_edge_types")
68
- .all();
66
+ const edgeTables = db.prepare("SELECT table_name FROM _sfgraph_edge_types").all();
69
67
  let srcRewritten = 0;
70
68
  let dstRewritten = 0;
71
69
  for (const { table_name } of edgeTables) {
@@ -88,9 +86,7 @@ export function rewriteEdgesForRename(db, orgId, oldQname, newQname) {
88
86
  * The next ingest re-populates from scratch.
89
87
  */
90
88
  export function resetServiceIdMap(db, orgId) {
91
- const result = db
92
- .prepare("DELETE FROM _sfgraph_service_ids WHERE org_id = ?")
93
- .run(String(orgId));
89
+ const result = db.prepare("DELETE FROM _sfgraph_service_ids WHERE org_id = ?").run(String(orgId));
94
90
  return { cleared: result.changes };
95
91
  }
96
92
  //# sourceMappingURL=rename-stability.js.map