@cleocode/core 2026.9.24 → 2026.9.25

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 (328) hide show
  1. package/dist/audit-prune.d.ts +32 -0
  2. package/dist/audit-prune.d.ts.map +1 -1
  3. package/dist/audit-prune.js +37 -3
  4. package/dist/audit-prune.js.map +1 -1
  5. package/dist/build-provenance.json +2 -2
  6. package/dist/cloud/crypto.d.ts +1 -2
  7. package/dist/cloud/crypto.d.ts.map +1 -1
  8. package/dist/cloud/crypto.js +1 -11
  9. package/dist/cloud/crypto.js.map +1 -1
  10. package/dist/cloud/uuidv7.d.ts +9 -0
  11. package/dist/cloud/uuidv7.d.ts.map +1 -0
  12. package/dist/cloud/uuidv7.js +19 -0
  13. package/dist/cloud/uuidv7.js.map +1 -0
  14. package/dist/decide/bench/index.d.ts +1 -1
  15. package/dist/decide/bench/index.d.ts.map +1 -1
  16. package/dist/decide/bench/index.js +1 -1
  17. package/dist/decide/bench/index.js.map +1 -1
  18. package/dist/decide/bench/operation.d.ts +1 -1
  19. package/dist/decide/bench/operation.d.ts.map +1 -1
  20. package/dist/decide/bench/operation.js +1 -1
  21. package/dist/decide/bench/operation.js.map +1 -1
  22. package/dist/decide/bench/profiles.d.ts +50 -22
  23. package/dist/decide/bench/profiles.d.ts.map +1 -1
  24. package/dist/decide/bench/profiles.js +103 -59
  25. package/dist/decide/bench/profiles.js.map +1 -1
  26. package/dist/decide/bench/report.d.ts.map +1 -1
  27. package/dist/decide/bench/report.js +6 -1
  28. package/dist/decide/bench/report.js.map +1 -1
  29. package/dist/decide/bench/runner.d.ts +6 -1
  30. package/dist/decide/bench/runner.d.ts.map +1 -1
  31. package/dist/decide/bench/runner.js +1 -0
  32. package/dist/decide/bench/runner.js.map +1 -1
  33. package/dist/decide/client.d.ts.map +1 -1
  34. package/dist/decide/client.js +11 -5
  35. package/dist/decide/client.js.map +1 -1
  36. package/dist/decide/jev-wire.d.ts +31 -1
  37. package/dist/decide/jev-wire.d.ts.map +1 -1
  38. package/dist/decide/jev-wire.js +61 -7
  39. package/dist/decide/jev-wire.js.map +1 -1
  40. package/dist/docs/export-document.js +17181 -15536
  41. package/dist/docs/export-document.js.map +3 -3
  42. package/dist/doctor/orphan-ac-bindings.d.ts +64 -0
  43. package/dist/doctor/orphan-ac-bindings.d.ts.map +1 -0
  44. package/dist/doctor/orphan-ac-bindings.js +59 -0
  45. package/dist/doctor/orphan-ac-bindings.js.map +1 -0
  46. package/dist/doctor/projects.d.ts.map +1 -1
  47. package/dist/doctor/projects.js +43 -29
  48. package/dist/doctor/projects.js.map +1 -1
  49. package/dist/doctor/row-identity.d.ts +31 -0
  50. package/dist/doctor/row-identity.d.ts.map +1 -0
  51. package/dist/doctor/row-identity.js +93 -0
  52. package/dist/doctor/row-identity.js.map +1 -0
  53. package/dist/doctor/twin-collapse.d.ts +58 -2
  54. package/dist/doctor/twin-collapse.d.ts.map +1 -1
  55. package/dist/doctor/twin-collapse.js +212 -14
  56. package/dist/doctor/twin-collapse.js.map +1 -1
  57. package/dist/lifecycle/verification/satisfies-validator.d.ts.map +1 -1
  58. package/dist/lifecycle/verification/satisfies-validator.js +10 -0
  59. package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
  60. package/dist/llm/plugin-facade.js +17045 -15400
  61. package/dist/llm/plugin-facade.js.map +3 -3
  62. package/dist/memory/index.d.ts.map +1 -1
  63. package/dist/memory/index.js +19 -10
  64. package/dist/memory/index.js.map +1 -1
  65. package/dist/memory/manifest-identity.d.ts +171 -0
  66. package/dist/memory/manifest-identity.d.ts.map +1 -0
  67. package/dist/memory/manifest-identity.js +345 -0
  68. package/dist/memory/manifest-identity.js.map +1 -0
  69. package/dist/memory/mental-model-queue.d.ts +14 -4
  70. package/dist/memory/mental-model-queue.d.ts.map +1 -1
  71. package/dist/memory/mental-model-queue.js +64 -35
  72. package/dist/memory/mental-model-queue.js.map +1 -1
  73. package/dist/memory/pipeline-manifest-sqlite.d.ts +47 -5
  74. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
  75. package/dist/memory/pipeline-manifest-sqlite.js +130 -14
  76. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
  77. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  78. package/dist/memory/retrieval/observe.js +2 -0
  79. package/dist/memory/retrieval/observe.js.map +1 -1
  80. package/dist/memory/transcript-scanner.js +1 -1
  81. package/dist/nexus/deps.d.ts.map +1 -1
  82. package/dist/nexus/deps.js +7 -14
  83. package/dist/nexus/deps.js.map +1 -1
  84. package/dist/nexus/discover.d.ts.map +1 -1
  85. package/dist/nexus/discover.js +6 -9
  86. package/dist/nexus/discover.js.map +1 -1
  87. package/dist/nexus/git-state.d.ts.map +1 -1
  88. package/dist/nexus/git-state.js +10 -1
  89. package/dist/nexus/git-state.js.map +1 -1
  90. package/dist/nexus/projects-clean.d.ts.map +1 -1
  91. package/dist/nexus/projects-clean.js +22 -11
  92. package/dist/nexus/projects-clean.js.map +1 -1
  93. package/dist/nexus/projects-scan.d.ts.map +1 -1
  94. package/dist/nexus/projects-scan.js +8 -13
  95. package/dist/nexus/projects-scan.js.map +1 -1
  96. package/dist/nexus/query.d.ts.map +1 -1
  97. package/dist/nexus/query.js +4 -12
  98. package/dist/nexus/query.js.map +1 -1
  99. package/dist/nexus/registry-roots.d.ts +5 -2
  100. package/dist/nexus/registry-roots.d.ts.map +1 -1
  101. package/dist/nexus/registry-roots.js +8 -10
  102. package/dist/nexus/registry-roots.js.map +1 -1
  103. package/dist/nexus/registry.d.ts +18 -0
  104. package/dist/nexus/registry.d.ts.map +1 -1
  105. package/dist/nexus/registry.js +37 -16
  106. package/dist/nexus/registry.js.map +1 -1
  107. package/dist/orchestrate/worktree-complete.d.ts.map +1 -1
  108. package/dist/orchestrate/worktree-complete.js +40 -2
  109. package/dist/orchestrate/worktree-complete.js.map +1 -1
  110. package/dist/orchestration/spawn-prompt.d.ts +26 -0
  111. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  112. package/dist/orchestration/spawn-prompt.js +62 -91
  113. package/dist/orchestration/spawn-prompt.js.map +1 -1
  114. package/dist/release/ci-evidence.d.ts +190 -0
  115. package/dist/release/ci-evidence.d.ts.map +1 -1
  116. package/dist/release/ci-evidence.js +436 -4
  117. package/dist/release/ci-evidence.js.map +1 -1
  118. package/dist/sdk/validator-ac-pull.d.ts.map +1 -1
  119. package/dist/sdk/validator-ac-pull.js +2 -1
  120. package/dist/sdk/validator-ac-pull.js.map +1 -1
  121. package/dist/selfimprove/fix-gen.js +17049 -15404
  122. package/dist/selfimprove/fix-gen.js.map +3 -3
  123. package/dist/sentient/cross-project-hygiene.d.ts +5 -0
  124. package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
  125. package/dist/sentient/cross-project-hygiene.js +7 -1
  126. package/dist/sentient/cross-project-hygiene.js.map +1 -1
  127. package/dist/sentient/propose-tick.d.ts.map +1 -1
  128. package/dist/sentient/propose-tick.js +2 -3
  129. package/dist/sentient/propose-tick.js.map +1 -1
  130. package/dist/sentient/stage-drift-tick.d.ts.map +1 -1
  131. package/dist/sentient/stage-drift-tick.js +2 -3
  132. package/dist/sentient/stage-drift-tick.js.map +1 -1
  133. package/dist/skills/manifests/research.js +2 -0
  134. package/dist/skills/manifests/research.js.map +1 -1
  135. package/dist/skills/orchestrator/validator.d.ts.map +1 -1
  136. package/dist/skills/orchestrator/validator.js +9 -2
  137. package/dist/skills/orchestrator/validator.js.map +1 -1
  138. package/dist/skills/validation.d.ts +4 -1
  139. package/dist/skills/validation.d.ts.map +1 -1
  140. package/dist/skills/validation.js +11 -3
  141. package/dist/skills/validation.js.map +1 -1
  142. package/dist/spawn/branch-lock.d.ts +111 -7
  143. package/dist/spawn/branch-lock.d.ts.map +1 -1
  144. package/dist/spawn/branch-lock.js +296 -8
  145. package/dist/spawn/branch-lock.js.map +1 -1
  146. package/dist/store/ac-binding-prune.d.ts +144 -0
  147. package/dist/store/ac-binding-prune.d.ts.map +1 -0
  148. package/dist/store/ac-binding-prune.js +293 -0
  149. package/dist/store/ac-binding-prune.js.map +1 -0
  150. package/dist/store/agent-registry-store.d.ts.map +1 -1
  151. package/dist/store/agent-registry-store.js +3 -2
  152. package/dist/store/agent-registry-store.js.map +1 -1
  153. package/dist/store/backup-sidecar.d.ts +85 -2
  154. package/dist/store/backup-sidecar.d.ts.map +1 -1
  155. package/dist/store/backup-sidecar.js +173 -1
  156. package/dist/store/backup-sidecar.js.map +1 -1
  157. package/dist/store/conduit-sqlite.d.ts.map +1 -1
  158. package/dist/store/conduit-sqlite.js +3 -2
  159. package/dist/store/conduit-sqlite.js.map +1 -1
  160. package/dist/store/credential-transfer.d.ts.map +1 -1
  161. package/dist/store/credential-transfer.js +3 -0
  162. package/dist/store/credential-transfer.js.map +1 -1
  163. package/dist/store/db-helpers.d.ts +17 -11
  164. package/dist/store/db-helpers.d.ts.map +1 -1
  165. package/dist/store/db-helpers.js +61 -38
  166. package/dist/store/db-helpers.js.map +1 -1
  167. package/dist/store/display-id-alias.d.ts +529 -0
  168. package/dist/store/display-id-alias.d.ts.map +1 -0
  169. package/dist/store/display-id-alias.js +1063 -0
  170. package/dist/store/display-id-alias.js.map +1 -0
  171. package/dist/store/dual-scope-db.d.ts.map +1 -1
  172. package/dist/store/dual-scope-db.js +21 -0
  173. package/dist/store/dual-scope-db.js.map +1 -1
  174. package/dist/store/exodus/reconcile.d.ts.map +1 -1
  175. package/dist/store/exodus/reconcile.js +7 -2
  176. package/dist/store/exodus/reconcile.js.map +1 -1
  177. package/dist/store/exodus/recovery.d.ts.map +1 -1
  178. package/dist/store/exodus/recovery.js +20 -1
  179. package/dist/store/exodus/recovery.js.map +1 -1
  180. package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
  181. package/dist/store/legacy-tasks-lineage.js +19 -2
  182. package/dist/store/legacy-tasks-lineage.js.map +1 -1
  183. package/dist/store/row-identity-flag.d.ts +26 -0
  184. package/dist/store/row-identity-flag.d.ts.map +1 -0
  185. package/dist/store/row-identity-flag.js +31 -0
  186. package/dist/store/row-identity-flag.js.map +1 -0
  187. package/dist/store/row-identity-registry.d.ts +61 -0
  188. package/dist/store/row-identity-registry.d.ts.map +1 -0
  189. package/dist/store/row-identity-registry.js +198 -0
  190. package/dist/store/row-identity-registry.js.map +1 -0
  191. package/dist/store/row-identity.d.ts +390 -0
  192. package/dist/store/row-identity.d.ts.map +1 -0
  193. package/dist/store/row-identity.js +1240 -0
  194. package/dist/store/row-identity.js.map +1 -0
  195. package/dist/store/safety-data-accessor.d.ts +2 -0
  196. package/dist/store/safety-data-accessor.d.ts.map +1 -1
  197. package/dist/store/safety-data-accessor.js +4 -0
  198. package/dist/store/safety-data-accessor.js.map +1 -1
  199. package/dist/store/schema/attachments.d.ts +1 -1
  200. package/dist/store/schema/audit.d.ts +4 -4
  201. package/dist/store/schema/background-jobs.d.ts +1 -1
  202. package/dist/store/schema/cleo-global/nexus.d.ts +1 -1
  203. package/dist/store/schema/cleo-global/skills.d.ts +2 -2
  204. package/dist/store/schema/cleo-project/audit.d.ts +4 -4
  205. package/dist/store/schema/cleo-project/docs.d.ts +1 -1
  206. package/dist/store/schema/cleo-project/lifecycle.d.ts +4 -4
  207. package/dist/store/schema/cleo-project/nexus-graph.d.ts +3 -3
  208. package/dist/store/schema/cleo-project/provenance-commits.d.ts +2 -2
  209. package/dist/store/schema/cleo-project/provenance-rest.d.ts +3 -3
  210. package/dist/store/schema/cleo-project/runtime.d.ts +3 -3
  211. package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +87 -1
  212. package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts.map +1 -1
  213. package/dist/store/schema/cleo-project/tasks-core-batch2.js +35 -0
  214. package/dist/store/schema/cleo-project/tasks-core-batch2.js.map +1 -1
  215. package/dist/store/schema/cleo-project/tasks-core.d.ts +183 -7
  216. package/dist/store/schema/cleo-project/tasks-core.d.ts.map +1 -1
  217. package/dist/store/schema/cleo-project/tasks-core.js +52 -1
  218. package/dist/store/schema/cleo-project/tasks-core.js.map +1 -1
  219. package/dist/store/schema/cleo-shared/brain.d.ts +6 -6
  220. package/dist/store/schema/lifecycle.d.ts +4 -4
  221. package/dist/store/schema/manifest.d.ts +1 -1
  222. package/dist/store/schema/memory-schema.d.ts +5 -5
  223. package/dist/store/schema/nexus-schema.d.ts +3 -3
  224. package/dist/store/schema/provenance/releases.d.ts +1 -1
  225. package/dist/store/schema/skills-schema.d.ts +2 -2
  226. package/dist/store/schema/tasks.d.ts +6 -6
  227. package/dist/store/split-brain-import.d.ts +2 -14
  228. package/dist/store/split-brain-import.d.ts.map +1 -1
  229. package/dist/store/split-brain-import.js +4 -19
  230. package/dist/store/split-brain-import.js.map +1 -1
  231. package/dist/store/sqlite-data-accessor.d.ts +279 -2
  232. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  233. package/dist/store/sqlite-data-accessor.js +544 -44
  234. package/dist/store/sqlite-data-accessor.js.map +1 -1
  235. package/dist/store/sync/clock-store.d.ts +67 -0
  236. package/dist/store/sync/clock-store.d.ts.map +1 -0
  237. package/dist/store/sync/clock-store.js +117 -0
  238. package/dist/store/sync/clock-store.js.map +1 -0
  239. package/dist/store/sync/flags.d.ts +51 -0
  240. package/dist/store/sync/flags.d.ts.map +1 -0
  241. package/dist/store/sync/flags.js +81 -0
  242. package/dist/store/sync/flags.js.map +1 -0
  243. package/dist/store/sync/hlc.d.ts +115 -0
  244. package/dist/store/sync/hlc.d.ts.map +1 -0
  245. package/dist/store/sync/hlc.js +172 -0
  246. package/dist/store/sync/hlc.js.map +1 -0
  247. package/dist/store/sync/index.d.ts +20 -0
  248. package/dist/store/sync/index.d.ts.map +1 -0
  249. package/dist/store/sync/index.js +20 -0
  250. package/dist/store/sync/index.js.map +1 -0
  251. package/dist/store/sync/replica-registry.d.ts +85 -0
  252. package/dist/store/sync/replica-registry.d.ts.map +1 -0
  253. package/dist/store/sync/replica-registry.js +147 -0
  254. package/dist/store/sync/replica-registry.js.map +1 -0
  255. package/dist/store/sync/replica.d.ts +181 -0
  256. package/dist/store/sync/replica.d.ts.map +1 -0
  257. package/dist/store/sync/replica.js +305 -0
  258. package/dist/store/sync/replica.js.map +1 -0
  259. package/dist/store/sync/schema.d.ts +68 -0
  260. package/dist/store/sync/schema.d.ts.map +1 -0
  261. package/dist/store/sync/schema.js +130 -0
  262. package/dist/store/sync/schema.js.map +1 -0
  263. package/dist/store/sync/skew-hold.d.ts +71 -0
  264. package/dist/store/sync/skew-hold.d.ts.map +1 -0
  265. package/dist/store/sync/skew-hold.js +89 -0
  266. package/dist/store/sync/skew-hold.js.map +1 -0
  267. package/dist/store/table-classification.d.ts +10 -8
  268. package/dist/store/table-classification.d.ts.map +1 -1
  269. package/dist/store/table-classification.js +93 -25
  270. package/dist/store/table-classification.js.map +1 -1
  271. package/dist/store/tasks-sqlite.d.ts.map +1 -1
  272. package/dist/store/tasks-sqlite.js +9 -1
  273. package/dist/store/tasks-sqlite.js.map +1 -1
  274. package/dist/store/twin-collapse.d.ts +113 -2
  275. package/dist/store/twin-collapse.d.ts.map +1 -1
  276. package/dist/store/twin-collapse.js +247 -19
  277. package/dist/store/twin-collapse.js.map +1 -1
  278. package/dist/store/umbrella-data-accessor.d.ts +2 -0
  279. package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
  280. package/dist/store/umbrella-data-accessor.js +4 -0
  281. package/dist/store/umbrella-data-accessor.js.map +1 -1
  282. package/dist/store/validation-schemas.d.ts +241 -49
  283. package/dist/store/validation-schemas.d.ts.map +1 -1
  284. package/dist/system/health.d.ts.map +1 -1
  285. package/dist/system/health.js +3 -0
  286. package/dist/system/health.js.map +1 -1
  287. package/dist/system/project-health.d.ts +9 -2
  288. package/dist/system/project-health.d.ts.map +1 -1
  289. package/dist/system/project-health.js +8 -3
  290. package/dist/system/project-health.js.map +1 -1
  291. package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
  292. package/dist/tasks/ac-coverage-gate.js +3 -0
  293. package/dist/tasks/ac-coverage-gate.js.map +1 -1
  294. package/dist/tasks/ac-table.d.ts +35 -7
  295. package/dist/tasks/ac-table.d.ts.map +1 -1
  296. package/dist/tasks/ac-table.js +119 -14
  297. package/dist/tasks/ac-table.js.map +1 -1
  298. package/dist/tasks/add.d.ts.map +1 -1
  299. package/dist/tasks/add.js +48 -2
  300. package/dist/tasks/add.js.map +1 -1
  301. package/dist/tasks/backfill-child-projections.js +47 -6
  302. package/dist/tasks/backfill-child-projections.js.map +1 -1
  303. package/dist/tasks/complete.d.ts.map +1 -1
  304. package/dist/tasks/complete.js +6 -1
  305. package/dist/tasks/complete.js.map +1 -1
  306. package/dist/tasks/completion-evaluation.d.ts.map +1 -1
  307. package/dist/tasks/completion-evaluation.js +3 -0
  308. package/dist/tasks/completion-evaluation.js.map +1 -1
  309. package/dist/tasks/evidence.d.ts.map +1 -1
  310. package/dist/tasks/evidence.js +14 -3
  311. package/dist/tasks/evidence.js.map +1 -1
  312. package/dist/validation/compliance.d.ts +5 -1
  313. package/dist/validation/compliance.d.ts.map +1 -1
  314. package/dist/validation/compliance.js +24 -3
  315. package/dist/validation/compliance.js.map +1 -1
  316. package/dist/validation/index.d.ts +1 -1
  317. package/dist/validation/index.d.ts.map +1 -1
  318. package/dist/validation/index.js +1 -1
  319. package/dist/validation/index.js.map +1 -1
  320. package/dist/validation/protocol-common.d.ts +47 -2
  321. package/dist/validation/protocol-common.d.ts.map +1 -1
  322. package/dist/validation/protocol-common.js +86 -21
  323. package/dist/validation/protocol-common.js.map +1 -1
  324. package/migrations/README.md +12 -0
  325. package/migrations/drizzle-cleo-project/20260928120000_t12341-row-uids/migration.sql +169 -0
  326. package/migrations/sync-journal/20260929140000_t12342-sync-clock/migration.sql +42 -0
  327. package/package.json +13 -13
  328. package/templates/CLEO-REFERENCE.md +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-data-accessor.js","sourceRoot":"","sources":["../../src/store/sqlite-data-accessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-data-accessor.js","sourceRoot":"","sources":["../../src/store/sqlite-data-accessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * The persisted HLC clock (journal spec §1.4).
3
+ *
4
+ * `_sync_clock(replica_id, phys, ctr)` is local-only. It is read and written
5
+ * only inside the caller's `BEGIN IMMEDIATE` transaction (every seal and every
6
+ * apply), so two processes serialize on the SQLite write lock and no clock
7
+ * state lives in process memory across transactions.
8
+ *
9
+ * @task T12342
10
+ * @module store/sync/clock-store
11
+ */
12
+ import type { DatabaseSync } from 'node:sqlite';
13
+ import { type Hlc } from './hlc.js';
14
+ /**
15
+ * Journal tables whose `hlc` column can hold this replica's timestamps. The
16
+ * clock heals to their maximum on open, which covers a store restored from a
17
+ * copy taken between a seal and its clock write. They arrive with the sealer
18
+ * (S3); a missing table is skipped.
19
+ */
20
+ export declare const CLOCK_HEAL_SOURCES: ReadonlyArray<{
21
+ table: string;
22
+ column: string;
23
+ }>;
24
+ /**
25
+ * The stored clock of a replica, or its genesis when none is stored.
26
+ */
27
+ export declare function loadClock(db: DatabaseSync, replica: string): Hlc;
28
+ /** Store a clock value. Caller holds the transaction. */
29
+ export declare function storeClock(db: DatabaseSync, h: Hlc): void;
30
+ /**
31
+ * Issue the next local HLC and persist the clock. Caller holds the
32
+ * transaction.
33
+ *
34
+ * @param wallMs - The physical candidate (§1.2).
35
+ * @returns The issued timestamp, encoded.
36
+ */
37
+ export declare function tickClock(db: DatabaseSync, replica: string, wallMs: number): string;
38
+ /**
39
+ * Merge a received HLC into the persisted clock, unless it is beyond the skew
40
+ * bound: then nothing is written and the caller must hold the transaction
41
+ * (see `SkewHold`). Caller holds the transaction.
42
+ *
43
+ * @returns `{ held: false, clock }` after a merge, `{ held: true }` otherwise.
44
+ */
45
+ export declare function receiveClock(db: DatabaseSync, replica: string, remote: string, nowMs: number, maxDriftMs?: number): {
46
+ held: false;
47
+ clock: string;
48
+ } | {
49
+ held: true;
50
+ };
51
+ /**
52
+ * Heal a replica's clock to the largest HLC it is known to have issued: the
53
+ * stored clock, or the maximum of {@link CLOCK_HEAL_SOURCES}. Caller holds
54
+ * the transaction.
55
+ *
56
+ * @returns The healed clock.
57
+ */
58
+ export declare function healClock(db: DatabaseSync, replica: string, sources?: ReadonlyArray<{
59
+ table: string;
60
+ column: string;
61
+ }>): Hlc;
62
+ /**
63
+ * Run `fn` inside `BEGIN IMMEDIATE`, committing on return and rolling back
64
+ * on a throw. The clock primitives above require such a transaction.
65
+ */
66
+ export declare function withImmediateTransaction<T>(db: DatabaseSync, fn: () => T): T;
67
+ //# sourceMappingURL=clock-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock-store.d.ts","sourceRoot":"","sources":["../../../src/store/sync/clock-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAGL,KAAK,GAAG,EAOT,MAAM,UAAU,CAAC;AAGlB;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAG/E,CAAC;AAWF;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAKhE;AAED,yDAAyD;AACzD,wBAAgB,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAMzD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAKnF;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAqB,GAChC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAOjD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAa,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAsB,GAC7E,GAAG,CAgBL;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAU5E"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * The persisted HLC clock (journal spec §1.4).
3
+ *
4
+ * `_sync_clock(replica_id, phys, ctr)` is local-only. It is read and written
5
+ * only inside the caller's `BEGIN IMMEDIATE` transaction (every seal and every
6
+ * apply), so two processes serialize on the SQLite write lock and no clock
7
+ * state lives in process memory across transactions.
8
+ *
9
+ * @task T12342
10
+ * @module store/sync/clock-store
11
+ */
12
+ import { encodeHlc, genesisHlc, isWithinSkew, MAX_DRIFT_MS, maxHlc, parseHlc, receive, tick, } from './hlc.js';
13
+ import { hasTable } from './schema.js';
14
+ /**
15
+ * Journal tables whose `hlc` column can hold this replica's timestamps. The
16
+ * clock heals to their maximum on open, which covers a store restored from a
17
+ * copy taken between a seal and its clock write. They arrive with the sealer
18
+ * (S3); a missing table is skipped.
19
+ */
20
+ export const CLOCK_HEAL_SOURCES = [
21
+ { table: '_sync_op', column: 'hlc' },
22
+ { table: '_sync_row_meta', column: 'hlc' },
23
+ ];
24
+ /** Offset of the replica id inside an encoded HLC (13 + 1 + 6 + 1). */
25
+ const REPLICA_OFFSET = 21;
26
+ function assertInTransaction(db, what) {
27
+ if (!db.isTransaction) {
28
+ throw new Error(`${what} must run inside the caller's BEGIN IMMEDIATE transaction`);
29
+ }
30
+ }
31
+ /**
32
+ * The stored clock of a replica, or its genesis when none is stored.
33
+ */
34
+ export function loadClock(db, replica) {
35
+ const row = db.prepare('SELECT phys, ctr FROM _sync_clock WHERE replica_id = ?').get(replica);
36
+ return row ? { phys: row.phys, ctr: row.ctr, replica } : genesisHlc(replica);
37
+ }
38
+ /** Store a clock value. Caller holds the transaction. */
39
+ export function storeClock(db, h) {
40
+ assertInTransaction(db, 'storeClock');
41
+ db.prepare('INSERT INTO _sync_clock (replica_id, phys, ctr) VALUES (?, ?, ?) ' +
42
+ 'ON CONFLICT(replica_id) DO UPDATE SET phys = excluded.phys, ctr = excluded.ctr').run(h.replica, h.phys, h.ctr);
43
+ }
44
+ /**
45
+ * Issue the next local HLC and persist the clock. Caller holds the
46
+ * transaction.
47
+ *
48
+ * @param wallMs - The physical candidate (§1.2).
49
+ * @returns The issued timestamp, encoded.
50
+ */
51
+ export function tickClock(db, replica, wallMs) {
52
+ assertInTransaction(db, 'tickClock');
53
+ const next = tick(loadClock(db, replica), wallMs);
54
+ storeClock(db, next);
55
+ return encodeHlc(next);
56
+ }
57
+ /**
58
+ * Merge a received HLC into the persisted clock, unless it is beyond the skew
59
+ * bound: then nothing is written and the caller must hold the transaction
60
+ * (see `SkewHold`). Caller holds the transaction.
61
+ *
62
+ * @returns `{ held: false, clock }` after a merge, `{ held: true }` otherwise.
63
+ */
64
+ export function receiveClock(db, replica, remote, nowMs, maxDriftMs = MAX_DRIFT_MS) {
65
+ assertInTransaction(db, 'receiveClock');
66
+ const r = parseHlc(remote);
67
+ if (!isWithinSkew(r, nowMs, maxDriftMs))
68
+ return { held: true };
69
+ const next = receive(loadClock(db, replica), r, nowMs);
70
+ storeClock(db, next);
71
+ return { held: false, clock: encodeHlc(next) };
72
+ }
73
+ /**
74
+ * Heal a replica's clock to the largest HLC it is known to have issued: the
75
+ * stored clock, or the maximum of {@link CLOCK_HEAL_SOURCES}. Caller holds
76
+ * the transaction.
77
+ *
78
+ * @returns The healed clock.
79
+ */
80
+ export function healClock(db, replica, sources = CLOCK_HEAL_SOURCES) {
81
+ assertInTransaction(db, 'healClock');
82
+ let best = loadClock(db, replica);
83
+ for (const { table, column } of sources) {
84
+ if (!/^[a-z_][a-z0-9_]*$/.test(table) || !/^[a-z_][a-z0-9_]*$/.test(column)) {
85
+ throw new Error(`invalid clock heal source ${table}.${column}`);
86
+ }
87
+ if (!hasTable(db, table))
88
+ continue;
89
+ const row = db
90
+ .prepare(`SELECT MAX(${column}) AS h FROM ${table} WHERE substr(${column}, ?) = ?`)
91
+ .get(REPLICA_OFFSET + 1, replica);
92
+ if (row?.h)
93
+ best = maxHlc(best, { ...parseHlc(row.h), replica });
94
+ }
95
+ const stored = loadClock(db, replica);
96
+ if (best.phys !== stored.phys || best.ctr !== stored.ctr)
97
+ storeClock(db, best);
98
+ return best;
99
+ }
100
+ /**
101
+ * Run `fn` inside `BEGIN IMMEDIATE`, committing on return and rolling back
102
+ * on a throw. The clock primitives above require such a transaction.
103
+ */
104
+ export function withImmediateTransaction(db, fn) {
105
+ db.exec('BEGIN IMMEDIATE');
106
+ try {
107
+ const out = fn();
108
+ db.exec('COMMIT');
109
+ return out;
110
+ }
111
+ catch (err) {
112
+ if (db.isTransaction)
113
+ db.exec('ROLLBACK');
114
+ throw err;
115
+ }
116
+ }
117
+ //# sourceMappingURL=clock-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock-store.js","sourceRoot":"","sources":["../../../src/store/sync/clock-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Store-level `sync.*` flags (journal spec §5.1, Q8).
3
+ *
4
+ * Each flag is persisted per store in `_sync_meta` and is OFF by default. A
5
+ * store that never enabled one has no `_sync_meta` at all, and reading the
6
+ * flags never writes, so an all-off store is left byte-for-byte untouched.
7
+ *
8
+ * `CLEO_SYNC_<FLAG>=0` (for example `CLEO_SYNC_PUSH=0`) stops that flag's
9
+ * behaviour in the current process. It never turns a flag on, and it never
10
+ * installs or drops anything (M3).
11
+ *
12
+ * @task T12342
13
+ * @module store/sync/flags
14
+ */
15
+ import type { DatabaseSync } from 'node:sqlite';
16
+ /** The journal's flags, in slice order. */
17
+ export declare const SYNC_FLAGS: readonly ["sync.capture", "sync.seal", "sync.push", "sync.pull", "sync.strict"];
18
+ /** One journal flag. */
19
+ export type SyncFlag = (typeof SYNC_FLAGS)[number];
20
+ /** Every flag's persisted state. */
21
+ export type SyncFlagState = Readonly<Record<SyncFlag, boolean>>;
22
+ /** The environment kill switch for a flag: `sync.push` → `CLEO_SYNC_PUSH`. */
23
+ export declare function killSwitchVar(flag: SyncFlag): string;
24
+ /**
25
+ * The persisted flags of a store. Read-only; all off when the store has no
26
+ * `_sync_meta`.
27
+ */
28
+ export declare function readSyncFlags(db: DatabaseSync): SyncFlagState;
29
+ /** Whether any flag is persisted on (the kill switches do not count). */
30
+ export declare function anySyncFlagOn(db: DatabaseSync): boolean;
31
+ /**
32
+ * Whether a flag's behaviour runs in this process: persisted on, and not
33
+ * stopped by its kill switch.
34
+ *
35
+ * @param env - The environment to read the kill switch from.
36
+ */
37
+ export declare function isSyncFlagOn(db: DatabaseSync, flag: SyncFlag, env?: NodeJS.ProcessEnv): boolean;
38
+ /**
39
+ * Persist a flag. Turning one on first applies the sync schema; turning one
40
+ * off on a store without the schema writes nothing.
41
+ *
42
+ * Prerequisite checks (`cleo sync enable <flag>`) live with the slice that
43
+ * gives the flag its behaviour; this is the storage primitive.
44
+ *
45
+ * @returns Whether the stored value changed.
46
+ */
47
+ export declare function setSyncFlag(db: DatabaseSync, flag: SyncFlag, on: boolean, options?: {
48
+ now?: Date;
49
+ schemaRoot?: string;
50
+ }): boolean;
51
+ //# sourceMappingURL=flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../src/store/sync/flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,2CAA2C;AAC3C,eAAO,MAAM,UAAU,iFAMb,CAAC;AAEX,wBAAwB;AACxB,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAMhE,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAEpD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,aAAa,CAU7D;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,QAAQ,EACd,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAGT;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,QAAQ,EACd,EAAE,EAAE,OAAO,EACX,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAChD,OAAO,CAWT"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Store-level `sync.*` flags (journal spec §5.1, Q8).
3
+ *
4
+ * Each flag is persisted per store in `_sync_meta` and is OFF by default. A
5
+ * store that never enabled one has no `_sync_meta` at all, and reading the
6
+ * flags never writes, so an all-off store is left byte-for-byte untouched.
7
+ *
8
+ * `CLEO_SYNC_<FLAG>=0` (for example `CLEO_SYNC_PUSH=0`) stops that flag's
9
+ * behaviour in the current process. It never turns a flag on, and it never
10
+ * installs or drops anything (M3).
11
+ *
12
+ * @task T12342
13
+ * @module store/sync/flags
14
+ */
15
+ import { ensureSyncSchema, hasTable } from './schema.js';
16
+ /** The journal's flags, in slice order. */
17
+ export const SYNC_FLAGS = [
18
+ 'sync.capture',
19
+ 'sync.seal',
20
+ 'sync.push',
21
+ 'sync.pull',
22
+ 'sync.strict',
23
+ ];
24
+ const ALL_OFF = Object.freeze(Object.fromEntries(SYNC_FLAGS.map((f) => [f, false])));
25
+ /** The environment kill switch for a flag: `sync.push` → `CLEO_SYNC_PUSH`. */
26
+ export function killSwitchVar(flag) {
27
+ return `CLEO_SYNC_${flag.slice('sync.'.length).toUpperCase()}`;
28
+ }
29
+ /**
30
+ * The persisted flags of a store. Read-only; all off when the store has no
31
+ * `_sync_meta`.
32
+ */
33
+ export function readSyncFlags(db) {
34
+ if (!hasTable(db, '_sync_meta'))
35
+ return ALL_OFF;
36
+ const rows = db
37
+ .prepare(`SELECT key, value FROM _sync_meta WHERE key IN (${SYNC_FLAGS.map(() => '?').join(', ')})`)
38
+ .all(...SYNC_FLAGS);
39
+ const out = { ...ALL_OFF };
40
+ for (const r of rows)
41
+ out[r.key] = r.value === '1';
42
+ return out;
43
+ }
44
+ /** Whether any flag is persisted on (the kill switches do not count). */
45
+ export function anySyncFlagOn(db) {
46
+ return Object.values(readSyncFlags(db)).some(Boolean);
47
+ }
48
+ /**
49
+ * Whether a flag's behaviour runs in this process: persisted on, and not
50
+ * stopped by its kill switch.
51
+ *
52
+ * @param env - The environment to read the kill switch from.
53
+ */
54
+ export function isSyncFlagOn(db, flag, env = process.env) {
55
+ if (env[killSwitchVar(flag)] === '0')
56
+ return false;
57
+ return readSyncFlags(db)[flag];
58
+ }
59
+ /**
60
+ * Persist a flag. Turning one on first applies the sync schema; turning one
61
+ * off on a store without the schema writes nothing.
62
+ *
63
+ * Prerequisite checks (`cleo sync enable <flag>`) live with the slice that
64
+ * gives the flag its behaviour; this is the storage primitive.
65
+ *
66
+ * @returns Whether the stored value changed.
67
+ */
68
+ export function setSyncFlag(db, flag, on, options = {}) {
69
+ if (!SYNC_FLAGS.includes(flag))
70
+ throw new Error(`unknown sync flag: ${flag}`);
71
+ if (!on && !hasTable(db, '_sync_meta'))
72
+ return false;
73
+ if (readSyncFlags(db)[flag] === on)
74
+ return false;
75
+ ensureSyncSchema(db, { root: options.schemaRoot, now: options.now });
76
+ const stamp = (options.now ?? new Date()).toISOString();
77
+ db.prepare('INSERT INTO _sync_meta (key, value, updated_at) VALUES (?, ?, ?) ' +
78
+ 'ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = excluded.updated_at').run(flag, on ? '1' : '0', stamp);
79
+ return true;
80
+ }
81
+ //# sourceMappingURL=flags.js.map