@astrosheep/keiyaku 4.5.29 → 4.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku/SKILL.md +0 -13
  2. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-akuma/SKILL.md +47 -78
  3. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-akuma/references/automation.md +54 -41
  4. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-babysit/SKILL.md +10 -0
  5. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-bind/SKILL.md +27 -9
  6. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-workflow/SKILL.md +68 -71
  7. package/build/src/akuma/akuma-call.d.ts +53 -0
  8. package/build/src/akuma/akuma-call.js +113 -0
  9. package/build/src/akuma/akuma-instance.d.ts +20 -18
  10. package/build/src/akuma/akuma-instance.js +65 -175
  11. package/build/src/akuma/akuma-observe.d.ts +3 -21
  12. package/build/src/akuma/akuma-observe.js +7 -24
  13. package/build/src/akuma/{akuma-handle.d.ts → akuma-owner.d.ts} +55 -27
  14. package/build/src/akuma/{akuma-handle.js → akuma-owner.js} +24 -23
  15. package/build/src/akuma/akuma-selection-execution.d.ts +51 -0
  16. package/build/src/akuma/akuma-selection-execution.js +134 -0
  17. package/build/src/akuma/{fleet-execution.d.ts → akuma-wait.d.ts} +24 -44
  18. package/build/src/akuma/akuma-wait.js +113 -0
  19. package/build/src/akuma/akuma.d.ts +35 -89
  20. package/build/src/akuma/akuma.js +148 -30
  21. package/build/src/akuma/archetype.d.ts +12 -0
  22. package/build/src/akuma/archetype.js +47 -19
  23. package/build/src/akuma/body.d.ts +76 -36
  24. package/build/src/akuma/body.js +84 -49
  25. package/build/src/akuma/call-initial-tell.d.ts +131 -22
  26. package/build/src/akuma/call-initial-tell.js +31 -1
  27. package/build/src/akuma/call-request.d.ts +237 -31
  28. package/build/src/akuma/call-request.js +67 -94
  29. package/build/src/akuma/coordinate.d.ts +15 -5
  30. package/build/src/akuma/coordinate.js +12 -22
  31. package/build/src/akuma/dispatch-association.d.ts +1 -1
  32. package/build/src/akuma/dispatch-association.js +1 -10
  33. package/build/src/akuma/heart/activity-schema.d.ts +325 -0
  34. package/build/src/akuma/heart/activity-schema.js +53 -0
  35. package/build/src/akuma/heart/facts.d.ts +1 -6
  36. package/build/src/akuma/heart/index.d.ts +3 -1
  37. package/build/src/akuma/heart/index.js +4 -1
  38. package/build/src/akuma/heart/rows.d.ts +49 -2
  39. package/build/src/akuma/heart/rows.js +16 -2
  40. package/build/src/akuma/heart/soul.d.ts +1 -0
  41. package/build/src/akuma/heart/soul.js +6 -4
  42. package/build/src/akuma/heart/tells.d.ts +1 -0
  43. package/build/src/akuma/heart/tells.js +18 -0
  44. package/build/src/akuma/identity.d.ts +10 -7
  45. package/build/src/akuma/identity.js +23 -0
  46. package/build/src/akuma/index.d.ts +10 -8
  47. package/build/src/akuma/index.js +2 -2
  48. package/build/src/akuma/nuke.d.ts +3 -0
  49. package/build/src/akuma/nuke.js +13 -7
  50. package/build/src/akuma/projection.d.ts +0 -5
  51. package/build/src/akuma/projection.js +22 -43
  52. package/build/src/akuma/provider-recipe.d.ts +58 -13
  53. package/build/src/akuma/provider-recipe.js +62 -80
  54. package/build/src/akuma/provider.d.ts +6 -76
  55. package/build/src/akuma/provider.js +11 -219
  56. package/build/src/akuma/providers/acp/config.d.ts +2 -0
  57. package/build/src/akuma/providers/acp/config.js +26 -1
  58. package/build/src/akuma/providers/acp/core.d.ts +7 -0
  59. package/build/src/akuma/providers/acp/core.js +49 -18
  60. package/build/src/akuma/providers/acp/index.js +14 -6
  61. package/build/src/akuma/providers/grok-build/index.js +44 -13
  62. package/build/src/akuma/providers/index.d.ts +3 -3
  63. package/build/src/akuma/providers/index.js +2 -13
  64. package/build/src/akuma/providers/opencode-sdk/event-stream.d.ts +28 -0
  65. package/build/src/akuma/providers/opencode-sdk/event-stream.js +92 -0
  66. package/build/src/akuma/providers/opencode-sdk/events.d.ts +0 -1
  67. package/build/src/akuma/providers/opencode-sdk/index.js +200 -64
  68. package/build/src/akuma/providers/opencode-sdk/session.d.ts +41 -1
  69. package/build/src/akuma/providers/opencode-sdk/session.js +69 -2
  70. package/build/src/akuma/providers/pi/events.js +5 -2
  71. package/build/src/akuma/providers/pi/index.d.ts +3 -4
  72. package/build/src/akuma/providers/pi/index.js +99 -45
  73. package/build/src/akuma/publication.d.ts +84 -3
  74. package/build/src/akuma/publication.js +145 -2
  75. package/build/src/akuma/read-pool.d.ts +2 -0
  76. package/build/src/akuma/read-pool.js +15 -0
  77. package/build/src/akuma/request-rendezvous.js +10 -0
  78. package/build/src/akuma/request-serve.js +7 -0
  79. package/build/src/akuma/request-wire.d.ts +14 -26
  80. package/build/src/akuma/request-wire.js +4 -0
  81. package/build/src/akuma/requests.d.ts +0 -2
  82. package/build/src/akuma/requests.js +0 -17
  83. package/build/src/akuma/{fleet-observation.d.ts → selection-observation.d.ts} +37 -36
  84. package/build/src/akuma/selection-observation.js +65 -0
  85. package/build/src/akuma/{fleet-owner-port.d.ts → selection-owner-port.d.ts} +3 -3
  86. package/build/src/akuma/{fleet-owner-port.js → selection-owner-port.js} +11 -17
  87. package/build/src/akuma/{fleet-request.d.ts → selection-request.d.ts} +42 -82
  88. package/build/src/akuma/{fleet-request.js → selection-request.js} +92 -136
  89. package/build/src/akuma/turn-drive.js +73 -14
  90. package/build/src/akuma-body.js +91 -56
  91. package/build/src/body/amend.d.ts +5 -0
  92. package/build/src/body/amend.js +26 -50
  93. package/build/src/body/arc.d.ts +4 -2
  94. package/build/src/body/arc.js +19 -26
  95. package/build/src/body/criteria.d.ts +6 -0
  96. package/build/src/body/criteria.js +37 -0
  97. package/build/src/body/decode.js +5 -42
  98. package/build/src/body/region.d.ts +5 -0
  99. package/build/src/body/region.js +45 -2
  100. package/build/src/body/render.js +2 -4
  101. package/build/src/cli/activity.d.ts +26 -0
  102. package/build/src/cli/activity.js +75 -0
  103. package/build/src/cli/actor.d.ts +3 -1
  104. package/build/src/cli/actor.js +15 -2
  105. package/build/src/cli/commands/akuma-grammar.d.ts +75 -0
  106. package/build/src/cli/commands/akuma-grammar.js +414 -0
  107. package/build/src/cli/commands/akuma.d.ts +5 -69
  108. package/build/src/cli/commands/akuma.js +352 -319
  109. package/build/src/cli/commands/amend.d.ts +4 -5
  110. package/build/src/cli/commands/amend.js +1 -2
  111. package/build/src/cli/commands/bind.d.ts +4 -5
  112. package/build/src/cli/commands/bind.js +7 -10
  113. package/build/src/cli/commands/contract-grammar.d.ts +112 -0
  114. package/build/src/cli/commands/contract-grammar.js +282 -0
  115. package/build/src/cli/commands/contract-help.d.ts +17 -22
  116. package/build/src/cli/commands/contract-help.js +37 -24
  117. package/build/src/cli/commands/contract.d.ts +18 -97
  118. package/build/src/cli/commands/contract.js +621 -233
  119. package/build/src/cli/commands/install.d.ts +1 -1
  120. package/build/src/cli/commands/install.js +2 -2
  121. package/build/src/cli/commands/task-grammar.d.ts +19 -0
  122. package/build/src/cli/commands/task-grammar.js +438 -0
  123. package/build/src/cli/commands/task-query.js +23 -104
  124. package/build/src/cli/commands/task.d.ts +5 -20
  125. package/build/src/cli/commands/task.js +414 -364
  126. package/build/src/cli/coordinates.d.ts +10 -0
  127. package/build/src/cli/coordinates.js +20 -0
  128. package/build/src/cli/draft.d.ts +7 -1
  129. package/build/src/cli/main.js +10 -1
  130. package/build/src/cli/parse.d.ts +8 -9
  131. package/build/src/cli/parse.js +62 -62
  132. package/build/src/cli/render/akuma-activity.d.ts +54 -36
  133. package/build/src/cli/render/akuma-activity.js +262 -242
  134. package/build/src/cli/render/akuma-tool.d.ts +8 -4
  135. package/build/src/cli/render/akuma-tool.js +6 -5
  136. package/build/src/cli/render/akuma.d.ts +36 -16
  137. package/build/src/cli/render/akuma.js +65 -132
  138. package/build/src/cli/render/audit.d.ts +6 -2
  139. package/build/src/cli/render/audit.js +59 -28
  140. package/build/src/cli/render/catalog.d.ts +11 -2
  141. package/build/src/cli/render/catalog.js +75 -95
  142. package/build/src/cli/render/contract-history.d.ts +3 -1
  143. package/build/src/cli/render/contract-history.js +215 -22
  144. package/build/src/cli/render/contract-observation.d.ts +10 -5
  145. package/build/src/cli/render/contract-observation.js +29 -46
  146. package/build/src/cli/render/contract.d.ts +10 -3
  147. package/build/src/cli/render/contract.js +252 -103
  148. package/build/src/cli/render/effects.d.ts +26 -0
  149. package/build/src/cli/render/effects.js +41 -0
  150. package/build/src/cli/render/execution-progress.d.ts +18 -6
  151. package/build/src/cli/render/execution-progress.js +34 -31
  152. package/build/src/cli/render/kanshi-akuma.d.ts +1 -2
  153. package/build/src/cli/render/kanshi-akuma.js +5 -26
  154. package/build/src/cli/render/kanshi.js +107 -128
  155. package/build/src/cli/render/marks.d.ts +13 -0
  156. package/build/src/cli/render/marks.js +74 -0
  157. package/build/src/cli/render/nuke.js +18 -7
  158. package/build/src/cli/render/receipt.d.ts +10 -4
  159. package/build/src/cli/render/receipt.js +124 -44
  160. package/build/src/cli/render/reconcile.d.ts +5 -0
  161. package/build/src/cli/render/reconcile.js +152 -0
  162. package/build/src/cli/render/refusal.d.ts +21 -4
  163. package/build/src/cli/render/refusal.js +60 -33
  164. package/build/src/cli/render/region.js +3 -2
  165. package/build/src/cli/render/settings.js +2 -12
  166. package/build/src/cli/render/task.d.ts +37 -6
  167. package/build/src/cli/render/task.js +161 -157
  168. package/build/src/cli/render/terminal.d.ts +20 -1
  169. package/build/src/cli/render/terminal.js +92 -18
  170. package/build/src/cli/runtime.d.ts +32 -8
  171. package/build/src/cli/runtime.js +157 -165
  172. package/build/src/cli/selectors.d.ts +5 -2
  173. package/build/src/cli/selectors.js +11 -3
  174. package/build/src/cli/streams.d.ts +11 -0
  175. package/build/src/cli/streams.js +32 -0
  176. package/build/src/cli/usage.d.ts +2 -0
  177. package/build/src/cli/usage.js +12 -8
  178. package/build/src/contract-guidance.js +3 -7
  179. package/build/src/contract-worktree.d.ts +20 -28
  180. package/build/src/contract-worktree.js +18 -70
  181. package/build/src/coordination/durable-file.d.ts +2 -2
  182. package/build/src/coordination/durable-file.js +0 -27
  183. package/build/src/core/facts/codec.d.ts +1 -2
  184. package/build/src/core/facts/codec.js +6 -7
  185. package/build/src/core/facts/gate.d.ts +0 -1
  186. package/build/src/core/facts/gate.js +0 -82
  187. package/build/src/core/facts/types.d.ts +1 -2
  188. package/build/src/core/verbs/abandon.d.ts +2 -6
  189. package/build/src/core/verbs/abandon.js +0 -16
  190. package/build/src/core/verbs/amend.d.ts +0 -1
  191. package/build/src/core/verbs/amend.js +0 -20
  192. package/build/src/core/verbs/arc.d.ts +7 -8
  193. package/build/src/core/verbs/arc.js +2 -19
  194. package/build/src/core/verbs/attestation.d.ts +2 -6
  195. package/build/src/core/verbs/attestation.js +0 -16
  196. package/build/src/core/verbs/bind.d.ts +0 -1
  197. package/build/src/core/verbs/bind.js +0 -16
  198. package/build/src/core/verbs/deliver.d.ts +0 -1
  199. package/build/src/core/verbs/deliver.js +0 -16
  200. package/build/src/core/verbs/placement.d.ts +2 -1
  201. package/build/src/core/verbs/placement.js +10 -59
  202. package/build/src/git/admission.d.ts +6 -4
  203. package/build/src/git/admission.js +4 -0
  204. package/build/src/git/hooks.d.ts +55 -30
  205. package/build/src/git/hooks.js +30 -3
  206. package/build/src/git/identity.d.ts +6 -0
  207. package/build/src/git/identity.js +47 -0
  208. package/build/src/git/integration.d.ts +31 -13
  209. package/build/src/git/integration.js +32 -1
  210. package/build/src/git/nuke.d.ts +10 -1
  211. package/build/src/git/nuke.js +31 -11
  212. package/build/src/git/observe.js +2 -15
  213. package/build/src/git/private-state-seat.d.ts +6 -7
  214. package/build/src/git/private-state-seat.js +8 -6
  215. package/build/src/git/read-observation.d.ts +6 -1
  216. package/build/src/git/read-observation.js +81 -46
  217. package/build/src/git/reconcile.d.ts +117 -40
  218. package/build/src/git/reconcile.js +169 -40
  219. package/build/src/git/scratch.d.ts +7 -4
  220. package/build/src/git/scratch.js +28 -6
  221. package/build/src/git/target-placement.d.ts +53 -38
  222. package/build/src/git/target-placement.js +69 -54
  223. package/build/src/git/tender.d.ts +37 -28
  224. package/build/src/git/tender.js +39 -0
  225. package/build/src/git/terminal-reconcile.js +21 -23
  226. package/build/src/git/terminal-seal.d.ts +8 -6
  227. package/build/src/git/terminal-seal.js +10 -0
  228. package/build/src/git/workspace.d.ts +29 -15
  229. package/build/src/git/workspace.js +28 -2
  230. package/build/src/identity/normalize.js +19 -6
  231. package/build/src/index.d.ts +78 -7
  232. package/build/src/index.js +52 -4
  233. package/build/src/kanshi/read.d.ts +3 -3
  234. package/build/src/kanshi/read.js +21 -21
  235. package/build/src/kanshi/report.d.ts +9 -8
  236. package/build/src/kanshi/roster.d.ts +2 -0
  237. package/build/src/kanshi/roster.js +2 -0
  238. package/build/src/kanshi/select.js +7 -3
  239. package/build/src/library/address.d.ts +3 -7
  240. package/build/src/library/address.js +7 -7
  241. package/build/src/library/akuma-creation.d.ts +21 -32
  242. package/build/src/library/akuma-creation.js +148 -165
  243. package/build/src/library/akumas.d.ts +20 -22
  244. package/build/src/library/akumas.js +43 -20
  245. package/build/src/library/bind.d.ts +107 -13
  246. package/build/src/library/bind.js +29 -23
  247. package/build/src/library/continuation.d.ts +556 -28
  248. package/build/src/library/continuation.js +29 -54
  249. package/build/src/library/contract-composition.d.ts +40 -0
  250. package/build/src/library/contract-composition.js +105 -0
  251. package/build/src/library/contract-creation.d.ts +7 -0
  252. package/build/src/library/contract-creation.js +192 -0
  253. package/build/src/library/contract-execution.d.ts +29 -40
  254. package/build/src/library/contract-execution.js +503 -128
  255. package/build/src/library/contract-operations.d.ts +275 -134
  256. package/build/src/library/contract-operations.js +83 -92
  257. package/build/src/library/contract-outcomes.d.ts +71 -0
  258. package/build/src/library/contract-outcomes.js +32 -0
  259. package/build/src/library/contract-settings.d.ts +25 -0
  260. package/build/src/library/contract-settings.js +135 -0
  261. package/build/src/library/contract-types.d.ts +17 -38
  262. package/build/src/library/delivery.d.ts +530 -10
  263. package/build/src/library/delivery.js +20 -45
  264. package/build/src/library/input.d.ts +3 -1
  265. package/build/src/library/input.js +11 -16
  266. package/build/src/library/invocation.d.ts +87 -0
  267. package/build/src/library/invocation.js +290 -0
  268. package/build/src/library/keiyaku.d.ts +45 -22
  269. package/build/src/library/keiyaku.js +134 -8
  270. package/build/src/library/nuke.d.ts +2 -11
  271. package/build/src/library/nuke.js +70 -57
  272. package/build/src/library/outcome.d.ts +13196 -0
  273. package/build/src/library/outcome.js +487 -0
  274. package/build/src/library/reconcile.d.ts +96 -24
  275. package/build/src/library/reconcile.js +102 -42
  276. package/build/src/library/refusal.d.ts +470 -42
  277. package/build/src/library/refusal.js +55 -143
  278. package/build/src/library/region.d.ts +15 -7
  279. package/build/src/library/region.js +23 -3
  280. package/build/src/library/repo.d.ts +2 -12
  281. package/build/src/library/repo.js +1 -22
  282. package/build/src/library/selection.d.ts +121 -0
  283. package/build/src/library/{fleet.js → selection.js} +169 -152
  284. package/build/src/plugin/public.d.ts +2 -0
  285. package/build/src/protocol/abandon.d.ts +2 -2
  286. package/build/src/protocol/abandon.js +1 -0
  287. package/build/src/protocol/amend.js +1 -0
  288. package/build/src/protocol/arc.d.ts +6 -4
  289. package/build/src/protocol/attempt.d.ts +4 -2
  290. package/build/src/protocol/attempt.js +10 -0
  291. package/build/src/protocol/audit.d.ts +255 -52
  292. package/build/src/protocol/audit.js +63 -5
  293. package/build/src/protocol/bind.d.ts +18 -17
  294. package/build/src/protocol/bind.js +9 -28
  295. package/build/src/protocol/completion.d.ts +256 -22
  296. package/build/src/protocol/completion.js +100 -12
  297. package/build/src/protocol/deliver.d.ts +34 -23
  298. package/build/src/protocol/deliver.js +39 -25
  299. package/build/src/protocol/execution-observation.d.ts +36 -37
  300. package/build/src/protocol/execution-observation.js +7 -9
  301. package/build/src/protocol/intent.d.ts +101 -30
  302. package/build/src/protocol/intent.js +74 -1
  303. package/build/src/protocol/operations.d.ts +570 -64
  304. package/build/src/protocol/operations.js +189 -9
  305. package/build/src/protocol/outcome.d.ts +2 -1
  306. package/build/src/protocol/placement.d.ts +2 -2
  307. package/build/src/protocol/placement.js +3 -1
  308. package/build/src/protocol/progress.d.ts +108 -65
  309. package/build/src/protocol/progress.js +82 -132
  310. package/build/src/protocol/read/status.d.ts +4 -3
  311. package/build/src/protocol/read/status.js +6 -5
  312. package/build/src/protocol/reconcile.d.ts +3 -3
  313. package/build/src/protocol/reconcile.js +4 -0
  314. package/build/src/protocol/reintegrate.d.ts +2 -2
  315. package/build/src/protocol/review.d.ts +30 -12
  316. package/build/src/protocol/review.js +15 -24
  317. package/build/src/protocol/run.d.ts +34 -5
  318. package/build/src/protocol/run.js +24 -12
  319. package/build/src/runtime/proc/windows-launch.exe +0 -0
  320. package/build/src/settings.d.ts +0 -10
  321. package/build/src/settings.js +0 -76
  322. package/build/src/settlement/holder.d.ts +1 -1
  323. package/build/src/settlement/settle.d.ts +25 -16
  324. package/build/src/settlement/settle.js +80 -20
  325. package/build/src/task/board.d.ts +3 -1
  326. package/build/src/task/board.js +13 -17
  327. package/build/src/task/catalog.d.ts +0 -4
  328. package/build/src/task/catalog.js +0 -15
  329. package/build/src/task/compose-language.d.ts +19 -9
  330. package/build/src/task/compose-language.js +30 -20
  331. package/build/src/task/compose.d.ts +7 -37
  332. package/build/src/task/compose.js +20 -2
  333. package/build/src/task/created-observation.d.ts +0 -1
  334. package/build/src/task/created-observation.js +1 -4
  335. package/build/src/task/document.d.ts +12 -2
  336. package/build/src/task/document.js +4 -0
  337. package/build/src/task/identity.d.ts +4 -1
  338. package/build/src/task/identity.js +21 -17
  339. package/build/src/task/index.d.ts +36 -16
  340. package/build/src/task/index.js +103 -96
  341. package/build/src/task/lifecycle-operations.d.ts +1 -1
  342. package/build/src/task/mutation-result.d.ts +647 -586
  343. package/build/src/task/mutation-result.js +79 -46
  344. package/build/src/task/mutation.d.ts +298 -270
  345. package/build/src/task/mutation.js +93 -110
  346. package/build/src/task/operation-types.d.ts +6 -49
  347. package/build/src/task/operations.d.ts +2 -1
  348. package/build/src/task/operations.js +35 -12
  349. package/build/src/task/query.d.ts +9 -3
  350. package/build/src/task/query.js +42 -16
  351. package/build/src/task/store.d.ts +2 -1
  352. package/build/src/task/store.js +10 -14
  353. package/build/src/verification/declaration.d.ts +0 -1
  354. package/build/src/verification/declaration.js +1 -18
  355. package/build/src/verification/execution.d.ts +6 -2
  356. package/build/src/verification/observation.d.ts +1 -1
  357. package/package.json +2 -18
  358. package/build/src/akuma/akuma-product.d.ts +0 -58
  359. package/build/src/akuma/akuma-product.js +0 -276
  360. package/build/src/akuma/fleet-execution.js +0 -234
  361. package/build/src/akuma/fleet-observation.js +0 -97
  362. package/build/src/cli/accepted.d.ts +0 -24
  363. package/build/src/cli/accepted.js +0 -167
  364. package/build/src/cli/catalog.d.ts +0 -45
  365. package/build/src/cli/catalog.js +0 -1
  366. package/build/src/cli/commands/akuma-invoke.d.ts +0 -114
  367. package/build/src/cli/commands/akuma-invoke.js +0 -375
  368. package/build/src/cli/commands/contract-invoke.d.ts +0 -34
  369. package/build/src/cli/commands/contract-invoke.js +0 -259
  370. package/build/src/cli/commands/nuke.d.ts +0 -10
  371. package/build/src/cli/commands/nuke.js +0 -20
  372. package/build/src/cli/commands/status-set.d.ts +0 -4
  373. package/build/src/cli/commands/status-set.js +0 -52
  374. package/build/src/cli/commands/task-invoke.d.ts +0 -49
  375. package/build/src/cli/commands/task-invoke.js +0 -306
  376. package/build/src/cli/invoke.d.ts +0 -27
  377. package/build/src/cli/invoke.js +0 -521
  378. package/build/src/cli/render/board.d.ts +0 -3
  379. package/build/src/cli/render/board.js +0 -25
  380. package/build/src/cli/render/status-set.d.ts +0 -5
  381. package/build/src/cli/render/status-set.js +0 -19
  382. package/build/src/cli/render/text.d.ts +0 -3
  383. package/build/src/cli/render/text.js +0 -33
  384. package/build/src/cli/result.d.ts +0 -240
  385. package/build/src/cli/result.js +0 -1
  386. package/build/src/git/result-codec.d.ts +0 -29
  387. package/build/src/git/result-codec.js +0 -309
  388. package/build/src/kanshi/fleet.d.ts +0 -6
  389. package/build/src/kanshi/fleet.js +0 -27
  390. package/build/src/library/audit.d.ts +0 -29
  391. package/build/src/library/audit.js +0 -41
  392. package/build/src/library/composition.d.ts +0 -15
  393. package/build/src/library/composition.js +0 -28
  394. package/build/src/library/configuration.d.ts +0 -4
  395. package/build/src/library/configuration.js +0 -2
  396. package/build/src/library/contract-bind.d.ts +0 -31
  397. package/build/src/library/contract-bind.js +0 -140
  398. package/build/src/library/contract-forwarding.d.ts +0 -55
  399. package/build/src/library/contract-forwarding.js +0 -67
  400. package/build/src/library/contract-handle.d.ts +0 -50
  401. package/build/src/library/contract-handle.js +0 -385
  402. package/build/src/library/contract.d.ts +0 -46
  403. package/build/src/library/contract.js +0 -73
  404. package/build/src/library/execution-result.d.ts +0 -243
  405. package/build/src/library/execution-result.js +0 -101
  406. package/build/src/library/execution.d.ts +0 -8
  407. package/build/src/library/execution.js +0 -102
  408. package/build/src/library/fleet.d.ts +0 -83
  409. package/build/src/library/mutation.d.ts +0 -501
  410. package/build/src/library/mutation.js +0 -248
  411. package/build/src/library/result-codec.d.ts +0 -2
  412. package/build/src/library/result-codec.js +0 -12
  413. package/build/src/protocol/result-codec.d.ts +0 -23
  414. package/build/src/protocol/result-codec.js +0 -488
  415. package/build/src/settlement/result-codec.d.ts +0 -2
  416. package/build/src/settlement/result-codec.js +0 -56
  417. package/build/src/task/public.d.ts +0 -2
  418. package/build/src/task/public.js +0 -1
@@ -1,55 +1,256 @@
1
- import { type DeliveryDiffScope } from "../git/integration.js";
2
- import type { ChangeId, ContractState, DeliverData, EntryUlid } from "../core/facts/types.js";
3
- import { type AuditTargetAnswer } from "../git/target-placement.js";
4
- import type { DeliveryPreparationRefusal, DocumentDerivation, IntentOutcome, MutationOperationInput, VerificationStop } from "./operations.js";
5
- export { decodeAuditReport } from "./result-codec.js";
6
- type AuditWorkspace = Readonly<{
7
- kind: "worktree";
8
- path: string;
9
- }>;
10
- type DiffScope = DeliveryDiffScope;
11
- export type AuditReport = Readonly<{
12
- candidate: Readonly<{
13
- kind: "blocked";
14
- refusal: DeliveryPreparationRefusal;
15
- }> | Readonly<{
16
- kind: "ready";
17
- workspace: AuditWorkspace;
18
- identity: DeliverData;
19
- scope: DiffScope;
20
- diff?: string;
21
- }>;
22
- verification: Readonly<{
23
- kind: "not-run";
24
- }> | Readonly<{
25
- kind: "satisfied";
26
- passed: number;
27
- total: number;
28
- summary?: string;
29
- }> | Readonly<{
30
- kind: "unsatisfied";
31
- passed: number;
32
- total: number;
33
- summary?: string;
34
- }> | Readonly<{
35
- kind: "stopped";
36
- stop: VerificationStop;
37
- }>;
38
- target: Readonly<{
39
- kind: "not-observed";
40
- }> | AuditTargetAnswer;
41
- delivery?: Readonly<{
42
- changeId: ChangeId;
43
- relation: "identical" | "differs";
44
- verification: Readonly<{
45
- kind: "undeclared" | "unrecorded";
46
- }> | Readonly<{
47
- kind: "recorded";
48
- verdict: "satisfied" | "unsatisfied";
49
- fact: EntryUlid;
1
+ import { z } from "zod";
2
+ import type { ContractState, SnapshotId } from "../core/facts/types.js";
3
+ import type { DocumentDerivation, IntentOutcome, MutationOperationInput } from "./operations.js";
4
+ export declare const auditReportSchema: z.ZodObject<{
5
+ candidate: z.ZodUnion<readonly [z.ZodObject<{
6
+ kind: z.ZodLiteral<"blocked">;
7
+ refusal: z.ZodUnion<readonly [z.ZodObject<{
8
+ kind: z.ZodLiteral<"target-missing">;
9
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>;
10
+ }, z.core.$strict>, z.ZodObject<{
11
+ kind: z.ZodLiteral<"worktree-missing">;
12
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>;
13
+ }, z.core.$strict>, z.ZodObject<{
14
+ kind: z.ZodLiteral<"dirty-workspace">;
15
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>;
16
+ staged: z.ZodReadonly<z.ZodArray<z.ZodString>>;
17
+ unstaged: z.ZodReadonly<z.ZodArray<z.ZodString>>;
18
+ untracked: z.ZodReadonly<z.ZodArray<z.ZodString>>;
19
+ submodules: z.ZodReadonly<z.ZodArray<z.ZodString>>;
20
+ shortStat: z.ZodObject<{
21
+ filesChanged: z.ZodNumber;
22
+ insertions: z.ZodNumber;
23
+ deletions: z.ZodNumber;
24
+ }, z.core.$strict>;
25
+ }, z.core.$strict>, z.ZodObject<{
26
+ kind: z.ZodLiteral<"unmerged-paths">;
27
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>;
28
+ paths: z.ZodReadonly<z.ZodArray<z.ZodString>>;
29
+ }, z.core.$strict>, z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
30
+ kind: z.ZodLiteral<"integration-failed">;
31
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>;
32
+ reason: z.ZodEnum<{
33
+ "not-based-on-target": "not-based-on-target";
34
+ "unrelated-histories": "unrelated-histories";
35
+ conflict: "conflict";
36
+ }>;
37
+ targetHead: z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>;
38
+ conflictPaths: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
39
+ }, z.core.$strict>, z.ZodTransform<{
40
+ kind: "integration-failed";
41
+ contractId: import("../core/facts/types.js").ContractId;
42
+ reason: "not-based-on-target" | "unrelated-histories" | "conflict";
43
+ targetHead: SnapshotId;
44
+ } & {
45
+ conflictPaths?: readonly string[];
46
+ }, {
47
+ kind: "integration-failed";
48
+ contractId: import("../core/facts/types.js").ContractId;
49
+ reason: "not-based-on-target" | "unrelated-histories" | "conflict";
50
+ targetHead: SnapshotId;
51
+ conflictPaths?: readonly string[] | undefined;
52
+ }>>, z.ZodObject<{
53
+ kind: z.ZodLiteral<"integration-unsupported">;
54
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>;
55
+ requiredGit: z.ZodLiteral<"2.38">;
56
+ }, z.core.$strict>]>, z.ZodObject<{
57
+ kind: z.ZodLiteral<"merge-state-present">;
58
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>;
59
+ workspace: z.ZodObject<{
60
+ kind: z.ZodLiteral<"worktree">;
61
+ path: z.ZodString;
62
+ }, z.core.$strict>;
63
+ }, z.core.$strict>, z.ZodObject<{
64
+ kind: z.ZodLiteral<"checkout-not-followable">;
65
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>;
66
+ target: z.ZodString;
67
+ path: z.ZodString;
68
+ reason: z.ZodLiteral<"untracked">;
69
+ paths: z.ZodReadonly<z.ZodArray<z.ZodString>>;
70
+ }, z.core.$strict>]>;
71
+ }, z.core.$strict>, z.ZodObject<{
72
+ kind: z.ZodLiteral<"ready">;
73
+ workspace: z.ZodObject<{
74
+ kind: z.ZodLiteral<"worktree">;
75
+ path: z.ZodString;
76
+ }, z.core.$strict>;
77
+ identity: z.ZodObject<{
78
+ tenderSnapshot: z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>;
79
+ integration: z.ZodObject<{
80
+ predecessor: z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>;
81
+ snapshot: z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>;
82
+ changeId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ChangeId, string>>;
83
+ }, z.core.$strict>;
84
+ method: z.ZodLiteral<"squash">;
85
+ policy: z.ZodObject<{
86
+ requireBranchesToBeUpToDate: z.ZodBoolean;
87
+ }, z.core.$strict>;
88
+ }, z.core.$strict>;
89
+ scope: z.ZodObject<{
90
+ filesChanged: z.ZodNumber;
91
+ insertions: z.ZodNumber;
92
+ deletions: z.ZodNumber;
93
+ paths: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
94
+ }, z.core.$strict>;
95
+ diff: z.ZodOptional<z.ZodString>;
96
+ }, z.core.$strict>]>;
97
+ verification: z.ZodUnion<readonly [z.ZodObject<{
98
+ kind: z.ZodLiteral<"not-run">;
99
+ }, z.core.$strict>, z.ZodObject<{
100
+ kind: z.ZodLiteral<"undeclared">;
101
+ }, z.core.$strict>, z.ZodObject<{
102
+ kind: z.ZodLiteral<"stopped">;
103
+ stop: z.ZodUnion<readonly [z.ZodObject<{
104
+ refusal: z.ZodUnion<readonly [z.ZodObject<{
105
+ kind: z.ZodEnum<{
106
+ terminal: "terminal";
107
+ "contract-missing": "contract-missing";
108
+ }>;
109
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>;
110
+ }, z.core.$strict>, z.ZodObject<{
111
+ kind: z.ZodLiteral<"verification-declaration-invalid">;
112
+ contractId: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>>;
113
+ }, z.core.$strict>]>;
114
+ }, z.core.$strict>, z.ZodObject<{
115
+ retry: z.ZodUnion<readonly [z.ZodObject<{
116
+ kind: z.ZodEnum<{
117
+ exhausted: "exhausted";
118
+ collision: "collision";
119
+ }>;
120
+ }, z.core.$strict>, z.ZodObject<{
121
+ kind: z.ZodLiteral<"publication-failed">;
122
+ diagnostic: z.ZodString;
123
+ }, z.core.$strict>]>;
124
+ }, z.core.$strict>, z.ZodUnion<readonly [z.ZodObject<{
125
+ stdout: z.ZodOptional<z.ZodString>;
126
+ stderr: z.ZodOptional<z.ZodString>;
127
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
128
+ failure: z.ZodEnum<{
129
+ cancelled: "cancelled";
130
+ "unknown-exit": "unknown-exit";
131
+ }>;
132
+ }, z.core.$strict>, z.ZodObject<{
133
+ stdout: z.ZodOptional<z.ZodString>;
134
+ stderr: z.ZodOptional<z.ZodString>;
135
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
136
+ failure: z.ZodEnum<{
137
+ "spawn-error": "spawn-error";
138
+ "candidate-unavailable": "candidate-unavailable";
139
+ }>;
140
+ diagnostic: z.ZodString;
141
+ }, z.core.$strict>, z.ZodObject<{
142
+ stdout: z.ZodOptional<z.ZodString>;
143
+ stderr: z.ZodOptional<z.ZodString>;
144
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
145
+ failure: z.ZodLiteral<"environment-failure">;
146
+ diagnostic: z.ZodString;
147
+ }, z.core.$strict>, z.ZodObject<{
148
+ stdout: z.ZodOptional<z.ZodString>;
149
+ stderr: z.ZodOptional<z.ZodString>;
150
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
151
+ failure: z.ZodLiteral<"environment-failure">;
152
+ name: z.ZodString;
153
+ detail: z.ZodUnion<readonly [z.ZodObject<{
154
+ kind: z.ZodLiteral<"exit">;
155
+ code: z.ZodNumber;
156
+ stdout: z.ZodString;
157
+ stderr: z.ZodString;
158
+ truncated: z.ZodBoolean;
159
+ }, z.core.$strict>, z.ZodObject<{
160
+ stdout: z.ZodOptional<z.ZodString>;
161
+ stderr: z.ZodOptional<z.ZodString>;
162
+ truncated: z.ZodOptional<z.ZodBoolean>;
163
+ kind: z.ZodLiteral<"timeout">;
164
+ }, z.core.$strict>, z.ZodObject<{
165
+ stdout: z.ZodOptional<z.ZodString>;
166
+ stderr: z.ZodOptional<z.ZodString>;
167
+ truncated: z.ZodOptional<z.ZodBoolean>;
168
+ kind: z.ZodLiteral<"unknown-exit">;
169
+ }, z.core.$strict>, z.ZodObject<{
170
+ kind: z.ZodLiteral<"spawn-error">;
171
+ diagnostic: z.ZodString;
172
+ }, z.core.$strict>]>;
173
+ }, z.core.$strict>]>]>;
174
+ }, z.core.$strict>, z.ZodObject<{
175
+ kind: z.ZodEnum<{
176
+ satisfied: "satisfied";
177
+ unsatisfied: "unsatisfied";
50
178
  }>;
51
- }>;
52
- }>;
179
+ passed: z.ZodNumber;
180
+ total: z.ZodNumber;
181
+ summary: z.ZodOptional<z.ZodString>;
182
+ }, z.core.$strict>, z.ZodObject<{
183
+ entry: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").EntryUlid, string>>;
184
+ verdict: z.ZodEnum<{
185
+ satisfied: "satisfied";
186
+ unsatisfied: "unsatisfied";
187
+ }>;
188
+ summary: z.ZodOptional<z.ZodString>;
189
+ kind: z.ZodLiteral<"reused">;
190
+ }, z.core.$strict>]>;
191
+ target: z.ZodUnion<readonly [z.ZodObject<{
192
+ kind: z.ZodLiteral<"not-observed">;
193
+ }, z.core.$strict>, z.ZodUnion<readonly [z.ZodObject<{
194
+ kind: z.ZodLiteral<"placeable">;
195
+ ref: z.ZodString;
196
+ head: z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>;
197
+ }, z.core.$strict>, z.ZodObject<{
198
+ kind: z.ZodLiteral<"moved">;
199
+ ref: z.ZodString;
200
+ expected: z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>;
201
+ observed: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<SnapshotId, string>>>;
202
+ }, z.core.$strict>, z.ZodObject<{
203
+ kind: z.ZodLiteral<"refused">;
204
+ refusal: z.ZodObject<{
205
+ kind: z.ZodLiteral<"checkout-not-followable">;
206
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ContractId, string>>;
207
+ target: z.ZodString;
208
+ path: z.ZodString;
209
+ reason: z.ZodLiteral<"untracked">;
210
+ paths: z.ZodReadonly<z.ZodArray<z.ZodString>>;
211
+ }, z.core.$strict>;
212
+ }, z.core.$strict>, z.ZodObject<{
213
+ kind: z.ZodLiteral<"failed">;
214
+ diagnostic: z.ZodString;
215
+ }, z.core.$strict>]>]>;
216
+ targetLag: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
217
+ kind: z.ZodLiteral<"none">;
218
+ }, z.core.$strict>, z.ZodObject<{
219
+ kind: z.ZodLiteral<"unknown">;
220
+ subject: z.ZodOptional<z.ZodObject<{
221
+ kind: z.ZodLiteral<"worktree">;
222
+ path: z.ZodString;
223
+ }, z.core.$strict>>;
224
+ }, z.core.$strict>, z.ZodObject<{
225
+ kind: z.ZodLiteral<"counted">;
226
+ behind: z.ZodNumber;
227
+ subject: z.ZodOptional<z.ZodObject<{
228
+ kind: z.ZodLiteral<"worktree">;
229
+ path: z.ZodString;
230
+ }, z.core.$strict>>;
231
+ }, z.core.$strict>]>>;
232
+ delivery: z.ZodOptional<z.ZodObject<{
233
+ changeId: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").ChangeId, string>>;
234
+ relation: z.ZodEnum<{
235
+ identical: "identical";
236
+ differs: "differs";
237
+ }>;
238
+ verification: z.ZodUnion<readonly [z.ZodObject<{
239
+ kind: z.ZodEnum<{
240
+ undeclared: "undeclared";
241
+ unrecorded: "unrecorded";
242
+ }>;
243
+ }, z.core.$strict>, z.ZodObject<{
244
+ kind: z.ZodLiteral<"recorded">;
245
+ verdict: z.ZodEnum<{
246
+ satisfied: "satisfied";
247
+ unsatisfied: "unsatisfied";
248
+ }>;
249
+ fact: z.ZodPipe<z.ZodString, z.ZodTransform<import("../core/facts/types.js").EntryUlid, string>>;
250
+ }, z.core.$strict>]>;
251
+ }, z.core.$strict>>;
252
+ }, z.core.$strict>;
253
+ export type AuditReport = z.infer<typeof auditReportSchema>;
53
254
  type AuditOperationInput = MutationOperationInput & Readonly<{
54
255
  deriveDocument?: (state: ContractState) => DocumentDerivation;
55
256
  requireBranchesToBeUpToDate?: boolean;
@@ -57,4 +258,6 @@ type AuditOperationInput = MutationOperationInput & Readonly<{
57
258
  showDiff?: boolean;
58
259
  signal?: AbortSignal;
59
260
  }>;
60
- export declare function auditOperation(input: AuditOperationInput): Promise<IntentOutcome<AuditReport>>;
261
+ type AuditRefusal = import("../core/verbs/deliver.js").DeliverRefusal | import("../verification/declaration.js").VerificationDeclarationRefusal;
262
+ export declare function auditOperation(input: AuditOperationInput): Promise<IntentOutcome<AuditReport, AuditRefusal>>;
263
+ export {};
@@ -1,13 +1,60 @@
1
- import { readDeliveryDiff, readDeliveryScope } from "../git/integration.js";
1
+ import { z } from "zod";
2
+ import { deliverDataSchema, deliveryPreparationRefusalSchema, verificationStopSchema, changeIdSchema, verdictSchema, entryUlidSchema, } from "./operations.js";
3
+ import { auditTargetAnswerSchema } from "../git/target-placement.js";
4
+ import { verificationReuseSchema } from "./intent.js";
5
+ import { deliveryDiffScopeSchema, readDeliveryDiff, readDeliveryScope } from "../git/integration.js";
2
6
  import { observeContractsForAdmissionAt } from "../git/observe.js";
3
7
  import { activeContract, documentIsCurrent } from "../core/facts/observation.js";
4
8
  import { adjudicateAuditTarget } from "../git/target-placement.js";
9
+ import { observeTargetLag, contractTargetLagSchema, worktreeWorkspaceSchema } from "../git/workspace.js";
5
10
  import { readManagedWorktreeAppointment } from "../workspace-place.js";
6
11
  import { currentVerifiedAttestation, verifyDelivery } from "./intent.js";
7
12
  import { accepted, admitted } from "./outcome.js";
8
13
  import { prepareDelivery } from "./deliver.js";
9
14
  import { timestamp, unpackVerificationOutcome } from "./operations.js";
10
- export { decodeAuditReport } from "./result-codec.js";
15
+ export const auditReportSchema = z
16
+ .object({
17
+ candidate: z.union([
18
+ z.object({ kind: z.literal("blocked"), refusal: deliveryPreparationRefusalSchema }).strict(),
19
+ z
20
+ .object({
21
+ kind: z.literal("ready"),
22
+ workspace: worktreeWorkspaceSchema,
23
+ identity: deliverDataSchema,
24
+ scope: deliveryDiffScopeSchema,
25
+ diff: z.string().optional(),
26
+ })
27
+ .strict(),
28
+ ]),
29
+ verification: z.union([
30
+ z.object({ kind: z.literal("not-run") }).strict(),
31
+ z.object({ kind: z.literal("undeclared") }).strict(),
32
+ z.object({ kind: z.literal("stopped"), stop: verificationStopSchema }).strict(),
33
+ z
34
+ .object({
35
+ kind: z.enum(["satisfied", "unsatisfied"]),
36
+ passed: z.number(),
37
+ total: z.number(),
38
+ summary: z.string().optional(),
39
+ })
40
+ .strict(),
41
+ verificationReuseSchema.extend({ kind: z.literal("reused") }).strict(),
42
+ ]),
43
+ target: z.union([z.object({ kind: z.literal("not-observed") }).strict(), auditTargetAnswerSchema]),
44
+ targetLag: contractTargetLagSchema.optional(),
45
+ delivery: z
46
+ .object({
47
+ changeId: changeIdSchema,
48
+ relation: z.enum(["identical", "differs"]),
49
+ verification: z.union([
50
+ z.object({ kind: z.enum(["undeclared", "unrecorded"]) }).strict(),
51
+ z.object({ kind: z.literal("recorded"), verdict: verdictSchema, fact: entryUlidSchema }).strict(),
52
+ ]),
53
+ })
54
+ .strict()
55
+ .optional(),
56
+ })
57
+ .strict();
11
58
  async function auditWorkspace(repository, state) {
12
59
  const appointed = await readManagedWorktreeAppointment(repository, state.id);
13
60
  if (appointed.kind === "failed")
@@ -48,11 +95,15 @@ async function auditCandidateVerification(input, state, snapshot, definition) {
48
95
  throw new Error("audit verification preparation unexpectedly produced no attempt");
49
96
  return unpackVerificationOutcome(verification);
50
97
  }
51
- function auditVerificationAnswer(verified) {
98
+ function auditVerificationAnswer(verified, declared) {
99
+ if (!declared)
100
+ return { kind: "undeclared" };
52
101
  if (verified === undefined)
53
102
  return { kind: "not-run" };
54
103
  if (verified.stop !== undefined)
55
104
  return { kind: "stopped", stop: verified.stop };
105
+ if (verified.reuse !== undefined)
106
+ return { kind: "reused", ...verified.reuse };
56
107
  if (verified.counts === undefined)
57
108
  throw new Error("terminal Verification is missing producer counts");
58
109
  return {
@@ -102,6 +153,7 @@ function completedAudit(state, verified, value) {
102
153
  ? accepted(state, [], value, undefined, obligations)
103
154
  : { ...admitted(verified.admission, value), ...obligations };
104
155
  }
156
+ // eslint-disable-next-line complexity -- one adjudicated audit retains partial observations before each later owner boundary.
105
157
  export async function auditOperation(input) {
106
158
  const observed = await observeContractsForAdmissionAt(input.scope, input.channel, [input.contractId]);
107
159
  const state = activeContract(observed.decision, input.contractId);
@@ -131,15 +183,21 @@ export async function auditOperation(input) {
131
183
  if (prepared.kind === "refused")
132
184
  return accepted(state, [], blockedAudit(prepared.refusal));
133
185
  const candidate = await readyAuditCandidate(input.scope, prepared.data, workspace.answer, input.showDiff === true);
186
+ input.progress?.recordAudit(state.id, { candidate });
134
187
  const verified = derivation.verification.data === null
135
188
  ? undefined
136
189
  : await auditCandidateVerification(input, state, prepared.data.integration.snapshot, derivation.verification.data);
137
- const verification = auditVerificationAnswer(verified);
190
+ const verification = auditVerificationAnswer(verified, derivation.verification.data !== null);
138
191
  const delivery = auditDeliveryRelation(verified?.admission?.state ?? state, prepared.data, derivation.verification.data !== null);
192
+ input.progress?.recordAudit(state.id, { verification, ...(delivery === undefined ? {} : { delivery }) });
193
+ const target = await auditTargetAnswer(input.scope, state, prepared.data);
194
+ input.progress?.recordAudit(state.id, { target });
195
+ const targetLag = target.kind === "placeable" ? await observeTargetLag(input.scope, workspace.answer.path, target.head) : undefined;
139
196
  const value = {
140
197
  candidate,
141
198
  verification,
142
- target: await auditTargetAnswer(input.scope, state, prepared.data),
199
+ target,
200
+ ...(targetLag === undefined ? {} : { targetLag }),
143
201
  ...(delivery === undefined ? {} : { delivery }),
144
202
  };
145
203
  return completedAudit(state, verified, value);
@@ -1,26 +1,27 @@
1
+ import { z } from "zod";
2
+ import type { ActorId, BindData, ContractId } from "../core/facts/types.js";
3
+ import { type BindRefusal } from "../core/verbs/bind.js";
1
4
  import { type BindTargetSelection } from "../git/observe.js";
2
- export type { BindTargetSelection };
3
5
  import type { GitRepository } from "../git/process.js";
4
6
  import type { GitDecodeChannel } from "../git/read-observation.js";
5
- import { type BindData, type ActorId, type ContractId } from "../core/facts/types.js";
6
- import { type BindRefusal } from "../core/verbs/bind.js";
7
- export type { BindRefusal } from "../core/verbs/bind.js";
8
7
  import type { VerificationDeclarationPreparation, VerificationDeclarationRefusal } from "../verification/declaration.js";
9
8
  import { type IntentOutcome } from "./outcome.js";
10
9
  import type { CompanionDecorator } from "./run.js";
11
- export type TargetInputRefusal = Readonly<{
12
- kind: "invalid-target";
13
- }> | Readonly<{
14
- kind: "target-missing";
15
- }> | Readonly<{
16
- kind: "unborn-head";
17
- }>;
18
- export type ForkSourceMovedRefusal = Readonly<{
19
- kind: "fork-source-moved";
20
- contractId: ContractId;
21
- }>;
22
- export declare function decodeTargetInputRefusal(value: unknown): TargetInputRefusal;
23
- export declare function decodeForkSourceMovedRefusal(value: unknown): ForkSourceMovedRefusal;
10
+ export type { BindRefusal } from "../core/verbs/bind.js";
11
+ export type { BindTargetSelection };
12
+ export declare const targetInputRefusalSchema: z.ZodObject<{
13
+ kind: z.ZodEnum<{
14
+ "target-missing": "target-missing";
15
+ "unborn-head": "unborn-head";
16
+ "invalid-target": "invalid-target";
17
+ }>;
18
+ }, z.core.$strict>;
19
+ type TargetInputRefusal = z.infer<typeof targetInputRefusalSchema>;
20
+ export declare const forkSourceMovedRefusalSchema: z.ZodObject<{
21
+ kind: z.ZodLiteral<"fork-source-moved">;
22
+ contractId: z.ZodPipe<z.ZodString, z.ZodTransform<ContractId, string>>;
23
+ }, z.core.$strict>;
24
+ type ForkSourceMovedRefusal = z.infer<typeof forkSourceMovedRefusalSchema>;
24
25
  type BindOperationInput = Readonly<{
25
26
  scope: GitRepository;
26
27
  channel: GitDecodeChannel;
@@ -1,34 +1,15 @@
1
- import { normalizeTargetBranch, observeBindCoordinates, } from "../git/observe.js";
2
- import { gitObjectIdForSnapshot } from "../git/identity.js";
3
- import { contractId } from "../core/facts/types.js";
1
+ import { z } from "zod";
4
2
  import { decideBind } from "../core/verbs/bind.js";
3
+ import { contractIdSchema, gitObjectIdForSnapshot } from "../git/identity.js";
4
+ import { normalizeTargetBranch, observeBindCoordinates, } from "../git/observe.js";
5
5
  import { admitPreparedIntent } from "./intent.js";
6
6
  import { complete } from "./outcome.js";
7
- export function decodeTargetInputRefusal(value) {
8
- if (value === null || typeof value !== "object" || Array.isArray(value))
9
- throw new Error("malformed target input refusal");
10
- const object = value;
11
- if (object.kind !== "invalid-target" && object.kind !== "target-missing" && object.kind !== "unborn-head")
12
- throw new Error("malformed target input refusal");
13
- if (Object.keys(object).length !== 1)
14
- throw new Error("malformed target input refusal");
15
- return { kind: object.kind };
16
- }
17
- export function decodeForkSourceMovedRefusal(value) {
18
- if (value === null || typeof value !== "object" || Array.isArray(value))
19
- throw new Error("malformed fork-source refusal");
20
- const object = value;
21
- if (object.kind !== "fork-source-moved")
22
- throw new Error("malformed fork-source refusal");
23
- if (Object.keys(object).some((key) => key !== "kind" && key !== "contractId"))
24
- throw new Error("malformed fork-source refusal");
25
- try {
26
- return { kind: "fork-source-moved", contractId: contractId(String(object.contractId)) };
27
- }
28
- catch {
29
- throw new Error("malformed fork-source refusal");
30
- }
31
- }
7
+ export const targetInputRefusalSchema = z
8
+ .object({ kind: z.enum(["invalid-target", "target-missing", "unborn-head"]) })
9
+ .strict();
10
+ export const forkSourceMovedRefusalSchema = z
11
+ .object({ kind: z.literal("fork-source-moved"), contractId: contractIdSchema })
12
+ .strict();
32
13
  /**
33
14
  * Acquire the repeatable Git coordinates outside the publication seat. The artifact carries the
34
15
  * observed start/target plus the expected ref assertions that publication must still confirm.