@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
@@ -15,19 +15,29 @@ export function validateAkumaName(value) {
15
15
  }
16
16
  return value;
17
17
  }
18
+ // A pending separator run is a dot only while every grapheme in it is one;
19
+ // any other separator grapheme demotes the whole run to a dash.
20
+ function extendSeparatorRun(run, segment) {
21
+ if (segment !== ".")
22
+ return "dash";
23
+ return run === "none" ? "dot" : run;
24
+ }
18
25
  export function normalizeIdentityStem(input) {
19
26
  const source = input.source.normalize("NFKC").toLowerCase().normalize("NFKC");
20
27
  let result = "";
21
- let separator = false;
28
+ let separator = "none";
22
29
  for (const segment of graphemes(source)) {
23
30
  if (!WORD_GRAPHEME.test(segment) && !EMOJI_GRAPHEME.test(segment)) {
24
- separator ||= result.length > 0;
31
+ if (result.length > 0)
32
+ separator = extendSeparatorRun(separator, segment);
25
33
  continue;
26
34
  }
27
- if (separator)
35
+ if (separator === "dot")
36
+ result += ".";
37
+ else if (separator === "dash")
28
38
  result += "-";
29
39
  result += segment;
30
- separator = false;
40
+ separator = "none";
31
41
  }
32
42
  return result;
33
43
  }
@@ -36,7 +46,9 @@ export function fitIdentityStemWords(input) {
36
46
  throw new Error("identity stem code point budget must be a positive safe integer");
37
47
  }
38
48
  const words = input.stem.split("-");
39
- let fitted = truncateGraphemes(words[0], input.maxCodePoints);
49
+ // Strip before counting: a truncated head must not glue its dangling dot to
50
+ // the next word's dash.
51
+ let fitted = truncateGraphemes(words[0], input.maxCodePoints).replace(/[-.]+$/u, "");
40
52
  let count = [...fitted].length;
41
53
  for (const word of words.slice(1)) {
42
54
  const candidate = count + 1 + [...word].length;
@@ -45,6 +57,7 @@ export function fitIdentityStemWords(input) {
45
57
  fitted += `-${word}`;
46
58
  count = candidate;
47
59
  }
60
+ fitted = fitted.replace(/[-.]+$/u, "");
48
61
  if (fitted.length === 0)
49
62
  throw new Error("identity stem is empty after fitting");
50
63
  return fitted;
@@ -78,7 +91,7 @@ export function fitIdentityStem(input) {
78
91
  break;
79
92
  stem += segment;
80
93
  }
81
- stem = stem.replace(/-+$/u, "");
94
+ stem = stem.replace(/[-.]+$/u, "");
82
95
  if (stem.length === 0)
83
96
  throw new Error("identity stem is empty after fitting");
84
97
  return stem + suffix;
@@ -1,10 +1,81 @@
1
- export * from "./library/keiyaku.js";
2
- export * from "./library/akumas.js";
3
- export { Akuma, Schema, ALLOWED_ACTIONS, AkumaBusyError, AkumaDecodeError, AkumaNotBornError, AkumaProviderError, } from "./akuma/index.js";
4
- export type { AkumaBirthInput, AkumaHistoryOptions, AkumaIdleOptions, AkumaIdleResult, AkumaSignalOptions, AkumaTellOptions, InterruptReceipt, KillEvidence, JsonSchema, JsonSchemaDocument, StandardSchemaV1, SchemaLike, AkuId, AkumaStatus, ActivityHistory, ActivityRow, AllowedAction, AllowedActions, } from "./akuma/index.js";
5
- export { settings } from "./settings.js";
1
+ /**
2
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
3
+ * Settings, and Plugin surfaces. Internal composition, execution, and
4
+ * configuration helpers stay off this entry; only CLI and Body import them.
5
+ */
6
+ /**
7
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
8
+ * Settings, and Plugin surfaces. Internal composition, execution, and
9
+ * configuration helpers stay off this entry; only CLI and Body import them.
10
+ */
11
+ export { AuthorityCorruptionError } from "./core/facts/errors.js";
12
+ /**
13
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
14
+ * Settings, and Plugin surfaces. Internal composition, execution, and
15
+ * configuration helpers stay off this entry; only CLI and Body import them.
16
+ */
17
+ export { Delivery } from "./library/delivery.js";
18
+ /**
19
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
20
+ * Settings, and Plugin surfaces. Internal composition, execution, and
21
+ * configuration helpers stay off this entry; only CLI and Body import them.
22
+ */
23
+ export { Keiyaku } from "./library/keiyaku.js";
24
+ /**
25
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
26
+ * Settings, and Plugin surfaces. Internal composition, execution, and
27
+ * configuration helpers stay off this entry; only CLI and Body import them.
28
+ */
29
+ export { KeiyakuError } from "./library/outcome.js";
30
+ /**
31
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
32
+ * Settings, and Plugin surfaces. Internal composition, execution, and
33
+ * configuration helpers stay off this entry; only CLI and Body import them.
34
+ */
35
+ export { NoGitWorldError, Repo } from "./library/repo.js";
36
+ /**
37
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
38
+ * Settings, and Plugin surfaces. Internal composition, execution, and
39
+ * configuration helpers stay off this entry; only CLI and Body import them.
40
+ */
41
+ export { actorId } from "./core/facts/types.js";
42
+ /**
43
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
44
+ * Settings, and Plugin surfaces. Internal composition, execution, and
45
+ * configuration helpers stay off this entry; only CLI and Body import them.
46
+ */
6
47
  export { z } from "zod";
48
+ export { ALLOWED_ACTIONS, Akuma, AkumaBusyError, AkumaDecodeError, AkumaNotBornError, AkumaProviderError, Schema, } from "./akuma/index.js";
49
+ export type { ActivityHistory, ActivityRow, AkuId, AkumaAskObservation, AkumaAskOptions, AkumaAskResult, AkumaBirthInput, AkumaHistoryOptions, AkumaIdleOptions, AkumaIdleResult, AkumaSignalOptions, AkumaStatus, AkumaTellOptions, AkumaTellResult, AllowedAction, AllowedActions, InterruptReceipt, JsonSchema, JsonSchemaDocument, KillEvidence, SchemaLike, StandardSchemaV1, } from "./akuma/index.js";
50
+ export type { ActorId, ChangeId, ContractHead, ContractId, ContractState, JournalEntry as Fact, FactKind, SnapshotId, } from "./core/facts/types.js";
51
+ export { kanshi, observeKanshi, selectKanshi, selectRegion } from "./kanshi/index.js";
52
+ export type { AkumaKanshiRow, AkumaKanshiWorld, ContractEndpointObservation, ContractHolderObservation, ContractKanshiBoard, ContractKanshiRow, KanshiInput, KanshiRegionSelection, KanshiReport, KanshiSelection, RegionDeclaration, RegionRead, Section, TaskKanshiRow, TaskKanshiWorld, } from "./kanshi/index.js";
53
+ export { AkumaAddressError, AkumaWorldScopeError, Akumas } from "./library/akumas.js";
54
+ export type { AkumaAddressInput, AkumaAskInput, AkumaHistoryInput, AkumaHistoryResult, AkumaKillInput, AkumaKillResult, AkumaList, AkumaListInput, AkumaObservation, AkumaObservationStage, AkumaTellInput, AkumaWaitInput, AkumaWaitResult, AkumaWorldScopeRefusal, CallInput, CallResult, CallWaitHead, CreatedTaskObservation, DispatchAssociation, DispatchStage, ForkInput, ForkResult, TellResult, TellWake, WaitObservedAkuma, WaitObserver, WaitSelectedAkuma, } from "./library/akumas.js";
55
+ export type { ContinuationReport } from "./library/continuation.js";
56
+ export type { KeiyakuLibrary, ReconcileInput } from "./library/contract-composition.js";
57
+ export type { AbandonOutcome, AmendOutcome, ArcOutcome, AuditOutcome, BindOutcome, BindResult, DeliverOutcome, ReviewOutcome, } from "./library/contract-outcomes.js";
58
+ export type { AbandonInput, AmendInput, ArcInput, BindInput, ContractHistory, ContractHistoryEvent, ContractList, ContractListInput, ContractObservationInput, DeliverInput, KeiyakuSelectInput, LocalContractComposition, ReviewInput, } from "./library/contract-types.js";
59
+ export { nukeKeiyaku as nuke } from "./library/nuke.js";
60
+ export type { NukeInput, NukeResult } from "./library/nuke.js";
61
+ export type { InvocationEffect, KeiyakuErrorCategory, PartialOutcomeEnvelope, PendingSurface, ReconciliationLag, Review, } from "./library/outcome.js";
62
+ export type { ReconcileCompletion, RepoContractReconcileReport, RepoReconcileReport } from "./library/reconcile.js";
63
+ export type { KeiyakuRefusal, KeiyakuRetryReason, NukeConfirmationRefusal, NukeConfirmationRequiredRefusal, OperationRetries, } from "./library/refusal.js";
64
+ export type { RegionOverlap } from "./library/region.js";
65
+ export type { RepoAtInput } from "./library/repo.js";
66
+ export type { KeiyakuPlugin, PluginBodyEnd, PluginContext, PluginHooks, PluginInstance, PluginManifest, PluginOutcome, PluginSignal, PluginSignalMap, } from "./plugin/public.js";
67
+ export type { AuditReport } from "./protocol/audit.js";
68
+ export type { IntegrationConflictMaterialized, VerificationReuse } from "./protocol/deliver.js";
69
+ export type { ExecutionObservation, ExecutionObserver } from "./protocol/execution-observation.js";
70
+ export type { PlacementStop, VerificationStop } from "./protocol/operations.js";
71
+ export type { ExecutionCleanup, ExecutionStop } from "./protocol/progress.js";
72
+ export type { ContractAfterEdge, ContractBoard, ContractCatalogue, ContractDependent, ContractDisposition, ContractGateCurrent, ContractGateReport, ContractObservation, ContractPhase, ContractRow, ContractWorkspaceObservation, } from "./protocol/read/status.js";
73
+ export { SettingsError, settings } from "./settings.js";
74
+ export type { Gate } from "./library/contract-types.js";
75
+ export type { Settings, SettingsEntry, SettingsInput, SettingsNamespaceFailure, SettingsNamespaceView, SettingsScope, SettingsScopeState, } from "./settings.js";
76
+ export type { SettlementAction, SettlementLag, SettlementReport } from "./settlement/settle.js";
77
+ export type * from "./task/index.js";
78
+ export { TASK_RELATION_PREDICATE_FIELDS, TaskAuthorityCorruptionError, Tasks } from "./task/index.js";
7
79
  export { World, WorldError } from "./world.js";
8
80
  export type { WorldResolution, WorldResolutionInput, WorldRoot } from "./world.js";
9
- export type { KeiyakuPlugin, PluginContext, PluginHooks, PluginInstance, PluginManifest, PluginBodyEnd, PluginOutcome, PluginSignal, PluginSignalMap, } from "./plugin/public.js";
10
- export type { Settings, SettingsEntry, SettingsInput, SettingsNamespaceFailure, SettingsNamespaceView, SettingsScope, SettingsScopeState, } from "./settings.js";
81
+ export type { ReconcileReport, TopologyEffect } from "./library/reconcile.js";
@@ -1,6 +1,54 @@
1
- export * from "./library/keiyaku.js";
2
- export * from "./library/akumas.js";
3
- export { Akuma, Schema, ALLOWED_ACTIONS, AkumaBusyError, AkumaDecodeError, AkumaNotBornError, AkumaProviderError, } from "./akuma/index.js";
4
- export { settings } from "./settings.js";
1
+ /**
2
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
3
+ * Settings, and Plugin surfaces. Internal composition, execution, and
4
+ * configuration helpers stay off this entry; only CLI and Body import them.
5
+ */
6
+ /**
7
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
8
+ * Settings, and Plugin surfaces. Internal composition, execution, and
9
+ * configuration helpers stay off this entry; only CLI and Body import them.
10
+ */
11
+ export { AuthorityCorruptionError } from "./core/facts/errors.js";
12
+ /**
13
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
14
+ * Settings, and Plugin surfaces. Internal composition, execution, and
15
+ * configuration helpers stay off this entry; only CLI and Body import them.
16
+ */
17
+ export { Delivery } from "./library/delivery.js";
18
+ /**
19
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
20
+ * Settings, and Plugin surfaces. Internal composition, execution, and
21
+ * configuration helpers stay off this entry; only CLI and Body import them.
22
+ */
23
+ export { Keiyaku } from "./library/keiyaku.js";
24
+ /**
25
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
26
+ * Settings, and Plugin surfaces. Internal composition, execution, and
27
+ * configuration helpers stay off this entry; only CLI and Body import them.
28
+ */
29
+ export { KeiyakuError } from "./library/outcome.js";
30
+ /**
31
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
32
+ * Settings, and Plugin surfaces. Internal composition, execution, and
33
+ * configuration helpers stay off this entry; only CLI and Body import them.
34
+ */
35
+ export { NoGitWorldError, Repo } from "./library/repo.js";
36
+ /**
37
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
38
+ * Settings, and Plugin surfaces. Internal composition, execution, and
39
+ * configuration helpers stay off this entry; only CLI and Body import them.
40
+ */
41
+ export { actorId } from "./core/facts/types.js";
42
+ /**
43
+ * The package root: the curated Contract, Akuma, Akumas, Task, Kanshi, World,
44
+ * Settings, and Plugin surfaces. Internal composition, execution, and
45
+ * configuration helpers stay off this entry; only CLI and Body import them.
46
+ */
5
47
  export { z } from "zod";
48
+ export { ALLOWED_ACTIONS, Akuma, AkumaBusyError, AkumaDecodeError, AkumaNotBornError, AkumaProviderError, Schema, } from "./akuma/index.js";
49
+ export { kanshi, observeKanshi, selectKanshi, selectRegion } from "./kanshi/index.js";
50
+ export { AkumaAddressError, AkumaWorldScopeError, Akumas } from "./library/akumas.js";
51
+ export { nukeKeiyaku as nuke } from "./library/nuke.js";
52
+ export { SettingsError, settings } from "./settings.js";
53
+ export { TASK_RELATION_PREDICATE_FIELDS, TaskAuthorityCorruptionError, Tasks } from "./task/index.js";
6
54
  export { World, WorldError } from "./world.js";
@@ -1,8 +1,8 @@
1
- import { Repo } from "../library/repo.js";
2
- import type { ContractBoard } from "../library/contract.js";
3
1
  import { type AliasBinding } from "../alias/index.js";
4
- import type { KanshiReport, Section, KanshiRegionSelection } from "./report.js";
2
+ import { Repo } from "../library/repo.js";
3
+ import type { ContractBoard } from "../protocol/read/status.js";
5
4
  import type { WorldRoot } from "../world.js";
5
+ import type { KanshiRegionSelection, KanshiReport, Section } from "./report.js";
6
6
  export type KanshiInput = Readonly<{
7
7
  world: WorldRoot | null;
8
8
  repo?: Repo;
@@ -1,21 +1,21 @@
1
- import { Repo } from "../library/repo.js";
2
- import { scopeForRepo } from "../library/repo.js";
3
- import { observeTaskBoard } from "../task/operations.js";
4
- import { contractNamespace } from "../task/identity.js";
5
- import { readAkumaCatalog, readAkumaTimeline, withoutReportedChanges } from "../akuma/akuma.js";
1
+ import { withoutReportedChanges } from "../akuma/projection.js";
2
+ import { readAkumaRoster, readAkumaTimeline } from "../akuma/akuma.js";
6
3
  import { readAliases } from "../alias/index.js";
7
- import { readDispatchesAt } from "../dispatch/index.js";
8
- import { readTaskHolderProjectionAt } from "../settlement/holder.js";
9
- import { observeCurrentPhysicalIssue } from "../protocol/read/observation.js";
10
- import { readContractBoard, readContractCatalogue, readContractPhase } from "../protocol/read/status.js";
11
- import { withGitDecodeChannel, withGitReadObservation } from "../git/read-observation.js";
12
4
  import { decodeContractDocument } from "../body/decode.js";
13
5
  import { assertRegionPattern } from "../body/region.js";
14
- import { readDocuments } from "../protocol/read/documents.js";
15
6
  import { contractId } from "../core/facts/types.js";
16
- import { selectKanshi, selectRegion } from "./select.js";
17
- import { FLEET_SNAPSHOT_ROWS, FLEET_VISIBLE_ROWS } from "./fleet.js";
7
+ import { readDispatchesAt } from "../dispatch/index.js";
8
+ import { withGitDecodeChannel, withGitReadObservation } from "../git/read-observation.js";
9
+ import { Repo, scopeForRepo } from "../library/repo.js";
10
+ import { readDocuments } from "../protocol/read/documents.js";
11
+ import { observeCurrentPhysicalIssue } from "../protocol/read/observation.js";
12
+ import { readContractBoard, readContractCatalogue, readContractPhase } from "../protocol/read/status.js";
13
+ import { readTaskHolderProjectionAt } from "../settlement/holder.js";
14
+ import { contractNamespace } from "../task/identity.js";
18
15
  import { observeRecentTaskStatus, TaskAuthorityCorruptionError } from "../task/index.js";
16
+ import { observeTaskBoard } from "../task/operations.js";
17
+ import { ROSTER_SNAPSHOT_ROWS, ROSTER_VISIBLE_ROWS } from "./roster.js";
18
+ import { selectKanshi, selectRegion } from "./select.js";
19
19
  function diagnostic(error) {
20
20
  let source;
21
21
  if (error instanceof Error)
@@ -149,7 +149,7 @@ async function readHolders(observation) {
149
149
  return { kind: "failed", failure: { message: diagnostic(error) } };
150
150
  }
151
151
  }
152
- function attachFleet(contracts, akuma) {
152
+ function attachRoster(contracts, akuma) {
153
153
  if (contracts.kind !== "present")
154
154
  return contracts;
155
155
  const attachments = new Map();
@@ -166,7 +166,7 @@ function attachFleet(contracts, akuma) {
166
166
  kind: "present",
167
167
  value: {
168
168
  ...contracts.value,
169
- rows: contracts.value.rows.map((row) => ({ ...row, fleet: attachments.get(row.id) ?? [] })),
169
+ rows: contracts.value.rows.map((row) => ({ ...row, roster: attachments.get(row.id) ?? [] })),
170
170
  },
171
171
  };
172
172
  }
@@ -183,14 +183,14 @@ function decorateContracts(contracts, holders, namespaceTasks) {
183
183
  return {
184
184
  ...row,
185
185
  holder: { kind: "unavailable" },
186
- fleet: [],
186
+ roster: [],
187
187
  ...(selected === undefined ? {} : { namespaceTasks: selected }),
188
188
  };
189
189
  }
190
190
  const holder = holders.kind === "present" ? holders.value.get(row.id) : undefined;
191
191
  return {
192
192
  ...row,
193
- fleet: [],
193
+ roster: [],
194
194
  ...(selected === undefined ? {} : { namespaceTasks: selected }),
195
195
  holder: holder?.disposition === "held"
196
196
  ? { kind: "held", taskId: holder.taskId }
@@ -263,7 +263,7 @@ async function readTasks(path, holders, observeContract) {
263
263
  }), (error) => ({ kind: "failed", failure: taskFailure(error) }));
264
264
  }
265
265
  /**
266
- * Placement discharge for the observed fleet snapshots: an associated Contract
266
+ * Placement discharge for the observed roster snapshots: an associated Contract
267
267
  * whose own observation proves it claimed has placed the candidate those
268
268
  * reported changes describe, so the composite report no longer presents them
269
269
  * as pending. An unproven or failed Contract read keeps the changes.
@@ -286,7 +286,7 @@ async function joinAkuma(path, observeContract, isContractClaimed, dispatches, a
286
286
  if (aliases.kind !== "present")
287
287
  return aliases;
288
288
  try {
289
- const source = await readAkumaCatalog(path, { limit: FLEET_VISIBLE_ROWS });
289
+ const source = await readAkumaRoster(path, { limit: ROSTER_VISIBLE_ROWS });
290
290
  const aliasById = new Map();
291
291
  for (const binding of aliases.value)
292
292
  aliasById.set(binding.akuId, [...(aliasById.get(binding.akuId) ?? []), binding]);
@@ -306,7 +306,7 @@ async function joinAkuma(path, observeContract, isContractClaimed, dispatches, a
306
306
  }),
307
307
  };
308
308
  });
309
- const snapshotRows = rows.slice(0, FLEET_SNAPSHOT_ROWS);
309
+ const snapshotRows = rows.slice(0, ROSTER_SNAPSHOT_ROWS);
310
310
  const snapshots = new Map(await Promise.all(snapshotRows.map(async (row) => {
311
311
  try {
312
312
  return [row.id, await readAkumaTimeline(path, row.id)];
@@ -399,7 +399,7 @@ async function observeRepo(input) {
399
399
  root: world,
400
400
  observedAt,
401
401
  branch,
402
- contracts: attachFleet(contracts, akuma),
402
+ contracts: attachRoster(contracts, akuma),
403
403
  tasks,
404
404
  akuma,
405
405
  ...(regionSection === undefined ? {} : { region: regionSection }),
@@ -1,12 +1,13 @@
1
- import type { ContractBoard, ContractDisposition, ContractPhase } from "../library/contract.js";
2
- import type { TaskId, TaskRef, TaskRow } from "../task/index.js";
3
- import type { AkumaList, AkumaListRow, UnbornAkumaListRow, ActivitySnapshot } from "../akuma/akuma.js";
1
+ import type { AkumaList, AkumaListRow, UnbornAkumaListRow } from "../akuma/akuma.js";
2
+ import type { ActivitySnapshot } from "../akuma/projection.js";
3
+ import type { BoundedList } from "../bounded-list.js";
4
4
  import type { AkumaAlias } from "../identity/selector.js";
5
- import type { WorldRoot } from "../world.js";
6
- import type { ContractId } from "../library/contract.js";
5
+ import type { ContractId } from "../index.js";
7
6
  import type { RegionOverlap } from "../library/region.js";
8
7
  import type { CurrentPhysicalIssue } from "../protocol/read/observation.js";
9
- import type { BoundedList } from "../bounded-list.js";
8
+ import type { ContractBoard, ContractDisposition, ContractPhase } from "../protocol/read/status.js";
9
+ import type { TaskId, TaskRef, TaskRow } from "../task/index.js";
10
+ import type { WorldRoot } from "../world.js";
10
11
  export type { RegionOverlap };
11
12
  export type Section<Value> = Readonly<{
12
13
  kind: "present";
@@ -29,14 +30,14 @@ export type ContractHolderObservation = Readonly<{
29
30
  }> | Readonly<{
30
31
  kind: "unavailable";
31
32
  }>;
32
- export type ContractFleetAttachment = Readonly<{
33
+ export type ContractRosterAttachment = Readonly<{
33
34
  id: string;
34
35
  aliases: readonly AkumaAlias[];
35
36
  }>;
36
37
  export type ContractKanshiRow = ContractBoard["rows"][number] & Readonly<{
37
38
  phase: ContractPhase;
38
39
  holder: ContractHolderObservation;
39
- fleet: readonly ContractFleetAttachment[];
40
+ roster: readonly ContractRosterAttachment[];
40
41
  namespaceTasks?: Section<readonly TaskRow[]>;
41
42
  issue?: CurrentPhysicalIssue;
42
43
  }>;
@@ -0,0 +1,2 @@
1
+ export declare const ROSTER_VISIBLE_ROWS = 10;
2
+ export declare const ROSTER_SNAPSHOT_ROWS = 3;
@@ -0,0 +1,2 @@
1
+ export const ROSTER_VISIBLE_ROWS = 10;
2
+ export const ROSTER_SNAPSHOT_ROWS = 3;
@@ -1,13 +1,17 @@
1
- import { regionsOverlap } from "../body/region.js";
1
+ import { regionsOverlapWithRelation } from "../body/region.js";
2
2
  function regionOverlaps(mine, declarations) {
3
3
  const overlaps = [];
4
4
  for (const declaration of declarations) {
5
- const pairs = regionsOverlap(mine, declaration.patterns);
5
+ const pairs = regionsOverlapWithRelation(mine, declaration.patterns);
6
6
  if (pairs.length === 0)
7
7
  continue;
8
8
  overlaps.push({
9
9
  contract: declaration.contract,
10
- patterns: pairs.map(([minePattern, theirsPattern]) => ({ mine: minePattern, theirs: theirsPattern })),
10
+ patterns: pairs.map(([minePattern, theirsPattern, relation]) => ({
11
+ mine: minePattern,
12
+ theirs: theirsPattern,
13
+ relation,
14
+ })),
11
15
  });
12
16
  }
13
17
  return overlaps;
@@ -2,19 +2,15 @@
2
2
  import { type AliasBinding } from "../alias/index.js";
3
3
  import { type AkuId } from "../akuma/identity.js";
4
4
  import { contractId } from "../core/facts/types.js";
5
- import { type AkumaAlias, type AkumaGlob } from "../identity/selector.js";
5
+ import { type AkumaAlias } from "../identity/selector.js";
6
6
  import { type WorldRoot } from "../world.js";
7
7
  import type { KanshiReport, Section } from "../kanshi/index.js";
8
8
  import { type Repo } from "./repo.js";
9
- export type DirectAkumaSelector = AkuId | AkumaAlias;
10
- export type SetAkumaSelector = DirectAkumaSelector | AkumaGlob | `kei/${string}`;
11
9
  export type AkumaAddressInput = Readonly<{
12
- path: WorldRoot;
13
10
  akuma: string;
14
11
  repo?: Repo;
15
12
  }>;
16
13
  export type AkumaSetAddressInput = Readonly<{
17
- path: WorldRoot;
18
14
  akuma: readonly string[];
19
15
  repo?: Repo;
20
16
  }>;
@@ -62,7 +58,7 @@ type AddressedAkuma = Readonly<{
62
58
  }>;
63
59
  /**
64
60
  * Resolves one selector to a complete identity without proving it born. The
65
- * caller is a forwarding boundary: the parent Fleet answers for the target, so
61
+ * caller is a forwarding boundary: the parent Selection answers for the target, so
66
62
  * this process must not read its own Heart files to decide.
67
63
  */
68
64
  export declare function resolveAkuma(input: UncheckedAkumaAddressInput): Promise<AddressedAkuma>;
@@ -73,7 +69,7 @@ export declare function resolveAkuma(input: UncheckedAkumaAddressInput): Promise
73
69
  export declare function addressAkuma(input: UncheckedAkumaAddressInput): Promise<AddressedAkuma>;
74
70
  /**
75
71
  * Resolves a selector set to complete identities without proving any born. The
76
- * caller is a forwarding boundary, the parent Fleet owns the answer, and no
72
+ * caller is a forwarding boundary, the parent Selection owns the answer, and no
77
73
  * member's Heart is read here.
78
74
  */
79
75
  export declare function resolveAkumaSet(input: UncheckedAkumaAddressInput): Promise<Readonly<{
@@ -1,6 +1,6 @@
1
1
  /** @architectureCompositionRoot */
2
2
  import { readAliases } from "../alias/index.js";
3
- import { createAkumaProduct } from "../akuma/akuma-product.js";
3
+ import { readAkumaCompleteRoster } from "../akuma/akuma.js";
4
4
  import { akumaAddressability, requireBornAkuma } from "../akuma/akuma-probe.js";
5
5
  import { parseAkuId } from "../akuma/identity.js";
6
6
  import { contractId } from "../core/facts/types.js";
@@ -96,7 +96,7 @@ export function resolveNamedAddress(input) {
96
96
  }
97
97
  /**
98
98
  * Resolves one selector to a complete identity without proving it born. The
99
- * caller is a forwarding boundary: the parent Fleet answers for the target, so
99
+ * caller is a forwarding boundary: the parent Selection answers for the target, so
100
100
  * this process must not read its own Heart files to decide.
101
101
  */
102
102
  export async function resolveAkuma(input) {
@@ -145,7 +145,7 @@ function addSelectorIds(selector, sources, selected, contractMembers, explicit)
145
145
  return;
146
146
  }
147
147
  if (selector.kind === "glob") {
148
- for (const id of sources.fleetIds)
148
+ for (const id of sources.rosterIds)
149
149
  if (matchesAkumaGlob(selector.value, id))
150
150
  selected.add(id);
151
151
  return;
@@ -195,8 +195,8 @@ async function readAkumaSet(input) {
195
195
  if (hasSelectorKind(selectors, "contract") && values.repo === undefined) {
196
196
  throw new TypeError("Contract Akuma selector requires repo");
197
197
  }
198
- const fleetIds = hasSelectorKind(selectors, "glob")
199
- ? (await createAkumaProduct(path).listComplete()).rows.map((row) => row.id)
198
+ const rosterIds = hasSelectorKind(selectors, "glob")
199
+ ? (await readAkumaCompleteRoster(path)).rows.map((row) => row.id)
200
200
  : [];
201
201
  const aliases = hasSelectorKind(selectors, "alias")
202
202
  ? new Map((await readAliases(path)).map((binding) => [binding.alias, binding.akuId]))
@@ -207,14 +207,14 @@ async function readAkumaSet(input) {
207
207
  const selected = new Set();
208
208
  const contractMembers = new Set();
209
209
  const explicit = new Set();
210
- const sources = { fleetIds, aliases, dispatches };
210
+ const sources = { rosterIds, aliases, dispatches };
211
211
  for (const selector of selectors)
212
212
  addSelectorIds(selector, sources, selected, contractMembers, explicit);
213
213
  return { path, orderedIds: [...selected], ids: canonicalAkumaOrder(selected), contractMembers, explicit };
214
214
  }
215
215
  /**
216
216
  * Resolves a selector set to complete identities without proving any born. The
217
- * caller is a forwarding boundary, the parent Fleet owns the answer, and no
217
+ * caller is a forwarding boundary, the parent Selection owns the answer, and no
218
218
  * member's Heart is read here.
219
219
  */
220
220
  export async function resolveAkumaSet(input) {
@@ -1,19 +1,19 @@
1
- import { type AliasBinding } from "../alias/index.js";
2
- import { type AkumaStatus, type ForkReceipt } from "../akuma/akuma.js";
3
- import { type AkumaBornCall, type InitialCallTell } from "../akuma/akuma-product.js";
1
+ import { type ForkReceipt } from "../akuma/akuma-owner.js";
2
+ import { type AskObserver } from "../akuma/akuma-selection-execution.js";
3
+ import type { AkumaStatus } from "../akuma/akuma.js";
4
+ import type { AllowedAction } from "../akuma/allowed.js";
5
+ import type { TellResult } from "../akuma/body.js";
4
6
  import { type AkuId } from "../akuma/identity.js";
7
+ import { type ExecutionContext } from "../akuma/requests.js";
8
+ import { type Schema } from "../akuma/schema.js";
9
+ import type { AkumaAskResult } from "../akuma/selection-observation.js";
10
+ import { type AliasBinding } from "../alias/index.js";
5
11
  import { type Dispatch, type DispatchFailure } from "../dispatch/index.js";
6
12
  import type { PrivateStateSeatCloseLag } from "../git/private-state-seat.js";
7
13
  import { type AkumaAlias } from "../identity/selector.js";
8
14
  import type { Settings } from "../settings.js";
9
15
  import { type WorldRoot } from "../world.js";
10
- import type { AllowedAction } from "../akuma/allowed.js";
11
- import { type Schema } from "../akuma/schema.js";
12
- import { type TellWaitObserver } from "../akuma/fleet-execution.js";
13
- import type { AkumaTellWaitResult } from "../akuma/fleet-observation.js";
14
- import type { TellResult } from "../akuma/body.js";
15
- import { type ExecutionContext } from "../akuma/requests.js";
16
- import type { Keiyaku } from "./contract-handle.js";
16
+ import type { Keiyaku } from "./keiyaku.js";
17
17
  import { type Repo } from "./repo.js";
18
18
  export type { AkumaStatus } from "../akuma/akuma.js";
19
19
  export type IntegrationFailure = Readonly<{
@@ -49,12 +49,11 @@ export type CallWaitHead = Readonly<{
49
49
  }>;
50
50
  export type CallWaitObserver = Readonly<{
51
51
  admitted?: (tell: TellResult, id: AkumaStatus["id"], head: CallWaitHead) => void | Promise<void>;
52
- observe?: TellWaitObserver["observe"];
52
+ observe?: AskObserver["observe"];
53
53
  }>;
54
54
  export type CallInput = Readonly<{
55
- path: WorldRoot;
56
55
  archetype: string;
57
- body: string;
56
+ body?: string;
58
57
  cwd?: string;
59
58
  mode?: "wait" | "detach";
60
59
  timeoutMs?: number;
@@ -69,12 +68,14 @@ export type CallInput = Readonly<{
69
68
  observe?: CallWaitObserver;
70
69
  }>;
71
70
  export type CallObservation = Readonly<{
71
+ kind: "born";
72
+ }> | Readonly<{
72
73
  kind: "detached";
73
74
  tell: TellResult;
74
75
  }> | Readonly<{
75
76
  kind: "observed";
76
77
  tell: TellResult;
77
- observation: AkumaTellWaitResult["observation"];
78
+ observation: AkumaAskResult["observation"];
78
79
  completedAt?: string | null;
79
80
  }> | Readonly<{
80
81
  kind: "failed";
@@ -94,23 +95,7 @@ export type CallResult = Readonly<{
94
95
  structured?: true;
95
96
  observation: CallObservation;
96
97
  }>;
97
- type CallExecution = CallResult["execution"];
98
- export type BornCall = Readonly<{
99
- path: WorldRoot;
100
- born: AkumaBornCall;
101
- execution: CallExecution;
102
- mode: "wait" | "detach";
103
- timeoutMs: number;
104
- signal?: AbortSignal;
105
- dispatch: DispatchStage;
106
- alias: AliasStage;
107
- initialTell: InitialCallTell & Readonly<{
108
- schema?: Schema<unknown>;
109
- }>;
110
- observe?: CallWaitObserver;
111
- }>;
112
98
  export type ForkInput = Readonly<{
113
- path: WorldRoot;
114
99
  akuma: string;
115
100
  at: string;
116
101
  repo?: Repo;
@@ -126,5 +111,9 @@ export type ForkResult = Readonly<{
126
111
  }>> & Readonly<{
127
112
  parent: AkuId;
128
113
  }>);
129
- export declare function callAkumas(input: CallInput, execution?: ExecutionContext): Promise<CallResult>;
130
- export declare function forkAkumas(input: ForkInput): Promise<ForkResult>;
114
+ export declare function callAkumas(input: CallInput & Readonly<{
115
+ path: WorldRoot;
116
+ }>, execution?: ExecutionContext): Promise<CallResult>;
117
+ export declare function forkAkumas(input: ForkInput & Readonly<{
118
+ path: WorldRoot;
119
+ }>): Promise<ForkResult>;