@astrosheep/keiyaku 4.6.7 → 4.6.9

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 (336) hide show
  1. package/README.md +46 -16
  2. package/build/plugins/claude/.claude-plugin/plugin.json +1 -1
  3. package/build/plugins/claude/skills/keiyaku/SKILL.md +5 -6
  4. package/build/plugins/claude/skills/keiyaku-akuma/SKILL.md +1 -1
  5. package/build/plugins/claude/skills/keiyaku-akuma/references/automation.md +8 -8
  6. package/build/plugins/claude/skills/keiyaku-babysit/SKILL.md +1 -1
  7. package/build/plugins/claude/skills/keiyaku-bind/SKILL.md +9 -9
  8. package/build/plugins/claude/skills/keiyaku-debt/SKILL.md +91 -0
  9. package/build/plugins/claude/skills/keiyaku-workflow/SKILL.md +2 -2
  10. package/build/plugins/codex/.codex-plugin/plugin.json +1 -1
  11. package/build/plugins/codex/skills/keiyaku/SKILL.md +5 -6
  12. package/build/plugins/codex/skills/keiyaku-akuma/SKILL.md +1 -1
  13. package/build/plugins/codex/skills/keiyaku-akuma/references/automation.md +8 -8
  14. package/build/plugins/codex/skills/keiyaku-babysit/SKILL.md +1 -1
  15. package/build/plugins/codex/skills/keiyaku-bind/SKILL.md +9 -9
  16. package/build/plugins/codex/skills/keiyaku-debt/SKILL.md +91 -0
  17. package/build/plugins/codex/skills/keiyaku-workflow/SKILL.md +2 -2
  18. package/build/plugins/opencode/index.js +1 -1
  19. package/build/plugins/opencode/skills/keiyaku/SKILL.md +5 -6
  20. package/build/plugins/opencode/skills/keiyaku-akuma/SKILL.md +1 -1
  21. package/build/plugins/opencode/skills/keiyaku-akuma/references/automation.md +8 -8
  22. package/build/plugins/opencode/skills/keiyaku-babysit/SKILL.md +1 -1
  23. package/build/plugins/opencode/skills/keiyaku-bind/SKILL.md +9 -9
  24. package/build/plugins/opencode/skills/keiyaku-debt/SKILL.md +91 -0
  25. package/build/plugins/opencode/skills/keiyaku-workflow/SKILL.md +2 -2
  26. package/build/plugins/pi/keiyaku.ts +0 -5
  27. package/build/skills/keiyaku/SKILL.md +5 -6
  28. package/build/skills/keiyaku-akuma/SKILL.md +1 -1
  29. package/build/skills/keiyaku-akuma/references/automation.md +8 -8
  30. package/build/skills/keiyaku-babysit/SKILL.md +1 -1
  31. package/build/skills/keiyaku-bind/SKILL.md +9 -9
  32. package/build/skills/keiyaku-debt/SKILL.md +91 -0
  33. package/build/skills/keiyaku-workflow/SKILL.md +2 -2
  34. package/build/src/akuma/akuma-call.d.ts +2 -0
  35. package/build/src/akuma/akuma-call.js +8 -2
  36. package/build/src/akuma/akuma-instance.d.ts +14 -1
  37. package/build/src/akuma/akuma-instance.js +37 -7
  38. package/build/src/akuma/akuma-observe.d.ts +33 -8
  39. package/build/src/akuma/akuma-observe.js +89 -63
  40. package/build/src/akuma/akuma-owner.d.ts +14 -2
  41. package/build/src/akuma/akuma-owner.js +49 -35
  42. package/build/src/akuma/akuma-selection-execution.js +9 -1
  43. package/build/src/akuma/akuma-stream.d.ts +22 -0
  44. package/build/src/akuma/akuma-stream.js +116 -0
  45. package/build/src/akuma/akuma-wait.d.ts +1 -40
  46. package/build/src/akuma/akuma-wait.js +23 -84
  47. package/build/src/akuma/akuma.d.ts +52 -16
  48. package/build/src/akuma/akuma.js +10 -10
  49. package/build/src/akuma/allowed.d.ts +7 -12
  50. package/build/src/akuma/allowed.js +13 -4
  51. package/build/src/akuma/archetype.d.ts +7 -15
  52. package/build/src/akuma/archetype.js +36 -35
  53. package/build/src/akuma/body-supervisor.d.ts +5 -5
  54. package/build/src/akuma/body-supervisor.js +22 -20
  55. package/build/src/akuma/body.d.ts +5 -3
  56. package/build/src/akuma/body.js +57 -8
  57. package/build/src/akuma/call-request.d.ts +30 -32
  58. package/build/src/akuma/call-request.js +10 -3
  59. package/build/src/akuma/caller.d.ts +39 -0
  60. package/build/src/akuma/caller.js +36 -0
  61. package/build/src/akuma/dispatch-association.d.ts +0 -1
  62. package/build/src/akuma/dispatch-association.js +0 -3
  63. package/build/src/akuma/heart/activity-schema.d.ts +12 -0
  64. package/build/src/akuma/heart/activity-schema.js +6 -0
  65. package/build/src/akuma/heart/facts.d.ts +16 -12
  66. package/build/src/akuma/heart/facts.js +8 -0
  67. package/build/src/akuma/heart/index.d.ts +61 -9
  68. package/build/src/akuma/heart/index.js +89 -24
  69. package/build/src/akuma/heart/rows.d.ts +3 -3
  70. package/build/src/akuma/heart/rows.js +5 -3
  71. package/build/src/akuma/heart/soul.d.ts +10 -1
  72. package/build/src/akuma/heart/soul.js +34 -24
  73. package/build/src/akuma/heart/storage.d.ts +20 -0
  74. package/build/src/akuma/heart/storage.js +62 -3
  75. package/build/src/akuma/heart/timeline.d.ts +7 -0
  76. package/build/src/akuma/heart/timeline.js +10 -0
  77. package/build/src/akuma/identity.d.ts +0 -1
  78. package/build/src/akuma/identity.js +2 -5
  79. package/build/src/akuma/index.d.ts +6 -2
  80. package/build/src/akuma/index.js +1 -0
  81. package/build/src/akuma/nuke.js +6 -28
  82. package/build/src/akuma/projection.d.ts +25 -11
  83. package/build/src/akuma/projection.js +24 -7
  84. package/build/src/akuma/provider-recipe.d.ts +18 -6
  85. package/build/src/akuma/provider-recipe.js +24 -1
  86. package/build/src/akuma/provider.d.ts +31 -10
  87. package/build/src/akuma/provider.js +105 -14
  88. package/build/src/akuma/providers/acp/events.js +29 -19
  89. package/build/src/akuma/providers/acp/index.js +2 -3
  90. package/build/src/akuma/providers/claude/events.js +110 -69
  91. package/build/src/akuma/providers/claude/index.d.ts +2 -2
  92. package/build/src/akuma/providers/claude/index.js +4 -8
  93. package/build/src/akuma/providers/codex-app-server/events.js +17 -2
  94. package/build/src/akuma/providers/codex-app-server/index.js +17 -11
  95. package/build/src/akuma/providers/decode.d.ts +33 -0
  96. package/build/src/akuma/providers/decode.js +65 -0
  97. package/build/src/akuma/providers/execution-environment.d.ts +2 -1
  98. package/build/src/akuma/providers/execution-environment.js +3 -0
  99. package/build/src/akuma/providers/grok-build/index.js +16 -48
  100. package/build/src/akuma/providers/index.js +2 -0
  101. package/build/src/akuma/providers/lifecycle.d.ts +9 -0
  102. package/build/src/akuma/providers/lifecycle.js +10 -0
  103. package/build/src/akuma/providers/opencode-sdk/event-stream.d.ts +3 -3
  104. package/build/src/akuma/providers/opencode-sdk/event-stream.js +2 -25
  105. package/build/src/akuma/providers/opencode-sdk/events.d.ts +7 -43
  106. package/build/src/akuma/providers/opencode-sdk/events.js +146 -296
  107. package/build/src/akuma/providers/opencode-sdk/index.js +270 -431
  108. package/build/src/akuma/providers/opencode-sdk/native-http.d.ts +9 -0
  109. package/build/src/akuma/providers/opencode-sdk/native-http.js +69 -0
  110. package/build/src/akuma/providers/opencode-sdk/session.d.ts +42 -36
  111. package/build/src/akuma/providers/opencode-sdk/session.js +75 -84
  112. package/build/src/akuma/providers/paseo/events.d.ts +33 -0
  113. package/build/src/akuma/providers/paseo/events.js +204 -0
  114. package/build/src/akuma/providers/paseo/index.d.ts +9 -0
  115. package/build/src/akuma/providers/paseo/index.js +357 -0
  116. package/build/src/akuma/providers/pi/events.d.ts +2 -0
  117. package/build/src/akuma/providers/pi/events.js +36 -38
  118. package/build/src/akuma/providers/pi/index.js +21 -35
  119. package/build/src/akuma/publication.d.ts +2 -0
  120. package/build/src/akuma/publication.js +5 -0
  121. package/build/src/akuma/request-lifecycle.d.ts +4 -2
  122. package/build/src/akuma/request-lifecycle.js +27 -12
  123. package/build/src/akuma/request-rendezvous.js +38 -55
  124. package/build/src/akuma/request-serve.d.ts +1 -1
  125. package/build/src/akuma/request-serve.js +77 -113
  126. package/build/src/akuma/requests.d.ts +3 -1
  127. package/build/src/akuma/requests.js +32 -0
  128. package/build/src/akuma/selection-observation.d.ts +129 -53
  129. package/build/src/akuma/selection-observation.js +3 -9
  130. package/build/src/akuma/turn-drive.d.ts +3 -0
  131. package/build/src/akuma/turn-drive.js +28 -10
  132. package/build/src/akuma-body.js +12 -22
  133. package/build/src/cli/akuma-caller.d.ts +3 -0
  134. package/build/src/cli/akuma-caller.js +31 -0
  135. package/build/src/cli/commands/akuma-grammar.js +10 -16
  136. package/build/src/cli/commands/akuma.js +25 -55
  137. package/build/src/cli/commands/contract-grammar.d.ts +9 -7
  138. package/build/src/cli/commands/contract-grammar.js +40 -47
  139. package/build/src/cli/commands/contract-help.d.ts +17 -7
  140. package/build/src/cli/commands/contract-help.js +50 -11
  141. package/build/src/cli/commands/contract.js +34 -63
  142. package/build/src/cli/commands/debt-grammar.d.ts +19 -0
  143. package/build/src/cli/commands/debt-grammar.js +323 -0
  144. package/build/src/cli/commands/debt-query.d.ts +5 -0
  145. package/build/src/cli/commands/{task-query.js → debt-query.js} +9 -9
  146. package/build/src/cli/commands/{task.d.ts → debt.d.ts} +2 -2
  147. package/build/src/cli/commands/{task.js → debt.js} +87 -164
  148. package/build/src/cli/coordinates.d.ts +1 -1
  149. package/build/src/cli/coordinates.js +1 -1
  150. package/build/src/cli/parse.d.ts +5 -5
  151. package/build/src/cli/parse.js +17 -16
  152. package/build/src/cli/render/akuma-activity.d.ts +11 -83
  153. package/build/src/cli/render/akuma-activity.js +20 -382
  154. package/build/src/cli/render/catalog.d.ts +4 -7
  155. package/build/src/cli/render/catalog.js +5 -5
  156. package/build/src/cli/render/contract-history.js +3 -6
  157. package/build/src/cli/render/contract.js +17 -52
  158. package/build/src/cli/render/debt.d.ts +28 -0
  159. package/build/src/cli/render/{task.js → debt.js} +55 -133
  160. package/build/src/cli/render/kanshi.js +28 -28
  161. package/build/src/cli/render/marks.d.ts +5 -5
  162. package/build/src/cli/render/marks.js +4 -10
  163. package/build/src/cli/render/nuke.js +1 -1
  164. package/build/src/cli/render/receipt.js +3 -10
  165. package/build/src/cli/runtime.d.ts +1 -1
  166. package/build/src/cli/runtime.js +14 -20
  167. package/build/src/cli/scan.d.ts +1 -1
  168. package/build/src/cli/selectors.d.ts +3 -6
  169. package/build/src/cli/selectors.js +22 -53
  170. package/build/src/cli/usage.d.ts +1 -1
  171. package/build/src/cli/usage.js +4 -4
  172. package/build/src/contract-worktree.js +3 -3
  173. package/build/src/debt/board.d.ts +160 -0
  174. package/build/src/{task → debt}/board.js +89 -89
  175. package/build/src/debt/catalog.d.ts +11 -0
  176. package/build/src/debt/catalog.js +59 -0
  177. package/build/src/{task → debt}/context.d.ts +1 -1
  178. package/build/src/{task → debt}/context.js +1 -1
  179. package/build/src/{task → debt}/created-observation.d.ts +6 -10
  180. package/build/src/{task → debt}/created-observation.js +7 -7
  181. package/build/src/debt/document.d.ts +37 -0
  182. package/build/src/{task → debt}/document.js +37 -37
  183. package/build/src/debt/identity.d.ts +21 -0
  184. package/build/src/{task → debt}/identity.js +35 -35
  185. package/build/src/debt/index.d.ts +111 -0
  186. package/build/src/debt/index.js +203 -0
  187. package/build/src/{task → debt}/input.d.ts +8 -8
  188. package/build/src/{task → debt}/input.js +21 -21
  189. package/build/src/debt/lifecycle-operations.d.ts +6 -0
  190. package/build/src/{task → debt}/lifecycle-operations.js +27 -31
  191. package/build/src/debt/mutation-result.d.ts +981 -0
  192. package/build/src/debt/mutation-result.js +109 -0
  193. package/build/src/debt/mutation.d.ts +424 -0
  194. package/build/src/debt/mutation.js +223 -0
  195. package/build/src/debt/operation-types.d.ts +71 -0
  196. package/build/src/debt/operations.d.ts +28 -0
  197. package/build/src/{task → debt}/operations.js +59 -60
  198. package/build/src/debt/query.d.ts +76 -0
  199. package/build/src/{task → debt}/query.js +55 -55
  200. package/build/src/{task → debt}/store.d.ts +13 -13
  201. package/build/src/{task → debt}/store.js +58 -49
  202. package/build/src/debt/view.d.ts +4 -0
  203. package/build/src/debt/view.js +7 -0
  204. package/build/src/dispatch/index.d.ts +3 -3
  205. package/build/src/dispatch/index.js +1 -2
  206. package/build/src/git/observe.d.ts +6 -2
  207. package/build/src/git/observe.js +6 -2
  208. package/build/src/identity/coordinates.d.ts +1 -1
  209. package/build/src/index.d.ts +17 -17
  210. package/build/src/index.js +11 -11
  211. package/build/src/kanshi/index.d.ts +2 -2
  212. package/build/src/kanshi/read.js +54 -39
  213. package/build/src/kanshi/report.d.ts +7 -7
  214. package/build/src/kanshi/select.js +4 -4
  215. package/build/src/library/address.js +2 -4
  216. package/build/src/library/akuma-creation.d.ts +5 -1
  217. package/build/src/library/akuma-creation.js +27 -47
  218. package/build/src/library/akumas.d.ts +7 -7
  219. package/build/src/library/akumas.js +13 -9
  220. package/build/src/library/bind.d.ts +17 -17
  221. package/build/src/library/bind.js +16 -12
  222. package/build/src/library/contract-address.d.ts +9 -0
  223. package/build/src/library/contract-address.js +71 -0
  224. package/build/src/library/contract-composition.d.ts +4 -7
  225. package/build/src/library/contract-composition.js +6 -18
  226. package/build/src/library/contract-creation.d.ts +3 -5
  227. package/build/src/library/contract-creation.js +24 -22
  228. package/build/src/library/contract-execution.js +21 -26
  229. package/build/src/library/contract-outcomes.d.ts +2 -14
  230. package/build/src/library/contract-outcomes.js +2 -13
  231. package/build/src/library/contract-types.d.ts +38 -4
  232. package/build/src/library/delivery.d.ts +0 -2
  233. package/build/src/library/delivery.js +2 -5
  234. package/build/src/library/input.d.ts +2 -2
  235. package/build/src/library/input.js +5 -5
  236. package/build/src/library/invocation.js +2 -2
  237. package/build/src/library/keiyaku.d.ts +0 -5
  238. package/build/src/library/keiyaku.js +6 -12
  239. package/build/src/library/nuke.js +3 -3
  240. package/build/src/library/outcome.d.ts +626 -625
  241. package/build/src/library/outcome.js +13 -3
  242. package/build/src/library/reconcile.js +8 -16
  243. package/build/src/library/refusal.d.ts +2 -2
  244. package/build/src/library/repo.d.ts +3 -2
  245. package/build/src/library/repo.js +10 -5
  246. package/build/src/library/selection.d.ts +5 -8
  247. package/build/src/library/selection.js +22 -73
  248. package/build/src/plugin/akuma-signals.d.ts +2 -0
  249. package/build/src/plugin/akuma-signals.js +4 -0
  250. package/build/src/plugin/public.d.ts +32 -2
  251. package/build/src/plugin/runtime.js +5 -3
  252. package/build/src/protocol/amend.js +3 -2
  253. package/build/src/protocol/attempt.js +3 -8
  254. package/build/src/protocol/bind.d.ts +2 -2
  255. package/build/src/protocol/bind.js +1 -1
  256. package/build/src/protocol/deliver.js +3 -3
  257. package/build/src/protocol/operations.d.ts +1 -3
  258. package/build/src/protocol/operations.js +0 -8
  259. package/build/src/protocol/outcome.d.ts +1 -2
  260. package/build/src/protocol/outcome.js +1 -13
  261. package/build/src/protocol/placement.js +3 -10
  262. package/build/src/protocol/read/status.js +31 -70
  263. package/build/src/protocol/reintegrate.js +3 -10
  264. package/build/src/protocol/review.js +3 -3
  265. package/build/src/protocol/run.d.ts +5 -1
  266. package/build/src/protocol/run.js +3 -3
  267. package/build/src/runtime/proc/windows-launch.exe +0 -0
  268. package/build/src/settlement/fence.d.ts +3 -3
  269. package/build/src/settlement/fence.js +4 -4
  270. package/build/src/settlement/holder.d.ts +16 -16
  271. package/build/src/settlement/holder.js +69 -63
  272. package/build/src/settlement/settle.d.ts +5 -5
  273. package/build/src/settlement/settle.js +53 -53
  274. package/package.json +19 -9
  275. package/plugins/paseo/plugin/index.server.ts +17 -0
  276. package/plugins/paseo/plugin/paseo-plugin.json +4 -0
  277. package/plugins/paseo/plugin/server/attach.ts +52 -0
  278. package/plugins/paseo/plugin/server/keiyaku.ts +44 -0
  279. package/plugins/paseo/plugin/server/message.ts +60 -0
  280. package/plugins/paseo/plugin/server/mirror.ts +193 -0
  281. package/plugins/paseo/plugin/server/model.ts +14 -0
  282. package/plugins/paseo/plugin/server/provider.ts +276 -0
  283. package/plugins/paseo/plugin/server/sdk-worker.ts +237 -0
  284. package/plugins/paseo/plugin/server/sdk.ts +289 -0
  285. package/plugins/paseo/plugin/server/stop.ts +26 -0
  286. package/plugins/paseo/plugin/server/transport.ts +35 -0
  287. package/plugins/paseo/plugin/shared/attach-rpc.ts +10 -0
  288. package/plugins/paseo/plugin/shared/refresh-rpc.ts +6 -0
  289. package/plugins/paseo/plugin/tsconfig.json +6 -0
  290. package/plugins/pi/keiyaku.ts +57 -0
  291. package/skills/keiyaku/SKILL.md +43 -0
  292. package/skills/keiyaku-akuma/SKILL.md +130 -0
  293. package/skills/keiyaku-akuma/references/automation.md +269 -0
  294. package/skills/keiyaku-babysit/SKILL.md +65 -0
  295. package/skills/keiyaku-bind/SKILL.md +216 -0
  296. package/skills/keiyaku-bind/agents/openai.yaml +4 -0
  297. package/skills/keiyaku-debt/SKILL.md +91 -0
  298. package/skills/keiyaku-workflow/SKILL.md +129 -0
  299. package/build/plugins/claude/skills/keiyaku-task/SKILL.md +0 -104
  300. package/build/plugins/codex/skills/keiyaku-task/SKILL.md +0 -104
  301. package/build/plugins/opencode/skills/keiyaku-task/SKILL.md +0 -104
  302. package/build/skills/keiyaku-task/SKILL.md +0 -104
  303. package/build/src/cli/commands/amend.d.ts +0 -12
  304. package/build/src/cli/commands/amend.js +0 -10
  305. package/build/src/cli/commands/bind.d.ts +0 -11
  306. package/build/src/cli/commands/bind.js +0 -23
  307. package/build/src/cli/commands/task-grammar.d.ts +0 -19
  308. package/build/src/cli/commands/task-grammar.js +0 -384
  309. package/build/src/cli/commands/task-query.d.ts +0 -5
  310. package/build/src/cli/render/task.d.ts +0 -41
  311. package/build/src/dispatch/association.d.ts +0 -1
  312. package/build/src/dispatch/association.js +0 -1
  313. package/build/src/task/board.d.ts +0 -168
  314. package/build/src/task/catalog.d.ts +0 -11
  315. package/build/src/task/catalog.js +0 -59
  316. package/build/src/task/compose-language.d.ts +0 -57
  317. package/build/src/task/compose-language.js +0 -364
  318. package/build/src/task/compose-parser.d.ts +0 -32
  319. package/build/src/task/compose-parser.js +0 -180
  320. package/build/src/task/compose.d.ts +0 -16
  321. package/build/src/task/compose.js +0 -189
  322. package/build/src/task/document.d.ts +0 -39
  323. package/build/src/task/identity.d.ts +0 -21
  324. package/build/src/task/index.d.ts +0 -138
  325. package/build/src/task/index.js +0 -269
  326. package/build/src/task/lifecycle-operations.d.ts +0 -6
  327. package/build/src/task/mutation-result.d.ts +0 -1726
  328. package/build/src/task/mutation-result.js +0 -198
  329. package/build/src/task/mutation.d.ts +0 -590
  330. package/build/src/task/mutation.js +0 -262
  331. package/build/src/task/operation-types.d.ts +0 -71
  332. package/build/src/task/operations.d.ts +0 -28
  333. package/build/src/task/query.d.ts +0 -76
  334. package/build/src/task/view.d.ts +0 -4
  335. package/build/src/task/view.js +0 -7
  336. /package/build/src/{task → debt}/operation-types.js +0 -0
@@ -0,0 +1,109 @@
1
+ import { debtIdSchema as debtMutationIdSchema, debtIdsSchema, debtNamespaceSchema, parseDebtId } from "./identity.js";
2
+ import { debtNonblankTextSchema, debtStateSchema, debtPrioritySchema } from "./document.js";
3
+ import { z } from "zod";
4
+ export { debtIdSchema as debtMutationIdSchema } from "./identity.js";
5
+ function withoutUndefined(value, keys) {
6
+ const result = { ...value };
7
+ for (const key of keys) {
8
+ const field = result[key];
9
+ delete result[key];
10
+ if (field !== undefined)
11
+ result[key] = field;
12
+ }
13
+ return result;
14
+ }
15
+ const timestampSchema = z.string().refine((value) => {
16
+ const parsed = Date.parse(value);
17
+ return Number.isFinite(parsed) && new Date(parsed).toISOString() === value;
18
+ }, "expected canonical UTC timestamp");
19
+ const debtRetrySchema = z
20
+ .object({ kind: z.literal("retry"), reason: z.enum(["busy", "concurrent-modification"]) })
21
+ .strict();
22
+ const debtCleanupFailureSchema = z
23
+ .object({ kind: z.literal("lock-release-failed"), diagnostics: z.array(z.string()).readonly() })
24
+ .strict();
25
+ const debtViewSchema = z
26
+ .object({
27
+ id: debtMutationIdSchema,
28
+ namespace: debtNamespaceSchema,
29
+ title: debtNonblankTextSchema,
30
+ state: debtStateSchema,
31
+ priority: debtPrioritySchema,
32
+ needs: debtIdsSchema,
33
+ parent: debtMutationIdSchema.nullable(),
34
+ supersedes: debtIdsSchema,
35
+ relates: debtIdsSchema,
36
+ note: z.string(),
37
+ createdBy: debtNonblankTextSchema.optional(),
38
+ createdAt: timestampSchema,
39
+ updatedAt: timestampSchema,
40
+ body: z.string(),
41
+ })
42
+ .strict()
43
+ .superRefine((debt, context) => {
44
+ if (debt.namespace.join("/") !== parseDebtId(debt.id).namespace.join("/"))
45
+ context.addIssue({ code: "custom", path: ["namespace"], message: "namespace must agree with debt ID" });
46
+ })
47
+ .transform(({ createdBy, ...debt }) => withoutUndefined({ ...debt, createdBy }, ["createdBy"]));
48
+ export const debtRefusalSchema = z.union([
49
+ z.object({ kind: z.literal("debt-missing"), debtId: debtMutationIdSchema }).strict(),
50
+ z
51
+ .object({
52
+ kind: z.literal("invalid-lifecycle-transition"),
53
+ debtId: debtMutationIdSchema,
54
+ state: debtStateSchema,
55
+ verb: z.enum(["done", "drop"]),
56
+ })
57
+ .strict(),
58
+ z.object({ kind: z.literal("invalid-graph"), diagnostic: z.string() }).strict(),
59
+ z.object({ kind: z.literal("invalid-namespace-context"), path: z.string() }).strict(),
60
+ z
61
+ .object({
62
+ kind: z.literal("relation-owned-by-other"),
63
+ debtId: debtMutationIdSchema,
64
+ related: debtMutationIdSchema,
65
+ declaringDebt: debtMutationIdSchema,
66
+ })
67
+ .strict(),
68
+ ]);
69
+ const debtRefusedResultSchema = z.object({ kind: z.literal("refused"), refusal: debtRefusalSchema }).strict();
70
+ export const debtMutationResultSchema = z.union([
71
+ z
72
+ .object({ kind: z.literal("accepted"), value: debtViewSchema, cleanup: debtCleanupFailureSchema.optional() })
73
+ .strict()
74
+ .transform((value) => withoutUndefined(value, ["cleanup"])),
75
+ debtRefusedResultSchema,
76
+ debtRetrySchema,
77
+ ]);
78
+ export const debtUpdateResultSchema = z.union([
79
+ z
80
+ .object({
81
+ kind: z.literal("accepted"),
82
+ value: z
83
+ .object({
84
+ debt: debtViewSchema,
85
+ documentDiff: z.string(),
86
+ changedFields: z
87
+ .array(z
88
+ .object({ field: z.string(), action: z.enum(["added", "replaced", "cleared", "changed", "appended"]) })
89
+ .strict())
90
+ .readonly(),
91
+ })
92
+ .strict(),
93
+ cleanup: debtCleanupFailureSchema.optional(),
94
+ })
95
+ .strict()
96
+ .transform((value) => withoutUndefined(value, ["cleanup"])),
97
+ debtRefusedResultSchema,
98
+ debtRetrySchema,
99
+ ]);
100
+ export const debtBatchResultSchema = z
101
+ .object({
102
+ items: z.array(z.object({ id: debtMutationIdSchema, outcome: debtMutationResultSchema }).strict()).readonly(),
103
+ })
104
+ .strict();
105
+ export const debtMutationExecutionResultSchema = z.union([
106
+ debtBatchResultSchema,
107
+ debtMutationResultSchema,
108
+ debtUpdateResultSchema,
109
+ ]);
@@ -0,0 +1,424 @@
1
+ import { type WorldRoot } from "../world.js";
2
+ import { type ErasedRequestCommand, type RequestProtocol, type ServiceRequestCommand } from "../akuma/request-wire.js";
3
+ import type { AddDebtDocumentInput, AddDebtInput, DebtBatchResult, DebtMutationResult, DebtUpdateResult, UpdateDebtInput } from "./operations.js";
4
+ import { type DebtMutationExecutionResult } from "./mutation-result.js";
5
+ import { z } from "zod";
6
+ export declare const DEBT_MUTATION_ACTIONS: readonly ["debt.add", "debt.addDocument", "debt.done", "debt.drop", "debt.update"];
7
+ declare const debtMutationActionSchema: z.ZodEnum<{
8
+ "debt.add": "debt.add";
9
+ "debt.addDocument": "debt.addDocument";
10
+ "debt.done": "debt.done";
11
+ "debt.drop": "debt.drop";
12
+ "debt.update": "debt.update";
13
+ }>;
14
+ export type DebtMutationAction = z.infer<typeof debtMutationActionSchema>;
15
+ declare const debtRequestSchemas: {
16
+ readonly "debt.add": z.ZodPipe<z.ZodObject<{
17
+ input: z.ZodObject<{
18
+ title: z.ZodString;
19
+ namespace: z.ZodReadonly<z.ZodArray<z.ZodString>>;
20
+ body: z.ZodOptional<z.ZodString>;
21
+ note: z.ZodOptional<z.ZodString>;
22
+ state: z.ZodOptional<z.ZodEnum<{
23
+ open: "open";
24
+ done: "done";
25
+ drop: "drop";
26
+ }>>;
27
+ priority: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
28
+ needs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
29
+ parent: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>;
30
+ supersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
31
+ relates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
32
+ }, z.core.$strict>;
33
+ }, z.core.$strict>, z.ZodTransform<{
34
+ action: "debt.add";
35
+ input: {
36
+ title: string;
37
+ namespace: readonly string[];
38
+ body?: string | undefined;
39
+ note?: string | undefined;
40
+ state?: "open" | "done" | "drop" | undefined;
41
+ priority?: 0 | 1 | 2 | 3 | undefined;
42
+ needs?: readonly `debt/${string}`[] | undefined;
43
+ parent?: `debt/${string}` | null | undefined;
44
+ supersedes?: readonly `debt/${string}`[] | undefined;
45
+ relates?: readonly `debt/${string}`[] | undefined;
46
+ };
47
+ }, {
48
+ input: {
49
+ title: string;
50
+ namespace: readonly string[];
51
+ body?: string | undefined;
52
+ note?: string | undefined;
53
+ state?: "open" | "done" | "drop" | undefined;
54
+ priority?: 0 | 1 | 2 | 3 | undefined;
55
+ needs?: readonly `debt/${string}`[] | undefined;
56
+ parent?: `debt/${string}` | null | undefined;
57
+ supersedes?: readonly `debt/${string}`[] | undefined;
58
+ relates?: readonly `debt/${string}`[] | undefined;
59
+ };
60
+ }>>;
61
+ readonly "debt.addDocument": z.ZodPipe<z.ZodObject<{
62
+ input: z.ZodObject<{
63
+ markdown: z.ZodString;
64
+ namespace: z.ZodReadonly<z.ZodArray<z.ZodString>>;
65
+ }, z.core.$strict>;
66
+ }, z.core.$strict>, z.ZodTransform<{
67
+ action: "debt.addDocument";
68
+ input: {
69
+ markdown: string;
70
+ namespace: readonly string[];
71
+ };
72
+ }, {
73
+ input: {
74
+ markdown: string;
75
+ namespace: readonly string[];
76
+ };
77
+ }>>;
78
+ readonly "debt.done": z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
79
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>;
80
+ note: z.ZodOptional<z.ZodString>;
81
+ }, z.core.$strict>, z.ZodTransform<{
82
+ note?: string;
83
+ action: "debt.done";
84
+ id: `debt/${string}`;
85
+ }, {
86
+ id: `debt/${string}`;
87
+ note?: string | undefined;
88
+ }>>, z.ZodPipe<z.ZodObject<{
89
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>;
90
+ note: z.ZodOptional<z.ZodString>;
91
+ }, z.core.$strict>, z.ZodTransform<{
92
+ note?: string;
93
+ action: "debt.done";
94
+ ids: readonly `debt/${string}`[];
95
+ }, {
96
+ ids: readonly `debt/${string}`[];
97
+ note?: string | undefined;
98
+ }>>]>;
99
+ readonly "debt.drop": z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
100
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>;
101
+ note: z.ZodOptional<z.ZodString>;
102
+ }, z.core.$strict>, z.ZodTransform<{
103
+ note?: string;
104
+ action: "debt.drop";
105
+ id: `debt/${string}`;
106
+ }, {
107
+ id: `debt/${string}`;
108
+ note?: string | undefined;
109
+ }>>, z.ZodPipe<z.ZodObject<{
110
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>;
111
+ note: z.ZodOptional<z.ZodString>;
112
+ }, z.core.$strict>, z.ZodTransform<{
113
+ note?: string;
114
+ action: "debt.drop";
115
+ ids: readonly `debt/${string}`[];
116
+ }, {
117
+ ids: readonly `debt/${string}`[];
118
+ note?: string | undefined;
119
+ }>>]>;
120
+ readonly "debt.update": z.ZodPipe<z.ZodObject<{
121
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>;
122
+ input: z.ZodObject<{
123
+ title: z.ZodOptional<z.ZodString>;
124
+ body: z.ZodOptional<z.ZodString>;
125
+ appendBody: z.ZodOptional<z.ZodString>;
126
+ note: z.ZodOptional<z.ZodString>;
127
+ priority: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
128
+ needs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
129
+ addNeeds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
130
+ dropNeeds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
131
+ parent: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>;
132
+ supersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
133
+ addSupersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
134
+ dropSupersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
135
+ relates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
136
+ addRelates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
137
+ dropRelates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
138
+ }, z.core.$strict>;
139
+ }, z.core.$strict>, z.ZodTransform<{
140
+ id: `debt/${string}`;
141
+ input: {
142
+ title?: string | undefined;
143
+ body?: string | undefined;
144
+ appendBody?: string | undefined;
145
+ note?: string | undefined;
146
+ priority?: 0 | 1 | 2 | 3 | undefined;
147
+ needs?: readonly `debt/${string}`[] | undefined;
148
+ addNeeds?: readonly `debt/${string}`[] | undefined;
149
+ dropNeeds?: readonly `debt/${string}`[] | undefined;
150
+ parent?: `debt/${string}` | null | undefined;
151
+ supersedes?: readonly `debt/${string}`[] | undefined;
152
+ addSupersedes?: readonly `debt/${string}`[] | undefined;
153
+ dropSupersedes?: readonly `debt/${string}`[] | undefined;
154
+ relates?: readonly `debt/${string}`[] | undefined;
155
+ addRelates?: readonly `debt/${string}`[] | undefined;
156
+ dropRelates?: readonly `debt/${string}`[] | undefined;
157
+ };
158
+ action: "debt.update";
159
+ }, {
160
+ id: `debt/${string}`;
161
+ input: {
162
+ title?: string | undefined;
163
+ body?: string | undefined;
164
+ appendBody?: string | undefined;
165
+ note?: string | undefined;
166
+ priority?: 0 | 1 | 2 | 3 | undefined;
167
+ needs?: readonly `debt/${string}`[] | undefined;
168
+ addNeeds?: readonly `debt/${string}`[] | undefined;
169
+ dropNeeds?: readonly `debt/${string}`[] | undefined;
170
+ parent?: `debt/${string}` | null | undefined;
171
+ supersedes?: readonly `debt/${string}`[] | undefined;
172
+ addSupersedes?: readonly `debt/${string}`[] | undefined;
173
+ dropSupersedes?: readonly `debt/${string}`[] | undefined;
174
+ relates?: readonly `debt/${string}`[] | undefined;
175
+ addRelates?: readonly `debt/${string}`[] | undefined;
176
+ dropRelates?: readonly `debt/${string}`[] | undefined;
177
+ };
178
+ }>>;
179
+ };
180
+ export type DebtMutationRequest = z.infer<(typeof debtRequestSchemas)[DebtMutationAction]>;
181
+ declare const debtBodyRequestSchema: z.ZodObject<{
182
+ world: z.ZodString;
183
+ request: z.ZodUnion<(z.ZodPipe<z.ZodObject<{
184
+ input: z.ZodObject<{
185
+ title: z.ZodString;
186
+ namespace: z.ZodReadonly<z.ZodArray<z.ZodString>>;
187
+ body: z.ZodOptional<z.ZodString>;
188
+ note: z.ZodOptional<z.ZodString>;
189
+ state: z.ZodOptional<z.ZodEnum<{
190
+ open: "open";
191
+ done: "done";
192
+ drop: "drop";
193
+ }>>;
194
+ priority: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
195
+ needs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
196
+ parent: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>;
197
+ supersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
198
+ relates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
199
+ }, z.core.$strict>;
200
+ }, z.core.$strict>, z.ZodTransform<{
201
+ action: "debt.add";
202
+ input: {
203
+ title: string;
204
+ namespace: readonly string[];
205
+ body?: string | undefined;
206
+ note?: string | undefined;
207
+ state?: "open" | "done" | "drop" | undefined;
208
+ priority?: 0 | 1 | 2 | 3 | undefined;
209
+ needs?: readonly `debt/${string}`[] | undefined;
210
+ parent?: `debt/${string}` | null | undefined;
211
+ supersedes?: readonly `debt/${string}`[] | undefined;
212
+ relates?: readonly `debt/${string}`[] | undefined;
213
+ };
214
+ }, {
215
+ input: {
216
+ title: string;
217
+ namespace: readonly string[];
218
+ body?: string | undefined;
219
+ note?: string | undefined;
220
+ state?: "open" | "done" | "drop" | undefined;
221
+ priority?: 0 | 1 | 2 | 3 | undefined;
222
+ needs?: readonly `debt/${string}`[] | undefined;
223
+ parent?: `debt/${string}` | null | undefined;
224
+ supersedes?: readonly `debt/${string}`[] | undefined;
225
+ relates?: readonly `debt/${string}`[] | undefined;
226
+ };
227
+ }>> | z.ZodPipe<z.ZodObject<{
228
+ input: z.ZodObject<{
229
+ markdown: z.ZodString;
230
+ namespace: z.ZodReadonly<z.ZodArray<z.ZodString>>;
231
+ }, z.core.$strict>;
232
+ }, z.core.$strict>, z.ZodTransform<{
233
+ action: "debt.addDocument";
234
+ input: {
235
+ markdown: string;
236
+ namespace: readonly string[];
237
+ };
238
+ }, {
239
+ input: {
240
+ markdown: string;
241
+ namespace: readonly string[];
242
+ };
243
+ }>> | z.ZodPipe<z.ZodObject<{
244
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>;
245
+ input: z.ZodObject<{
246
+ title: z.ZodOptional<z.ZodString>;
247
+ body: z.ZodOptional<z.ZodString>;
248
+ appendBody: z.ZodOptional<z.ZodString>;
249
+ note: z.ZodOptional<z.ZodString>;
250
+ priority: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
251
+ needs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
252
+ addNeeds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
253
+ dropNeeds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
254
+ parent: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>;
255
+ supersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
256
+ addSupersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
257
+ dropSupersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
258
+ relates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
259
+ addRelates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
260
+ dropRelates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>>;
261
+ }, z.core.$strict>;
262
+ }, z.core.$strict>, z.ZodTransform<{
263
+ id: `debt/${string}`;
264
+ input: {
265
+ title?: string | undefined;
266
+ body?: string | undefined;
267
+ appendBody?: string | undefined;
268
+ note?: string | undefined;
269
+ priority?: 0 | 1 | 2 | 3 | undefined;
270
+ needs?: readonly `debt/${string}`[] | undefined;
271
+ addNeeds?: readonly `debt/${string}`[] | undefined;
272
+ dropNeeds?: readonly `debt/${string}`[] | undefined;
273
+ parent?: `debt/${string}` | null | undefined;
274
+ supersedes?: readonly `debt/${string}`[] | undefined;
275
+ addSupersedes?: readonly `debt/${string}`[] | undefined;
276
+ dropSupersedes?: readonly `debt/${string}`[] | undefined;
277
+ relates?: readonly `debt/${string}`[] | undefined;
278
+ addRelates?: readonly `debt/${string}`[] | undefined;
279
+ dropRelates?: readonly `debt/${string}`[] | undefined;
280
+ };
281
+ action: "debt.update";
282
+ }, {
283
+ id: `debt/${string}`;
284
+ input: {
285
+ title?: string | undefined;
286
+ body?: string | undefined;
287
+ appendBody?: string | undefined;
288
+ note?: string | undefined;
289
+ priority?: 0 | 1 | 2 | 3 | undefined;
290
+ needs?: readonly `debt/${string}`[] | undefined;
291
+ addNeeds?: readonly `debt/${string}`[] | undefined;
292
+ dropNeeds?: readonly `debt/${string}`[] | undefined;
293
+ parent?: `debt/${string}` | null | undefined;
294
+ supersedes?: readonly `debt/${string}`[] | undefined;
295
+ addSupersedes?: readonly `debt/${string}`[] | undefined;
296
+ dropSupersedes?: readonly `debt/${string}`[] | undefined;
297
+ relates?: readonly `debt/${string}`[] | undefined;
298
+ addRelates?: readonly `debt/${string}`[] | undefined;
299
+ dropRelates?: readonly `debt/${string}`[] | undefined;
300
+ };
301
+ }>> | z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
302
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>;
303
+ note: z.ZodOptional<z.ZodString>;
304
+ }, z.core.$strict>, z.ZodTransform<{
305
+ note?: string;
306
+ action: "debt.done";
307
+ id: `debt/${string}`;
308
+ }, {
309
+ id: `debt/${string}`;
310
+ note?: string | undefined;
311
+ }>>, z.ZodPipe<z.ZodObject<{
312
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>;
313
+ note: z.ZodOptional<z.ZodString>;
314
+ }, z.core.$strict>, z.ZodTransform<{
315
+ note?: string;
316
+ action: "debt.done";
317
+ ids: readonly `debt/${string}`[];
318
+ }, {
319
+ ids: readonly `debt/${string}`[];
320
+ note?: string | undefined;
321
+ }>>]> | z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
322
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>;
323
+ note: z.ZodOptional<z.ZodString>;
324
+ }, z.core.$strict>, z.ZodTransform<{
325
+ note?: string;
326
+ action: "debt.drop";
327
+ id: `debt/${string}`;
328
+ }, {
329
+ id: `debt/${string}`;
330
+ note?: string | undefined;
331
+ }>>, z.ZodPipe<z.ZodObject<{
332
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`debt/${string}`, string>>>>;
333
+ note: z.ZodOptional<z.ZodString>;
334
+ }, z.core.$strict>, z.ZodTransform<{
335
+ note?: string;
336
+ action: "debt.drop";
337
+ ids: readonly `debt/${string}`[];
338
+ }, {
339
+ ids: readonly `debt/${string}`[];
340
+ note?: string | undefined;
341
+ }>>]>)[]>;
342
+ }, z.core.$strict>;
343
+ export type DebtMutationBodyRequest = z.infer<typeof debtBodyRequestSchema>;
344
+ declare const debtMutationServiceSchema: z.ZodObject<{
345
+ action: z.ZodEnum<{
346
+ "debt.add": "debt.add";
347
+ "debt.addDocument": "debt.addDocument";
348
+ "debt.done": "debt.done";
349
+ "debt.drop": "debt.drop";
350
+ "debt.update": "debt.update";
351
+ }>;
352
+ }, z.core.$strict>;
353
+ type DebtMutationService = z.infer<typeof debtMutationServiceSchema>;
354
+ export declare const forwardedDebtReferenceSchema: z.ZodObject<{
355
+ kind: z.ZodLiteral<"served-reference">;
356
+ action: z.ZodEnum<{
357
+ "debt.add": "debt.add";
358
+ "debt.addDocument": "debt.addDocument";
359
+ "debt.done": "debt.done";
360
+ "debt.drop": "debt.drop";
361
+ "debt.update": "debt.update";
362
+ }>;
363
+ }, z.core.$strict>;
364
+ export type ForwardedDebtReference = z.infer<typeof forwardedDebtReferenceSchema>;
365
+ export type DebtMutationResultForRequest<Request extends DebtMutationRequest> = Request extends Readonly<{
366
+ action: "debt.update";
367
+ }> ? DebtUpdateResult : Request extends Readonly<{
368
+ ids: readonly string[];
369
+ }> ? DebtBatchResult : DebtMutationResult;
370
+ export type DebtLifecycleVerb = "done" | "drop";
371
+ /**
372
+ * The forced-local Debts SDK abilities one descriptor execution entry consumes.
373
+ * They are composed at the upper Body edge from the same `Debts.of(world)`
374
+ * product an ordinary local caller uses; this module never imports that product
375
+ * because the product consumes this descriptor protocol.
376
+ */
377
+ export type DebtMutationRequestPort = Readonly<{
378
+ add(input: Readonly<{
379
+ world: WorldRoot;
380
+ options: AddDebtInput;
381
+ }>): Promise<DebtMutationResult>;
382
+ addDocument(input: Readonly<{
383
+ world: WorldRoot;
384
+ document: AddDebtDocumentInput;
385
+ }>): Promise<DebtMutationResult>;
386
+ update(input: Readonly<{
387
+ world: WorldRoot;
388
+ id: string;
389
+ options: UpdateDebtInput;
390
+ }>): Promise<DebtUpdateResult>;
391
+ lifecycle(input: Readonly<{
392
+ world: WorldRoot;
393
+ verb: DebtLifecycleVerb;
394
+ id: string;
395
+ note?: string;
396
+ signal?: AbortSignal;
397
+ }>): Promise<DebtMutationResult>;
398
+ batch(input: Readonly<{
399
+ world: WorldRoot;
400
+ verb: DebtLifecycleVerb;
401
+ ids: readonly string[];
402
+ note?: string;
403
+ signal?: AbortSignal;
404
+ }>): Promise<DebtBatchResult>;
405
+ }>;
406
+ /** Debt owns forwarded mutation payload, live result, and durable service evidence. */
407
+ export declare function debtMutationRequestProtocol(action: DebtMutationAction, batch?: boolean): RequestProtocol<DebtMutationBodyRequest, DebtMutationExecutionResult, ForwardedDebtReference>;
408
+ export declare function debtMutationRequestCommand(action: DebtMutationAction, port: DebtMutationRequestPort): ServiceRequestCommand<DebtMutationBodyRequest, DebtMutationExecutionResult, DebtMutationService, ForwardedDebtReference>;
409
+ export declare function debtMutationRequestCommands(port: DebtMutationRequestPort): Readonly<Record<DebtMutationAction, ErasedRequestCommand>>;
410
+ export declare function requestForwardedDebt<Request extends DebtMutationRequest>(input: Readonly<{
411
+ directory: string;
412
+ id?: never;
413
+ world: WorldRoot;
414
+ request: Request;
415
+ signal?: AbortSignal;
416
+ }>): Promise<DebtMutationResultForRequest<Request>>;
417
+ export declare function requestForwardedDebt<Request extends DebtMutationRequest>(input: Readonly<{
418
+ directory: string;
419
+ id: string;
420
+ world: WorldRoot;
421
+ request: Request;
422
+ signal?: AbortSignal;
423
+ }>): Promise<DebtMutationResultForRequest<Request> | ForwardedDebtReference>;
424
+ export {};