@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,234 +0,0 @@
1
- import { AkumaProviderError } from "./akuma-errors.js";
2
- import { AkumaNotBornError, defaultWaitComplete } from "./akuma.js";
3
- import { createAkumaProduct } from "./akuma-product.js";
4
- import { readLiveStatus, waitForObservation } from "./akuma-observe.js";
5
- import { NO_DISPATCH_ASSOCIATION } from "./dispatch-association.js";
6
- import { EMPTY_CREATED_TASK_OBSERVATION } from "../task/created-observation.js";
7
- import { fleetResultSchemas, parseAkumaObservation, } from "./fleet-observation.js";
8
- function source(path) {
9
- return createAkumaProduct(path);
10
- }
11
- function observationDiagnostic(error) {
12
- return error instanceof Error ? error.message : String(error);
13
- }
14
- const SHARED_ORDINARY_BUDGET = 30;
15
- function akumaOnlyObservation(status) {
16
- return parseAkumaObservation({
17
- status,
18
- contract: NO_DISPATCH_ASSOCIATION,
19
- createdTasks: EMPTY_CREATED_TASK_OBSERVATION,
20
- });
21
- }
22
- async function observeWaitRound(path, ids, signal) {
23
- signal?.throwIfAborted();
24
- if (ids.length <= 1) {
25
- const observations = await Promise.all(ids.map(async (id) => await readLiveStatus(path, id, { aperture: "monitoring" })));
26
- return { observations, unobserved: [] };
27
- }
28
- let remaining = SHARED_ORDINARY_BUDGET;
29
- const observations = [];
30
- const unobserved = [];
31
- for (const id of ids) {
32
- signal?.throwIfAborted();
33
- try {
34
- const observed = await readLiveStatus(path, id, { aperture: "monitoring", ordinaryBudget: remaining });
35
- observations.push(observed);
36
- remaining -= observed.ordinarySelected;
37
- }
38
- catch (error) {
39
- if (error instanceof AkumaNotBornError)
40
- throw error;
41
- unobserved.push({ id, diagnostic: observationDiagnostic(error) });
42
- }
43
- }
44
- return { observations, unobserved };
45
- }
46
- function roundComplete(round, completion) {
47
- const settled = round.observations.map((observation) => defaultWaitComplete(observation.status));
48
- return (settled.length > 0 &&
49
- (completion === "any" ? settled.some(Boolean) : round.unobserved.length === 0 && settled.every(Boolean)));
50
- }
51
- /** Canonical ids in the caller's selection order, appending any id the caller never named. */
52
- function selectionOrderedIds(ids, order) {
53
- const present = new Set(ids);
54
- const seen = new Set();
55
- const ordered = [];
56
- for (const id of order) {
57
- if (present.has(id) && !seen.has(id)) {
58
- seen.add(id);
59
- ordered.push(id);
60
- }
61
- }
62
- for (const id of ids) {
63
- if (!seen.has(id)) {
64
- seen.add(id);
65
- ordered.push(id);
66
- }
67
- }
68
- return ordered;
69
- }
70
- export async function executeWaitAkuma(input) {
71
- // Identity facts are read once per observed Akuma, not once per 100ms round.
72
- const facts = new Map();
73
- if (input.onSelected !== undefined) {
74
- for (const id of input.ids) {
75
- input.signal?.throwIfAborted();
76
- const known = input.identity === undefined ? undefined : await input.identity(id);
77
- facts.set(id, known ?? { contract: NO_DISPATCH_ASSOCIATION });
78
- }
79
- const ordered = input.selectionOrder === undefined ? input.ids : selectionOrderedIds(input.ids, input.selectionOrder);
80
- input.onSelected(ordered.map((id) => ({ id, ...facts.get(id) })));
81
- }
82
- const observeRound = async (round) => {
83
- if (input.observe === undefined)
84
- return;
85
- const observed = [];
86
- for (const observation of round.observations) {
87
- input.signal?.throwIfAborted();
88
- const { status, rows } = observation;
89
- let known = facts.get(status.id);
90
- if (known === undefined && input.identity !== undefined) {
91
- known = await input.identity(status.id);
92
- facts.set(status.id, known);
93
- }
94
- if (known === undefined) {
95
- observed.push({ status, rows, contract: NO_DISPATCH_ASSOCIATION });
96
- continue;
97
- }
98
- observed.push({ status, rows, ...known });
99
- }
100
- input.observe(observed);
101
- };
102
- const waited = await waitForObservation({
103
- ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),
104
- ...(input.signal === undefined ? {} : { signal: input.signal }),
105
- observe: async () => await observeWaitRound(input.path, input.ids, input.signal),
106
- complete: (round) => roundComplete(round, input.completion),
107
- onObserve: async (round) => await observeRound(round),
108
- });
109
- return fleetResultSchemas.wait.parse({
110
- mode: input.completion,
111
- reason: waited.reason,
112
- observations: waited.value.observations.map((observation) => akumaOnlyObservation(observation.status)),
113
- unobserved: waited.value.unobserved,
114
- });
115
- }
116
- export async function executeTellAkuma(input) {
117
- input.signal?.throwIfAborted();
118
- const handle = source(input.path).selectHandle({ id: input.id });
119
- const tell = await handle.tell(input.body, input.tellId, input.recordedAt, undefined, {
120
- ...(input.initiator === undefined ? {} : { initiator: input.initiator }),
121
- ...(input.signal === undefined ? {} : { signal: input.signal }),
122
- });
123
- input.signal?.throwIfAborted();
124
- return fleetResultSchemas.tell.parse({
125
- akuma: input.id,
126
- tell,
127
- });
128
- }
129
- function tellWaitObservation(observed) {
130
- if (observed.outcome === null)
131
- return observed.reason === "deadline" ? { reason: "deadline" } : { reason: "unanswered" };
132
- if (observed.outcome.kind === "answered")
133
- return { reason: "answered", answer: observed.outcome.answerJson ?? observed.outcome.answer };
134
- if (observed.outcome.kind === "failed")
135
- return { reason: "failed", diagnostic: observed.outcome.diagnostic };
136
- return {
137
- reason: "invalid-output",
138
- diagnostic: observed.outcome.diagnostic,
139
- answer: observed.outcome.answer,
140
- };
141
- }
142
- export function decodeTellWaitObservation(observation, schema) {
143
- if (observation.reason !== "answered")
144
- return observation;
145
- let value = observation.answer;
146
- if (typeof value === "string") {
147
- try {
148
- value = JSON.parse(value);
149
- }
150
- catch (error) {
151
- return {
152
- reason: "invalid-output",
153
- diagnostic: error instanceof Error ? error.message : "Answer is not valid JSON",
154
- answer: typeof observation.answer === "string" ? observation.answer : String(observation.answer),
155
- };
156
- }
157
- }
158
- try {
159
- return { reason: "answered", answer: schema.decode(value) };
160
- }
161
- catch (error) {
162
- return {
163
- reason: "invalid-output",
164
- diagnostic: error instanceof Error ? error.message : "Answer failed schema decode",
165
- answer: typeof observation.answer === "string" ? observation.answer : String(observation.answer),
166
- };
167
- }
168
- }
169
- export async function observeAdmittedTellWaitAkuma(input) {
170
- const handle = source(input.path).selectHandle({ id: input.id });
171
- const tell = await handle.admittedReceipt(input.tellId);
172
- await input.onObserve?.admitted?.(tell, input.id);
173
- let settled;
174
- void input.wake?.then((receipt) => {
175
- settled = receipt;
176
- }, () => undefined);
177
- const admittedAt = Date.parse(tell.row.at);
178
- const observedAt = performance.timeOrigin + performance.now();
179
- const elapsed = input.startedAt === undefined
180
- ? Number.isFinite(admittedAt)
181
- ? Math.max(0, observedAt - admittedAt)
182
- : 0
183
- : Math.max(0, performance.now() - input.startedAt);
184
- const observed = await handle.tellOutcome(input.tellId, {
185
- timeoutMs: Math.max(0, input.timeoutMs - elapsed),
186
- ...(input.signal === undefined ? {} : { signal: input.signal }),
187
- ...(input.onObserve?.observe === undefined ? {} : { observe: input.onObserve.observe }),
188
- });
189
- return fleetResultSchemas.tellWait.parse({
190
- akuma: input.id,
191
- tell: settled ?? tell,
192
- observation: tellWaitObservation(observed),
193
- completedAt: observed.completedAt,
194
- });
195
- }
196
- export async function executeTellWaitAkuma(input) {
197
- input.signal?.throwIfAborted();
198
- const handle = source(input.path).selectHandle({ id: input.id });
199
- const admission = input.interrupt === true
200
- ? await handle.admitInterrupt(input.body, {
201
- ...(input.tellId === undefined ? {} : { tellId: input.tellId }),
202
- ...(input.schemaJson === undefined ? {} : { schemaJson: input.schemaJson }),
203
- ...(input.initiator === undefined ? {} : { initiator: input.initiator }),
204
- ...(input.signal === undefined ? {} : { signal: input.signal }),
205
- })
206
- : await handle.admitTell(input.body, input.tellId, input.recordedAt, undefined, {
207
- ...(input.schemaJson === undefined ? {} : { schemaJson: input.schemaJson }),
208
- ...(input.initiator === undefined ? {} : { initiator: input.initiator }),
209
- ...(input.signal === undefined ? {} : { signal: input.signal }),
210
- });
211
- if (admission.kind === "unavailable")
212
- throw new AkumaProviderError(`Tell interrupt unavailable: ${admission.evidence}`);
213
- if (admission.kind === "not-born")
214
- throw new AkumaNotBornError(input.id);
215
- return await observeAdmittedTellWaitAkuma({
216
- path: input.path,
217
- id: input.id,
218
- tellId: admission.tell.id,
219
- timeoutMs: input.timeoutMs,
220
- startedAt: performance.now(),
221
- wake: admission.wake,
222
- ...(input.signal === undefined ? {} : { signal: input.signal }),
223
- ...(input.onObserve === undefined ? {} : { onObserve: input.onObserve }),
224
- });
225
- }
226
- export async function executeKillAkuma(input) {
227
- input.signal?.throwIfAborted();
228
- const handles = input.ids.map((id) => source(input.path).selectHandle({ id }));
229
- const evidence = await Promise.all(handles.map(async (handle) => await handle.kill(input.signal === undefined ? {} : { signal: input.signal })));
230
- input.signal?.throwIfAborted();
231
- return fleetResultSchemas.kill.parse({
232
- results: input.ids.map((id, index) => ({ id, evidence: evidence[index] })),
233
- });
234
- }
@@ -1,97 +0,0 @@
1
- import { akumaIdSchema, akumaStatusSchema } from "./akuma.js";
2
- import { tellRowSchema } from "./projection.js";
3
- import { dispatchAssociationSchema } from "./dispatch-association.js";
4
- import { createdTaskObservationSchema } from "../task/created-observation.js";
5
- import { z } from "zod";
6
- const nonblankTextSchema = z.string().refine((value) => value.trim() !== "");
7
- const killEvidenceSchema = z.enum([
8
- "killed",
9
- "already-killed",
10
- "already-stopped",
11
- "hung",
12
- "untidy",
13
- "unavailable",
14
- ]);
15
- const akumaObservationSchema = z
16
- .object({
17
- status: akumaStatusSchema,
18
- contract: dispatchAssociationSchema,
19
- createdTasks: createdTaskObservationSchema,
20
- })
21
- .strict();
22
- const runLogReferenceSchema = z
23
- .object({ path: z.string(), from: z.number().int().nonnegative(), to: z.number().int().nonnegative() })
24
- .strict();
25
- const failedTellWakeSchema = z
26
- .object({
27
- kind: z.literal("failed"),
28
- diagnostic: z.string(),
29
- child: z
30
- .object({ code: z.number().int().nullable(), signal: z.string().nullable(), log: runLogReferenceSchema })
31
- .strict()
32
- .optional(),
33
- })
34
- .strict()
35
- .transform(({ child, ...wake }) => (child === undefined ? wake : { ...wake, child }));
36
- const tellWakeSchema = z.union([
37
- z.object({ kind: z.literal("told") }).strict(),
38
- z.object({ kind: z.literal("held") }).strict(),
39
- z.object({ kind: z.literal("pursuing"), bodySequence: z.number().int().nonnegative() }).strict(),
40
- failedTellWakeSchema,
41
- ]);
42
- const tellResultSchema = z
43
- .object({
44
- admission: z.object({ fact: z.literal("recorded"), tellId: nonblankTextSchema }).strict(),
45
- row: tellRowSchema,
46
- wake: tellWakeSchema,
47
- })
48
- .strict();
49
- const akumaUnobservedSchema = z.object({ id: akumaIdSchema, diagnostic: z.string() }).strict();
50
- const akumaKillResultItemSchema = z.object({ id: akumaIdSchema, evidence: killEvidenceSchema }).strict();
51
- const akumaWaitResultSchema = z
52
- .object({
53
- mode: z.enum(["any", "all"]),
54
- reason: z.enum(["completed", "deadline"]),
55
- observations: z.array(akumaObservationSchema),
56
- unobserved: z.array(akumaUnobservedSchema),
57
- })
58
- .strict();
59
- const akumaKillResultSchema = z.object({ results: z.array(akumaKillResultItemSchema) }).strict();
60
- const akumaTellResultSchema = z.object({ akuma: akumaIdSchema, tell: tellResultSchema }).strict();
61
- const tellWaitObservationSchema = z.union([
62
- z.object({ reason: z.literal("answered"), answer: z.unknown() }).strict(),
63
- z.object({ reason: z.literal("failed"), diagnostic: z.string() }).strict(),
64
- z.object({ reason: z.literal("invalid-output"), diagnostic: z.string(), answer: z.string() }).strict(),
65
- z.object({ reason: z.literal("unanswered") }).strict(),
66
- z.object({ reason: z.literal("deadline") }).strict(),
67
- ]);
68
- const akumaTellWaitResultSchema = z
69
- .object({
70
- akuma: akumaIdSchema,
71
- tell: tellResultSchema,
72
- observation: tellWaitObservationSchema,
73
- completedAt: z.string().datetime({ offset: true }).nullable().optional(),
74
- })
75
- .strict();
76
- export function parseAkumaObservation(value) {
77
- return akumaObservationSchema.parse(value);
78
- }
79
- export function isWaitResult(value) {
80
- return akumaWaitResultSchema.safeParse(value).success;
81
- }
82
- export function isKillResult(value) {
83
- return akumaKillResultSchema.safeParse(value).success;
84
- }
85
- export function isTellResult(value) {
86
- return akumaTellResultSchema.safeParse(value).success;
87
- }
88
- export function isTellWaitResult(value) {
89
- return akumaTellWaitResultSchema.safeParse(value).success;
90
- }
91
- export const fleetResultSchemas = {
92
- wait: akumaWaitResultSchema,
93
- tell: akumaTellResultSchema,
94
- tellWait: akumaTellWaitResultSchema,
95
- kill: akumaKillResultSchema,
96
- killEvidence: killEvidenceSchema,
97
- };
@@ -1,24 +0,0 @@
1
- import { type AmendResult, type AuditReport, type BindResult, type ContractId, type Delivery, type MutationResult, type Review } from "../index.js";
2
- import type { AcceptedAbandonResult, AcceptedAmendResult, AcceptedArcResult, AcceptedAuditResult, AcceptedBindResult, AcceptedDeliverResult, AcceptedResult, AcceptedReviewResult, InvocationResult } from "./result.js";
3
- type MutationObservation = Pick<MutationResult<unknown>, "facts" | "head" | "lags" | "settlementLags" | "recoverySnapshot" | "cleanup" | "executionStops">;
4
- type MutationCallOptions = Readonly<{
5
- coordinate?: ContractId;
6
- projectRefusal?: (refusal: unknown) => unknown;
7
- }>;
8
- export declare function acceptedBind(result: BindResult, coordinates: Readonly<{
9
- target?: string;
10
- }>): AcceptedBindResult;
11
- export declare function acceptedAmend(result: AmendResult, coordinate: ContractId): AcceptedAmendResult;
12
- export declare function acceptedDeliver(result: MutationResult<Delivery>, coordinate: ContractId): AcceptedDeliverResult;
13
- export declare function acceptedReview(result: MutationResult<Review>, coordinate: ContractId): AcceptedReviewResult;
14
- export declare function acceptedArc(result: MutationResult<void>, coordinate: ContractId): AcceptedArcResult;
15
- export declare function acceptedAbandon(result: MutationResult<void>, coordinate: ContractId): AcceptedAbandonResult;
16
- export declare function acceptedAudit(result: MutationResult<AuditReport>, coordinate: ContractId): AcceptedAuditResult;
17
- export declare function resultFromMutationCall<const Verb extends AcceptedResult["verb"], Result extends MutationObservation>(verb: Verb, call: () => Promise<Result>, project: (result: Result) => Extract<AcceptedResult, {
18
- verb: NoInfer<Verb>;
19
- }>, options?: MutationCallOptions): Promise<Extract<AcceptedResult, {
20
- verb: Verb;
21
- }> | Extract<InvocationResult, {
22
- kind: "refused" | "retry";
23
- }>>;
24
- export {};
@@ -1,167 +0,0 @@
1
- import { executionReceipt, KeiyakuRefused, KeiyakuRetry, } from "../index.js";
2
- function acceptedFacts(result) {
3
- return result.facts.map((fact) => fact.kind === "reintegrated"
4
- ? { contract: fact.contract, entry: fact.entry, kind: fact.kind, data: fact.data }
5
- : { contract: fact.contract, entry: fact.entry, kind: fact.kind });
6
- }
7
- function attestationFor(facts, gate, coordinate) {
8
- return facts.findLast((fact) => fact.contract === coordinate && fact.kind === "attestation" && fact.data.gate === gate);
9
- }
10
- function acceptedEnvelope(result, coordinate) {
11
- const contract = coordinate ?? result.facts[0]?.contract;
12
- if (contract === undefined)
13
- throw new Error("accepted mutation is missing its contract identity");
14
- const firstLag = result.lags[0];
15
- return {
16
- kind: "accepted",
17
- contract,
18
- head: result.head,
19
- facts: acceptedFacts(result),
20
- settlementLags: result.settlementLags,
21
- ...(result.recoverySnapshot === undefined ? {} : { recoverySnapshot: result.recoverySnapshot }),
22
- ...(result.lags.length === 0 || firstLag === undefined ? {} : { lag: [firstLag, ...result.lags.slice(1)] }),
23
- ...(result.cleanup.length === 0 ? {} : { cleanup: result.cleanup }),
24
- ...(result.executionStops.length === 0 ? {} : { executionStops: result.executionStops }),
25
- };
26
- }
27
- /**
28
- * The completed placement's movement identity — the reference it advanced and the head it advanced from — is part
29
- * of the public accepted shape, so a receipt states the movement without rebuilding it from facts or folded state.
30
- */
31
- function acceptedCompletion(completion) {
32
- if (completion === undefined)
33
- return undefined;
34
- return {
35
- integration: completion.integration,
36
- ...(completion.predecessor === undefined ? {} : { predecessor: completion.predecessor }),
37
- ...(completion.target === undefined ? {} : { target: completion.target }),
38
- ...(completion.verification === undefined ? {} : { verification: completion.verification }),
39
- };
40
- }
41
- function acceptedRegion(result) {
42
- if (result.overlapFailure !== undefined)
43
- return { overlapFailure: result.overlapFailure };
44
- return { overlaps: result.overlaps };
45
- }
46
- function acceptedAmendRegion(result) {
47
- if (result.overlapFailure !== undefined)
48
- return { overlapFailure: result.overlapFailure };
49
- if (result.overlaps !== undefined)
50
- return { overlaps: result.overlaps };
51
- return {};
52
- }
53
- export function acceptedBind(result, coordinates) {
54
- return {
55
- ...acceptedEnvelope(result, undefined),
56
- verb: "bind",
57
- ...(result.workspace === undefined ? {} : { workspace: result.workspace }),
58
- target: coordinates.target ?? null,
59
- ...(result.warnings === undefined ? {} : { warnings: result.warnings }),
60
- ...acceptedRegion(result),
61
- };
62
- }
63
- export function acceptedAmend(result, coordinate) {
64
- return {
65
- ...acceptedEnvelope(result, coordinate),
66
- verb: "amend",
67
- diff: result.documentDiff,
68
- ...acceptedAmendRegion(result),
69
- };
70
- }
71
- export function acceptedDeliver(result, coordinate) {
72
- const value = result.value;
73
- const attestation = attestationFor(result.facts, "verified", coordinate);
74
- const completion = acceptedCompletion(value.completion);
75
- const verificationVerdict = value.completion?.verification?.verdict ?? attestation?.data.verdict ?? value.verificationReuse?.verdict;
76
- return {
77
- ...acceptedEnvelope(result, coordinate),
78
- verb: "deliver",
79
- tenderSnapshot: value.tenderSnapshot,
80
- integration: { changeId: value.integration.changeId },
81
- ...(value.leading === undefined ? {} : { leading: value.leading }),
82
- ...(completion === undefined ? {} : { completion }),
83
- ...(verificationVerdict === undefined ? {} : { verificationVerdict }),
84
- ...(value.verification === undefined ? {} : { verification: value.verification }),
85
- ...(value.verificationReuse === undefined ? {} : { verificationReuse: value.verificationReuse }),
86
- ...(value.verificationSummary === undefined ? {} : { verificationSummary: value.verificationSummary }),
87
- ...(value.placement === undefined ? {} : { placement: value.placement }),
88
- ...(value.continuation === undefined ? {} : { continuation: value.continuation }),
89
- };
90
- }
91
- export function acceptedReview(result, coordinate) {
92
- const value = result.value;
93
- const reviewAttestation = attestationFor(result.facts, "reviewed", coordinate);
94
- if (reviewAttestation === undefined)
95
- throw new Error("accepted review is missing its attestation fact");
96
- const verificationAttestation = attestationFor(result.facts, "verified", coordinate);
97
- const completion = acceptedCompletion(value.completion);
98
- const verificationVerdict = value.completion?.verification?.verdict ??
99
- verificationAttestation?.data.verdict ??
100
- value.verificationReuse?.verdict;
101
- return {
102
- ...acceptedEnvelope(result, coordinate),
103
- verb: "review",
104
- verdict: reviewAttestation.data.verdict,
105
- ...(completion === undefined ? {} : { completion }),
106
- ...(verificationVerdict === undefined ? {} : { verificationVerdict }),
107
- ...(value.verification === undefined ? {} : { verification: value.verification }),
108
- ...(value.verificationReuse === undefined ? {} : { verificationReuse: value.verificationReuse }),
109
- ...(value.verificationSummary === undefined ? {} : { verificationSummary: value.verificationSummary }),
110
- ...(value.placement === undefined ? {} : { placement: value.placement }),
111
- ...(value.continuation === undefined ? {} : { continuation: value.continuation }),
112
- ...(value.workspace === undefined ? {} : { workspace: value.workspace }),
113
- };
114
- }
115
- export function acceptedArc(result, coordinate) {
116
- const arc = result.facts.find((fact) => fact.kind === "arc");
117
- if (arc === undefined)
118
- throw new Error("accepted arc is missing its arc fact");
119
- return {
120
- ...acceptedEnvelope(result, coordinate),
121
- verb: "arc",
122
- chapter: { seq: arc.data.seq, title: arc.data.title },
123
- };
124
- }
125
- export function acceptedAbandon(result, coordinate) {
126
- const abandoned = result.facts.find((fact) => fact.kind === "abandoned");
127
- if (abandoned === undefined)
128
- throw new Error("accepted abandon is missing its abandoned fact");
129
- return {
130
- ...acceptedEnvelope(result, coordinate),
131
- verb: "abandon",
132
- ...(abandoned.data.note === undefined ? {} : { note: abandoned.data.note }),
133
- };
134
- }
135
- export function acceptedAudit(result, coordinate) {
136
- return {
137
- ...acceptedEnvelope(result, coordinate),
138
- verb: "audit",
139
- report: result.value,
140
- };
141
- }
142
- export async function resultFromMutationCall(verb, call, project, options = {}) {
143
- try {
144
- return project(await call());
145
- }
146
- catch (error) {
147
- if (executionReceipt(error) !== undefined)
148
- throw error;
149
- if (error instanceof KeiyakuRefused) {
150
- return {
151
- kind: "refused",
152
- verb,
153
- ...(options.coordinate === undefined ? {} : { contract: options.coordinate }),
154
- refusal: options.projectRefusal === undefined ? error.refusal : options.projectRefusal(error.refusal),
155
- };
156
- }
157
- if (error instanceof KeiyakuRetry) {
158
- return {
159
- kind: "retry",
160
- verb,
161
- ...(options.coordinate === undefined ? {} : { contract: options.coordinate }),
162
- detail: error.reason,
163
- };
164
- }
165
- throw error;
166
- }
167
- }
@@ -1,45 +0,0 @@
1
- import type { AkumaList } from "../akuma/akuma.js";
2
- import type { ArchetypeCatalogRow } from "../akuma/archetype.js";
3
- import type { TaskRow } from "../task/index.js";
4
- import type { ContractRow } from "../library/contract.js";
5
- import type { WorldRoot } from "../world.js";
6
- export type CatalogQuery = Readonly<{
7
- kind: "tasks";
8
- namespace?: readonly string[];
9
- limit?: number;
10
- }> | Readonly<{
11
- kind: "contracts";
12
- limit?: number;
13
- }> | Readonly<{
14
- kind: "archetypes";
15
- limit?: number;
16
- }> | Readonly<{
17
- kind: "akuma";
18
- archetype?: string;
19
- limit?: number;
20
- }>;
21
- export type Catalog = Readonly<{
22
- kind: "tasks";
23
- root: WorldRoot;
24
- rows: readonly TaskRow[];
25
- hasMore: boolean;
26
- }> | Readonly<{
27
- kind: "contracts";
28
- root: string;
29
- state: string | null;
30
- observedAt: string;
31
- rows: readonly ContractRow[];
32
- hasMore: boolean;
33
- }> | Readonly<{
34
- kind: "archetypes";
35
- rows: readonly ArchetypeCatalogRow[];
36
- hasMore: boolean;
37
- }> | Readonly<{
38
- kind: "akuma";
39
- root: WorldRoot;
40
- archetype: string | null;
41
- observedAt: string;
42
- rows: AkumaList["rows"];
43
- searched: readonly string[];
44
- hasMore: boolean;
45
- }>;
@@ -1 +0,0 @@
1
- export {};
@@ -1,114 +0,0 @@
1
- import { type AkuId } from "../../akuma/identity.js";
2
- import { type ActivityHistory } from "../../akuma/akuma.js";
3
- import { type AkumaInterruptResult, type AkumaKillResult, type AkumaHistoryResult, type AkumaObservation, type AkumaTellResult, type AkumaWaitResult, type CallResult, type ForkResult, type Keiyaku as KeiyakuContract, type Repo } from "../../index.js";
4
- import { type WaitSelectedIdentity } from "../render/akuma-activity.js";
5
- import type { Settings } from "../../settings.js";
6
- import type { WorldRoot } from "../../world.js";
7
- import type { InvokedAkumaCommand } from "./akuma.js";
8
- import { type ExecutionContext } from "../../akuma/requests.js";
9
- import type { AkumaTellWaitResult } from "../../akuma/fleet-observation.js";
10
- export type AkumaInvocationResult = Readonly<{
11
- kind: "akuma";
12
- action: "call";
13
- result: CallResult;
14
- world: WorldRoot;
15
- streamed?: boolean;
16
- }> | Readonly<{
17
- kind: "akuma";
18
- action: "status";
19
- status: AkumaObservation;
20
- alias?: string;
21
- }> | Readonly<{
22
- kind: "akuma";
23
- action: "wait";
24
- result: AkumaWaitResult;
25
- alias?: string;
26
- streamed?: boolean;
27
- /** The moment this invocation began waiting, so a non-streamed scoreboard asserts real waiting. */
28
- startedAt?: number;
29
- /** The frozen selected set, so a non-streamed render names each target as the caller selected it. */
30
- selection?: readonly WaitSelectedIdentity[];
31
- }> | Readonly<{
32
- kind: "akuma";
33
- action: "tell";
34
- mode: "ordinary";
35
- result: AkumaTellResult;
36
- body: string;
37
- alias?: string;
38
- }> | Readonly<{
39
- kind: "akuma";
40
- action: "tell";
41
- mode: "schema";
42
- result: unknown;
43
- body: string;
44
- alias?: string;
45
- }> | Readonly<{
46
- kind: "akuma";
47
- action: "tell";
48
- mode: "wait";
49
- result: AkumaTellWaitResult;
50
- body: string;
51
- alias?: string;
52
- structured?: true;
53
- }> | Readonly<{
54
- kind: "akuma";
55
- action: "tell";
56
- mode: "interrupt";
57
- result: AkumaInterruptResult;
58
- body: string;
59
- alias?: string;
60
- }> | Readonly<{
61
- kind: "akuma";
62
- action: "history";
63
- akuma: AkuId;
64
- mode: "page";
65
- history: ActivityHistory;
66
- historyResult: AkumaHistoryResult;
67
- alias?: string;
68
- }> | Readonly<{
69
- kind: "akuma";
70
- action: "history";
71
- akuma: AkuId;
72
- mode: "last";
73
- answer: string;
74
- historyResult: AkumaHistoryResult;
75
- alias?: string;
76
- }> | Readonly<{
77
- kind: "akuma";
78
- action: "history";
79
- akuma: AkuId;
80
- mode: "no-answer";
81
- historyResult: AkumaHistoryResult;
82
- alias?: string;
83
- }> | Readonly<{
84
- kind: "akuma";
85
- action: "history";
86
- akuma: AkuId;
87
- mode: "exact";
88
- historyResult: AkumaHistoryResult;
89
- alias?: string;
90
- }> | Readonly<{
91
- kind: "akuma";
92
- action: "fork";
93
- receipt: ForkResult;
94
- }> | Readonly<{
95
- kind: "akuma";
96
- action: "kill";
97
- result: AkumaKillResult;
98
- alias?: string;
99
- }>;
100
- type InvokeInput = Readonly<{
101
- path: WorldRoot;
102
- executionCwd?: string;
103
- home?: string;
104
- settings?: Settings;
105
- contract?: KeiyakuContract;
106
- repo?: Repo;
107
- environment: NodeJS.ProcessEnv;
108
- readStdin(): Promise<string>;
109
- execution?: ExecutionContext;
110
- signal?: AbortSignal;
111
- }>;
112
- export declare function invokeAkuma(command: InvokedAkumaCommand, input: InvokeInput): Promise<AkumaInvocationResult>;
113
- export declare function invokeAkumaStatus(path: WorldRoot, akuma: string, alias?: string, repo?: Repo): Promise<AkumaInvocationResult>;
114
- export {};