@cleocode/core 2026.10.3 → 2026.10.5-rc.ci.672

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 (1373) hide show
  1. package/dist/bootstrap.d.ts.map +1 -1
  2. package/dist/bootstrap.js +7 -37
  3. package/dist/bootstrap.js.map +1 -1
  4. package/dist/build-provenance.json +2 -2
  5. package/dist/caamp/adapter.d.ts.map +1 -1
  6. package/dist/caamp/adapter.js +5 -2
  7. package/dist/caamp/adapter.js.map +1 -1
  8. package/dist/changesets/parse-frontmatter.d.ts +1 -1
  9. package/dist/changesets/parse-frontmatter.d.ts.map +1 -1
  10. package/dist/changesets/parse-frontmatter.js +2 -1
  11. package/dist/changesets/parse-frontmatter.js.map +1 -1
  12. package/dist/changesets/parser.d.ts +1 -1
  13. package/dist/changesets/parser.d.ts.map +1 -1
  14. package/dist/changesets/parser.js +2 -1
  15. package/dist/changesets/parser.js.map +1 -1
  16. package/dist/changesets/writer.d.ts +8 -1
  17. package/dist/changesets/writer.d.ts.map +1 -1
  18. package/dist/changesets/writer.js +56 -5
  19. package/dist/changesets/writer.js.map +1 -1
  20. package/dist/cloud/keys.d.ts +9 -0
  21. package/dist/cloud/keys.d.ts.map +1 -1
  22. package/dist/cloud/keys.js +11 -0
  23. package/dist/cloud/keys.js.map +1 -1
  24. package/dist/cloud/nexus-attach.d.ts +17 -0
  25. package/dist/cloud/nexus-attach.d.ts.map +1 -1
  26. package/dist/cloud/nexus-attach.js +30 -9
  27. package/dist/cloud/nexus-attach.js.map +1 -1
  28. package/dist/cloud/nexus-auth.d.ts +7 -1
  29. package/dist/cloud/nexus-auth.d.ts.map +1 -1
  30. package/dist/cloud/nexus-auth.js +7 -1
  31. package/dist/cloud/nexus-auth.js.map +1 -1
  32. package/dist/cloud/nexus-cloud-activity.d.ts.map +1 -1
  33. package/dist/cloud/nexus-cloud-activity.js +2 -1
  34. package/dist/cloud/nexus-cloud-activity.js.map +1 -1
  35. package/dist/cloud/nexus-cloud-conflicts.d.ts +48 -0
  36. package/dist/cloud/nexus-cloud-conflicts.d.ts.map +1 -0
  37. package/dist/cloud/nexus-cloud-conflicts.js +68 -0
  38. package/dist/cloud/nexus-cloud-conflicts.js.map +1 -0
  39. package/dist/cloud/nexus-cloud-status.d.ts +42 -6
  40. package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
  41. package/dist/cloud/nexus-cloud-status.js +233 -19
  42. package/dist/cloud/nexus-cloud-status.js.map +1 -1
  43. package/dist/cloud/nexus-cloud.d.ts +18 -1
  44. package/dist/cloud/nexus-cloud.d.ts.map +1 -1
  45. package/dist/cloud/nexus-cloud.js +56 -2
  46. package/dist/cloud/nexus-cloud.js.map +1 -1
  47. package/dist/cloud/nexus-credentials.d.ts +1 -1
  48. package/dist/cloud/nexus-credentials.d.ts.map +1 -1
  49. package/dist/cloud/nexus-credentials.js +1 -1
  50. package/dist/cloud/nexus-credentials.js.map +1 -1
  51. package/dist/cloud/nexus-enrol.d.ts +10 -1
  52. package/dist/cloud/nexus-enrol.d.ts.map +1 -1
  53. package/dist/cloud/nexus-enrol.js +47 -3
  54. package/dist/cloud/nexus-enrol.js.map +1 -1
  55. package/dist/cloud/nexus-first-run.d.ts +146 -0
  56. package/dist/cloud/nexus-first-run.d.ts.map +1 -0
  57. package/dist/cloud/nexus-first-run.js +358 -0
  58. package/dist/cloud/nexus-first-run.js.map +1 -0
  59. package/dist/cloud/nexus-link.d.ts +35 -4
  60. package/dist/cloud/nexus-link.d.ts.map +1 -1
  61. package/dist/cloud/nexus-link.js +172 -7
  62. package/dist/cloud/nexus-link.js.map +1 -1
  63. package/dist/cloud/nexus-presence-refresh.d.ts +65 -0
  64. package/dist/cloud/nexus-presence-refresh.d.ts.map +1 -0
  65. package/dist/cloud/nexus-presence-refresh.js +122 -0
  66. package/dist/cloud/nexus-presence-refresh.js.map +1 -0
  67. package/dist/cloud/nexus-project-history.d.ts +54 -0
  68. package/dist/cloud/nexus-project-history.d.ts.map +1 -0
  69. package/dist/cloud/nexus-project-history.js +108 -0
  70. package/dist/cloud/nexus-project-history.js.map +1 -0
  71. package/dist/cloud/nexus-project-names.d.ts +173 -0
  72. package/dist/cloud/nexus-project-names.d.ts.map +1 -0
  73. package/dist/cloud/nexus-project-names.js +314 -0
  74. package/dist/cloud/nexus-project-names.js.map +1 -0
  75. package/dist/cloud/nexus-vault-keys.d.ts +33 -2
  76. package/dist/cloud/nexus-vault-keys.d.ts.map +1 -1
  77. package/dist/cloud/nexus-vault-keys.js +144 -18
  78. package/dist/cloud/nexus-vault-keys.js.map +1 -1
  79. package/dist/cloud/nexus-vault.d.ts +7 -3
  80. package/dist/cloud/nexus-vault.d.ts.map +1 -1
  81. package/dist/cloud/nexus-vault.js +176 -29
  82. package/dist/cloud/nexus-vault.js.map +1 -1
  83. package/dist/cloud/presence.d.ts +1 -1
  84. package/dist/cloud/presence.d.ts.map +1 -1
  85. package/dist/cloud/presence.js +1 -1
  86. package/dist/cloud/presence.js.map +1 -1
  87. package/dist/cloud/projects.d.ts +7 -4
  88. package/dist/cloud/projects.d.ts.map +1 -1
  89. package/dist/cloud/projects.js +10 -1
  90. package/dist/cloud/projects.js.map +1 -1
  91. package/dist/cloud/signing.d.ts +14 -0
  92. package/dist/cloud/signing.d.ts.map +1 -1
  93. package/dist/cloud/signing.js +9 -0
  94. package/dist/cloud/signing.js.map +1 -1
  95. package/dist/conduit/cloud-endpoint.d.ts +96 -0
  96. package/dist/conduit/cloud-endpoint.d.ts.map +1 -0
  97. package/dist/conduit/cloud-endpoint.js +191 -0
  98. package/dist/conduit/cloud-endpoint.js.map +1 -0
  99. package/dist/conduit/conduit-client.d.ts.map +1 -1
  100. package/dist/conduit/conduit-client.js +2 -1
  101. package/dist/conduit/conduit-client.js.map +1 -1
  102. package/dist/conduit/factory.d.ts +4 -0
  103. package/dist/conduit/factory.d.ts.map +1 -1
  104. package/dist/conduit/factory.js +7 -1
  105. package/dist/conduit/factory.js.map +1 -1
  106. package/dist/conduit/http-transport.d.ts +12 -7
  107. package/dist/conduit/http-transport.d.ts.map +1 -1
  108. package/dist/conduit/http-transport.js +18 -11
  109. package/dist/conduit/http-transport.js.map +1 -1
  110. package/dist/conduit/index.d.ts +3 -1
  111. package/dist/conduit/index.d.ts.map +1 -1
  112. package/dist/conduit/index.js +3 -1
  113. package/dist/conduit/index.js.map +1 -1
  114. package/dist/conduit/sse-transport.d.ts +5 -1
  115. package/dist/conduit/sse-transport.d.ts.map +1 -1
  116. package/dist/conduit/sse-transport.js +10 -2
  117. package/dist/conduit/sse-transport.js.map +1 -1
  118. package/dist/config/registry.js +1 -1
  119. package/dist/config/registry.js.map +1 -1
  120. package/dist/core-paths.d.ts +13 -0
  121. package/dist/core-paths.d.ts.map +1 -0
  122. package/dist/core-paths.js +13 -0
  123. package/dist/core-paths.js.map +1 -0
  124. package/dist/decide/bench/source.js +1 -1
  125. package/dist/decide/bench/source.js.map +1 -1
  126. package/dist/decide/client.d.ts +1 -1
  127. package/dist/decide/client.d.ts.map +1 -1
  128. package/dist/decide/client.js +1 -1
  129. package/dist/decide/client.js.map +1 -1
  130. package/dist/decide/credentials.d.ts +1 -1
  131. package/dist/decide/credentials.d.ts.map +1 -1
  132. package/dist/decide/credentials.js +1 -1
  133. package/dist/decide/credentials.js.map +1 -1
  134. package/dist/decide/jev-wire.d.ts +1 -1
  135. package/dist/decide/jev-wire.d.ts.map +1 -1
  136. package/dist/decide/jev-wire.js +1 -1
  137. package/dist/decide/jev-wire.js.map +1 -1
  138. package/dist/decide/operations.d.ts +1 -1
  139. package/dist/decide/operations.d.ts.map +1 -1
  140. package/dist/decide/operations.js +1 -1
  141. package/dist/decide/operations.js.map +1 -1
  142. package/dist/decide/providers.d.ts +1 -1
  143. package/dist/decide/providers.d.ts.map +1 -1
  144. package/dist/decide/providers.js +1 -1
  145. package/dist/decide/providers.js.map +1 -1
  146. package/dist/decide/wizard.d.ts.map +1 -1
  147. package/dist/decide/wizard.js +1 -1
  148. package/dist/decide/wizard.js.map +1 -1
  149. package/dist/dispatch/config-domain-handler.d.ts +1 -1
  150. package/dist/dispatch/config-domain-handler.d.ts.map +1 -1
  151. package/dist/dispatch/config-domain-handler.js +1 -1
  152. package/dist/dispatch/config-domain-handler.js.map +1 -1
  153. package/dist/dispatch/contracts/derive-output-contract.d.ts +1 -1
  154. package/dist/dispatch/contracts/derive-output-contract.d.ts.map +1 -1
  155. package/dist/dispatch/contracts/derive-output-contract.js +2 -1
  156. package/dist/dispatch/contracts/derive-output-contract.js.map +1 -1
  157. package/dist/dispatch/contracts/ensures-schema.d.ts +1 -1
  158. package/dist/dispatch/contracts/ensures-schema.d.ts.map +1 -1
  159. package/dist/dispatch/contracts/ensures-schema.js +1 -1
  160. package/dist/dispatch/contracts/ensures-schema.js.map +1 -1
  161. package/dist/dispatch/contracts/input-contracts.d.ts +1 -1
  162. package/dist/dispatch/contracts/input-contracts.d.ts.map +1 -1
  163. package/dist/dispatch/contracts/input-contracts.js +3 -1
  164. package/dist/dispatch/contracts/input-contracts.js.map +1 -1
  165. package/dist/dispatch/contracts/output-contracts.d.ts +2 -1
  166. package/dist/dispatch/contracts/output-contracts.d.ts.map +1 -1
  167. package/dist/dispatch/contracts/output-contracts.js +1 -1
  168. package/dist/dispatch/contracts/output-contracts.js.map +1 -1
  169. package/dist/dispatch/describe-operation.d.ts +1 -1
  170. package/dist/dispatch/describe-operation.d.ts.map +1 -1
  171. package/dist/dispatch/describe-operation.js +1 -1
  172. package/dist/dispatch/describe-operation.js.map +1 -1
  173. package/dist/dispatch/mvi-projection.d.ts +1 -1
  174. package/dist/dispatch/mvi-projection.d.ts.map +1 -1
  175. package/dist/dispatch/mvi-projection.js +1 -1
  176. package/dist/dispatch/mvi-projection.js.map +1 -1
  177. package/dist/docs/display-alias.js +1 -1
  178. package/dist/docs/display-alias.js.map +1 -1
  179. package/dist/docs/docs-update.d.ts +1 -1
  180. package/dist/docs/docs-update.d.ts.map +1 -1
  181. package/dist/docs/docs-update.js +2 -1
  182. package/dist/docs/docs-update.js.map +1 -1
  183. package/dist/docs/export-document.js +14 -58410
  184. package/dist/docs/export-document.js.map +3 -3
  185. package/dist/docs/publish-pr.js +1 -1
  186. package/dist/docs/publish-pr.js.map +1 -1
  187. package/dist/docs/supersede.js +1 -1
  188. package/dist/docs/supersede.js.map +1 -1
  189. package/dist/docs/validate-body.d.ts +1 -1
  190. package/dist/docs/validate-body.d.ts.map +1 -1
  191. package/dist/docs/validate-body.js +1 -1
  192. package/dist/docs/validate-body.js.map +1 -1
  193. package/dist/docs/writer-registry.js +1 -1
  194. package/dist/docs/writer-registry.js.map +1 -1
  195. package/dist/doctor/acceptance-drift.js +1 -1
  196. package/dist/doctor/acceptance-drift.js.map +1 -1
  197. package/dist/doctor/db-substrate.d.ts +7 -10
  198. package/dist/doctor/db-substrate.d.ts.map +1 -1
  199. package/dist/doctor/db-substrate.js +11 -15
  200. package/dist/doctor/db-substrate.js.map +1 -1
  201. package/dist/doctor/invariant-audit.js +1 -1
  202. package/dist/doctor/invariant-audit.js.map +1 -1
  203. package/dist/doctor/malformed-task-ids.js +1 -1
  204. package/dist/doctor/malformed-task-ids.js.map +1 -1
  205. package/dist/doctor/migrations.d.ts +18 -0
  206. package/dist/doctor/migrations.d.ts.map +1 -1
  207. package/dist/doctor/migrations.js +54 -2
  208. package/dist/doctor/migrations.js.map +1 -1
  209. package/dist/doctor/row-identity-refill.d.ts +43 -0
  210. package/dist/doctor/row-identity-refill.d.ts.map +1 -0
  211. package/dist/doctor/row-identity-refill.js +186 -0
  212. package/dist/doctor/row-identity-refill.js.map +1 -0
  213. package/dist/doctor/superseded-store.d.ts.map +1 -1
  214. package/dist/doctor/superseded-store.js +51 -2
  215. package/dist/doctor/superseded-store.js.map +1 -1
  216. package/dist/doctor/sync-repair.d.ts +39 -0
  217. package/dist/doctor/sync-repair.d.ts.map +1 -0
  218. package/dist/doctor/sync-repair.js +71 -0
  219. package/dist/doctor/sync-repair.js.map +1 -0
  220. package/dist/doctor/sync-triggers.d.ts +63 -4
  221. package/dist/doctor/sync-triggers.d.ts.map +1 -1
  222. package/dist/doctor/sync-triggers.js +352 -9
  223. package/dist/doctor/sync-triggers.js.map +1 -1
  224. package/dist/doctor/twin-collapse.js +1 -1
  225. package/dist/doctor/twin-collapse.js.map +1 -1
  226. package/dist/engine/engine-ops.d.ts.map +1 -1
  227. package/dist/engine/engine-ops.js +7 -1
  228. package/dist/engine/engine-ops.js.map +1 -1
  229. package/dist/engine-result.d.ts +1 -1
  230. package/dist/engine-result.d.ts.map +1 -1
  231. package/dist/engine-result.js +1 -1
  232. package/dist/engine-result.js.map +1 -1
  233. package/dist/error-catalog.js +1 -1
  234. package/dist/error-catalog.js.map +1 -1
  235. package/dist/error-registry.d.ts +1 -1
  236. package/dist/error-registry.d.ts.map +1 -1
  237. package/dist/error-registry.js +1 -1
  238. package/dist/error-registry.js.map +1 -1
  239. package/dist/errors-to-engine.d.ts +20 -0
  240. package/dist/errors-to-engine.d.ts.map +1 -1
  241. package/dist/errors-to-engine.js +37 -0
  242. package/dist/errors-to-engine.js.map +1 -1
  243. package/dist/errors.d.ts +1 -1
  244. package/dist/errors.d.ts.map +1 -1
  245. package/dist/errors.js +1 -1
  246. package/dist/errors.js.map +1 -1
  247. package/dist/gc/janitor.d.ts +23 -4
  248. package/dist/gc/janitor.d.ts.map +1 -1
  249. package/dist/gc/janitor.js +71 -11
  250. package/dist/gc/janitor.js.map +1 -1
  251. package/dist/goal/continuation.d.ts +1 -1
  252. package/dist/goal/continuation.d.ts.map +1 -1
  253. package/dist/goal/continuation.js +1 -1
  254. package/dist/goal/continuation.js.map +1 -1
  255. package/dist/goal/judge.d.ts.map +1 -1
  256. package/dist/goal/judge.js +2 -1
  257. package/dist/goal/judge.js.map +1 -1
  258. package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
  259. package/dist/hooks/handlers/session-hooks.js +1 -1
  260. package/dist/hooks/handlers/session-hooks.js.map +1 -1
  261. package/dist/init/engine-ops.js +1 -1
  262. package/dist/init/engine-ops.js.map +1 -1
  263. package/dist/init.d.ts.map +1 -1
  264. package/dist/init.js +22 -37
  265. package/dist/init.js.map +1 -1
  266. package/dist/inject/index.js +1 -1
  267. package/dist/inject/index.js.map +1 -1
  268. package/dist/injection.d.ts.map +1 -1
  269. package/dist/injection.js +13 -0
  270. package/dist/injection.js.map +1 -1
  271. package/dist/internal.d.ts +4 -3
  272. package/dist/internal.d.ts.map +1 -1
  273. package/dist/internal.js +7 -4
  274. package/dist/internal.js.map +1 -1
  275. package/dist/issue/create.js +1 -1
  276. package/dist/issue/create.js.map +1 -1
  277. package/dist/json-schema-validator.js +1 -1
  278. package/dist/json-schema-validator.js.map +1 -1
  279. package/dist/lifecycle/index.d.ts +2 -23
  280. package/dist/lifecycle/index.d.ts.map +1 -1
  281. package/dist/lifecycle/index.js +5 -112
  282. package/dist/lifecycle/index.js.map +1 -1
  283. package/dist/lifecycle/kind-requirements.d.ts +1 -1
  284. package/dist/lifecycle/kind-requirements.d.ts.map +1 -1
  285. package/dist/lifecycle/kind-requirements.js +1 -1
  286. package/dist/lifecycle/kind-requirements.js.map +1 -1
  287. package/dist/lifecycle/pipeline.js +1 -1
  288. package/dist/lifecycle/pipeline.js.map +1 -1
  289. package/dist/lifecycle/resume.js +2 -2
  290. package/dist/lifecycle/resume.js.map +1 -1
  291. package/dist/lifecycle/state-machine.js +1 -1
  292. package/dist/lifecycle/state-machine.js.map +1 -1
  293. package/dist/lifecycle/status.d.ts +46 -0
  294. package/dist/lifecycle/status.d.ts.map +1 -0
  295. package/dist/lifecycle/status.js +147 -0
  296. package/dist/lifecycle/status.js.map +1 -0
  297. package/dist/lifecycle/verification/satisfies-validator.js +1 -1
  298. package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
  299. package/dist/llm/catalog-seeder.d.ts +1 -1
  300. package/dist/llm/catalog-seeder.d.ts.map +1 -1
  301. package/dist/llm/catalog-seeder.js +1 -1
  302. package/dist/llm/catalog-seeder.js.map +1 -1
  303. package/dist/llm/cli-ops.d.ts +1 -2
  304. package/dist/llm/cli-ops.d.ts.map +1 -1
  305. package/dist/llm/cli-ops.js +2 -1
  306. package/dist/llm/cli-ops.js.map +1 -1
  307. package/dist/llm/conversation.d.ts.map +1 -1
  308. package/dist/llm/conversation.js +15 -4
  309. package/dist/llm/conversation.js.map +1 -1
  310. package/dist/llm/credential-seeders/claude-code-seeder.js +1 -1
  311. package/dist/llm/credential-seeders/claude-code-seeder.js.map +1 -1
  312. package/dist/llm/credential-seeders/cleo-pkce-seeder.js +1 -1
  313. package/dist/llm/credential-seeders/cleo-pkce-seeder.js.map +1 -1
  314. package/dist/llm/credential-writeback.js +1 -1
  315. package/dist/llm/credential-writeback.js.map +1 -1
  316. package/dist/llm/entity-ops.d.ts +1 -1
  317. package/dist/llm/entity-ops.d.ts.map +1 -1
  318. package/dist/llm/entity-ops.js +2 -1
  319. package/dist/llm/entity-ops.js.map +1 -1
  320. package/dist/llm/llm-queue-admit.d.ts +1 -1
  321. package/dist/llm/llm-queue-admit.d.ts.map +1 -1
  322. package/dist/llm/llm-queue-admit.js +2 -1
  323. package/dist/llm/llm-queue-admit.js.map +1 -1
  324. package/dist/llm/onboarding/login-engine.js +1 -1
  325. package/dist/llm/onboarding/login-engine.js.map +1 -1
  326. package/dist/llm/pi/pi-errors.d.ts +1 -1
  327. package/dist/llm/pi/pi-errors.d.ts.map +1 -1
  328. package/dist/llm/pi/pi-errors.js +1 -1
  329. package/dist/llm/pi/pi-errors.js.map +1 -1
  330. package/dist/llm/plugin-facade.d.ts.map +1 -1
  331. package/dist/llm/plugin-facade.js +14 -93651
  332. package/dist/llm/plugin-facade.js.map +3 -3
  333. package/dist/llm/system-key.d.ts +1 -1
  334. package/dist/llm/system-key.d.ts.map +1 -1
  335. package/dist/llm/system-key.js +1 -1
  336. package/dist/llm/system-key.js.map +1 -1
  337. package/dist/llm/system-of-use-registry.d.ts +1 -1
  338. package/dist/llm/system-of-use-registry.d.ts.map +1 -1
  339. package/dist/llm/system-of-use-registry.js +1 -1
  340. package/dist/llm/system-of-use-registry.js.map +1 -1
  341. package/dist/llm/system-resolver.js +1 -1
  342. package/dist/llm/system-resolver.js.map +1 -1
  343. package/dist/llm/transports/bedrock.d.ts +1 -0
  344. package/dist/llm/transports/bedrock.d.ts.map +1 -1
  345. package/dist/llm/transports/bedrock.js +30 -12
  346. package/dist/llm/transports/bedrock.js.map +1 -1
  347. package/dist/memory/brain-host.d.ts +71 -0
  348. package/dist/memory/brain-host.d.ts.map +1 -0
  349. package/dist/memory/brain-host.js +84 -0
  350. package/dist/memory/brain-host.js.map +1 -0
  351. package/dist/memory/brain-writer-handlers.d.ts.map +1 -1
  352. package/dist/memory/brain-writer-handlers.js +24 -7
  353. package/dist/memory/brain-writer-handlers.js.map +1 -1
  354. package/dist/memory/brain-writer-thread.d.ts +66 -6
  355. package/dist/memory/brain-writer-thread.d.ts.map +1 -1
  356. package/dist/memory/brain-writer-thread.js +67 -10
  357. package/dist/memory/brain-writer-thread.js.map +1 -1
  358. package/dist/memory/brain-writer-worker.js +7 -0
  359. package/dist/memory/brain-writer-worker.js.map +1 -1
  360. package/dist/memory/decision-contradiction.d.ts.map +1 -1
  361. package/dist/memory/decision-contradiction.js +10 -5
  362. package/dist/memory/decision-contradiction.js.map +1 -1
  363. package/dist/memory/decisions.js +2 -1
  364. package/dist/memory/decisions.js.map +1 -1
  365. package/dist/memory/dialectic-evaluator.d.ts.map +1 -1
  366. package/dist/memory/dialectic-evaluator.js +4 -1
  367. package/dist/memory/dialectic-evaluator.js.map +1 -1
  368. package/dist/memory/embedding-backfill.d.ts +70 -0
  369. package/dist/memory/embedding-backfill.d.ts.map +1 -0
  370. package/dist/memory/embedding-backfill.js +110 -0
  371. package/dist/memory/embedding-backfill.js.map +1 -0
  372. package/dist/memory/index.js +1 -1
  373. package/dist/memory/index.js.map +1 -1
  374. package/dist/memory/manifest-identity.js +1 -1
  375. package/dist/memory/manifest-identity.js.map +1 -1
  376. package/dist/memory/retrieval/observe.d.ts +23 -0
  377. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  378. package/dist/memory/retrieval/observe.js +82 -36
  379. package/dist/memory/retrieval/observe.js.map +1 -1
  380. package/dist/memory/transcript-extractor.d.ts.map +1 -1
  381. package/dist/memory/transcript-extractor.js +3 -2
  382. package/dist/memory/transcript-extractor.js.map +1 -1
  383. package/dist/metrics/model-provider-registry.d.ts.map +1 -1
  384. package/dist/metrics/model-provider-registry.js +6 -0
  385. package/dist/metrics/model-provider-registry.js.map +1 -1
  386. package/dist/metrics/token-service.d.ts +33 -0
  387. package/dist/metrics/token-service.d.ts.map +1 -1
  388. package/dist/metrics/token-service.js +35 -0
  389. package/dist/metrics/token-service.js.map +1 -1
  390. package/dist/migration/index.js +1 -1
  391. package/dist/migration/index.js.map +1 -1
  392. package/dist/migration/manual/T10165-backfill-adr-index.js +1 -1
  393. package/dist/migration/manual/T10165-backfill-adr-index.js.map +1 -1
  394. package/dist/nexus/api-contracts.d.ts.map +1 -1
  395. package/dist/nexus/api-contracts.js +27 -11
  396. package/dist/nexus/api-contracts.js.map +1 -1
  397. package/dist/nexus/api-extractors/http-extractor.d.ts +2 -2
  398. package/dist/nexus/api-extractors/http-extractor.d.ts.map +1 -1
  399. package/dist/nexus/api-extractors/http-extractor.js +3 -3
  400. package/dist/nexus/api-extractors/http-extractor.js.map +1 -1
  401. package/dist/nexus/assessment-projection.d.ts +1 -1
  402. package/dist/nexus/assessment-projection.d.ts.map +1 -1
  403. package/dist/nexus/assessment-projection.js +1 -1
  404. package/dist/nexus/assessment-projection.js.map +1 -1
  405. package/dist/nexus/clusters.js +1 -1
  406. package/dist/nexus/clusters.js.map +1 -1
  407. package/dist/nexus/deps.d.ts +1 -1
  408. package/dist/nexus/deps.d.ts.map +1 -1
  409. package/dist/nexus/deps.js +1 -1
  410. package/dist/nexus/deps.js.map +1 -1
  411. package/dist/nexus/diff.d.ts +1 -1
  412. package/dist/nexus/diff.d.ts.map +1 -1
  413. package/dist/nexus/diff.js +3 -2
  414. package/dist/nexus/diff.js.map +1 -1
  415. package/dist/nexus/fleet-status.d.ts +1 -1
  416. package/dist/nexus/fleet-status.d.ts.map +1 -1
  417. package/dist/nexus/fleet-status.js +1 -1
  418. package/dist/nexus/fleet-status.js.map +1 -1
  419. package/dist/nexus/flows.js +1 -1
  420. package/dist/nexus/flows.js.map +1 -1
  421. package/dist/nexus/identity.d.ts +8 -0
  422. package/dist/nexus/identity.d.ts.map +1 -1
  423. package/dist/nexus/identity.js +17 -1
  424. package/dist/nexus/identity.js.map +1 -1
  425. package/dist/nexus/index.d.ts +1 -1
  426. package/dist/nexus/index.d.ts.map +1 -1
  427. package/dist/nexus/index.js +2 -2
  428. package/dist/nexus/index.js.map +1 -1
  429. package/dist/nexus/nexus-bridge.d.ts.map +1 -1
  430. package/dist/nexus/nexus-bridge.js +5 -5
  431. package/dist/nexus/nexus-bridge.js.map +1 -1
  432. package/dist/nexus/permissions.d.ts +1 -1
  433. package/dist/nexus/permissions.d.ts.map +1 -1
  434. package/dist/nexus/permissions.js +1 -1
  435. package/dist/nexus/permissions.js.map +1 -1
  436. package/dist/nexus/query-dsl.js +1 -1
  437. package/dist/nexus/query-dsl.js.map +1 -1
  438. package/dist/nexus/query.d.ts +1 -2
  439. package/dist/nexus/query.d.ts.map +1 -1
  440. package/dist/nexus/query.js +1 -1
  441. package/dist/nexus/query.js.map +1 -1
  442. package/dist/nexus/registry-errors.js +1 -1
  443. package/dist/nexus/registry-errors.js.map +1 -1
  444. package/dist/nexus/registry.d.ts +23 -1
  445. package/dist/nexus/registry.d.ts.map +1 -1
  446. package/dist/nexus/registry.js +77 -2
  447. package/dist/nexus/registry.js.map +1 -1
  448. package/dist/nexus/workspace.js +1 -1
  449. package/dist/nexus/workspace.js.map +1 -1
  450. package/dist/orchestrate/pivot.d.ts.map +1 -1
  451. package/dist/orchestrate/pivot.js +2 -1
  452. package/dist/orchestrate/pivot.js.map +1 -1
  453. package/dist/orchestrate/query-ops.js +1 -1
  454. package/dist/orchestrate/query-ops.js.map +1 -1
  455. package/dist/orchestrate/spawn-ops.js +1 -1
  456. package/dist/orchestrate/spawn-ops.js.map +1 -1
  457. package/dist/orchestration/atomicity.d.ts +1 -1
  458. package/dist/orchestration/atomicity.d.ts.map +1 -1
  459. package/dist/orchestration/atomicity.js +1 -1
  460. package/dist/orchestration/atomicity.js.map +1 -1
  461. package/dist/orchestration/classify.js +1 -1
  462. package/dist/orchestration/classify.js.map +1 -1
  463. package/dist/orchestration/index.js +1 -1
  464. package/dist/orchestration/index.js.map +1 -1
  465. package/dist/orchestration/parallel.js +1 -1
  466. package/dist/orchestration/parallel.js.map +1 -1
  467. package/dist/orchestration/protocol-validators.d.ts +1 -1
  468. package/dist/orchestration/protocol-validators.d.ts.map +1 -1
  469. package/dist/orchestration/protocol-validators.js +1 -1
  470. package/dist/orchestration/protocol-validators.js.map +1 -1
  471. package/dist/orchestration/skill-ops.js +1 -1
  472. package/dist/orchestration/skill-ops.js.map +1 -1
  473. package/dist/orchestration/spawn-prompt.d.ts +9 -0
  474. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  475. package/dist/orchestration/spawn-prompt.js +13 -2
  476. package/dist/orchestration/spawn-prompt.js.map +1 -1
  477. package/dist/orchestration/spawn.js +1 -1
  478. package/dist/orchestration/spawn.js.map +1 -1
  479. package/dist/paths.d.ts +3 -1
  480. package/dist/paths.d.ts.map +1 -1
  481. package/dist/paths.js +4 -2
  482. package/dist/paths.js.map +1 -1
  483. package/dist/phases/deps.js +1 -1
  484. package/dist/phases/deps.js.map +1 -1
  485. package/dist/phases/index.js +1 -1
  486. package/dist/phases/index.js.map +1 -1
  487. package/dist/project-lifecycle.js +3 -3
  488. package/dist/project-lifecycle.js.map +1 -1
  489. package/dist/project-scope.js +1 -1
  490. package/dist/project-scope.js.map +1 -1
  491. package/dist/project-tombstone.js +1 -1
  492. package/dist/project-tombstone.js.map +1 -1
  493. package/dist/registrations.d.ts +30 -0
  494. package/dist/registrations.d.ts.map +1 -0
  495. package/dist/registrations.js +30 -0
  496. package/dist/registrations.js.map +1 -0
  497. package/dist/release/changesets-aggregator.js +1 -1
  498. package/dist/release/changesets-aggregator.js.map +1 -1
  499. package/dist/release/ci-evidence.d.ts +68 -2
  500. package/dist/release/ci-evidence.d.ts.map +1 -1
  501. package/dist/release/ci-evidence.js +203 -39
  502. package/dist/release/ci-evidence.js.map +1 -1
  503. package/dist/release/invariants/archive-reason-invariant.d.ts +1 -1
  504. package/dist/release/invariants/archive-reason-invariant.d.ts.map +1 -1
  505. package/dist/release/invariants/archive-reason-invariant.js +1 -1
  506. package/dist/release/invariants/archive-reason-invariant.js.map +1 -1
  507. package/dist/release/invariants/registry.d.ts +1 -1
  508. package/dist/release/invariants/registry.d.ts.map +1 -1
  509. package/dist/release/invariants/registry.js +1 -1
  510. package/dist/release/invariants/registry.js.map +1 -1
  511. package/dist/release/open.d.ts +4 -7
  512. package/dist/release/open.d.ts.map +1 -1
  513. package/dist/release/open.js +62 -24
  514. package/dist/release/open.js.map +1 -1
  515. package/dist/release/plan.d.ts +1 -2
  516. package/dist/release/plan.d.ts.map +1 -1
  517. package/dist/release/plan.js +4 -1
  518. package/dist/release/plan.js.map +1 -1
  519. package/dist/release/pr-evidence.d.ts +1 -1
  520. package/dist/release/pr-evidence.d.ts.map +1 -1
  521. package/dist/release/pr-evidence.js +2 -2
  522. package/dist/release/pr-evidence.js.map +1 -1
  523. package/dist/release/preflight-skip.d.ts +74 -10
  524. package/dist/release/preflight-skip.d.ts.map +1 -1
  525. package/dist/release/preflight-skip.js +254 -47
  526. package/dist/release/preflight-skip.js.map +1 -1
  527. package/dist/release/reconcile.d.ts +1 -1
  528. package/dist/release/reconcile.d.ts.map +1 -1
  529. package/dist/release/reconcile.js +19 -3
  530. package/dist/release/reconcile.js.map +1 -1
  531. package/dist/release/version-bump.d.ts +1 -1
  532. package/dist/release/version-bump.d.ts.map +1 -1
  533. package/dist/release/version-bump.js +1 -1
  534. package/dist/release/version-bump.js.map +1 -1
  535. package/dist/render/colors.js +1 -19
  536. package/dist/render/colors.js.map +1 -1
  537. package/dist/render/tasks/colors.js +1 -1
  538. package/dist/render/tasks/colors.js.map +1 -1
  539. package/dist/resources/admission-ledger.d.ts +587 -0
  540. package/dist/resources/admission-ledger.d.ts.map +1 -0
  541. package/dist/resources/admission-ledger.js +1401 -0
  542. package/dist/resources/admission-ledger.js.map +1 -0
  543. package/dist/resources/backend.d.ts +37 -1
  544. package/dist/resources/backend.d.ts.map +1 -1
  545. package/dist/resources/backend.js +1 -1
  546. package/dist/resources/darwin-backend.d.ts +152 -26
  547. package/dist/resources/darwin-backend.d.ts.map +1 -1
  548. package/dist/resources/darwin-backend.js +217 -34
  549. package/dist/resources/darwin-backend.js.map +1 -1
  550. package/dist/resources/governor.d.ts +36 -27
  551. package/dist/resources/governor.d.ts.map +1 -1
  552. package/dist/resources/governor.js +144 -49
  553. package/dist/resources/governor.js.map +1 -1
  554. package/dist/resources/heavy-command-hook-delivery.d.ts +144 -0
  555. package/dist/resources/heavy-command-hook-delivery.d.ts.map +1 -0
  556. package/dist/resources/heavy-command-hook-delivery.js +204 -0
  557. package/dist/resources/heavy-command-hook-delivery.js.map +1 -0
  558. package/dist/resources/heavy-command.d.ts +69 -0
  559. package/dist/resources/heavy-command.d.ts.map +1 -1
  560. package/dist/resources/heavy-command.js +479 -7
  561. package/dist/resources/heavy-command.js.map +1 -1
  562. package/dist/resources/pressure-gate.d.ts +148 -0
  563. package/dist/resources/pressure-gate.d.ts.map +1 -0
  564. package/dist/resources/pressure-gate.js +273 -0
  565. package/dist/resources/pressure-gate.js.map +1 -0
  566. package/dist/resources/run-admission.d.ts +33 -45
  567. package/dist/resources/run-admission.d.ts.map +1 -1
  568. package/dist/resources/run-admission.js +50 -118
  569. package/dist/resources/run-admission.js.map +1 -1
  570. package/dist/resources/run-class.d.ts +60 -4
  571. package/dist/resources/run-class.d.ts.map +1 -1
  572. package/dist/resources/run-class.js +474 -6
  573. package/dist/resources/run-class.js.map +1 -1
  574. package/dist/resources/run-governed.d.ts +43 -11
  575. package/dist/resources/run-governed.d.ts.map +1 -1
  576. package/dist/resources/run-governed.js +139 -99
  577. package/dist/resources/run-governed.js.map +1 -1
  578. package/dist/resources/slot-holder.d.ts +12 -4
  579. package/dist/resources/slot-holder.d.ts.map +1 -1
  580. package/dist/resources/slot-holder.js +19 -14
  581. package/dist/resources/slot-holder.js.map +1 -1
  582. package/dist/resources/spawn-wrapper.js +1 -1
  583. package/dist/resources/spawn-wrapper.js.map +1 -1
  584. package/dist/resources/supervisor-admit.d.ts +1 -1
  585. package/dist/resources/supervisor-admit.d.ts.map +1 -1
  586. package/dist/resources/supervisor-admit.js +2 -1
  587. package/dist/resources/supervisor-admit.js.map +1 -1
  588. package/dist/routing/build-command-groups.d.ts +1 -1
  589. package/dist/routing/build-command-groups.d.ts.map +1 -1
  590. package/dist/routing/build-command-groups.js +4 -1
  591. package/dist/routing/build-command-groups.js.map +1 -1
  592. package/dist/runtime/openapi/generate-openapi.d.ts +1 -1
  593. package/dist/runtime/openapi/generate-openapi.d.ts.map +1 -1
  594. package/dist/runtime/openapi/generate-openapi.js +1 -1
  595. package/dist/runtime/openapi/generate-openapi.js.map +1 -1
  596. package/dist/sagas/index.d.ts +3 -1
  597. package/dist/sagas/index.d.ts.map +1 -1
  598. package/dist/sagas/index.js +2 -5
  599. package/dist/sagas/index.js.map +1 -1
  600. package/dist/scaffold/ensure-skills.d.ts.map +1 -1
  601. package/dist/scaffold/ensure-skills.js +58 -2
  602. package/dist/scaffold/ensure-skills.js.map +1 -1
  603. package/dist/scaffold/project-identity.js +1 -1
  604. package/dist/scaffold/project-identity.js.map +1 -1
  605. package/dist/sdk/validator-attest.d.ts +1 -1
  606. package/dist/sdk/validator-attest.d.ts.map +1 -1
  607. package/dist/sdk/validator-attest.js +1 -1
  608. package/dist/sdk/validator-attest.js.map +1 -1
  609. package/dist/sdk/validator-reject.d.ts +1 -1
  610. package/dist/sdk/validator-reject.d.ts.map +1 -1
  611. package/dist/sdk/validator-reject.js +1 -1
  612. package/dist/sdk/validator-reject.js.map +1 -1
  613. package/dist/security/input-sanitization.js +2 -1
  614. package/dist/security/input-sanitization.js.map +1 -1
  615. package/dist/security/override-cap.js +1 -1
  616. package/dist/security/override-cap.js.map +1 -1
  617. package/dist/security/owner-override-auth.js +1 -1
  618. package/dist/security/owner-override-auth.js.map +1 -1
  619. package/dist/security/shared-evidence-tracker.js +1 -1
  620. package/dist/security/shared-evidence-tracker.js.map +1 -1
  621. package/dist/selfimprove/fix-gen.js +35 -93136
  622. package/dist/selfimprove/fix-gen.js.map +3 -3
  623. package/dist/sentient/daemon.d.ts.map +1 -1
  624. package/dist/sentient/daemon.js +3 -0
  625. package/dist/sentient/daemon.js.map +1 -1
  626. package/dist/sentient/tick.d.ts +7 -0
  627. package/dist/sentient/tick.d.ts.map +1 -1
  628. package/dist/sentient/tick.js +11 -0
  629. package/dist/sentient/tick.js.map +1 -1
  630. package/dist/sequence/index.js +1 -1
  631. package/dist/sequence/index.js.map +1 -1
  632. package/dist/session/engine-ops.d.ts +3 -45
  633. package/dist/session/engine-ops.d.ts.map +1 -1
  634. package/dist/session/engine-ops.js +63 -112
  635. package/dist/session/engine-ops.js.map +1 -1
  636. package/dist/session/status-op.d.ts +40 -0
  637. package/dist/session/status-op.d.ts.map +1 -0
  638. package/dist/session/status-op.js +71 -0
  639. package/dist/session/status-op.js.map +1 -0
  640. package/dist/session/task-current.d.ts +31 -0
  641. package/dist/session/task-current.d.ts.map +1 -0
  642. package/dist/session/task-current.js +59 -0
  643. package/dist/session/task-current.js.map +1 -0
  644. package/dist/sessions/assumptions.d.ts +1 -1
  645. package/dist/sessions/assumptions.d.ts.map +1 -1
  646. package/dist/sessions/assumptions.js +1 -1
  647. package/dist/sessions/assumptions.js.map +1 -1
  648. package/dist/sessions/briefing.d.ts.map +1 -1
  649. package/dist/sessions/briefing.js +11 -0
  650. package/dist/sessions/briefing.js.map +1 -1
  651. package/dist/sessions/context-inject.js +1 -1
  652. package/dist/sessions/context-inject.js.map +1 -1
  653. package/dist/sessions/decisions.d.ts +1 -1
  654. package/dist/sessions/decisions.d.ts.map +1 -1
  655. package/dist/sessions/decisions.js +1 -1
  656. package/dist/sessions/decisions.js.map +1 -1
  657. package/dist/sessions/focus-state-store.d.ts.map +1 -1
  658. package/dist/sessions/focus-state-store.js +2 -1
  659. package/dist/sessions/focus-state-store.js.map +1 -1
  660. package/dist/sessions/handoff.js +1 -1
  661. package/dist/sessions/handoff.js.map +1 -1
  662. package/dist/sessions/index.d.ts +1 -2
  663. package/dist/sessions/index.d.ts.map +1 -1
  664. package/dist/sessions/index.js +3 -2
  665. package/dist/sessions/index.js.map +1 -1
  666. package/dist/sessions/session-drift.js +1 -1
  667. package/dist/sessions/session-drift.js.map +1 -1
  668. package/dist/sessions/session-end-snapshot-entry.d.ts +4 -0
  669. package/dist/sessions/session-end-snapshot-entry.d.ts.map +1 -1
  670. package/dist/sessions/session-end-snapshot-entry.js +11 -0
  671. package/dist/sessions/session-end-snapshot-entry.js.map +1 -1
  672. package/dist/sessions/session-end-snapshot.d.ts.map +1 -1
  673. package/dist/sessions/session-end-snapshot.js +4 -0
  674. package/dist/sessions/session-end-snapshot.js.map +1 -1
  675. package/dist/sessions/session-enforcement.js +1 -1
  676. package/dist/sessions/session-enforcement.js.map +1 -1
  677. package/dist/sessions/session-show.d.ts +1 -2
  678. package/dist/sessions/session-show.d.ts.map +1 -1
  679. package/dist/sessions/session-show.js +1 -1
  680. package/dist/sessions/session-show.js.map +1 -1
  681. package/dist/sessions/session-stats.js +1 -1
  682. package/dist/sessions/session-stats.js.map +1 -1
  683. package/dist/sessions/session-suspend.d.ts +1 -2
  684. package/dist/sessions/session-suspend.d.ts.map +1 -1
  685. package/dist/sessions/session-suspend.js +1 -1
  686. package/dist/sessions/session-suspend.js.map +1 -1
  687. package/dist/sessions/session-switch.js +1 -1
  688. package/dist/sessions/session-switch.js.map +1 -1
  689. package/dist/sessions/snapshot.js +1 -1
  690. package/dist/sessions/snapshot.js.map +1 -1
  691. package/dist/sessions/terminal-identity.d.ts +1 -1
  692. package/dist/sessions/terminal-identity.d.ts.map +1 -1
  693. package/dist/sessions/terminal-identity.js +1 -1
  694. package/dist/sessions/terminal-identity.js.map +1 -1
  695. package/dist/setup/sections/integrations.d.ts.map +1 -1
  696. package/dist/setup/sections/integrations.js +9 -0
  697. package/dist/setup/sections/integrations.js.map +1 -1
  698. package/dist/setup/sections/models-roles.js +1 -1
  699. package/dist/setup/sections/models-roles.js.map +1 -1
  700. package/dist/setup/sections/verification.d.ts.map +1 -1
  701. package/dist/setup/sections/verification.js +8 -2
  702. package/dist/setup/sections/verification.js.map +1 -1
  703. package/dist/shutdown.d.ts +24 -0
  704. package/dist/shutdown.d.ts.map +1 -1
  705. package/dist/shutdown.js +30 -1
  706. package/dist/shutdown.js.map +1 -1
  707. package/dist/skills/agents/install.d.ts +46 -6
  708. package/dist/skills/agents/install.d.ts.map +1 -1
  709. package/dist/skills/agents/install.js +86 -17
  710. package/dist/skills/agents/install.js.map +1 -1
  711. package/dist/skills/injection/subagent.js +1 -1
  712. package/dist/skills/injection/subagent.js.map +1 -1
  713. package/dist/skills/manifests/research.d.ts.map +1 -1
  714. package/dist/skills/manifests/research.js +2 -1
  715. package/dist/skills/manifests/research.js.map +1 -1
  716. package/dist/skills/orchestrator/spawn.js +1 -1
  717. package/dist/skills/orchestrator/spawn.js.map +1 -1
  718. package/dist/skills/orchestrator/validator.js +1 -1
  719. package/dist/skills/orchestrator/validator.js.map +1 -1
  720. package/dist/snapshot/index.d.ts.map +1 -1
  721. package/dist/snapshot/index.js +13 -0
  722. package/dist/snapshot/index.js.map +1 -1
  723. package/dist/spawn/agent-identity.js +1 -1
  724. package/dist/spawn/agent-identity.js.map +1 -1
  725. package/dist/stats/index.d.ts.map +1 -1
  726. package/dist/stats/index.js +2 -1
  727. package/dist/stats/index.js.map +1 -1
  728. package/dist/store/agent-install.d.ts.map +1 -1
  729. package/dist/store/agent-install.js +2 -1
  730. package/dist/store/agent-install.js.map +1 -1
  731. package/dist/store/agent-registry-accessor.d.ts +1 -0
  732. package/dist/store/agent-registry-accessor.d.ts.map +1 -1
  733. package/dist/store/agent-registry-accessor.js +3 -1
  734. package/dist/store/agent-registry-accessor.js.map +1 -1
  735. package/dist/store/atomic.js +1 -1
  736. package/dist/store/atomic.js.map +1 -1
  737. package/dist/store/attachment-store.js +1 -1
  738. package/dist/store/attachment-store.js.map +1 -1
  739. package/dist/store/audit-log-schema.d.ts +645 -0
  740. package/dist/store/audit-log-schema.d.ts.map +1 -0
  741. package/dist/store/audit-log-schema.js +30 -0
  742. package/dist/store/audit-log-schema.js.map +1 -0
  743. package/dist/store/background-ops.d.ts +26 -0
  744. package/dist/store/background-ops.d.ts.map +1 -1
  745. package/dist/store/background-ops.js +46 -0
  746. package/dist/store/background-ops.js.map +1 -1
  747. package/dist/store/backup-recover.d.ts +36 -1
  748. package/dist/store/backup-recover.d.ts.map +1 -1
  749. package/dist/store/backup-recover.js +99 -1
  750. package/dist/store/backup-recover.js.map +1 -1
  751. package/dist/store/backup-verify.d.ts +1 -1
  752. package/dist/store/backup-verify.d.ts.map +1 -1
  753. package/dist/store/backup-verify.js +6 -1
  754. package/dist/store/backup-verify.js.map +1 -1
  755. package/dist/store/backup.js +1 -1
  756. package/dist/store/backup.js.map +1 -1
  757. package/dist/store/conduit-sqlite.d.ts.map +1 -1
  758. package/dist/store/conduit-sqlite.js +2 -26
  759. package/dist/store/conduit-sqlite.js.map +1 -1
  760. package/dist/store/converters.js +1 -1
  761. package/dist/store/converters.js.map +1 -1
  762. package/dist/store/db-helpers.js +1 -1
  763. package/dist/store/db-helpers.js.map +1 -1
  764. package/dist/store/dependency-cycles.js +1 -1
  765. package/dist/store/dependency-cycles.js.map +1 -1
  766. package/dist/store/display-id-alias.d.ts +2 -2
  767. package/dist/store/display-id-alias.d.ts.map +1 -1
  768. package/dist/store/display-id-alias.js +5 -28
  769. package/dist/store/display-id-alias.js.map +1 -1
  770. package/dist/store/drizzle-node-sqlite.d.ts +56 -0
  771. package/dist/store/drizzle-node-sqlite.d.ts.map +1 -0
  772. package/dist/store/drizzle-node-sqlite.js +87 -0
  773. package/dist/store/drizzle-node-sqlite.js.map +1 -0
  774. package/dist/store/dual-scope-db.d.ts +26 -33
  775. package/dist/store/dual-scope-db.d.ts.map +1 -1
  776. package/dist/store/dual-scope-db.js +416 -122
  777. package/dist/store/dual-scope-db.js.map +1 -1
  778. package/dist/store/exodus/abort-events.d.ts +134 -0
  779. package/dist/store/exodus/abort-events.d.ts.map +1 -1
  780. package/dist/store/exodus/abort-events.js +201 -0
  781. package/dist/store/exodus/abort-events.js.map +1 -1
  782. package/dist/store/exodus/migrate.d.ts +7 -0
  783. package/dist/store/exodus/migrate.d.ts.map +1 -1
  784. package/dist/store/exodus/migrate.js +156 -118
  785. package/dist/store/exodus/migrate.js.map +1 -1
  786. package/dist/store/exodus/on-open.d.ts +36 -0
  787. package/dist/store/exodus/on-open.d.ts.map +1 -1
  788. package/dist/store/exodus/on-open.js +102 -27
  789. package/dist/store/exodus/on-open.js.map +1 -1
  790. package/dist/store/exodus/prior-recoveries.d.ts +75 -0
  791. package/dist/store/exodus/prior-recoveries.d.ts.map +1 -0
  792. package/dist/store/exodus/prior-recoveries.js +122 -0
  793. package/dist/store/exodus/prior-recoveries.js.map +1 -0
  794. package/dist/store/exodus/reconcile.d.ts.map +1 -1
  795. package/dist/store/exodus/reconcile.js +188 -24
  796. package/dist/store/exodus/reconcile.js.map +1 -1
  797. package/dist/store/exodus/runtime-targets.d.ts +3 -3
  798. package/dist/store/exodus/runtime-targets.js +3 -3
  799. package/dist/store/exodus/task-id-collision-sql.d.ts +52 -0
  800. package/dist/store/exodus/task-id-collision-sql.d.ts.map +1 -0
  801. package/dist/store/exodus/task-id-collision-sql.js +97 -0
  802. package/dist/store/exodus/task-id-collision-sql.js.map +1 -0
  803. package/dist/store/exodus/task-id-remap.d.ts +113 -0
  804. package/dist/store/exodus/task-id-remap.d.ts.map +1 -0
  805. package/dist/store/exodus/task-id-remap.js +301 -0
  806. package/dist/store/exodus/task-id-remap.js.map +1 -0
  807. package/dist/store/exodus/verify-migration.js +1 -1
  808. package/dist/store/exodus/verify-migration.js.map +1 -1
  809. package/dist/store/exodus/write-guard.d.ts +136 -0
  810. package/dist/store/exodus/write-guard.d.ts.map +1 -0
  811. package/dist/store/exodus/write-guard.js +289 -0
  812. package/dist/store/exodus/write-guard.js.map +1 -0
  813. package/dist/store/identity-share.d.ts +31 -0
  814. package/dist/store/identity-share.d.ts.map +1 -0
  815. package/dist/store/identity-share.js +54 -0
  816. package/dist/store/identity-share.js.map +1 -0
  817. package/dist/store/import-remap.js +1 -1
  818. package/dist/store/import-remap.js.map +1 -1
  819. package/dist/store/import-sort.js +1 -1
  820. package/dist/store/import-sort.js.map +1 -1
  821. package/dist/store/json.js +1 -1
  822. package/dist/store/json.js.map +1 -1
  823. package/dist/store/legacy-tasks-lineage.js +3 -3
  824. package/dist/store/legacy-tasks-lineage.js.map +1 -1
  825. package/dist/store/lock.d.ts +17 -0
  826. package/dist/store/lock.d.ts.map +1 -1
  827. package/dist/store/lock.js +18 -1
  828. package/dist/store/lock.js.map +1 -1
  829. package/dist/store/memory-sqlite.d.ts.map +1 -1
  830. package/dist/store/memory-sqlite.js +2 -25
  831. package/dist/store/memory-sqlite.js.map +1 -1
  832. package/dist/store/migration-files.d.ts +30 -0
  833. package/dist/store/migration-files.d.ts.map +1 -0
  834. package/dist/store/migration-files.js +59 -0
  835. package/dist/store/migration-files.js.map +1 -0
  836. package/dist/store/migration-manager.d.ts.map +1 -1
  837. package/dist/store/migration-manager.js +14 -14
  838. package/dist/store/migration-manager.js.map +1 -1
  839. package/dist/store/migration-runner.d.ts.map +1 -1
  840. package/dist/store/migration-runner.js +2 -2
  841. package/dist/store/migration-runner.js.map +1 -1
  842. package/dist/store/migration-sqlite.d.ts +1 -1
  843. package/dist/store/migration-sqlite.d.ts.map +1 -1
  844. package/dist/store/migration-sqlite.js +290 -355
  845. package/dist/store/migration-sqlite.js.map +1 -1
  846. package/dist/store/open-cleo-db.d.ts.map +1 -1
  847. package/dist/store/open-cleo-db.js +4 -2
  848. package/dist/store/open-cleo-db.js.map +1 -1
  849. package/dist/store/pid-alive.d.ts +15 -0
  850. package/dist/store/pid-alive.d.ts.map +1 -0
  851. package/dist/store/pid-alive.js +24 -0
  852. package/dist/store/pid-alive.js.map +1 -0
  853. package/dist/store/portable-bundle-scan.d.ts +1 -1
  854. package/dist/store/portable-bundle-scan.d.ts.map +1 -1
  855. package/dist/store/portable-bundle-scan.js +1 -1
  856. package/dist/store/portable-bundle-scan.js.map +1 -1
  857. package/dist/store/portable-bundle.d.ts +10 -1
  858. package/dist/store/portable-bundle.d.ts.map +1 -1
  859. package/dist/store/portable-bundle.js +10 -1
  860. package/dist/store/portable-bundle.js.map +1 -1
  861. package/dist/store/recover-malformed-db.d.ts +1 -1
  862. package/dist/store/recover-malformed-db.d.ts.map +1 -1
  863. package/dist/store/recover-malformed-db.js +1 -1
  864. package/dist/store/recover-malformed-db.js.map +1 -1
  865. package/dist/store/repair-malformed-dbs.d.ts +1 -1
  866. package/dist/store/repair-malformed-dbs.d.ts.map +1 -1
  867. package/dist/store/repair-malformed-dbs.js +1 -1
  868. package/dist/store/repair-malformed-dbs.js.map +1 -1
  869. package/dist/store/restore-marker.d.ts +89 -0
  870. package/dist/store/restore-marker.d.ts.map +1 -0
  871. package/dist/store/restore-marker.js +197 -0
  872. package/dist/store/restore-marker.js.map +1 -0
  873. package/dist/store/restore-store.d.ts +85 -0
  874. package/dist/store/restore-store.d.ts.map +1 -0
  875. package/dist/store/restore-store.js +391 -0
  876. package/dist/store/restore-store.js.map +1 -0
  877. package/dist/store/row-identity.d.ts +123 -1
  878. package/dist/store/row-identity.d.ts.map +1 -1
  879. package/dist/store/row-identity.js +454 -80
  880. package/dist/store/row-identity.js.map +1 -1
  881. package/dist/store/schema/agent-registry-schema.d.ts +1 -1
  882. package/dist/store/schema/agent-registry-schema.d.ts.map +1 -1
  883. package/dist/store/schema/agent-registry-schema.js +5 -1
  884. package/dist/store/schema/agent-registry-schema.js.map +1 -1
  885. package/dist/store/schema/cleo-global/agent-registry.d.ts +1 -1
  886. package/dist/store/schema/cleo-global/agent-registry.d.ts.map +1 -1
  887. package/dist/store/schema/cleo-global/agent-registry.js +9 -5
  888. package/dist/store/schema/cleo-global/agent-registry.js.map +1 -1
  889. package/dist/store/schema/cleo-global/models-catalog.js +1 -1
  890. package/dist/store/schema/cleo-global/models-catalog.js.map +1 -1
  891. package/dist/store/schema/cleo-global/nexus.js +1 -1
  892. package/dist/store/schema/cleo-global/nexus.js.map +1 -1
  893. package/dist/store/schema/cleo-project/provenance-commits.d.ts +1 -1
  894. package/dist/store/schema/cleo-project/provenance-orphans.d.ts +1 -1
  895. package/dist/store/schema/cleo-project/provenance-orphans.d.ts.map +1 -1
  896. package/dist/store/schema/cleo-project/provenance-orphans.js +9 -2
  897. package/dist/store/schema/cleo-project/provenance-orphans.js.map +1 -1
  898. package/dist/store/schema/cleo-project/provenance-rest.d.ts +1 -1
  899. package/dist/store/schema/cleo-project/provenance-rest.js +1 -1
  900. package/dist/store/schema/cleo-project/provenance-rest.js.map +1 -1
  901. package/dist/store/schema/cleo-shared/brain.js +1 -1
  902. package/dist/store/schema/cleo-shared/brain.js.map +1 -1
  903. package/dist/store/schema/memory-schema.d.ts +1 -1
  904. package/dist/store/schema/memory-schema.d.ts.map +1 -1
  905. package/dist/store/schema/memory-schema.js +1 -1
  906. package/dist/store/schema/memory-schema.js.map +1 -1
  907. package/dist/store/schema/nexus-schema.js +1 -1
  908. package/dist/store/schema/nexus-schema.js.map +1 -1
  909. package/dist/store/service-host-matcher.d.ts +1 -1
  910. package/dist/store/service-host-matcher.d.ts.map +1 -1
  911. package/dist/store/service-host-matcher.js +1 -1
  912. package/dist/store/service-host-matcher.js.map +1 -1
  913. package/dist/store/service-oauth.js +1 -1
  914. package/dist/store/service-oauth.js.map +1 -1
  915. package/dist/store/session-store.d.ts.map +1 -1
  916. package/dist/store/session-store.js +7 -1
  917. package/dist/store/session-store.js.map +1 -1
  918. package/dist/store/sqlite-backup.d.ts +1 -1
  919. package/dist/store/sqlite-backup.d.ts.map +1 -1
  920. package/dist/store/sqlite-backup.js +1 -1
  921. package/dist/store/sqlite-backup.js.map +1 -1
  922. package/dist/store/sqlite-data-accessor.d.ts +52 -1
  923. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  924. package/dist/store/sqlite-data-accessor.js +95 -22
  925. package/dist/store/sqlite-data-accessor.js.map +1 -1
  926. package/dist/store/sqlite-native.d.ts.map +1 -1
  927. package/dist/store/sqlite-native.js +9 -9
  928. package/dist/store/sqlite-native.js.map +1 -1
  929. package/dist/store/sqlite-pragmas.d.ts +12 -5
  930. package/dist/store/sqlite-pragmas.d.ts.map +1 -1
  931. package/dist/store/sqlite-pragmas.js +13 -2
  932. package/dist/store/sqlite-pragmas.js.map +1 -1
  933. package/dist/store/sqlite.d.ts.map +1 -1
  934. package/dist/store/sqlite.js +7 -32
  935. package/dist/store/sqlite.js.map +1 -1
  936. package/dist/store/status-registry.d.ts +1 -1
  937. package/dist/store/status-registry.d.ts.map +1 -1
  938. package/dist/store/status-registry.js +1 -1
  939. package/dist/store/status-registry.js.map +1 -1
  940. package/dist/store/sync/apply/applier.d.ts +119 -0
  941. package/dist/store/sync/apply/applier.d.ts.map +1 -0
  942. package/dist/store/sync/apply/applier.js +1239 -0
  943. package/dist/store/sync/apply/applier.js.map +1 -0
  944. package/dist/store/sync/apply/fk.d.ts +47 -0
  945. package/dist/store/sync/apply/fk.d.ts.map +1 -0
  946. package/dist/store/sync/apply/fk.js +89 -0
  947. package/dist/store/sync/apply/fk.js.map +1 -0
  948. package/dist/store/sync/apply/footprints.d.ts +60 -0
  949. package/dist/store/sync/apply/footprints.d.ts.map +1 -0
  950. package/dist/store/sync/apply/footprints.js +235 -0
  951. package/dist/store/sync/apply/footprints.js.map +1 -0
  952. package/dist/store/sync/apply/frame.d.ts +80 -0
  953. package/dist/store/sync/apply/frame.d.ts.map +1 -0
  954. package/dist/store/sync/apply/frame.js +127 -0
  955. package/dist/store/sync/apply/frame.js.map +1 -0
  956. package/dist/store/sync/apply/index.d.ts +11 -0
  957. package/dist/store/sync/apply/index.d.ts.map +1 -0
  958. package/dist/store/sync/apply/index.js +11 -0
  959. package/dist/store/sync/apply/index.js.map +1 -0
  960. package/dist/store/sync/apply/parent-delete.d.ts +38 -0
  961. package/dist/store/sync/apply/parent-delete.d.ts.map +1 -0
  962. package/dist/store/sync/apply/parent-delete.js +41 -0
  963. package/dist/store/sync/apply/parent-delete.js.map +1 -0
  964. package/dist/store/sync/apply/post-apply.d.ts +67 -0
  965. package/dist/store/sync/apply/post-apply.d.ts.map +1 -0
  966. package/dist/store/sync/apply/post-apply.js +118 -0
  967. package/dist/store/sync/apply/post-apply.js.map +1 -0
  968. package/dist/store/sync/apply/refs.d.ts +60 -0
  969. package/dist/store/sync/apply/refs.d.ts.map +1 -0
  970. package/dist/store/sync/apply/refs.js +90 -0
  971. package/dist/store/sync/apply/refs.js.map +1 -0
  972. package/dist/store/sync/apply/write-api.d.ts +195 -0
  973. package/dist/store/sync/apply/write-api.d.ts.map +1 -0
  974. package/dist/store/sync/apply/write-api.js +416 -0
  975. package/dist/store/sync/apply/write-api.js.map +1 -0
  976. package/dist/store/sync/apply-intent.d.ts +117 -0
  977. package/dist/store/sync/apply-intent.d.ts.map +1 -0
  978. package/dist/store/sync/apply-intent.js +225 -0
  979. package/dist/store/sync/apply-intent.js.map +1 -0
  980. package/dist/store/sync/capture.d.ts +32 -2
  981. package/dist/store/sync/capture.d.ts.map +1 -1
  982. package/dist/store/sync/capture.js +47 -13
  983. package/dist/store/sync/capture.js.map +1 -1
  984. package/dist/store/sync/conflicts.d.ts +81 -0
  985. package/dist/store/sync/conflicts.d.ts.map +1 -0
  986. package/dist/store/sync/conflicts.js +98 -0
  987. package/dist/store/sync/conflicts.js.map +1 -0
  988. package/dist/store/sync/field-leave.d.ts +146 -0
  989. package/dist/store/sync/field-leave.d.ts.map +1 -0
  990. package/dist/store/sync/field-leave.js +241 -0
  991. package/dist/store/sync/field-leave.js.map +1 -0
  992. package/dist/store/sync/flags.d.ts +119 -0
  993. package/dist/store/sync/flags.d.ts.map +1 -1
  994. package/dist/store/sync/flags.js +360 -0
  995. package/dist/store/sync/flags.js.map +1 -1
  996. package/dist/store/sync/held.d.ts +197 -0
  997. package/dist/store/sync/held.d.ts.map +1 -0
  998. package/dist/store/sync/held.js +314 -0
  999. package/dist/store/sync/held.js.map +1 -0
  1000. package/dist/store/sync/identity-fill.d.ts.map +1 -1
  1001. package/dist/store/sync/identity-fill.js +10 -2
  1002. package/dist/store/sync/identity-fill.js.map +1 -1
  1003. package/dist/store/sync/inbox.d.ts +114 -0
  1004. package/dist/store/sync/inbox.d.ts.map +1 -0
  1005. package/dist/store/sync/inbox.js +222 -0
  1006. package/dist/store/sync/inbox.js.map +1 -0
  1007. package/dist/store/sync/inherit.d.ts +36 -0
  1008. package/dist/store/sync/inherit.d.ts.map +1 -0
  1009. package/dist/store/sync/inherit.js +38 -0
  1010. package/dist/store/sync/inherit.js.map +1 -0
  1011. package/dist/store/sync/merge/engine.d.ts +114 -0
  1012. package/dist/store/sync/merge/engine.d.ts.map +1 -0
  1013. package/dist/store/sync/merge/engine.js +698 -0
  1014. package/dist/store/sync/merge/engine.js.map +1 -0
  1015. package/dist/store/sync/merge/index.d.ts +11 -0
  1016. package/dist/store/sync/merge/index.d.ts.map +1 -0
  1017. package/dist/store/sync/merge/index.js +11 -0
  1018. package/dist/store/sync/merge/index.js.map +1 -0
  1019. package/dist/store/sync/merge/rules.d.ts +91 -0
  1020. package/dist/store/sync/merge/rules.d.ts.map +1 -0
  1021. package/dist/store/sync/merge/rules.js +151 -0
  1022. package/dist/store/sync/merge/rules.js.map +1 -0
  1023. package/dist/store/sync/merge/types.d.ts +206 -0
  1024. package/dist/store/sync/merge/types.d.ts.map +1 -0
  1025. package/dist/store/sync/merge/types.js +15 -0
  1026. package/dist/store/sync/merge/types.js.map +1 -0
  1027. package/dist/store/sync/migration-hooks.d.ts +47 -0
  1028. package/dist/store/sync/migration-hooks.d.ts.map +1 -0
  1029. package/dist/store/sync/migration-hooks.js +74 -0
  1030. package/dist/store/sync/migration-hooks.js.map +1 -0
  1031. package/dist/store/sync/netting.d.ts +5 -0
  1032. package/dist/store/sync/netting.d.ts.map +1 -1
  1033. package/dist/store/sync/netting.js +29 -2
  1034. package/dist/store/sync/netting.js.map +1 -1
  1035. package/dist/store/sync/remap.d.ts +72 -0
  1036. package/dist/store/sync/remap.d.ts.map +1 -0
  1037. package/dist/store/sync/remap.js +209 -0
  1038. package/dist/store/sync/remap.js.map +1 -0
  1039. package/dist/store/sync/repair.d.ts +180 -0
  1040. package/dist/store/sync/repair.d.ts.map +1 -0
  1041. package/dist/store/sync/repair.js +499 -0
  1042. package/dist/store/sync/repair.js.map +1 -0
  1043. package/dist/store/sync/replica-registry.d.ts +54 -0
  1044. package/dist/store/sync/replica-registry.d.ts.map +1 -1
  1045. package/dist/store/sync/replica-registry.js +72 -2
  1046. package/dist/store/sync/replica-registry.js.map +1 -1
  1047. package/dist/store/sync/replica.d.ts +71 -9
  1048. package/dist/store/sync/replica.d.ts.map +1 -1
  1049. package/dist/store/sync/replica.js +95 -11
  1050. package/dist/store/sync/replica.js.map +1 -1
  1051. package/dist/store/sync/row-meta.d.ts +148 -0
  1052. package/dist/store/sync/row-meta.d.ts.map +1 -0
  1053. package/dist/store/sync/row-meta.js +200 -0
  1054. package/dist/store/sync/row-meta.js.map +1 -0
  1055. package/dist/store/sync/schema.d.ts +13 -5
  1056. package/dist/store/sync/schema.d.ts.map +1 -1
  1057. package/dist/store/sync/schema.js +34 -7
  1058. package/dist/store/sync/schema.js.map +1 -1
  1059. package/dist/store/sync/sealer-values.d.ts.map +1 -1
  1060. package/dist/store/sync/sealer-values.js +1 -0
  1061. package/dist/store/sync/sealer-values.js.map +1 -1
  1062. package/dist/store/sync/sealer.d.ts +96 -0
  1063. package/dist/store/sync/sealer.d.ts.map +1 -1
  1064. package/dist/store/sync/sealer.js +532 -58
  1065. package/dist/store/sync/sealer.js.map +1 -1
  1066. package/dist/store/sync/sequencing.d.ts +175 -0
  1067. package/dist/store/sync/sequencing.d.ts.map +1 -0
  1068. package/dist/store/sync/sequencing.js +295 -0
  1069. package/dist/store/sync/sequencing.js.map +1 -0
  1070. package/dist/store/sync/structural.d.ts +30 -2
  1071. package/dist/store/sync/structural.d.ts.map +1 -1
  1072. package/dist/store/sync/structural.js +64 -2
  1073. package/dist/store/sync/structural.js.map +1 -1
  1074. package/dist/store/sync/timestamp-canon.d.ts +44 -0
  1075. package/dist/store/sync/timestamp-canon.d.ts.map +1 -0
  1076. package/dist/store/sync/timestamp-canon.js +102 -0
  1077. package/dist/store/sync/timestamp-canon.js.map +1 -0
  1078. package/dist/store/sync/timestamps.d.ts +1 -30
  1079. package/dist/store/sync/timestamps.d.ts.map +1 -1
  1080. package/dist/store/sync/timestamps.js +2 -89
  1081. package/dist/store/sync/timestamps.js.map +1 -1
  1082. package/dist/store/sync/trigger-classes.d.ts +8 -0
  1083. package/dist/store/sync/trigger-classes.d.ts.map +1 -1
  1084. package/dist/store/sync/trigger-classes.js +13 -0
  1085. package/dist/store/sync/trigger-classes.js.map +1 -1
  1086. package/dist/store/sync/write-actor.d.ts +58 -0
  1087. package/dist/store/sync/write-actor.d.ts.map +1 -0
  1088. package/dist/store/sync/write-actor.js +67 -0
  1089. package/dist/store/sync/write-actor.js.map +1 -0
  1090. package/dist/store/table-classification.d.ts +27 -0
  1091. package/dist/store/table-classification.d.ts.map +1 -1
  1092. package/dist/store/table-classification.js +116 -0
  1093. package/dist/store/table-classification.js.map +1 -1
  1094. package/dist/store/task-claim.d.ts +1 -1
  1095. package/dist/store/task-claim.d.ts.map +1 -1
  1096. package/dist/store/task-claim.js +1 -1
  1097. package/dist/store/task-claim.js.map +1 -1
  1098. package/dist/store/task-reference-columns.d.ts +27 -0
  1099. package/dist/store/task-reference-columns.d.ts.map +1 -0
  1100. package/dist/store/task-reference-columns.js +65 -0
  1101. package/dist/store/task-reference-columns.js.map +1 -0
  1102. package/dist/store/task-version.d.ts +1 -1
  1103. package/dist/store/task-version.d.ts.map +1 -1
  1104. package/dist/store/task-version.js +1 -1
  1105. package/dist/store/task-version.js.map +1 -1
  1106. package/dist/store/tasks-schema.d.ts +2 -1
  1107. package/dist/store/tasks-schema.d.ts.map +1 -1
  1108. package/dist/store/tasks-schema.js +5 -4
  1109. package/dist/store/tasks-schema.js.map +1 -1
  1110. package/dist/store/tasks-sqlite.d.ts +1 -1
  1111. package/dist/store/tasks-sqlite.d.ts.map +1 -1
  1112. package/dist/store/tasks-sqlite.js +3 -1
  1113. package/dist/store/tasks-sqlite.js.map +1 -1
  1114. package/dist/store/twin-collapse.d.ts +43 -14
  1115. package/dist/store/twin-collapse.d.ts.map +1 -1
  1116. package/dist/store/twin-collapse.js +373 -32
  1117. package/dist/store/twin-collapse.js.map +1 -1
  1118. package/dist/store/validation-schemas.d.ts +44 -674
  1119. package/dist/store/validation-schemas.d.ts.map +1 -1
  1120. package/dist/store/validation-schemas.js +2 -22
  1121. package/dist/store/validation-schemas.js.map +1 -1
  1122. package/dist/store/vault-manifest.d.ts +6 -2
  1123. package/dist/store/vault-manifest.d.ts.map +1 -1
  1124. package/dist/store/vault-manifest.js +10 -3
  1125. package/dist/store/vault-manifest.js.map +1 -1
  1126. package/dist/store/worktree-build-guard.js +1 -1
  1127. package/dist/store/worktree-build-guard.js.map +1 -1
  1128. package/dist/store/worktree-isolation-guard.js +1 -1
  1129. package/dist/store/worktree-isolation-guard.js.map +1 -1
  1130. package/dist/store/writer-lease.d.ts.map +1 -1
  1131. package/dist/store/writer-lease.js +1 -11
  1132. package/dist/store/writer-lease.js.map +1 -1
  1133. package/dist/store/zod-schema-factory.d.ts +16 -0
  1134. package/dist/store/zod-schema-factory.d.ts.map +1 -0
  1135. package/dist/store/zod-schema-factory.js +23 -0
  1136. package/dist/store/zod-schema-factory.js.map +1 -0
  1137. package/dist/system/backup.d.ts +106 -0
  1138. package/dist/system/backup.d.ts.map +1 -1
  1139. package/dist/system/backup.js +295 -19
  1140. package/dist/system/backup.js.map +1 -1
  1141. package/dist/system/cleanup.js +1 -1
  1142. package/dist/system/cleanup.js.map +1 -1
  1143. package/dist/system/health.d.ts +13 -0
  1144. package/dist/system/health.d.ts.map +1 -1
  1145. package/dist/system/health.js +96 -1
  1146. package/dist/system/health.js.map +1 -1
  1147. package/dist/system/labels.js +1 -1
  1148. package/dist/system/labels.js.map +1 -1
  1149. package/dist/system/migrate.js +1 -1
  1150. package/dist/system/migrate.js.map +1 -1
  1151. package/dist/system/safestop.d.ts.map +1 -1
  1152. package/dist/system/safestop.js +1 -1
  1153. package/dist/system/safestop.js.map +1 -1
  1154. package/dist/task-work/current.d.ts +34 -0
  1155. package/dist/task-work/current.d.ts.map +1 -0
  1156. package/dist/task-work/current.js +34 -0
  1157. package/dist/task-work/current.js.map +1 -0
  1158. package/dist/task-work/index.d.ts +2 -19
  1159. package/dist/task-work/index.d.ts.map +1 -1
  1160. package/dist/task-work/index.js +6 -20
  1161. package/dist/task-work/index.js.map +1 -1
  1162. package/dist/tasks/ac-identity.d.ts +28 -0
  1163. package/dist/tasks/ac-identity.d.ts.map +1 -0
  1164. package/dist/tasks/ac-identity.js +43 -0
  1165. package/dist/tasks/ac-identity.js.map +1 -0
  1166. package/dist/tasks/ac-immutability.d.ts +1 -1
  1167. package/dist/tasks/ac-immutability.d.ts.map +1 -1
  1168. package/dist/tasks/ac-immutability.js +1 -1
  1169. package/dist/tasks/ac-immutability.js.map +1 -1
  1170. package/dist/tasks/ac-table.d.ts +2 -14
  1171. package/dist/tasks/ac-table.d.ts.map +1 -1
  1172. package/dist/tasks/ac-table.js +6 -29
  1173. package/dist/tasks/ac-table.js.map +1 -1
  1174. package/dist/tasks/acceptance-input.js +1 -1
  1175. package/dist/tasks/acceptance-input.js.map +1 -1
  1176. package/dist/tasks/add.d.ts.map +1 -1
  1177. package/dist/tasks/add.js +3 -1
  1178. package/dist/tasks/add.js.map +1 -1
  1179. package/dist/tasks/affected-packages.d.ts +100 -19
  1180. package/dist/tasks/affected-packages.d.ts.map +1 -1
  1181. package/dist/tasks/affected-packages.js +169 -32
  1182. package/dist/tasks/affected-packages.js.map +1 -1
  1183. package/dist/tasks/affected-template.d.ts +93 -0
  1184. package/dist/tasks/affected-template.d.ts.map +1 -0
  1185. package/dist/tasks/affected-template.js +198 -0
  1186. package/dist/tasks/affected-template.js.map +1 -0
  1187. package/dist/tasks/archive.d.ts.map +1 -1
  1188. package/dist/tasks/archive.js +1 -1
  1189. package/dist/tasks/archive.js.map +1 -1
  1190. package/dist/tasks/axis-filters.d.ts.map +1 -1
  1191. package/dist/tasks/axis-filters.js +2 -1
  1192. package/dist/tasks/axis-filters.js.map +1 -1
  1193. package/dist/tasks/child-disposition.js +1 -1
  1194. package/dist/tasks/child-disposition.js.map +1 -1
  1195. package/dist/tasks/collection.js +1 -1
  1196. package/dist/tasks/collection.js.map +1 -1
  1197. package/dist/tasks/command-line.d.ts +4 -1
  1198. package/dist/tasks/command-line.d.ts.map +1 -1
  1199. package/dist/tasks/command-line.js +7 -2
  1200. package/dist/tasks/command-line.js.map +1 -1
  1201. package/dist/tasks/complete.d.ts.map +1 -1
  1202. package/dist/tasks/complete.js +2 -1
  1203. package/dist/tasks/complete.js.map +1 -1
  1204. package/dist/tasks/decompose.js +1 -1
  1205. package/dist/tasks/decompose.js.map +1 -1
  1206. package/dist/tasks/delete.js +1 -1
  1207. package/dist/tasks/delete.js.map +1 -1
  1208. package/dist/tasks/done-plan.d.ts +2 -1
  1209. package/dist/tasks/done-plan.d.ts.map +1 -1
  1210. package/dist/tasks/done-plan.js +21 -21
  1211. package/dist/tasks/done-plan.js.map +1 -1
  1212. package/dist/tasks/done-record.d.ts +1 -1
  1213. package/dist/tasks/done-record.d.ts.map +1 -1
  1214. package/dist/tasks/done-record.js +1 -1
  1215. package/dist/tasks/done-record.js.map +1 -1
  1216. package/dist/tasks/duplicate-detector.d.ts.map +1 -1
  1217. package/dist/tasks/duplicate-detector.js +11 -5
  1218. package/dist/tasks/duplicate-detector.js.map +1 -1
  1219. package/dist/tasks/enforcement.d.ts +2 -1
  1220. package/dist/tasks/enforcement.d.ts.map +1 -1
  1221. package/dist/tasks/enforcement.js +1 -1
  1222. package/dist/tasks/enforcement.js.map +1 -1
  1223. package/dist/tasks/engine-wrap-ops.js +1 -1
  1224. package/dist/tasks/engine-wrap-ops.js.map +1 -1
  1225. package/dist/tasks/engine-wrap.d.ts.map +1 -1
  1226. package/dist/tasks/engine-wrap.js +7 -3
  1227. package/dist/tasks/engine-wrap.js.map +1 -1
  1228. package/dist/tasks/epic-enforcement.js +1 -1
  1229. package/dist/tasks/epic-enforcement.js.map +1 -1
  1230. package/dist/tasks/evidence.d.ts.map +1 -1
  1231. package/dist/tasks/evidence.js +216 -20
  1232. package/dist/tasks/evidence.js.map +1 -1
  1233. package/dist/tasks/find.js +1 -1
  1234. package/dist/tasks/find.js.map +1 -1
  1235. package/dist/tasks/gate-result-cache.js +1 -1
  1236. package/dist/tasks/gate-result-cache.js.map +1 -1
  1237. package/dist/tasks/gate-runner.d.ts.map +1 -1
  1238. package/dist/tasks/gate-runner.js +1 -1
  1239. package/dist/tasks/gate-runner.js.map +1 -1
  1240. package/dist/tasks/heavy-tool-env.d.ts +454 -19
  1241. package/dist/tasks/heavy-tool-env.d.ts.map +1 -1
  1242. package/dist/tasks/heavy-tool-env.js +818 -42
  1243. package/dist/tasks/heavy-tool-env.js.map +1 -1
  1244. package/dist/tasks/index.d.ts +3 -3
  1245. package/dist/tasks/index.d.ts.map +1 -1
  1246. package/dist/tasks/index.js +3 -3
  1247. package/dist/tasks/index.js.map +1 -1
  1248. package/dist/tasks/labels.js +1 -1
  1249. package/dist/tasks/labels.js.map +1 -1
  1250. package/dist/tasks/nexus-impact-gate.js +1 -1
  1251. package/dist/tasks/nexus-impact-gate.js.map +1 -1
  1252. package/dist/tasks/pipeline-stage.js +1 -1
  1253. package/dist/tasks/pipeline-stage.js.map +1 -1
  1254. package/dist/tasks/population.js +1 -1
  1255. package/dist/tasks/population.js.map +1 -1
  1256. package/dist/tasks/ranking-audit.js +1 -1
  1257. package/dist/tasks/ranking-audit.js.map +1 -1
  1258. package/dist/tasks/reconcile-scope.js +1 -1
  1259. package/dist/tasks/reconcile-scope.js.map +1 -1
  1260. package/dist/tasks/relates.js +1 -1
  1261. package/dist/tasks/relates.js.map +1 -1
  1262. package/dist/tasks/req.d.ts.map +1 -1
  1263. package/dist/tasks/req.js +2 -1
  1264. package/dist/tasks/req.js.map +1 -1
  1265. package/dist/tasks/severity-attestation.d.ts +1 -1
  1266. package/dist/tasks/severity-attestation.d.ts.map +1 -1
  1267. package/dist/tasks/severity-attestation.js +1 -1
  1268. package/dist/tasks/severity-attestation.js.map +1 -1
  1269. package/dist/tasks/show.d.ts.map +1 -1
  1270. package/dist/tasks/show.js +47 -3
  1271. package/dist/tasks/show.js.map +1 -1
  1272. package/dist/tasks/task-import.js +1 -1
  1273. package/dist/tasks/task-import.js.map +1 -1
  1274. package/dist/tasks/task-reparent.d.ts.map +1 -1
  1275. package/dist/tasks/task-reparent.js +2 -1
  1276. package/dist/tasks/task-reparent.js.map +1 -1
  1277. package/dist/tasks/test-run-binding.d.ts.map +1 -1
  1278. package/dist/tasks/test-run-binding.js +9 -2
  1279. package/dist/tasks/test-run-binding.js.map +1 -1
  1280. package/dist/tasks/tool-cache-env.d.ts +20 -13
  1281. package/dist/tasks/tool-cache-env.d.ts.map +1 -1
  1282. package/dist/tasks/tool-cache-env.js +27 -48
  1283. package/dist/tasks/tool-cache-env.js.map +1 -1
  1284. package/dist/tasks/tool-cache.d.ts +30 -7
  1285. package/dist/tasks/tool-cache.d.ts.map +1 -1
  1286. package/dist/tasks/tool-cache.js +74 -20
  1287. package/dist/tasks/tool-cache.js.map +1 -1
  1288. package/dist/tasks/tool-resolver.d.ts +8 -0
  1289. package/dist/tasks/tool-resolver.d.ts.map +1 -1
  1290. package/dist/tasks/tool-resolver.js +15 -1
  1291. package/dist/tasks/tool-resolver.js.map +1 -1
  1292. package/dist/tasks/tool-runner-guard.d.ts +131 -0
  1293. package/dist/tasks/tool-runner-guard.d.ts.map +1 -0
  1294. package/dist/tasks/tool-runner-guard.js +141 -0
  1295. package/dist/tasks/tool-runner-guard.js.map +1 -0
  1296. package/dist/tasks/tool-semaphore.d.ts +106 -302
  1297. package/dist/tasks/tool-semaphore.d.ts.map +1 -1
  1298. package/dist/tasks/tool-semaphore.js +132 -558
  1299. package/dist/tasks/tool-semaphore.js.map +1 -1
  1300. package/dist/tasks/update.d.ts.map +1 -1
  1301. package/dist/tasks/update.js +2 -1
  1302. package/dist/tasks/update.js.map +1 -1
  1303. package/dist/upgrade.d.ts.map +1 -1
  1304. package/dist/upgrade.js +35 -31
  1305. package/dist/upgrade.js.map +1 -1
  1306. package/dist/validation/doctor/checks.d.ts +41 -0
  1307. package/dist/validation/doctor/checks.d.ts.map +1 -1
  1308. package/dist/validation/doctor/checks.js +251 -0
  1309. package/dist/validation/doctor/checks.js.map +1 -1
  1310. package/dist/validation/doctor/index.d.ts +1 -1
  1311. package/dist/validation/doctor/index.d.ts.map +1 -1
  1312. package/dist/validation/doctor/index.js +1 -1
  1313. package/dist/validation/doctor/index.js.map +1 -1
  1314. package/dist/validation/engine-ops.js +1 -1
  1315. package/dist/validation/engine-ops.js.map +1 -1
  1316. package/dist/validation/engine.d.ts +1 -1
  1317. package/dist/validation/engine.d.ts.map +1 -1
  1318. package/dist/validation/engine.js +2 -1
  1319. package/dist/validation/engine.js.map +1 -1
  1320. package/dist/validation/index.d.ts +1 -1
  1321. package/dist/validation/index.d.ts.map +1 -1
  1322. package/dist/validation/index.js +1 -1
  1323. package/dist/validation/index.js.map +1 -1
  1324. package/dist/validation/operation-gate-validators.js +1 -1
  1325. package/dist/validation/operation-gate-validators.js.map +1 -1
  1326. package/dist/validation/protocol-common.js +1 -1
  1327. package/dist/validation/protocol-common.js.map +1 -1
  1328. package/dist/validation/protocols/_shared.js +1 -1
  1329. package/dist/validation/protocols/_shared.js.map +1 -1
  1330. package/dist/validation/validate-ops.js +1 -1
  1331. package/dist/validation/validate-ops.js.map +1 -1
  1332. package/dist/validation/verification.js +1 -1
  1333. package/dist/validation/verification.js.map +1 -1
  1334. package/dist/workgraph/index.d.ts +1 -1
  1335. package/dist/workgraph/index.d.ts.map +1 -1
  1336. package/dist/workgraph/index.js +1 -1
  1337. package/dist/workgraph/index.js.map +1 -1
  1338. package/dist/workgraph/reparent-preflight.d.ts +1 -2
  1339. package/dist/workgraph/reparent-preflight.d.ts.map +1 -1
  1340. package/dist/workgraph/reparent-preflight.js +1 -1
  1341. package/dist/workgraph/reparent-preflight.js.map +1 -1
  1342. package/dist/workgraph/scaffold-validate.js +1 -1
  1343. package/dist/workgraph/scaffold-validate.js.map +1 -1
  1344. package/dist/worktree/force-unlock.d.ts +1 -1
  1345. package/dist/worktree/force-unlock.d.ts.map +1 -1
  1346. package/dist/worktree/force-unlock.js +1 -1
  1347. package/dist/worktree/force-unlock.js.map +1 -1
  1348. package/dist/worktree/isolation.d.ts +1 -1
  1349. package/dist/worktree/isolation.d.ts.map +1 -1
  1350. package/dist/worktree/isolation.js +1 -1
  1351. package/dist/worktree/isolation.js.map +1 -1
  1352. package/dist/worktree/list.d.ts +1 -1
  1353. package/dist/worktree/list.d.ts.map +1 -1
  1354. package/dist/worktree/list.js +1 -1
  1355. package/dist/worktree/list.js.map +1 -1
  1356. package/dist/worktree/prune.d.ts +1 -1
  1357. package/dist/worktree/prune.d.ts.map +1 -1
  1358. package/dist/worktree/prune.js +1 -1
  1359. package/dist/worktree/prune.js.map +1 -1
  1360. package/dist/worktree/worktree-adopt.d.ts +1 -2
  1361. package/dist/worktree/worktree-adopt.d.ts.map +1 -1
  1362. package/dist/worktree/worktree-adopt.js +1 -1
  1363. package/dist/worktree/worktree-adopt.js.map +1 -1
  1364. package/migrations/sync-journal/20261004120000_t12757-apply-intent/migration.sql +21 -0
  1365. package/migrations/sync-journal/20261005120000_t12344-inbox/migration.sql +67 -0
  1366. package/migrations/sync-journal/20261006120000_t13193-rebase-undo/migration.sql +51 -0
  1367. package/migrations/sync-journal/20261006130000_t13193-rebase-state/migration.sql +17 -0
  1368. package/migrations/sync-journal/20261006140000_t13193-held-rows/migration.sql +24 -0
  1369. package/package.json +13 -13
  1370. package/schemas/project-context.schema.json +19 -1
  1371. package/templates/CLEO-INJECTION.md +11 -11
  1372. package/templates/CLEO-REFERENCE.md +2 -2
  1373. package/templates/workflows/release-prepare.yml.tmpl +10 -10
@@ -12,6 +12,14 @@
12
12
  * @task T12342
13
13
  * @module store/sync/flags
14
14
  */
15
+ import { createHash } from 'node:crypto';
16
+ import { existsSync, readdirSync, readFileSync } from 'node:fs';
17
+ import { dirname, join } from 'node:path';
18
+ import { legacyRowProjection } from '../exodus/column-transforms.js';
19
+ import { resolveConsolidatedTableName } from '../exodus/table-name-map.js';
20
+ import { PRIOR_RECOVERIES_TABLE_SQL, taskIdCollisionsSql, } from '../exodus/task-id-collision-sql.js';
21
+ import { ROW_IDENTITY } from '../row-identity-registry.js';
22
+ import { classifyTable, isPortableTableClass } from '../table-classification.js';
15
23
  import { ensureSyncSchema, hasTable } from './schema.js';
16
24
  /** The journal's flags, in slice order. */
17
25
  export const SYNC_FLAGS = [
@@ -67,6 +75,350 @@ export function isSyncFlagOn(db, flag, env = process.env) {
67
75
  return false;
68
76
  return readSyncFlags(db)[flag];
69
77
  }
78
+ /**
79
+ * The journal's sync set (§2.1): tables declared in ROW_IDENTITY that are
80
+ * portable and not frozen-legacy. Defined here, below the capture machinery
81
+ * (which imports this module), so the strand check can name it (T13225).
82
+ *
83
+ * @param scope - The store scope.
84
+ */
85
+ export function syncSetTables(scope) {
86
+ return ROW_IDENTITY[scope]
87
+ .map((spec) => spec.table)
88
+ .filter((t) => {
89
+ const c = classifyTable(scope, t);
90
+ return (c.kind === 'entry' && isPortableTableClass(c.class) && c.entry.status !== 'frozen-legacy');
91
+ });
92
+ }
93
+ /** The remedy {@link LegacyOnlyStoreError} names while the store is a full strand. */
94
+ export const LEGACY_ONLY_REMEDY = 'cleo doctor superseded-store --reconcile';
95
+ /** The task extending the reconcile to partial strands (T13225). */
96
+ export const PARTIAL_STRAND_FOLLOW_UP = 'T13309';
97
+ /**
98
+ * The store's bare legacy rows the journal would never see (T13224, T13225).
99
+ *
100
+ * A pair is a bare table outside the sync set whose consolidated target is a
101
+ * sync-set table, so a bare table the runtime still reads (it is in the sync
102
+ * set itself) is never a source. Rows are compared by the twin's primary key,
103
+ * projected as the reconcile projects it ({@link legacyRowProjection}), the
104
+ * same proof as the superseded-store survey. A pair whose keys cannot be
105
+ * compared counts only while its twin is empty. Bare `tasks` rows shadowed by a
106
+ * different live task with the same id ({@link taskIdCollisionsSql}) count too.
107
+ *
108
+ * Dead bare tables are written by nothing since consolidation, so a missing row
109
+ * was never carried — unless a reconcile carried it and the runtime deleted it
110
+ * from the twin since, the normal life of every reconciled store. A bare table
111
+ * the store records as carried ({@link BARE_ACCOUNTS_TABLE}) whose key digest
112
+ * still matches ({@link bareTableDigest}) is therefore not a strand (T13319,
113
+ * T13320). The record lives in the store, never in files beside it, so a
114
+ * restored pre-reconcile snapshot is refused again.
115
+ *
116
+ * @returns One entry per stranded pair; empty when the journal sees every row.
117
+ */
118
+ export function legacyStrands(db) {
119
+ const strands = [];
120
+ let accounted = null;
121
+ for (const { bare, table } of bareTwinPairs(db)) {
122
+ const { missing, shadowed } = strandCounts(db, bare, table);
123
+ if (missing === 0 && shadowed === 0)
124
+ continue;
125
+ // A reconcile carried this table, and it has not changed since (T13319).
126
+ accounted ??= recordedBareAccounts(db);
127
+ if (isAccounted(db, bare, accounted))
128
+ continue;
129
+ strands.push({ bareTable: bare, table, missing, shadowed });
130
+ }
131
+ return strands;
132
+ }
133
+ /**
134
+ * The bare tables outside the sync set whose consolidated target is a
135
+ * sync-set table, with rows, paired with that twin ({@link legacyStrands}).
136
+ */
137
+ function bareTwinPairs(db) {
138
+ const syncSet = new Set(syncSetTables('project'));
139
+ const tables = db.prepare("SELECT name FROM main.sqlite_master WHERE type = 'table'").all().map((t) => t.name);
140
+ const present = new Set(tables);
141
+ const pairs = [];
142
+ for (const bare of tables) {
143
+ if (syncSet.has(bare))
144
+ continue;
145
+ const target = resolveConsolidatedTableName('tasks', bare);
146
+ if (target.kind !== 'mapped' || target.targetName === bare)
147
+ continue;
148
+ const table = target.targetName;
149
+ if (!syncSet.has(table) || !present.has(table) || !hasRows(db, bare))
150
+ continue;
151
+ pairs.push({ bare, table });
152
+ }
153
+ return pairs;
154
+ }
155
+ /** Rows of `bare` the twin `table` lacks by key, and bare tasks shadowed by a reused id. */
156
+ function strandCounts(db, bare, table) {
157
+ const missing = hasRows(db, table) ? missingByKey(db, bare, table) : countRows(db, bare);
158
+ const shadowed = bare === 'tasks' && table === 'tasks_tasks' ? shadowedTasks(db) : 0;
159
+ return { missing: missing ?? 0, shadowed };
160
+ }
161
+ /** Prefix of a reconcile's run directory under `.cleo/` (T12319). */
162
+ const RECONCILE_RUN_PREFIX = 'exodus-reconcile-';
163
+ /** The receipt file in a reconcile run directory. */
164
+ const RECONCILE_RECEIPT_FILE = 'reconcile-receipt.json';
165
+ /** Logical source names a full reconcile gives the live store's bare family. */
166
+ const BARE_FAMILY_SOURCE_PREFIX = 'tasks (cleo.db bare';
167
+ /**
168
+ * Adopt reconcile receipts written before T13319 into the store's record of
169
+ * carried bare tables (T13320): a receipt file beside the store is audit
170
+ * only, never authority, so a bare table one names is recorded only when it
171
+ * compares clean RIGHT NOW (every bare key present in the twin, no shadowed
172
+ * task). A table that does not — a restored pre-reconcile snapshot, or rows
173
+ * deleted since the reconcile — stays a strand, for the bare-strands
174
+ * reconcile (T13309) to settle. Runs when a flag is turned on.
175
+ *
176
+ * @param db - The live project store, writable.
177
+ * @returns The bare tables adopted.
178
+ */
179
+ export function adoptReconciledReceipts(db) {
180
+ const named = preRecordReceiptTables(db);
181
+ if (named.size === 0)
182
+ return [];
183
+ const recorded = new Set(recordedBareAccounts(db).map((r) => r.table));
184
+ const adopted = [];
185
+ for (const { bare, table } of bareTwinPairs(db)) {
186
+ const run = named.get(bare);
187
+ if (run === undefined || recorded.has(bare))
188
+ continue;
189
+ const { missing, shadowed } = strandCounts(db, bare, table);
190
+ if (missing !== 0 || shadowed !== 0)
191
+ continue;
192
+ recordBareAccounts(db, [bareTableDigest(db, 'main', bare)], run);
193
+ adopted.push(bare);
194
+ }
195
+ return adopted;
196
+ }
197
+ /**
198
+ * Bare tables named by `reconciled` receipts beside the store written before
199
+ * T13319 (no `accounted`): each table with the run directory that names it.
200
+ */
201
+ function preRecordReceiptTables(db) {
202
+ const named = new Map();
203
+ const file = db.prepare('PRAGMA database_list').all().find((d) => d.name === 'main')?.file;
204
+ if (!file || !existsSync(dirname(file)))
205
+ return named;
206
+ const dir = dirname(file);
207
+ for (const run of readdirSync(dir)
208
+ .filter((n) => n.startsWith(RECONCILE_RUN_PREFIX))
209
+ .sort()) {
210
+ let receipt;
211
+ try {
212
+ receipt = JSON.parse(readFileSync(join(dir, run, RECONCILE_RECEIPT_FILE), 'utf8'));
213
+ }
214
+ catch {
215
+ continue;
216
+ }
217
+ if (!isRecord(receipt) || receipt.outcome !== 'reconciled' || 'accounted' in receipt)
218
+ continue;
219
+ for (const c of Array.isArray(receipt.before) ? receipt.before : []) {
220
+ if (isRecord(c) &&
221
+ typeof c.sourceDb === 'string' &&
222
+ c.sourceDb.startsWith(BARE_FAMILY_SOURCE_PREFIX) &&
223
+ typeof c.sourceTable === 'string') {
224
+ named.set(c.sourceTable, run);
225
+ }
226
+ }
227
+ }
228
+ return named;
229
+ }
230
+ /** Whether `value` is a plain object. */
231
+ function isRecord(value) {
232
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
233
+ }
234
+ /** Whether any bare legacy row is stranded from the journal ({@link legacyStrands}). */
235
+ export function isLegacyOnlyStore(db) {
236
+ return legacyStrands(db).length > 0;
237
+ }
238
+ /**
239
+ * The remedy for `strands`: the reconcile while `tasks_tasks` is empty (it
240
+ * copies the bare family only then), otherwise none yet ({@link
241
+ * PARTIAL_STRAND_FOLLOW_UP}).
242
+ */
243
+ export function legacyStrandRemedy(db, strands) {
244
+ const counts = strands
245
+ .map((s) => `${s.bareTable} → ${s.table}: ${s.missing} missing` +
246
+ (s.shadowed > 0 ? `, ${s.shadowed} shadowed by a reused id` : ''))
247
+ .join('; ');
248
+ if (!hasTable(db, 'tasks_tasks') || !hasRows(db, 'tasks_tasks')) {
249
+ return `Stranded bare rows (${counts}). Run \`${LEGACY_ONLY_REMEDY}\` first.`;
250
+ }
251
+ return (`Stranded bare rows (${counts}). \`${LEGACY_ONLY_REMEDY}\` cannot yet copy bare rows ` +
252
+ `into a populated store; ${PARTIAL_STRAND_FOLLOW_UP} adds that. Keep the bare tables ` +
253
+ `until then.`);
254
+ }
255
+ /** Sync refused on a store with stranded bare rows ({@link legacyStrands}). */
256
+ export class LegacyOnlyStoreError extends Error {
257
+ code = 'E_SYNC_LEGACY_ONLY_STORE';
258
+ /**
259
+ * @param flag - The flag being enabled.
260
+ * @param remedy - {@link legacyStrandRemedy} for the store.
261
+ */
262
+ constructor(flag, remedy) {
263
+ super(`E_SYNC_LEGACY_ONLY_STORE: ${flag} refused: this store holds rows only in the bare ` +
264
+ `legacy tables, where the journal would never see them. ${remedy}`);
265
+ this.name = 'LegacyOnlyStoreError';
266
+ }
267
+ }
268
+ /**
269
+ * {@link legacyStrands} decided once per `PRAGMA data_version` of a connection
270
+ * (T13319): the sealer asks on every batch, while a strand can only appear or
271
+ * clear through another connection's commit (bare tables are dead; a
272
+ * reconcile writes through its own connection). This connection's own writes
273
+ * never move `data_version`, and never strand a row.
274
+ */
275
+ const strandsByConnection = new WeakMap();
276
+ /**
277
+ * {@link legacyStrands}, reused while no other connection has committed.
278
+ *
279
+ * @param db - The store connection the sealer uses.
280
+ */
281
+ export function legacyStrandsCached(db) {
282
+ const version = Number(db.prepare('PRAGMA data_version').get().data_version);
283
+ const hit = strandsByConnection.get(db);
284
+ if (hit && hit.version === version)
285
+ return hit.strands;
286
+ const strands = legacyStrands(db);
287
+ strandsByConnection.set(db, { version, strands });
288
+ return strands;
289
+ }
290
+ /**
291
+ * The store's own record of the bare tables a reconcile carried (T13320): one
292
+ * row per bare table with its key digest ({@link bareTableDigest}) when the
293
+ * run verified. It lives IN the store (local-only, `_exodus_recovery_*`), so
294
+ * it travels with backups and restores; a snapshot taken before the reconcile
295
+ * carries none, and its stranded rows are refused again.
296
+ */
297
+ export const BARE_ACCOUNTS_TABLE = '_exodus_recovery_bare_accounts';
298
+ /**
299
+ * The row count and key digest of a bare legacy table, by which the store
300
+ * records a reconcile carrying it (T13319). Its primary-key values are hashed in order
301
+ * — the rows a strand is judged by — so a row added since changes it, while a
302
+ * column the runtime adds to the dead table on open (its legacy upgrade does)
303
+ * does not. A keyless table hashes every column.
304
+ *
305
+ * @param db - Connection holding the table.
306
+ * @param schema - Schema the table lives in, e.g. `main`.
307
+ * @param table - The bare table.
308
+ */
309
+ export function bareTableDigest(db, schema, table) {
310
+ const info = db.prepare(`PRAGMA "${schema}".table_info("${table}")`).all();
311
+ const pk = info
312
+ .filter((c) => c.pk > 0)
313
+ .sort((a, b) => a.pk - b.pk)
314
+ .map((c) => c.name);
315
+ const cols = (pk.length > 0 ? pk : info.map((c) => c.name)).map((c) => `quote("${c}")`);
316
+ const hash = createHash('sha256');
317
+ let rows = 0;
318
+ for (const row of db
319
+ .prepare(`SELECT ${cols.join(" || ',' || ")} AS r FROM "${schema}"."${table}" ORDER BY 1`)
320
+ .iterate()) {
321
+ hash.update(`${row.r}\n`);
322
+ rows++;
323
+ }
324
+ return { table, rows, digest: hash.digest('hex') };
325
+ }
326
+ /** The bare tables this store records as carried by a reconcile (T13320). */
327
+ function recordedBareAccounts(db) {
328
+ if (!hasTable(db, BARE_ACCOUNTS_TABLE))
329
+ return [];
330
+ return db
331
+ .prepare(`SELECT bare_table AS "table", rows, digest FROM main."${BARE_ACCOUNTS_TABLE}"`)
332
+ .all().map((r) => ({ table: r.table, rows: Number(r.rows), digest: r.digest }));
333
+ }
334
+ /**
335
+ * Record, in the store, that a verified reconcile run carried `accounts`
336
+ * (T13320). Upserts per bare table, so a later run's digest replaces an
337
+ * earlier one; `run` names the receipt directory that did it.
338
+ *
339
+ * @param db - The live project store, writable.
340
+ * @param accounts - Key digests of the bare tables the run carried.
341
+ * @param run - The reconcile's run directory name.
342
+ * @param now - When the run verified.
343
+ */
344
+ export function recordBareAccounts(db, accounts, run, now = new Date()) {
345
+ db.exec(`CREATE TABLE IF NOT EXISTS main."${BARE_ACCOUNTS_TABLE}" (` +
346
+ 'bare_table TEXT PRIMARY KEY, rows INTEGER NOT NULL, digest TEXT NOT NULL, ' +
347
+ 'run TEXT NOT NULL, recorded_at TEXT NOT NULL)');
348
+ const upsert = db.prepare(`INSERT INTO main."${BARE_ACCOUNTS_TABLE}" (bare_table, rows, digest, run, recorded_at) ` +
349
+ 'VALUES (?, ?, ?, ?, ?) ON CONFLICT(bare_table) DO UPDATE SET rows = excluded.rows, ' +
350
+ 'digest = excluded.digest, run = excluded.run, recorded_at = excluded.recorded_at');
351
+ const at = now.toISOString();
352
+ // A savepoint, so a caller already inside a transaction can record too.
353
+ db.exec('SAVEPOINT bare_accounts');
354
+ try {
355
+ for (const a of accounts)
356
+ upsert.run(a.table, a.rows, a.digest, run, at);
357
+ db.exec('RELEASE bare_accounts');
358
+ }
359
+ catch (error) {
360
+ db.exec('ROLLBACK TO bare_accounts');
361
+ db.exec('RELEASE bare_accounts');
362
+ throw error;
363
+ }
364
+ }
365
+ /** Whether `bare` is unchanged since the store recorded a reconcile carrying it. */
366
+ function isAccounted(db, bare, records) {
367
+ const mine = records.find((r) => r.table === bare);
368
+ if (mine === undefined)
369
+ return false;
370
+ const now = bareTableDigest(db, 'main', bare);
371
+ return mine.rows === now.rows && mine.digest === now.digest;
372
+ }
373
+ /** Whether `table` holds at least one row. */
374
+ function hasRows(db, table) {
375
+ const row = db.prepare(`SELECT EXISTS (SELECT 1 FROM main."${table}") AS n`).get();
376
+ return row.n === 1;
377
+ }
378
+ function countRows(db, table) {
379
+ return db.prepare(`SELECT COUNT(*) AS n FROM main."${table}"`).get().n;
380
+ }
381
+ function columns(db, table) {
382
+ return db.prepare(`PRAGMA main.table_info("${table}")`).all();
383
+ }
384
+ /**
385
+ * Bare rows whose twin primary key is absent from the twin, or `null` when the
386
+ * bare table cannot produce every key column.
387
+ */
388
+ function missingByKey(db, bare, table) {
389
+ const pk = columns(db, table)
390
+ .filter((c) => c.pk > 0)
391
+ .sort((a, b) => a.pk - b.pk)
392
+ .map((c) => c.name);
393
+ const bareCols = new Set(columns(db, bare).map((c) => c.name));
394
+ const projection = legacyRowProjection(table, bare);
395
+ const keyOf = (c) => {
396
+ const project = projection.get(c);
397
+ if (project)
398
+ return project((name) => `s."${name}"`);
399
+ return bareCols.has(c) ? `s."${c}"` : null;
400
+ };
401
+ if (pk.length === 0 || !pk.every((c) => keyOf(c) !== null))
402
+ return null;
403
+ const match = pk.map((c) => `t."${c}" = ${keyOf(c)}`).join(' AND ');
404
+ return db
405
+ .prepare(`SELECT COUNT(*) AS n FROM main."${bare}" s ` +
406
+ `WHERE NOT EXISTS (SELECT 1 FROM main."${table}" t WHERE ${match})`)
407
+ .get().n;
408
+ }
409
+ /** Bare `tasks` rows shadowed by a different live task with their id. */
410
+ function shadowedTasks(db) {
411
+ const distinguishing = (t) => {
412
+ const names = new Set(columns(db, t).map((c) => c.name));
413
+ return names.has('title') && names.has('created_at') && names.has('type');
414
+ };
415
+ if (!distinguishing('tasks') || !distinguishing('tasks_tasks'))
416
+ return 0;
417
+ db.exec(PRIOR_RECOVERIES_TABLE_SQL);
418
+ return db
419
+ .prepare(`SELECT COUNT(*) AS n FROM (${taskIdCollisionsSql('main.tasks')}) WHERE recoveredAs IS NULL`)
420
+ .get().n;
421
+ }
70
422
  /**
71
423
  * Persist a flag. Turning one on first applies the sync schema; turning one
72
424
  * off on a store without the schema writes nothing.
@@ -84,6 +436,14 @@ export function setSyncFlag(db, flag, on, options = {}) {
84
436
  // @sync-invariant none:local-only a local operator cannot turn on an unfinished journal slice; a per-store setting, not synced rows
85
437
  throw Object.assign(new Error(`E_SYNC_FLAG_UNRELEASED: ${flag} cannot be enabled until its slices land (T12343: S3b–S3d for sync.seal)`), { code: 'E_SYNC_FLAG_UNRELEASED' });
86
438
  }
439
+ // A pre-T13319 receipt counts only for a bare table clean right now (T13320).
440
+ if (on)
441
+ adoptReconciledReceipts(db);
442
+ const strands = on ? legacyStrands(db) : [];
443
+ if (strands.length > 0) {
444
+ // @sync-invariant none:local-only enabling sync on a store whose rows the journal cannot see is refused; a per-store setting
445
+ throw new LegacyOnlyStoreError(flag, legacyStrandRemedy(db, strands));
446
+ }
87
447
  if (!on && !hasTable(db, '_sync_meta'))
88
448
  return false;
89
449
  if (readSyncFlags(db)[flag] === on)
@@ -1 +1 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../../src/store/sync/flags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../../src/store/sync/flags.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,197 @@
1
+ /**
2
+ * Held rows (journal spec §3.5 Rule 5; T13193 R-3, T13269).
3
+ *
4
+ * A local op a scoped rebase cannot replay stays rewound and is held until
5
+ * its echo is decided: the stream refused it (a dangling reference, a typed
6
+ * rule, a guard, a post-apply check), so it is sent and sequenced as usual,
7
+ * and the stream applies or voids it. While held:
8
+ *
9
+ * - its row meta carries `held = 1`, so the ledger check, the repair diff
10
+ * and the Gate D manifest skip the row (no spurious repair D for a held
11
+ * insert, whose meta has no live row);
12
+ * - `_sync_ledger` moves by the op's row-count effect, in both `live` and
13
+ * `held`, so `live = count(*) + held` keeps holding;
14
+ * - its row undo records when, why (the conflict preview `cleo show` returns
15
+ * with `E_SYNC_HELD`), and, for an insert, what the rewind kept that the
16
+ * stream cannot bring back (local-only columns, FK children outside the
17
+ * sync set), restored if the insert applies later.
18
+ *
19
+ * A rebase that rewinds a held op lifts the hold first and decides again.
20
+ * A held transaction's echo never takes the own-echo fast path, so its echo
21
+ * is always decided in a rebase, whose rewind lifts the hold.
22
+ *
23
+ * @task T13193
24
+ * @module store/sync/held
25
+ */
26
+ import type { DatabaseSync, SQLInputValue } from 'node:sqlite';
27
+ import { LedgerOp, type LedgerWireValue } from '@cleocode/contracts/ledger';
28
+ import type { LAFSError } from '@cleocode/lafs';
29
+ import { CleoError } from '../../errors.js';
30
+ import type { LocalDescendants } from './apply/write-api.js';
31
+ import { type RowMetaFull } from './row-meta.js';
32
+ /** What a rewound insert kept that the stream cannot bring back (R7-2). */
33
+ export interface KeptRow {
34
+ /** Its local-only columns, or null when the row had none to keep. */
35
+ readonly local: Record<string, SQLInputValue> | null;
36
+ /** Its FK children outside the sync set, removed by the rewind's DELETE. */
37
+ readonly descendants: LocalDescendants;
38
+ }
39
+ /** One op to hold. */
40
+ export interface HoldInput {
41
+ readonly txn: string;
42
+ readonly idx: number;
43
+ readonly op: LedgerOp;
44
+ /** Whether the op's row exists now (after the rewind). */
45
+ readonly exists: boolean;
46
+ /** What refused the replay (the conflict preview). */
47
+ readonly reason: string;
48
+ /** The row's meta as the op left it, before the rewind (an insert's meta). */
49
+ readonly afterMeta: RowMetaFull | null;
50
+ readonly kept: KeptRow | null;
51
+ readonly nowIso: string;
52
+ }
53
+ /** A held op, as its row undo records it. */
54
+ export interface HeldOp {
55
+ readonly txn: string;
56
+ readonly idx: number;
57
+ readonly tbl: string;
58
+ readonly uid: string;
59
+ readonly at: string;
60
+ readonly reason: string;
61
+ /** The row-count effect the ledger moved by while held. */
62
+ readonly effect: number;
63
+ readonly kept: KeptRow | null;
64
+ }
65
+ /**
66
+ * Account a rebase's own row-count change to `table` (a rewind's delete or
67
+ * re-insert, a replay's insert or delete). Rewind and replay write with
68
+ * capture suspended, so the sealer never sees them; without this the ledger
69
+ * would drift by every rewound insert whose echo then applies.
70
+ *
71
+ * @param db - The store, inside the rebase frame.
72
+ * @param table - Sync-set table.
73
+ * @param delta - Rows added (positive) or removed (negative).
74
+ */
75
+ export declare function accountRebaseRows(db: DatabaseSync, table: string, delta: number): void;
76
+ /**
77
+ * Hold an op the replay left rewound: mark its row meta held (creating it
78
+ * from the op's after-meta for an insert, whose rewind removed it), move the
79
+ * ledger by its row-count effect, and record the hold on its row undo.
80
+ *
81
+ * @param db - The store, inside the rebase frame.
82
+ * @param h - The op and why it is held.
83
+ */
84
+ export declare function holdOp(db: DatabaseSync, h: HoldInput): void;
85
+ /**
86
+ * The hold on a local op, or null when it is not held.
87
+ *
88
+ * @param db - The store.
89
+ * @param txn - The local transaction.
90
+ * @param idx - The op's index.
91
+ */
92
+ export declare function heldOp(db: DatabaseSync, txn: string, idx: number): HeldOp | null;
93
+ /**
94
+ * Lift the hold on a local op: reverse its ledger effect, clear `held` in
95
+ * its row meta, and clear the hold (what it kept stays, for a later apply).
96
+ *
97
+ * @param db - The store, inside the frame.
98
+ * @param txn - The local transaction.
99
+ * @param idx - The op's index.
100
+ */
101
+ export declare function unholdOp(db: DatabaseSync, txn: string, idx: number): void;
102
+ /**
103
+ * Whether a local transaction has a held op.
104
+ *
105
+ * @param db - The store.
106
+ * @param txn - The local transaction.
107
+ */
108
+ export declare function txnHasHold(db: DatabaseSync, txn: string): boolean;
109
+ /** A held insert, as `cleo show` reports it. */
110
+ export interface HeldInsert {
111
+ readonly table: string;
112
+ readonly uid: string;
113
+ readonly txn: string;
114
+ readonly heldAt: string;
115
+ /** The conflict preview: what refused the replay. */
116
+ readonly reason: string;
117
+ /** The values the insert would write (its sealed after-image, references as uids). */
118
+ readonly values: Readonly<Record<string, LedgerWireValue>>;
119
+ }
120
+ /**
121
+ * Every held op, oldest first (for `cleo sync status` and `cleo doctor`).
122
+ *
123
+ * @param db - The store.
124
+ * @returns The holds, or none when the journal has no row undo.
125
+ */
126
+ export declare function listHeldOps(db: DatabaseSync): HeldOp[];
127
+ /** A hold older than this many days is a long hold `cleo doctor sync-journal` lists (§3.5 Rule 5). */
128
+ export declare const HELD_WARN_DAYS = 7;
129
+ /** A held op as the status and doctor surfaces report it (no kept snapshot). */
130
+ export interface HeldSummary {
131
+ readonly txn: string;
132
+ readonly idx: number;
133
+ readonly table: string;
134
+ readonly uid: string;
135
+ readonly heldAt: string;
136
+ /** What refused the replay (the conflict preview). */
137
+ readonly reason: string;
138
+ }
139
+ /** Every hold in a store, and those older than the warn age. */
140
+ export interface HoldsReport {
141
+ readonly total: number;
142
+ /** The oldest hold's time, or null when none. */
143
+ readonly oldestAt: string | null;
144
+ /** Holds older than {@link HoldsReport.warnDays}, oldest first. */
145
+ readonly long: readonly HeldSummary[];
146
+ readonly warnDays: number;
147
+ }
148
+ /**
149
+ * The store's holds for `cleo cloud status` and `cleo doctor sync-journal`
150
+ * (§3.5 Rule 5): how many, the oldest, and the long ones with their reason.
151
+ *
152
+ * @param db - The store (a read-only snapshot is fine).
153
+ * @param nowMs - The current time (epoch ms).
154
+ * @param warnDays - The long-hold age. @defaultValue HELD_WARN_DAYS
155
+ * @returns The report; empty when the journal has no row undo.
156
+ */
157
+ export declare function holdsReport(db: DatabaseSync, nowMs: number, warnDays?: number): HoldsReport;
158
+ /**
159
+ * The held insert into `table` whose sealed values carry `column = value`
160
+ * (a held row is absent, so `cleo show` finds it here), or null.
161
+ *
162
+ * @param db - The store.
163
+ * @param table - Sync-set table.
164
+ * @param column - A column of the insert's after-image (for tasks, `id`).
165
+ * @param value - The value it must carry.
166
+ * @returns The held insert, or null.
167
+ */
168
+ export declare function findHeldInsert(db: DatabaseSync, table: string, column: string, value: string): HeldInsert | null;
169
+ /**
170
+ * The held insert of task `id` in this project's store, or null (also when
171
+ * the store cannot be read: the caller's not-found stands).
172
+ *
173
+ * @param id - The task id (`T…`).
174
+ * @param cwd - The project directory.
175
+ * @returns The held insert, or null.
176
+ */
177
+ export declare function findHeldTask(id: string, cwd?: string): Promise<HeldInsert | null>;
178
+ /**
179
+ * `cleo show` of a row a rebase holds (§3.5 Rule 5): not `E_NOT_FOUND`, but
180
+ * `E_SYNC_HELD`, with the held values and the conflict preview. The insert
181
+ * is sent and the stream decides it: applied (its parent came back) or
182
+ * voided with a visible conflict.
183
+ */
184
+ export declare class SyncHeldError extends CleoError {
185
+ /** Stable string error code for envelope `codeName` / log correlation. */
186
+ readonly codeName: "E_SYNC_HELD";
187
+ /** The held insert. */
188
+ readonly held: HeldInsert;
189
+ /**
190
+ * @param id - The id the caller asked for.
191
+ * @param held - The held insert.
192
+ */
193
+ constructor(id: string, held: HeldInsert);
194
+ /** The LAFS error, coded `E_SYNC_HELD`. */
195
+ toLAFSError(): LAFSError;
196
+ }
197
+ //# sourceMappingURL=held.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"held.d.ts","sourceRoot":"","sources":["../../../src/store/sync/held.ts"],"names":[],"mappings":"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"}