@astrosheep/keiyaku 2.9.12 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (655) hide show
  1. package/README.md +10 -126
  2. package/build/integrations/marketplace/.agents/plugins/marketplace.json +12 -0
  3. package/build/integrations/marketplace/.claude-plugin/marketplace.json +5 -0
  4. package/build/integrations/marketplace/plugins/keiyaku/.claude-plugin/plugin.json +7 -0
  5. package/build/integrations/marketplace/plugins/keiyaku/.codex-plugin/plugin.json +18 -0
  6. package/build/integrations/marketplace/plugins/keiyaku/opencode.js +16 -0
  7. package/build/integrations/marketplace/plugins/keiyaku/package.json +8 -0
  8. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku/SKILL.md +34 -0
  9. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-akuma/SKILL.md +50 -0
  10. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-task/SKILL.md +62 -0
  11. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-workflow/SKILL.md +72 -0
  12. package/build/src/akuma/activity.d.ts +66 -0
  13. package/build/src/akuma/activity.js +139 -0
  14. package/build/src/akuma/akuma.d.ts +116 -0
  15. package/build/src/akuma/akuma.js +382 -0
  16. package/build/src/akuma/archetype.d.ts +31 -0
  17. package/build/src/akuma/archetype.js +188 -0
  18. package/build/src/akuma/body.d.ts +20 -0
  19. package/build/src/akuma/body.js +305 -0
  20. package/build/src/akuma/heart/facts.d.ts +150 -0
  21. package/build/src/akuma/heart/facts.js +9 -0
  22. package/build/src/akuma/heart/index.d.ts +78 -0
  23. package/build/src/akuma/heart/index.js +361 -0
  24. package/build/src/akuma/heart/rows.d.ts +189 -0
  25. package/build/src/akuma/heart/rows.js +319 -0
  26. package/build/src/akuma/heart/schema.d.ts +5 -0
  27. package/build/src/akuma/heart/schema.js +113 -0
  28. package/build/src/akuma/identity.d.ts +46 -0
  29. package/build/src/akuma/identity.js +89 -0
  30. package/build/src/akuma/index.d.ts +7 -0
  31. package/build/src/akuma/index.js +3 -0
  32. package/build/src/akuma/provider.d.ts +123 -0
  33. package/build/src/akuma/provider.js +235 -0
  34. package/build/src/akuma/providers/claude.d.ts +84 -0
  35. package/build/src/akuma/providers/claude.js +305 -0
  36. package/build/src/akuma/providers/codex-app-server/events.d.ts +110 -0
  37. package/build/src/akuma/providers/codex-app-server/events.js +337 -0
  38. package/build/src/akuma/providers/codex-app-server/index.d.ts +27 -0
  39. package/build/src/akuma/providers/codex-app-server/index.js +162 -0
  40. package/build/src/akuma/providers/index.d.ts +4 -0
  41. package/build/src/akuma/providers/index.js +71 -0
  42. package/build/src/akuma/publication.d.ts +10 -0
  43. package/build/src/akuma/publication.js +107 -0
  44. package/build/src/akuma/requests.d.ts +46 -0
  45. package/build/src/akuma/requests.js +388 -0
  46. package/build/src/alias/index.d.ts +17 -0
  47. package/build/src/alias/index.js +104 -0
  48. package/build/src/body/amend.d.ts +2 -0
  49. package/build/src/body/amend.js +289 -0
  50. package/build/src/body/arc.d.ts +2 -0
  51. package/build/src/body/arc.js +54 -0
  52. package/build/src/body/decode.d.ts +4 -0
  53. package/build/src/body/decode.js +146 -0
  54. package/build/src/body/keys.d.ts +4 -0
  55. package/build/src/body/keys.js +11 -0
  56. package/build/src/body/region.d.ts +6 -0
  57. package/build/src/body/region.js +139 -0
  58. package/build/src/body/render.d.ts +4 -0
  59. package/build/src/body/render.js +73 -0
  60. package/build/src/body/shape.d.ts +29 -0
  61. package/build/src/body/shape.js +16 -0
  62. package/build/src/body/types.d.ts +28 -0
  63. package/build/src/body/verification.d.ts +7 -0
  64. package/build/src/body/verification.js +25 -0
  65. package/build/src/cli/accepted.d.ts +16 -0
  66. package/build/src/cli/accepted.js +65 -0
  67. package/build/src/cli/actor.d.ts +8 -0
  68. package/build/src/cli/actor.js +11 -0
  69. package/build/src/cli/commands/akuma-invoke.d.ts +53 -0
  70. package/build/src/cli/commands/akuma-invoke.js +68 -0
  71. package/build/src/cli/commands/akuma.d.ts +42 -0
  72. package/build/src/cli/commands/akuma.js +224 -0
  73. package/build/src/cli/commands/amend.d.ts +13 -0
  74. package/build/src/cli/commands/amend.js +13 -0
  75. package/build/src/cli/commands/bind.d.ts +12 -0
  76. package/build/src/cli/commands/bind.js +17 -0
  77. package/build/src/cli/commands/install.d.ts +25 -0
  78. package/build/src/cli/commands/install.js +103 -0
  79. package/build/src/cli/commands/task-invoke.d.ts +9 -0
  80. package/build/src/cli/commands/task-invoke.js +92 -0
  81. package/build/src/cli/commands/task.d.ts +16 -0
  82. package/build/src/cli/commands/task.js +144 -0
  83. package/build/src/cli/index.d.ts +2 -0
  84. package/build/src/cli/index.js +3 -0
  85. package/build/src/cli/invoke.d.ts +17 -0
  86. package/build/src/cli/invoke.js +265 -0
  87. package/build/src/cli/main.d.ts +1 -0
  88. package/build/src/cli/main.js +79 -0
  89. package/build/src/cli/parse.d.ts +210 -0
  90. package/build/src/cli/parse.js +375 -0
  91. package/build/src/cli/render/akuma-tool.d.ts +11 -0
  92. package/build/src/cli/render/akuma-tool.js +68 -0
  93. package/build/src/cli/render/akuma.d.ts +6 -0
  94. package/build/src/cli/render/akuma.js +254 -0
  95. package/build/src/cli/render/board.d.ts +2 -0
  96. package/build/src/cli/render/board.js +4 -0
  97. package/build/src/cli/render/contract.d.ts +4 -0
  98. package/build/src/cli/render/contract.js +69 -0
  99. package/build/src/cli/render/kanshi.d.ts +3 -0
  100. package/build/src/cli/render/kanshi.js +204 -0
  101. package/build/src/cli/render/refusal.d.ts +2 -0
  102. package/build/src/cli/render/refusal.js +4 -0
  103. package/build/src/cli/render/settings.d.ts +3 -0
  104. package/build/src/cli/render/settings.js +30 -0
  105. package/build/src/cli/render/task.d.ts +6 -0
  106. package/build/src/cli/render/task.js +105 -0
  107. package/build/src/cli/render/terminal.d.ts +10 -0
  108. package/build/src/cli/render/terminal.js +76 -0
  109. package/build/src/cli/render/text.d.ts +3 -0
  110. package/build/src/cli/render/text.js +15 -0
  111. package/build/src/cli/result.d.ts +55 -0
  112. package/build/src/cli/selectors.d.ts +9 -0
  113. package/build/src/cli/selectors.js +66 -0
  114. package/build/src/cli/usage.d.ts +6 -0
  115. package/build/src/cli/usage.js +19 -0
  116. package/build/src/context-root.d.ts +4 -0
  117. package/build/src/context-root.js +15 -0
  118. package/build/src/coordination/durable-file.d.ts +1 -0
  119. package/build/src/coordination/durable-file.js +36 -0
  120. package/build/src/coordination/sqlite-transaction-lock.d.ts +14 -0
  121. package/build/src/coordination/sqlite-transaction-lock.js +119 -0
  122. package/build/src/core/decide.d.ts +45 -0
  123. package/build/src/core/facts/codec.d.ts +3 -0
  124. package/build/src/core/facts/codec.js +258 -0
  125. package/build/src/core/facts/eligibility.d.ts +16 -0
  126. package/build/src/core/facts/eligibility.js +75 -0
  127. package/build/src/core/facts/errors.d.ts +3 -0
  128. package/build/src/core/facts/errors.js +6 -0
  129. package/build/src/core/facts/fold.d.ts +2 -0
  130. package/build/src/core/facts/fold.js +97 -0
  131. package/build/src/core/facts/gate.d.ts +24 -0
  132. package/build/src/core/facts/gate.js +52 -0
  133. package/build/src/core/facts/observation.d.ts +12 -0
  134. package/build/src/core/facts/observation.js +23 -0
  135. package/build/src/core/facts/offer.d.ts +21 -0
  136. package/build/src/core/facts/types.d.ts +130 -0
  137. package/build/src/core/facts/types.js +66 -0
  138. package/build/src/core/subject.d.ts +21 -0
  139. package/build/src/core/subject.js +89 -0
  140. package/build/src/core/verbs/abandon.d.ts +13 -0
  141. package/build/src/core/verbs/abandon.js +17 -0
  142. package/build/src/core/verbs/amend.d.ts +14 -0
  143. package/build/src/core/verbs/amend.js +56 -0
  144. package/build/src/core/verbs/arc.d.ts +13 -0
  145. package/build/src/core/verbs/arc.js +25 -0
  146. package/build/src/core/verbs/attestation.d.ts +13 -0
  147. package/build/src/core/verbs/attestation.js +21 -0
  148. package/build/src/core/verbs/bind.d.ts +13 -0
  149. package/build/src/core/verbs/bind.js +40 -0
  150. package/build/src/core/verbs/deliver.d.ts +13 -0
  151. package/build/src/core/verbs/deliver.js +26 -0
  152. package/build/src/core/verbs/placement.d.ts +13 -0
  153. package/build/src/core/verbs/placement.js +42 -0
  154. package/build/src/dispatch/index.d.ts +31 -0
  155. package/build/src/dispatch/index.js +159 -0
  156. package/build/src/git/admission.d.ts +18 -0
  157. package/build/src/git/admission.js +116 -0
  158. package/build/src/git/delivery.d.ts +20 -0
  159. package/build/src/git/delivery.js +109 -0
  160. package/build/src/git/hooks.d.ts +34 -0
  161. package/build/src/git/hooks.js +258 -0
  162. package/build/src/git/identity.d.ts +13 -0
  163. package/build/src/git/identity.js +28 -0
  164. package/build/src/git/observe.d.ts +38 -0
  165. package/build/src/git/observe.js +227 -0
  166. package/build/src/git/reconcile.d.ts +49 -0
  167. package/build/src/git/reconcile.js +223 -0
  168. package/build/src/git/repository.d.ts +80 -0
  169. package/build/src/git/repository.js +456 -0
  170. package/build/src/git/tree.d.ts +34 -0
  171. package/build/src/git/tree.js +112 -0
  172. package/build/src/git/verification.d.ts +14 -0
  173. package/build/src/git/verification.js +56 -0
  174. package/build/src/identity/coordinates.d.ts +9 -0
  175. package/build/src/identity/coordinates.js +20 -0
  176. package/build/src/identity/normalize.d.ts +8 -0
  177. package/build/src/identity/normalize.js +45 -0
  178. package/build/src/identity/selector.d.ts +6 -0
  179. package/build/src/identity/selector.js +7 -0
  180. package/build/src/index.d.ts +4 -0
  181. package/build/src/index.js +2 -0
  182. package/build/src/kanshi/index.d.ts +5 -0
  183. package/build/src/kanshi/index.js +2 -0
  184. package/build/src/kanshi/read.d.ts +5 -0
  185. package/build/src/kanshi/read.js +100 -0
  186. package/build/src/kanshi/report.d.ts +35 -0
  187. package/build/src/kanshi/select.d.ts +8 -0
  188. package/build/src/kanshi/select.js +21 -0
  189. package/build/src/library/akuma-creation.d.ts +79 -0
  190. package/build/src/library/akuma-creation.js +151 -0
  191. package/build/src/library/configuration.d.ts +26 -0
  192. package/build/src/library/configuration.js +100 -0
  193. package/build/src/library/contract.d.ts +145 -0
  194. package/build/src/library/contract.js +325 -0
  195. package/build/src/library/input.d.ts +13 -0
  196. package/build/src/library/input.js +82 -0
  197. package/build/src/library/keiyaku.d.ts +28 -0
  198. package/build/src/library/keiyaku.js +16 -0
  199. package/build/src/library/region.d.ts +17 -0
  200. package/build/src/library/region.js +30 -0
  201. package/build/src/library/repo.d.ts +33 -0
  202. package/build/src/library/repo.js +61 -0
  203. package/build/src/markdown/diff.d.ts +1 -0
  204. package/build/src/markdown/diff.js +4 -0
  205. package/build/src/markdown/lex.d.ts +3 -0
  206. package/build/src/markdown/lex.js +221 -0
  207. package/build/src/markdown/parse.d.ts +2 -0
  208. package/build/src/markdown/parse.js +221 -0
  209. package/build/src/markdown/query.d.ts +21 -0
  210. package/build/src/markdown/query.js +51 -0
  211. package/build/src/markdown/types.d.ts +118 -0
  212. package/build/src/markdown/types.js +6 -0
  213. package/build/src/protocol/attempt.d.ts +36 -0
  214. package/build/src/protocol/attempt.js +119 -0
  215. package/build/src/protocol/bind.d.ts +25 -0
  216. package/build/src/protocol/bind.js +62 -0
  217. package/build/src/protocol/intent.d.ts +52 -0
  218. package/build/src/protocol/intent.js +129 -0
  219. package/build/src/protocol/operations.d.ts +140 -0
  220. package/build/src/protocol/operations.js +373 -0
  221. package/build/src/protocol/outcome.d.ts +18 -0
  222. package/build/src/protocol/outcome.js +15 -0
  223. package/build/src/protocol/read/audit.d.ts +25 -0
  224. package/build/src/protocol/read/audit.js +39 -0
  225. package/build/src/protocol/read/documents.d.ts +8 -0
  226. package/build/src/protocol/read/documents.js +16 -0
  227. package/build/src/protocol/read/status.d.ts +38 -0
  228. package/build/src/protocol/read/status.js +47 -0
  229. package/build/src/protocol/run.d.ts +39 -0
  230. package/build/src/protocol/run.js +36 -0
  231. package/build/src/runtime/proc/line-rpc.d.ts +37 -0
  232. package/build/src/runtime/proc/line-rpc.js +124 -0
  233. package/build/src/runtime/proc/run.d.ts +54 -0
  234. package/build/src/runtime/proc/run.js +200 -0
  235. package/build/src/settings.d.ts +45 -0
  236. package/build/src/settings.js +99 -0
  237. package/build/src/settlement/holder.d.ts +15 -0
  238. package/build/src/settlement/holder.js +113 -0
  239. package/build/src/settlement/settle.d.ts +36 -0
  240. package/build/src/settlement/settle.js +91 -0
  241. package/build/src/task/board.d.ts +65 -0
  242. package/build/src/task/board.js +155 -0
  243. package/build/src/task/compose.d.ts +25 -0
  244. package/build/src/task/compose.js +232 -0
  245. package/build/src/task/context.d.ts +4 -0
  246. package/build/src/task/context.js +56 -0
  247. package/build/src/task/document.d.ts +24 -0
  248. package/build/src/task/document.js +118 -0
  249. package/build/src/task/identity.d.ts +12 -0
  250. package/build/src/task/identity.js +47 -0
  251. package/build/src/task/index.d.ts +90 -0
  252. package/build/src/task/index.js +179 -0
  253. package/build/src/task/operations.d.ts +115 -0
  254. package/build/src/task/operations.js +194 -0
  255. package/build/src/task/store.d.ts +22 -0
  256. package/build/src/task/store.js +114 -0
  257. package/build/src/verification/declaration.d.ts +22 -0
  258. package/build/src/verification/declaration.js +14 -0
  259. package/build/src/verification/producer.d.ts +23 -0
  260. package/build/src/verification/producer.js +54 -0
  261. package/package.json +62 -44
  262. package/build/.tsbuildinfo +0 -1
  263. package/build/agents/call-terms.js +0 -31
  264. package/build/agents/harness/activity-values.js +0 -70
  265. package/build/agents/harness/control-types.js +0 -18
  266. package/build/agents/harness/event-channel.js +0 -213
  267. package/build/agents/harness/event-persistence.js +0 -220
  268. package/build/agents/harness/events.js +0 -48
  269. package/build/agents/harness/execution-handle.js +0 -172
  270. package/build/agents/harness/index.js +0 -11
  271. package/build/agents/harness/outcome-error.js +0 -81
  272. package/build/agents/harness/outcome.js +0 -220
  273. package/build/agents/harness/projection.js +0 -369
  274. package/build/agents/harness/provider-adapter.js +0 -58
  275. package/build/agents/harness/router.js +0 -30
  276. package/build/agents/harness/runtime.js +0 -85
  277. package/build/agents/harness/session.js +0 -15
  278. package/build/agents/launch-snapshot/model.js +0 -127
  279. package/build/agents/launch-snapshot/parse-helpers.js +0 -114
  280. package/build/agents/launch-snapshot/resolve.js +0 -46
  281. package/build/agents/opencode-sdk.js +0 -159
  282. package/build/agents/providers/claude-agent-sdk/adapter.js +0 -396
  283. package/build/agents/providers/claude-agent-sdk/events.js +0 -218
  284. package/build/agents/providers/claude-agent-sdk/registration.js +0 -225
  285. package/build/agents/providers/claude-agent-sdk/session-schema.js +0 -2
  286. package/build/agents/providers/claude-agent-sdk/session.js +0 -172
  287. package/build/agents/providers/codex-app-server/adapter.js +0 -387
  288. package/build/agents/providers/codex-app-server/events.js +0 -492
  289. package/build/agents/providers/codex-app-server/identity.js +0 -1
  290. package/build/agents/providers/codex-app-server/policy.js +0 -29
  291. package/build/agents/providers/codex-app-server/registration.js +0 -259
  292. package/build/agents/providers/codex-app-server/session-schema.js +0 -6
  293. package/build/agents/providers/codex-app-server/session.js +0 -273
  294. package/build/agents/providers/event-type-tail.js +0 -16
  295. package/build/agents/providers/opencode-sdk/adapter.js +0 -402
  296. package/build/agents/providers/opencode-sdk/events.js +0 -380
  297. package/build/agents/providers/opencode-sdk/registration.js +0 -146
  298. package/build/agents/providers/opencode-sdk/session-schema.js +0 -2
  299. package/build/agents/providers/opencode-sdk/session.js +0 -187
  300. package/build/agents/providers/pi/adapter.js +0 -285
  301. package/build/agents/providers/pi/checkpoint.js +0 -49
  302. package/build/agents/providers/pi/events.js +0 -285
  303. package/build/agents/providers/pi/registration.js +0 -160
  304. package/build/agents/providers/pi/session-schema.js +0 -6
  305. package/build/agents/providers/registration.js +0 -7
  306. package/build/agents/providers/registry.js +0 -76
  307. package/build/agents/selector.js +0 -120
  308. package/build/agents/session.js +0 -29
  309. package/build/agents/string-tail-buffer.js +0 -44
  310. package/build/agents/types.js +0 -30
  311. package/build/artifact-directories.js +0 -22
  312. package/build/cli/commands/akuma/akuma/handler.js +0 -4
  313. package/build/cli/commands/akuma/akuma/meta.js +0 -16
  314. package/build/cli/commands/akuma/catalog.js +0 -8
  315. package/build/cli/commands/akuma/list/handler.js +0 -15
  316. package/build/cli/commands/akuma/list/meta-ls.js +0 -9
  317. package/build/cli/commands/akuma/show/handler.js +0 -27
  318. package/build/cli/commands/akuma/show/meta.js +0 -8
  319. package/build/cli/commands/akuma.js +0 -181
  320. package/build/cli/commands/contract/amend/handler.js +0 -17
  321. package/build/cli/commands/contract/amend/meta.js +0 -12
  322. package/build/cli/commands/contract/arc/handler.js +0 -16
  323. package/build/cli/commands/contract/arc/meta.js +0 -26
  324. package/build/cli/commands/contract/audit/handler.js +0 -16
  325. package/build/cli/commands/contract/audit/meta.js +0 -16
  326. package/build/cli/commands/contract/bind/handler.js +0 -39
  327. package/build/cli/commands/contract/bind/meta.js +0 -96
  328. package/build/cli/commands/contract/catalog.js +0 -18
  329. package/build/cli/commands/contract/forfeit/handler.js +0 -17
  330. package/build/cli/commands/contract/forfeit/meta.js +0 -12
  331. package/build/cli/commands/contract/log/handler.js +0 -12
  332. package/build/cli/commands/contract/log/meta.js +0 -12
  333. package/build/cli/commands/contract/petition/handler.js +0 -63
  334. package/build/cli/commands/contract/petition/meta.js +0 -23
  335. package/build/cli/commands/contract/renew/handler.js +0 -24
  336. package/build/cli/commands/contract/renew/meta.js +0 -18
  337. package/build/cli/commands/metadata.js +0 -65
  338. package/build/cli/commands/projection/call/handler.js +0 -43
  339. package/build/cli/commands/projection/call/meta.js +0 -12
  340. package/build/cli/commands/projection/catalog.js +0 -16
  341. package/build/cli/commands/projection/history/handler.js +0 -21
  342. package/build/cli/commands/projection/history/meta.js +0 -9
  343. package/build/cli/commands/projection/kill/handler.js +0 -20
  344. package/build/cli/commands/projection/kill/meta.js +0 -11
  345. package/build/cli/commands/projection/revive/handler.js +0 -56
  346. package/build/cli/commands/projection/revive/meta.js +0 -12
  347. package/build/cli/commands/projection/shared.js +0 -27
  348. package/build/cli/commands/projection/status/handler.js +0 -26
  349. package/build/cli/commands/projection/status/meta.js +0 -9
  350. package/build/cli/commands/projection/tell/handler.js +0 -28
  351. package/build/cli/commands/projection/tell/meta.js +0 -12
  352. package/build/cli/commands/projection/wait/handler.js +0 -55
  353. package/build/cli/commands/projection/wait/meta.js +0 -16
  354. package/build/cli/commands/registry.js +0 -48
  355. package/build/cli/commands/shared.js +0 -74
  356. package/build/cli/commands/skills/catalog.js +0 -6
  357. package/build/cli/commands/skills/install/handler.js +0 -7
  358. package/build/cli/commands/skills/install/meta.js +0 -9
  359. package/build/cli/commands/skills/skills/handler.js +0 -4
  360. package/build/cli/commands/skills/skills/meta.js +0 -10
  361. package/build/cli/commands/system/catalog.js +0 -8
  362. package/build/cli/commands/system/completion/handler.js +0 -10
  363. package/build/cli/commands/system/completion/meta.js +0 -9
  364. package/build/cli/commands/system/dump-env/handler.js +0 -3
  365. package/build/cli/commands/system/dump-env/meta.js +0 -10
  366. package/build/cli/commands/system/guide/handler.js +0 -4
  367. package/build/cli/commands/system/guide/meta.js +0 -9
  368. package/build/cli/commands/task/add/handler.js +0 -22
  369. package/build/cli/commands/task/add/meta.js +0 -19
  370. package/build/cli/commands/task/catalog.js +0 -30
  371. package/build/cli/commands/task/compose/handler.js +0 -18
  372. package/build/cli/commands/task/compose/meta.js +0 -10
  373. package/build/cli/commands/task/doctor/handler.js +0 -4
  374. package/build/cli/commands/task/doctor/meta.js +0 -8
  375. package/build/cli/commands/task/done/handler.js +0 -10
  376. package/build/cli/commands/task/done/meta.js +0 -8
  377. package/build/cli/commands/task/drop/handler.js +0 -3
  378. package/build/cli/commands/task/drop/meta.js +0 -8
  379. package/build/cli/commands/task/hold/handler.js +0 -3
  380. package/build/cli/commands/task/hold/meta.js +0 -8
  381. package/build/cli/commands/task/log/handler.js +0 -12
  382. package/build/cli/commands/task/log/meta.js +0 -8
  383. package/build/cli/commands/task/ls/handler.js +0 -17
  384. package/build/cli/commands/task/ls/meta.js +0 -8
  385. package/build/cli/commands/task/resume/handler.js +0 -3
  386. package/build/cli/commands/task/resume/meta.js +0 -8
  387. package/build/cli/commands/task/shared.js +0 -167
  388. package/build/cli/commands/task/show/handler.js +0 -13
  389. package/build/cli/commands/task/show/meta.js +0 -8
  390. package/build/cli/commands/task/start/handler.js +0 -3
  391. package/build/cli/commands/task/start/meta.js +0 -8
  392. package/build/cli/commands/task/stop/handler.js +0 -10
  393. package/build/cli/commands/task/stop/meta.js +0 -8
  394. package/build/cli/commands/task/task/handler.js +0 -5
  395. package/build/cli/commands/task/task/meta.js +0 -11
  396. package/build/cli/commands/task/update/handler.js +0 -21
  397. package/build/cli/commands/task/update/meta.js +0 -11
  398. package/build/cli/completion.js +0 -88
  399. package/build/cli/draft-artifact.js +0 -50
  400. package/build/cli/flags.js +0 -289
  401. package/build/cli/help.js +0 -100
  402. package/build/cli/index.js +0 -332
  403. package/build/cli/missing-subcommand.js +0 -7
  404. package/build/cli/output-stream-error-policy.js +0 -31
  405. package/build/cli/parse-flags.js +0 -262
  406. package/build/cli/parse-metadata.js +0 -129
  407. package/build/cli/parse-selectors.js +0 -65
  408. package/build/cli/parse.js +0 -237
  409. package/build/cli/projection-address.js +0 -105
  410. package/build/cli/render/address.js +0 -101
  411. package/build/cli/render/amendment-warning.js +0 -8
  412. package/build/cli/render/arc.js +0 -79
  413. package/build/cli/render/audit.js +0 -440
  414. package/build/cli/render/call.js +0 -70
  415. package/build/cli/render/compact-text.js +0 -3
  416. package/build/cli/render/errors.js +0 -101
  417. package/build/cli/render/format.js +0 -226
  418. package/build/cli/render/kanshi.js +0 -263
  419. package/build/cli/render/kill.js +0 -9
  420. package/build/cli/render/lifecycle.js +0 -56
  421. package/build/cli/render/line-width.js +0 -103
  422. package/build/cli/render/misc.js +0 -84
  423. package/build/cli/render/path-prefix-compaction.js +0 -131
  424. package/build/cli/render/petition.js +0 -70
  425. package/build/cli/render/projection-activity.js +0 -332
  426. package/build/cli/render/projection-history.js +0 -64
  427. package/build/cli/render/response-style.js +0 -27
  428. package/build/cli/render/shared.js +0 -232
  429. package/build/cli/render/skills.js +0 -10
  430. package/build/cli/render/status.js +0 -213
  431. package/build/cli/render/success-response.js +0 -80
  432. package/build/cli/render/task.js +0 -174
  433. package/build/cli/render/tell.js +0 -5
  434. package/build/cli/render/terminal-failure.js +0 -65
  435. package/build/cli/render/tool-ledger-rollup.js +0 -74
  436. package/build/cli/render/tool-presentation.js +0 -97
  437. package/build/cli/render/types.js +0 -2
  438. package/build/cli/render/wait.js +0 -275
  439. package/build/cli/skills-install.js +0 -348
  440. package/build/cli/subagent-guard.js +0 -25
  441. package/build/cli/types.js +0 -1
  442. package/build/config/akuma-loader.js +0 -220
  443. package/build/config/env-keys.js +0 -57
  444. package/build/config/env.js +0 -304
  445. package/build/config/provider-policy-ownership.js +0 -10
  446. package/build/config/settings/disease.js +0 -33
  447. package/build/config/settings/knobs.js +0 -8
  448. package/build/config/settings/loader.js +0 -275
  449. package/build/config/settings/provider-instance-fields.js +0 -51
  450. package/build/config/settings/schema.js +0 -108
  451. package/build/core/address-carrier.js +0 -89
  452. package/build/core/addressing.js +0 -407
  453. package/build/core/amend.js +0 -236
  454. package/build/core/amendment-criteria.js +0 -17
  455. package/build/core/amendment-warning.js +0 -10
  456. package/build/core/arc.js +0 -293
  457. package/build/core/atomic-publish.js +0 -64
  458. package/build/core/audit/candidate.js +0 -149
  459. package/build/core/audit/coordinates.js +0 -235
  460. package/build/core/audit/evidence.js +0 -154
  461. package/build/core/audit/facade.js +0 -65
  462. package/build/core/audit/readiness.js +0 -4
  463. package/build/core/audit/report.js +0 -38
  464. package/build/core/audit.js +0 -1
  465. package/build/core/bind-reconciliation.js +0 -390
  466. package/build/core/bind-workspace.js +0 -115
  467. package/build/core/bind.js +0 -402
  468. package/build/core/call/call.js +0 -236
  469. package/build/core/call/context.js +0 -197
  470. package/build/core/call/execution.js +0 -240
  471. package/build/core/call/prompt.js +0 -58
  472. package/build/core/call/reference.js +0 -24
  473. package/build/core/call-persist.js +0 -76
  474. package/build/core/command-markdown.js +0 -45
  475. package/build/core/context.js +0 -104
  476. package/build/core/contract-carrier-runtime.js +0 -408
  477. package/build/core/contract-carrier.js +0 -270
  478. package/build/core/contract-view.js +0 -282
  479. package/build/core/contract.js +0 -18
  480. package/build/core/derived-replay.js +0 -207
  481. package/build/core/draft.js +0 -396
  482. package/build/core/execution-coordinate.js +0 -46
  483. package/build/core/execution-pact.js +0 -126
  484. package/build/core/forfeit.js +0 -132
  485. package/build/core/hints.js +0 -34
  486. package/build/core/identifier-slug.js +0 -116
  487. package/build/core/ids.js +0 -90
  488. package/build/core/lifecycle-history.js +0 -35
  489. package/build/core/lifecycle-recovery.js +0 -117
  490. package/build/core/lifecycle-runner.js +0 -377
  491. package/build/core/log.js +0 -50
  492. package/build/core/markdown/lex.js +0 -274
  493. package/build/core/markdown/parser.js +0 -260
  494. package/build/core/markdown/render.js +0 -68
  495. package/build/core/markdown/sections.js +0 -80
  496. package/build/core/markdown/titles.js +0 -9
  497. package/build/core/markdown/types.js +0 -6
  498. package/build/core/outcome-base.js +0 -185
  499. package/build/core/places.js +0 -175
  500. package/build/core/process-group.js +0 -139
  501. package/build/core/projection/generation/database.js +0 -411
  502. package/build/core/projection/generation/identity.js +0 -84
  503. package/build/core/projection/generation/model.js +0 -256
  504. package/build/core/projection/generation/projection-generation-continuation.js +0 -84
  505. package/build/core/projection/generation/projection-generation-execution.js +0 -217
  506. package/build/core/projection/generation/projection-generation-identity.js +0 -17
  507. package/build/core/projection/generation/projection-generation-launcher.js +0 -220
  508. package/build/core/projection/generation/projection-generation-process.js +0 -46
  509. package/build/core/projection/generation/projection-generation-runner.js +0 -443
  510. package/build/core/projection/generation/projection-generation-runtime.js +0 -97
  511. package/build/core/projection/generation/store.js +0 -98
  512. package/build/core/projection/generation/transitions.js +0 -463
  513. package/build/core/projection/heart.js +0 -9
  514. package/build/core/projection/index.js +0 -28
  515. package/build/core/projection/projection-activity.js +0 -273
  516. package/build/core/projection/projection-alias.js +0 -131
  517. package/build/core/projection/projection-coordinate.js +0 -61
  518. package/build/core/projection/projection-core.js +0 -123
  519. package/build/core/projection/projection-execution-observer.js +0 -270
  520. package/build/core/projection/projection-history.js +0 -474
  521. package/build/core/projection/projection-identity.js +0 -11
  522. package/build/core/projection/projection-kill.js +0 -103
  523. package/build/core/projection/projection-life-observer.js +0 -101
  524. package/build/core/projection/projection-life-protocol.js +0 -115
  525. package/build/core/projection/projection-mint.js +0 -172
  526. package/build/core/projection/projection-runner-lock.js +0 -211
  527. package/build/core/projection/projection-status-observation.js +0 -365
  528. package/build/core/projection/projection-status.js +0 -295
  529. package/build/core/projection/projection-terminal-failure.js +0 -111
  530. package/build/core/projection/projection-wait.js +0 -318
  531. package/build/core/projection/projection-wake.js +0 -360
  532. package/build/core/projection/tell/database.js +0 -127
  533. package/build/core/projection/tell/launch-store.js +0 -244
  534. package/build/core/projection/tell/model.js +0 -98
  535. package/build/core/projection/tell/store.js +0 -245
  536. package/build/core/provider-loader-ports.js +0 -4
  537. package/build/core/registry.js +0 -100
  538. package/build/core/renew-build.js +0 -424
  539. package/build/core/renew-plan.js +0 -239
  540. package/build/core/renew-rewrite.js +0 -77
  541. package/build/core/renew.js +0 -341
  542. package/build/core/repository-ledger/accepted-fold-read.js +0 -19
  543. package/build/core/repository-ledger/accepted-tail.js +0 -116
  544. package/build/core/repository-ledger/admission.js +0 -38
  545. package/build/core/repository-ledger/authoritative-transaction.js +0 -1
  546. package/build/core/repository-ledger/claim-evidence.js +0 -147
  547. package/build/core/repository-ledger/codec.js +0 -297
  548. package/build/core/repository-ledger/current-state-store.js +0 -971
  549. package/build/core/repository-ledger/fold-repository.js +0 -375
  550. package/build/core/repository-ledger/fold.js +0 -248
  551. package/build/core/repository-ledger/git-object-store.js +0 -243
  552. package/build/core/repository-ledger/history-read.js +0 -15
  553. package/build/core/repository-ledger/incremental-read.js +0 -153
  554. package/build/core/repository-ledger/index.js +0 -15
  555. package/build/core/repository-ledger/inventory-plan.js +0 -75
  556. package/build/core/repository-ledger/inventory.js +0 -310
  557. package/build/core/repository-ledger/publication-admission.js +0 -125
  558. package/build/core/repository-ledger/publication.js +0 -353
  559. package/build/core/repository-ledger/read-model.js +0 -469
  560. package/build/core/repository-ledger/transaction-membership.js +0 -78
  561. package/build/core/repository-ledger/traversal.js +0 -404
  562. package/build/core/repository-ledger/write-transaction.js +0 -341
  563. package/build/core/response-artifact-catalog-sqlite.js +0 -112
  564. package/build/core/response-artifact-catalog.js +0 -7
  565. package/build/core/response-artifact-id.js +0 -5
  566. package/build/core/scope.js +0 -416
  567. package/build/core/seal.js +0 -352
  568. package/build/core/settlement/claim-delivery.js +0 -69
  569. package/build/core/settlement/claim.js +0 -256
  570. package/build/core/settlement/index.js +0 -19
  571. package/build/core/settlement/petition-claim-gates.js +0 -246
  572. package/build/core/settlement/petition-forfeit.js +0 -46
  573. package/build/core/settlement/petition-head-guard.js +0 -13
  574. package/build/core/settlement/petition-io.js +0 -1
  575. package/build/core/settlement/petition-preview.js +0 -109
  576. package/build/core/settlement/petition-window.js +0 -50
  577. package/build/core/settlement/petition.js +0 -281
  578. package/build/core/settlement/queue-read-model.js +0 -120
  579. package/build/core/settlement/queue-seat-allocation.js +0 -65
  580. package/build/core/settlement/queue.js +0 -6
  581. package/build/core/settlement/settlement.js +0 -380
  582. package/build/core/settlement/verdict.js +0 -126
  583. package/build/core/settlement/verification-coordination.js +0 -305
  584. package/build/core/settlement/verification-supervisor.js +0 -275
  585. package/build/core/settlement/verification.js +0 -426
  586. package/build/core/sqlite-process-lifetime-lock.js +0 -194
  587. package/build/core/status/board.js +0 -346
  588. package/build/core/status/drift.js +0 -115
  589. package/build/core/status/lifecycle.js +0 -11
  590. package/build/core/stored-agent-event.js +0 -129
  591. package/build/core/structured-query.js +0 -23
  592. package/build/core/target-ref.js +0 -10
  593. package/build/core/task/board.js +0 -247
  594. package/build/core/task/commands.js +0 -376
  595. package/build/core/task/compose.js +0 -327
  596. package/build/core/task/coordinate.js +0 -56
  597. package/build/core/task/document.js +0 -210
  598. package/build/core/task/index.js +0 -16
  599. package/build/core/task/model.js +0 -8
  600. package/build/core/task/query.js +0 -204
  601. package/build/core/task/settlement-git.js +0 -426
  602. package/build/core/task/settlement-policy.js +0 -124
  603. package/build/core/task/source-board.js +0 -103
  604. package/build/core/task/source-model.js +0 -1
  605. package/build/core/task/task-bind-preparation.js +0 -193
  606. package/build/core/task/task-contract.js +0 -371
  607. package/build/core/task/task-doctor.js +0 -14
  608. package/build/core/task/task-file-transaction.js +0 -171
  609. package/build/core/task/task-git-actor.js +0 -33
  610. package/build/core/task/task-git-runtime.js +0 -97
  611. package/build/core/task/task-git-store.js +0 -400
  612. package/build/core/task/task-repository.js +0 -1
  613. package/build/core/task/task-store-repository.js +0 -96
  614. package/build/core/task/task-store.js +0 -1
  615. package/build/core/task/task-worktree.js +0 -25
  616. package/build/core/task/task.js +0 -7
  617. package/build/core/task/tree.js +0 -37
  618. package/build/core/task/validation.js +0 -48
  619. package/build/core/transcripts.js +0 -485
  620. package/build/core/validation.js +0 -17
  621. package/build/core/worktree-bootstrap.js +0 -195
  622. package/build/core/worktree-path.js +0 -375
  623. package/build/errno.js +0 -3
  624. package/build/flow-error.js +0 -183
  625. package/build/fs/durability.js +0 -27
  626. package/build/fs/path-coordinate.js +0 -16
  627. package/build/generated/version.js +0 -3
  628. package/build/git/branches.js +0 -113
  629. package/build/git/commits.js +0 -80
  630. package/build/git/core.js +0 -238
  631. package/build/git/diff/parsers.js +0 -181
  632. package/build/git/diff/pathspec.js +0 -3
  633. package/build/git/diff/preview.js +0 -38
  634. package/build/git/diff/read.js +0 -105
  635. package/build/git/diff/structured.js +0 -127
  636. package/build/git/diff/types.js +0 -1
  637. package/build/git/path-coordinate.js +0 -17
  638. package/build/git/refs.js +0 -225
  639. package/build/git/staging.js +0 -155
  640. package/build/git/streaming-batch.js +0 -361
  641. package/build/git/worktree.js +0 -162
  642. package/build/index.js +0 -60
  643. package/build/keiyaku-constants.js +0 -2
  644. package/build/keiyaku.js +0 -30
  645. package/build/telemetry/debug-log.js +0 -40
  646. package/build/telemetry/logger.js +0 -48
  647. package/skills/keiyaku/SKILL.md +0 -46
  648. package/skills/keiyaku-akuma/SKILL.md +0 -96
  649. package/skills/keiyaku-task/SKILL.md +0 -84
  650. package/skills/keiyaku-workflow/SKILL.md +0 -151
  651. /package/build/{agents/launch-snapshot → src/body}/types.js +0 -0
  652. /package/build/{agents/providers/claude-agent-sdk/terms.js → src/cli/result.js} +0 -0
  653. /package/build/{agents/providers/codex-app-server/terms.js → src/core/decide.js} +0 -0
  654. /package/build/{agents/providers/opencode-sdk/terms.js → src/core/facts/offer.js} +0 -0
  655. /package/build/{agents/providers/pi/terms.js → src/kanshi/report.js} +0 -0
@@ -1,183 +0,0 @@
1
- import { ACTOR_IDENTITY, SETTINGS_PATH_SEGMENTS } from "./keiyaku-constants.js";
2
- import { formatArtifactDirectories, KEIYAKU_ARTIFACT_DIRS } from "./artifact-directories.js";
3
- const SETTINGS_DISPLAY_PATH = SETTINGS_PATH_SEGMENTS.join("/");
4
- const DEFAULT_HINT_CONTEXT = {
5
- bindToolName: "bind",
6
- arcToolName: "arc",
7
- renewToolName: "renew",
8
- closeToolName: "petition",
9
- actorIdentity: ACTOR_IDENTITY,
10
- availableActorNames: [],
11
- };
12
- const DEFAULT_ERROR_HINT = "Error details identify what must be corrected before retrying.";
13
- export function renderTemplate(template, values) {
14
- return template.replace(/\$\{(?<key>[A-Za-z0-9_]+)\}/g, (match, _captured, _offset, _text, groups) => {
15
- const key = groups?.key;
16
- if (!key)
17
- return match;
18
- return Object.prototype.hasOwnProperty.call(values, key) ? values[key] : match;
19
- });
20
- }
21
- function formatInvalidSettingsDiseaseHints(diseases) {
22
- return diseases.map((disease) => {
23
- const where = disease.knob ? `${disease.coordinate}:${disease.knob}` : `${disease.coordinate}:(root)`;
24
- return `${where}: ${disease.reason}`;
25
- });
26
- }
27
- /** CLI-owned typed hint table. Domain code supplies code + facts only. */
28
- export function resolveFlowErrorHints(code, context, facts) {
29
- if (facts?.kind === "invalid_settings") {
30
- return formatInvalidSettingsDiseaseHints(facts.diseases);
31
- }
32
- if (facts?.kind === "verification_failure") {
33
- return [
34
- `Fix failures from '${facts.label}', then retry CLAIM.`,
35
- `stdout:\n${facts.stdout}`,
36
- `stderr:\n${facts.stderr}`,
37
- ];
38
- }
39
- if (facts?.kind === "dirty_worktree") {
40
- return [
41
- `Files under \`.keiyaku/\` are blocking the operation. Add ${formatArtifactDirectories(KEIYAKU_ARTIFACT_DIRS)} to \`.gitignore\` if you do not want those artifacts tracked.`,
42
- ];
43
- }
44
- if (facts?.kind === "loose_commits") {
45
- return [
46
- `keiyaku @${facts.contractId} arc — opens a new arc to receipt them, then ${facts.nextVerb}`,
47
- ];
48
- }
49
- if (facts?.kind === "needs_renew") {
50
- return [`keiyaku @${facts.contractId} renew — renews delivery before petition`];
51
- }
52
- if (facts?.kind === "projection_in_flight") {
53
- return ["keiyaku status — watch for the akuma to land, then renew"];
54
- }
55
- if (facts?.kind === "projection_wake_failure") {
56
- return [];
57
- }
58
- switch (code) {
59
- case "NOT_GIT_REPO":
60
- return ["The provided `cwd` is not a git repository."];
61
- case "GIT_UNAVAILABLE":
62
- return ["Install Git, or use an explicitly bare command that does not require repository authority."];
63
- case "ACTIVE_KEIYAKU_EXISTS":
64
- return [`Next: open an arc with \`${context.arcToolName}\`, then use \`${context.renewToolName}\` when delivery must follow the current base, or \`${context.closeToolName}\` to settle it.`];
65
- case "CONTRACT_AMBIGUOUS":
66
- return ["Address a specific contract workspace, or use `call --bare` to run without contract attachment."];
67
- case "TASK_AMBIGUOUS":
68
- return ["Pass one complete task coordinate from the listed candidates."];
69
- case "UNKNOWN_COMMAND":
70
- return ["Run `keiyaku --help` to inspect available commands."];
71
- case "UNKNOWN_OPTION":
72
- case "UNKNOWN_ADDRESS":
73
- case "INVALID_USAGE":
74
- case "STDIN_EMPTY":
75
- return [];
76
- case "EMPTY_PARAM":
77
- return ["One or more required parameters are empty."];
78
- case "DIRTY_WORKTREE":
79
- return ["The working tree has uncommitted changes."];
80
- case "NOT_ACTIVE_KEIYAKU_BRANCH":
81
- return ["keiyaku bind — opens a new contract"];
82
- case "MISSING_KEIYAKU_BASE":
83
- return ["Current branch is not associated with an active contract ledger."];
84
- case "MISSING_PROTOCOL_FILES":
85
- return ["Required protocol file is missing (`KEIYAKU.md`)."];
86
- case "CLOSE_MERGE_CONFLICT":
87
- return [];
88
- case "RENEW_COORDINATE_DRIFT":
89
- return [`Restore the delivery to its ledger-recorded history with Git reflog, then retry \`keiyaku ${context.renewToolName}\`.`];
90
- case "RENEW_SCRATCH_NOT_FOUND":
91
- return [`No renew conflict scratch is open; run \`keiyaku ${context.renewToolName}\` normally.`];
92
- case "CLOSE_QUALITY_GATE_FAILED":
93
- return [`CLAIM denied: a configured verification command failed. Use \`${context.arcToolName}\` after addressing the failure before petitioning again.`];
94
- case "INVALID_BRANCH_TITLE":
95
- return ["Title cannot be converted to a valid branch token for `keiyaku/<title>`."];
96
- case "UNKNOWN_SUBAGENT": {
97
- const names = context.availableActorNames.join(", ");
98
- return [`Unknown ${context.actorIdentity.toLowerCase()} name. Valid options: ${names}.`];
99
- }
100
- case "FROM_DRAFT_NOT_FOUND":
101
- return ["The path in `from_draft` does not exist. `from_draft` must reference an existing file path (absolute or relative to `cwd`)."];
102
- case "INVALID_KEIYAKU_DRAFT":
103
- return ["Invalid draft/input. Use a `# <title>` heading with non-empty `## Context`, `## Objective`, `## Design & Approach`, `## Scope`, `## Criteria`, and `## Verification` sections (or the equivalent shape in `from_draft`)."];
104
- case "BIND_TASK_INCOMPLETE":
105
- return ["Task supplies title/objective defaults; pipe only the missing sections as partial contract Markdown on stdin."];
106
- case "KEIYAKU_FILE_EXISTS":
107
- return [`\`${context.bindToolName}\` requires a clean slate. \`KEIYAKU.md\` must be removed before starting.`];
108
- case "DETACHED_HEAD":
109
- return ["Repository is in detached HEAD state. Address an active contract workspace before retrying."];
110
- case "INVALID_RESPONSE_PATH":
111
- return ["`keiyaku revive ARTIFACT_ID` needs a valid previous Keiyaku response artifact that includes complete provenance plus `session` and `subagent_name`."];
112
- case "INVALID_CLOSE_INTENT":
113
- return ["Invalid close intent. Valid values are `CLAIM` and `FORFEIT`."];
114
- case "INVALID_SETTINGS":
115
- return [`Fix invalid configuration in \`${SETTINGS_DISPLAY_PATH}\` and retry.`];
116
- case "INVALID_EFFORT_OVERRIDE":
117
- return ["Choose an effort value declared by the selected Akuma's effortOptions."];
118
- case "CONCURRENT_MODIFICATION":
119
- return [`Concurrent repository changes were detected during \`${context.arcToolName}\` or \`${context.renewToolName}\`. Retry on the latest branch state.`];
120
- case "TASK_LOCK_ADMISSION_TIMEOUT":
121
- return ["Task coordination did not become available before the bounded deadline. Retry the command; repeated timeouts indicate a stuck or damaged repository lock."];
122
- case "INTERNAL_STATE":
123
- return ["An internal state error occurred. Please verify your repository status."];
124
- case "SCOPE_VIOLATION":
125
- return ["Files outside the contract's declared scope were modified. Append ordered scope terms with `--append-scope`, amend the contract, or move the changes back."];
126
- case "NO_OPEN_ARC":
127
- return ["Open an arc to receipt delivery commits after the fence, then retry."];
128
- case "REVIEW_REJECTED":
129
- return [`CLAIM denied by the reviewer. Address the findings and retry \`${context.arcToolName}\` before petitioning again.`];
130
- case "VERDICT_DENIED":
131
- case "OATH_MISSING":
132
- return [DEFAULT_ERROR_HINT];
133
- default:
134
- return [DEFAULT_ERROR_HINT];
135
- }
136
- }
137
- function getDefaultErrorHint() {
138
- return DEFAULT_ERROR_HINT;
139
- }
140
- export class FlowError extends Error {
141
- code;
142
- review;
143
- facts;
144
- constructor(code, message, options) {
145
- super(message, options?.cause === undefined ? undefined : { cause: options.cause });
146
- this.name = "FlowError";
147
- this.code = code;
148
- this.review = options?.review;
149
- this.facts = options?.facts;
150
- }
151
- }
152
- export function isFlowError(err) {
153
- return err instanceof FlowError;
154
- }
155
- export function requireText(name, value) {
156
- const normalized = value.trim();
157
- if (!normalized) {
158
- throw new FlowError("EMPTY_PARAM", `parameter '${name}' cannot be empty`);
159
- }
160
- return normalized;
161
- }
162
- export function asMessage(err) {
163
- return err instanceof Error ? err.message : String(err);
164
- }
165
- export function wrapFlowError(action, err) {
166
- if (err instanceof Error && err.name === "AbortError") {
167
- return err;
168
- }
169
- if (isFlowError(err)) {
170
- return new FlowError(err.code, `${action} failed: ${err.message}`, {
171
- cause: err,
172
- review: err.review,
173
- facts: err.facts,
174
- });
175
- }
176
- return new Error(`${action} failed: ${asMessage(err)}`);
177
- }
178
- export function pickHintsFromError(err, hintContext = DEFAULT_HINT_CONTEXT) {
179
- if (isFlowError(err)) {
180
- return resolveFlowErrorHints(err.code, hintContext, err.facts);
181
- }
182
- return [getDefaultErrorHint()];
183
- }
@@ -1,27 +0,0 @@
1
- import * as fs from "node:fs";
2
- import * as fsPromises from "node:fs/promises";
3
- export function supportsDirectorySync(platform = process.platform) {
4
- return platform !== "win32";
5
- }
6
- export function syncDirectorySync(directory, platform = process.platform) {
7
- if (!supportsDirectorySync(platform))
8
- return;
9
- const descriptor = fs.openSync(directory, fs.constants.O_RDONLY);
10
- try {
11
- fs.fsyncSync(descriptor);
12
- }
13
- finally {
14
- fs.closeSync(descriptor);
15
- }
16
- }
17
- export async function syncDirectory(directory, platform = process.platform) {
18
- if (!supportsDirectorySync(platform))
19
- return;
20
- const handle = await fsPromises.open(directory, "r");
21
- try {
22
- await handle.sync();
23
- }
24
- finally {
25
- await handle.close();
26
- }
27
- }
@@ -1,16 +0,0 @@
1
- import * as path from "node:path";
2
- /**
3
- * Keep one host-native spelling before using a coordinate as a filesystem cwd.
4
- * Git for Windows may emit or receive native, slash-normalized, or MSYS drive
5
- * paths for the same location.
6
- */
7
- export function normalizeFilesystemCoordinate(raw, platform = process.platform) {
8
- const value = raw.trim();
9
- if (platform !== "win32")
10
- return path.normalize(value);
11
- const msysDrive = value.match(/^\/([A-Za-z])(?:\/|$)(.*)$/);
12
- if (msysDrive)
13
- return path.win32.normalize(`${msysDrive[1].toUpperCase()}:/${msysDrive[2]}`);
14
- const normalized = path.win32.normalize(value);
15
- return normalized.replace(/^([a-z]):/, (_, drive) => `${drive.toUpperCase()}:`);
16
- }
@@ -1,3 +0,0 @@
1
- // Generated into build output by scripts/build.mjs
2
- export const VERSION = "2.9.12";
3
- export const GIT_HASH = "25d9570";
@@ -1,113 +0,0 @@
1
- import { simpleGit } from "simple-git";
2
- import { FlowError } from "../flow-error.js";
3
- import { normalizeFilesystemCoordinate } from "../fs/path-coordinate.js";
4
- import { createGit, errorContainsAnyPattern, isGitExecutableUnavailable, NOT_GIT_REPOSITORY_PATTERNS, wrapGitError, } from "./core.js";
5
- export async function observeGitRepository(cwd) {
6
- try {
7
- const git = simpleGit(normalizeFilesystemCoordinate(cwd));
8
- git.env("GIT_TERMINAL_PROMPT", "0");
9
- git.env("GCM_INTERACTIVE", "Never");
10
- git.env("GIT_MERGE_AUTOEDIT", "no");
11
- git.env("LC_ALL", "C");
12
- git.env("PATH", process.env.PATH ?? "");
13
- const output = await git.raw(["rev-parse", "--is-inside-work-tree", "--is-bare-repository"]);
14
- const [insideWorktree, bare] = output.trim().split(/\r?\n/);
15
- return {
16
- capability: "available",
17
- coordinate: insideWorktree === "true" && bare !== "true" ? "repository" : "non-repository",
18
- };
19
- }
20
- catch (err) {
21
- if (isGitExecutableUnavailable(err))
22
- return { capability: "unavailable" };
23
- if (errorContainsAnyPattern(err, NOT_GIT_REPOSITORY_PATTERNS)) {
24
- return { capability: "available", coordinate: "non-repository" };
25
- }
26
- return { capability: "unknown", error: wrapGitError("check-is-repo", err, cwd) };
27
- }
28
- }
29
- export function assertGitObservation(observation, operation) {
30
- if (observation.capability === "unavailable") {
31
- throw new FlowError("GIT_UNAVAILABLE", `Git executable is unavailable; ${operation} requires repository authority.`);
32
- }
33
- if (observation.capability === "unknown")
34
- throw observation.error;
35
- return observation.coordinate;
36
- }
37
- export async function requireGitRepository(cwd, operation) {
38
- if (assertGitObservation(await observeGitRepository(cwd), operation) === "non-repository") {
39
- throw new FlowError("NOT_GIT_REPO", `${cwd} is not a git repository`);
40
- }
41
- }
42
- export async function getCurrentBranch(cwd) {
43
- const git = createGit(cwd);
44
- let status;
45
- try {
46
- status = await git.status();
47
- }
48
- catch (err) {
49
- throw wrapGitError("status", err, cwd);
50
- }
51
- if (!status.current) {
52
- throw new FlowError("DETACHED_HEAD", "Detached HEAD or no branch found");
53
- }
54
- return status.current;
55
- }
56
- export async function listLocalBranches(cwd) {
57
- const git = createGit(cwd);
58
- let branches;
59
- try {
60
- branches = await git.branchLocal();
61
- }
62
- catch (err) {
63
- throw wrapGitError("branch --list", err, cwd);
64
- }
65
- return branches.all;
66
- }
67
- export async function createAndSwitchBranch(cwd, branchName) {
68
- const git = createGit(cwd);
69
- try {
70
- await git.raw(["switch", "-c", branchName]);
71
- }
72
- catch (err) {
73
- throw wrapGitError(`switch -c ${branchName}`, err, cwd);
74
- }
75
- }
76
- export async function switchBranch(cwd, branchName) {
77
- const git = createGit(cwd);
78
- try {
79
- await git.raw(["switch", branchName]);
80
- }
81
- catch (err) {
82
- throw wrapGitError(`switch ${branchName}`, err, cwd);
83
- }
84
- }
85
- export async function deleteBranch(cwd, branchName, force = false) {
86
- const git = createGit(cwd);
87
- try {
88
- await git.deleteLocalBranch(branchName, force);
89
- }
90
- catch (err) {
91
- throw wrapGitError(`branch -d${force ? " -D" : ""} ${branchName}`, err, cwd);
92
- }
93
- }
94
- export async function hasLocalBranch(cwd, branchName) {
95
- const git = createGit(cwd);
96
- let branches;
97
- try {
98
- branches = await git.branchLocal();
99
- }
100
- catch (err) {
101
- throw wrapGitError("branch --list", err, cwd);
102
- }
103
- return branches.all.includes(branchName);
104
- }
105
- export async function assertValidBranchName(cwd, branchName) {
106
- const git = createGit(cwd);
107
- try {
108
- await git.raw(["check-ref-format", "--branch", branchName]);
109
- }
110
- catch (err) {
111
- throw wrapGitError(`check-ref-format --branch ${branchName}`, err, cwd);
112
- }
113
- }
@@ -1,80 +0,0 @@
1
- import { FlowError } from "../flow-error.js";
2
- import { createGit, wrapGitError } from "./core.js";
3
- export function shortCommitHash(hash) {
4
- return hash.slice(0, 12);
5
- }
6
- export async function resolveCommitRef(cwd, ref) {
7
- const git = createGit(cwd);
8
- try {
9
- const output = await git.raw(["rev-parse", "--verify", `${ref}^{commit}`]);
10
- return output.trim();
11
- }
12
- catch (error) {
13
- throw new FlowError("INVALID_COMMIT", `commit '${ref}' does not resolve to a commit`, { cause: error });
14
- }
15
- }
16
- export async function isCommitReachableFromHead(cwd, commit) {
17
- return isCommitAncestor(cwd, commit, "HEAD");
18
- }
19
- export async function isCommitAncestor(cwd, ancestor, descendant) {
20
- const git = createGit(cwd);
21
- try {
22
- await git.raw(["merge-base", "--is-ancestor", ancestor, descendant]);
23
- return true;
24
- }
25
- catch {
26
- return false;
27
- }
28
- }
29
- export async function getHeadCommitHash(cwd) {
30
- const git = createGit(cwd);
31
- try {
32
- const output = await git.raw(["rev-parse", "HEAD"]);
33
- return output.trim();
34
- }
35
- catch (error) {
36
- throw wrapGitError("rev-parse HEAD", error, cwd);
37
- }
38
- }
39
- export async function resolveCommitRefs(cwd, refs) {
40
- if (refs.length === 0) {
41
- throw new FlowError("INVALID_COMMIT", "commits must include at least one commit ref");
42
- }
43
- const resolved = [];
44
- const seen = new Set();
45
- for (const ref of refs) {
46
- const trimmedRef = ref.trim();
47
- if (!trimmedRef) {
48
- throw new FlowError("INVALID_COMMIT", "commit refs cannot be empty");
49
- }
50
- const commit = await resolveCommitRef(cwd, trimmedRef);
51
- if (seen.has(commit)) {
52
- throw new FlowError("INVALID_COMMIT", `duplicate commit ref '${trimmedRef}' resolves to ${commit}`);
53
- }
54
- if (!(await isCommitReachableFromHead(cwd, commit))) {
55
- throw new FlowError("INVALID_COMMIT", `commit '${trimmedRef}' (${commit}) is not reachable from HEAD`);
56
- }
57
- seen.add(commit);
58
- resolved.push(commit);
59
- }
60
- return resolved;
61
- }
62
- export async function renderCommitStatPreview(cwd, commits) {
63
- if (commits.length === 0)
64
- return "No delivery commits recorded.";
65
- const git = createGit(cwd);
66
- try {
67
- const chunks = await Promise.all(commits.map(async (commit) => (await git.raw([
68
- "show",
69
- "--stat",
70
- "--summary",
71
- "--format=commit %H%n%s",
72
- "--no-renames",
73
- commit,
74
- ])).trim()));
75
- return chunks.filter((chunk) => chunk.length > 0).join("\n\n");
76
- }
77
- catch (error) {
78
- throw wrapGitError("show --stat delivery commits", error, cwd);
79
- }
80
- }
package/build/git/core.js DELETED
@@ -1,238 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import { simpleGit } from "simple-git";
3
- import { normalizeFilesystemCoordinate } from "../fs/path-coordinate.js";
4
- import { getConfig } from "../config/env.js";
5
- import { appendDebugBlock } from "../telemetry/debug-log.js";
6
- const GIT_ERROR_COMPACT_MAX_CHARS = 4000;
7
- export const GIT_ABORT_FORCE_KILL_MS = 250;
8
- /** Terminate one non-detached Git child and wait until Node drains its stdio close. */
9
- export async function terminateGitChild(child, closed, graceMs = GIT_ABORT_FORCE_KILL_MS) {
10
- if (child.exitCode === null && child.signalCode === null)
11
- child.kill("SIGTERM");
12
- let grace;
13
- const exited = await Promise.race([
14
- closed.then(() => true),
15
- new Promise((resolve) => {
16
- grace = setTimeout(() => resolve(false), graceMs);
17
- grace.unref();
18
- }),
19
- ]);
20
- if (grace)
21
- clearTimeout(grace);
22
- // Only the close event proves process exit and stdio drain. `killed` and
23
- // `signalCode` merely report signal delivery and can be set while a handler
24
- // keeps the child alive.
25
- if (!exited)
26
- child.kill("SIGKILL");
27
- await closed;
28
- }
29
- export const MISSING_GIT_CONFIG_PATTERNS = ["No such section or key"];
30
- export const NOT_GIT_REPOSITORY_PATTERNS = ["not a git repository"];
31
- export const MISSING_HEAD_PATTERNS = [
32
- "Needed a single revision",
33
- "ambiguous argument 'HEAD'",
34
- "unknown revision or path not in the working tree",
35
- "bad revision 'HEAD'",
36
- ];
37
- /** Accept only a complete object id from either supported Git object format. */
38
- export function isFullGitObjectId(value) {
39
- return /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/i.test(value);
40
- }
41
- /** Git is an optional adapter for directory-local product surfaces. */
42
- export function isGitExecutableUnavailable(error) {
43
- const source = (error ?? {});
44
- if (source.code === "ENOENT")
45
- return true;
46
- const message = typeof source.message === "string" ? source.message : String(error);
47
- return /spawn\s+git\s+ENOENT|git(?:\.exe)?["']?\s*:\s*(?:not found|no such file)/i.test(message);
48
- }
49
- export function compactText(input, maxChars = GIT_ERROR_COMPACT_MAX_CHARS) {
50
- const text = input.trim();
51
- if (!text)
52
- return "";
53
- if (text.length <= maxChars)
54
- return text;
55
- const marker = `\n...[truncated ${text.length - maxChars} chars]...\n`;
56
- const side = Math.floor((maxChars - marker.length) / 2);
57
- return `${text.slice(0, side)}${marker}${text.slice(text.length - side)}`;
58
- }
59
- export function collectGitErrorText(err) {
60
- const source = (err ?? {});
61
- return [source.message, source.stderr, source.stdErr, source.stdout, source.stdOut]
62
- .filter((value) => typeof value === "string" && value.length > 0)
63
- .join("\n");
64
- }
65
- export function errorContainsAnyPattern(err, patterns) {
66
- const text = collectGitErrorText(err);
67
- return patterns.some((pattern) => text.includes(pattern));
68
- }
69
- /** Parse `git rev-list` stdout into ordered object ids. Sole shared line parser. */
70
- export function parseRevListOutput(output) {
71
- return output
72
- .trim()
73
- .split(/\r?\n/)
74
- .map((line) => line.trim())
75
- .filter((line) => line.length > 0);
76
- }
77
- export function wrapGitError(commandLabel, err, cwd) {
78
- const source = (err ?? {});
79
- const message = source.message ?? String(err);
80
- const stderr = compactText(source.stderr ?? source.stdErr ?? "");
81
- const stdout = compactText(source.stdout ?? source.stdOut ?? "");
82
- let detailedMessage = `[git ${commandLabel}] ${message}`;
83
- if (stderr)
84
- detailedMessage += `\n\n--- GIT STDERR ---\n${stderr}\n------------------`;
85
- if (stdout)
86
- detailedMessage += `\n\n--- GIT STDOUT ---\n${stdout}\n------------------`;
87
- if (stderr || stdout) {
88
- appendDebugBlock(`git ${commandLabel} failure details`, `${detailedMessage}`, { cwd, section: "git-error" });
89
- }
90
- const wrapped = new Error(detailedMessage, err === undefined ? undefined : { cause: err });
91
- if (source.git !== undefined) {
92
- Object.assign(wrapped, { git: source.git });
93
- }
94
- return wrapped;
95
- }
96
- /** Configured Git timeout, with a bootstrap-safe default before env loads. */
97
- export function resolveGitTimeoutMs() {
98
- try {
99
- return getConfig().git.timeoutMs;
100
- }
101
- catch {
102
- // Git coordinates and early probes remain usable before config bootstrap.
103
- return 60_000;
104
- }
105
- }
106
- /** Non-interactive Git process environment shared by one-shot and streaming gates. */
107
- export function gitProcessEnv(extra) {
108
- return {
109
- ...process.env,
110
- ...extra,
111
- GIT_TERMINAL_PROMPT: "0",
112
- GCM_INTERACTIVE: "Never",
113
- GIT_MERGE_AUTOEDIT: "no",
114
- LC_ALL: "C",
115
- PATH: extra?.PATH ?? process.env.PATH ?? "",
116
- };
117
- }
118
- export function createGit(cwd) {
119
- const timeoutMs = resolveGitTimeoutMs();
120
- const git = simpleGit(normalizeFilesystemCoordinate(cwd), {
121
- timeout: { block: timeoutMs, stdErr: true, stdOut: true },
122
- });
123
- // simple-git replaces its child environment when configured through env().
124
- // Preserve trace controls explicitly without admitting unrelated ambient Git
125
- // behavior such as a pager into command execution.
126
- const traceEnvironment = Object.fromEntries(Object.entries(process.env).filter(([key]) => key.startsWith("GIT_TRACE2")));
127
- git.env({
128
- ...traceEnvironment,
129
- GIT_TERMINAL_PROMPT: "0",
130
- GCM_INTERACTIVE: "Never",
131
- GIT_MERGE_AUTOEDIT: "no",
132
- LC_ALL: "C",
133
- PATH: process.env.PATH ?? "",
134
- });
135
- return git;
136
- }
137
- /**
138
- * Asynchronous one-shot Git process boundary that preserves stdout/stderr/status facts.
139
- * Prefer `createGit` when non-zero exits are fatal; use this when callers need
140
- * soft status codes or stdin (simple-git drops empty-stderr non-zero exits).
141
- * Long-lived multi-request stdin/stdout sessions use `openGitStreamingBatch`.
142
- */
143
- export async function runGitProcessBytes(cwd, args, options) {
144
- options?.signal?.throwIfAborted();
145
- const timeoutMs = resolveGitTimeoutMs();
146
- const env = gitProcessEnv(options?.env);
147
- return await new Promise((resolve) => {
148
- const child = spawn("git", [...args], {
149
- cwd: normalizeFilesystemCoordinate(cwd),
150
- env,
151
- shell: false,
152
- stdio: ["pipe", "pipe", "pipe"],
153
- });
154
- const stdoutChunks = [];
155
- const stderrChunks = [];
156
- let settled = false;
157
- let timedOut = false;
158
- let aborting = false;
159
- let terminationPromise;
160
- const closed = new Promise((resolveClosed) => child.once("close", () => resolveClosed()));
161
- const finish = (result) => {
162
- if (settled)
163
- return;
164
- settled = true;
165
- clearTimeout(timeout);
166
- options?.signal?.removeEventListener("abort", abort);
167
- resolve(result);
168
- };
169
- const abort = () => {
170
- if (aborting)
171
- return;
172
- aborting = true;
173
- terminationPromise = terminateGitChild(child, closed);
174
- };
175
- options?.signal?.addEventListener("abort", abort, { once: true });
176
- if (options?.signal?.aborted)
177
- abort();
178
- const timeout = setTimeout(() => {
179
- timedOut = true;
180
- child.kill("SIGKILL");
181
- }, timeoutMs);
182
- if (options?.input !== undefined) {
183
- if (typeof options.input === "string")
184
- child.stdin.end(options.input, "utf8");
185
- else
186
- child.stdin.end(options.input);
187
- }
188
- else {
189
- child.stdin.end();
190
- }
191
- child.stdout.on("data", (chunk) => stdoutChunks.push(chunk));
192
- child.stderr.on("data", (chunk) => stderrChunks.push(chunk));
193
- child.on("error", (error) => {
194
- finish({
195
- stdout: Buffer.concat(stdoutChunks),
196
- stderr: Buffer.concat(stderrChunks),
197
- status: null,
198
- error,
199
- });
200
- });
201
- child.on("close", async (code, signal) => {
202
- if (terminationPromise)
203
- await terminationPromise;
204
- const stdout = Buffer.concat(stdoutChunks);
205
- const stderr = Buffer.concat(stderrChunks);
206
- if (timedOut) {
207
- finish({
208
- stdout,
209
- stderr,
210
- status: null,
211
- error: new Error("git timed out"),
212
- });
213
- return;
214
- }
215
- if (signal) {
216
- finish({
217
- stdout,
218
- stderr,
219
- status: null,
220
- error: options?.signal?.aborted
221
- ? options.signal.reason instanceof Error ? options.signal.reason : new DOMException("The operation was aborted", "AbortError")
222
- : new Error(`git exited from signal ${signal}`),
223
- });
224
- return;
225
- }
226
- finish({ stdout, stderr, status: code });
227
- });
228
- });
229
- }
230
- export async function runGitProcess(cwd, args, options) {
231
- const result = await runGitProcessBytes(cwd, args, options);
232
- return {
233
- stdout: result.stdout.toString("utf8"),
234
- stderr: result.stderr.toString("utf8"),
235
- status: result.status,
236
- ...(result.error ? { error: result.error } : {}),
237
- };
238
- }