@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
@@ -36,3 +36,13 @@ export declare const cliCoordinateDiscovery: {
36
36
  resolve(input: CliCoordinateInput): Promise<CliCoordinates>;
37
37
  };
38
38
  export declare function resolveCliCoordinates(input: CliCoordinateInput): Promise<CliCoordinates>;
39
+ type InvocationCoordinatesInput = Readonly<{
40
+ processCwd?: string;
41
+ cwd?: string;
42
+ repo?: string;
43
+ workdir?: string;
44
+ command: ParsedCommand;
45
+ }>;
46
+ /** The one process-edge coordinate resolution: explicit filesystem inputs plus the command's Repo policy. */
47
+ export declare function resolveInvocationCoordinates(invocation: InvocationCoordinatesInput, environment: NodeJS.ProcessEnv): Promise<CliCoordinates>;
48
+ export {};
@@ -106,3 +106,23 @@ async function resolveWorld(cwd, repo) {
106
106
  export async function resolveCliCoordinates(input) {
107
107
  return cliCoordinateDiscovery.resolve(input);
108
108
  }
109
+ /** One explicit Git executable override from the process edge; a blank value is usage, not absence. */
110
+ function gitPathFromEdge(environment) {
111
+ const value = environment.KEIYAKU_GIT_PATH;
112
+ if (value === undefined)
113
+ return undefined;
114
+ if (value.trim().length === 0)
115
+ throw new CliUsageError("KEIYAKU_GIT_PATH requires a nonblank value");
116
+ return value;
117
+ }
118
+ /** The one process-edge coordinate resolution: explicit filesystem inputs plus the command's Repo policy. */
119
+ export async function resolveInvocationCoordinates(invocation, environment) {
120
+ const gitPath = gitPathFromEdge(environment);
121
+ return resolveCliCoordinates({
122
+ ...(invocation.processCwd === undefined ? {} : { processCwd: invocation.processCwd }),
123
+ ...(invocation.cwd === undefined ? {} : { cwd: invocation.cwd }),
124
+ ...(invocation.repo === undefined ? {} : { repo: invocation.repo }),
125
+ ...(gitPath === undefined ? {} : { gitPath }),
126
+ command: invocation.command,
127
+ });
128
+ }
@@ -1,5 +1,11 @@
1
1
  import type { WorldRoot } from "../world.js";
2
- import type { BindDraftReceipt } from "./result.js";
2
+ export type BindDraftReceipt = Readonly<{
3
+ path: string;
4
+ warning?: string;
5
+ } | {
6
+ path?: never;
7
+ warning: string;
8
+ }>;
3
9
  export declare class BindDraftError extends Error {
4
10
  readonly original: unknown;
5
11
  readonly draft: BindDraftReceipt;
@@ -1,6 +1,15 @@
1
1
  import { CliUsageError, parseArgv, renderHelp } from "./parse.js";
2
2
  import { installedPackageVersion } from "./version.js";
3
+ function handleBrokenPipe(stream) {
4
+ stream.on("error", (error) => {
5
+ if (error.code === "EPIPE")
6
+ process.exit(0);
7
+ throw error;
8
+ });
9
+ }
3
10
  export async function main(argv = process.argv.slice(2)) {
11
+ handleBrokenPipe(process.stdout);
12
+ handleBrokenPipe(process.stderr);
4
13
  try {
5
14
  const parsed = parseArgv(argv);
6
15
  if ("help" in parsed) {
@@ -18,6 +27,6 @@ export async function main(argv = process.argv.slice(2)) {
18
27
  catch (error) {
19
28
  const diagnostic = error instanceof Error ? error.message : String(error);
20
29
  process.stderr.write(diagnostic.endsWith("\n") ? diagnostic : `${diagnostic}\n`);
21
- return error instanceof CliUsageError ? 1 : 3;
30
+ return error instanceof CliUsageError ? 64 : 3;
22
31
  }
23
32
  }
@@ -1,17 +1,17 @@
1
- import { type ParsedTaskCommand, type TaskAction } from "./commands/task.js";
2
- import { type AkumaAction, type ParsedAkumaCommand } from "./commands/akuma.js";
1
+ import { type ParsedTaskCommand, type TaskAction } from "./commands/task-grammar.js";
2
+ import { type AkumaAction, type ParsedAkumaCommand } from "./commands/akuma-grammar.js";
3
3
  import { type ParsedInstallCommand } from "./commands/install.js";
4
- import { type ContractCommand as Command, type ParsedAbandon, type ParsedAmend, type ParsedArc, type ParsedAudit, type ParsedBind, type ParsedDeliver, type ParsedLs, type ParsedNuke, type ParsedReconcile, type ParsedRegion, type ParsedReview, type ParsedSettings, type ParsedShow, type ParsedStatus } from "./commands/contract.js";
4
+ import { type ParsedAbandon, type ParsedAmend, type ParsedArc, type ParsedAudit, type ParsedBind, type ParsedDeliver, type ParsedLs, type ParsedNuke, type ParsedReconcile, type ParsedRegion, type ParsedReview, type ParsedSettings, type ParsedStatus } from "./commands/contract-grammar.js";
5
+ import { type ContractCommand as Command } from "./commands/contract-help.js";
5
6
  import { type CliUsageGuide } from "./usage.js";
6
7
  export { CliUsageError } from "./usage.js";
7
8
  export type { CliUsageGuide } from "./usage.js";
8
- export { renderContractHelp } from "./commands/contract.js";
9
+ export { renderContractHelp } from "./commands/contract-help.js";
9
10
  export type { Command };
10
11
  export declare function renderRootHelp(columns?: number): string;
11
- export declare function renderCommandUsage(command: ParsedCommand): string;
12
12
  export declare function usageGuideForCommand(command: ParsedCommand): CliUsageGuide;
13
13
  export declare function renderHelp(coordinate: CliHelpCoordinate, columns?: number): string;
14
- export type ParsedCommand = ParsedBind | ParsedAmend | ParsedDeliver | ParsedReview | ParsedArc | ParsedAbandon | ParsedStatus | ParsedShow | ParsedLs | ParsedAudit | ParsedReconcile | ParsedNuke | ParsedSettings | ParsedRegion | ParsedInstallCommand | ParsedAkumaCommand | ParsedTaskCommand;
14
+ export type ParsedCommand = ParsedBind | ParsedAmend | ParsedDeliver | ParsedReview | ParsedArc | ParsedAbandon | ParsedStatus | ParsedLs | ParsedAudit | ParsedReconcile | ParsedNuke | ParsedSettings | ParsedRegion | ParsedInstallCommand | ParsedAkumaCommand | ParsedTaskCommand;
15
15
  export type CliHelpCoordinate = Readonly<{
16
16
  kind: "root";
17
17
  }> | Readonly<{
@@ -26,13 +26,12 @@ export type CliHelpCoordinate = Readonly<{
26
26
  kind: "akuma";
27
27
  action: AkumaAction;
28
28
  }>;
29
- export type ParsedExecution = Readonly<{
29
+ export type ParsedInvocation = Readonly<{
30
30
  cwd?: string;
31
31
  repo?: string;
32
32
  workdir?: string;
33
33
  command: ParsedCommand;
34
- }>;
35
- export type ParsedInvocation = ParsedExecution | Readonly<{
34
+ }> | Readonly<{
36
35
  help: CliHelpCoordinate;
37
36
  }> | Readonly<{
38
37
  version: true;
@@ -1,11 +1,12 @@
1
- import { isTaskAction, parseTaskCommand, renderTaskHelp, renderTaskUsage, taskUsageGuide, } from "./commands/task.js";
2
- import { akumaUsageGuide, isAkumaAction, parseAkumaCommand, renderAkumaHelp, renderAkumaRootRows, renderAkumaUsage, } from "./commands/akuma.js";
1
+ import { isTaskAction, parseTaskCommand, renderTaskHelp, taskUsageGuide, } from "./commands/task-grammar.js";
2
+ import { akumaUsageGuide, isAkumaAction, parseAkumaCommand, renderAkumaHelp, renderAkumaRootRows, } from "./commands/akuma-grammar.js";
3
3
  import { INSTALL_ROOT_PURPOSE, INSTALL_USAGE, parseInstallCommand, renderInstallHelp, } from "./commands/install.js";
4
- import { CONTRACT_COMMAND_SPECS, parseContractCommand, renderContractHelp as renderContractHelpForOwner, renderContractUsage, } from "./commands/contract.js";
4
+ import { parseContractCommand, } from "./commands/contract-grammar.js";
5
+ import { CONTRACT_COMMAND_SPECS, renderContractHelp as renderContractHelpForOwner, } from "./commands/contract-help.js";
5
6
  import { renderOpaqueBlock, renderTextBlock } from "./render/terminal.js";
6
7
  import { CliUsageError, commandGuide, isBlankInput, ROOT_USAGE_GUIDE, unknownCommandGuide, } from "./usage.js";
7
8
  export { CliUsageError } from "./usage.js";
8
- export { renderContractHelp } from "./commands/contract.js";
9
+ export { renderContractHelp } from "./commands/contract-help.js";
9
10
  const ROOT_USAGE = [
10
11
  "usage keiyaku <command> [options]",
11
12
  " keiyaku <command> --help shows that command's complete usage",
@@ -25,22 +26,22 @@ export function renderRootHelp(columns) {
25
26
  "Task — plan memory",
26
27
  " task Task coordination; see `keiyaku task --help`.",
27
28
  "",
28
- "Akuma — invoke capability",
29
+ "Akuma — contracted demons",
29
30
  ...renderAkumaRootRows(),
30
31
  "",
31
32
  "Workspace",
32
- ` install ${INSTALL_ROOT_PURPOSE}`,
33
- ` settings ${CONTRACT_COMMAND_SPECS.settings.purpose}`,
33
+ ` ${"install".padEnd(10)} ${INSTALL_ROOT_PURPOSE}`,
34
+ ` ${"settings".padEnd(10)} ${CONTRACT_COMMAND_SPECS.settings.purpose}`,
34
35
  "",
35
36
  "Package",
36
37
  " --version Print the running package version.",
37
38
  "",
38
39
  "Global options:",
39
- " -C, --cwd <path> Set the invocation working directory.",
40
- " --repo <path> Select the Git repository coordinate.",
40
+ " -C, --cwd <path> Set the invocation working directory.",
41
+ " --repo <path> Select the Git repository coordinate.",
42
+ " --workdir <path> Set the execution directory for call only.",
41
43
  "",
42
- "Call option:",
43
- " --workdir <path> Set the execution directory for call only.",
44
+ "Outcomes: exit 0 accepted · 1 refused · 2 retry · 3 failed · 64 usage",
44
45
  ].join("\n"), columns);
45
46
  }
46
47
  function renderHelpText(help, columns) {
@@ -60,18 +61,6 @@ function renderHelpText(help, columns) {
60
61
  })
61
62
  .join("\n");
62
63
  }
63
- function contractUsage(command) {
64
- return renderContractUsage(command);
65
- }
66
- export function renderCommandUsage(command) {
67
- if (command.command === "install")
68
- return renderInstallHelp();
69
- if (command.command === "task")
70
- return renderTaskUsage(command.action);
71
- if (isAkumaAction(command.command))
72
- return renderAkumaUsage(command.command);
73
- return contractUsage(command.command);
74
- }
75
64
  export function usageGuideForCommand(command) {
76
65
  if (command.command === "install")
77
66
  return commandGuide("install", INSTALL_USAGE);
@@ -108,13 +97,13 @@ export function commandRepoPolicy(command) {
108
97
  case "abandon":
109
98
  case "audit":
110
99
  case "reconcile":
111
- case "show":
112
100
  case "region":
113
101
  return { use: "required", acceptsExplicit: true };
114
102
  case "ls":
115
103
  return { use: command.query.kind === "contracts" ? "required" : "none", acceptsExplicit: false };
116
104
  case "status":
117
105
  case "tell":
106
+ case "ask":
118
107
  return { use: "optional", acceptsExplicit: false };
119
108
  case "history":
120
109
  return "contract" in command
@@ -172,9 +161,9 @@ function scanOption(command, argv, state, index) {
172
161
  return index;
173
162
  }
174
163
  const value = argv[index + 1];
175
- if (value === undefined)
164
+ if (value === undefined || value.startsWith("--"))
176
165
  refuse(command, `${token} requires a value`);
177
- if (kind !== "raw-value" && (value === "-" || value.startsWith("--"))) {
166
+ if (kind !== "raw-value" && value === "-") {
178
167
  refuse(command, `${token} requires a value`);
179
168
  }
180
169
  if (kind !== "raw-value" && isBlankInput(value))
@@ -188,21 +177,19 @@ function scanOption(command, argv, state, index) {
188
177
  }
189
178
  return index + 1;
190
179
  }
191
- function scanArgv(argv) {
192
- const candidate = argv[0];
193
- if (!candidate || !Object.prototype.hasOwnProperty.call(CONTRACT_COMMAND_SPECS, candidate)) {
194
- throw new CliUsageError(`unknown command: ${candidate ?? ""}`, unknownCommandGuide(ROOT_USAGE_GUIDE, candidate ?? ""));
195
- }
196
- const command = candidate;
197
- const spec = CONTRACT_COMMAND_SPECS[command];
198
- const state = { flags: {}, positionals: [], stdin: false };
180
+ function scanContractTokens(command, argv, state) {
181
+ let positionalOnly = false;
199
182
  for (let index = 1; index < argv.length; index += 1) {
200
183
  const token = argv[index];
201
- if (token === "-") {
184
+ if (!positionalOnly && token === "--") {
185
+ positionalOnly = true;
186
+ continue;
187
+ }
188
+ if (!positionalOnly && token === "-") {
202
189
  scanStdin(command, state);
203
190
  continue;
204
191
  }
205
- if (token.startsWith("--")) {
192
+ if (!positionalOnly && token.startsWith("--")) {
206
193
  index = scanOption(command, argv, state, index);
207
194
  continue;
208
195
  }
@@ -210,6 +197,16 @@ function scanArgv(argv) {
210
197
  refuse(command, `${command} requires a nonblank value`);
211
198
  state.positionals.push(token);
212
199
  }
200
+ }
201
+ function scanArgv(argv) {
202
+ const candidate = argv[0];
203
+ if (!candidate || !Object.prototype.hasOwnProperty.call(CONTRACT_COMMAND_SPECS, candidate)) {
204
+ throw new CliUsageError(`unknown command: ${candidate ?? ""}`, unknownCommandGuide(ROOT_USAGE_GUIDE, candidate ?? ""));
205
+ }
206
+ const command = candidate;
207
+ const spec = CONTRACT_COMMAND_SPECS[command];
208
+ const state = { flags: {}, positionals: [], stdin: false };
209
+ scanContractTokens(command, argv, state);
213
210
  if (spec.positional === "none" && state.positionals.length > 0) {
214
211
  refuse(command, `${command} accepts no contract`);
215
212
  }
@@ -228,32 +225,38 @@ function invocationOptions(argv) {
228
225
  let repo;
229
226
  let workdir;
230
227
  const commandArgv = [];
228
+ let positionalOnly = false;
231
229
  for (let index = 0; index < argv.length; index += 1) {
232
230
  const token = argv[index];
233
- if (!INVOCATION_PATH_OPTIONS.has(token)) {
231
+ if (!positionalOnly && token === "--") {
232
+ positionalOnly = true;
234
233
  commandArgv.push(token);
235
234
  continue;
236
235
  }
237
- if (token === "--repo" && repo !== undefined) {
238
- throw new CliUsageError("--repo may appear only once", ROOT_USAGE_GUIDE);
239
- }
240
- if ((token === "-C" || token === "--cwd") && cwd !== undefined) {
241
- throw new CliUsageError("-C/--cwd may appear only once", ROOT_USAGE_GUIDE);
242
- }
243
- if (token === "--workdir" && workdir !== undefined) {
244
- throw new CliUsageError("--workdir may appear only once", ROOT_USAGE_GUIDE);
245
- }
246
- const value = argv[index + 1];
247
- if (invalidInvocationPath(value)) {
248
- throw new CliUsageError(`${token} requires a path`, ROOT_USAGE_GUIDE);
236
+ if (!positionalOnly && INVOCATION_PATH_OPTIONS.has(token)) {
237
+ if (token === "--repo" && repo !== undefined) {
238
+ throw new CliUsageError("--repo may appear only once", ROOT_USAGE_GUIDE);
239
+ }
240
+ if ((token === "-C" || token === "--cwd") && cwd !== undefined) {
241
+ throw new CliUsageError("-C/--cwd may appear only once", ROOT_USAGE_GUIDE);
242
+ }
243
+ if (token === "--workdir" && workdir !== undefined) {
244
+ throw new CliUsageError("--workdir may appear only once", ROOT_USAGE_GUIDE);
245
+ }
246
+ const value = argv[index + 1];
247
+ if (invalidInvocationPath(value)) {
248
+ throw new CliUsageError(`${token} requires a path`, ROOT_USAGE_GUIDE);
249
+ }
250
+ if (token === "--repo")
251
+ repo = value;
252
+ else if (token === "--workdir")
253
+ workdir = value;
254
+ else
255
+ cwd = value;
256
+ index += 1;
257
+ continue;
249
258
  }
250
- if (token === "--repo")
251
- repo = value;
252
- else if (token === "--workdir")
253
- workdir = value;
254
- else
255
- cwd = value;
256
- index += 1;
259
+ commandArgv.push(token);
257
260
  }
258
261
  return {
259
262
  ...(cwd === undefined ? {} : { cwd }),
@@ -266,7 +269,9 @@ function invalidInvocationPath(value) {
266
269
  return value === undefined || value === "-" || value.startsWith("-") || isBlankInput(value);
267
270
  }
268
271
  function helpCoordinate(argv) {
269
- const help = argv.indexOf("--help");
272
+ const endOptions = argv.indexOf("--");
273
+ const optionEnd = endOptions < 0 ? argv.length : endOptions;
274
+ const help = argv.slice(0, optionEnd).indexOf("--help");
270
275
  if (help < 0)
271
276
  return null;
272
277
  const words = argv.slice(0, help);
@@ -291,11 +296,6 @@ export function parseArgv(argv) {
291
296
  return { help };
292
297
  if (invocation.commandArgv.length === 1 && invocation.commandArgv[0] === "--version")
293
298
  return { version: true };
294
- if (invocation.commandArgv[0] === "ls" &&
295
- (invocation.commandArgv.length === 1 ||
296
- (invocation.commandArgv.length === 2 && invocation.commandArgv[1] === "--json"))) {
297
- return { help: { kind: "contract", command: "ls" } };
298
- }
299
299
  const task = invocation.commandArgv[0] === "task" ? parseTaskCommand(invocation.commandArgv.slice(1)) : undefined;
300
300
  const install = invocation.commandArgv[0] === "install" ? parseInstallCommand(invocation.commandArgv.slice(1)) : undefined;
301
301
  const akuma = isAkumaAction(invocation.commandArgv[0]) ? parseAkumaCommand(invocation.commandArgv) : undefined;
@@ -1,10 +1,11 @@
1
- import type { ActivityRow, AkumaStatus, KillEvidence } from "../../akuma/akuma.js";
2
- import type { CallObservation } from "../../library/akuma-creation.js";
3
- import type { AkumaObservation, AkumaObservationStage, CreatedTaskObservation, DispatchAssociation } from "../../index.js";
4
- import type { AkumaTellWaitObservation } from "../../akuma/fleet-observation.js";
5
- import type { AkumaInvocationResult } from "../commands/akuma-invoke.js";
6
- import type { WaitObservedAkuma } from "../../akuma/fleet-execution.js";
7
- import type { ParsedCommand } from "../parse.js";
1
+ import type { AkumaStatus } from "../../akuma/akuma.js";
2
+ import type { KillEvidence } from "../../akuma/heart/index.js";
3
+ import type { ActivityRow } from "../../akuma/projection.js";
4
+ import type { AkumaAskObservation, AkumaAskResult, AkumaTellResult, AkumaWaitResult } from "../../akuma/selection-observation.js";
5
+ import type { AkumaObservation, CreatedTaskObservation, DispatchAssociation } from "../../index.js";
6
+ import type { CallObservation, CallResult } from "../../library/akuma-creation.js";
7
+ import type { WaitObservedAkuma } from "../../library/akumas.js";
8
+ import type { AkumaHistoryResult } from "../../library/selection.js";
8
9
  import { type TextRenderContext } from "./terminal.js";
9
10
  export declare const DEFAULT_CONTEXT: TextRenderContext;
10
11
  /**
@@ -12,13 +13,13 @@ export declare const DEFAULT_CONTEXT: TextRenderContext;
12
13
  * widest line, marking the boundary between an observation frame and its content.
13
14
  */
14
15
  export declare function frameRule(headLines: readonly string[]): string;
15
- type FleetTimeline = AkumaObservation["status"]["timeline"];
16
- type RenderedSnapshot = FleetTimeline;
16
+ type StatusTimeline = AkumaObservation["status"]["timeline"];
17
+ type RenderedSnapshot = StatusTimeline;
17
18
  type RenderedActivity = Readonly<{
18
19
  snapshot: RenderedSnapshot;
19
20
  rows: readonly ActivityRow[];
20
21
  }>;
21
- export declare function associatedIdentity(id: string, alias?: string, _contract?: DispatchAssociation): string;
22
+ export declare function associatedIdentity(id: string, alias?: string, contract?: DispatchAssociation): string;
22
23
  export declare function snapshotHeading(id: string, alias: string | undefined, contract: DispatchAssociation | undefined): readonly string[];
23
24
  /**
24
25
  * The one place row prefixes live: time, optional source, mark, verb, content.
@@ -31,8 +32,10 @@ type RowLayout = Readonly<{
31
32
  marker: (count: number) => string;
32
33
  history?: true;
33
34
  compactRun?: true;
34
- /** Plural wait rows spend their full remaining width on one terminal line. */
35
+ /** Plural wait keeps ordinary rows on one line; speech can use its two-line budget. */
35
36
  singleLine?: true;
37
+ /** World-board answer previews keep the conclusion at the tail. */
38
+ tailAnswer?: true;
36
39
  /** A plural wait shares one minute clock across all of its attributed rows. */
37
40
  clock?: {
38
41
  previous?: string;
@@ -45,20 +48,23 @@ type RowLayout = Readonly<{
45
48
  */
46
49
  export declare function snapshotActivityLines(snapshot: RenderedSnapshot, context: TextRenderContext, selection?: Readonly<{
47
50
  latest?: boolean;
51
+ tailAnswer?: true;
48
52
  }>): readonly string[];
49
53
  /** One command's append-only activity view, with a baseline and a final tail flush. */
50
54
  export type ActivityStream = ((activity: RenderedActivity) => readonly string[]) & Readonly<{
51
55
  /** Establish a wait baseline without spending the command's live tool budget. */
52
56
  seed: (activity: RenderedActivity, alreadyRenderedSequence?: number) => readonly string[];
57
+ /** Current live rows for the redrawable frame; never part of append-only output. */
58
+ frame: () => readonly string[];
53
59
  /** Emit the deferred tail exactly once before the command's conclusion. */
54
60
  flush: () => readonly string[];
55
61
  }>;
56
62
  /**
57
63
  * Append-only live view over one command's successive settled snapshots. The
58
- * first three tools stream immediately; later tools wait in a two-row tail
59
- * until the command ends. As a newer tool displaces an older tail candidate,
60
- * its body becomes an in-place omission count. Narrative waits only while a
61
- * preceding tail tool still decides its position.
64
+ * first three tools stream immediately; later tools wait in a two-row tail.
65
+ * A say omits the earlier tail, so only the last two extra tools after the
66
+ * final say can print at closing. Newer tools displace older tail candidates
67
+ * in place. Other narrative rows wait behind undecided tail tools.
62
68
  */
63
69
  export declare function activityStream(context: TextRenderContext, layout?: RowLayout): ActivityStream;
64
70
  /** What a wait conclusion renders over: its observed and unobserved members. */
@@ -81,14 +87,19 @@ export type WaitObservationStream = Readonly<{
81
87
  select: (selected: readonly WaitSelectedIdentity[]) => void;
82
88
  /** One observation round; returns the head frames and newly settled rows to print. */
83
89
  observe: (observed: readonly WaitObservedAkuma[]) => readonly string[];
90
+ /** Current live rows from all selected streams; never part of append-only output. */
91
+ frame: () => readonly string[];
92
+ /** In-flight rows with their unresolved marks, emitted by a close that never concluded. */
93
+ flush: () => readonly string[];
84
94
  /** The wait's closing scoreboard, or the empty string when there is nothing to print. */
85
95
  conclude: (result: WaitConclusionResult) => string;
86
96
  streamed: () => boolean;
87
97
  }>;
88
- export declare function inputWaitConclusion(observation: AkumaTellWaitObservation, input: Readonly<{
98
+ export declare function inputWaitConclusion(observation: AkumaAskObservation, input: Readonly<{
89
99
  startedAt: number;
90
100
  completedAt?: string | null;
91
101
  now?: number;
102
+ status?: AkumaStatus;
92
103
  }>): readonly string[];
93
104
  /**
94
105
  * Live view over a wait's successive observation rounds, one append-only
@@ -116,7 +127,7 @@ export type InputWaitConclusion = Readonly<{
116
127
  diagnostic: string;
117
128
  }> | Readonly<{
118
129
  kind: "observed";
119
- observation: AkumaTellWaitObservation;
130
+ observation: AkumaAskObservation;
120
131
  completedAt?: string | null;
121
132
  }>;
122
133
  export type InputWaitStream = Readonly<{
@@ -129,13 +140,19 @@ export type InputWaitStream = Readonly<{
129
140
  status: AkumaStatus;
130
141
  rows: readonly ActivityRow[];
131
142
  }>) => readonly string[];
143
+ /** Current live rows for the redrawable frame; never part of append-only output. */
144
+ frame: () => readonly string[];
145
+ /** In-flight rows with their unresolved marks, emitted by a close that never concluded. */
146
+ flush: () => readonly string[];
132
147
  conclude: (result: InputWaitConclusion) => string;
133
148
  opened: () => boolean;
134
149
  }>;
135
- export type CallObservationStream = Readonly<{
136
- observe: InputWaitStream["observe"];
150
+ /**
151
+ * The call-observation projection of one input wait: the same admitted/observe/frame/flush/opened
152
+ * lifetime with the closing judgment translated from the native CallObservation.
153
+ */
154
+ export type CallObservationStream = Readonly<Omit<InputWaitStream, "conclude"> & {
137
155
  conclude: (observation: CallObservation) => string;
138
- opened: InputWaitStream["opened"];
139
156
  }>;
140
157
  /**
141
158
  * Live view over one observing input: its identity frame opens once, selected
@@ -162,26 +179,27 @@ type SnapshotCoreOptions = Readonly<{
162
179
  }>;
163
180
  export declare function snapshotText(view: SnapshotView, context: TextRenderContext, options?: SnapshotCoreOptions): string;
164
181
  export declare function killResultText(id: string, evidence: KillEvidence, alias?: string): string;
165
- export declare function mutationObservationStageText(id: string, observation: AkumaObservationStage, context: TextRenderContext, options?: SnapshotCoreOptions & Readonly<{
166
- showLife?: boolean;
167
- }>): string;
168
182
  export declare function statusAnswer(view: Readonly<{
169
183
  status: AkumaObservation["status"];
170
184
  }>): string | undefined;
171
- export declare function akumaRawAnswer(result: AkumaInvocationResult): string | undefined;
172
- export declare function waitText(result: Extract<AkumaInvocationResult, {
173
- action: "wait";
174
- }>, context: TextRenderContext): string;
175
- export declare function historyText(command: Extract<ParsedCommand, {
176
- command: "history";
177
- last: boolean;
178
- }>, result: Extract<AkumaInvocationResult, {
179
- action: "history";
185
+ /** Presentation-only state for one akuma invocation; it never reaches JSON. */
186
+ type AkumaPresentation = Readonly<{
187
+ alias?: string;
188
+ streamed?: boolean;
189
+ structured?: boolean;
190
+ startedAt?: number;
191
+ selection?: readonly WaitSelectedIdentity[];
192
+ }>;
193
+ export declare function askRawAnswer(result: AkumaAskResult, structured: boolean | undefined): string | undefined;
194
+ export declare function callRawAnswer(result: CallResult, streamed: boolean): string | undefined;
195
+ export declare function waitRawAnswer(result: AkumaWaitResult, streamed: boolean): string | undefined;
196
+ export declare function historyRawAnswer(result: AkumaHistoryResult, historyId: string | undefined): string | undefined;
197
+ export declare function waitText(result: AkumaWaitResult, presentation: AkumaPresentation, context: TextRenderContext): string;
198
+ export declare function historyText(result: AkumaHistoryResult, presentation: AkumaPresentation & Readonly<{
199
+ id?: string;
200
+ last?: boolean;
180
201
  }>, context: TextRenderContext): string;
181
- export declare function tellText(result: Extract<AkumaInvocationResult, {
182
- action: "tell";
183
- mode: "ordinary";
184
- }>, context: TextRenderContext, options?: Readonly<{
202
+ export declare function tellText(result: AkumaTellResult, alias: string | undefined, context: TextRenderContext, options?: Readonly<{
185
203
  identity?: boolean;
186
204
  }>): string;
187
205
  export {};