@cleocode/core 2026.10.1 → 2026.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/dist/build-provenance.json +2 -2
  2. package/dist/cloud/journal.d.ts +9 -5
  3. package/dist/cloud/journal.d.ts.map +1 -1
  4. package/dist/cloud/journal.js +29 -8
  5. package/dist/cloud/journal.js.map +1 -1
  6. package/dist/cloud/manifest-check.d.ts +140 -4
  7. package/dist/cloud/manifest-check.d.ts.map +1 -1
  8. package/dist/cloud/manifest-check.js +309 -10
  9. package/dist/cloud/manifest-check.js.map +1 -1
  10. package/dist/cloud/nexus-attach.d.ts +25 -0
  11. package/dist/cloud/nexus-attach.d.ts.map +1 -1
  12. package/dist/cloud/nexus-attach.js +81 -6
  13. package/dist/cloud/nexus-attach.js.map +1 -1
  14. package/dist/cloud/nexus-cloud-activity.d.ts +37 -0
  15. package/dist/cloud/nexus-cloud-activity.d.ts.map +1 -0
  16. package/dist/cloud/nexus-cloud-activity.js +79 -0
  17. package/dist/cloud/nexus-cloud-activity.js.map +1 -0
  18. package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
  19. package/dist/cloud/nexus-cloud-status.js +36 -0
  20. package/dist/cloud/nexus-cloud-status.js.map +1 -1
  21. package/dist/cloud/nexus-device.d.ts +1 -1
  22. package/dist/cloud/nexus-enrol.d.ts.map +1 -1
  23. package/dist/cloud/nexus-enrol.js +5 -0
  24. package/dist/cloud/nexus-enrol.js.map +1 -1
  25. package/dist/cloud/nexus-home.d.ts +74 -0
  26. package/dist/cloud/nexus-home.d.ts.map +1 -0
  27. package/dist/cloud/nexus-home.js +97 -0
  28. package/dist/cloud/nexus-home.js.map +1 -0
  29. package/dist/cloud/nexus-vault-keys.d.ts +129 -0
  30. package/dist/cloud/nexus-vault-keys.d.ts.map +1 -0
  31. package/dist/cloud/nexus-vault-keys.js +277 -0
  32. package/dist/cloud/nexus-vault-keys.js.map +1 -0
  33. package/dist/cloud/nexus-vault-state.d.ts +121 -0
  34. package/dist/cloud/nexus-vault-state.d.ts.map +1 -0
  35. package/dist/cloud/nexus-vault-state.js +274 -0
  36. package/dist/cloud/nexus-vault-state.js.map +1 -0
  37. package/dist/cloud/nexus-vault.d.ts +160 -0
  38. package/dist/cloud/nexus-vault.d.ts.map +1 -0
  39. package/dist/cloud/nexus-vault.js +1733 -0
  40. package/dist/cloud/nexus-vault.js.map +1 -0
  41. package/dist/cloud/signing.d.ts +24 -8
  42. package/dist/cloud/signing.d.ts.map +1 -1
  43. package/dist/cloud/signing.js +61 -15
  44. package/dist/cloud/signing.js.map +1 -1
  45. package/dist/docs/export-document.js +8137 -3318
  46. package/dist/docs/export-document.js.map +3 -3
  47. package/dist/doctor/migrations.d.ts +75 -0
  48. package/dist/doctor/migrations.d.ts.map +1 -0
  49. package/dist/doctor/migrations.js +136 -0
  50. package/dist/doctor/migrations.js.map +1 -0
  51. package/dist/doctor/sync-sealer.d.ts +48 -0
  52. package/dist/doctor/sync-sealer.d.ts.map +1 -0
  53. package/dist/doctor/sync-sealer.js +109 -0
  54. package/dist/doctor/sync-sealer.js.map +1 -0
  55. package/dist/doctor/sync-triggers.d.ts +53 -0
  56. package/dist/doctor/sync-triggers.d.ts.map +1 -0
  57. package/dist/doctor/sync-triggers.js +157 -0
  58. package/dist/doctor/sync-triggers.js.map +1 -0
  59. package/dist/init.d.ts.map +1 -1
  60. package/dist/init.js +5 -1
  61. package/dist/init.js.map +1 -1
  62. package/dist/internal.d.ts +1 -1
  63. package/dist/internal.d.ts.map +1 -1
  64. package/dist/internal.js +1 -1
  65. package/dist/internal.js.map +1 -1
  66. package/dist/llm/plugin-facade.js +8442 -3623
  67. package/dist/llm/plugin-facade.js.map +3 -3
  68. package/dist/nexus/projects-clean.d.ts +3 -0
  69. package/dist/nexus/projects-clean.d.ts.map +1 -1
  70. package/dist/nexus/projects-clean.js +9 -3
  71. package/dist/nexus/projects-clean.js.map +1 -1
  72. package/dist/nexus/registry-roots.d.ts +3 -1
  73. package/dist/nexus/registry-roots.d.ts.map +1 -1
  74. package/dist/nexus/registry-roots.js +5 -2
  75. package/dist/nexus/registry-roots.js.map +1 -1
  76. package/dist/nexus/registry.d.ts +8 -1
  77. package/dist/nexus/registry.d.ts.map +1 -1
  78. package/dist/nexus/registry.js +24 -10
  79. package/dist/nexus/registry.js.map +1 -1
  80. package/dist/nexus/workspace.d.ts +4 -1
  81. package/dist/nexus/workspace.d.ts.map +1 -1
  82. package/dist/nexus/workspace.js +10 -4
  83. package/dist/nexus/workspace.js.map +1 -1
  84. package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
  85. package/dist/orchestrate/spawn-ops.js +7 -2
  86. package/dist/orchestrate/spawn-ops.js.map +1 -1
  87. package/dist/orchestrate/worker-verify.d.ts +121 -12
  88. package/dist/orchestrate/worker-verify.d.ts.map +1 -1
  89. package/dist/orchestrate/worker-verify.js +172 -21
  90. package/dist/orchestrate/worker-verify.js.map +1 -1
  91. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  92. package/dist/orchestration/spawn-prompt.js +15 -9
  93. package/dist/orchestration/spawn-prompt.js.map +1 -1
  94. package/dist/release/ci-evidence.d.ts +9 -0
  95. package/dist/release/ci-evidence.d.ts.map +1 -1
  96. package/dist/release/ci-evidence.js +9 -2
  97. package/dist/release/ci-evidence.js.map +1 -1
  98. package/dist/resources/backend.d.ts +15 -3
  99. package/dist/resources/backend.d.ts.map +1 -1
  100. package/dist/resources/backend.js +7 -3
  101. package/dist/resources/backend.js.map +1 -1
  102. package/dist/resources/darwin-backend.d.ts +142 -0
  103. package/dist/resources/darwin-backend.d.ts.map +1 -0
  104. package/dist/resources/darwin-backend.js +288 -0
  105. package/dist/resources/darwin-backend.js.map +1 -0
  106. package/dist/resources/governor.d.ts +44 -1
  107. package/dist/resources/governor.d.ts.map +1 -1
  108. package/dist/resources/governor.js +100 -36
  109. package/dist/resources/governor.js.map +1 -1
  110. package/dist/resources/heavy-command.d.ts +132 -0
  111. package/dist/resources/heavy-command.d.ts.map +1 -0
  112. package/dist/resources/heavy-command.js +768 -0
  113. package/dist/resources/heavy-command.js.map +1 -0
  114. package/dist/resources/monitor.d.ts +50 -1
  115. package/dist/resources/monitor.d.ts.map +1 -1
  116. package/dist/resources/monitor.js +83 -1
  117. package/dist/resources/monitor.js.map +1 -1
  118. package/dist/resources/run-admission.d.ts +303 -0
  119. package/dist/resources/run-admission.d.ts.map +1 -0
  120. package/dist/resources/run-admission.js +648 -0
  121. package/dist/resources/run-admission.js.map +1 -0
  122. package/dist/resources/run-class.d.ts +111 -0
  123. package/dist/resources/run-class.d.ts.map +1 -0
  124. package/dist/resources/run-class.js +658 -0
  125. package/dist/resources/run-class.js.map +1 -0
  126. package/dist/resources/run-governed.d.ts +158 -0
  127. package/dist/resources/run-governed.d.ts.map +1 -0
  128. package/dist/resources/run-governed.js +406 -0
  129. package/dist/resources/run-governed.js.map +1 -0
  130. package/dist/resources/slot-holder.d.ts +267 -0
  131. package/dist/resources/slot-holder.d.ts.map +1 -0
  132. package/dist/resources/slot-holder.js +505 -0
  133. package/dist/resources/slot-holder.js.map +1 -0
  134. package/dist/resources/tool-groups.d.ts +74 -0
  135. package/dist/resources/tool-groups.d.ts.map +1 -0
  136. package/dist/resources/tool-groups.js +118 -0
  137. package/dist/resources/tool-groups.js.map +1 -0
  138. package/dist/routing/build-command-groups.d.ts.map +1 -1
  139. package/dist/routing/build-command-groups.js +1 -0
  140. package/dist/routing/build-command-groups.js.map +1 -1
  141. package/dist/selfimprove/fix-gen.js +8446 -3627
  142. package/dist/selfimprove/fix-gen.js.map +3 -3
  143. package/dist/sentient/cross-project-hygiene.d.ts +3 -2
  144. package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
  145. package/dist/sentient/cross-project-hygiene.js +5 -2
  146. package/dist/sentient/cross-project-hygiene.js.map +1 -1
  147. package/dist/sentient/state.d.ts +7 -0
  148. package/dist/sentient/state.d.ts.map +1 -1
  149. package/dist/sentient/state.js.map +1 -1
  150. package/dist/sentient/tick.d.ts +14 -2
  151. package/dist/sentient/tick.d.ts.map +1 -1
  152. package/dist/sentient/tick.js +63 -4
  153. package/dist/sentient/tick.js.map +1 -1
  154. package/dist/store/backup-recover.d.ts.map +1 -1
  155. package/dist/store/backup-recover.js +5 -0
  156. package/dist/store/backup-recover.js.map +1 -1
  157. package/dist/store/data-accessor.d.ts +1 -0
  158. package/dist/store/data-accessor.d.ts.map +1 -1
  159. package/dist/store/data-accessor.js +7 -0
  160. package/dist/store/data-accessor.js.map +1 -1
  161. package/dist/store/dual-scope-db.d.ts +23 -1
  162. package/dist/store/dual-scope-db.d.ts.map +1 -1
  163. package/dist/store/dual-scope-db.js +126 -36
  164. package/dist/store/dual-scope-db.js.map +1 -1
  165. package/dist/store/exodus/recovery.d.ts.map +1 -1
  166. package/dist/store/exodus/recovery.js +15 -0
  167. package/dist/store/exodus/recovery.js.map +1 -1
  168. package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
  169. package/dist/store/legacy-tasks-lineage.js +5 -0
  170. package/dist/store/legacy-tasks-lineage.js.map +1 -1
  171. package/dist/store/lock.d.ts +8 -1
  172. package/dist/store/lock.d.ts.map +1 -1
  173. package/dist/store/lock.js +10 -2
  174. package/dist/store/lock.js.map +1 -1
  175. package/dist/store/migration-manager.d.ts +5 -0
  176. package/dist/store/migration-manager.d.ts.map +1 -1
  177. package/dist/store/migration-manager.js +11 -0
  178. package/dist/store/migration-manager.js.map +1 -1
  179. package/dist/store/migration-runner.d.ts +158 -0
  180. package/dist/store/migration-runner.d.ts.map +1 -0
  181. package/dist/store/migration-runner.js +493 -0
  182. package/dist/store/migration-runner.js.map +1 -0
  183. package/dist/store/portable-bundle-import.d.ts +15 -1
  184. package/dist/store/portable-bundle-import.d.ts.map +1 -1
  185. package/dist/store/portable-bundle-import.js +24 -4
  186. package/dist/store/portable-bundle-import.js.map +1 -1
  187. package/dist/store/portable-bundle-relocate.d.ts +43 -0
  188. package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
  189. package/dist/store/portable-bundle-relocate.js +79 -5
  190. package/dist/store/portable-bundle-relocate.js.map +1 -1
  191. package/dist/store/portable-bundle-scan.d.ts +20 -0
  192. package/dist/store/portable-bundle-scan.d.ts.map +1 -1
  193. package/dist/store/portable-bundle-scan.js +38 -3
  194. package/dist/store/portable-bundle-scan.js.map +1 -1
  195. package/dist/store/portable-bundle.d.ts +33 -0
  196. package/dist/store/portable-bundle.d.ts.map +1 -1
  197. package/dist/store/portable-bundle.js +34 -7
  198. package/dist/store/portable-bundle.js.map +1 -1
  199. package/dist/store/row-identity-registry.d.ts +137 -7
  200. package/dist/store/row-identity-registry.d.ts.map +1 -1
  201. package/dist/store/row-identity-registry.js +364 -9
  202. package/dist/store/row-identity-registry.js.map +1 -1
  203. package/dist/store/row-identity.d.ts.map +1 -1
  204. package/dist/store/row-identity.js +9 -10
  205. package/dist/store/row-identity.js.map +1 -1
  206. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  207. package/dist/store/sqlite-data-accessor.js +10 -0
  208. package/dist/store/sqlite-data-accessor.js.map +1 -1
  209. package/dist/store/sqlite.d.ts +31 -0
  210. package/dist/store/sqlite.d.ts.map +1 -1
  211. package/dist/store/sqlite.js +5 -1
  212. package/dist/store/sqlite.js.map +1 -1
  213. package/dist/store/sync/capture.d.ts +203 -0
  214. package/dist/store/sync/capture.d.ts.map +1 -0
  215. package/dist/store/sync/capture.js +562 -0
  216. package/dist/store/sync/capture.js.map +1 -0
  217. package/dist/store/sync/clock-store.d.ts.map +1 -1
  218. package/dist/store/sync/clock-store.js +2 -0
  219. package/dist/store/sync/clock-store.js.map +1 -1
  220. package/dist/store/sync/fk-orphans.d.ts +133 -0
  221. package/dist/store/sync/fk-orphans.d.ts.map +1 -0
  222. package/dist/store/sync/fk-orphans.js +265 -0
  223. package/dist/store/sync/fk-orphans.js.map +1 -0
  224. package/dist/store/sync/flags.d.ts +7 -0
  225. package/dist/store/sync/flags.d.ts.map +1 -1
  226. package/dist/store/sync/flags.js +16 -0
  227. package/dist/store/sync/flags.js.map +1 -1
  228. package/dist/store/sync/hlc.d.ts.map +1 -1
  229. package/dist/store/sync/hlc.js +4 -0
  230. package/dist/store/sync/hlc.js.map +1 -1
  231. package/dist/store/sync/identity-fill.d.ts +45 -0
  232. package/dist/store/sync/identity-fill.d.ts.map +1 -0
  233. package/dist/store/sync/identity-fill.js +85 -0
  234. package/dist/store/sync/identity-fill.js.map +1 -0
  235. package/dist/store/sync/machinery.d.ts +27 -0
  236. package/dist/store/sync/machinery.d.ts.map +1 -0
  237. package/dist/store/sync/machinery.js +44 -0
  238. package/dist/store/sync/machinery.js.map +1 -0
  239. package/dist/store/sync/netting.d.ts +120 -0
  240. package/dist/store/sync/netting.d.ts.map +1 -0
  241. package/dist/store/sync/netting.js +336 -0
  242. package/dist/store/sync/netting.js.map +1 -0
  243. package/dist/store/sync/replica.d.ts +27 -2
  244. package/dist/store/sync/replica.d.ts.map +1 -1
  245. package/dist/store/sync/replica.js +47 -3
  246. package/dist/store/sync/replica.js.map +1 -1
  247. package/dist/store/sync/schema.d.ts +12 -0
  248. package/dist/store/sync/schema.d.ts.map +1 -1
  249. package/dist/store/sync/schema.js +21 -0
  250. package/dist/store/sync/schema.js.map +1 -1
  251. package/dist/store/sync/seal-backlog.d.ts +21 -0
  252. package/dist/store/sync/seal-backlog.d.ts.map +1 -0
  253. package/dist/store/sync/seal-backlog.js +24 -0
  254. package/dist/store/sync/seal-backlog.js.map +1 -0
  255. package/dist/store/sync/sealer-values.d.ts +34 -0
  256. package/dist/store/sync/sealer-values.d.ts.map +1 -0
  257. package/dist/store/sync/sealer-values.js +53 -0
  258. package/dist/store/sync/sealer-values.js.map +1 -0
  259. package/dist/store/sync/sealer.d.ts +145 -0
  260. package/dist/store/sync/sealer.d.ts.map +1 -0
  261. package/dist/store/sync/sealer.js +906 -0
  262. package/dist/store/sync/sealer.js.map +1 -0
  263. package/dist/store/sync/structural.d.ts +63 -0
  264. package/dist/store/sync/structural.d.ts.map +1 -0
  265. package/dist/store/sync/structural.js +180 -0
  266. package/dist/store/sync/structural.js.map +1 -0
  267. package/dist/store/sync/timestamps.d.ts +92 -0
  268. package/dist/store/sync/timestamps.d.ts.map +1 -0
  269. package/dist/store/sync/timestamps.js +228 -0
  270. package/dist/store/sync/timestamps.js.map +1 -0
  271. package/dist/store/sync/tombstones.d.ts +75 -0
  272. package/dist/store/sync/tombstones.d.ts.map +1 -0
  273. package/dist/store/sync/tombstones.js +103 -0
  274. package/dist/store/sync/tombstones.js.map +1 -0
  275. package/dist/store/sync/trigger-classes.d.ts +221 -0
  276. package/dist/store/sync/trigger-classes.d.ts.map +1 -0
  277. package/dist/store/sync/trigger-classes.js +441 -0
  278. package/dist/store/sync/trigger-classes.js.map +1 -0
  279. package/dist/store/sync/trigger-suspend-at-path.d.ts +23 -0
  280. package/dist/store/sync/trigger-suspend-at-path.d.ts.map +1 -0
  281. package/dist/store/sync/trigger-suspend-at-path.js +44 -0
  282. package/dist/store/sync/trigger-suspend-at-path.js.map +1 -0
  283. package/dist/store/sync/writer-version.d.ts +43 -0
  284. package/dist/store/sync/writer-version.d.ts.map +1 -0
  285. package/dist/store/sync/writer-version.js +90 -0
  286. package/dist/store/sync/writer-version.js.map +1 -0
  287. package/dist/store/table-classification.d.ts.map +1 -1
  288. package/dist/store/table-classification.js +102 -0
  289. package/dist/store/table-classification.js.map +1 -1
  290. package/dist/store/trigger-suspend-schema.d.ts +44 -0
  291. package/dist/store/trigger-suspend-schema.d.ts.map +1 -0
  292. package/dist/store/trigger-suspend-schema.js +25 -0
  293. package/dist/store/trigger-suspend-schema.js.map +1 -0
  294. package/dist/store/vault-manifest.d.ts +365 -0
  295. package/dist/store/vault-manifest.d.ts.map +1 -0
  296. package/dist/store/vault-manifest.js +812 -0
  297. package/dist/store/vault-manifest.js.map +1 -0
  298. package/dist/store/writer-lease.d.ts +31 -0
  299. package/dist/store/writer-lease.d.ts.map +1 -1
  300. package/dist/store/writer-lease.js +65 -2
  301. package/dist/store/writer-lease.js.map +1 -1
  302. package/dist/system/health.d.ts.map +1 -1
  303. package/dist/system/health.js +21 -0
  304. package/dist/system/health.js.map +1 -1
  305. package/dist/system/project-health.d.ts.map +1 -1
  306. package/dist/system/project-health.js +3 -1
  307. package/dist/system/project-health.js.map +1 -1
  308. package/dist/tasks/affected-packages.d.ts +58 -0
  309. package/dist/tasks/affected-packages.d.ts.map +1 -1
  310. package/dist/tasks/affected-packages.js +75 -6
  311. package/dist/tasks/affected-packages.js.map +1 -1
  312. package/dist/tasks/affected-scope.d.ts +150 -23
  313. package/dist/tasks/affected-scope.d.ts.map +1 -1
  314. package/dist/tasks/affected-scope.js +320 -32
  315. package/dist/tasks/affected-scope.js.map +1 -1
  316. package/dist/tasks/change-set.d.ts +96 -0
  317. package/dist/tasks/change-set.d.ts.map +1 -1
  318. package/dist/tasks/change-set.js +169 -4
  319. package/dist/tasks/change-set.js.map +1 -1
  320. package/dist/tasks/complete-ci.d.ts +115 -0
  321. package/dist/tasks/complete-ci.d.ts.map +1 -0
  322. package/dist/tasks/complete-ci.js +171 -0
  323. package/dist/tasks/complete-ci.js.map +1 -0
  324. package/dist/tasks/complete.d.ts.map +1 -1
  325. package/dist/tasks/complete.js +50 -17
  326. package/dist/tasks/complete.js.map +1 -1
  327. package/dist/tasks/compute-task-view.d.ts.map +1 -1
  328. package/dist/tasks/compute-task-view.js +7 -0
  329. package/dist/tasks/compute-task-view.js.map +1 -1
  330. package/dist/tasks/done-plan.d.ts.map +1 -1
  331. package/dist/tasks/done-plan.js +51 -30
  332. package/dist/tasks/done-plan.js.map +1 -1
  333. package/dist/tasks/done-record.d.ts +6 -0
  334. package/dist/tasks/done-record.d.ts.map +1 -1
  335. package/dist/tasks/done-record.js +9 -3
  336. package/dist/tasks/done-record.js.map +1 -1
  337. package/dist/tasks/evidence.d.ts +3 -2
  338. package/dist/tasks/evidence.d.ts.map +1 -1
  339. package/dist/tasks/evidence.js +143 -12
  340. package/dist/tasks/evidence.js.map +1 -1
  341. package/dist/tasks/gate-notes.d.ts +22 -0
  342. package/dist/tasks/gate-notes.d.ts.map +1 -0
  343. package/dist/tasks/gate-notes.js +33 -0
  344. package/dist/tasks/gate-notes.js.map +1 -0
  345. package/dist/tasks/index.d.ts +2 -1
  346. package/dist/tasks/index.d.ts.map +1 -1
  347. package/dist/tasks/index.js +2 -1
  348. package/dist/tasks/index.js.map +1 -1
  349. package/dist/tasks/test-run-binding.d.ts +117 -0
  350. package/dist/tasks/test-run-binding.d.ts.map +1 -0
  351. package/dist/tasks/test-run-binding.js +365 -0
  352. package/dist/tasks/test-run-binding.js.map +1 -0
  353. package/dist/tasks/tool-cache-env.d.ts +123 -0
  354. package/dist/tasks/tool-cache-env.d.ts.map +1 -0
  355. package/dist/tasks/tool-cache-env.js +287 -0
  356. package/dist/tasks/tool-cache-env.js.map +1 -0
  357. package/dist/tasks/tool-cache-failed-first.d.ts +155 -0
  358. package/dist/tasks/tool-cache-failed-first.d.ts.map +1 -0
  359. package/dist/tasks/tool-cache-failed-first.js +285 -0
  360. package/dist/tasks/tool-cache-failed-first.js.map +1 -0
  361. package/dist/tasks/tool-cache.d.ts +375 -55
  362. package/dist/tasks/tool-cache.d.ts.map +1 -1
  363. package/dist/tasks/tool-cache.js +912 -303
  364. package/dist/tasks/tool-cache.js.map +1 -1
  365. package/dist/tasks/tool-resolver.d.ts +4 -3
  366. package/dist/tasks/tool-resolver.d.ts.map +1 -1
  367. package/dist/tasks/tool-resolver.js +15 -4
  368. package/dist/tasks/tool-resolver.js.map +1 -1
  369. package/dist/tasks/tool-semaphore.d.ts +67 -7
  370. package/dist/tasks/tool-semaphore.d.ts.map +1 -1
  371. package/dist/tasks/tool-semaphore.js +134 -56
  372. package/dist/tasks/tool-semaphore.js.map +1 -1
  373. package/dist/upgrade.d.ts.map +1 -1
  374. package/dist/upgrade.js +4 -0
  375. package/dist/upgrade.js.map +1 -1
  376. package/dist/validation/engine-ops.d.ts +6 -0
  377. package/dist/validation/engine-ops.d.ts.map +1 -1
  378. package/dist/validation/engine-ops.js +8 -0
  379. package/dist/validation/engine-ops.js.map +1 -1
  380. package/migrations/drizzle-cleo-project/20260930170000_t12819-trigger-suspend-clause/migration.sql +367 -0
  381. package/migrations/sync-journal/20260930120000_t12343-capture/migration.sql +47 -0
  382. package/migrations/sync-journal/20261001170000_t12984-sealer/migration.sql +101 -0
  383. package/package.json +13 -13
  384. package/templates/CLEO-INJECTION.md +5 -5
  385. package/templates/CLEO-REFERENCE.md +8 -4
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema": 1,
3
- "gitHead": "e59e96a5a5c55c7ec37d4367907603800fdc90b9",
4
- "builtAt": "2026-10-01T05:29:07.574Z",
3
+ "gitHead": "f05cf595cc545badb0ca90f30fb7ced99d881a2c",
4
+ "builtAt": "2026-10-02T20:55:22.806Z",
5
5
  "linkedWorktree": null
6
6
  }
@@ -90,8 +90,9 @@ export declare class Journal {
90
90
  private readonly maxSegmentBlobBytes;
91
91
  constructor(o: JournalOptions);
92
92
  /**
93
- * Encrypt, sign and append one segment of ops. Safe to retry with the same replicaSeq, metadata and
94
- * `sealed` bytes (from sealSegment): re-encrypting would change the hash and defeat idempotency.
93
+ * Encrypt, sign and append one segment of ops: segment/v2, or segment/v3 when `meta` carries
94
+ * `txnDeltas` (journal spec §2.11). Safe to retry with the same replicaSeq, metadata and `sealed`
95
+ * bytes (from sealSegment): re-encrypting would change the hash and defeat idempotency.
95
96
  */
96
97
  push(replicaSeq: number, plaintext: Uint8Array, meta: SegmentMeta, sealed?: Buffer): Promise<AppendSegmentResult>;
97
98
  /**
@@ -124,8 +125,9 @@ export declare class Journal {
124
125
  * Encrypt, upload and sign a checkpoint bundle, then register it. The client mints the checkpoint id,
125
126
  * because the signature and the bundle's AAD both cover it. `cursor` is this replica's pull cursor at
126
127
  * the point the bundle captures: it gives coversSeq and the signed replica map, so it must know every
127
- * replica. The server verifies the signature and the replica map, and refuses lineage breaks and
128
- * regressions. A retry of the same checkpoint returns it again.
128
+ * replica. The signature is checkpoint/v2, or checkpoint/v3 for a manifest with the §2.11 accounting
129
+ * fields ({@link manifestVersion}). The server verifies the signature and the replica map, and refuses
130
+ * lineage breaks and regressions. A retry of the same checkpoint returns it again.
129
131
  */
130
132
  pushCheckpoint(args: {
131
133
  bundle: Uint8Array;
@@ -135,7 +137,9 @@ export declare class Journal {
135
137
  }): Promise<Checkpoint>;
136
138
  /**
137
139
  * Check a checkpoint record: it belongs to this stream, and a trusted key signed every field that
138
- * matters (ids, lineage, coversSeq, manifest, replica map, bundle hash and size). Accepted signers:
140
+ * matters (ids, lineage, coversSeq, manifest, replica map, bundle hash and size), under the domain its
141
+ * manifest's format picks (checkpoint/v2 or /v3, so v3 fields can be neither dropped nor added after
142
+ * signing). Accepted signers:
139
143
  * - the author, with a live key, or with a revoked key whose pin for this stream covers coversSeq;
140
144
  * - otherwise, any live device that endorsed (re-signed) it.
141
145
  */
@@ -1 +1 @@
1
- {"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/cloud/journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/cloud/journal.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ import { AppendSegmentResult, BlobDownload, CheckpointId, CompleteUploadResult,
2
2
  import { DecryptError, open, seal, sha256Hex, signEd25519, uuidv7, verifyEd25519, } from './crypto.js';
3
3
  import { isSecureUrl, NexusError, } from './http.js';
4
4
  import { liveKeys, signerKeys } from './keys.js';
5
- import { checkpointEndorsementMessage, checkpointSigningMessage, manifestCanonical, replicasCanonical, segmentMetaCanonical, segmentSigningMessage, } from './signing.js';
5
+ import { manifestVersion } from './manifest-check.js';
6
+ import { checkpointEndorsementMessage, checkpointSigningMessage, manifestCanonical, replicasCanonical, segmentMetaCanonical, segmentSigningMessage, segmentSigningVersion, } from './signing.js';
6
7
  const refuse = (code, reason, message) => new NexusError(code, message, 0, null, { reason });
7
8
  function uploaderFor(fetchImpl) {
8
9
  return async (url, headers, bytes) => {
@@ -101,7 +102,10 @@ const checkpointParts = (cp) => ({
101
102
  replicasHash: replicasHash(cp.replicas),
102
103
  blobSha256: cp.blobSha256,
103
104
  sizeBytes: cp.sizeBytes,
105
+ version: manifestVersion(cp.manifest),
104
106
  });
107
+ // The AAD contexts stay `segment/v2` and `checkpoint/v2` for v3 segments and manifests: the meta hash
108
+ // already covers `txnDeltas`, and the signature carries the version (cleo-nexus e2e-keys.md).
105
109
  const segmentContext = (streamId, replicaId, replicaSeq, metaHash) => `segment/v2\n${streamId}\n${replicaId}\n${replicaSeq}\n${metaHash}`;
106
110
  const checkpointContext = (streamId, checkpointId, coversSeq) => `checkpoint/v2\n${streamId}\n${checkpointId}\n${coversSeq}`;
107
111
  const metaOf = (s) => ({
@@ -110,6 +114,8 @@ const metaOf = (s) => ({
110
114
  hlcMax: s.hlcMax,
111
115
  deltas: s.deltas,
112
116
  schemaVersion: s.schemaVersion,
117
+ // segment/v3 only; a v2 segment (null, or absent from an older server) carries none.
118
+ ...(s.txnDeltas !== undefined && s.txnDeltas !== null ? { txnDeltas: s.txnDeltas } : {}),
113
119
  });
114
120
  /**
115
121
  * One replica's view of one journal stream. The caller owns durable state (`nextReplicaSeq`, the
@@ -131,22 +137,33 @@ export class Journal {
131
137
  this.maxSegmentBlobBytes = o.maxSegmentBlobBytes ?? DEFAULT_MAX_SEGMENT_BLOB_BYTES;
132
138
  }
133
139
  /**
134
- * Encrypt, sign and append one segment of ops. Safe to retry with the same replicaSeq, metadata and
135
- * `sealed` bytes (from sealSegment): re-encrypting would change the hash and defeat idempotency.
140
+ * Encrypt, sign and append one segment of ops: segment/v2, or segment/v3 when `meta` carries
141
+ * `txnDeltas` (journal spec §2.11). Safe to retry with the same replicaSeq, metadata and `sealed`
142
+ * bytes (from sealSegment): re-encrypting would change the hash and defeat idempotency.
136
143
  */
137
144
  async push(replicaSeq, plaintext, meta, sealed) {
138
145
  const { streamId, replicaId, deviceId } = this.o;
139
146
  const metaHash = segmentMetaHash(meta);
140
147
  const ciphertext = sealed ?? this.sealSegment(replicaSeq, plaintext, meta);
141
148
  const segmentHash = sha256Hex(ciphertext);
142
- const signature = signEd25519(this.o.signing, segmentSigningMessage({ streamId, replicaId, deviceId, replicaSeq, segmentHash, metaHash })).toString('base64');
149
+ const signature = signEd25519(this.o.signing, segmentSigningMessage({
150
+ streamId,
151
+ replicaId,
152
+ deviceId,
153
+ replicaSeq,
154
+ segmentHash,
155
+ metaHash,
156
+ version: segmentSigningVersion(meta),
157
+ })).toString('base64');
158
+ const { txnDeltas, ...v2Meta } = metaOf(meta);
143
159
  const body = {
144
160
  replicaId,
145
161
  deviceId,
146
162
  segmentHash,
147
163
  replicaSeq,
148
164
  signature,
149
- ...metaOf(meta),
165
+ ...v2Meta,
166
+ ...(txnDeltas ? { txnDeltas: [...txnDeltas] } : {}),
150
167
  ...(ciphertext.length > MAX_INLINE_SEGMENT_BYTES
151
168
  ? { blobSha256: await this.uploadBlob(ciphertext, 'segment') }
152
169
  : { ciphertext: ciphertext.toString('base64') }),
@@ -226,6 +243,7 @@ export class Journal {
226
243
  replicaSeq: s.replicaSeq,
227
244
  segmentHash: s.segmentHash,
228
245
  metaHash,
246
+ version: segmentSigningVersion(s),
229
247
  });
230
248
  const signature = Buffer.from(s.signature, 'base64');
231
249
  const signer = keys.find((k) => verifyEd25519(k.publicKey, msg, signature));
@@ -269,8 +287,9 @@ export class Journal {
269
287
  * Encrypt, upload and sign a checkpoint bundle, then register it. The client mints the checkpoint id,
270
288
  * because the signature and the bundle's AAD both cover it. `cursor` is this replica's pull cursor at
271
289
  * the point the bundle captures: it gives coversSeq and the signed replica map, so it must know every
272
- * replica. The server verifies the signature and the replica map, and refuses lineage breaks and
273
- * regressions. A retry of the same checkpoint returns it again.
290
+ * replica. The signature is checkpoint/v2, or checkpoint/v3 for a manifest with the §2.11 accounting
291
+ * fields ({@link manifestVersion}). The server verifies the signature and the replica map, and refuses
292
+ * lineage breaks and regressions. A retry of the same checkpoint returns it again.
274
293
  */
275
294
  async pushCheckpoint(args) {
276
295
  const { streamId, replicaId, deviceId } = this.o;
@@ -309,7 +328,9 @@ export class Journal {
309
328
  }
310
329
  /**
311
330
  * Check a checkpoint record: it belongs to this stream, and a trusted key signed every field that
312
- * matters (ids, lineage, coversSeq, manifest, replica map, bundle hash and size). Accepted signers:
331
+ * matters (ids, lineage, coversSeq, manifest, replica map, bundle hash and size), under the domain its
332
+ * manifest's format picks (checkpoint/v2 or /v3, so v3 fields can be neither dropped nor added after
333
+ * signing). Accepted signers:
313
334
  * - the author, with a live key, or with a revoked key whose pin for this stream covers coversSeq;
314
335
  * - otherwise, any live device that endorsed (re-signed) it.
315
336
  */
@@ -1 +1 @@
1
- {"version":3,"file":"journal.js","sourceRoot":"","sources":["../../src/cloud/journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal.js","sourceRoot":"","sources":["../../src/cloud/journal.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,14 @@
1
- import type { Manifest, TableDeltas } from '@cleocode/contracts/cloud';
1
+ import type { Manifest, TableDeltas, TxnRef } from '@cleocode/contracts/cloud';
2
+ /**
3
+ * 3 for a manifest with the §2.11 accounting fields (checkpoint/v3), else 2. The server's copy is in
4
+ * its wire contract; contracts export no runtime helpers here (arch gate 10), so it lives beside the
5
+ * rules.
6
+ *
7
+ * @param m - A checkpoint manifest.
8
+ * @returns The manifest format, which picks the checkpoint signing domain.
9
+ */
10
+ export declare function manifestVersion(m: Manifest): 2 | 3;
11
+ /** The v2 verdict on a checkpoint manifest: accepted, a row regression, or a schema too new. */
2
12
  export type ManifestVerdict = {
3
13
  ok: true;
4
14
  } | {
@@ -11,6 +21,7 @@ export type ManifestVerdict = {
11
21
  schemaVersion: number;
12
22
  maxAccepted: number;
13
23
  };
24
+ /** One table whose rows do not reconcile with the parent and the journal. */
14
25
  export interface RegressionFinding {
15
26
  table: string;
16
27
  parentRows: number;
@@ -25,12 +36,137 @@ export declare function sumDeltas(deltas: readonly TableDeltas[]): TableDeltas;
25
36
  /**
26
37
  * Decide whether a new checkpoint manifest may replace its parent.
27
38
  *
28
- * The rule is exact, not a heuristic: for every table,
39
+ * The rule is exact, not a heuristic: for every table either side names,
29
40
  * `next.rows === parent.rows + created - deleted`, summed over the segments between the two
30
- * checkpoints. Every shrink therefore needs a tombstone op to back it. A table present in the
31
- * parent must still be present, even with 0 rows.
41
+ * checkpoints. Every shrink therefore needs a tombstone op to back it, and every new table's rows
42
+ * need declared creates. A table with rows in the parent must still be present, even with 0 rows.
32
43
  *
33
44
  * With no parent (genesis), only the schema version is checked.
34
45
  */
35
46
  export declare function checkManifest(parent: Manifest | null, next: Manifest, between: TableDeltas, maxAcceptedSchemaVersion: number): ManifestVerdict;
47
+ /** A transaction and its declared (or remaining voided) per-table counts. */
48
+ export interface DeclaredTxn {
49
+ readonly ref: TxnRef;
50
+ readonly deltas: TableDeltas;
51
+ }
52
+ /** A seq in a checkpoint window at which the highest segment schemaVersion seen so far rises. */
53
+ export interface SchemaRise {
54
+ readonly seq: number;
55
+ readonly schemaVersion: number;
56
+ }
57
+ /** What the server knows about a checkpoint's window, the segments in (parent.coversSeq, coversSeq]. */
58
+ export interface CheckpointWindow {
59
+ /** The declared deltas of every transaction in the window: the sum of its segments' `deltas`. */
60
+ readonly deltas: TableDeltas;
61
+ /**
62
+ * Declared transactions of the window: at least every one the manifest names in `pending` or
63
+ * `voided` (the server loads only those). A named ref missing here is not in the window.
64
+ */
65
+ readonly txns: readonly DeclaredTxn[];
66
+ /** Each window segment's seq and schemaVersion, in seq order. */
67
+ readonly schemaVersions: readonly SchemaRise[];
68
+ }
69
+ /** A window built from all of its transactions (and segment schema versions), for small windows and tests. */
70
+ export declare function windowOf(txns: readonly DeclaredTxn[], schemaVersions?: readonly SchemaRise[]): CheckpointWindow;
71
+ /**
72
+ * The transition points of a replay pin (journal spec §2.11 §7): each seq at which the highest
73
+ * schemaVersion seen so far rises above everything before it, starting from `baseline` (the parent
74
+ * checkpoint's schemaVersion).
75
+ */
76
+ export declare function schemaRises(baseline: number, schemaVersions: readonly SchemaRise[]): SchemaRise[];
77
+ /** Why a v3 manifest's accounting lists are refused. */
78
+ export type AccountingFinding = {
79
+ reason: 'genesis-not-empty';
80
+ } | {
81
+ reason: 'duplicate-ref';
82
+ list: 'pending' | 'voided' | 'revived';
83
+ ref: TxnRef;
84
+ } | {
85
+ reason: 'pending-not-in-window';
86
+ ref: TxnRef;
87
+ } | {
88
+ reason: 'pending-unresolved';
89
+ ref: TxnRef;
90
+ } | {
91
+ reason: 'transitions-mismatch';
92
+ expected: SchemaRise[];
93
+ actual: SchemaRise[];
94
+ } | {
95
+ reason: 'schema-version-below-floor';
96
+ schemaVersion: number;
97
+ floor: number;
98
+ } | {
99
+ reason: 'voided-not-applied';
100
+ ref: TxnRef;
101
+ } | {
102
+ reason: 'voided-exceeds-declared';
103
+ ref: TxnRef;
104
+ table: string;
105
+ } | {
106
+ reason: 'revived-not-voided';
107
+ ref: TxnRef;
108
+ } | {
109
+ reason: 'revived-exceeds-voided';
110
+ ref: TxnRef;
111
+ table: string;
112
+ } | {
113
+ reason: 'pruned-out-of-range';
114
+ table: string;
115
+ pruned: number;
116
+ max: number;
117
+ };
118
+ /** The v3 verdict: the v2 outcomes, accounting refusals, or the stream's v3 ratchet. */
119
+ export type ManifestVerdictV3 = ManifestVerdict | {
120
+ ok: false;
121
+ code: 'E_MANIFEST_ACCOUNTING';
122
+ findings: AccountingFinding[];
123
+ } | {
124
+ ok: false;
125
+ code: 'E_STREAM_VERSION';
126
+ reason: 'stream-v3';
127
+ parentVersion: 3;
128
+ nextVersion: 2;
129
+ };
130
+ /** The key of a transaction ref in maps. */
131
+ export declare function txnRefKey(r: TxnRef): string;
132
+ /**
133
+ * Decide whether a v3 checkpoint manifest may replace its parent (journal spec §2.11 §4). Exact:
134
+ * no aggregate slack for pending and no age bound. With `A` = (window transactions ∪ the parent's
135
+ * pending) − the new pending, every table must hold
136
+ *
137
+ * rows = parent.rows + Decl(A).created − Decl(A).deleted
138
+ * − Σ voided.created + Σ voided.deleted
139
+ * + Σ revived.created − Σ revived.deleted
140
+ * − pruned
141
+ *
142
+ * and: pending ⊆ window ∪ parent.pending; every voided ref ∈ A with counts ≤ its declared counts;
143
+ * every revived ref in the stream's cumulative voided set with counts ≤ what is still voided there;
144
+ * 0 ≤ pruned ≤ parent.rows + Decl(A).created; the replay pin's transitions are exactly the window's
145
+ * schema rise points from the parent's schemaVersion, and the manifest's schemaVersion is at least the
146
+ * parent's and the last of those rises (T090), so the next window's baseline never sits below what
147
+ * the replay already reached. Decl(A) is computed from the window's sum, so
148
+ * only the named transactions need loading: Decl(window) + Decl(parent.pending) − Decl(pending).
149
+ * A v2 manifest is the v3 one with empty lists; a v2 segment is one transaction (txn 0) with the
150
+ * segment's deltas. Once a stream has a v3 checkpoint, a v2 one is refused (E_STREAM_VERSION): the
151
+ * lineage is linear, so checking the parent ratchets the whole stream.
152
+ *
153
+ * @param input.window - The window's deltas sum, its named transactions and its segment versions.
154
+ * @param input.parentPending - The declared deltas of the parent manifest's pending refs. Each of
155
+ * them must be here (`pending-unresolved` otherwise).
156
+ * @param input.voidedBefore - The stream's cumulative voided set before this checkpoint: at least
157
+ * the entries of every ref `next.revived` names.
158
+ */
159
+ export declare function checkManifestV3(input: {
160
+ readonly parent: Manifest | null;
161
+ readonly next: Manifest;
162
+ readonly window: CheckpointWindow;
163
+ readonly parentPending: readonly DeclaredTxn[];
164
+ readonly voidedBefore: readonly DeclaredTxn[];
165
+ readonly maxAcceptedSchemaVersion: number;
166
+ }): ManifestVerdictV3;
167
+ /**
168
+ * The stream's cumulative voided set after an accepted checkpoint: the set before it, plus this
169
+ * window's `voided`, minus its `revived`, per ref and table; refs left with nothing are dropped.
170
+ */
171
+ export declare function nextVoidedSet(before: readonly DeclaredTxn[], voided: readonly DeclaredTxn[], revived: readonly DeclaredTxn[]): DeclaredTxn[];
36
172
  //# sourceMappingURL=manifest-check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-check.d.ts","sourceRoot":"","sources":["../../src/cloud/manifest-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,MAAM,eAAe,GACvB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAAE,GAChE;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAAC;CAC5C;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,CASrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,QAAQ,GAAG,IAAI,EACvB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,WAAW,EACpB,wBAAwB,EAAE,MAAM,GAC/B,eAAe,CA+CjB"}
1
+ {"version":3,"file":"manifest-check.d.ts","sourceRoot":"","sources":["../../src/cloud/manifest-check.ts"],"names":[],"mappings":"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"}