@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,55 +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, CallInitialTellAdmission } from "./call-initial-tell.js";
3
+ import { type CallInitialTell, type CallInitialTellAdmission } from "./call-initial-tell.js";
4
4
  import { type ChildRequestCommand, type ErasedRequestCommand, type RequestProtocol } from "./request-wire.js";
5
5
  import type { OwnedProcess } from "../runtime/proc/run.js";
6
6
  import { z } from "zod";
7
- import { type WorldRoot } from "../world.js";
7
+ import type { WorldRoot } from "../world.js";
8
8
  declare const akumaCallRecipeSchema: z.ZodObject<{
9
9
  description: z.ZodOptional<z.ZodString>;
10
- allowed: z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./allowed.js").AllowedActions, unknown>>;
11
- 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;
12
45
  name: string;
13
46
  kind: "acp" | "claude-agent-sdk" | "codex-app-server" | "grok-build" | "opencode-sdk" | "pi";
14
- executable?: string;
15
- config?: Readonly<Record<string, unknown>>;
16
- env?: Readonly<Record<string, string>>;
17
- }>, unknown>>;
18
- options: z.ZodPipe<z.ZodUnknown, z.ZodTransform<Readonly<{
19
- model?: string;
20
- effort?: string;
21
- network?: "disabled" | "enabled";
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";
22
68
  systemPrompt?: string;
23
- systemPromptMode?: import("./provider-recipe.js").SystemPromptMode;
24
- }>, 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
+ }>>;
25
79
  }, z.core.$strict>;
26
80
  declare const akumaCallPayloadSchema: z.ZodObject<{
27
81
  world: z.ZodString;
28
82
  archetype: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
29
- initialTell: z.ZodObject<{
83
+ initialTell: z.ZodOptional<z.ZodObject<{
30
84
  tellId: z.ZodString;
31
85
  body: z.ZodString;
32
86
  schemaJson: z.ZodOptional<z.ZodString>;
33
87
  initiator: z.ZodOptional<z.ZodString>;
34
- }, z.core.$strict>;
88
+ }, z.core.$strict>>;
35
89
  cwd: z.ZodOptional<z.ZodString>;
36
90
  recipe: z.ZodObject<{
37
91
  description: z.ZodOptional<z.ZodString>;
38
- allowed: z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./allowed.js").AllowedActions, unknown>>;
39
- 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;
40
127
  name: string;
41
128
  kind: "acp" | "claude-agent-sdk" | "codex-app-server" | "grok-build" | "opencode-sdk" | "pi";
42
- executable?: string;
43
- config?: Readonly<Record<string, unknown>>;
44
- env?: Readonly<Record<string, string>>;
45
- }>, unknown>>;
46
- options: z.ZodPipe<z.ZodUnknown, z.ZodTransform<Readonly<{
47
- model?: string;
48
- effort?: string;
49
- network?: "disabled" | "enabled";
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>>;
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
+ }>>;
53
161
  }, z.core.$strict>;
54
162
  }, z.core.$strict>;
55
163
  export type AkumaCallRecipe = z.infer<typeof akumaCallRecipeSchema>;
@@ -72,13 +180,111 @@ type AkumaCallRequestCapabilities = Readonly<{
72
180
  spawn(launch: AkumaCallRequestChildLaunch): Promise<OwnedProcess | void>;
73
181
  admitInitialTell(input: InitialTellAdmissionRequest): Promise<CallInitialTellAdmission>;
74
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;
75
281
  export declare function decodeAkumaCallRequest(value: unknown): AkumaCallRequest | null;
76
- export declare function akumaCallRequestProtocol(): RequestProtocol<AkumaCallRequest, AkuId, AkuId>;
77
- 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>;
78
284
  export declare function akumaCallRequestCommands(capabilities: AkumaCallRequestCapabilities): Readonly<Record<"akuma.call", ErasedRequestCommand>>;
79
285
  export declare function requestForwardedAkumaCall(input: Omit<AkumaCallRequest, "action"> & Readonly<{
80
286
  directory: string;
81
287
  id: string;
82
288
  signal?: AbortSignal;
83
- }>): Promise<AkuId>;
289
+ }>): Promise<AkumaCallOutput>;
84
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 } 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,14 +18,11 @@ 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
21
  const akumaCallRecipeSchema = z
51
22
  .object({
52
23
  description: z.string().trim().min(1).optional(),
53
24
  allowed: allowedActionsSchema,
54
- provider: providerExecutionSchema,
25
+ provider: providerRecipeSchema,
55
26
  options: providerOptionsSchema,
56
27
  })
57
28
  .strict();
@@ -67,11 +38,20 @@ const akumaCallPayloadSchema = z
67
38
  .object({
68
39
  world: absolutePathSchema,
69
40
  archetype: archetypeSchema,
70
- initialTell: initialTellSchema,
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,60 +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
- };
102
- const published = await publishAkuma({
103
- worldPath: world,
64
+ const { world, paths, parent, spawn, admitInitialTell } = capabilities;
65
+ const outcome = await executePreparedCall({
104
66
  archetype: request.archetype,
105
- signal: facts.signal,
106
- launch: async (allocated) => {
107
- if (!facts.admissionOpen())
108
- throw new Error("body closed request admission");
109
- await reserveRequest(paths, facts.id, allocated.id);
110
- return await spawn({
111
- paths: allocated.paths,
112
- seed: {
113
- id: allocated.id,
114
- archetype: allocated.archetype,
115
- ...recipe,
116
- cwd: request.cwd ?? parent.cwd,
117
- 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 }),
118
76
  },
119
- });
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,
120
100
  },
121
101
  });
122
- const admitted = await capabilities.admitInitialTell({
123
- id: published.id,
124
- initialTell: {
125
- tellId: request.initialTell.tellId,
126
- body: request.initialTell.body,
127
- ...(request.initialTell.schemaJson === undefined ? {} : { schemaJson: request.initialTell.schemaJson }),
128
- ...(request.initialTell.initiator === undefined ? {} : { initiator: request.initialTell.initiator }),
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) }),
129
108
  },
130
- signal: facts.signal,
131
- });
132
- if (admitted.kind === "birth-failed")
133
- throw new Error(admitted.diagnostic);
134
- if (admitted.kind === "not-born")
135
- throw new Error(`Akuma ${published.id} was not born for its initial Tell`);
136
- await admitted.wake;
137
- return { result: published.id, child: published.id };
109
+ child: outcome.child.id,
110
+ };
138
111
  }
139
112
  export function akumaCallRequestProtocol() {
140
113
  return {
@@ -144,16 +117,16 @@ export function akumaCallRequestProtocol() {
144
117
  decodeRequest: decodeAkumaCallRequest,
145
118
  encodeResult: (result) => result,
146
119
  decodeResult: (result) => {
147
- const child = akuIdSchema.safeParse(result);
148
- if (!child.success)
149
- throw new Error("Akuma call returned an invalid child");
150
- 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;
151
124
  },
152
125
  decodeReference: (reference) => {
153
- const child = akuIdSchema.safeParse(reference);
154
- if (!child.success)
126
+ const parsed = referenceSchema.safeParse(reference);
127
+ if (!parsed.success)
155
128
  throw new Error("Akuma call stored an invalid child reference");
156
- return child.data;
129
+ return parsed.data;
157
130
  },
158
131
  isPermitted: (allowed) => allowed.includes("akuma.call"),
159
132
  };
@@ -163,10 +136,10 @@ export function akumaCallRequestCommand(capabilities) {
163
136
  completion: "child",
164
137
  protocol: akumaCallRequestProtocol(),
165
138
  projectChild: (child) => {
166
- const id = akuIdSchema.safeParse(child);
139
+ const id = akumaIdSchema.safeParse(child);
167
140
  if (!id.success)
168
141
  throw new Error("Akuma call stored an invalid child reference");
169
- return id.data;
142
+ return { kind: "reference", id: id.data };
170
143
  },
171
144
  execute: async (request, facts) => await executeAkumaCall(request, facts, capabilities),
172
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(),