@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
@@ -0,0 +1,325 @@
1
+ import { z } from "zod";
2
+ declare const searchScopeSchema: z.ZodEnum<{
3
+ content: "content";
4
+ files: "files";
5
+ web: "web";
6
+ }>;
7
+ export declare const toolInputSchema: z.ZodObject<{
8
+ json: z.ZodString;
9
+ truncated: z.ZodBoolean;
10
+ }, z.core.$strip>;
11
+ export declare const diffstatSchema: z.ZodObject<{
12
+ added: z.ZodNumber;
13
+ removed: z.ZodNumber;
14
+ }, z.core.$strip>;
15
+ export declare const fileChangeSchema: z.ZodObject<{
16
+ op: z.ZodEnum<{
17
+ add: "add";
18
+ update: "update";
19
+ delete: "delete";
20
+ unspecified: "unspecified";
21
+ }>;
22
+ path: z.ZodString;
23
+ diffstat: z.ZodOptional<z.ZodObject<{
24
+ added: z.ZodNumber;
25
+ removed: z.ZodNumber;
26
+ }, z.core.$strip>>;
27
+ }, z.core.$strip>;
28
+ export declare const toolCallSchema: z.ZodUnion<readonly [z.ZodObject<{
29
+ kind: z.ZodLiteral<"run">;
30
+ command: z.ZodString;
31
+ }, z.core.$strip>, z.ZodObject<{
32
+ kind: z.ZodLiteral<"read">;
33
+ path: z.ZodString;
34
+ offset: z.ZodOptional<z.ZodNumber>;
35
+ limit: z.ZodOptional<z.ZodNumber>;
36
+ }, z.core.$strip>, z.ZodObject<{
37
+ kind: z.ZodLiteral<"search">;
38
+ query: z.ZodString;
39
+ scope: z.ZodOptional<z.ZodEnum<{
40
+ content: "content";
41
+ files: "files";
42
+ web: "web";
43
+ }>>;
44
+ path: z.ZodOptional<z.ZodString>;
45
+ glob: z.ZodOptional<z.ZodString>;
46
+ }, z.core.$strip>, z.ZodObject<{
47
+ kind: z.ZodLiteral<"fileChange">;
48
+ changes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
49
+ op: z.ZodEnum<{
50
+ add: "add";
51
+ update: "update";
52
+ delete: "delete";
53
+ unspecified: "unspecified";
54
+ }>;
55
+ path: z.ZodString;
56
+ diffstat: z.ZodOptional<z.ZodObject<{
57
+ added: z.ZodNumber;
58
+ removed: z.ZodNumber;
59
+ }, z.core.$strip>>;
60
+ }, z.core.$strip>>>;
61
+ }, z.core.$strip>, z.ZodObject<{
62
+ kind: z.ZodLiteral<"other">;
63
+ display: z.ZodString;
64
+ input: z.ZodOptional<z.ZodObject<{
65
+ json: z.ZodString;
66
+ truncated: z.ZodBoolean;
67
+ }, z.core.$strip>>;
68
+ }, z.core.$strip>]>;
69
+ export declare const toolResultSchema: z.ZodObject<{
70
+ status: z.ZodEnum<{
71
+ error: "error";
72
+ ok: "ok";
73
+ }>;
74
+ message: z.ZodOptional<z.ZodString>;
75
+ exitCode: z.ZodOptional<z.ZodNumber>;
76
+ }, z.core.$strip>;
77
+ declare const toolEventSchema: z.ZodUnion<readonly [z.ZodObject<{
78
+ phase: z.ZodLiteral<"started">;
79
+ result: z.ZodOptional<z.ZodNever>;
80
+ type: z.ZodLiteral<"tool">;
81
+ id: z.ZodString;
82
+ name: z.ZodString;
83
+ call: z.ZodUnion<readonly [z.ZodObject<{
84
+ kind: z.ZodLiteral<"run">;
85
+ command: z.ZodString;
86
+ }, z.core.$strip>, z.ZodObject<{
87
+ kind: z.ZodLiteral<"read">;
88
+ path: z.ZodString;
89
+ offset: z.ZodOptional<z.ZodNumber>;
90
+ limit: z.ZodOptional<z.ZodNumber>;
91
+ }, z.core.$strip>, z.ZodObject<{
92
+ kind: z.ZodLiteral<"search">;
93
+ query: z.ZodString;
94
+ scope: z.ZodOptional<z.ZodEnum<{
95
+ content: "content";
96
+ files: "files";
97
+ web: "web";
98
+ }>>;
99
+ path: z.ZodOptional<z.ZodString>;
100
+ glob: z.ZodOptional<z.ZodString>;
101
+ }, z.core.$strip>, z.ZodObject<{
102
+ kind: z.ZodLiteral<"fileChange">;
103
+ changes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
104
+ op: z.ZodEnum<{
105
+ add: "add";
106
+ update: "update";
107
+ delete: "delete";
108
+ unspecified: "unspecified";
109
+ }>;
110
+ path: z.ZodString;
111
+ diffstat: z.ZodOptional<z.ZodObject<{
112
+ added: z.ZodNumber;
113
+ removed: z.ZodNumber;
114
+ }, z.core.$strip>>;
115
+ }, z.core.$strip>>>;
116
+ }, z.core.$strip>, z.ZodObject<{
117
+ kind: z.ZodLiteral<"other">;
118
+ display: z.ZodString;
119
+ input: z.ZodOptional<z.ZodObject<{
120
+ json: z.ZodString;
121
+ truncated: z.ZodBoolean;
122
+ }, z.core.$strip>>;
123
+ }, z.core.$strip>]>;
124
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
125
+ }, z.core.$strip>, z.ZodObject<{
126
+ phase: z.ZodLiteral<"completed">;
127
+ result: z.ZodObject<{
128
+ status: z.ZodEnum<{
129
+ error: "error";
130
+ ok: "ok";
131
+ }>;
132
+ message: z.ZodOptional<z.ZodString>;
133
+ exitCode: z.ZodOptional<z.ZodNumber>;
134
+ }, z.core.$strip>;
135
+ type: z.ZodLiteral<"tool">;
136
+ id: z.ZodString;
137
+ name: z.ZodString;
138
+ call: z.ZodUnion<readonly [z.ZodObject<{
139
+ kind: z.ZodLiteral<"run">;
140
+ command: z.ZodString;
141
+ }, z.core.$strip>, z.ZodObject<{
142
+ kind: z.ZodLiteral<"read">;
143
+ path: z.ZodString;
144
+ offset: z.ZodOptional<z.ZodNumber>;
145
+ limit: z.ZodOptional<z.ZodNumber>;
146
+ }, z.core.$strip>, z.ZodObject<{
147
+ kind: z.ZodLiteral<"search">;
148
+ query: z.ZodString;
149
+ scope: z.ZodOptional<z.ZodEnum<{
150
+ content: "content";
151
+ files: "files";
152
+ web: "web";
153
+ }>>;
154
+ path: z.ZodOptional<z.ZodString>;
155
+ glob: z.ZodOptional<z.ZodString>;
156
+ }, z.core.$strip>, z.ZodObject<{
157
+ kind: z.ZodLiteral<"fileChange">;
158
+ changes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
159
+ op: z.ZodEnum<{
160
+ add: "add";
161
+ update: "update";
162
+ delete: "delete";
163
+ unspecified: "unspecified";
164
+ }>;
165
+ path: z.ZodString;
166
+ diffstat: z.ZodOptional<z.ZodObject<{
167
+ added: z.ZodNumber;
168
+ removed: z.ZodNumber;
169
+ }, z.core.$strip>>;
170
+ }, z.core.$strip>>>;
171
+ }, z.core.$strip>, z.ZodObject<{
172
+ kind: z.ZodLiteral<"other">;
173
+ display: z.ZodString;
174
+ input: z.ZodOptional<z.ZodObject<{
175
+ json: z.ZodString;
176
+ truncated: z.ZodBoolean;
177
+ }, z.core.$strip>>;
178
+ }, z.core.$strip>]>;
179
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
180
+ }, z.core.$strip>]>;
181
+ export declare const agentEventSchema: z.ZodUnion<readonly [z.ZodObject<{
182
+ type: z.ZodLiteral<"session">;
183
+ coordinate: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
184
+ sessionFile: z.ZodString;
185
+ sessionId: z.ZodOptional<z.ZodString>;
186
+ }, z.core.$strict>, z.ZodTransform<{
187
+ sessionFile: string;
188
+ sessionId?: never;
189
+ } | {
190
+ sessionFile: string;
191
+ sessionId: string;
192
+ }, {
193
+ sessionFile: string;
194
+ sessionId?: string | undefined;
195
+ }>>, z.ZodObject<{
196
+ sessionId: z.ZodString;
197
+ }, z.core.$strict>]>;
198
+ }, z.core.$strip>, z.ZodObject<{
199
+ type: z.ZodLiteral<"assistant">;
200
+ text: z.ZodString;
201
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
202
+ }, z.core.$strip>, z.ZodObject<{
203
+ type: z.ZodLiteral<"thought">;
204
+ text: z.ZodString;
205
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
206
+ }, z.core.$strip>, z.ZodUnion<readonly [z.ZodObject<{
207
+ phase: z.ZodLiteral<"started">;
208
+ result: z.ZodOptional<z.ZodNever>;
209
+ type: z.ZodLiteral<"tool">;
210
+ id: z.ZodString;
211
+ name: z.ZodString;
212
+ call: z.ZodUnion<readonly [z.ZodObject<{
213
+ kind: z.ZodLiteral<"run">;
214
+ command: z.ZodString;
215
+ }, z.core.$strip>, z.ZodObject<{
216
+ kind: z.ZodLiteral<"read">;
217
+ path: z.ZodString;
218
+ offset: z.ZodOptional<z.ZodNumber>;
219
+ limit: z.ZodOptional<z.ZodNumber>;
220
+ }, z.core.$strip>, z.ZodObject<{
221
+ kind: z.ZodLiteral<"search">;
222
+ query: z.ZodString;
223
+ scope: z.ZodOptional<z.ZodEnum<{
224
+ content: "content";
225
+ files: "files";
226
+ web: "web";
227
+ }>>;
228
+ path: z.ZodOptional<z.ZodString>;
229
+ glob: z.ZodOptional<z.ZodString>;
230
+ }, z.core.$strip>, z.ZodObject<{
231
+ kind: z.ZodLiteral<"fileChange">;
232
+ changes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
233
+ op: z.ZodEnum<{
234
+ add: "add";
235
+ update: "update";
236
+ delete: "delete";
237
+ unspecified: "unspecified";
238
+ }>;
239
+ path: z.ZodString;
240
+ diffstat: z.ZodOptional<z.ZodObject<{
241
+ added: z.ZodNumber;
242
+ removed: z.ZodNumber;
243
+ }, z.core.$strip>>;
244
+ }, z.core.$strip>>>;
245
+ }, z.core.$strip>, z.ZodObject<{
246
+ kind: z.ZodLiteral<"other">;
247
+ display: z.ZodString;
248
+ input: z.ZodOptional<z.ZodObject<{
249
+ json: z.ZodString;
250
+ truncated: z.ZodBoolean;
251
+ }, z.core.$strip>>;
252
+ }, z.core.$strip>]>;
253
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
254
+ }, z.core.$strip>, z.ZodObject<{
255
+ phase: z.ZodLiteral<"completed">;
256
+ result: z.ZodObject<{
257
+ status: z.ZodEnum<{
258
+ error: "error";
259
+ ok: "ok";
260
+ }>;
261
+ message: z.ZodOptional<z.ZodString>;
262
+ exitCode: z.ZodOptional<z.ZodNumber>;
263
+ }, z.core.$strip>;
264
+ type: z.ZodLiteral<"tool">;
265
+ id: z.ZodString;
266
+ name: z.ZodString;
267
+ call: z.ZodUnion<readonly [z.ZodObject<{
268
+ kind: z.ZodLiteral<"run">;
269
+ command: z.ZodString;
270
+ }, z.core.$strip>, z.ZodObject<{
271
+ kind: z.ZodLiteral<"read">;
272
+ path: z.ZodString;
273
+ offset: z.ZodOptional<z.ZodNumber>;
274
+ limit: z.ZodOptional<z.ZodNumber>;
275
+ }, z.core.$strip>, z.ZodObject<{
276
+ kind: z.ZodLiteral<"search">;
277
+ query: z.ZodString;
278
+ scope: z.ZodOptional<z.ZodEnum<{
279
+ content: "content";
280
+ files: "files";
281
+ web: "web";
282
+ }>>;
283
+ path: z.ZodOptional<z.ZodString>;
284
+ glob: z.ZodOptional<z.ZodString>;
285
+ }, z.core.$strip>, z.ZodObject<{
286
+ kind: z.ZodLiteral<"fileChange">;
287
+ changes: z.ZodReadonly<z.ZodArray<z.ZodObject<{
288
+ op: z.ZodEnum<{
289
+ add: "add";
290
+ update: "update";
291
+ delete: "delete";
292
+ unspecified: "unspecified";
293
+ }>;
294
+ path: z.ZodString;
295
+ diffstat: z.ZodOptional<z.ZodObject<{
296
+ added: z.ZodNumber;
297
+ removed: z.ZodNumber;
298
+ }, z.core.$strip>>;
299
+ }, z.core.$strip>>>;
300
+ }, z.core.$strip>, z.ZodObject<{
301
+ kind: z.ZodLiteral<"other">;
302
+ display: z.ZodString;
303
+ input: z.ZodOptional<z.ZodObject<{
304
+ json: z.ZodString;
305
+ truncated: z.ZodBoolean;
306
+ }, z.core.$strip>>;
307
+ }, z.core.$strip>]>;
308
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
309
+ }, z.core.$strip>]>, z.ZodObject<{
310
+ type: z.ZodLiteral<"note">;
311
+ text: z.ZodString;
312
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
313
+ }, z.core.$strip>, z.ZodObject<{
314
+ type: z.ZodLiteral<"unknown">;
315
+ kind: z.ZodString;
316
+ truncated: z.ZodOptional<z.ZodLiteral<true>>;
317
+ }, z.core.$strip>]>;
318
+ export type SearchScope = z.infer<typeof searchScopeSchema>;
319
+ export type ToolInput = z.infer<typeof toolInputSchema>;
320
+ export type ToolCall = z.infer<typeof toolCallSchema>;
321
+ export type ToolResult = z.infer<typeof toolResultSchema>;
322
+ export type ToolEvent = z.infer<typeof toolEventSchema>;
323
+ export type AgentEvent = z.infer<typeof agentEventSchema>;
324
+ export declare function decodeAgentEvent(value: unknown): AgentEvent;
325
+ export {};
@@ -0,0 +1,53 @@
1
+ import { z } from "zod";
2
+ import { resumeCoordinateSchema } from "../coordinate.js";
3
+ const nonnegativeInteger = z.number().int().safe().nonnegative();
4
+ const positiveInteger = z.number().int().safe().positive();
5
+ const text = z.string();
6
+ const truncated = z.literal(true).optional();
7
+ const searchScopeSchema = z.enum(["content", "files", "web"]);
8
+ export const toolInputSchema = z.object({ json: text, truncated: z.boolean() });
9
+ export const diffstatSchema = z.object({ added: nonnegativeInteger, removed: nonnegativeInteger });
10
+ export const fileChangeSchema = z.object({
11
+ op: z.enum(["add", "update", "delete", "unspecified"]),
12
+ path: text,
13
+ diffstat: diffstatSchema.optional(),
14
+ });
15
+ export const toolCallSchema = z.union([
16
+ z.object({ kind: z.literal("run"), command: text }),
17
+ z.object({
18
+ kind: z.literal("read"),
19
+ path: text,
20
+ offset: positiveInteger.optional(),
21
+ limit: positiveInteger.optional(),
22
+ }),
23
+ z.object({
24
+ kind: z.literal("search"),
25
+ query: text,
26
+ scope: searchScopeSchema.optional(),
27
+ path: text.optional(),
28
+ glob: text.optional(),
29
+ }),
30
+ z.object({ kind: z.literal("fileChange"), changes: z.array(fileChangeSchema).readonly() }),
31
+ z.object({ kind: z.literal("other"), display: text, input: toolInputSchema.optional() }),
32
+ ]);
33
+ export const toolResultSchema = z.object({
34
+ status: z.enum(["ok", "error"]),
35
+ message: text.optional(),
36
+ exitCode: z.number().int().safe().optional(),
37
+ });
38
+ const toolFields = { type: z.literal("tool"), id: text, name: text, call: toolCallSchema, truncated };
39
+ const toolEventSchema = z.union([
40
+ z.object({ ...toolFields, phase: z.literal("started"), result: z.never().optional() }),
41
+ z.object({ ...toolFields, phase: z.literal("completed"), result: toolResultSchema }),
42
+ ]);
43
+ export const agentEventSchema = z.union([
44
+ z.object({ type: z.literal("session"), coordinate: resumeCoordinateSchema }),
45
+ z.object({ type: z.literal("assistant"), text, truncated }),
46
+ z.object({ type: z.literal("thought"), text, truncated }),
47
+ toolEventSchema,
48
+ z.object({ type: z.literal("note"), text, truncated }),
49
+ z.object({ type: z.literal("unknown"), kind: text, truncated }),
50
+ ]);
51
+ export function decodeAgentEvent(value) {
52
+ return agentEventSchema.parse(value);
53
+ }
@@ -40,13 +40,8 @@ export type BodyFact = Readonly<{
40
40
  end?: BodyEnd;
41
41
  endedAt?: string;
42
42
  }>;
43
- export type SessionFact = Readonly<{
43
+ export type SessionFact = import("zod").infer<typeof import("./rows.js").sessionAdmissionSchema> & Readonly<{
44
44
  sequence: number;
45
- provider: string;
46
- coordinate: ResumeCoordinate;
47
- cwd: string;
48
- options: ProviderOptions;
49
- admittedAt: string;
50
45
  }>;
51
46
  export type ForkPoint = Readonly<{
52
47
  historyId: string;
@@ -2,6 +2,7 @@ import type { AkumaPaths } from "../identity.js";
2
2
  import type { BodyEnd, BodyFact, ForkPoint, HeartSnapshot, KillFact, SealFact, SessionFact, Soul, TellDeliveryInput, TellFact, TellReceiptInput, TurnEndFact, TurnFact, TurnOutcome, TurnStartFact } from "./facts.js";
3
3
  export type { CallFact } from "./facts.js";
4
4
  import type { ActivityFact } from "./rows.js";
5
+ import type { AgentEvent } from "./activity-schema.js";
5
6
  import { type StatusFactInput, type ActivityFactSlice } from "./timeline.js";
6
7
  export { HeartAbsentError, HeldAkumaLeash, classifyHeartSchema, initializeHeart, isHeartAbsent, probeLeash, } from "./storage.js";
7
8
  export { admitRequest, beginRequest, isRequestInputConflict, readNonterminalRequests, readRequest, refuseRequest, reserveRequest, serveRequest, serveUpstreamRequest, unproveRequest, voidRequest, } from "./request-authority.js";
@@ -15,7 +16,7 @@ export declare function readSeal(paths: AkumaPaths): Promise<SealFact | null>;
15
16
  export declare function recordSession(paths: AkumaPaths, input: Omit<SessionFact, "sequence">): Promise<SessionFact>;
16
17
  export declare function appendActivity(paths: AkumaPaths, input: Readonly<{
17
18
  turnSequence: number;
18
- event: unknown;
19
+ event: AgentEvent;
19
20
  at: string;
20
21
  }>): Promise<number>;
21
22
  export type ActivitySlice = ActivityFactSlice;
@@ -94,6 +95,7 @@ export declare function failOpenBoundTurns(paths: AkumaPaths, input: Readonly<{
94
95
  completedAt: string;
95
96
  }>): Promise<readonly number[]>;
96
97
  export declare function readTurn(paths: AkumaPaths, sequence: number): Promise<TurnFact | null>;
98
+ export declare function readTurnParticipants(paths: AkumaPaths, sequence: number): Promise<readonly string[]>;
97
99
  export declare function readLatestTurnForBody(paths: AkumaPaths, bodySequence: number): Promise<TurnFact | null>;
98
100
  export declare function endTurn(paths: AkumaPaths, input: Readonly<{
99
101
  turnSequence: number;
@@ -1,6 +1,6 @@
1
1
  import { parsePublicHistoryId } from "../identity.js";
2
2
  import { answeredTurnFact, endBodyFact, finishBodyFact, deleteStopControl, insertActivityFact, insertTurnEndFact, insertTurnStartFact, insertPauseControl, insertKillFact, insertSessionFact, insertStopControl, killFactForBody, latestBodyFact, latestKillFact, latestSessionFact, latestTurnFactForBody, lastAnsweredTurnFact, pauseFact, sessionFactForCoordinate, stopFact, turnFact, } from "./rows.js";
3
- import { insertTellDeliveryFact, dispositionSnapshotProven, insertTellBindingFact, insertTellDispositionSnapshot, insertTellFact, insertTellReceiptFact, insertUndeliveredTellReceipts, latestOpenTellDisposition, openBoundTurns, openTellDispositionIds, pendingTellFacts, hasPendingTell, resolveTellDispositionSnapshot, tellDispositionResolved, tellFact, tellIdsForFence, } from "./tells.js";
3
+ import { insertTellDeliveryFact, dispositionSnapshotProven, insertTellBindingFact, insertTellDispositionSnapshot, insertTellFact, insertTellReceiptFact, insertUndeliveredTellReceipts, latestOpenTellDisposition, openBoundTurns, openTellDispositionIds, pendingTellFacts, hasPendingTell, resolveTellDispositionSnapshot, tellDispositionResolved, tellFact, tellIdsForFence, turnParticipants, } from "./tells.js";
4
4
  import { activityFactSlice, statusFacts, lastActivityAt as readLastActivityAt, pruneActivityFacts, } from "./timeline.js";
5
5
  import { isHeartAbsent, readSealFromLeash, withHeartTransaction, withReadOnlyHeart } from "./storage.js";
6
6
  import { soulFact } from "./soul.js";
@@ -264,6 +264,9 @@ export async function failOpenBoundTurns(paths, input) {
264
264
  export async function readTurn(paths, sequence) {
265
265
  return await withReadOnlyHeart(paths, (heart) => turnFact(heart, sequence));
266
266
  }
267
+ export async function readTurnParticipants(paths, sequence) {
268
+ return await withReadOnlyHeart(paths, (heart) => turnParticipants(heart, sequence));
269
+ }
267
270
  export async function readLatestTurnForBody(paths, bodySequence) {
268
271
  return await withReadOnlyHeart(paths, (heart) => latestTurnFactForBody(heart, bodySequence));
269
272
  }
@@ -1,5 +1,7 @@
1
+ import { z } from "zod";
1
2
  import type { DatabaseSync } from "node:sqlite";
2
3
  import type { BodyEnd, BodyFact, CallFact, KillFact, PauseFact, ResumeCoordinate, SessionFact, StopFact, TurnFact, TurnStartFact, TurnEndFact } from "./facts.js";
4
+ import { type AgentEvent } from "./activity-schema.js";
3
5
  export type SealRow = Readonly<{
4
6
  evidence: string;
5
7
  at: string;
@@ -12,6 +14,51 @@ export type BodyRow = Readonly<{
12
14
  end: BodyEnd | null;
13
15
  ended_at: string | null;
14
16
  }>;
17
+ export declare const sessionAdmissionSchema: z.ZodObject<{
18
+ provider: z.ZodString;
19
+ coordinate: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
20
+ sessionFile: z.ZodString;
21
+ sessionId: z.ZodOptional<z.ZodString>;
22
+ }, z.core.$strict>, z.ZodTransform<{
23
+ sessionFile: string;
24
+ sessionId?: never;
25
+ } | {
26
+ sessionFile: string;
27
+ sessionId: string;
28
+ }, {
29
+ sessionFile: string;
30
+ sessionId?: string | undefined;
31
+ }>>, z.ZodObject<{
32
+ sessionId: z.ZodString;
33
+ }, z.core.$strict>]>;
34
+ cwd: z.ZodString;
35
+ options: z.ZodPipe<z.ZodObject<{
36
+ model: z.ZodOptional<z.ZodString>;
37
+ effort: z.ZodOptional<z.ZodString>;
38
+ network: z.ZodOptional<z.ZodEnum<{
39
+ disabled: "disabled";
40
+ enabled: "enabled";
41
+ }>>;
42
+ systemPrompt: z.ZodOptional<z.ZodString>;
43
+ systemPromptMode: z.ZodOptional<z.ZodEnum<{
44
+ append: "append";
45
+ replace: "replace";
46
+ }>>;
47
+ }, z.core.$strip>, z.ZodTransform<Readonly<{
48
+ systemPromptMode?: "append" | "replace";
49
+ systemPrompt?: string;
50
+ network?: "disabled" | "enabled";
51
+ effort?: string;
52
+ model?: string;
53
+ }>, {
54
+ model?: string | undefined;
55
+ effort?: string | undefined;
56
+ network?: "disabled" | "enabled" | undefined;
57
+ systemPrompt?: string | undefined;
58
+ systemPromptMode?: "append" | "replace" | undefined;
59
+ }>>;
60
+ admittedAt: z.ZodString;
61
+ }, z.core.$strict>;
15
62
  export type SessionRow = Readonly<{
16
63
  sequence: number;
17
64
  provider: string;
@@ -51,7 +98,7 @@ export type ActivityFact = Readonly<{
51
98
  kind: "activity";
52
99
  sequence: number;
53
100
  turnSequence: number;
54
- event: unknown;
101
+ event: AgentEvent;
55
102
  at: string;
56
103
  }>;
57
104
  export type KillRow = Readonly<{
@@ -85,7 +132,7 @@ export declare function insertBodyFact(database: DatabaseSync, input: Readonly<{
85
132
  export declare function insertSessionFact(database: DatabaseSync, input: Omit<SessionFact, "sequence">): number;
86
133
  export declare function insertActivityFact(database: DatabaseSync, input: Readonly<{
87
134
  turnSequence: number;
88
- event: unknown;
135
+ event: AgentEvent;
89
136
  at: string;
90
137
  }>): number;
91
138
  export declare function insertStopControl(database: DatabaseSync, bodySequence: number, at: string): void;
@@ -1,4 +1,18 @@
1
+ import { z } from "zod";
2
+ import { providerOptionsSchema } from "../provider-recipe.js";
3
+ import { resumeCoordinateSchema } from "../coordinate.js";
1
4
  import { decodeResumeCoordinate, encodeResumeCoordinate as encodeCoordinate } from "../coordinate.js";
5
+ import { agentEventSchema } from "./activity-schema.js";
6
+ const sessionText = z.string().refine((value) => value.trim() !== "");
7
+ export const sessionAdmissionSchema = z
8
+ .object({
9
+ provider: sessionText,
10
+ coordinate: resumeCoordinateSchema,
11
+ cwd: sessionText,
12
+ options: providerOptionsSchema,
13
+ admittedAt: sessionText,
14
+ })
15
+ .strict();
2
16
  function json(value) {
3
17
  return JSON.stringify(value);
4
18
  }
@@ -89,14 +103,14 @@ export function decodeCallRow(row) {
89
103
  return { kind: "call", sequence: row.sequence, turnSequence: row.turn_sequence, body: row.body, at: row.at };
90
104
  }
91
105
  export function encodeActivityEvent(event) {
92
- return json(event);
106
+ return json(agentEventSchema.parse(event));
93
107
  }
94
108
  export function decodeActivityRow(row) {
95
109
  return {
96
110
  kind: "activity",
97
111
  sequence: row.sequence,
98
112
  turnSequence: row.turn_sequence,
99
- event: parsed(row.event_json),
113
+ event: agentEventSchema.parse(parsed(row.event_json)),
100
114
  at: row.at,
101
115
  };
102
116
  }
@@ -1,5 +1,6 @@
1
1
  import type { DatabaseSync } from "node:sqlite";
2
2
  import type { Soul, SoulRow } from "./facts.js";
3
+ export declare function decodeSoulSeed(value: unknown): Omit<Soul, "createdAt">;
3
4
  export declare function decodeSoul(value: unknown): Soul;
4
5
  export declare function encodeSoul(soul: Soul): string;
5
6
  export declare function encodeSoulRow(soul: Soul): readonly [string];
@@ -43,7 +43,7 @@ function decodeOrigin(value) {
43
43
  }
44
44
  throw new Error("Akuma soul origin must be direct, request, or fork");
45
45
  }
46
- function validateSoul(value) {
46
+ export function decodeSoulSeed(value) {
47
47
  const soul = record(value);
48
48
  if (soul === null)
49
49
  throw new Error("Akuma soul must be an object");
@@ -64,7 +64,6 @@ function validateSoul(value) {
64
64
  cwd: nonblank(soul.cwd, "cwd"),
65
65
  origin: decodeOrigin(soul.origin),
66
66
  allowed: historicalAllowedActions(soul.allowed),
67
- createdAt: nonblank(soul.createdAt, "createdAt"),
68
67
  };
69
68
  }
70
69
  function deepFreeze(value) {
@@ -77,10 +76,13 @@ function deepFreeze(value) {
77
76
  return value;
78
77
  }
79
78
  export function decodeSoul(value) {
80
- return deepFreeze(validateSoul(value));
79
+ const soul = record(value);
80
+ if (soul === null)
81
+ throw new Error("Akuma soul must be an object");
82
+ return deepFreeze({ ...decodeSoulSeed(soul), createdAt: nonblank(soul.createdAt, "createdAt") });
81
83
  }
82
84
  export function encodeSoul(soul) {
83
- return JSON.stringify(validateSoul(soul));
85
+ return JSON.stringify(decodeSoul(soul));
84
86
  }
85
87
  export function encodeSoulRow(soul) {
86
88
  return [encodeSoul(soul)];
@@ -27,5 +27,6 @@ export declare function insertTellBindingFact(database: DatabaseSync, input: Rea
27
27
  turnSequence: number;
28
28
  boundAt: string;
29
29
  }>): void;
30
+ export declare function turnParticipants(database: DatabaseSync, turnSequence: number): readonly string[];
30
31
  export declare function drainPendingTells(pending: readonly TellFact[], activeTurnSequences?: readonly number[]): readonly TellFact[];
31
32
  export declare function openBoundTurns(database: DatabaseSync, bodySequence: number): readonly number[];
@@ -204,6 +204,24 @@ export function insertTellBindingFact(database, input) {
204
204
  throw new Error(`tell ${input.tellId} binding was not retained`);
205
205
  }
206
206
  }
207
+ export function turnParticipants(database, turnSequence) {
208
+ const rows = database
209
+ .prepare(`SELECT turns.initiator AS owner, tells.initiator AS teller
210
+ FROM turns
211
+ LEFT JOIN tell_bindings ON tell_bindings.turn_sequence = turns.sequence
212
+ LEFT JOIN tells ON tells.id = tell_bindings.tell_id
213
+ WHERE turns.sequence = ?
214
+ ORDER BY tell_bindings.sequence`)
215
+ .all(turnSequence);
216
+ const participants = new Set();
217
+ for (const row of rows) {
218
+ if (row.owner)
219
+ participants.add(row.owner);
220
+ if (row.teller)
221
+ participants.add(row.teller);
222
+ }
223
+ return [...participants];
224
+ }
207
225
  export function drainPendingTells(pending, activeTurnSequences = []) {
208
226
  const eligible = pending.filter((tell) => tell.binding === undefined || !activeTurnSequences.includes(tell.binding.turnSequence));
209
227
  if (eligible.length === 0)
@@ -1,15 +1,17 @@
1
+ import { z } from "zod";
1
2
  declare const AKU_ID: unique symbol;
2
3
  export type AkuId = string & {
3
4
  readonly [AKU_ID]: true;
4
5
  };
5
6
  export declare function parsePublicHistoryId(value: string): number | null;
6
- export type AkumaPaths = Readonly<{
7
- directory: string;
8
- heart: string;
9
- leash: string;
10
- log: string;
11
- requests: string;
12
- }>;
7
+ export declare const akumaPathsSchema: z.ZodObject<{
8
+ directory: z.ZodString;
9
+ heart: z.ZodString;
10
+ leash: z.ZodString;
11
+ log: z.ZodString;
12
+ requests: z.ZodString;
13
+ }, z.core.$strict>;
14
+ export type AkumaPaths = z.infer<typeof akumaPathsSchema>;
13
15
  export type AllocatedAkuma = Readonly<{
14
16
  id: AkuId;
15
17
  archetype: string;
@@ -26,6 +28,7 @@ export declare function parseAkuId(value: string): Readonly<{
26
28
  archetype: string;
27
29
  suffix: string;
28
30
  }>;
31
+ export declare const akumaIdSchema: z.ZodPipe<z.ZodString, z.ZodTransform<AkuId, string>>;
29
32
  export declare function akumaRunRoot(worldRoot: string): string;
30
33
  export declare function akumaPaths(input: Readonly<{
31
34
  runRoot: string;