cloving 0.3.19 → 1.0.1

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 (507) hide show
  1. package/{LICENSE.md → LICENSE} +1 -1
  2. package/README.md +475 -182
  3. package/dist/src/authority/budgets.d.ts +12 -0
  4. package/dist/src/authority/budgets.js +42 -0
  5. package/dist/src/authority/commands.d.ts +7 -0
  6. package/dist/src/authority/commands.js +263 -0
  7. package/dist/src/authority/details.d.ts +28 -0
  8. package/dist/src/authority/details.js +33 -0
  9. package/dist/src/authority/dispatch-decision.d.ts +40 -0
  10. package/dist/src/authority/dispatch-decision.js +47 -0
  11. package/dist/src/authority/effect-requests.d.ts +2 -0
  12. package/dist/src/authority/effect-requests.js +139 -0
  13. package/dist/src/authority/effect-results.d.ts +4 -0
  14. package/dist/src/authority/effect-results.js +236 -0
  15. package/dist/src/authority/events.d.ts +2 -0
  16. package/dist/src/authority/events.js +45 -0
  17. package/dist/src/authority/gate-reduction.d.ts +8 -0
  18. package/dist/src/authority/gate-reduction.js +109 -0
  19. package/dist/src/authority/gates.d.ts +48 -0
  20. package/dist/src/authority/gates.js +77 -0
  21. package/dist/src/authority/history-state.d.ts +15 -0
  22. package/dist/src/authority/history-state.js +61 -0
  23. package/dist/src/authority/history.d.ts +13 -0
  24. package/dist/src/authority/history.js +37 -0
  25. package/dist/src/authority/instants.d.ts +3 -0
  26. package/dist/src/authority/instants.js +38 -0
  27. package/dist/src/authority/leases.d.ts +15 -0
  28. package/dist/src/authority/leases.js +113 -0
  29. package/dist/src/authority/operations.d.ts +101 -0
  30. package/dist/src/authority/operations.js +75 -0
  31. package/dist/src/authority/reconciliation.d.ts +27 -0
  32. package/dist/src/authority/reconciliation.js +147 -0
  33. package/dist/src/authority/reducer.d.ts +41 -0
  34. package/dist/src/authority/reducer.js +139 -0
  35. package/dist/src/authority/reduction-state.d.ts +36 -0
  36. package/dist/src/authority/reduction-state.js +68 -0
  37. package/dist/src/authority/reduction.d.ts +6 -0
  38. package/dist/src/authority/reduction.js +160 -0
  39. package/dist/src/authority/status-closure.d.ts +4 -0
  40. package/dist/src/authority/status-closure.js +57 -0
  41. package/dist/src/authority/status-effects.d.ts +17 -0
  42. package/dist/src/authority/status-effects.js +43 -0
  43. package/dist/src/authority/status-input.d.ts +45 -0
  44. package/dist/src/authority/status-input.js +9 -0
  45. package/dist/src/authority/status.d.ts +32 -0
  46. package/dist/src/authority/status.js +256 -0
  47. package/dist/src/authority/stop-sequence.d.ts +37 -0
  48. package/dist/src/authority/stop-sequence.js +91 -0
  49. package/dist/src/authority/transitions.d.ts +63 -0
  50. package/dist/src/authority/transitions.js +122 -0
  51. package/dist/src/broker/actor/adapter-calls.d.ts +13 -0
  52. package/dist/src/broker/actor/adapter-calls.js +34 -0
  53. package/dist/src/broker/actor/adapter-outcomes.d.ts +28 -0
  54. package/dist/src/broker/actor/adapter-outcomes.js +80 -0
  55. package/dist/src/broker/actor/authority-actor.d.ts +25 -0
  56. package/dist/src/broker/actor/authority-actor.js +169 -0
  57. package/dist/src/broker/actor/authority-changes.d.ts +31 -0
  58. package/dist/src/broker/actor/authority-changes.js +46 -0
  59. package/dist/src/broker/actor/authority-connection.d.ts +15 -0
  60. package/dist/src/broker/actor/authority-connection.js +44 -0
  61. package/dist/src/broker/actor/authority-conversion.d.ts +10 -0
  62. package/dist/src/broker/actor/authority-conversion.js +72 -0
  63. package/dist/src/broker/actor/authority-delivery.d.ts +13 -0
  64. package/dist/src/broker/actor/authority-delivery.js +162 -0
  65. package/dist/src/broker/actor/authority-logger.d.ts +2 -0
  66. package/dist/src/broker/actor/authority-logger.js +19 -0
  67. package/dist/src/broker/actor/authority-policy.d.ts +9 -0
  68. package/dist/src/broker/actor/authority-policy.js +11 -0
  69. package/dist/src/broker/actor/authority-queries.d.ts +45 -0
  70. package/dist/src/broker/actor/authority-queries.js +85 -0
  71. package/dist/src/broker/actor/authority-receipts.d.ts +28 -0
  72. package/dist/src/broker/actor/authority-receipts.js +84 -0
  73. package/dist/src/broker/actor/authority-release.d.ts +13 -0
  74. package/dist/src/broker/actor/authority-release.js +69 -0
  75. package/dist/src/broker/actor/authority-runtime.d.ts +60 -0
  76. package/dist/src/broker/actor/authority-runtime.js +204 -0
  77. package/dist/src/broker/actor/authority-session.d.ts +65 -0
  78. package/dist/src/broker/actor/authority-session.js +252 -0
  79. package/dist/src/broker/actor/authority-settings.d.ts +33 -0
  80. package/dist/src/broker/actor/authority-settings.js +63 -0
  81. package/dist/src/broker/actor/authority-upgrades.d.ts +16 -0
  82. package/dist/src/broker/actor/authority-upgrades.js +12 -0
  83. package/dist/src/broker/actor/authority-watchdog.d.ts +14 -0
  84. package/dist/src/broker/actor/authority-watchdog.js +41 -0
  85. package/dist/src/broker/actor/authority.d.ts +14 -0
  86. package/dist/src/broker/actor/authority.js +115 -0
  87. package/dist/src/broker/actor/delivery-intents.d.ts +68 -0
  88. package/dist/src/broker/actor/delivery-intents.js +77 -0
  89. package/dist/src/broker/actor/delivery-plan.d.ts +2 -0
  90. package/dist/src/broker/actor/delivery-plan.js +109 -0
  91. package/dist/src/broker/actor/delivery-results.d.ts +11 -0
  92. package/dist/src/broker/actor/delivery-results.js +63 -0
  93. package/dist/src/broker/actor/effect-delivery.d.ts +19 -0
  94. package/dist/src/broker/actor/effect-delivery.js +118 -0
  95. package/dist/src/broker/actor/effect-plan.d.ts +41 -0
  96. package/dist/src/broker/actor/effect-plan.js +173 -0
  97. package/dist/src/broker/actor/effect-queries.d.ts +27 -0
  98. package/dist/src/broker/actor/effect-queries.js +80 -0
  99. package/dist/src/broker/actor/effect-turn.d.ts +25 -0
  100. package/dist/src/broker/actor/effect-turn.js +84 -0
  101. package/dist/src/broker/actor/pin-check.d.ts +6 -0
  102. package/dist/src/broker/actor/pin-check.js +12 -0
  103. package/dist/src/broker/actor/runtime-parts.d.ts +23 -0
  104. package/dist/src/broker/actor/runtime-parts.js +34 -0
  105. package/dist/src/broker/actor/stop-plan.d.ts +20 -0
  106. package/dist/src/broker/actor/stop-plan.js +46 -0
  107. package/dist/src/broker/actor/stop-turn.d.ts +17 -0
  108. package/dist/src/broker/actor/stop-turn.js +42 -0
  109. package/dist/src/broker/actor/turn-draft.d.ts +31 -0
  110. package/dist/src/broker/actor/turn-draft.js +138 -0
  111. package/dist/src/broker/actor/turn-plan.d.ts +17 -0
  112. package/dist/src/broker/actor/turn-plan.js +136 -0
  113. package/dist/src/broker/actor/turn-refusals.d.ts +8 -0
  114. package/dist/src/broker/actor/turn-refusals.js +35 -0
  115. package/dist/src/broker/actor/turn-staging.d.ts +78 -0
  116. package/dist/src/broker/actor/turn-staging.js +34 -0
  117. package/dist/src/broker/actor/turn-state.d.ts +34 -0
  118. package/dist/src/broker/actor/turn-state.js +208 -0
  119. package/dist/src/broker/authority-admission.d.ts +21 -0
  120. package/dist/src/broker/authority-admission.js +70 -0
  121. package/dist/src/broker/authority-restore.d.ts +30 -0
  122. package/dist/src/broker/authority-restore.js +165 -0
  123. package/dist/src/broker/decision-restore.d.ts +16 -0
  124. package/dist/src/broker/decision-restore.js +158 -0
  125. package/dist/src/broker/decision-upgrade.d.ts +3 -0
  126. package/dist/src/broker/decision-upgrade.js +12 -0
  127. package/dist/src/broker/effect-restore.d.ts +20 -0
  128. package/dist/src/broker/effect-restore.js +111 -0
  129. package/dist/src/broker/effect-upgrade.d.ts +3 -0
  130. package/dist/src/broker/effect-upgrade.js +9 -0
  131. package/dist/src/broker/operation-digest.d.ts +1 -0
  132. package/dist/src/broker/operation-digest.js +4 -0
  133. package/dist/src/broker/socket-address.d.ts +9 -0
  134. package/dist/src/broker/socket-address.js +14 -0
  135. package/dist/src/broker/workflow-pin.d.ts +2 -0
  136. package/dist/src/broker/workflow-pin.js +5 -0
  137. package/dist/src/chats/destination.d.ts +4 -0
  138. package/dist/src/chats/destination.js +94 -0
  139. package/dist/src/chats/import.d.ts +13 -0
  140. package/dist/src/chats/import.js +71 -0
  141. package/dist/src/chats/normalize.d.ts +20 -0
  142. package/dist/src/chats/normalize.js +139 -0
  143. package/dist/src/chats/reader.d.ts +15 -0
  144. package/dist/src/chats/reader.js +87 -0
  145. package/dist/src/cli/arguments.d.ts +23 -0
  146. package/dist/src/cli/arguments.js +154 -0
  147. package/dist/src/cli/client.d.ts +15 -0
  148. package/dist/src/cli/client.js +122 -0
  149. package/dist/src/cli/commands.d.ts +14 -0
  150. package/dist/src/cli/commands.js +253 -0
  151. package/dist/src/cli/main.d.ts +1 -0
  152. package/dist/src/cli/main.js +80 -0
  153. package/dist/src/cli/render.d.ts +8 -0
  154. package/dist/src/cli/render.js +186 -0
  155. package/dist/src/cli/runtime-arguments.d.ts +73 -0
  156. package/dist/src/cli/runtime-arguments.js +248 -0
  157. package/dist/src/cli/runtime-directory.d.ts +4 -0
  158. package/dist/src/cli/runtime-directory.js +25 -0
  159. package/dist/src/cli/toolchain.d.ts +3 -0
  160. package/dist/src/cli/toolchain.js +74 -0
  161. package/dist/src/cli/usage.d.ts +4 -0
  162. package/dist/src/cli/usage.js +124 -0
  163. package/dist/src/cli/validate.d.ts +38 -0
  164. package/dist/src/cli/validate.js +116 -0
  165. package/dist/src/cli/watch-board-view.d.ts +22 -0
  166. package/dist/src/cli/watch-board-view.js +128 -0
  167. package/dist/src/cli/watch-board.d.ts +15 -0
  168. package/dist/src/cli/watch-board.js +174 -0
  169. package/dist/src/cli/watch-element.d.ts +11 -0
  170. package/dist/src/cli/watch-element.js +6 -0
  171. package/dist/src/cli/watch-model.d.ts +29 -0
  172. package/dist/src/cli/watch-model.js +261 -0
  173. package/dist/src/cli/watch-navigation.d.ts +9 -0
  174. package/dist/src/cli/watch-navigation.js +40 -0
  175. package/dist/src/cli/watch-page.d.ts +1 -0
  176. package/dist/src/cli/watch-page.js +272 -0
  177. package/dist/src/cli/watch-paths.d.ts +2 -0
  178. package/dist/src/cli/watch-paths.js +52 -0
  179. package/dist/src/cli/watch-phases.d.ts +7 -0
  180. package/dist/src/cli/watch-phases.js +148 -0
  181. package/dist/src/cli/watch-reads.d.ts +28 -0
  182. package/dist/src/cli/watch-reads.js +244 -0
  183. package/dist/src/cli/watch-render.d.ts +139 -0
  184. package/dist/src/cli/watch-render.js +95 -0
  185. package/dist/src/cli/watch-server.d.ts +10 -0
  186. package/dist/src/cli/watch-server.js +176 -0
  187. package/dist/src/cli/watch-stream.d.ts +11 -0
  188. package/dist/src/cli/watch-stream.js +128 -0
  189. package/dist/src/cli/watch-turn.d.ts +29 -0
  190. package/dist/src/cli/watch-turn.js +130 -0
  191. package/dist/src/cli/watch-view.d.ts +39 -0
  192. package/dist/src/cli/watch-view.js +223 -0
  193. package/dist/src/cli.d.ts +2 -0
  194. package/dist/src/cli.js +62 -0
  195. package/dist/src/daemon/claude-turn.d.ts +28 -0
  196. package/dist/src/daemon/claude-turn.js +135 -0
  197. package/dist/src/daemon/claude-worker.d.ts +26 -0
  198. package/dist/src/daemon/claude-worker.js +224 -0
  199. package/dist/src/daemon/codex-stream.d.ts +4 -0
  200. package/dist/src/daemon/codex-stream.js +113 -0
  201. package/dist/src/daemon/daemon.d.ts +46 -0
  202. package/dist/src/daemon/daemon.js +186 -0
  203. package/dist/src/daemon/delivery-router.d.ts +10 -0
  204. package/dist/src/daemon/delivery-router.js +34 -0
  205. package/dist/src/daemon/github-calls.d.ts +29 -0
  206. package/dist/src/daemon/github-calls.js +127 -0
  207. package/dist/src/daemon/github-issue-methods.d.ts +3 -0
  208. package/dist/src/daemon/github-issue-methods.js +99 -0
  209. package/dist/src/daemon/github-issue-privacy.d.ts +6 -0
  210. package/dist/src/daemon/github-issue-privacy.js +131 -0
  211. package/dist/src/daemon/github-merge.d.ts +18 -0
  212. package/dist/src/daemon/github-merge.js +259 -0
  213. package/dist/src/daemon/github-methods.d.ts +5 -0
  214. package/dist/src/daemon/github-methods.js +198 -0
  215. package/dist/src/daemon/github-operation.d.ts +38 -0
  216. package/dist/src/daemon/github-operation.js +57 -0
  217. package/dist/src/daemon/github-worker.d.ts +17 -0
  218. package/dist/src/daemon/github-worker.js +281 -0
  219. package/dist/src/daemon/host-environment.d.ts +8 -0
  220. package/dist/src/daemon/host-environment.js +14 -0
  221. package/dist/src/daemon/issue-queue.d.ts +9 -0
  222. package/dist/src/daemon/issue-queue.js +163 -0
  223. package/dist/src/daemon/notify-message.d.ts +14 -0
  224. package/dist/src/daemon/notify-message.js +48 -0
  225. package/dist/src/daemon/notify.d.ts +12 -0
  226. package/dist/src/daemon/notify.js +161 -0
  227. package/dist/src/daemon/operation-journal.d.ts +42 -0
  228. package/dist/src/daemon/operation-journal.js +53 -0
  229. package/dist/src/daemon/ticket-registration.d.ts +33 -0
  230. package/dist/src/daemon/ticket-registration.js +177 -0
  231. package/dist/src/daemon/ticket-source.d.ts +17 -0
  232. package/dist/src/daemon/ticket-source.js +36 -0
  233. package/dist/src/daemon/work-tree.d.ts +26 -0
  234. package/dist/src/daemon/work-tree.js +206 -0
  235. package/dist/src/effect-authorization.d.ts +21 -0
  236. package/dist/src/effect-authorization.js +14 -0
  237. package/dist/src/execution-pin.d.ts +4 -0
  238. package/dist/src/execution-pin.js +68 -0
  239. package/dist/src/host/start-delivery.d.ts +41 -0
  240. package/dist/src/host/start-delivery.js +68 -0
  241. package/dist/src/host/step-bridge-host.d.ts +79 -0
  242. package/dist/src/host/step-bridge-host.js +205 -0
  243. package/dist/src/host/step-claims.d.ts +31 -0
  244. package/dist/src/host/step-claims.js +85 -0
  245. package/dist/src/host/world-host.d.ts +21 -0
  246. package/dist/src/host/world-host.js +51 -0
  247. package/dist/src/host/world-reconciliation.d.ts +37 -0
  248. package/dist/src/host/world-reconciliation.js +75 -0
  249. package/dist/src/host/world-runs.d.ts +14 -0
  250. package/dist/src/host/world-runs.js +61 -0
  251. package/dist/src/operation-identity.d.ts +7 -0
  252. package/dist/src/operation-identity.js +59 -0
  253. package/dist/src/protocol.d.ts +35 -0
  254. package/dist/src/protocol.js +64 -0
  255. package/dist/src/resource-files.d.ts +1 -0
  256. package/dist/src/resource-files.js +29 -0
  257. package/dist/src/service/changes.d.ts +11 -0
  258. package/dist/src/service/changes.js +32 -0
  259. package/dist/src/service/decision-handler.d.ts +9 -0
  260. package/dist/src/service/decision-handler.js +233 -0
  261. package/dist/src/service/event-handler.d.ts +10 -0
  262. package/dist/src/service/event-handler.js +70 -0
  263. package/dist/src/service/expiry.d.ts +13 -0
  264. package/dist/src/service/expiry.js +53 -0
  265. package/dist/src/service/gateway.d.ts +21 -0
  266. package/dist/src/service/gateway.js +120 -0
  267. package/dist/src/service/registry.d.ts +40 -0
  268. package/dist/src/service/registry.js +13 -0
  269. package/dist/src/service/replies.d.ts +26 -0
  270. package/dist/src/service/replies.js +56 -0
  271. package/dist/src/service/run-handlers.d.ts +4 -0
  272. package/dist/src/service/run-handlers.js +271 -0
  273. package/dist/src/service/service.d.ts +58 -0
  274. package/dist/src/service/service.js +212 -0
  275. package/dist/src/service/submission-handler.d.ts +4 -0
  276. package/dist/src/service/submission-handler.js +206 -0
  277. package/dist/src/service/transport.d.ts +16 -0
  278. package/dist/src/service/transport.js +141 -0
  279. package/dist/src/service/worker-port.d.ts +85 -0
  280. package/dist/src/service/worker-port.js +126 -0
  281. package/dist/src/step-bridge.d.ts +57 -0
  282. package/dist/src/step-bridge.js +4 -0
  283. package/dist/src/steps/decision-gate.d.ts +2 -0
  284. package/dist/src/steps/decision-gate.js +8 -0
  285. package/dist/src/steps/load-cycle.d.ts +10 -0
  286. package/dist/src/steps/load-cycle.js +11 -0
  287. package/dist/src/steps/protected-effect.d.ts +2 -0
  288. package/dist/src/steps/protected-effect.js +8 -0
  289. package/dist/src/storage/decision-rows.d.ts +54 -0
  290. package/dist/src/storage/decision-rows.js +72 -0
  291. package/dist/src/storage/decision-snapshots.d.ts +17 -0
  292. package/dist/src/storage/decision-snapshots.js +25 -0
  293. package/dist/src/storage/domain-changes.d.ts +48 -0
  294. package/dist/src/storage/domain-changes.js +213 -0
  295. package/dist/src/storage/domain-rows.d.ts +85 -0
  296. package/dist/src/storage/domain-rows.js +129 -0
  297. package/dist/src/storage/domain-schema.d.ts +32 -0
  298. package/dist/src/storage/domain-schema.js +193 -0
  299. package/dist/src/storage/effect-changes.d.ts +5 -0
  300. package/dist/src/storage/effect-changes.js +105 -0
  301. package/dist/src/storage/effect-rows.d.ts +67 -0
  302. package/dist/src/storage/effect-rows.js +74 -0
  303. package/dist/src/storage/effect-schema.d.ts +1 -0
  304. package/dist/src/storage/effect-schema.js +59 -0
  305. package/dist/src/storage/statements.d.ts +9 -0
  306. package/dist/src/storage/statements.js +8 -0
  307. package/dist/src/submission.d.ts +42 -0
  308. package/dist/src/submission.js +71 -0
  309. package/dist/src/turn-profile.d.ts +13 -0
  310. package/dist/src/turn-profile.js +100 -0
  311. package/dist/src/workflow-admission.d.ts +45 -0
  312. package/dist/src/workflow-admission.js +151 -0
  313. package/dist/src/workflow-contracts.d.ts +27 -0
  314. package/dist/src/workflow-contracts.js +88 -0
  315. package/dist/src/workflow-declaration.d.ts +11 -0
  316. package/dist/src/workflow-declaration.js +57 -0
  317. package/dist/src/workflow-resources.d.ts +8 -0
  318. package/dist/src/workflow-resources.js +14 -0
  319. package/dist/src/workflows.d.ts +5 -0
  320. package/dist/src/workflows.js +3 -0
  321. package/dist/tools/compile-workflows.d.ts +1 -0
  322. package/dist/tools/compile-workflows.js +33 -0
  323. package/dist/tools/self-host-processes.d.ts +10 -0
  324. package/dist/tools/self-host-processes.js +151 -0
  325. package/dist/tools/self-host-workflows.d.ts +15 -0
  326. package/dist/tools/self-host-workflows.js +78 -0
  327. package/dist/tools/self-host.d.ts +1 -0
  328. package/dist/tools/self-host.js +261 -0
  329. package/dist/tools/self-update-host.d.ts +6 -0
  330. package/dist/tools/self-update-host.js +41 -0
  331. package/dist/tools/self-update.d.ts +10 -0
  332. package/dist/tools/self-update.js +105 -0
  333. package/dist/tools/workflow-manifest.d.ts +3 -0
  334. package/dist/tools/workflow-manifest.js +34 -0
  335. package/dist/workflows/develop-prd.d.ts +7 -0
  336. package/dist/workflows/develop-prd.js +97 -0
  337. package/dist/workflows/develop-ticket.d.ts +15 -0
  338. package/dist/workflows/develop-ticket.js +301 -0
  339. package/dist/workflows/issue-labels.d.ts +14 -0
  340. package/dist/workflows/issue-labels.js +36 -0
  341. package/package.json +82 -75
  342. package/.DS_Store +0 -0
  343. package/.aider.chat.history.md +0 -16978
  344. package/.aider.input.history +0 -15
  345. package/.aider.tags.cache.v3/cache.db +0 -0
  346. package/.aider.tags.cache.v3/cache.db-shm +0 -0
  347. package/.aider.tags.cache.v3/cache.db-wal +0 -0
  348. package/.cursorrules +0 -77
  349. package/.github/workflows/auto-release.yml +0 -83
  350. package/.github/workflows/ci.yml +0 -32
  351. package/.github/workflows/npm-publish.yml +0 -34
  352. package/.gitignore +0 -67
  353. package/.husky/_/.gitignore +0 -1
  354. package/.husky/_/applypatch-msg +0 -2
  355. package/.husky/_/commit-msg +0 -2
  356. package/.husky/_/h +0 -22
  357. package/.husky/_/husky.sh +0 -9
  358. package/.husky/_/post-applypatch +0 -2
  359. package/.husky/_/post-checkout +0 -2
  360. package/.husky/_/post-commit +0 -2
  361. package/.husky/_/post-merge +0 -2
  362. package/.husky/_/post-rewrite +0 -2
  363. package/.husky/_/pre-applypatch +0 -2
  364. package/.husky/_/pre-auto-gc +0 -2
  365. package/.husky/_/pre-commit +0 -2
  366. package/.husky/_/pre-merge-commit +0 -2
  367. package/.husky/_/pre-push +0 -2
  368. package/.husky/_/pre-rebase +0 -2
  369. package/.husky/_/prepare-commit-msg +0 -2
  370. package/.husky/pre-commit +0 -1
  371. package/.husky/pre-push +0 -1
  372. package/.prettierrc.json +0 -7
  373. package/.tool-versions +0 -2
  374. package/SECURITY.md +0 -15
  375. package/cloving.json +0 -67
  376. package/dist/abstract_gpt/index.js +0 -55
  377. package/dist/cloving_gpt/adapters/Adapter.js +0 -2
  378. package/dist/cloving_gpt/adapters/azureopenai.js +0 -69
  379. package/dist/cloving_gpt/adapters/claude.js +0 -128
  380. package/dist/cloving_gpt/adapters/gemini.js +0 -135
  381. package/dist/cloving_gpt/adapters/gpt4all.js +0 -29
  382. package/dist/cloving_gpt/adapters/index.js +0 -2
  383. package/dist/cloving_gpt/adapters/mistral.js +0 -128
  384. package/dist/cloving_gpt/adapters/ollama.js +0 -128
  385. package/dist/cloving_gpt/adapters/openai.js +0 -100
  386. package/dist/cloving_gpt/index.js +0 -192
  387. package/dist/commands/analyze.js +0 -47
  388. package/dist/commands/chat.js +0 -14
  389. package/dist/commands/check.js +0 -7
  390. package/dist/commands/commit.js +0 -44
  391. package/dist/commands/config.js +0 -167
  392. package/dist/commands/describe.js +0 -235
  393. package/dist/commands/generate/code.js +0 -21
  394. package/dist/commands/generate/commit.js +0 -11
  395. package/dist/commands/generate/context.js +0 -82
  396. package/dist/commands/generate/docs.js +0 -11
  397. package/dist/commands/generate/documentation.js +0 -11
  398. package/dist/commands/generate/fizzbuzz.js +0 -35
  399. package/dist/commands/generate/init.js +0 -15
  400. package/dist/commands/generate/review.js +0 -11
  401. package/dist/commands/generate/sh.js +0 -95
  402. package/dist/commands/generate/shell.js +0 -11
  403. package/dist/commands/generate/unit_tests.js +0 -11
  404. package/dist/commands/init.js +0 -13
  405. package/dist/commands/models.js +0 -22
  406. package/dist/commands/project/build.js +0 -88
  407. package/dist/commands/project/complete.js +0 -12
  408. package/dist/commands/project/init.js +0 -82
  409. package/dist/commands/project/plan.js +0 -108
  410. package/dist/commands/proxy.js +0 -11
  411. package/dist/commands/review.js +0 -50
  412. package/dist/commands/tokens.js +0 -75
  413. package/dist/commands/unit_tests.js +0 -150
  414. package/dist/commands/update.js +0 -7
  415. package/dist/file2.js +0 -4
  416. package/dist/index.js +0 -134
  417. package/dist/managers/BlockManager.js +0 -120
  418. package/dist/managers/ChatManager.js +0 -653
  419. package/dist/managers/ChunkManager.js +0 -32
  420. package/dist/managers/CodeManager.js +0 -185
  421. package/dist/managers/CommitManager.js +0 -64
  422. package/dist/managers/DocsManager.js +0 -88
  423. package/dist/managers/DocumentationManager.js +0 -114
  424. package/dist/managers/InitManager.js +0 -230
  425. package/dist/managers/ProxyManager.js +0 -210
  426. package/dist/managers/ReviewManager.js +0 -131
  427. package/dist/managers/ShellManager.js +0 -163
  428. package/dist/managers/StreamManager.js +0 -308
  429. package/dist/managers/UnitTestManager.js +0 -243
  430. package/dist/managers/src/managers/ProxyManager.js +0 -1
  431. package/dist/newfile.js +0 -2
  432. package/dist/package.json +0 -86
  433. package/dist/utils/command_utils.js +0 -384
  434. package/dist/utils/config_utils.js +0 -249
  435. package/dist/utils/gitUtils.js +0 -42
  436. package/dist/utils/git_utils.js +0 -217
  437. package/dist/utils/modelUtils.js +0 -7
  438. package/dist/utils/model_utils.js +0 -7
  439. package/dist/utils/prompt_utils.js +0 -333
  440. package/dist/utils/prompts/CODEGEN_COULDNT_APPLY.md +0 -5
  441. package/dist/utils/prompts/CODEGEN_EXAMPLES.md +0 -82
  442. package/dist/utils/prompts/CODEGEN_INSTRUCTIONS.md +0 -43
  443. package/dist/utils/prompts/DOCS_INSTRUCTIONS.md +0 -9
  444. package/dist/utils/prompts/INIT_INSTRUCTIONS.md +0 -132
  445. package/dist/utils/prompts/REVIEW_INSTRUCTIONS.md +0 -49
  446. package/dist/utils/prompts/SHELL_INSTRUCTIONS.md +0 -15
  447. package/dist/utils/prompts/SPECIAL_FILES.md +0 -66
  448. package/dist/utils/prompts/index.js +0 -27
  449. package/dist/utils/string_utils.js +0 -505
  450. package/dist/utils/types.js +0 -2
  451. package/jest.config.js +0 -11
  452. package/src/cloving_gpt/adapters/azureopenai.ts +0 -83
  453. package/src/cloving_gpt/adapters/claude.ts +0 -140
  454. package/src/cloving_gpt/adapters/gemini.ts +0 -146
  455. package/src/cloving_gpt/adapters/index.ts +0 -43
  456. package/src/cloving_gpt/adapters/mistral.ts +0 -142
  457. package/src/cloving_gpt/adapters/ollama.ts +0 -136
  458. package/src/cloving_gpt/adapters/openai.ts +0 -113
  459. package/src/cloving_gpt/index.ts +0 -229
  460. package/src/commands/chat.ts +0 -12
  461. package/src/commands/config.ts +0 -192
  462. package/src/commands/generate/code.ts +0 -18
  463. package/src/commands/generate/commit.ts +0 -9
  464. package/src/commands/generate/context.ts +0 -93
  465. package/src/commands/generate/docs.ts +0 -9
  466. package/src/commands/generate/review.ts +0 -9
  467. package/src/commands/generate/shell.ts +0 -9
  468. package/src/commands/generate/unit_tests.ts +0 -9
  469. package/src/commands/init.ts +0 -9
  470. package/src/commands/models.ts +0 -21
  471. package/src/commands/proxy.ts +0 -9
  472. package/src/commands/tokens.ts +0 -82
  473. package/src/index.ts +0 -197
  474. package/src/managers/BlockManager.ts +0 -126
  475. package/src/managers/ChatManager.ts +0 -755
  476. package/src/managers/ChunkManager.ts +0 -31
  477. package/src/managers/CodeManager.ts +0 -226
  478. package/src/managers/CommitManager.ts +0 -71
  479. package/src/managers/DocsManager.ts +0 -101
  480. package/src/managers/InitManager.ts +0 -263
  481. package/src/managers/ProxyManager.ts +0 -240
  482. package/src/managers/ReviewManager.ts +0 -154
  483. package/src/managers/ShellManager.ts +0 -172
  484. package/src/managers/StreamManager.ts +0 -353
  485. package/src/managers/UnitTestManager.ts +0 -293
  486. package/src/utils/config_utils.ts +0 -271
  487. package/src/utils/git_utils.ts +0 -230
  488. package/src/utils/model_utils.ts +0 -3
  489. package/src/utils/prompt_utils.ts +0 -375
  490. package/src/utils/prompts/CODEGEN_COULDNT_APPLY.md +0 -5
  491. package/src/utils/prompts/CODEGEN_EXAMPLES.md +0 -82
  492. package/src/utils/prompts/CODEGEN_INSTRUCTIONS.md +0 -43
  493. package/src/utils/prompts/DOCS_INSTRUCTIONS.md +0 -9
  494. package/src/utils/prompts/INIT_INSTRUCTIONS.md +0 -132
  495. package/src/utils/prompts/REVIEW_INSTRUCTIONS.md +0 -49
  496. package/src/utils/prompts/SHELL_INSTRUCTIONS.md +0 -15
  497. package/src/utils/prompts/SPECIAL_FILES.md +0 -66
  498. package/src/utils/prompts/index.ts +0 -37
  499. package/src/utils/string_utils.ts +0 -552
  500. package/src/utils/types.ts +0 -127
  501. package/tests/commands/generate/unit_tests.test.ts +0 -27
  502. package/tests/utils/git_utils.test.ts +0 -116
  503. package/tests/utils/model_utils.test.ts +0 -27
  504. package/tests/utils/prompt_utils.test.ts +0 -33
  505. package/tests/utils/string_utils.test.ts +0 -560
  506. package/tsconfig.json +0 -14
  507. package/yarn.lock +0 -5823
@@ -0,0 +1,138 @@
1
+ import { evidenceOf } from "../../authority/operations.js";
2
+ import { detailRecord, gateRecord } from "../decision-restore.js";
3
+ import { effectRows } from "../effect-restore.js";
4
+ const unchangedEffects = {
5
+ budgets: [],
6
+ operations: [],
7
+ leases: [],
8
+ evidence: [],
9
+ stops: [],
10
+ };
11
+ export function unchanged(state, closed) {
12
+ return unchangedAt(state.sequence, closed);
13
+ }
14
+ export function unchangedAt(sequence, closed) {
15
+ return {
16
+ previous: sequence,
17
+ sequence,
18
+ definitions: [],
19
+ events: [],
20
+ runs: [],
21
+ commands: [],
22
+ added: [],
23
+ released: [],
24
+ closed,
25
+ gates: [],
26
+ details: [],
27
+ documents: [],
28
+ ...unchangedEffects,
29
+ };
30
+ }
31
+ function columns(row) {
32
+ return Object.fromEntries(Object.entries(row).map(([name, value]) => [
33
+ name.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`),
34
+ value,
35
+ ]));
36
+ }
37
+ function changedEntries(after, before) {
38
+ return Object.fromEntries(Object.entries(after).filter(([key, value]) => before[key] !== value));
39
+ }
40
+ function changed(after, before) {
41
+ return Object.values(changedEntries(after, before));
42
+ }
43
+ function effectDraft(result, before) {
44
+ const { effects } = result.state;
45
+ const rows = effectRows({
46
+ budgets: changedEntries(effects.budgets, before.effects.budgets),
47
+ operations: changedEntries(effects.operations, before.effects.operations),
48
+ leases: changedEntries(effects.leases, before.effects.leases),
49
+ stops: changedEntries(effects.stops, before.effects.stops),
50
+ holding: effects.holding,
51
+ }, result.events.flatMap((event) => evidenceOf(event, result.disposition)));
52
+ return {
53
+ budgets: rows.budgets.map(columns),
54
+ operations: rows.operations.map(columns),
55
+ leases: rows.leases.map(columns),
56
+ evidence: rows.evidence.map(columns),
57
+ stops: rows.stops.map(columns),
58
+ };
59
+ }
60
+ function eventRecord(event) {
61
+ return {
62
+ sequence: event.sequence,
63
+ type: event.type,
64
+ run_id: event.runId,
65
+ command_id: event.commandId,
66
+ recorded_at: event.recordedAt,
67
+ request: event.request,
68
+ payload: JSON.stringify(event.payload),
69
+ };
70
+ }
71
+ export function draft(result, extra) {
72
+ const { state, events, intents } = result;
73
+ const { before, definitions, closed, documents } = extra;
74
+ const touched = new Set(events.map((event) => event.runId));
75
+ const retained = new Set(state.intents.map((intent) => intent.operationId));
76
+ return {
77
+ definitions,
78
+ closed,
79
+ documents,
80
+ ...effectDraft(result, before),
81
+ gates: changed(state.gates, before.gates).map((gate) => columns(gateRecord(gate))),
82
+ details: changed(state.details, before.details).map((details) => columns(detailRecord(details))),
83
+ previous: before.sequence,
84
+ sequence: state.sequence,
85
+ events: events.map(eventRecord),
86
+ runs: Object.values(state.runs)
87
+ .filter((run) => touched.has(run.runId))
88
+ .map((run) => ({
89
+ run_id: run.runId,
90
+ status: run.status,
91
+ revision: run.revision,
92
+ workflow: run.workflow,
93
+ paused_from: run.pausedFrom,
94
+ gates: JSON.stringify(run.gates),
95
+ sequence: state.sequence,
96
+ })),
97
+ commands: events.map((event) => ({
98
+ command_id: event.commandId,
99
+ request: event.request,
100
+ sequence: event.sequence,
101
+ })),
102
+ added: intents.map((intent) => ({
103
+ operation_id: intent.operationId,
104
+ kind: intent.kind,
105
+ run_id: intent.runId,
106
+ created_sequence: state.sequence,
107
+ })),
108
+ released: before.intents
109
+ .filter((intent) => !retained.has(intent.operationId))
110
+ .map((intent) => ({
111
+ operation_id: intent.operationId,
112
+ released_sequence: state.sequence,
113
+ })),
114
+ };
115
+ }
116
+ export function merged(first, later) {
117
+ const drafts = [first, ...later];
118
+ const joined = (name) => drafts.flatMap((draft) => draft[name]);
119
+ return {
120
+ previous: first.previous,
121
+ sequence: later.at(-1)?.sequence ?? first.sequence,
122
+ definitions: joined("definitions"),
123
+ events: joined("events"),
124
+ runs: joined("runs"),
125
+ commands: joined("commands"),
126
+ added: joined("added"),
127
+ released: joined("released"),
128
+ closed: joined("closed"),
129
+ gates: joined("gates"),
130
+ details: joined("details"),
131
+ documents: joined("documents"),
132
+ budgets: joined("budgets"),
133
+ operations: joined("operations"),
134
+ leases: joined("leases"),
135
+ evidence: joined("evidence"),
136
+ stops: joined("stops"),
137
+ };
138
+ }
@@ -0,0 +1,17 @@
1
+ import type { AuthorityCommand } from "../../authority/transitions.ts";
2
+ import type { PlanSettings } from "./authority-settings.ts";
3
+ import { type DeliveryIntent } from "./delivery-intents.ts";
4
+ import type { CommandPlanning, TurnPlan, TurnState } from "./turn-staging.ts";
5
+ export { planDelivery } from "./delivery-plan.ts";
6
+ export type { DeliveryIntent } from "./delivery-intents.ts";
7
+ export type { ChangeDraft, Row } from "./turn-draft.ts";
8
+ export type { CommandPlanning, DeliveryPlanning, DeliveryResult, Document, TurnPlan, TurnRequest, TurnState, } from "./turn-staging.ts";
9
+ export declare function planCommand(planning: CommandPlanning): TurnPlan;
10
+ export declare function documentReferences(command: AuthorityCommand | null): readonly string[];
11
+ export declare function planAdoption(sequence: number): TurnPlan;
12
+ export declare function planRecovery(recovery: {
13
+ readonly turn: TurnState;
14
+ readonly intents: readonly DeliveryIntent[];
15
+ readonly effects: PlanSettings;
16
+ readonly recordedAt: string;
17
+ }): TurnPlan;
@@ -0,0 +1,136 @@
1
+ import { parseCommand } from "../../authority/commands.js";
2
+ import { execute } from "../../authority/reducer.js";
3
+ import { admitted } from "../authority-admission.js";
4
+ import { stageable } from "./delivery-intents.js";
5
+ import { followUps } from "./effect-plan.js";
6
+ import { draft, merged, unchangedAt } from "./turn-draft.js";
7
+ import { refusalOf } from "./turn-refusals.js";
8
+ import { followUp, openAttempts, staged } from "./turn-staging.js";
9
+ export { planDelivery } from "./delivery-plan.js";
10
+ export function planCommand(planning) {
11
+ const { turn, request } = planning;
12
+ const refusal = freshRefusal(planning);
13
+ if (refusal !== undefined)
14
+ return answer(refusal);
15
+ const admission = admitted(turn.state, {
16
+ definitions: turn.definitions,
17
+ command: request.command,
18
+ manifest: request.manifest,
19
+ });
20
+ if (admission.kind === "rejected")
21
+ return answer(admission);
22
+ const missing = missingDocument(planning);
23
+ if (missing !== undefined)
24
+ return answer({
25
+ kind: "rejected",
26
+ reason: "missing-document",
27
+ detail: missing,
28
+ });
29
+ const result = execute(turn.state, request);
30
+ if (result.kind === "duplicate")
31
+ return answer({ ...result, intents: turn.created });
32
+ if (result.kind === "rejected")
33
+ return answer(result);
34
+ const grants = followUps(result.state, {
35
+ recordedAt: request.recordedAt,
36
+ effects: planning.effects,
37
+ blocked: turn.blocked,
38
+ });
39
+ return {
40
+ kind: "commit",
41
+ receipt: {
42
+ kind: "accepted",
43
+ sequence: result.state.sequence,
44
+ intents: result.intents,
45
+ ...(result.disposition === undefined
46
+ ? {}
47
+ : { disposition: result.disposition.disposition }),
48
+ },
49
+ change: merged(draft(result, {
50
+ before: turn.state,
51
+ definitions: [...admission.definitions].map(([pin, manifest]) => ({
52
+ pin,
53
+ manifest: JSON.stringify(manifest),
54
+ })),
55
+ closed: [],
56
+ documents: referencedDocuments(request),
57
+ }), grants.map(followUp)),
58
+ stage: staged(grants.at(-1)?.result.state ?? result.state, {
59
+ held: turn.held,
60
+ results: [result, ...grants.map((step) => step.result)],
61
+ closed: [],
62
+ open: openAttempts(turn, []),
63
+ stop: { ...planning, rows: [] },
64
+ }),
65
+ };
66
+ }
67
+ const documentFields = [
68
+ "submission",
69
+ "input",
70
+ "prompt",
71
+ "answer",
72
+ "payload",
73
+ "result",
74
+ ];
75
+ export function documentReferences(command) {
76
+ if (command === null)
77
+ return [];
78
+ return documentFields
79
+ .map((name) => command[name])
80
+ .filter((digest) => digest !== undefined);
81
+ }
82
+ function referencedDocuments(request) {
83
+ const references = documentReferences(parseCommand(request.command));
84
+ return (request.documents ?? [])
85
+ .filter((document) => references.includes(document.digest))
86
+ .map((document) => ({ digest: document.digest, body: document.body }));
87
+ }
88
+ function missingDocument(planning) {
89
+ const { turn, request } = planning;
90
+ const command = parseCommand(request.command);
91
+ if (command === null || turn.state.commands[command.commandId] !== undefined)
92
+ return undefined;
93
+ const given = new Set((request.documents ?? []).map((document) => document.digest));
94
+ return documentReferences(command).find((digest) => !given.has(digest) && !turn.documents.has(digest));
95
+ }
96
+ function freshRefusal(planning) {
97
+ const { turn, request, epoch } = planning;
98
+ const command = parseCommand(request.command);
99
+ if (command === null || turn.state.commands[command.commandId] !== undefined)
100
+ return undefined;
101
+ const reason = refusalOf({
102
+ command,
103
+ recordedAt: request.recordedAt,
104
+ given: request.epoch,
105
+ epoch,
106
+ });
107
+ return reason === undefined ? undefined : { kind: "rejected", reason };
108
+ }
109
+ export function planAdoption(sequence) {
110
+ return {
111
+ kind: "commit",
112
+ receipt: { kind: "adopted", sequence },
113
+ change: { ...unchangedAt(sequence, []), completes_adoption: true },
114
+ stage: [],
115
+ };
116
+ }
117
+ export function planRecovery(recovery) {
118
+ const { turn, intents } = recovery;
119
+ const grants = followUps(turn.state, { ...recovery, blocked: new Map() });
120
+ const stage = [
121
+ ...intents,
122
+ ...stageable(grants.at(-1)?.result.state ?? turn.state, new Set(intents.map((intent) => intent.operationId))),
123
+ ];
124
+ const receipt = { kind: "recovered", staged: stage.length };
125
+ if (stage.length === 0 && grants.length === 0)
126
+ return answer(receipt);
127
+ return {
128
+ kind: "commit",
129
+ receipt,
130
+ change: merged(unchangedAt(turn.state.sequence, []), grants.map(followUp)),
131
+ stage,
132
+ };
133
+ }
134
+ function answer(receipt) {
135
+ return { kind: "answer", receipt };
136
+ }
@@ -0,0 +1,8 @@
1
+ import type { AuthorityCommand } from "../../authority/transitions.ts";
2
+ export interface Fresh {
3
+ readonly command: AuthorityCommand;
4
+ readonly recordedAt: string;
5
+ readonly given: number | undefined;
6
+ readonly epoch: number;
7
+ }
8
+ export declare function refusalOf(fresh: Fresh): string | undefined;
@@ -0,0 +1,35 @@
1
+ import { isInstant } from "../../authority/instants.js";
2
+ import { operationDigest } from "../operation-digest.js";
3
+ const expiryPrefix = "expire-lease:";
4
+ function scanned(command) {
5
+ const expiry = command.kind === "expire-lease";
6
+ if (!expiry)
7
+ return !command.commandId.startsWith(expiryPrefix);
8
+ const digest = operationDigest(String(command.operationId));
9
+ const generation = String(command.leaseGeneration);
10
+ return command.commandId === `${expiryPrefix}${digest}:${generation}`;
11
+ }
12
+ const planKinds = ["record-dispatch", "grant-lease", "record-outcome"];
13
+ const planPrefixes = ["lease:", "outcome:", "dispatch:"];
14
+ const workerKinds = ["request-effect", "report-effect"];
15
+ const timedKinds = [...workerKinds, "expire-lease"];
16
+ const rules = [
17
+ ["stale-epoch", ({ given, epoch }) => given !== undefined && given !== epoch],
18
+ [
19
+ "delivery-owned-command",
20
+ ({ command }) => planKinds.includes(command.kind) ||
21
+ planPrefixes.some((prefix) => command.commandId.startsWith(prefix)),
22
+ ],
23
+ ["delivery-owned-command", ({ command }) => !scanned(command)],
24
+ [
25
+ "missing-epoch",
26
+ ({ command, given }) => workerKinds.includes(command.kind) && given === undefined,
27
+ ],
28
+ [
29
+ "invalid-recorded-time",
30
+ ({ command, recordedAt }) => timedKinds.includes(command.kind) && !isInstant(recordedAt),
31
+ ],
32
+ ];
33
+ export function refusalOf(fresh) {
34
+ return rules.find(([, applies]) => applies(fresh))?.[0];
35
+ }
@@ -0,0 +1,78 @@
1
+ import type { AuthorityState, EffectIntent } from "../../authority/reducer.ts";
2
+ import type { ExecutionManifest } from "../../workflow-admission.ts";
3
+ import type { Definitions } from "../authority-admission.ts";
4
+ import type { PlanSettings } from "./authority-settings.ts";
5
+ import { type DeliveryIntent } from "./delivery-intents.ts";
6
+ import { type Reconciling, type Step } from "./effect-plan.ts";
7
+ import { type ClosedRow } from "./stop-plan.ts";
8
+ import type { Stopping } from "./stop-turn.ts";
9
+ import { type ChangeDraft, type Row } from "./turn-draft.ts";
10
+ export interface TurnState {
11
+ readonly state: AuthorityState;
12
+ readonly definitions: Definitions;
13
+ readonly held: ReadonlySet<string>;
14
+ readonly blocked: ReadonlyMap<string, string>;
15
+ readonly stopping: Stopping;
16
+ readonly runId: string;
17
+ readonly created: readonly EffectIntent[];
18
+ readonly documents: ReadonlySet<string>;
19
+ }
20
+ export interface Document {
21
+ readonly digest: string;
22
+ readonly body: string;
23
+ }
24
+ export interface TurnRequest {
25
+ readonly command: unknown;
26
+ readonly recordedAt: string;
27
+ readonly manifest?: ExecutionManifest;
28
+ readonly epoch?: number;
29
+ readonly documents?: readonly Document[];
30
+ }
31
+ export type TurnPlan = {
32
+ readonly kind: "answer";
33
+ readonly receipt: Row;
34
+ } | {
35
+ readonly kind: "commit";
36
+ readonly receipt: Row;
37
+ readonly change: ChangeDraft;
38
+ readonly stage: readonly DeliveryIntent[];
39
+ };
40
+ export interface DeliveryResult {
41
+ readonly effectId: string;
42
+ readonly operationId: string;
43
+ readonly runId: string;
44
+ readonly intent: EffectIntent["kind"];
45
+ readonly leaseGeneration: number | null;
46
+ readonly purpose: string;
47
+ readonly attempts: number;
48
+ readonly outcome: "sent" | "withheld" | "blocked" | "thrown" | "failed" | "accepted" | "refused" | "completed" | "stopped" | "unknown" | "absent";
49
+ readonly receipt: string | null;
50
+ readonly worker: string | null;
51
+ readonly result: string | null;
52
+ readonly reason: string | null;
53
+ readonly epoch: number;
54
+ readonly recordedAt: string;
55
+ }
56
+ export interface CommandPlanning {
57
+ readonly turn: TurnState;
58
+ readonly request: TurnRequest;
59
+ readonly epoch: number;
60
+ readonly effects: PlanSettings;
61
+ }
62
+ export interface DeliveryPlanning {
63
+ readonly turn: TurnState;
64
+ readonly delivery: DeliveryResult;
65
+ readonly epoch: number;
66
+ readonly effects: PlanSettings;
67
+ }
68
+ export declare function openAttempts(turn: TurnState, closed: readonly string[]): ReadonlySet<string>;
69
+ export interface Staging extends Reconciling {
70
+ readonly held: ReadonlySet<string>;
71
+ readonly stop: {
72
+ readonly turn: TurnState;
73
+ readonly effects: PlanSettings;
74
+ readonly rows: readonly ClosedRow[];
75
+ };
76
+ }
77
+ export declare function staged(state: AuthorityState, staging: Staging): readonly DeliveryIntent[];
78
+ export declare function followUp(step: Step): ChangeDraft;
@@ -0,0 +1,34 @@
1
+ import { stageable } from "./delivery-intents.js";
2
+ import { reconciliations, rejectedReports, } from "./effect-plan.js";
3
+ import { stopIntents } from "./stop-plan.js";
4
+ import { draft } from "./turn-draft.js";
5
+ export function openAttempts(turn, closed) {
6
+ return new Set([...turn.held].filter((operation) => !turn.blocked.has(operation) && !closed.includes(operation)));
7
+ }
8
+ export function staged(state, staging) {
9
+ const { turn, effects, rows } = staging.stop;
10
+ return [
11
+ ...stageable(state, staging.held),
12
+ ...reconciliations(state, staging),
13
+ ...stopIntents(state, {
14
+ stopping: turn.stopping,
15
+ runId: turn.runId,
16
+ closed: rows,
17
+ cancelledNow: staging.results.flatMap((result) => result.events
18
+ .filter((event) => event.type === "run.cancelled")
19
+ .map((event) => event.sequence)),
20
+ stopLimit: effects.stopLimit,
21
+ stopSupported: effects.stopSupported,
22
+ opening: false,
23
+ rejected: rejectedReports(staging.results),
24
+ }),
25
+ ];
26
+ }
27
+ export function followUp(step) {
28
+ return draft(step.result, {
29
+ before: step.before,
30
+ definitions: [],
31
+ closed: [],
32
+ documents: [],
33
+ });
34
+ }
@@ -0,0 +1,34 @@
1
+ import type { EffectIntent } from "../../authority/reducer.ts";
2
+ import { type DeliveryRow, type SqlConnection } from "../../storage/domain-rows.ts";
3
+ import { type DeliveryIntent } from "./delivery-intents.ts";
4
+ import { type TurnState } from "./turn-plan.ts";
5
+ export declare function commandTurn(connection: SqlConnection, scope: {
6
+ readonly command: unknown;
7
+ readonly sequence: number;
8
+ readonly capacity: number;
9
+ }): Promise<TurnState>;
10
+ export declare function stopRecoveries(connection: SqlConnection, rule: {
11
+ readonly capacity: number;
12
+ readonly stopLimit: number;
13
+ readonly stopSupported: boolean;
14
+ }): Promise<readonly DeliveryIntent[]>;
15
+ export declare function recoveryTurn(connection: SqlConnection, scope: {
16
+ readonly sequence: number;
17
+ readonly capacity: number;
18
+ }): Promise<TurnState>;
19
+ export declare const recoveryBatch = 100;
20
+ export declare function adoptionTurn(connection: SqlConnection): Promise<number>;
21
+ export declare function recoverableIntents(connection: SqlConnection): Promise<readonly DeliveryIntent[]>;
22
+ export interface DeliveryTurn {
23
+ readonly delivery: DeliveryRow;
24
+ readonly runId: string;
25
+ readonly intent: EffectIntent["kind"];
26
+ readonly leaseGeneration: number | null;
27
+ readonly purpose: string;
28
+ readonly turn: TurnState;
29
+ }
30
+ export declare function deliveryTurn(connection: SqlConnection, scope: {
31
+ readonly effectId: string;
32
+ readonly sequence: number;
33
+ readonly capacity: number;
34
+ }): Promise<DeliveryTurn | undefined>;