@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
@@ -6,6 +6,7 @@ import { GIT_FORMAT_BYTES, GIT_FORMAT_PATH, GIT_REF, readRef } from "./repositor
6
6
  import { GitPlumbingError } from "./process.js";
7
7
  const gitReadObservationBrand = Symbol("GitReadObservation");
8
8
  const gitDecodeChannelBrand = Symbol("GitDecodeChannel");
9
+ const BATCH_RETIREMENT_GRACE_MS = 1_000;
9
10
  function streamCursor(stream) {
10
11
  const iterator = stream[Symbol.asyncIterator]();
11
12
  let buffer = Buffer.alloc(0);
@@ -64,13 +65,40 @@ function batchError(child, stderr, message, status) {
64
65
  pid: child.pid ?? null,
65
66
  });
66
67
  }
67
- async function closeBatchProcess(process, child, closed, spawnError, stderr) {
68
- if (!child.stdin.destroyed)
69
- child.stdin.end();
70
- const outcome = await Promise.race([closed, process.terminationFailure]);
71
- await process.waitTermination();
72
- if (spawnError !== null || outcome.code !== 0) {
73
- throw batchError(child, stderr, process.cancelled() ? "git process cancelled" : "git cat-file --batch did not close cleanly", outcome.code);
68
+ async function closeBatchProcess(process, reader) {
69
+ const { child, closed, stderr } = reader;
70
+ let timer;
71
+ const deadline = new Promise((resolve) => {
72
+ timer = setTimeout(() => resolve(null), BATCH_RETIREMENT_GRACE_MS);
73
+ });
74
+ try {
75
+ const drained = await Promise.race([reader.tail, process.terminationFailure, deadline]);
76
+ if (drained !== null && reader.status.failure !== null) {
77
+ await process.waitTermination();
78
+ return;
79
+ }
80
+ if (drained !== null && !child.stdin.destroyed)
81
+ child.stdin.end();
82
+ const outcome = drained === null ? null : await Promise.race([closed, process.terminationFailure, deadline]);
83
+ if (outcome === null) {
84
+ try {
85
+ await process.terminate(true);
86
+ }
87
+ finally {
88
+ child.stdin.destroy();
89
+ child.stdout.destroy();
90
+ child.stderr.destroy();
91
+ await process.waitTermination();
92
+ }
93
+ throw batchError(child, stderr, "decode-channel retirement exceeded its EOF close bound", child.exitCode);
94
+ }
95
+ await process.waitTermination();
96
+ if (reader.status.spawnError !== null || outcome.code !== 0) {
97
+ throw batchError(child, stderr, process.cancelled() ? "git process cancelled" : "git cat-file --batch did not close cleanly", outcome.code);
98
+ }
99
+ }
100
+ finally {
101
+ clearTimeout(timer);
74
102
  }
75
103
  }
76
104
  async function readBatchObject(cursor, oid) {
@@ -109,18 +137,17 @@ function batchObjectReader(repository) {
109
137
  child.once("close", (code, signal) => resolve({ code, signal }));
110
138
  });
111
139
  let tail = Promise.resolve();
112
- let spawnError = null;
113
- let failure = null;
140
+ const status = { spawnError: null, failure: null };
114
141
  child.stderr.on("data", (chunk) => stderr.push(Buffer.from(chunk)));
115
142
  child.on("error", (error) => {
116
- spawnError = error;
143
+ status.spawnError = error;
117
144
  });
118
145
  child.stdin.on("error", (error) => {
119
- spawnError ??= error;
146
+ status.spawnError ??= error;
120
147
  });
121
148
  const batch = async (oids) => {
122
- if (failure !== null)
123
- throw failure;
149
+ if (status.failure !== null)
150
+ throw status.failure;
124
151
  // Feed bounded request chunks while the single parser drains responses.
125
152
  const sending = writeBatchRequests(child, oids);
126
153
  const receiving = (async () => {
@@ -137,12 +164,12 @@ function batchObjectReader(repository) {
137
164
  child.stdin.destroy();
138
165
  child.stdout.destroy();
139
166
  await Promise.allSettled([sending, receiving]);
140
- failure = batchError(child, stderr, process.cancelled() ? "git process cancelled" : String(error), null);
167
+ status.failure = batchError(child, stderr, process.cancelled() ? "git process cancelled" : String(error), null);
141
168
  await process.terminate(true);
142
169
  await closed;
143
170
  await process.waitTermination();
144
- failure = batchError(child, stderr, process.cancelled() ? "git process cancelled" : error instanceof Error ? error.message : String(error), process.cancelled() ? null : child.exitCode);
145
- throw failure;
171
+ status.failure = batchError(child, stderr, process.cancelled() ? "git process cancelled" : error instanceof Error ? error.message : String(error), process.cancelled() ? null : child.exitCode);
172
+ throw status.failure;
146
173
  }
147
174
  };
148
175
  const objects = async (oids) => {
@@ -159,12 +186,13 @@ function batchObjectReader(repository) {
159
186
  return new Map(await Promise.all(unique.map(async (oid) => [oid, await cache.get(oid)])));
160
187
  };
161
188
  const close = async () => {
162
- await tail.catch(() => undefined);
163
- if (failure !== null) {
164
- await process.waitTermination();
165
- return;
166
- }
167
- await closeBatchProcess(process, child, closed, spawnError, stderr);
189
+ await closeBatchProcess(process, {
190
+ child,
191
+ closed,
192
+ tail,
193
+ status,
194
+ stderr,
195
+ });
168
196
  };
169
197
  return { objects, close };
170
198
  }
@@ -290,7 +318,7 @@ async function readFormat(observation) {
290
318
  throw new AuthorityCorruptionError(`Git format is not current: ${GIT_FORMAT_PATH}`);
291
319
  }
292
320
  }
293
- export async function withGitDecodeChannel(repository, consume) {
321
+ export async function withGitDecodeChannel(repository, consume, onRetirementFailure) {
294
322
  const transport = { reader: null };
295
323
  let active = true;
296
324
  const objectReader = () => (transport.reader ??= batchObjectReader(repository));
@@ -308,7 +336,7 @@ export async function withGitDecodeChannel(repository, consume) {
308
336
  result = await consume(channel);
309
337
  }
310
338
  catch (error) {
311
- failure = error;
339
+ failure = { error };
312
340
  }
313
341
  active = false;
314
342
  try {
@@ -316,12 +344,33 @@ export async function withGitDecodeChannel(repository, consume) {
316
344
  await transport.reader.close();
317
345
  }
318
346
  catch (error) {
319
- failure ??= error;
347
+ onRetirementFailure?.(error);
348
+ failure ??= { error };
320
349
  }
321
350
  if (failure !== undefined)
322
- throw failure;
351
+ throw failure.error;
323
352
  return result;
324
353
  }
354
+ /**
355
+ * Blob-only reads over a decode channel: a missing object stays missing, and a present
356
+ * non-blob object is authority corruption, never a silent skip.
357
+ */
358
+ export async function readBlobResults(channel, oids) {
359
+ if (oids.length === 0)
360
+ return new Map();
361
+ const objects = await channel.readObjects(oids);
362
+ const blobs = new Map();
363
+ for (const [oid, object] of objects) {
364
+ if (object.kind === "missing")
365
+ blobs.set(oid, object);
366
+ else {
367
+ if (object.type !== "blob")
368
+ throw new AuthorityCorruptionError(`Git object is not a blob: ${oid}`);
369
+ blobs.set(oid, { kind: "present", bytes: object.bytes });
370
+ }
371
+ }
372
+ return blobs;
373
+ }
325
374
  async function observeEpoch(repository, channel, selection, consume) {
326
375
  const commit = await readRef(repository, GIT_REF);
327
376
  let active = true;
@@ -339,23 +388,6 @@ async function observeEpoch(repository, channel, selection, consume) {
339
388
  }
340
389
  return await resolved;
341
390
  };
342
- const readBlobResults = async (oids) => {
343
- assertActive();
344
- if (oids.length === 0)
345
- return new Map();
346
- const objects = await channel.readObjects(oids);
347
- const blobs = new Map();
348
- for (const [oid, object] of objects) {
349
- if (object.kind === "missing")
350
- blobs.set(oid, object);
351
- else {
352
- if (object.type !== "blob")
353
- throw new AuthorityCorruptionError(`Git object is not a blob: ${oid}`);
354
- blobs.set(oid, { kind: "present", bytes: object.bytes });
355
- }
356
- }
357
- return blobs;
358
- };
359
391
  let result;
360
392
  let failure;
361
393
  try {
@@ -379,7 +411,10 @@ async function observeEpoch(repository, channel, selection, consume) {
379
411
  repository,
380
412
  snapshot,
381
413
  treeDirectories,
382
- readBlobs: readBlobResults,
414
+ readBlobs: async (oids) => {
415
+ assertActive();
416
+ return await readBlobResults(channel, oids);
417
+ },
383
418
  resolveRef,
384
419
  };
385
420
  if (commit !== null)
@@ -387,11 +422,11 @@ async function observeEpoch(repository, channel, selection, consume) {
387
422
  result = await consume(observation);
388
423
  }
389
424
  catch (error) {
390
- failure = error;
425
+ failure = { error };
391
426
  }
392
427
  active = false;
393
428
  if (failure !== undefined)
394
- throw failure;
429
+ throw failure.error;
395
430
  return result;
396
431
  }
397
432
  export async function withGitReadObservation(repository, channel, consume) {
@@ -1,32 +1,60 @@
1
- import { type GitOid } from "./repository.js";
1
+ import { z } from "zod";
2
2
  import { type GitRepository } from "./process.js";
3
3
  import type { ContractId, ContractState, SnapshotId } from "../core/facts/types.js";
4
4
  import type { GitDecodeChannel } from "./read-observation.js";
5
- import { type TargetCheckoutEffect, type TargetCheckoutLag } from "./target-placement.js";
6
- import { type WorktreeHookLag, type WorktreeHooks } from "./hooks.js";
7
- import type { UnsealedBytes } from "./terminal-seal.js";
8
- export type Effect = Readonly<{
5
+ import { type WorktreeHooks } from "./hooks.js";
6
+ export declare const reconcileEffectSchema: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
7
+ kind: z.ZodLiteral<"worktree">;
8
+ path: z.ZodString;
9
+ action: z.ZodEnum<{
10
+ created: "created";
11
+ unchanged: "unchanged";
12
+ removed: "removed";
13
+ }>;
14
+ before: z.ZodOptional<z.ZodUnknown>;
15
+ after: z.ZodOptional<z.ZodUnknown>;
16
+ }, z.core.$strict>, z.ZodTransform<{
9
17
  kind: "worktree";
10
18
  path: string;
11
- action: "created" | "removed" | "unchanged";
12
- }> | Readonly<{
19
+ action: "created" | "unchanged" | "removed";
20
+ }, {
13
21
  kind: "worktree";
14
22
  path: string;
15
- action: "followed";
16
- before: SnapshotId;
17
- after: SnapshotId;
18
- }> | Readonly<{
19
- kind: "recovery-snapshot";
20
- action: "created";
21
- snapshot: SnapshotId;
22
- retention: "ephemeral";
23
- }> | TargetCheckoutEffect | Readonly<{
24
- kind: "ref";
25
- name: string;
26
- before: GitOid | null;
27
- after: GitOid | null;
28
- action: "created" | "updated" | "removed" | "unchanged";
29
- }>;
23
+ action: "created" | "unchanged" | "removed";
24
+ before?: unknown;
25
+ after?: unknown;
26
+ }>>, z.ZodObject<{
27
+ kind: z.ZodLiteral<"worktree">;
28
+ path: z.ZodString;
29
+ action: z.ZodLiteral<"followed">;
30
+ before: z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>;
31
+ after: z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>;
32
+ }, z.core.$strict>, z.ZodObject<{
33
+ kind: z.ZodLiteral<"recovery-snapshot">;
34
+ action: z.ZodLiteral<"created">;
35
+ snapshot: z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>;
36
+ retention: z.ZodLiteral<"ephemeral">;
37
+ }, z.core.$strict>, z.ZodObject<{
38
+ kind: z.ZodLiteral<"target-checkout">;
39
+ path: z.ZodString;
40
+ target: z.ZodString;
41
+ action: z.ZodEnum<{
42
+ followed: "followed";
43
+ recovered: "recovered";
44
+ }>;
45
+ }, z.core.$strict>, z.ZodObject<{
46
+ kind: z.ZodLiteral<"ref">;
47
+ name: z.ZodString;
48
+ before: z.ZodNullable<z.ZodString>;
49
+ after: z.ZodNullable<z.ZodString>;
50
+ action: z.ZodEnum<{
51
+ created: "created";
52
+ updated: "updated";
53
+ unchanged: "unchanged";
54
+ removed: "removed";
55
+ }>;
56
+ }, z.core.$strict>]>;
57
+ export type Effect = z.infer<typeof reconcileEffectSchema>;
30
58
  type ReconcileInput = Readonly<{
31
59
  repository: GitRepository;
32
60
  channel: GitDecodeChannel;
@@ -35,25 +63,72 @@ type ReconcileInput = Readonly<{
35
63
  retryHooks: boolean;
36
64
  retainTerminalWorktree?: boolean;
37
65
  place?: string;
66
+ onPhysical?: (report: ReconcileResult) => void;
38
67
  }>;
39
- type WorktreeRetained = Readonly<{
40
- kind: "worktree-retained";
41
- path: string;
42
- }>;
43
- type WorktreeFollowRetained = Readonly<{
44
- kind: "worktree-follow-retained";
45
- path: string;
46
- tender: SnapshotId;
47
- head: SnapshotId;
48
- reason: "head-moved" | "head-attached" | "operation-in-progress" | "unsupported-parent-shape";
49
- paths?: readonly string[];
50
- }>;
51
- export type ReconcileFailure = Readonly<{
52
- kind: "reconcile-failed";
53
- stage: "observation" | "effect";
54
- diagnostic: string;
55
- }>;
56
- export type ReconcileLag = WorktreeRetained | WorktreeFollowRetained | UnsealedBytes | TargetCheckoutLag | WorktreeHookLag | ReconcileFailure;
68
+ export declare const gitReconcileLagSchema: z.ZodUnion<readonly [z.ZodObject<{
69
+ kind: z.ZodLiteral<"worktree-retained">;
70
+ path: z.ZodString;
71
+ diagnostic: z.ZodOptional<z.ZodString>;
72
+ }, z.core.$strict>, z.ZodObject<{
73
+ kind: z.ZodLiteral<"worktree-follow-retained">;
74
+ path: z.ZodString;
75
+ tender: z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>;
76
+ head: z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>;
77
+ reason: z.ZodEnum<{
78
+ "head-moved": "head-moved";
79
+ "head-attached": "head-attached";
80
+ "operation-in-progress": "operation-in-progress";
81
+ "unsupported-parent-shape": "unsupported-parent-shape";
82
+ }>;
83
+ paths: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
84
+ }, z.core.$strict>, z.ZodObject<{
85
+ kind: z.ZodLiteral<"unsealed-bytes">;
86
+ path: z.ZodString;
87
+ paths: z.ZodReadonly<z.ZodArray<z.ZodString>>;
88
+ head: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>>;
89
+ }, z.core.$strict>, z.ZodObject<{
90
+ kind: z.ZodLiteral<"target-checkout-retained">;
91
+ path: z.ZodString;
92
+ target: z.ZodString;
93
+ diagnostic: z.ZodString;
94
+ }, z.core.$strict>, z.ZodObject<{
95
+ kind: z.ZodLiteral<"worktree-hook-failed">;
96
+ phase: z.ZodEnum<{
97
+ destroy: "destroy";
98
+ create: "create";
99
+ }>;
100
+ path: z.ZodString;
101
+ command: z.ZodNumber;
102
+ name: z.ZodString;
103
+ failure: z.ZodUnion<readonly [z.ZodObject<{
104
+ kind: z.ZodLiteral<"exit">;
105
+ code: z.ZodNumber;
106
+ stdout: z.ZodString;
107
+ stderr: z.ZodString;
108
+ truncated: z.ZodBoolean;
109
+ }, z.core.$strict>, z.ZodObject<{
110
+ stdout: z.ZodOptional<z.ZodString>;
111
+ stderr: z.ZodOptional<z.ZodString>;
112
+ truncated: z.ZodOptional<z.ZodBoolean>;
113
+ kind: z.ZodLiteral<"timeout">;
114
+ }, z.core.$strict>, z.ZodObject<{
115
+ stdout: z.ZodOptional<z.ZodString>;
116
+ stderr: z.ZodOptional<z.ZodString>;
117
+ truncated: z.ZodOptional<z.ZodBoolean>;
118
+ kind: z.ZodLiteral<"unknown-exit">;
119
+ }, z.core.$strict>, z.ZodObject<{
120
+ kind: z.ZodLiteral<"spawn-error">;
121
+ diagnostic: z.ZodString;
122
+ }, z.core.$strict>]>;
123
+ }, z.core.$strict>, z.ZodObject<{
124
+ kind: z.ZodLiteral<"reconcile-failed">;
125
+ stage: z.ZodEnum<{
126
+ observation: "observation";
127
+ effect: "effect";
128
+ }>;
129
+ diagnostic: z.ZodString;
130
+ }, z.core.$strict>]>;
131
+ export type ReconcileLag = z.infer<typeof gitReconcileLagSchema>;
57
132
  export type ReconcileResult = Readonly<{
58
133
  effects: readonly Effect[];
59
134
  lag: readonly ReconcileLag[];
@@ -81,6 +156,8 @@ export type ReconcileAccumulation = Readonly<{
81
156
  phase: "create" | "destroy";
82
157
  name: string;
83
158
  }[];
159
+ recordEffect(...effects: readonly Effect[]): void;
160
+ recordLag(...lag: readonly ReconcileLag[]): void;
84
161
  }>;
85
162
  export declare function reconcile(input: ReconcileInput): Promise<GitReconcileObservation>;
86
163
  /** Reconcile one retained dependent worktree under its normal per-Contract lock. */