@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,385 +0,0 @@
1
- /** @architectureCompositionRoot */
2
- import { documentDiff } from "../markdown/diff.js";
3
- import { startContractExecution } from "./execution.js";
4
- import { applyAmendDocument } from "../body/amend.js";
5
- import { decodeArcDocument } from "../body/arc.js";
6
- import { decodeContractDocument } from "../body/decode.js";
7
- import { renderContractGuidance } from "../contract-guidance.js";
8
- import { actorOption, contractTerms, documentDerivation, normalizedGates, normalizedList, optionalBoolean, optionalNonblank, optionalSignal, invalidInput, requireInput, requireMarkdown, } from "./input.js";
9
- import { observeChangedRegion } from "./region.js";
10
- import { worktreeHooksOption } from "./configuration.js";
11
- import { contractId } from "../core/facts/types.js";
12
- import { contractObservationOperation, deliveryDiffOperation, deliveryOperation, stateOperation, } from "../protocol/operations.js";
13
- import { abandonOperation } from "../protocol/abandon.js";
14
- import { amendOperation } from "../protocol/amend.js";
15
- import { arcOperation } from "../protocol/arc.js";
16
- import { readDispatchesAt } from "../dispatch/index.js";
17
- import { mintSnapshotId } from "../git/identity.js";
18
- import { observeContractsForAdmissionInObservationAt } from "../git/observe.js";
19
- import { withGitDecodeChannel, withGitReadObservation } from "../git/read-observation.js";
20
- import { releaseTaskHolder, releaseTaskHolderWithFence, taskHolderObservationSelection } from "../settlement/holder.js";
21
- import { reconcileInput } from "./repo.js";
22
- import { executionChannel, localExecutionContext } from "../akuma/requests.js";
23
- import { auditContract } from "./audit.js";
24
- import { deliveryHandle } from "./delivery.js";
25
- import { completionInput, completeHolderMutation, completeMutation } from "./mutation.js";
26
- import { completeReconcile } from "./reconcile.js";
27
- import { executeLocalDelivery, executeLocalReview, requestForwardedContractLive, } from "./contract-operations.js";
28
- import { KeiyakuRefused, requireAccepted } from "./refusal.js";
29
- import { composeContractLibrary } from "./composition.js";
30
- const KEIYAKU_HANDLE = Symbol("Keiyaku handle");
31
- export class Keiyaku {
32
- id;
33
- scope;
34
- execution;
35
- composition;
36
- static with(input) {
37
- return composeContractLibrary(input, createKeiyakuHandle);
38
- }
39
- constructor(token, id, scope, execution = localExecutionContext(), composition) {
40
- this.id = id;
41
- this.scope = scope;
42
- this.execution = execution;
43
- this.composition = composition;
44
- if (token !== KEIYAKU_HANDLE)
45
- throw new TypeError("Keiyaku handles are created by Keiyaku.with");
46
- KEIYAKU_SEATS.set(this, { id, scope });
47
- Object.freeze(this);
48
- }
49
- async state() {
50
- return withGitDecodeChannel(this.scope, (channel) => stateOperation({
51
- scope: this.scope,
52
- channel,
53
- contractId: this.id,
54
- }));
55
- }
56
- async history() {
57
- return withGitDecodeChannel(this.scope, (channel) => withGitReadObservation(this.scope, channel, async (observation) => {
58
- const [journals, dispatches] = await Promise.all([
59
- observeContractsForAdmissionInObservationAt(observation, [this.id]),
60
- readDispatchesAt(observation),
61
- ]);
62
- const record = journals.journals.get(this.id);
63
- if (record === undefined)
64
- throw new Error(`missing requested contract observation: ${this.id}`);
65
- if (record.state === null)
66
- throw new KeiyakuRefused({ kind: "contract-missing", contractId: this.id });
67
- const commit = observation.snapshot.commit;
68
- if (commit === null)
69
- throw new Error("contract history requires a keiyaku-state snapshot");
70
- const recordedAt = (event) => event.source === "journal" ? event.fact.at : event.dispatch.dispatchedAt;
71
- const events = [
72
- ...record.entries.map((fact) => ({ source: "journal", fact })),
73
- ...dispatches
74
- .filter((dispatch) => dispatch.contractId === this.id)
75
- .map((dispatch) => ({ source: "dispatch", dispatch })),
76
- ].sort((left, right) => {
77
- const leftAt = recordedAt(left);
78
- const rightAt = recordedAt(right);
79
- if (leftAt !== rightAt)
80
- return leftAt < rightAt ? -1 : 1;
81
- if (left.source !== right.source)
82
- return left.source === "journal" ? -1 : 1;
83
- return 0;
84
- });
85
- return { id: this.id, state: mintSnapshotId(commit), events };
86
- }));
87
- }
88
- async guidance() {
89
- return withGitDecodeChannel(this.scope, async (channel) => {
90
- const observed = await contractObservationOperation({ scope: this.scope, channel, contractId: this.id });
91
- if (observed.kind === "missing")
92
- throw new KeiyakuRefused({ kind: "contract-missing", contractId: this.id });
93
- return renderContractGuidance(await stateOperation({ scope: this.scope, channel, contractId: this.id }));
94
- });
95
- }
96
- async delivery() {
97
- const delivery = await withGitDecodeChannel(this.scope, (channel) => deliveryOperation({
98
- scope: this.scope,
99
- channel,
100
- contractId: this.id,
101
- }));
102
- return delivery === null ? null : this.deliveryHandle(delivery);
103
- }
104
- async amend(input) {
105
- const values = requireInput(input, "amend input");
106
- const hooks = worktreeHooksOption(values.hooks);
107
- const markdown = values.markdown === undefined ? undefined : requireMarkdown(values.markdown);
108
- const actor = actorOption(values.actor);
109
- const gates = values.gates === undefined ? undefined : normalizedGates(values.gates);
110
- const prerequisites = values.after === undefined ? undefined : normalizedList(values.after, "after", contractId);
111
- if (markdown === undefined && gates === undefined && prerequisites === undefined) {
112
- return invalidInput("amend requires markdown, after, or gates");
113
- }
114
- const amendment = await withGitDecodeChannel(this.scope, async (channel) => {
115
- let changedSections;
116
- const accepted = requireAccepted(await amendOperation({
117
- scope: this.scope,
118
- channel,
119
- contractId: this.id,
120
- ...actor,
121
- deriveAmendment: (source) => {
122
- const amendment = markdown === undefined
123
- ? undefined
124
- : applyAmendDocument(markdown, decodeContractDocument(source.document.bytes));
125
- changedSections = amendment?.changedSections;
126
- const document = amendment === undefined
127
- ? decodeContractDocument(source.document.bytes)
128
- : decodeContractDocument(amendment.document);
129
- const terms = markdown === undefined
130
- ? {
131
- document: source.document,
132
- segments: source.segments,
133
- gates: gates ?? source.gates,
134
- after: prerequisites ?? source.after,
135
- }
136
- : contractTerms(document, gates ?? source.gates, prerequisites ?? source.after);
137
- return {
138
- terms,
139
- verification: documentDerivation(document, terms.gates, this.id).verification,
140
- };
141
- },
142
- }));
143
- const completed = await completeMutation({
144
- ...completionInput({
145
- operation: "amend",
146
- scope: this.scope,
147
- channel,
148
- contractId: this.id,
149
- value: () => undefined,
150
- hooks,
151
- }),
152
- accepted,
153
- });
154
- return {
155
- completed,
156
- document: decodeContractDocument(accepted.value.terms.document.bytes),
157
- changedSections,
158
- documentDiff: documentDiff("before", "after", accepted.value.source.document.bytes, accepted.value.terms.document.bytes),
159
- };
160
- });
161
- const regionObservation = await observeChangedRegion(this.scope, this.id, amendment.changedSections, amendment.document.region);
162
- return {
163
- ...amendment.completed,
164
- documentDiff: amendment.documentDiff,
165
- ...regionObservation,
166
- };
167
- }
168
- startDelivery(input) {
169
- return startContractExecution((observe) => this.runDelivery(input, observe));
170
- }
171
- async deliver(input) {
172
- return this.startDelivery(input).result;
173
- }
174
- async runDelivery(input, observe) {
175
- const values = input === undefined
176
- ? undefined
177
- : requireInput(input, "deliver input", [
178
- "message",
179
- "includeDirty",
180
- "materializeConflict",
181
- "overwrite",
182
- "signal",
183
- ]);
184
- const message = optionalNonblank(values?.message, "deliver message");
185
- const includeDirty = optionalBoolean(values?.includeDirty, "includeDirty") ?? false;
186
- const materializeConflict = optionalBoolean(values?.materializeConflict, "materializeConflict") ?? false;
187
- const overwrite = optionalBoolean(values?.overwrite, "overwrite") ?? false;
188
- const signal = optionalSignal(values?.signal);
189
- const channel = executionChannel(this.execution);
190
- const result = channel.kind === "local"
191
- ? await executeLocalDelivery({
192
- scope: this.scope,
193
- contractId: this.id,
194
- ...(this.composition.actor === undefined ? {} : { actor: this.composition.actor }),
195
- ...(message === undefined ? {} : { message }),
196
- requireBranchesToBeUpToDate: this.composition.requireBranchesToBeUpToDate,
197
- includeDirty,
198
- materializeConflict,
199
- overwrite,
200
- ...(signal === undefined ? {} : { signal }),
201
- hooks: this.composition.hooks,
202
- observe,
203
- })
204
- : await requestForwardedContractLive({
205
- directory: channel.directory,
206
- action: "contract.deliver",
207
- observe,
208
- request: {
209
- action: "contract.deliver",
210
- repoRoot: this.scope.primaryWorktree,
211
- contractId: this.id,
212
- ...(message === undefined ? {} : { message }),
213
- includeDirty,
214
- materializeConflict,
215
- overwrite,
216
- },
217
- ...(signal === undefined ? {} : { signal }),
218
- });
219
- return "facts" in result ? { ...result, value: this.deliveryHandle(result.value) } : result;
220
- }
221
- startReview(input) {
222
- return startContractExecution((observe) => this.runReview(input, observe));
223
- }
224
- async review(input) {
225
- return this.startReview(input).result;
226
- }
227
- async runReview(input, observe) {
228
- const values = requireInput(input, "review input", ["verdict", "summary", "signal"]);
229
- const verdict = values.verdict;
230
- if (verdict !== "satisfied" && verdict !== "unsatisfied") {
231
- return invalidInput("verdict must be satisfied or unsatisfied");
232
- }
233
- const summary = optionalNonblank(values.summary, "review summary");
234
- const signal = optionalSignal(values.signal);
235
- const channel = executionChannel(this.execution);
236
- if (channel.kind === "body-request") {
237
- return await requestForwardedContractLive({
238
- directory: channel.directory,
239
- action: "contract.review",
240
- observe,
241
- ...(signal === undefined ? {} : { signal }),
242
- request: {
243
- action: "contract.review",
244
- repoRoot: this.scope.primaryWorktree,
245
- contractId: this.id,
246
- verdict,
247
- ...(summary === undefined ? {} : { summary }),
248
- },
249
- });
250
- }
251
- return await executeLocalReview({
252
- scope: this.scope,
253
- contractId: this.id,
254
- ...(this.composition.actor === undefined ? {} : { actor: this.composition.actor }),
255
- verdict,
256
- ...(summary === undefined ? {} : { summary }),
257
- hooks: this.composition.hooks,
258
- observe,
259
- ...(signal === undefined ? {} : { signal }),
260
- });
261
- }
262
- async abandon(input) {
263
- const values = input === undefined ? undefined : requireInput(input, "abandon input");
264
- const hooks = worktreeHooksOption(values?.hooks);
265
- const note = optionalNonblank(values?.note, "abandon note");
266
- return withGitDecodeChannel(this.scope, async (channel) => {
267
- const admission = await releaseTaskHolderWithFence(this.scope, channel, this.id, () => abandonOperation({
268
- scope: this.scope,
269
- channel,
270
- contractId: this.id,
271
- ...actorOption(values?.actor),
272
- ...(note === undefined ? {} : { note }),
273
- observationSelection: taskHolderObservationSelection(),
274
- decorateOffer: async ({ observation, contractId: owner }) => {
275
- const companion = await releaseTaskHolder(channel, observation, owner);
276
- return companion === null ? [] : [companion];
277
- },
278
- }));
279
- return completeHolderMutation({
280
- completion: completionInput({
281
- operation: "abandon",
282
- scope: this.scope,
283
- channel,
284
- contractId: this.id,
285
- value: () => undefined,
286
- hooks,
287
- }),
288
- admission,
289
- requireAccepted,
290
- });
291
- });
292
- }
293
- async arc(input) {
294
- const values = requireInput(input, "arc input");
295
- const hooks = worktreeHooksOption(values.hooks);
296
- const chapter = decodeArcDocument(requireMarkdown(values.markdown));
297
- return withGitDecodeChannel(this.scope, async (channel) => {
298
- const accepted = requireAccepted(await arcOperation({
299
- scope: this.scope,
300
- channel,
301
- contractId: this.id,
302
- ...actorOption(values.actor),
303
- chapter,
304
- }));
305
- return completeMutation({
306
- ...completionInput({
307
- operation: "arc",
308
- scope: this.scope,
309
- channel,
310
- contractId: this.id,
311
- value: () => undefined,
312
- hooks,
313
- }),
314
- accepted,
315
- });
316
- });
317
- }
318
- startAudit(input) {
319
- return startContractExecution((observe) => this.runAudit(input, observe));
320
- }
321
- async audit(input) {
322
- return this.startAudit(input).result;
323
- }
324
- async runAudit(input, observe) {
325
- const values = input === undefined ? undefined : requireInput(input, "audit input", ["includeDirty", "showDiff", "signal"]);
326
- const includeDirty = optionalBoolean(values?.includeDirty, "includeDirty") ?? false;
327
- const showDiff = optionalBoolean(values?.showDiff, "showDiff") ?? false;
328
- const signal = optionalSignal(values?.signal);
329
- const auditInput = {
330
- includeDirty,
331
- showDiff,
332
- ...(signal === undefined ? {} : { signal }),
333
- };
334
- const channel = executionChannel(this.execution);
335
- if (channel.kind === "body-request") {
336
- return await requestForwardedContractLive({
337
- directory: channel.directory,
338
- action: "contract.audit",
339
- observe,
340
- request: {
341
- action: "contract.audit",
342
- repoRoot: this.scope.primaryWorktree,
343
- contractId: this.id,
344
- includeDirty,
345
- showDiff,
346
- },
347
- ...(signal === undefined ? {} : { signal }),
348
- });
349
- }
350
- return auditContract({
351
- scope: this.scope,
352
- contractId: this.id,
353
- input: auditInput,
354
- composition: this.composition,
355
- observe,
356
- });
357
- }
358
- async reconcile(input) {
359
- const options = reconcileInput(input);
360
- return withGitDecodeChannel(this.scope, (channel) => completeReconcile({
361
- scope: this.scope,
362
- channel,
363
- contractId: this.id,
364
- ...options,
365
- }));
366
- }
367
- deliveryHandle(delivery) {
368
- return deliveryHandle(delivery, () => deliveryDiffOperation({
369
- scope: this.scope,
370
- integrationPredecessor: delivery.integration.predecessor,
371
- integrationSnapshot: delivery.integration.snapshot,
372
- }));
373
- }
374
- }
375
- const KEIYAKU_SEATS = new WeakMap();
376
- /** Internal constructor capability; callers select a Contract through Keiyaku.with. */
377
- export function createKeiyakuHandle(id, scope, execution, composition) {
378
- return new Keiyaku(KEIYAKU_HANDLE, id, scope, execution, composition);
379
- }
380
- /** Internal package composition capability; not exported from the package root. */
381
- export function seatForKeiyaku(value) {
382
- return value !== null && (typeof value === "object" || typeof value === "function")
383
- ? (KEIYAKU_SEATS.get(value) ?? null)
384
- : null;
385
- }
@@ -1,46 +0,0 @@
1
- import { actorOption } from "./input.js";
2
- import { worktreeHooksOption } from "./configuration.js";
3
- import type { RegionOverlap } from "./region.js";
4
- import { type ChangeId, type FactKind, type ContractId, type ContractState, type SnapshotId } from "../core/facts/types.js";
5
- export { AuthorityCorruptionError } from "../core/facts/errors.js";
6
- import { type PlacementStop, type VerificationStop, type DeliveryPreparationRefusal } from "../protocol/operations.js";
7
- import type { ContractBoard, ContractCatalogue, ContractDisposition, ContractGateCurrent, ContractGateReport, ContractObservation, ContractPhase, ContractRow, AfterEndpointObservation, ContractAfterEdge, ContractDependent, ContractWorkspaceObservation } from "../protocol/read/status.js";
8
- import type { AuditReport } from "../protocol/audit.js";
9
- import type { IntegrationConflictMaterialized, VerificationReuse } from "../protocol/deliver.js";
10
- import type { TaskId } from "../task/identity.js";
11
- import { type Repo } from "./repo.js";
12
- import { type ExecutionContext } from "../akuma/requests.js";
13
- import type { AuditInput } from "./audit.js";
14
- import { Delivery } from "./delivery.js";
15
- import { type ContinuationReport } from "./continuation.js";
16
- import type { MutationResult } from "./mutation.js";
17
- export { projectMutationFinality } from "./mutation.js";
18
- export type { MutationFinality, MutationFinalityInput, MutationFinalitySurface, MutationPendingSurface, } from "./mutation.js";
19
- import type { Keiyaku, createKeiyakuHandle } from "./contract-handle.js";
20
- import type { AbandonInput, AmendInput, AmendResult, ArcInput, BindInput, BindResult, ContractList, ContractListInput, ContractObservationInput, DeliverInput, ForkBindInput, KeiyakuSelectInput, LocalContractComposition, MarkdownBindInput, ReconcileReport, ReviewInput, ContractHistory, ContractHistoryEvent, Fact, Lag, TopologyEffect } from "./contract-types.js";
21
- import type { AttestationVerdict as OperationAttestationVerdict, Review as OperationReview } from "./contract-operations.js";
22
- import { KeiyakuRetry, type KeiyakuRefusal, type KeiyakuRetryReason } from "./refusal.js";
23
- export { KeiyakuRefused } from "./refusal.js";
24
- export { KeiyakuRetry, type KeiyakuRefusal, type KeiyakuRetryReason };
25
- export { gatesFrom, requireBranchesToBeUpToDateFrom, SettingsError } from "./configuration.js";
26
- export type { Gate, GatesFromInput, HookCommand, RequireBranchesToBeUpToDateFromInput, WorktreeHooks, } from "./configuration.js";
27
- export type { AbandonInput, AmendInput, AmendResult, ArcInput, AuditInput, AuditReport, ChangeId, ContinuationReport, ContractBoard, ContractCatalogue, ContractDisposition, ContractGateCurrent, ContractGateReport, ContractAfterEdge, ContractId, ContractHistory, ContractHistoryEvent, ContractDependent, ContractObservation, ContractPhase, ContractRow, ContractState, ContractWorkspaceObservation, BindInput, BindResult, ContractList, ContractListInput, ContractObservationInput, DeliverInput, ForkBindInput, KeiyakuSelectInput, MarkdownBindInput, ReconcileReport, ReviewInput, DeliveryPreparationRefusal, Fact, FactKind, IntegrationConflictMaterialized, Lag, LocalContractComposition, MutationResult, PlacementStop, RegionOverlap, SnapshotId, TaskId, TopologyEffect, VerificationReuse, VerificationStop, };
28
- export type { AfterEndpointObservation };
29
- export type ActorId = string;
30
- export type AttestationVerdict = OperationAttestationVerdict;
31
- export type Review = OperationReview;
32
- export { Delivery };
33
- export type { SettlementAction, SettlementLag, SettlementReport } from "../settlement/settle.js";
34
- export type LocalContractCompositionCapture = Readonly<{
35
- actor?: NonNullable<ReturnType<typeof actorOption>["actor"]>;
36
- hooks: ReturnType<typeof worktreeHooksOption>;
37
- requireBranchesToBeUpToDate: boolean;
38
- }>;
39
- type KeiyakuHandleFactory = typeof createKeiyakuHandle;
40
- export declare function captureLocalContractComposition(input?: LocalContractComposition): LocalContractCompositionCapture;
41
- export declare function selectKeiyaku(input: KeiyakuSelectInput, createHandle: KeiyakuHandleFactory, execution?: ExecutionContext, composition?: LocalContractCompositionCapture): Keiyaku;
42
- export declare function listCompleteContractBoard(repo: Repo): Promise<ContractBoard>;
43
- export declare function listKeiyaku(input: ContractListInput): Promise<ContractList>;
44
- export declare function observeKeiyaku(input: ContractObservationInput): Promise<ContractObservation>;
45
- export declare function bindKeiyaku(input: BindInput, createHandle: KeiyakuHandleFactory, execution?: ExecutionContext, composition?: LocalContractCompositionCapture): Promise<BindResult>;
46
- export { parseMarkdownBindDocument } from "./contract-bind.js";
@@ -1,73 +0,0 @@
1
- // Contract composition depends only on construction and observation.
2
- import { actorOption, optionalBoolean, requireInput } from "./input.js";
3
- import { worktreeHooksOption } from "./configuration.js";
4
- import { contractId, } from "../core/facts/types.js";
5
- export { AuthorityCorruptionError } from "../core/facts/errors.js";
6
- import { contractCatalogueOperation, contractObservationOperation, contractsOperation, } from "../protocol/operations.js";
7
- import { withGitDecodeChannel } from "../git/read-observation.js";
8
- import { scopeForRepo } from "./repo.js";
9
- import { localExecutionContext } from "../akuma/requests.js";
10
- import { Delivery } from "./delivery.js";
11
- export { projectMutationFinality } from "./mutation.js";
12
- import { bindKeiyaku as bindKeiyakuImplementation } from "./contract-bind.js";
13
- import { KeiyakuRetry } from "./refusal.js";
14
- export { KeiyakuRefused } from "./refusal.js";
15
- export { KeiyakuRetry };
16
- export { gatesFrom, requireBranchesToBeUpToDateFrom, SettingsError } from "./configuration.js";
17
- export { Delivery };
18
- export function captureLocalContractComposition(input) {
19
- const values = requireInput(input ?? {}, "Keiyaku.with input", ["actor", "hooks", "requireBranchesToBeUpToDate"]);
20
- const actor = actorOption(values.actor).actor;
21
- return Object.freeze({
22
- ...(actor === undefined ? {} : { actor }),
23
- hooks: worktreeHooksOption(values.hooks),
24
- requireBranchesToBeUpToDate: optionalBoolean(values.requireBranchesToBeUpToDate, "Keiyaku.with requireBranchesToBeUpToDate") ?? false,
25
- });
26
- }
27
- export function selectKeiyaku(input, createHandle, execution = localExecutionContext(), composition = captureLocalContractComposition()) {
28
- const values = requireInput(input, "Keiyaku.with().select input");
29
- const scope = scopeForRepo(values.repo);
30
- if (typeof values.id !== "string")
31
- throw new TypeError("contract ID must be a string");
32
- return createHandle(contractId(values.id), scope, execution, composition);
33
- }
34
- export async function listCompleteContractBoard(repo) {
35
- const scope = scopeForRepo(repo);
36
- return withGitDecodeChannel(scope, (channel) => contractsOperation({ scope, channel }));
37
- }
38
- export async function listKeiyaku(input) {
39
- const values = requireInput(input, "Keiyaku.with().list input");
40
- for (const key of Object.keys(values)) {
41
- if (key !== "repo" && key !== "limit")
42
- throw new TypeError(`Keiyaku.with().list input has unknown field: ${key}`);
43
- }
44
- const scope = scopeForRepo(values.repo);
45
- if (values.limit === undefined) {
46
- const board = await withGitDecodeChannel(scope, (channel) => contractsOperation({ scope, channel }));
47
- return { ...board, hasMore: false };
48
- }
49
- if (typeof values.limit !== "number")
50
- throw new TypeError("Contract list limit must be a number");
51
- return withGitDecodeChannel(scope, (channel) => contractCatalogueOperation({ scope, channel, limit: values.limit }));
52
- }
53
- export async function observeKeiyaku(input) {
54
- const values = requireInput(input, "Keiyaku.observe input");
55
- for (const key of Object.keys(values))
56
- if (key !== "repo" && key !== "id")
57
- throw new TypeError(`Keiyaku.observe input has unknown field: ${key}`);
58
- const scope = scopeForRepo(values.repo);
59
- if (typeof values.id !== "string")
60
- throw new TypeError("contract ID must be a string");
61
- let id;
62
- try {
63
- id = contractId(values.id);
64
- }
65
- catch (error) {
66
- throw new TypeError(error instanceof Error ? error.message : "contract ID is invalid");
67
- }
68
- return withGitDecodeChannel(scope, (channel) => contractObservationOperation({ scope, channel, contractId: id }));
69
- }
70
- export async function bindKeiyaku(input, createHandle, execution = localExecutionContext(), composition = captureLocalContractComposition()) {
71
- return bindKeiyakuImplementation(input, (id, scope) => createHandle(id, scope, execution, composition));
72
- }
73
- export { parseMarkdownBindDocument } from "./contract-bind.js";