@astrosheep/keiyaku 4.5.28 → 4.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) 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 -19
  10. package/build/src/akuma/akuma-instance.js +65 -177
  11. package/build/src/akuma/akuma-observe.d.ts +3 -21
  12. package/build/src/akuma/akuma-observe.js +7 -25
  13. package/build/src/akuma/{akuma-handle.d.ts → akuma-owner.d.ts} +60 -25
  14. package/build/src/akuma/{akuma-handle.js → akuma-owner.js} +43 -29
  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 -32
  18. package/build/src/akuma/akuma-wait.js +113 -0
  19. package/build/src/akuma/akuma.d.ts +35 -97
  20. package/build/src/akuma/akuma.js +148 -35
  21. package/build/src/akuma/archetype.d.ts +18 -6
  22. package/build/src/akuma/archetype.js +52 -34
  23. package/build/src/akuma/body.d.ts +79 -61
  24. package/build/src/akuma/body.js +101 -50
  25. package/build/src/akuma/call-initial-tell.d.ts +164 -0
  26. package/build/src/akuma/call-initial-tell.js +62 -0
  27. package/build/src/akuma/call-input.d.ts +0 -3
  28. package/build/src/akuma/call-input.js +0 -7
  29. package/build/src/akuma/call-request.d.ts +247 -38
  30. package/build/src/akuma/call-request.js +77 -92
  31. package/build/src/akuma/coordinate.d.ts +15 -5
  32. package/build/src/akuma/coordinate.js +12 -22
  33. package/build/src/akuma/dispatch-association.d.ts +1 -1
  34. package/build/src/akuma/dispatch-association.js +1 -10
  35. package/build/src/akuma/heart/activity-schema.d.ts +325 -0
  36. package/build/src/akuma/heart/activity-schema.js +53 -0
  37. package/build/src/akuma/heart/facts.d.ts +3 -9
  38. package/build/src/akuma/heart/index.d.ts +3 -1
  39. package/build/src/akuma/heart/index.js +4 -1
  40. package/build/src/akuma/heart/rows.d.ts +49 -2
  41. package/build/src/akuma/heart/rows.js +16 -2
  42. package/build/src/akuma/heart/soul.d.ts +1 -0
  43. package/build/src/akuma/heart/soul.js +7 -10
  44. package/build/src/akuma/heart/tells.d.ts +1 -0
  45. package/build/src/akuma/heart/tells.js +18 -0
  46. package/build/src/akuma/identity.d.ts +10 -7
  47. package/build/src/akuma/identity.js +23 -0
  48. package/build/src/akuma/index.d.ts +10 -8
  49. package/build/src/akuma/index.js +2 -2
  50. package/build/src/akuma/nuke.d.ts +3 -0
  51. package/build/src/akuma/nuke.js +13 -7
  52. package/build/src/akuma/projection-read.js +1 -2
  53. package/build/src/akuma/projection.d.ts +0 -5
  54. package/build/src/akuma/projection.js +22 -43
  55. package/build/src/akuma/provider-recipe.d.ts +58 -23
  56. package/build/src/akuma/provider-recipe.js +62 -103
  57. package/build/src/akuma/provider.d.ts +7 -78
  58. package/build/src/akuma/provider.js +11 -219
  59. package/build/src/akuma/providers/acp/config.d.ts +2 -0
  60. package/build/src/akuma/providers/acp/config.js +26 -1
  61. package/build/src/akuma/providers/acp/core.d.ts +7 -0
  62. package/build/src/akuma/providers/acp/core.js +49 -18
  63. package/build/src/akuma/providers/acp/index.js +14 -17
  64. package/build/src/akuma/providers/claude/index.js +2 -14
  65. package/build/src/akuma/providers/codex-app-server/index.js +0 -22
  66. package/build/src/akuma/providers/grok-build/index.js +44 -24
  67. package/build/src/akuma/providers/index.d.ts +3 -3
  68. package/build/src/akuma/providers/index.js +2 -13
  69. package/build/src/akuma/providers/opencode-sdk/event-stream.d.ts +28 -0
  70. package/build/src/akuma/providers/opencode-sdk/event-stream.js +92 -0
  71. package/build/src/akuma/providers/opencode-sdk/events.d.ts +0 -1
  72. package/build/src/akuma/providers/opencode-sdk/index.js +200 -74
  73. package/build/src/akuma/providers/opencode-sdk/session.d.ts +41 -1
  74. package/build/src/akuma/providers/opencode-sdk/session.js +69 -2
  75. package/build/src/akuma/providers/pi/events.js +5 -2
  76. package/build/src/akuma/providers/pi/index.js +70 -24
  77. package/build/src/akuma/publication.d.ts +84 -3
  78. package/build/src/akuma/publication.js +145 -2
  79. package/build/src/akuma/read-pool.d.ts +2 -0
  80. package/build/src/akuma/read-pool.js +15 -0
  81. package/build/src/akuma/request-rendezvous.js +10 -0
  82. package/build/src/akuma/request-serve.js +7 -0
  83. package/build/src/akuma/request-wire.d.ts +14 -26
  84. package/build/src/akuma/request-wire.js +4 -0
  85. package/build/src/akuma/requests.d.ts +0 -3
  86. package/build/src/akuma/requests.js +0 -24
  87. package/build/src/akuma/{fleet-observation.d.ts → selection-observation.d.ts} +61 -52
  88. package/build/src/akuma/selection-observation.js +65 -0
  89. package/build/src/akuma/{fleet-owner-port.d.ts → selection-owner-port.d.ts} +3 -3
  90. package/build/src/akuma/{fleet-owner-port.js → selection-owner-port.js} +11 -17
  91. package/build/src/akuma/{fleet-request.d.ts → selection-request.d.ts} +42 -82
  92. package/build/src/akuma/{fleet-request.js → selection-request.js} +92 -136
  93. package/build/src/akuma/turn-drive.d.ts +3 -0
  94. package/build/src/akuma/turn-drive.js +75 -16
  95. package/build/src/akuma-body.js +91 -56
  96. package/build/src/body/amend.d.ts +5 -0
  97. package/build/src/body/amend.js +26 -50
  98. package/build/src/body/arc.d.ts +4 -2
  99. package/build/src/body/arc.js +19 -26
  100. package/build/src/body/criteria.d.ts +6 -0
  101. package/build/src/body/criteria.js +37 -0
  102. package/build/src/body/decode.js +5 -42
  103. package/build/src/body/region.d.ts +5 -0
  104. package/build/src/body/region.js +45 -2
  105. package/build/src/body/render.js +2 -4
  106. package/build/src/cli/activity.d.ts +26 -0
  107. package/build/src/cli/activity.js +75 -0
  108. package/build/src/cli/actor.d.ts +3 -1
  109. package/build/src/cli/actor.js +15 -2
  110. package/build/src/cli/commands/akuma-grammar.d.ts +75 -0
  111. package/build/src/cli/commands/akuma-grammar.js +414 -0
  112. package/build/src/cli/commands/akuma.d.ts +5 -69
  113. package/build/src/cli/commands/akuma.js +352 -312
  114. package/build/src/cli/commands/amend.d.ts +4 -5
  115. package/build/src/cli/commands/amend.js +1 -2
  116. package/build/src/cli/commands/bind.d.ts +4 -5
  117. package/build/src/cli/commands/bind.js +5 -9
  118. package/build/src/cli/commands/contract-grammar.d.ts +112 -0
  119. package/build/src/cli/commands/contract-grammar.js +282 -0
  120. package/build/src/cli/commands/contract-help.d.ts +28 -30
  121. package/build/src/cli/commands/contract-help.js +69 -96
  122. package/build/src/cli/commands/contract.d.ts +18 -97
  123. package/build/src/cli/commands/contract.js +620 -237
  124. package/build/src/cli/commands/install.d.ts +1 -1
  125. package/build/src/cli/commands/install.js +2 -2
  126. package/build/src/cli/commands/task-grammar.d.ts +19 -0
  127. package/build/src/cli/commands/task-grammar.js +438 -0
  128. package/build/src/cli/commands/task-query.js +23 -104
  129. package/build/src/cli/commands/task.d.ts +5 -20
  130. package/build/src/cli/commands/task.js +415 -333
  131. package/build/src/cli/coordinates.d.ts +10 -0
  132. package/build/src/cli/coordinates.js +20 -0
  133. package/build/src/cli/draft.d.ts +7 -1
  134. package/build/src/cli/main.js +10 -1
  135. package/build/src/cli/parse.d.ts +8 -9
  136. package/build/src/cli/parse.js +63 -61
  137. package/build/src/cli/render/akuma-activity.d.ts +88 -39
  138. package/build/src/cli/render/akuma-activity.js +465 -263
  139. package/build/src/cli/render/akuma-tool.d.ts +15 -5
  140. package/build/src/cli/render/akuma-tool.js +40 -27
  141. package/build/src/cli/render/akuma.d.ts +40 -24
  142. package/build/src/cli/render/akuma.js +108 -205
  143. package/build/src/cli/render/audit.d.ts +6 -2
  144. package/build/src/cli/render/audit.js +61 -30
  145. package/build/src/cli/render/catalog.d.ts +11 -2
  146. package/build/src/cli/render/catalog.js +75 -94
  147. package/build/src/cli/render/contract-history.d.ts +3 -1
  148. package/build/src/cli/render/contract-history.js +215 -22
  149. package/build/src/cli/render/contract-observation.d.ts +10 -5
  150. package/build/src/cli/render/contract-observation.js +29 -46
  151. package/build/src/cli/render/contract.d.ts +10 -3
  152. package/build/src/cli/render/contract.js +255 -106
  153. package/build/src/cli/render/effects.d.ts +26 -0
  154. package/build/src/cli/render/effects.js +41 -0
  155. package/build/src/cli/render/execution-progress.d.ts +18 -6
  156. package/build/src/cli/render/execution-progress.js +34 -31
  157. package/build/src/cli/render/kanshi-akuma.d.ts +1 -2
  158. package/build/src/cli/render/kanshi-akuma.js +5 -26
  159. package/build/src/cli/render/kanshi.js +108 -129
  160. package/build/src/cli/render/marks.d.ts +13 -0
  161. package/build/src/cli/render/marks.js +74 -0
  162. package/build/src/cli/render/nuke.js +18 -7
  163. package/build/src/cli/render/receipt.d.ts +10 -4
  164. package/build/src/cli/render/receipt.js +126 -46
  165. package/build/src/cli/render/reconcile.d.ts +5 -0
  166. package/build/src/cli/render/reconcile.js +152 -0
  167. package/build/src/cli/render/refusal.d.ts +21 -4
  168. package/build/src/cli/render/refusal.js +61 -34
  169. package/build/src/cli/render/region.js +3 -2
  170. package/build/src/cli/render/settings.js +4 -14
  171. package/build/src/cli/render/task.d.ts +37 -6
  172. package/build/src/cli/render/task.js +162 -158
  173. package/build/src/cli/render/terminal.d.ts +25 -1
  174. package/build/src/cli/render/terminal.js +105 -18
  175. package/build/src/cli/runtime.d.ts +32 -8
  176. package/build/src/cli/runtime.js +161 -163
  177. package/build/src/cli/selectors.d.ts +5 -2
  178. package/build/src/cli/selectors.js +11 -3
  179. package/build/src/cli/streams.d.ts +11 -0
  180. package/build/src/cli/streams.js +32 -0
  181. package/build/src/cli/usage.d.ts +2 -0
  182. package/build/src/cli/usage.js +12 -8
  183. package/build/src/contract-guidance.js +3 -7
  184. package/build/src/contract-worktree.d.ts +20 -28
  185. package/build/src/contract-worktree.js +18 -70
  186. package/build/src/coordination/durable-file.d.ts +2 -2
  187. package/build/src/coordination/durable-file.js +0 -27
  188. package/build/src/core/facts/codec.d.ts +1 -2
  189. package/build/src/core/facts/codec.js +6 -7
  190. package/build/src/core/facts/gate.d.ts +0 -1
  191. package/build/src/core/facts/gate.js +0 -82
  192. package/build/src/core/facts/types.d.ts +1 -2
  193. package/build/src/core/verbs/abandon.d.ts +2 -6
  194. package/build/src/core/verbs/abandon.js +0 -16
  195. package/build/src/core/verbs/amend.d.ts +0 -1
  196. package/build/src/core/verbs/amend.js +0 -20
  197. package/build/src/core/verbs/arc.d.ts +7 -8
  198. package/build/src/core/verbs/arc.js +2 -19
  199. package/build/src/core/verbs/attestation.d.ts +2 -6
  200. package/build/src/core/verbs/attestation.js +0 -16
  201. package/build/src/core/verbs/bind.d.ts +0 -1
  202. package/build/src/core/verbs/bind.js +0 -16
  203. package/build/src/core/verbs/deliver.d.ts +0 -1
  204. package/build/src/core/verbs/deliver.js +0 -16
  205. package/build/src/core/verbs/placement.d.ts +2 -1
  206. package/build/src/core/verbs/placement.js +10 -59
  207. package/build/src/git/admission.d.ts +6 -4
  208. package/build/src/git/admission.js +4 -0
  209. package/build/src/git/hooks.d.ts +55 -30
  210. package/build/src/git/hooks.js +30 -3
  211. package/build/src/git/identity.d.ts +6 -0
  212. package/build/src/git/identity.js +47 -0
  213. package/build/src/git/integration.d.ts +31 -13
  214. package/build/src/git/integration.js +32 -1
  215. package/build/src/git/nuke.d.ts +10 -1
  216. package/build/src/git/nuke.js +31 -11
  217. package/build/src/git/observe.js +2 -15
  218. package/build/src/git/private-state-seat.d.ts +6 -7
  219. package/build/src/git/private-state-seat.js +8 -6
  220. package/build/src/git/read-observation.d.ts +6 -1
  221. package/build/src/git/read-observation.js +81 -46
  222. package/build/src/git/reconcile.d.ts +117 -40
  223. package/build/src/git/reconcile.js +169 -40
  224. package/build/src/git/scratch.d.ts +7 -4
  225. package/build/src/git/scratch.js +28 -6
  226. package/build/src/git/target-placement.d.ts +53 -38
  227. package/build/src/git/target-placement.js +69 -54
  228. package/build/src/git/tender.d.ts +37 -28
  229. package/build/src/git/tender.js +39 -0
  230. package/build/src/git/terminal-reconcile.js +21 -23
  231. package/build/src/git/terminal-seal.d.ts +8 -6
  232. package/build/src/git/terminal-seal.js +10 -0
  233. package/build/src/git/workspace.d.ts +29 -15
  234. package/build/src/git/workspace.js +28 -2
  235. package/build/src/identity/normalize.js +19 -6
  236. package/build/src/index.d.ts +78 -6
  237. package/build/src/index.js +52 -3
  238. package/build/src/kanshi/read.d.ts +3 -3
  239. package/build/src/kanshi/read.js +21 -21
  240. package/build/src/kanshi/report.d.ts +9 -8
  241. package/build/src/kanshi/roster.d.ts +2 -0
  242. package/build/src/kanshi/roster.js +2 -0
  243. package/build/src/kanshi/select.js +7 -3
  244. package/build/src/library/address.d.ts +3 -7
  245. package/build/src/library/address.js +7 -7
  246. package/build/src/library/akuma-creation.d.ts +35 -33
  247. package/build/src/library/akuma-creation.js +184 -167
  248. package/build/src/library/akumas.d.ts +40 -0
  249. package/build/src/library/akumas.js +84 -0
  250. package/build/src/library/bind.d.ts +107 -13
  251. package/build/src/library/bind.js +29 -23
  252. package/build/src/library/continuation.d.ts +556 -28
  253. package/build/src/library/continuation.js +29 -54
  254. package/build/src/library/contract-composition.d.ts +40 -0
  255. package/build/src/library/contract-composition.js +105 -0
  256. package/build/src/library/contract-creation.d.ts +7 -0
  257. package/build/src/library/contract-creation.js +192 -0
  258. package/build/src/library/contract-execution.d.ts +29 -40
  259. package/build/src/library/contract-execution.js +503 -128
  260. package/build/src/library/contract-operations.d.ts +275 -134
  261. package/build/src/library/contract-operations.js +83 -92
  262. package/build/src/library/contract-outcomes.d.ts +71 -0
  263. package/build/src/library/contract-outcomes.js +32 -0
  264. package/build/src/library/contract-settings.d.ts +25 -0
  265. package/build/src/library/contract-settings.js +135 -0
  266. package/build/src/library/contract-types.d.ts +24 -38
  267. package/build/src/library/delivery.d.ts +530 -10
  268. package/build/src/library/delivery.js +20 -45
  269. package/build/src/library/input.d.ts +3 -1
  270. package/build/src/library/input.js +11 -16
  271. package/build/src/library/invocation.d.ts +87 -0
  272. package/build/src/library/invocation.js +290 -0
  273. package/build/src/library/keiyaku.d.ts +44 -437
  274. package/build/src/library/keiyaku.js +132 -20
  275. package/build/src/library/nuke.d.ts +2 -11
  276. package/build/src/library/nuke.js +70 -57
  277. package/build/src/library/outcome.d.ts +13196 -0
  278. package/build/src/library/outcome.js +487 -0
  279. package/build/src/library/reconcile.d.ts +96 -24
  280. package/build/src/library/reconcile.js +102 -42
  281. package/build/src/library/refusal.d.ts +470 -42
  282. package/build/src/library/refusal.js +55 -143
  283. package/build/src/library/region.d.ts +15 -7
  284. package/build/src/library/region.js +23 -3
  285. package/build/src/library/repo.d.ts +2 -12
  286. package/build/src/library/repo.js +1 -22
  287. package/build/src/library/selection.d.ts +121 -0
  288. package/build/src/library/{fleet.js → selection.js} +177 -160
  289. package/build/src/plugin/public.d.ts +2 -0
  290. package/build/src/protocol/abandon.d.ts +2 -2
  291. package/build/src/protocol/abandon.js +1 -0
  292. package/build/src/protocol/amend.js +1 -0
  293. package/build/src/protocol/arc.d.ts +6 -4
  294. package/build/src/protocol/attempt.d.ts +4 -2
  295. package/build/src/protocol/attempt.js +10 -0
  296. package/build/src/protocol/audit.d.ts +255 -52
  297. package/build/src/protocol/audit.js +63 -5
  298. package/build/src/protocol/bind.d.ts +18 -17
  299. package/build/src/protocol/bind.js +9 -28
  300. package/build/src/protocol/completion.d.ts +256 -22
  301. package/build/src/protocol/completion.js +100 -12
  302. package/build/src/protocol/deliver.d.ts +34 -23
  303. package/build/src/protocol/deliver.js +39 -25
  304. package/build/src/protocol/execution-observation.d.ts +36 -37
  305. package/build/src/protocol/execution-observation.js +7 -9
  306. package/build/src/protocol/intent.d.ts +101 -30
  307. package/build/src/protocol/intent.js +74 -1
  308. package/build/src/protocol/operations.d.ts +570 -64
  309. package/build/src/protocol/operations.js +189 -9
  310. package/build/src/protocol/outcome.d.ts +2 -1
  311. package/build/src/protocol/placement.d.ts +2 -2
  312. package/build/src/protocol/placement.js +3 -1
  313. package/build/src/protocol/progress.d.ts +108 -65
  314. package/build/src/protocol/progress.js +82 -132
  315. package/build/src/protocol/read/status.d.ts +4 -3
  316. package/build/src/protocol/read/status.js +6 -5
  317. package/build/src/protocol/reconcile.d.ts +3 -3
  318. package/build/src/protocol/reconcile.js +4 -0
  319. package/build/src/protocol/reintegrate.d.ts +2 -2
  320. package/build/src/protocol/review.d.ts +30 -12
  321. package/build/src/protocol/review.js +15 -24
  322. package/build/src/protocol/run.d.ts +34 -5
  323. package/build/src/protocol/run.js +24 -12
  324. package/build/src/runtime/proc/windows-launch.exe +0 -0
  325. package/build/src/settings.d.ts +0 -10
  326. package/build/src/settings.js +0 -76
  327. package/build/src/settlement/holder.d.ts +1 -1
  328. package/build/src/settlement/settle.d.ts +25 -16
  329. package/build/src/settlement/settle.js +80 -20
  330. package/build/src/task/board.d.ts +3 -1
  331. package/build/src/task/board.js +13 -17
  332. package/build/src/task/catalog.d.ts +0 -4
  333. package/build/src/task/catalog.js +0 -15
  334. package/build/src/task/compose-language.d.ts +19 -9
  335. package/build/src/task/compose-language.js +30 -20
  336. package/build/src/task/compose.d.ts +7 -37
  337. package/build/src/task/compose.js +20 -2
  338. package/build/src/task/created-observation.d.ts +0 -1
  339. package/build/src/task/created-observation.js +1 -4
  340. package/build/src/task/document.d.ts +12 -2
  341. package/build/src/task/document.js +4 -0
  342. package/build/src/task/identity.d.ts +4 -1
  343. package/build/src/task/identity.js +21 -17
  344. package/build/src/task/index.d.ts +36 -16
  345. package/build/src/task/index.js +103 -96
  346. package/build/src/task/lifecycle-operations.d.ts +1 -1
  347. package/build/src/task/mutation-result.d.ts +647 -586
  348. package/build/src/task/mutation-result.js +79 -46
  349. package/build/src/task/mutation.d.ts +298 -270
  350. package/build/src/task/mutation.js +93 -110
  351. package/build/src/task/operation-types.d.ts +6 -49
  352. package/build/src/task/operations.d.ts +2 -1
  353. package/build/src/task/operations.js +35 -12
  354. package/build/src/task/query.d.ts +9 -3
  355. package/build/src/task/query.js +42 -16
  356. package/build/src/task/store.d.ts +2 -1
  357. package/build/src/task/store.js +10 -14
  358. package/build/src/verification/declaration.d.ts +0 -1
  359. package/build/src/verification/declaration.js +1 -18
  360. package/build/src/verification/execution.d.ts +6 -2
  361. package/build/src/verification/observation.d.ts +1 -1
  362. package/package.json +2 -14
  363. package/build/src/akuma/akuma-product-symbols.d.ts +0 -1
  364. package/build/src/akuma/akuma-product-symbols.js +0 -1
  365. package/build/src/akuma/akuma-product.d.ts +0 -62
  366. package/build/src/akuma/akuma-product.js +0 -293
  367. package/build/src/akuma/fleet-execution.js +0 -181
  368. package/build/src/akuma/fleet-observation.js +0 -91
  369. package/build/src/cli/accepted.d.ts +0 -24
  370. package/build/src/cli/accepted.js +0 -167
  371. package/build/src/cli/commands/akuma-invoke.d.ts +0 -114
  372. package/build/src/cli/commands/akuma-invoke.js +0 -402
  373. package/build/src/cli/commands/contract-invoke.d.ts +0 -34
  374. package/build/src/cli/commands/contract-invoke.js +0 -259
  375. package/build/src/cli/commands/nuke.d.ts +0 -10
  376. package/build/src/cli/commands/nuke.js +0 -20
  377. package/build/src/cli/commands/status-set.d.ts +0 -4
  378. package/build/src/cli/commands/status-set.js +0 -52
  379. package/build/src/cli/commands/task-invoke.d.ts +0 -49
  380. package/build/src/cli/commands/task-invoke.js +0 -306
  381. package/build/src/cli/invoke.d.ts +0 -27
  382. package/build/src/cli/invoke.js +0 -484
  383. package/build/src/cli/render/board.d.ts +0 -3
  384. package/build/src/cli/render/board.js +0 -25
  385. package/build/src/cli/render/status-set.d.ts +0 -5
  386. package/build/src/cli/render/status-set.js +0 -19
  387. package/build/src/cli/render/text.d.ts +0 -3
  388. package/build/src/cli/render/text.js +0 -33
  389. package/build/src/cli/result.d.ts +0 -240
  390. package/build/src/cli/result.js +0 -1
  391. package/build/src/git/result-codec.d.ts +0 -29
  392. package/build/src/git/result-codec.js +0 -309
  393. package/build/src/kanshi/fleet.d.ts +0 -6
  394. package/build/src/kanshi/fleet.js +0 -27
  395. package/build/src/library/audit.d.ts +0 -29
  396. package/build/src/library/audit.js +0 -41
  397. package/build/src/library/catalog.d.ts +0 -68
  398. package/build/src/library/catalog.js +0 -130
  399. package/build/src/library/composition.d.ts +0 -403
  400. package/build/src/library/composition.js +0 -29
  401. package/build/src/library/configuration.d.ts +0 -4
  402. package/build/src/library/configuration.js +0 -2
  403. package/build/src/library/contract-bind.d.ts +0 -31
  404. package/build/src/library/contract-bind.js +0 -140
  405. package/build/src/library/contract-forwarding.d.ts +0 -55
  406. package/build/src/library/contract-forwarding.js +0 -67
  407. package/build/src/library/contract-handle.d.ts +0 -45
  408. package/build/src/library/contract-handle.js +0 -373
  409. package/build/src/library/contract.d.ts +0 -53
  410. package/build/src/library/contract.js +0 -91
  411. package/build/src/library/execution-result.d.ts +0 -243
  412. package/build/src/library/execution-result.js +0 -101
  413. package/build/src/library/execution.d.ts +0 -8
  414. package/build/src/library/execution.js +0 -102
  415. package/build/src/library/fleet.d.ts +0 -83
  416. package/build/src/library/mutation.d.ts +0 -501
  417. package/build/src/library/mutation.js +0 -248
  418. package/build/src/library/result-codec.d.ts +0 -2
  419. package/build/src/library/result-codec.js +0 -12
  420. package/build/src/protocol/result-codec.d.ts +0 -23
  421. package/build/src/protocol/result-codec.js +0 -488
  422. package/build/src/settlement/result-codec.d.ts +0 -2
  423. package/build/src/settlement/result-codec.js +0 -56
  424. package/build/src/task/public.d.ts +0 -2
  425. package/build/src/task/public.js +0 -1
@@ -1,56 +1,163 @@
1
1
  import { type Soul } from "./heart/index.js";
2
2
  import { type AkuId, type AkumaPaths } from "./identity.js";
3
+ import { type CallInitialTell, type CallInitialTellAdmission } from "./call-initial-tell.js";
3
4
  import { type ChildRequestCommand, type ErasedRequestCommand, type RequestProtocol } from "./request-wire.js";
4
5
  import type { OwnedProcess } from "../runtime/proc/run.js";
5
6
  import { z } from "zod";
6
- import { type WorldRoot } from "../world.js";
7
+ import type { WorldRoot } from "../world.js";
7
8
  declare const akumaCallRecipeSchema: z.ZodObject<{
8
9
  description: z.ZodOptional<z.ZodString>;
9
- allowed: z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./allowed.js").AllowedActions, unknown>>;
10
- provider: z.ZodPipe<z.ZodUnknown, z.ZodTransform<Readonly<{
10
+ allowed: z.ZodPipe<z.ZodArray<z.ZodEnum<{
11
+ "task.add": "task.add";
12
+ "task.addDocument": "task.addDocument";
13
+ "task.compose": "task.compose";
14
+ "task.done": "task.done";
15
+ "task.drop": "task.drop";
16
+ "task.hold": "task.hold";
17
+ "task.resume": "task.resume";
18
+ "task.start": "task.start";
19
+ "task.stop": "task.stop";
20
+ "task.update": "task.update";
21
+ "akuma.call": "akuma.call";
22
+ "akuma.kill": "akuma.kill";
23
+ "akuma.tell": "akuma.tell";
24
+ "contract.audit": "contract.audit";
25
+ "contract.deliver": "contract.deliver";
26
+ "contract.review": "contract.review";
27
+ }>>, z.ZodTransform<import("./allowed.js").AllowedActions, ("task.add" | "task.addDocument" | "task.compose" | "task.done" | "task.drop" | "task.hold" | "task.resume" | "task.start" | "task.stop" | "task.update" | "akuma.call" | "akuma.kill" | "akuma.tell" | "contract.audit" | "contract.deliver" | "contract.review")[]>>;
28
+ provider: z.ZodPipe<z.ZodObject<{
29
+ name: z.ZodString;
30
+ kind: z.ZodEnum<{
31
+ acp: "acp";
32
+ "claude-agent-sdk": "claude-agent-sdk";
33
+ "codex-app-server": "codex-app-server";
34
+ "grok-build": "grok-build";
35
+ "opencode-sdk": "opencode-sdk";
36
+ pi: "pi";
37
+ }>;
38
+ executable: z.ZodOptional<z.ZodString>;
39
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
40
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
41
+ }, z.core.$strip>, z.ZodTransform<Readonly<{
42
+ env?: Readonly<Record<string, string>>;
43
+ config?: Readonly<Record<string, unknown>>;
44
+ executable?: string;
11
45
  name: string;
12
46
  kind: "acp" | "claude-agent-sdk" | "codex-app-server" | "grok-build" | "opencode-sdk" | "pi";
13
- executable?: string;
14
- config?: Readonly<Record<string, unknown>>;
15
- env?: Readonly<Record<string, string>>;
16
- }>, unknown>>;
17
- options: z.ZodPipe<z.ZodUnknown, z.ZodTransform<Readonly<{
18
- model?: string;
19
- effort?: string;
20
- readonly?: true;
21
- network?: "disabled" | "enabled";
22
- sandbox?: "full-access";
47
+ }>, {
48
+ name: string;
49
+ kind: "acp" | "claude-agent-sdk" | "codex-app-server" | "grok-build" | "opencode-sdk" | "pi";
50
+ executable?: string | undefined;
51
+ config?: Record<string, unknown> | undefined;
52
+ env?: Record<string, string> | undefined;
53
+ }>>;
54
+ options: z.ZodPipe<z.ZodObject<{
55
+ model: z.ZodOptional<z.ZodString>;
56
+ effort: z.ZodOptional<z.ZodString>;
57
+ network: z.ZodOptional<z.ZodEnum<{
58
+ disabled: "disabled";
59
+ enabled: "enabled";
60
+ }>>;
61
+ systemPrompt: z.ZodOptional<z.ZodString>;
62
+ systemPromptMode: z.ZodOptional<z.ZodEnum<{
63
+ append: "append";
64
+ replace: "replace";
65
+ }>>;
66
+ }, z.core.$strip>, z.ZodTransform<Readonly<{
67
+ systemPromptMode?: "append" | "replace";
23
68
  systemPrompt?: string;
24
- systemPromptMode?: import("./provider-recipe.js").SystemPromptMode;
25
- }>, unknown>>;
26
- readonly: z.ZodOptional<z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./provider-recipe.js").ReadonlyRestraint, unknown>>>;
69
+ network?: "disabled" | "enabled";
70
+ effort?: string;
71
+ model?: string;
72
+ }>, {
73
+ model?: string | undefined;
74
+ effort?: string | undefined;
75
+ network?: "disabled" | "enabled" | undefined;
76
+ systemPrompt?: string | undefined;
77
+ systemPromptMode?: "append" | "replace" | undefined;
78
+ }>>;
27
79
  }, z.core.$strict>;
28
80
  declare const akumaCallPayloadSchema: z.ZodObject<{
29
81
  world: z.ZodString;
30
82
  archetype: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
31
- body: z.ZodOptional<z.ZodString>;
32
- initiator: z.ZodOptional<z.ZodString>;
83
+ initialTell: z.ZodOptional<z.ZodObject<{
84
+ tellId: z.ZodString;
85
+ body: z.ZodString;
86
+ schemaJson: z.ZodOptional<z.ZodString>;
87
+ initiator: z.ZodOptional<z.ZodString>;
88
+ }, z.core.$strict>>;
33
89
  cwd: z.ZodOptional<z.ZodString>;
34
90
  recipe: z.ZodObject<{
35
91
  description: z.ZodOptional<z.ZodString>;
36
- allowed: z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./allowed.js").AllowedActions, unknown>>;
37
- provider: z.ZodPipe<z.ZodUnknown, z.ZodTransform<Readonly<{
92
+ allowed: z.ZodPipe<z.ZodArray<z.ZodEnum<{
93
+ "task.add": "task.add";
94
+ "task.addDocument": "task.addDocument";
95
+ "task.compose": "task.compose";
96
+ "task.done": "task.done";
97
+ "task.drop": "task.drop";
98
+ "task.hold": "task.hold";
99
+ "task.resume": "task.resume";
100
+ "task.start": "task.start";
101
+ "task.stop": "task.stop";
102
+ "task.update": "task.update";
103
+ "akuma.call": "akuma.call";
104
+ "akuma.kill": "akuma.kill";
105
+ "akuma.tell": "akuma.tell";
106
+ "contract.audit": "contract.audit";
107
+ "contract.deliver": "contract.deliver";
108
+ "contract.review": "contract.review";
109
+ }>>, z.ZodTransform<import("./allowed.js").AllowedActions, ("task.add" | "task.addDocument" | "task.compose" | "task.done" | "task.drop" | "task.hold" | "task.resume" | "task.start" | "task.stop" | "task.update" | "akuma.call" | "akuma.kill" | "akuma.tell" | "contract.audit" | "contract.deliver" | "contract.review")[]>>;
110
+ provider: z.ZodPipe<z.ZodObject<{
111
+ name: z.ZodString;
112
+ kind: z.ZodEnum<{
113
+ acp: "acp";
114
+ "claude-agent-sdk": "claude-agent-sdk";
115
+ "codex-app-server": "codex-app-server";
116
+ "grok-build": "grok-build";
117
+ "opencode-sdk": "opencode-sdk";
118
+ pi: "pi";
119
+ }>;
120
+ executable: z.ZodOptional<z.ZodString>;
121
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
122
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
123
+ }, z.core.$strip>, z.ZodTransform<Readonly<{
124
+ env?: Readonly<Record<string, string>>;
125
+ config?: Readonly<Record<string, unknown>>;
126
+ executable?: string;
38
127
  name: string;
39
128
  kind: "acp" | "claude-agent-sdk" | "codex-app-server" | "grok-build" | "opencode-sdk" | "pi";
40
- executable?: string;
41
- config?: Readonly<Record<string, unknown>>;
42
- env?: Readonly<Record<string, string>>;
43
- }>, unknown>>;
44
- options: z.ZodPipe<z.ZodUnknown, z.ZodTransform<Readonly<{
45
- model?: string;
46
- effort?: string;
47
- readonly?: true;
48
- network?: "disabled" | "enabled";
49
- sandbox?: "full-access";
129
+ }>, {
130
+ name: string;
131
+ kind: "acp" | "claude-agent-sdk" | "codex-app-server" | "grok-build" | "opencode-sdk" | "pi";
132
+ executable?: string | undefined;
133
+ config?: Record<string, unknown> | undefined;
134
+ env?: Record<string, string> | undefined;
135
+ }>>;
136
+ options: z.ZodPipe<z.ZodObject<{
137
+ model: z.ZodOptional<z.ZodString>;
138
+ effort: z.ZodOptional<z.ZodString>;
139
+ network: z.ZodOptional<z.ZodEnum<{
140
+ disabled: "disabled";
141
+ enabled: "enabled";
142
+ }>>;
143
+ systemPrompt: z.ZodOptional<z.ZodString>;
144
+ systemPromptMode: z.ZodOptional<z.ZodEnum<{
145
+ append: "append";
146
+ replace: "replace";
147
+ }>>;
148
+ }, z.core.$strip>, z.ZodTransform<Readonly<{
149
+ systemPromptMode?: "append" | "replace";
50
150
  systemPrompt?: string;
51
- systemPromptMode?: import("./provider-recipe.js").SystemPromptMode;
52
- }>, unknown>>;
53
- readonly: z.ZodOptional<z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./provider-recipe.js").ReadonlyRestraint, unknown>>>;
151
+ network?: "disabled" | "enabled";
152
+ effort?: string;
153
+ model?: string;
154
+ }>, {
155
+ model?: string | undefined;
156
+ effort?: string | undefined;
157
+ network?: "disabled" | "enabled" | undefined;
158
+ systemPrompt?: string | undefined;
159
+ systemPromptMode?: "append" | "replace" | undefined;
160
+ }>>;
54
161
  }, z.core.$strict>;
55
162
  }, z.core.$strict>;
56
163
  export type AkumaCallRecipe = z.infer<typeof akumaCallRecipeSchema>;
@@ -60,22 +167,124 @@ export type AkumaCallRequest = z.infer<typeof akumaCallPayloadSchema> & Readonly
60
167
  export type AkumaCallRequestChildLaunch = Readonly<{
61
168
  paths: AkumaPaths;
62
169
  seed: Omit<Soul, "createdAt">;
63
- initialBody?: string;
64
- initiator?: string;
170
+ }>;
171
+ export type InitialTellAdmissionRequest = Readonly<{
172
+ id: AkuId;
173
+ initialTell: CallInitialTell;
174
+ signal: AbortSignal;
65
175
  }>;
66
176
  type AkumaCallRequestCapabilities = Readonly<{
67
177
  world: WorldRoot;
68
178
  paths: AkumaPaths;
69
179
  parent: Soul;
70
180
  spawn(launch: AkumaCallRequestChildLaunch): Promise<OwnedProcess | void>;
181
+ admitInitialTell(input: InitialTellAdmissionRequest): Promise<CallInitialTellAdmission>;
71
182
  }>;
183
+ declare const liveResultSchema: z.ZodObject<{
184
+ kind: z.ZodLiteral<"live">;
185
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<AkuId, string>>;
186
+ tell: z.ZodOptional<z.ZodObject<{
187
+ admission: z.ZodObject<{
188
+ fact: z.ZodLiteral<"recorded">;
189
+ tellId: z.ZodString;
190
+ }, z.core.$strict>;
191
+ row: z.ZodObject<{
192
+ kind: z.ZodLiteral<"tell">;
193
+ sequence: z.ZodNumber;
194
+ at: z.ZodString;
195
+ tellId: z.ZodString;
196
+ text: z.ZodString;
197
+ state: z.ZodEnum<{
198
+ pending: "pending";
199
+ told: "told";
200
+ }>;
201
+ deliveries: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodObject<{
202
+ deliveredAt: z.ZodString;
203
+ route: z.ZodEnum<{
204
+ live: "live";
205
+ launch: "launch";
206
+ }>;
207
+ turnSequence: z.ZodNumber;
208
+ receipt: z.ZodOptional<z.ZodEnum<{
209
+ required: "required";
210
+ unavailable: "unavailable";
211
+ }>>;
212
+ }, z.core.$strict>, z.ZodTransform<Readonly<{
213
+ turnSequence: number;
214
+ route: "launch" | "live";
215
+ receipt?: "unavailable" | "required";
216
+ deliveredAt: string;
217
+ }>, {
218
+ deliveredAt: string;
219
+ route: "live" | "launch";
220
+ turnSequence: number;
221
+ receipt?: "required" | "unavailable" | undefined;
222
+ }>>>>;
223
+ }, z.core.$strict>;
224
+ wake: z.ZodUnion<readonly [z.ZodObject<{
225
+ kind: z.ZodLiteral<"told">;
226
+ }, z.core.$strict>, z.ZodObject<{
227
+ kind: z.ZodLiteral<"held">;
228
+ }, z.core.$strict>, z.ZodObject<{
229
+ kind: z.ZodLiteral<"pursuing">;
230
+ bodySequence: z.ZodNumber;
231
+ }, z.core.$strict>, z.ZodPipe<z.ZodObject<{
232
+ kind: z.ZodLiteral<"failed">;
233
+ diagnostic: z.ZodString;
234
+ child: z.ZodOptional<z.ZodObject<{
235
+ code: z.ZodNullable<z.ZodNumber>;
236
+ signal: z.ZodNullable<z.ZodString>;
237
+ log: z.ZodObject<{
238
+ path: z.ZodString;
239
+ from: z.ZodNumber;
240
+ to: z.ZodNumber;
241
+ }, z.core.$strict>;
242
+ }, z.core.$strict>>;
243
+ }, z.core.$strict>, z.ZodTransform<{
244
+ kind: "failed";
245
+ diagnostic: string;
246
+ } | {
247
+ child: {
248
+ code: number | null;
249
+ signal: string | null;
250
+ log: {
251
+ path: string;
252
+ from: number;
253
+ to: number;
254
+ };
255
+ };
256
+ kind: "failed";
257
+ diagnostic: string;
258
+ }, {
259
+ kind: "failed";
260
+ diagnostic: string;
261
+ child?: {
262
+ code: number | null;
263
+ signal: string | null;
264
+ log: {
265
+ path: string;
266
+ from: number;
267
+ to: number;
268
+ };
269
+ } | undefined;
270
+ }>>]>;
271
+ }, z.core.$strict>>;
272
+ tellFailure: z.ZodOptional<z.ZodString>;
273
+ }, z.core.$strict>;
274
+ declare const referenceSchema: z.ZodObject<{
275
+ kind: z.ZodLiteral<"reference">;
276
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<AkuId, string>>;
277
+ }, z.core.$strict>;
278
+ type AkumaCallLive = z.infer<typeof liveResultSchema>;
279
+ type AkumaCallReference = z.infer<typeof referenceSchema>;
280
+ type AkumaCallOutput = AkumaCallLive | AkumaCallReference;
72
281
  export declare function decodeAkumaCallRequest(value: unknown): AkumaCallRequest | null;
73
- export declare function akumaCallRequestProtocol(): RequestProtocol<AkumaCallRequest, AkuId, AkuId>;
74
- export declare function akumaCallRequestCommand(capabilities: AkumaCallRequestCapabilities): ChildRequestCommand<AkumaCallRequest, AkuId, AkuId>;
282
+ export declare function akumaCallRequestProtocol(): RequestProtocol<AkumaCallRequest, AkumaCallLive, AkumaCallReference>;
283
+ export declare function akumaCallRequestCommand(capabilities: AkumaCallRequestCapabilities): ChildRequestCommand<AkumaCallRequest, AkumaCallLive, AkumaCallReference>;
75
284
  export declare function akumaCallRequestCommands(capabilities: AkumaCallRequestCapabilities): Readonly<Record<"akuma.call", ErasedRequestCommand>>;
76
285
  export declare function requestForwardedAkumaCall(input: Omit<AkumaCallRequest, "action"> & Readonly<{
77
286
  directory: string;
78
287
  id: string;
79
288
  signal?: AbortSignal;
80
- }>): Promise<AkuId>;
289
+ }>): Promise<AkumaCallOutput>;
81
290
  export {};
@@ -1,40 +1,14 @@
1
1
  import { isAbsolute, resolve } from "node:path";
2
- import { clipAllowedActions, decodeAllowedActions } from "./allowed.js";
2
+ import { allowedActionsSchema } from "./allowed.js";
3
3
  import { refuseRequest, reserveRequest } from "./heart/index.js";
4
- import { archetypeName, parseAkuId } from "./identity.js";
5
- import { publishAkuma } from "./publication.js";
6
- import { decodeProviderOptions, decodeReadonlyRestraint } from "./provider-recipe.js";
7
- import { decodeProviderExecution, resolveProviderExecution } from "./providers/index.js";
4
+ import { archetypeName, akumaIdSchema } from "./identity.js";
5
+ import { callDiagnostic, executePreparedCall } from "./publication.js";
6
+ import { tellResultSchema } from "./call-initial-tell.js";
7
+ import { providerOptionsSchema, providerRecipeSchema } from "./provider-recipe.js";
8
8
  import { requestBodyCommand } from "./request-rendezvous.js";
9
9
  import { eraseRequestCommand, } from "./request-wire.js";
10
10
  import { z } from "zod";
11
- import { World } from "../world.js";
12
- function schemaDecode(decode, message) {
13
- return z.unknown().transform((value, context) => {
14
- try {
15
- return decode(value);
16
- }
17
- catch {
18
- context.addIssue({ code: "custom", message });
19
- return z.NEVER;
20
- }
21
- });
22
- }
23
11
  const absolutePathSchema = z.string().refine((value) => isAbsolute(value) && resolve(value) === value);
24
- const akuIdSchema = z.string().transform((value, context) => {
25
- try {
26
- const id = parseAkuId(value).id;
27
- if (id !== value) {
28
- context.addIssue({ code: "custom", message: "expected canonical AkuId" });
29
- return z.NEVER;
30
- }
31
- return id;
32
- }
33
- catch {
34
- context.addIssue({ code: "custom", message: "expected canonical AkuId" });
35
- return z.NEVER;
36
- }
37
- });
38
12
  const archetypeSchema = z.string().transform((value, context) => {
39
13
  try {
40
14
  return archetypeName(value);
@@ -44,34 +18,40 @@ const archetypeSchema = z.string().transform((value, context) => {
44
18
  return z.NEVER;
45
19
  }
46
20
  });
47
- const allowedActionsSchema = schemaDecode(decodeAllowedActions, "expected allowed actions");
48
- const providerExecutionSchema = schemaDecode(decodeProviderExecution, "expected provider execution");
49
- const providerOptionsSchema = schemaDecode(decodeProviderOptions, "expected provider options");
50
- const readonlyRestraintSchema = schemaDecode(decodeReadonlyRestraint, "expected readonly restraint");
51
21
  const akumaCallRecipeSchema = z
52
22
  .object({
53
23
  description: z.string().trim().min(1).optional(),
54
24
  allowed: allowedActionsSchema,
55
- provider: providerExecutionSchema,
25
+ provider: providerRecipeSchema,
56
26
  options: providerOptionsSchema,
57
- readonly: readonlyRestraintSchema.optional(),
58
27
  })
59
- .strict()
60
- .superRefine((recipe, context) => {
61
- if ((recipe.options.readonly === true) !== (recipe.readonly !== undefined)) {
62
- context.addIssue({ code: "custom", message: "readonly recipe fields disagree" });
63
- }
64
- });
28
+ .strict();
29
+ const initialTellSchema = z
30
+ .object({
31
+ tellId: z.string().trim().min(1),
32
+ body: z.string(),
33
+ schemaJson: z.string().trim().min(1).optional(),
34
+ initiator: z.string().min(1).optional(),
35
+ })
36
+ .strict();
65
37
  const akumaCallPayloadSchema = z
66
38
  .object({
67
39
  world: absolutePathSchema,
68
40
  archetype: archetypeSchema,
69
- body: z.string().optional(),
70
- initiator: z.string().min(1).optional(),
41
+ initialTell: initialTellSchema.optional(),
71
42
  cwd: absolutePathSchema.optional(),
72
43
  recipe: akumaCallRecipeSchema,
73
44
  })
74
45
  .strict();
46
+ const liveResultSchema = z
47
+ .object({
48
+ kind: z.literal("live"),
49
+ id: akumaIdSchema,
50
+ tell: tellResultSchema.optional(),
51
+ tellFailure: z.string().optional(),
52
+ })
53
+ .strict();
54
+ const referenceSchema = z.object({ kind: z.literal("reference"), id: akumaIdSchema }).strict();
75
55
  export function decodeAkumaCallRequest(value) {
76
56
  const parsed = akumaCallPayloadSchema.safeParse(value);
77
57
  return parsed.success ? { ...parsed.data, action: "akuma.call" } : null;
@@ -81,48 +61,53 @@ function callPayload(request) {
81
61
  return payload;
82
62
  }
83
63
  async function executeAkumaCall(request, facts, capabilities) {
84
- const { world, paths, parent, spawn } = capabilities;
85
- const requestWorld = await World.prove(request.world);
86
- if (requestWorld !== world) {
87
- await refuseRequest(paths, facts.id, `request world ${requestWorld} does not match ${world}`);
88
- throw new Error(`request world ${requestWorld} does not match ${world}`);
89
- }
90
- const selected = await resolveProviderExecution(request.recipe.provider);
91
- const admission = selected.adapter.admitOptions(request.recipe.options);
92
- if (admission.kind === "refused") {
93
- await refuseRequest(paths, facts.id, admission.diagnostic);
94
- throw new Error(admission.diagnostic);
95
- }
96
- const recipe = {
97
- ...(request.recipe.description === undefined ? {} : { description: request.recipe.description }),
98
- allowed: clipAllowedActions(request.recipe.allowed, parent.allowed),
99
- provider: selected.execution,
100
- options: admission.options,
101
- ...(admission.readonly === undefined ? {} : { readonly: admission.readonly }),
102
- };
103
- const published = await publishAkuma({
104
- worldPath: world,
64
+ const { world, paths, parent, spawn, admitInitialTell } = capabilities;
65
+ const outcome = await executePreparedCall({
105
66
  archetype: request.archetype,
106
- signal: facts.signal,
107
- launch: async (allocated) => {
108
- if (!facts.admissionOpen())
109
- throw new Error("body closed request admission");
110
- await reserveRequest(paths, facts.id, allocated.id);
111
- return await spawn({
112
- paths: allocated.paths,
113
- seed: {
114
- id: allocated.id,
115
- archetype: allocated.archetype,
116
- ...recipe,
117
- cwd: request.cwd ?? parent.cwd,
118
- origin: { kind: "request", parent: parent.id, requestId: facts.id },
67
+ cwd: request.cwd ?? parent.cwd,
68
+ ...(request.initialTell === undefined
69
+ ? {}
70
+ : {
71
+ initialTell: {
72
+ tellId: request.initialTell.tellId,
73
+ body: request.initialTell.body,
74
+ ...(request.initialTell.schemaJson === undefined ? {} : { schemaJson: request.initialTell.schemaJson }),
75
+ ...(request.initialTell.initiator === undefined ? {} : { initiator: request.initialTell.initiator }),
119
76
  },
120
- ...(request.body === undefined ? {} : { initialBody: request.body }),
121
- ...(request.initiator === undefined ? {} : { initiator: request.initiator }),
122
- });
77
+ }),
78
+ signal: facts.signal,
79
+ custody: {
80
+ kind: "request",
81
+ world,
82
+ coordinate: request.world,
83
+ recipe: {
84
+ ...(request.recipe.description === undefined ? {} : { description: request.recipe.description }),
85
+ provider: request.recipe.provider,
86
+ options: request.recipe.options,
87
+ allowed: request.recipe.allowed,
88
+ },
89
+ parent,
90
+ requestId: facts.id,
91
+ admissionOpen: facts.admissionOpen,
92
+ reserve: async (child) => {
93
+ await reserveRequest(paths, facts.id, child);
94
+ },
95
+ refuse: async (diagnostic) => {
96
+ await refuseRequest(paths, facts.id, diagnostic);
97
+ },
98
+ spawn,
99
+ admitInitialTell,
123
100
  },
124
101
  });
125
- return { result: published.id, child: published.id };
102
+ return {
103
+ result: {
104
+ kind: "live",
105
+ id: outcome.child.id,
106
+ ...(outcome.tell === undefined ? {} : { tell: outcome.tell }),
107
+ ...(outcome.failure === undefined ? {} : { tellFailure: callDiagnostic(outcome.failure) }),
108
+ },
109
+ child: outcome.child.id,
110
+ };
126
111
  }
127
112
  export function akumaCallRequestProtocol() {
128
113
  return {
@@ -132,16 +117,16 @@ export function akumaCallRequestProtocol() {
132
117
  decodeRequest: decodeAkumaCallRequest,
133
118
  encodeResult: (result) => result,
134
119
  decodeResult: (result) => {
135
- const child = akuIdSchema.safeParse(result);
136
- if (!child.success)
137
- throw new Error("Akuma call returned an invalid child");
138
- return child.data;
120
+ const parsed = liveResultSchema.safeParse(result);
121
+ if (!parsed.success)
122
+ throw new Error("Akuma call returned an invalid live child result");
123
+ return parsed.data;
139
124
  },
140
125
  decodeReference: (reference) => {
141
- const child = akuIdSchema.safeParse(reference);
142
- if (!child.success)
126
+ const parsed = referenceSchema.safeParse(reference);
127
+ if (!parsed.success)
143
128
  throw new Error("Akuma call stored an invalid child reference");
144
- return child.data;
129
+ return parsed.data;
145
130
  },
146
131
  isPermitted: (allowed) => allowed.includes("akuma.call"),
147
132
  };
@@ -151,10 +136,10 @@ export function akumaCallRequestCommand(capabilities) {
151
136
  completion: "child",
152
137
  protocol: akumaCallRequestProtocol(),
153
138
  projectChild: (child) => {
154
- const id = akuIdSchema.safeParse(child);
139
+ const id = akumaIdSchema.safeParse(child);
155
140
  if (!id.success)
156
141
  throw new Error("Akuma call stored an invalid child reference");
157
- return id.data;
142
+ return { kind: "reference", id: id.data };
158
143
  },
159
144
  execute: async (request, facts) => await executeAkumaCall(request, facts, capabilities),
160
145
  };
@@ -1,9 +1,19 @@
1
- export type ResumeCoordinate = Readonly<{
1
+ import { z } from "zod";
2
+ export declare const resumeCoordinateSchema: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
3
+ sessionFile: z.ZodString;
4
+ sessionId: z.ZodOptional<z.ZodString>;
5
+ }, z.core.$strict>, z.ZodTransform<{
6
+ sessionFile: string;
7
+ sessionId?: never;
8
+ } | {
9
+ sessionFile: string;
2
10
  sessionId: string;
3
- sessionFile?: never;
4
- }> | Readonly<{
11
+ }, {
5
12
  sessionFile: string;
6
- sessionId?: string;
7
- }>;
13
+ sessionId?: string | undefined;
14
+ }>>, z.ZodObject<{
15
+ sessionId: z.ZodString;
16
+ }, z.core.$strict>]>;
17
+ export type ResumeCoordinate = z.infer<typeof resumeCoordinateSchema>;
8
18
  export declare function decodeResumeCoordinate(value: unknown): ResumeCoordinate | null;
9
19
  export declare function encodeResumeCoordinate(coordinate: ResumeCoordinate): unknown;
@@ -1,26 +1,16 @@
1
- function record(value) {
2
- return value !== null && typeof value === "object" && !Array.isArray(value)
3
- ? value
4
- : null;
5
- }
1
+ import { z } from "zod";
2
+ const coordinateText = z.string().refine((value) => value.trim() !== "");
3
+ // File coordinates take precedence, including coordinates that also name a session.
4
+ export const resumeCoordinateSchema = z.union([
5
+ z
6
+ .object({ sessionFile: coordinateText, sessionId: coordinateText.optional() })
7
+ .strict()
8
+ .transform(({ sessionFile, sessionId }) => sessionId === undefined ? { sessionFile } : { sessionFile, sessionId }),
9
+ z.object({ sessionId: coordinateText }).strict(),
10
+ ]);
6
11
  export function decodeResumeCoordinate(value) {
7
- const coordinate = record(value);
8
- if (coordinate === null)
9
- return null;
10
- const keys = Object.keys(coordinate);
11
- if (typeof coordinate.sessionFile === "string" &&
12
- coordinate.sessionFile.trim().length > 0 &&
13
- (coordinate.sessionId === undefined ||
14
- (typeof coordinate.sessionId === "string" && coordinate.sessionId.trim().length > 0)) &&
15
- keys.every((key) => key === "sessionFile" || key === "sessionId")) {
16
- return {
17
- sessionFile: coordinate.sessionFile,
18
- ...(coordinate.sessionId === undefined ? {} : { sessionId: coordinate.sessionId }),
19
- };
20
- }
21
- return typeof coordinate.sessionId === "string" && coordinate.sessionId.trim().length > 0 && keys.length === 1
22
- ? { sessionId: coordinate.sessionId }
23
- : null;
12
+ const result = resumeCoordinateSchema.safeParse(value);
13
+ return result.success ? result.data : null;
24
14
  }
25
15
  export function encodeResumeCoordinate(coordinate) {
26
16
  return "sessionFile" in coordinate
@@ -3,7 +3,7 @@ export declare const dispatchAssociationSchema: z.ZodUnion<readonly [z.ZodObject
3
3
  kind: z.ZodLiteral<"none">;
4
4
  }, z.core.$strict>, z.ZodObject<{
5
5
  kind: z.ZodLiteral<"associated">;
6
- contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>;
6
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../index.js").ContractId, string>>;
7
7
  }, z.core.$strict>, z.ZodObject<{
8
8
  kind: z.ZodLiteral<"failed">;
9
9
  diagnostic: z.ZodString;
@@ -1,14 +1,5 @@
1
- import { contractId } from "../core/facts/types.js";
1
+ import { contractIdSchema } from "../git/identity.js";
2
2
  import { z } from "zod";
3
- const contractIdSchema = z.string().transform((value, context) => {
4
- try {
5
- return contractId(value);
6
- }
7
- catch {
8
- context.addIssue({ code: "custom", message: "expected ContractId" });
9
- return z.NEVER;
10
- }
11
- });
12
3
  export const dispatchAssociationSchema = z.union([
13
4
  z.object({ kind: z.literal("none") }).strict(),
14
5
  z.object({ kind: z.literal("associated"), contractId: contractIdSchema }).strict(),