@astrosheep/keiyaku 4.5.29 → 4.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku/SKILL.md +0 -13
  2. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-akuma/SKILL.md +47 -78
  3. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-akuma/references/automation.md +54 -41
  4. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-babysit/SKILL.md +10 -0
  5. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-bind/SKILL.md +27 -9
  6. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-workflow/SKILL.md +68 -71
  7. package/build/src/akuma/akuma-call.d.ts +53 -0
  8. package/build/src/akuma/akuma-call.js +113 -0
  9. package/build/src/akuma/akuma-instance.d.ts +20 -18
  10. package/build/src/akuma/akuma-instance.js +65 -175
  11. package/build/src/akuma/akuma-observe.d.ts +3 -21
  12. package/build/src/akuma/akuma-observe.js +7 -24
  13. package/build/src/akuma/{akuma-handle.d.ts → akuma-owner.d.ts} +55 -27
  14. package/build/src/akuma/{akuma-handle.js → akuma-owner.js} +24 -23
  15. package/build/src/akuma/akuma-selection-execution.d.ts +51 -0
  16. package/build/src/akuma/akuma-selection-execution.js +134 -0
  17. package/build/src/akuma/{fleet-execution.d.ts → akuma-wait.d.ts} +24 -44
  18. package/build/src/akuma/akuma-wait.js +113 -0
  19. package/build/src/akuma/akuma.d.ts +35 -89
  20. package/build/src/akuma/akuma.js +148 -30
  21. package/build/src/akuma/archetype.d.ts +12 -0
  22. package/build/src/akuma/archetype.js +47 -19
  23. package/build/src/akuma/body.d.ts +76 -36
  24. package/build/src/akuma/body.js +84 -49
  25. package/build/src/akuma/call-initial-tell.d.ts +131 -22
  26. package/build/src/akuma/call-initial-tell.js +31 -1
  27. package/build/src/akuma/call-request.d.ts +237 -31
  28. package/build/src/akuma/call-request.js +67 -94
  29. package/build/src/akuma/coordinate.d.ts +15 -5
  30. package/build/src/akuma/coordinate.js +12 -22
  31. package/build/src/akuma/dispatch-association.d.ts +1 -1
  32. package/build/src/akuma/dispatch-association.js +1 -10
  33. package/build/src/akuma/heart/activity-schema.d.ts +325 -0
  34. package/build/src/akuma/heart/activity-schema.js +53 -0
  35. package/build/src/akuma/heart/facts.d.ts +1 -6
  36. package/build/src/akuma/heart/index.d.ts +3 -1
  37. package/build/src/akuma/heart/index.js +4 -1
  38. package/build/src/akuma/heart/rows.d.ts +49 -2
  39. package/build/src/akuma/heart/rows.js +16 -2
  40. package/build/src/akuma/heart/soul.d.ts +1 -0
  41. package/build/src/akuma/heart/soul.js +6 -4
  42. package/build/src/akuma/heart/tells.d.ts +1 -0
  43. package/build/src/akuma/heart/tells.js +18 -0
  44. package/build/src/akuma/identity.d.ts +10 -7
  45. package/build/src/akuma/identity.js +23 -0
  46. package/build/src/akuma/index.d.ts +10 -8
  47. package/build/src/akuma/index.js +2 -2
  48. package/build/src/akuma/nuke.d.ts +3 -0
  49. package/build/src/akuma/nuke.js +13 -7
  50. package/build/src/akuma/projection.d.ts +0 -5
  51. package/build/src/akuma/projection.js +22 -43
  52. package/build/src/akuma/provider-recipe.d.ts +58 -13
  53. package/build/src/akuma/provider-recipe.js +62 -80
  54. package/build/src/akuma/provider.d.ts +6 -76
  55. package/build/src/akuma/provider.js +11 -219
  56. package/build/src/akuma/providers/acp/config.d.ts +2 -0
  57. package/build/src/akuma/providers/acp/config.js +26 -1
  58. package/build/src/akuma/providers/acp/core.d.ts +7 -0
  59. package/build/src/akuma/providers/acp/core.js +49 -18
  60. package/build/src/akuma/providers/acp/index.js +14 -6
  61. package/build/src/akuma/providers/grok-build/index.js +44 -13
  62. package/build/src/akuma/providers/index.d.ts +3 -3
  63. package/build/src/akuma/providers/index.js +2 -13
  64. package/build/src/akuma/providers/opencode-sdk/event-stream.d.ts +28 -0
  65. package/build/src/akuma/providers/opencode-sdk/event-stream.js +92 -0
  66. package/build/src/akuma/providers/opencode-sdk/events.d.ts +0 -1
  67. package/build/src/akuma/providers/opencode-sdk/index.js +200 -64
  68. package/build/src/akuma/providers/opencode-sdk/session.d.ts +41 -1
  69. package/build/src/akuma/providers/opencode-sdk/session.js +69 -2
  70. package/build/src/akuma/providers/pi/events.js +5 -2
  71. package/build/src/akuma/providers/pi/index.d.ts +3 -4
  72. package/build/src/akuma/providers/pi/index.js +99 -45
  73. package/build/src/akuma/publication.d.ts +84 -3
  74. package/build/src/akuma/publication.js +145 -2
  75. package/build/src/akuma/read-pool.d.ts +2 -0
  76. package/build/src/akuma/read-pool.js +15 -0
  77. package/build/src/akuma/request-rendezvous.js +10 -0
  78. package/build/src/akuma/request-serve.js +7 -0
  79. package/build/src/akuma/request-wire.d.ts +14 -26
  80. package/build/src/akuma/request-wire.js +4 -0
  81. package/build/src/akuma/requests.d.ts +0 -2
  82. package/build/src/akuma/requests.js +0 -17
  83. package/build/src/akuma/{fleet-observation.d.ts → selection-observation.d.ts} +37 -36
  84. package/build/src/akuma/selection-observation.js +65 -0
  85. package/build/src/akuma/{fleet-owner-port.d.ts → selection-owner-port.d.ts} +3 -3
  86. package/build/src/akuma/{fleet-owner-port.js → selection-owner-port.js} +11 -17
  87. package/build/src/akuma/{fleet-request.d.ts → selection-request.d.ts} +42 -82
  88. package/build/src/akuma/{fleet-request.js → selection-request.js} +92 -136
  89. package/build/src/akuma/turn-drive.js +73 -14
  90. package/build/src/akuma-body.js +91 -56
  91. package/build/src/body/amend.d.ts +5 -0
  92. package/build/src/body/amend.js +26 -50
  93. package/build/src/body/arc.d.ts +4 -2
  94. package/build/src/body/arc.js +19 -26
  95. package/build/src/body/criteria.d.ts +6 -0
  96. package/build/src/body/criteria.js +37 -0
  97. package/build/src/body/decode.js +5 -42
  98. package/build/src/body/region.d.ts +5 -0
  99. package/build/src/body/region.js +45 -2
  100. package/build/src/body/render.js +2 -4
  101. package/build/src/cli/activity.d.ts +26 -0
  102. package/build/src/cli/activity.js +75 -0
  103. package/build/src/cli/actor.d.ts +3 -1
  104. package/build/src/cli/actor.js +15 -2
  105. package/build/src/cli/commands/akuma-grammar.d.ts +75 -0
  106. package/build/src/cli/commands/akuma-grammar.js +414 -0
  107. package/build/src/cli/commands/akuma.d.ts +5 -69
  108. package/build/src/cli/commands/akuma.js +352 -319
  109. package/build/src/cli/commands/amend.d.ts +4 -5
  110. package/build/src/cli/commands/amend.js +1 -2
  111. package/build/src/cli/commands/bind.d.ts +4 -5
  112. package/build/src/cli/commands/bind.js +7 -10
  113. package/build/src/cli/commands/contract-grammar.d.ts +112 -0
  114. package/build/src/cli/commands/contract-grammar.js +282 -0
  115. package/build/src/cli/commands/contract-help.d.ts +17 -22
  116. package/build/src/cli/commands/contract-help.js +37 -24
  117. package/build/src/cli/commands/contract.d.ts +18 -97
  118. package/build/src/cli/commands/contract.js +621 -233
  119. package/build/src/cli/commands/install.d.ts +1 -1
  120. package/build/src/cli/commands/install.js +2 -2
  121. package/build/src/cli/commands/task-grammar.d.ts +19 -0
  122. package/build/src/cli/commands/task-grammar.js +438 -0
  123. package/build/src/cli/commands/task-query.js +23 -104
  124. package/build/src/cli/commands/task.d.ts +5 -20
  125. package/build/src/cli/commands/task.js +414 -364
  126. package/build/src/cli/coordinates.d.ts +10 -0
  127. package/build/src/cli/coordinates.js +20 -0
  128. package/build/src/cli/draft.d.ts +7 -1
  129. package/build/src/cli/main.js +10 -1
  130. package/build/src/cli/parse.d.ts +8 -9
  131. package/build/src/cli/parse.js +62 -62
  132. package/build/src/cli/render/akuma-activity.d.ts +54 -36
  133. package/build/src/cli/render/akuma-activity.js +262 -242
  134. package/build/src/cli/render/akuma-tool.d.ts +8 -4
  135. package/build/src/cli/render/akuma-tool.js +6 -5
  136. package/build/src/cli/render/akuma.d.ts +36 -16
  137. package/build/src/cli/render/akuma.js +65 -132
  138. package/build/src/cli/render/audit.d.ts +6 -2
  139. package/build/src/cli/render/audit.js +59 -28
  140. package/build/src/cli/render/catalog.d.ts +11 -2
  141. package/build/src/cli/render/catalog.js +75 -95
  142. package/build/src/cli/render/contract-history.d.ts +3 -1
  143. package/build/src/cli/render/contract-history.js +215 -22
  144. package/build/src/cli/render/contract-observation.d.ts +10 -5
  145. package/build/src/cli/render/contract-observation.js +29 -46
  146. package/build/src/cli/render/contract.d.ts +10 -3
  147. package/build/src/cli/render/contract.js +252 -103
  148. package/build/src/cli/render/effects.d.ts +26 -0
  149. package/build/src/cli/render/effects.js +41 -0
  150. package/build/src/cli/render/execution-progress.d.ts +18 -6
  151. package/build/src/cli/render/execution-progress.js +34 -31
  152. package/build/src/cli/render/kanshi-akuma.d.ts +1 -2
  153. package/build/src/cli/render/kanshi-akuma.js +5 -26
  154. package/build/src/cli/render/kanshi.js +107 -128
  155. package/build/src/cli/render/marks.d.ts +13 -0
  156. package/build/src/cli/render/marks.js +74 -0
  157. package/build/src/cli/render/nuke.js +18 -7
  158. package/build/src/cli/render/receipt.d.ts +10 -4
  159. package/build/src/cli/render/receipt.js +124 -44
  160. package/build/src/cli/render/reconcile.d.ts +5 -0
  161. package/build/src/cli/render/reconcile.js +152 -0
  162. package/build/src/cli/render/refusal.d.ts +21 -4
  163. package/build/src/cli/render/refusal.js +60 -33
  164. package/build/src/cli/render/region.js +3 -2
  165. package/build/src/cli/render/settings.js +2 -12
  166. package/build/src/cli/render/task.d.ts +37 -6
  167. package/build/src/cli/render/task.js +161 -157
  168. package/build/src/cli/render/terminal.d.ts +20 -1
  169. package/build/src/cli/render/terminal.js +92 -18
  170. package/build/src/cli/runtime.d.ts +32 -8
  171. package/build/src/cli/runtime.js +157 -165
  172. package/build/src/cli/selectors.d.ts +5 -2
  173. package/build/src/cli/selectors.js +11 -3
  174. package/build/src/cli/streams.d.ts +11 -0
  175. package/build/src/cli/streams.js +32 -0
  176. package/build/src/cli/usage.d.ts +2 -0
  177. package/build/src/cli/usage.js +12 -8
  178. package/build/src/contract-guidance.js +3 -7
  179. package/build/src/contract-worktree.d.ts +20 -28
  180. package/build/src/contract-worktree.js +18 -70
  181. package/build/src/coordination/durable-file.d.ts +2 -2
  182. package/build/src/coordination/durable-file.js +0 -27
  183. package/build/src/core/facts/codec.d.ts +1 -2
  184. package/build/src/core/facts/codec.js +6 -7
  185. package/build/src/core/facts/gate.d.ts +0 -1
  186. package/build/src/core/facts/gate.js +0 -82
  187. package/build/src/core/facts/types.d.ts +1 -2
  188. package/build/src/core/verbs/abandon.d.ts +2 -6
  189. package/build/src/core/verbs/abandon.js +0 -16
  190. package/build/src/core/verbs/amend.d.ts +0 -1
  191. package/build/src/core/verbs/amend.js +0 -20
  192. package/build/src/core/verbs/arc.d.ts +7 -8
  193. package/build/src/core/verbs/arc.js +2 -19
  194. package/build/src/core/verbs/attestation.d.ts +2 -6
  195. package/build/src/core/verbs/attestation.js +0 -16
  196. package/build/src/core/verbs/bind.d.ts +0 -1
  197. package/build/src/core/verbs/bind.js +0 -16
  198. package/build/src/core/verbs/deliver.d.ts +0 -1
  199. package/build/src/core/verbs/deliver.js +0 -16
  200. package/build/src/core/verbs/placement.d.ts +2 -1
  201. package/build/src/core/verbs/placement.js +10 -59
  202. package/build/src/git/admission.d.ts +6 -4
  203. package/build/src/git/admission.js +4 -0
  204. package/build/src/git/hooks.d.ts +55 -30
  205. package/build/src/git/hooks.js +30 -3
  206. package/build/src/git/identity.d.ts +6 -0
  207. package/build/src/git/identity.js +47 -0
  208. package/build/src/git/integration.d.ts +31 -13
  209. package/build/src/git/integration.js +32 -1
  210. package/build/src/git/nuke.d.ts +10 -1
  211. package/build/src/git/nuke.js +31 -11
  212. package/build/src/git/observe.js +2 -15
  213. package/build/src/git/private-state-seat.d.ts +6 -7
  214. package/build/src/git/private-state-seat.js +8 -6
  215. package/build/src/git/read-observation.d.ts +6 -1
  216. package/build/src/git/read-observation.js +81 -46
  217. package/build/src/git/reconcile.d.ts +117 -40
  218. package/build/src/git/reconcile.js +169 -40
  219. package/build/src/git/scratch.d.ts +7 -4
  220. package/build/src/git/scratch.js +28 -6
  221. package/build/src/git/target-placement.d.ts +53 -38
  222. package/build/src/git/target-placement.js +69 -54
  223. package/build/src/git/tender.d.ts +37 -28
  224. package/build/src/git/tender.js +39 -0
  225. package/build/src/git/terminal-reconcile.js +21 -23
  226. package/build/src/git/terminal-seal.d.ts +8 -6
  227. package/build/src/git/terminal-seal.js +10 -0
  228. package/build/src/git/workspace.d.ts +29 -15
  229. package/build/src/git/workspace.js +28 -2
  230. package/build/src/identity/normalize.js +19 -6
  231. package/build/src/index.d.ts +78 -7
  232. package/build/src/index.js +52 -4
  233. package/build/src/kanshi/read.d.ts +3 -3
  234. package/build/src/kanshi/read.js +21 -21
  235. package/build/src/kanshi/report.d.ts +9 -8
  236. package/build/src/kanshi/roster.d.ts +2 -0
  237. package/build/src/kanshi/roster.js +2 -0
  238. package/build/src/kanshi/select.js +7 -3
  239. package/build/src/library/address.d.ts +3 -7
  240. package/build/src/library/address.js +7 -7
  241. package/build/src/library/akuma-creation.d.ts +21 -32
  242. package/build/src/library/akuma-creation.js +148 -165
  243. package/build/src/library/akumas.d.ts +20 -22
  244. package/build/src/library/akumas.js +43 -20
  245. package/build/src/library/bind.d.ts +107 -13
  246. package/build/src/library/bind.js +29 -23
  247. package/build/src/library/continuation.d.ts +556 -28
  248. package/build/src/library/continuation.js +29 -54
  249. package/build/src/library/contract-composition.d.ts +40 -0
  250. package/build/src/library/contract-composition.js +105 -0
  251. package/build/src/library/contract-creation.d.ts +7 -0
  252. package/build/src/library/contract-creation.js +192 -0
  253. package/build/src/library/contract-execution.d.ts +29 -40
  254. package/build/src/library/contract-execution.js +503 -128
  255. package/build/src/library/contract-operations.d.ts +275 -134
  256. package/build/src/library/contract-operations.js +83 -92
  257. package/build/src/library/contract-outcomes.d.ts +71 -0
  258. package/build/src/library/contract-outcomes.js +32 -0
  259. package/build/src/library/contract-settings.d.ts +25 -0
  260. package/build/src/library/contract-settings.js +135 -0
  261. package/build/src/library/contract-types.d.ts +17 -38
  262. package/build/src/library/delivery.d.ts +530 -10
  263. package/build/src/library/delivery.js +20 -45
  264. package/build/src/library/input.d.ts +3 -1
  265. package/build/src/library/input.js +11 -16
  266. package/build/src/library/invocation.d.ts +87 -0
  267. package/build/src/library/invocation.js +290 -0
  268. package/build/src/library/keiyaku.d.ts +45 -22
  269. package/build/src/library/keiyaku.js +134 -8
  270. package/build/src/library/nuke.d.ts +2 -11
  271. package/build/src/library/nuke.js +70 -57
  272. package/build/src/library/outcome.d.ts +13196 -0
  273. package/build/src/library/outcome.js +487 -0
  274. package/build/src/library/reconcile.d.ts +96 -24
  275. package/build/src/library/reconcile.js +102 -42
  276. package/build/src/library/refusal.d.ts +470 -42
  277. package/build/src/library/refusal.js +55 -143
  278. package/build/src/library/region.d.ts +15 -7
  279. package/build/src/library/region.js +23 -3
  280. package/build/src/library/repo.d.ts +2 -12
  281. package/build/src/library/repo.js +1 -22
  282. package/build/src/library/selection.d.ts +121 -0
  283. package/build/src/library/{fleet.js → selection.js} +169 -152
  284. package/build/src/plugin/public.d.ts +2 -0
  285. package/build/src/protocol/abandon.d.ts +2 -2
  286. package/build/src/protocol/abandon.js +1 -0
  287. package/build/src/protocol/amend.js +1 -0
  288. package/build/src/protocol/arc.d.ts +6 -4
  289. package/build/src/protocol/attempt.d.ts +4 -2
  290. package/build/src/protocol/attempt.js +10 -0
  291. package/build/src/protocol/audit.d.ts +255 -52
  292. package/build/src/protocol/audit.js +63 -5
  293. package/build/src/protocol/bind.d.ts +18 -17
  294. package/build/src/protocol/bind.js +9 -28
  295. package/build/src/protocol/completion.d.ts +256 -22
  296. package/build/src/protocol/completion.js +100 -12
  297. package/build/src/protocol/deliver.d.ts +34 -23
  298. package/build/src/protocol/deliver.js +39 -25
  299. package/build/src/protocol/execution-observation.d.ts +36 -37
  300. package/build/src/protocol/execution-observation.js +7 -9
  301. package/build/src/protocol/intent.d.ts +101 -30
  302. package/build/src/protocol/intent.js +74 -1
  303. package/build/src/protocol/operations.d.ts +570 -64
  304. package/build/src/protocol/operations.js +189 -9
  305. package/build/src/protocol/outcome.d.ts +2 -1
  306. package/build/src/protocol/placement.d.ts +2 -2
  307. package/build/src/protocol/placement.js +3 -1
  308. package/build/src/protocol/progress.d.ts +108 -65
  309. package/build/src/protocol/progress.js +82 -132
  310. package/build/src/protocol/read/status.d.ts +4 -3
  311. package/build/src/protocol/read/status.js +6 -5
  312. package/build/src/protocol/reconcile.d.ts +3 -3
  313. package/build/src/protocol/reconcile.js +4 -0
  314. package/build/src/protocol/reintegrate.d.ts +2 -2
  315. package/build/src/protocol/review.d.ts +30 -12
  316. package/build/src/protocol/review.js +15 -24
  317. package/build/src/protocol/run.d.ts +34 -5
  318. package/build/src/protocol/run.js +24 -12
  319. package/build/src/runtime/proc/windows-launch.exe +0 -0
  320. package/build/src/settings.d.ts +0 -10
  321. package/build/src/settings.js +0 -76
  322. package/build/src/settlement/holder.d.ts +1 -1
  323. package/build/src/settlement/settle.d.ts +25 -16
  324. package/build/src/settlement/settle.js +80 -20
  325. package/build/src/task/board.d.ts +3 -1
  326. package/build/src/task/board.js +13 -17
  327. package/build/src/task/catalog.d.ts +0 -4
  328. package/build/src/task/catalog.js +0 -15
  329. package/build/src/task/compose-language.d.ts +19 -9
  330. package/build/src/task/compose-language.js +30 -20
  331. package/build/src/task/compose.d.ts +7 -37
  332. package/build/src/task/compose.js +20 -2
  333. package/build/src/task/created-observation.d.ts +0 -1
  334. package/build/src/task/created-observation.js +1 -4
  335. package/build/src/task/document.d.ts +12 -2
  336. package/build/src/task/document.js +4 -0
  337. package/build/src/task/identity.d.ts +4 -1
  338. package/build/src/task/identity.js +21 -17
  339. package/build/src/task/index.d.ts +36 -16
  340. package/build/src/task/index.js +103 -96
  341. package/build/src/task/lifecycle-operations.d.ts +1 -1
  342. package/build/src/task/mutation-result.d.ts +647 -586
  343. package/build/src/task/mutation-result.js +79 -46
  344. package/build/src/task/mutation.d.ts +298 -270
  345. package/build/src/task/mutation.js +93 -110
  346. package/build/src/task/operation-types.d.ts +6 -49
  347. package/build/src/task/operations.d.ts +2 -1
  348. package/build/src/task/operations.js +35 -12
  349. package/build/src/task/query.d.ts +9 -3
  350. package/build/src/task/query.js +42 -16
  351. package/build/src/task/store.d.ts +2 -1
  352. package/build/src/task/store.js +10 -14
  353. package/build/src/verification/declaration.d.ts +0 -1
  354. package/build/src/verification/declaration.js +1 -18
  355. package/build/src/verification/execution.d.ts +6 -2
  356. package/build/src/verification/observation.d.ts +1 -1
  357. package/package.json +2 -18
  358. package/build/src/akuma/akuma-product.d.ts +0 -58
  359. package/build/src/akuma/akuma-product.js +0 -276
  360. package/build/src/akuma/fleet-execution.js +0 -234
  361. package/build/src/akuma/fleet-observation.js +0 -97
  362. package/build/src/cli/accepted.d.ts +0 -24
  363. package/build/src/cli/accepted.js +0 -167
  364. package/build/src/cli/catalog.d.ts +0 -45
  365. package/build/src/cli/catalog.js +0 -1
  366. package/build/src/cli/commands/akuma-invoke.d.ts +0 -114
  367. package/build/src/cli/commands/akuma-invoke.js +0 -375
  368. package/build/src/cli/commands/contract-invoke.d.ts +0 -34
  369. package/build/src/cli/commands/contract-invoke.js +0 -259
  370. package/build/src/cli/commands/nuke.d.ts +0 -10
  371. package/build/src/cli/commands/nuke.js +0 -20
  372. package/build/src/cli/commands/status-set.d.ts +0 -4
  373. package/build/src/cli/commands/status-set.js +0 -52
  374. package/build/src/cli/commands/task-invoke.d.ts +0 -49
  375. package/build/src/cli/commands/task-invoke.js +0 -306
  376. package/build/src/cli/invoke.d.ts +0 -27
  377. package/build/src/cli/invoke.js +0 -521
  378. package/build/src/cli/render/board.d.ts +0 -3
  379. package/build/src/cli/render/board.js +0 -25
  380. package/build/src/cli/render/status-set.d.ts +0 -5
  381. package/build/src/cli/render/status-set.js +0 -19
  382. package/build/src/cli/render/text.d.ts +0 -3
  383. package/build/src/cli/render/text.js +0 -33
  384. package/build/src/cli/result.d.ts +0 -240
  385. package/build/src/cli/result.js +0 -1
  386. package/build/src/git/result-codec.d.ts +0 -29
  387. package/build/src/git/result-codec.js +0 -309
  388. package/build/src/kanshi/fleet.d.ts +0 -6
  389. package/build/src/kanshi/fleet.js +0 -27
  390. package/build/src/library/audit.d.ts +0 -29
  391. package/build/src/library/audit.js +0 -41
  392. package/build/src/library/composition.d.ts +0 -15
  393. package/build/src/library/composition.js +0 -28
  394. package/build/src/library/configuration.d.ts +0 -4
  395. package/build/src/library/configuration.js +0 -2
  396. package/build/src/library/contract-bind.d.ts +0 -31
  397. package/build/src/library/contract-bind.js +0 -140
  398. package/build/src/library/contract-forwarding.d.ts +0 -55
  399. package/build/src/library/contract-forwarding.js +0 -67
  400. package/build/src/library/contract-handle.d.ts +0 -50
  401. package/build/src/library/contract-handle.js +0 -385
  402. package/build/src/library/contract.d.ts +0 -46
  403. package/build/src/library/contract.js +0 -73
  404. package/build/src/library/execution-result.d.ts +0 -243
  405. package/build/src/library/execution-result.js +0 -101
  406. package/build/src/library/execution.d.ts +0 -8
  407. package/build/src/library/execution.js +0 -102
  408. package/build/src/library/fleet.d.ts +0 -83
  409. package/build/src/library/mutation.d.ts +0 -501
  410. package/build/src/library/mutation.js +0 -248
  411. package/build/src/library/result-codec.d.ts +0 -2
  412. package/build/src/library/result-codec.js +0 -12
  413. package/build/src/protocol/result-codec.d.ts +0 -23
  414. package/build/src/protocol/result-codec.js +0 -488
  415. package/build/src/settlement/result-codec.d.ts +0 -2
  416. package/build/src/settlement/result-codec.js +0 -56
  417. package/build/src/task/public.d.ts +0 -2
  418. package/build/src/task/public.js +0 -1
@@ -1,11 +1,13 @@
1
+ import { z } from "zod";
2
+ import { decodeSoulSeed } from "./heart/soul.js";
3
+ import { sessionAdmissionSchema } from "./heart/rows.js";
1
4
  import { appendFile, stat } from "node:fs/promises";
2
- import { basename, delimiter, join } from "node:path";
3
5
  import { fileURLToPath } from "node:url";
4
6
  import { abortable, abortableDelay } from "./abort.js";
5
7
  import { BodySupervisor } from "./body-supervisor.js";
6
8
  import { driveTurn, turnRecipe } from "./turn-drive.js";
7
- import { HeldAkumaLeash, breakBody, decidePendingTellDisposition, drainPendingTells, endTurn, failOpenBoundTurns, finishBodyIfIdle, heartExists, isHeartAbsent, probeLeash, projectTell, readHeart, readLatestTurnForBody, readOpenBoundTurns, readOpenPendingTellDisposition, readTell, readTurn, readNonterminalRequests, resolvePendingTellDisposition, } from "./heart/index.js";
8
- import { pathsForAkuId, worldRootForAkumaPaths } from "./identity.js";
9
+ import { HeldAkumaLeash, breakBody, decidePendingTellDisposition, drainPendingTells, endTurn, failOpenBoundTurns, finishBodyIfIdle, heartExists, isHeartAbsent, probeLeash, projectTell, readHeart, readLatestTurnForBody, readOpenBoundTurns, readOpenPendingTellDisposition, readTell, readTurn, readTurnParticipants, readNonterminalRequests, resolvePendingTellDisposition, } from "./heart/index.js";
10
+ import { akumaPathsSchema, pathsForAkuId, worldRootForAkumaPaths } from "./identity.js";
9
11
  import { admitCallInitialTell, } from "./call-initial-tell.js";
10
12
  import { akumaExecutionEnvironment } from "./providers/execution-environment.js";
11
13
  import { pluginRuntime } from "../plugin/runtime.js";
@@ -17,6 +19,27 @@ const LEASH_RETRY_MS = 100;
17
19
  const WAKE_REREAD_MS = 100;
18
20
  export const LEASH_HELD_EXIT = 75;
19
21
  export { CONTROL_RESPONSE_MS } from "./body-supervisor.js";
22
+ const launchSeedSchema = z.unknown().transform((value, context) => {
23
+ try {
24
+ return decodeSoulSeed(value);
25
+ }
26
+ catch {
27
+ context.addIssue({ code: "custom", message: "invalid Body birth seed" });
28
+ return z.NEVER;
29
+ }
30
+ });
31
+ export const bodyLaunchSchema = z
32
+ .object({
33
+ paths: akumaPathsSchema,
34
+ seed: launchSeedSchema.optional(),
35
+ birthSession: sessionAdmissionSchema.optional(),
36
+ initialBody: z.string().optional(),
37
+ initiator: z.string().optional(),
38
+ initialSchemaJson: z.string().optional(),
39
+ refuseIfHeld: z.boolean().optional(),
40
+ completion: z.object({ contractId: z.string().optional() }).strict().optional(),
41
+ })
42
+ .strict();
20
43
  function missing(error) {
21
44
  return isHeartAbsent(error) || error.code === "ENOENT";
22
45
  }
@@ -148,64 +171,63 @@ const DEFAULT_RUNTIME = {
148
171
  spawnBody: spawnAkumaBody,
149
172
  };
150
173
  /**
151
- * The runtime executable this process recorded at its birth. A package-manager
152
- * upgrade can remove the file under a live process, so a wake re-resolves that
153
- * record instead of surfacing a bare missing-file launch failure.
174
+ * The Body spawn executable is the waking process's own executable, resolved
175
+ * at use time. There is no recorded path and no re-resolution chain: when the
176
+ * file is genuinely gone the spawn fails honestly and the wake diagnostic
177
+ * names the missing piece.
154
178
  */
155
- const RECORDED_RUNTIME = process.execPath;
156
- async function runtimeFileExists(path) {
179
+ async function executableMissing(path) {
157
180
  try {
158
- return (await stat(path)).isFile();
181
+ return !(await stat(path)).isFile();
159
182
  }
160
183
  catch {
161
- return false;
184
+ return true;
162
185
  }
163
186
  }
164
- async function runtimeCommandOnPath(command, path, exists) {
165
- if (command.length === 0 || command.includes("/") || command.includes("\\"))
166
- return null;
167
- for (const directory of (path ?? "").split(delimiter)) {
168
- if (directory.length === 0)
169
- continue;
170
- const candidate = join(directory, command);
171
- if (await exists(candidate))
172
- return candidate;
187
+ async function frozenCwdMissing(path) {
188
+ try {
189
+ await stat(path);
190
+ return false;
173
191
  }
174
- return null;
175
- }
176
- class StaleRuntimeError extends Error {
177
- constructor(recorded, current, command) {
178
- super(`recorded Body runtime ${recorded} no longer exists and re-resolution failed: neither this process executable ` +
179
- `${current} nor the command "${command}" on PATH names an existing file; kill this Akuma and call a fresh one`);
180
- this.name = "StaleRuntimeError";
192
+ catch {
193
+ return true;
181
194
  }
182
195
  }
183
196
  /**
184
- * Resolve the runtime executable a Body spawn will use. The path recorded for
185
- * this process's birth wins while it exists. Once it is gone, wake re-resolves
186
- * the runtime before any spawn can fail: the current process executable while
187
- * that is a different live value, then the recorded executable basename on the
188
- * present PATH. An unresolvable runtime refuses with the stale record, the
189
- * failed re-resolution, and the kill-and-call-fresh remedy.
197
+ * Diagnose an ENOENT Body spawn failure by checking the attempted executable
198
+ * and the frozen execution cwd separately. The message names the genuinely
199
+ * missing piece(s) with the kill-and-call-fresh remedy; a missing cwd likely
200
+ * means its Contract was accepted and the worktree cleaned up. When both
201
+ * pieces still exist the original failure passes through unchanged, as does
202
+ * any non-ENOENT spawn failure.
190
203
  */
191
- export async function resolveRuntimeExecutable(recorded = RECORDED_RUNTIME, environment = {}) {
192
- const exists = environment.exists ?? runtimeFileExists;
193
- if (await exists(recorded))
194
- return recorded;
195
- const current = environment.current ?? process.execPath;
196
- const command = basename(recorded);
197
- const reResolved = (current !== recorded && (await exists(current)) ? current : null) ??
198
- (await runtimeCommandOnPath(command, environment.path ?? process.env.PATH, exists));
199
- if (reResolved === null)
200
- throw new StaleRuntimeError(recorded, current, command);
201
- return reResolved;
202
- }
203
- export async function bodyProcessInput(launch, bodyModuleUrl = import.meta.url, runtime = {}) {
204
+ async function diagnoseSpawnEnoent(input, cause) {
205
+ const executable = input.argv[0] ?? process.execPath;
206
+ const cwd = input.cwd;
207
+ const [noExecutable, noCwd] = await Promise.all([executableMissing(executable), frozenCwdMissing(cwd)]);
208
+ if (!noExecutable && !noCwd)
209
+ return cause instanceof Error ? cause : new Error(String(cause));
210
+ const missing = [];
211
+ if (noCwd)
212
+ missing.push(`frozen execution directory ${cwd} no longer exists`);
213
+ if (noExecutable)
214
+ missing.push(`waking process executable ${executable} no longer exists (the host likely removed the running process binary)`);
215
+ const remedies = [];
216
+ if (noCwd)
217
+ remedies.push("a missing execution directory likely means its Contract was accepted and the worktree cleaned up, with deliverables already in Git");
218
+ if (noExecutable)
219
+ remedies.push("a missing executable likely means the host removed the running process binary: re-enter with a fresh CLI process and retry");
220
+ const remedy = `kill this Akuma and call a fresh one; ${remedies.join("; ")}`;
221
+ const error = new Error(`Body spawn failed: ${missing.join(" and ")}; ${remedy}`, { cause });
222
+ error.code = "ENOENT";
223
+ return error;
224
+ }
225
+ export async function bodyProcessInput(launch, bodyModuleUrl = import.meta.url) {
204
226
  const encoded = Buffer.from(JSON.stringify(launch), "utf8").toString("base64url");
205
227
  const actorId = launch.seed?.id ?? (await readHeart(launch.paths)).soul?.id;
206
228
  if (actorId === undefined)
207
229
  throw new Error("Akuma wake has no born soul");
208
- const executable = await resolveRuntimeExecutable(runtime.recorded, runtime.environment);
230
+ const executable = process.execPath;
209
231
  const source = bodyModuleUrl.endsWith(".ts");
210
232
  const entry = fileURLToPath(new URL(source ? "../akuma-body.ts" : "../akuma-body.js", bodyModuleUrl));
211
233
  return {
@@ -295,6 +317,7 @@ function turnOutcomeEmitter(launch, soul) {
295
317
  const turn = await readTurn(launch.paths, turnSequence);
296
318
  if (turn === null)
297
319
  throw new Error(`Committed Turn ${turnSequence} is missing from Heart`);
320
+ const participants = await readTurnParticipants(launch.paths, turnSequence);
298
321
  plugins ??= pluginRuntime({
299
322
  world: await World.at(worldRootForAkumaPaths(launch.paths)),
300
323
  reportDiagnostic,
@@ -305,6 +328,7 @@ function turnOutcomeEmitter(launch, soul) {
305
328
  bodySequence: turn.bodySequence,
306
329
  turnSequence,
307
330
  ...(turn.initiator === undefined ? {} : { initiator: turn.initiator }),
331
+ ...(participants.length === 0 ? {} : { participants }),
308
332
  outcome: outcome.outcome === "answered"
309
333
  ? { kind: "answered", text: outcome.answer }
310
334
  : { kind: "failed", reason: outcome.diagnostic },
@@ -324,7 +348,9 @@ function bodyEndEmitter(launch, soul) {
324
348
  };
325
349
  return (bodySequence, end, diagnostic) => (async () => {
326
350
  try {
327
- const initiator = (await readLatestTurnForBody(launch.paths, bodySequence))?.initiator;
351
+ const latestTurn = await readLatestTurnForBody(launch.paths, bodySequence);
352
+ const initiator = latestTurn?.initiator;
353
+ const participants = latestTurn === null ? [] : await readTurnParticipants(launch.paths, latestTurn.sequence);
328
354
  plugins ??= pluginRuntime({
329
355
  world: await World.at(worldRootForAkumaPaths(launch.paths)),
330
356
  reportDiagnostic,
@@ -336,6 +362,7 @@ function bodyEndEmitter(launch, soul) {
336
362
  bodySequence,
337
363
  end,
338
364
  ...(initiator === undefined ? {} : { initiator }),
365
+ ...(participants.length === 0 ? {} : { participants }),
339
366
  ...(diagnostic === undefined ? {} : { diagnostic }),
340
367
  ...(launch.completion?.contractId === undefined ? {} : { contractId: launch.completion.contractId }),
341
368
  }, reportDiagnostic);
@@ -576,8 +603,16 @@ export async function driveAkumaBody(launch, adapter, runtimeInput = {}) {
576
603
  await finished.notification;
577
604
  }
578
605
  }
579
- export async function spawnAkumaBody(launch, runtime = {}) {
580
- return await spawnDetachedProcess(await bodyProcessInput(launch, import.meta.url, runtime));
606
+ export async function spawnAkumaBody(launch) {
607
+ const input = await bodyProcessInput(launch, import.meta.url);
608
+ try {
609
+ return await spawnDetachedProcess(input);
610
+ }
611
+ catch (error) {
612
+ if (error?.code !== "ENOENT")
613
+ throw error;
614
+ throw await diagnoseSpawnEnoent(input, error);
615
+ }
581
616
  }
582
617
  export async function runAkumaBody(launch, world, externalCommands) {
583
618
  return await driveAkumaBody(launch, undefined, { world, externalCommands });
@@ -1,40 +1,148 @@
1
- import { type TellFact, type TellRow } from "./heart/index.js";
2
- import { type AkuId } from "./identity.js";
1
+ import { z } from "zod";
3
2
  import type { WorldRoot } from "../world.js";
3
+ import { type TellFact } from "./heart/index.js";
4
+ import { type AkuId } from "./identity.js";
4
5
  export type CallInitialTell = Readonly<{
5
6
  tellId: string;
6
7
  body: string;
7
8
  schemaJson?: string;
8
9
  initiator?: string;
9
10
  }>;
10
- export type TellWake = Readonly<{
11
- kind: "told";
12
- }> | Readonly<{
13
- kind: "pursuing";
14
- bodySequence: number;
15
- }> | Readonly<{
16
- kind: "held";
17
- }> | Readonly<{
11
+ declare const tellWakeSchema: z.ZodUnion<readonly [z.ZodObject<{
12
+ kind: z.ZodLiteral<"told">;
13
+ }, z.core.$strict>, z.ZodObject<{
14
+ kind: z.ZodLiteral<"held">;
15
+ }, z.core.$strict>, z.ZodObject<{
16
+ kind: z.ZodLiteral<"pursuing">;
17
+ bodySequence: z.ZodNumber;
18
+ }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
19
+ kind: z.ZodLiteral<"failed">;
20
+ diagnostic: z.ZodString;
21
+ child: z.ZodOptional<z.ZodObject<{
22
+ code: z.ZodNullable<z.ZodNumber>;
23
+ signal: z.ZodNullable<z.ZodString>;
24
+ log: z.ZodObject<{
25
+ path: z.ZodString;
26
+ from: z.ZodNumber;
27
+ to: z.ZodNumber;
28
+ }, z.core.$strict>;
29
+ }, z.core.$strict>>;
30
+ }, z.core.$strict>, z.ZodTransform<{
31
+ kind: "failed";
32
+ diagnostic: string;
33
+ } | {
34
+ child: {
35
+ code: number | null;
36
+ signal: string | null;
37
+ log: {
38
+ path: string;
39
+ from: number;
40
+ to: number;
41
+ };
42
+ };
18
43
  kind: "failed";
19
44
  diagnostic: string;
20
- child?: Readonly<{
45
+ }, {
46
+ kind: "failed";
47
+ diagnostic: string;
48
+ child?: {
21
49
  code: number | null;
22
50
  signal: string | null;
23
- log: Readonly<{
51
+ log: {
24
52
  path: string;
25
53
  from: number;
26
54
  to: number;
55
+ };
56
+ } | undefined;
57
+ }>>]>;
58
+ export declare const tellResultSchema: z.ZodObject<{
59
+ admission: z.ZodObject<{
60
+ fact: z.ZodLiteral<"recorded">;
61
+ tellId: z.ZodString;
62
+ }, z.core.$strict>;
63
+ row: z.ZodObject<{
64
+ kind: z.ZodLiteral<"tell">;
65
+ sequence: z.ZodNumber;
66
+ at: z.ZodString;
67
+ tellId: z.ZodString;
68
+ text: z.ZodString;
69
+ state: z.ZodEnum<{
70
+ pending: "pending";
71
+ told: "told";
27
72
  }>;
28
- }>;
29
- }>;
30
- export type TellResult = Readonly<{
31
- admission: Readonly<{
32
- tellId: string;
33
- fact: "recorded";
34
- }>;
35
- row: TellRow;
36
- wake: TellWake;
37
- }>;
73
+ deliveries: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodObject<{
74
+ deliveredAt: z.ZodString;
75
+ route: z.ZodEnum<{
76
+ live: "live";
77
+ launch: "launch";
78
+ }>;
79
+ turnSequence: z.ZodNumber;
80
+ receipt: z.ZodOptional<z.ZodEnum<{
81
+ required: "required";
82
+ unavailable: "unavailable";
83
+ }>>;
84
+ }, z.core.$strict>, z.ZodTransform<Readonly<{
85
+ turnSequence: number;
86
+ route: "launch" | "live";
87
+ receipt?: "unavailable" | "required";
88
+ deliveredAt: string;
89
+ }>, {
90
+ deliveredAt: string;
91
+ route: "live" | "launch";
92
+ turnSequence: number;
93
+ receipt?: "required" | "unavailable" | undefined;
94
+ }>>>>;
95
+ }, z.core.$strict>;
96
+ wake: z.ZodUnion<readonly [z.ZodObject<{
97
+ kind: z.ZodLiteral<"told">;
98
+ }, z.core.$strict>, z.ZodObject<{
99
+ kind: z.ZodLiteral<"held">;
100
+ }, z.core.$strict>, z.ZodObject<{
101
+ kind: z.ZodLiteral<"pursuing">;
102
+ bodySequence: z.ZodNumber;
103
+ }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
104
+ kind: z.ZodLiteral<"failed">;
105
+ diagnostic: z.ZodString;
106
+ child: z.ZodOptional<z.ZodObject<{
107
+ code: z.ZodNullable<z.ZodNumber>;
108
+ signal: z.ZodNullable<z.ZodString>;
109
+ log: z.ZodObject<{
110
+ path: z.ZodString;
111
+ from: z.ZodNumber;
112
+ to: z.ZodNumber;
113
+ }, z.core.$strict>;
114
+ }, z.core.$strict>>;
115
+ }, z.core.$strict>, z.ZodTransform<{
116
+ kind: "failed";
117
+ diagnostic: string;
118
+ } | {
119
+ child: {
120
+ code: number | null;
121
+ signal: string | null;
122
+ log: {
123
+ path: string;
124
+ from: number;
125
+ to: number;
126
+ };
127
+ };
128
+ kind: "failed";
129
+ diagnostic: string;
130
+ }, {
131
+ kind: "failed";
132
+ diagnostic: string;
133
+ child?: {
134
+ code: number | null;
135
+ signal: string | null;
136
+ log: {
137
+ path: string;
138
+ from: number;
139
+ to: number;
140
+ };
141
+ } | undefined;
142
+ }>>]>;
143
+ }, z.core.$strict>;
144
+ export type TellWake = z.infer<typeof tellWakeSchema>;
145
+ export type TellResult = z.infer<typeof tellResultSchema>;
38
146
  export type CallInitialTellAdmission = Readonly<{
39
147
  kind: "admitted";
40
148
  tell: TellFact;
@@ -53,3 +161,4 @@ export declare function admitCallInitialTell(input: Readonly<{
53
161
  now?: () => string;
54
162
  wake(tell: TellFact): Promise<TellResult>;
55
163
  }>): Promise<CallInitialTellAdmission>;
164
+ export {};
@@ -1,7 +1,37 @@
1
- import { defaultWaitComplete, bornStatus, readWaitComplete, waitForObservation } from "./akuma-observe.js";
1
+ import { z } from "zod";
2
+ import { bornStatus, defaultWaitComplete, readWaitComplete, waitForObservation } from "./akuma-observe.js";
2
3
  import { recordTell } from "./heart/index.js";
3
4
  import { pathsForAkuId } from "./identity.js";
5
+ import { tellRowSchema } from "./projection.js";
4
6
  import { BIRTH_TIMEOUT_MS } from "./publication.js";
7
+ const nonblankTextSchema = z.string().refine((value) => value.trim() !== "");
8
+ const runLogReferenceSchema = z
9
+ .object({ path: z.string(), from: z.number().int().nonnegative(), to: z.number().int().nonnegative() })
10
+ .strict();
11
+ const failedTellWakeSchema = z
12
+ .object({
13
+ kind: z.literal("failed"),
14
+ diagnostic: z.string(),
15
+ child: z
16
+ .object({ code: z.number().int().nullable(), signal: z.string().nullable(), log: runLogReferenceSchema })
17
+ .strict()
18
+ .optional(),
19
+ })
20
+ .strict()
21
+ .transform(({ child, ...wake }) => (child === undefined ? wake : { ...wake, child }));
22
+ const tellWakeSchema = z.union([
23
+ z.object({ kind: z.literal("told") }).strict(),
24
+ z.object({ kind: z.literal("held") }).strict(),
25
+ z.object({ kind: z.literal("pursuing"), bodySequence: z.number().int().nonnegative() }).strict(),
26
+ failedTellWakeSchema,
27
+ ]);
28
+ export const tellResultSchema = z
29
+ .object({
30
+ admission: z.object({ fact: z.literal("recorded"), tellId: nonblankTextSchema }).strict(),
31
+ row: tellRowSchema,
32
+ wake: tellWakeSchema,
33
+ })
34
+ .strict();
5
35
  export async function admitCallInitialTell(input) {
6
36
  const paths = pathsForAkuId(input.world, input.id);
7
37
  const birth = await waitForObservation({