@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
@@ -1,41 +0,0 @@
1
- import type { BlockedTaskList, TaskBatchResult, TaskCompositionResult, TaskContextResult, TaskDecompositionTree, TaskDetail, TaskDoctorReport, TaskList, TaskMutationResult, TaskQueryResult, TaskUpdateResult } from "../../task/index.js";
2
- import { type TextRenderContext } from "./terminal.js";
3
- export { taskMark } from "./marks.js";
4
- type TaskListOutcome = TaskList | BlockedTaskList | TaskQueryResult;
5
- /** One addressed show selection: native details, or a refusal naming a missing addressed read. */
6
- export type TaskShowResult = TaskDetail | TaskDetail[] | Extract<TaskMutationResult, {
7
- kind: "refused";
8
- }>;
9
- /** Presentation-only list scope the leaf acquired; never part of a product value. */
10
- export type TaskListScope = "world" | "current" | Readonly<{
11
- namespace: string;
12
- }>;
13
- /** The union of native Task SDK answers one leaf renders directly; the CLI adds no result envelope. */
14
- type TaskNativeResult = TaskMutationResult | TaskUpdateResult | TaskBatchResult | TaskCompositionResult | TaskShowResult | TaskList | BlockedTaskList | TaskQueryResult | TaskDecompositionTree | TaskDoctorReport | TaskContextResult;
15
- type TaskFailure = Extract<TaskMutationResult, {
16
- kind: "refused" | "retry";
17
- }> | Extract<TaskContextResult, {
18
- kind: "refused" | "retry";
19
- }> | Extract<TaskCompositionResult, {
20
- kind: "refused";
21
- }>;
22
- /** Task dispositions and relation states are snake_case facts; people read them as words. */
23
- export declare function dispositionText(word: string): string;
24
- export declare function taskFrameHead(view: string, scope: string): string;
25
- export declare function renderDoctor(report: TaskDoctorReport): string;
26
- /** One addressed show selection rendered directly from its native answer. */
27
- export declare function renderTaskShow(result: TaskShowResult, context?: TextRenderContext): string;
28
- /** One list read rendered from its native answer and the leaf's presentation-only scope. */
29
- export declare function renderTaskList(action: "ls" | "ready" | "blocked" | "query", scope: TaskListScope, result: TaskListOutcome, context?: TextRenderContext): string;
30
- export declare function renderTaskTree(result: TaskDecompositionTree, context?: TextRenderContext): string;
31
- export declare function renderTaskContext(result: TaskContextResult, context?: TextRenderContext): string;
32
- export declare function renderTaskCompose(result: TaskCompositionResult, context?: TextRenderContext): string;
33
- /** One single-Task mutation answer; `verb` is the literal action the leaf invoked. */
34
- export declare function renderTaskMutation(verb: string, result: TaskMutationResult, context?: TextRenderContext): string;
35
- export declare function renderTaskUpdate(result: TaskUpdateResult, context?: TextRenderContext): string;
36
- /** One lifecycle answer: a single mutation or a plural batch, both native shapes. */
37
- export declare function renderTaskLifecycle(verb: string, result: TaskMutationResult | TaskBatchResult, context?: TextRenderContext): string;
38
- /** A native refusal the CLI edge raised for one action, through the shared refusal grammar. */
39
- export declare function renderTaskFailure(verb: string, result: TaskFailure, context?: TextRenderContext): string;
40
- export declare function renderTaskIncompleteDiagnostic(result: TaskCompositionResult): string;
41
- export declare function taskExitCode(result: TaskNativeResult): number;
@@ -1 +0,0 @@
1
- export { dispatchAssociationSchema, NO_DISPATCH_ASSOCIATION, parseDispatchAssociation, type DispatchAssociation, } from "../akuma/dispatch-association.js";
@@ -1 +0,0 @@
1
- export { dispatchAssociationSchema, NO_DISPATCH_ASSOCIATION, parseDispatchAssociation, } from "../akuma/dispatch-association.js";
@@ -1,168 +0,0 @@
1
- import { type TaskDocument, type TaskPriority, type TaskState } from "./document.js";
2
- import { type TaskId } from "./identity.js";
3
- import { z } from "zod";
4
- import { type BoundedList } from "../bounded-list.js";
5
- export type TaskRef = Readonly<{
6
- id: TaskId;
7
- title: string | null;
8
- state: TaskState | "missing";
9
- }>;
10
- export declare const taskRowSchema: z.ZodObject<{
11
- id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
12
- title: z.ZodString;
13
- state: z.ZodEnum<{
14
- open: "open";
15
- in_progress: "in_progress";
16
- on_hold: "on_hold";
17
- done: "done";
18
- drop: "drop";
19
- }>;
20
- priority: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
21
- disposition: z.ZodEnum<{
22
- in_progress: "in_progress";
23
- on_hold: "on_hold";
24
- done: "done";
25
- drop: "drop";
26
- ready: "ready";
27
- blocked: "blocked";
28
- }>;
29
- updatedAt: z.ZodString;
30
- bodyPresent: z.ZodBoolean;
31
- children: z.ZodOptional<z.ZodObject<{
32
- live: z.ZodNumber;
33
- total: z.ZodNumber;
34
- }, z.core.$strict>>;
35
- }, z.core.$strict>;
36
- export declare const taskRowsSchema: z.ZodReadonly<z.ZodArray<z.ZodObject<{
37
- id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
38
- title: z.ZodString;
39
- state: z.ZodEnum<{
40
- open: "open";
41
- in_progress: "in_progress";
42
- on_hold: "on_hold";
43
- done: "done";
44
- drop: "drop";
45
- }>;
46
- priority: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
47
- disposition: z.ZodEnum<{
48
- in_progress: "in_progress";
49
- on_hold: "on_hold";
50
- done: "done";
51
- drop: "drop";
52
- ready: "ready";
53
- blocked: "blocked";
54
- }>;
55
- updatedAt: z.ZodString;
56
- bodyPresent: z.ZodBoolean;
57
- children: z.ZodOptional<z.ZodObject<{
58
- live: z.ZodNumber;
59
- total: z.ZodNumber;
60
- }, z.core.$strict>>;
61
- }, z.core.$strict>>>;
62
- export type TaskDisposition = z.infer<typeof taskRowSchema>["disposition"];
63
- export type TaskRow = z.infer<typeof taskRowSchema>;
64
- export type BlockedTaskRow = TaskRow & Readonly<{
65
- blockers: readonly TaskRef[];
66
- }>;
67
- export type TaskDetailFacts = Readonly<{
68
- task: TaskDocument;
69
- needs: readonly (TaskRef & Readonly<{
70
- released: boolean;
71
- }>)[];
72
- blockers: readonly TaskRef[];
73
- blocks: readonly TaskRef[];
74
- parent: TaskRef | null;
75
- children: readonly TaskRef[];
76
- supersedes: readonly TaskRef[];
77
- supersededBy: readonly TaskRef[];
78
- related: readonly TaskRef[];
79
- }>;
80
- export type TaskTreeNode = Readonly<{
81
- task: TaskRef & Readonly<{
82
- priority: TaskPriority | null;
83
- }>;
84
- cycle?: true;
85
- children: readonly TaskTreeNode[];
86
- }>;
87
- export type TaskBoard = Readonly<{
88
- tasks: ReadonlyMap<TaskId, TaskDocument>;
89
- }>;
90
- /** The local ids occupied across one namespace of the current board. */
91
- export declare function occupiedLocalIds(board: TaskBoard, namespace: readonly string[]): Set<string>;
92
- type TaskRelation = "needs" | "parent" | "supersedes" | "relates";
93
- export type TaskDoctorIssue = Readonly<{
94
- kind: "missing-target";
95
- taskId: TaskId;
96
- relation: TaskRelation;
97
- target: TaskId;
98
- }> | Readonly<{
99
- kind: "self-relation";
100
- taskId: TaskId;
101
- relation: TaskRelation;
102
- }> | Readonly<{
103
- kind: "cycle";
104
- relation: "needs" | "parent" | "supersedes";
105
- tasks: readonly TaskId[];
106
- }>;
107
- export declare function taskRef(board: TaskBoard, id: TaskId): TaskRef;
108
- export type TaskRelationProjection = Readonly<{
109
- children(id: TaskId): readonly TaskRef[];
110
- blocks(id: TaskId): readonly TaskRef[];
111
- supersededBy(id: TaskId): readonly TaskRef[];
112
- related(id: TaskId): readonly TaskRef[];
113
- }>;
114
- export declare function createTaskRelations(board: TaskBoard): TaskRelationProjection;
115
- export declare function taskDisposition(board: TaskBoard, task: TaskDocument): TaskDisposition;
116
- export declare function taskBlocked(board: TaskBoard, task: TaskDocument): boolean;
117
- export declare function projectOwnedDetailFacts(board: TaskBoard, id: TaskId): TaskDetailFacts | null;
118
- export declare function projectDetailFacts(board: TaskBoard, id: TaskId, relations: TaskRelationProjection): TaskDetailFacts | null;
119
- export declare function projectTaskRow(board: TaskBoard, relations: TaskRelationProjection, task: TaskDocument): TaskRow;
120
- export declare function projectRows(board: TaskBoard, relations: TaskRelationProjection, scope: readonly string[] | null, selection: "active" | "closed" | "all"): readonly TaskRow[];
121
- /**
122
- * Rows for the identities that created work, grouped by creator. Only documents a
123
- * requested identity created reach row projection, and each group keeps the
124
- * established row order.
125
- */
126
- export declare function projectCreatedByRows(board: TaskBoard, relations: TaskRelationProjection, createdByIds: readonly string[]): ReadonlyMap<string, readonly TaskRow[]>;
127
- export declare function projectBlocked(board: TaskBoard, scope: readonly string[] | null, relations: TaskRelationProjection): readonly BlockedTaskRow[];
128
- export declare function projectStatusRows(board: TaskBoard, relations: TaskRelationProjection, scope: readonly string[] | null): ({
129
- id: `task/${string}`;
130
- title: string;
131
- state: "open" | "in_progress" | "on_hold" | "done" | "drop";
132
- priority: 0 | 1 | 2 | 3;
133
- disposition: "in_progress" | "on_hold" | "done" | "drop" | "ready" | "blocked";
134
- updatedAt: string;
135
- bodyPresent: boolean;
136
- children?: {
137
- live: number;
138
- total: number;
139
- } | undefined;
140
- } | {
141
- blockers: readonly Readonly<{
142
- id: TaskId;
143
- title: string | null;
144
- state: TaskState | "missing";
145
- }>[];
146
- id: `task/${string}`;
147
- title: string;
148
- state: "open" | "in_progress" | "on_hold" | "done" | "drop";
149
- priority: 0 | 1 | 2 | 3;
150
- disposition: "in_progress" | "on_hold" | "done" | "drop" | "ready" | "blocked";
151
- updatedAt: string;
152
- bodyPresent: boolean;
153
- children?: {
154
- live: number;
155
- total: number;
156
- } | undefined;
157
- })[];
158
- export type TaskBoardObservation = Readonly<{
159
- statusRows: ReturnType<typeof projectStatusRows>;
160
- selectRecentStatus(limit?: number): BoundedList<ReturnType<typeof projectStatusRows>[number]>;
161
- selectNamespace(namespace: readonly string[]): readonly TaskRow[];
162
- selectCreatedBy(createdBy: string): readonly TaskRow[];
163
- }>;
164
- export declare function projectTaskBoardObservation(board: TaskBoard): TaskBoardObservation;
165
- export declare function relationProblem(board: TaskBoard, before: TaskDocument | null, after: TaskDocument): string | null;
166
- export declare function diagnoseBoard(board: TaskBoard): readonly TaskDoctorIssue[];
167
- export declare function buildTree(board: TaskBoard, root: TaskId, relations: TaskRelationProjection): TaskTreeNode | null;
168
- export {};
@@ -1,11 +0,0 @@
1
- import type { BoundedList } from "../bounded-list.js";
2
- import type { TaskRef, TaskRow } from "./board.js";
3
- import type { WorldRoot } from "../world.js";
4
- export declare function parseTaskNamespaceSelector(value: string): readonly string[];
5
- export type RecentTaskStatusRow = TaskRow & Readonly<{
6
- blockers?: readonly TaskRef[];
7
- }>;
8
- export declare function observeRecentTaskStatus(world: WorldRoot, input?: Readonly<{
9
- namespace?: readonly string[];
10
- limit?: number;
11
- }>): Promise<BoundedList<RecentTaskStatusRow>>;
@@ -1,59 +0,0 @@
1
- import { isTaskSegment, parseTaskId } from "./identity.js";
2
- import { readRecentTaskDocuments, readTaskDocument } from "./store.js";
3
- export function parseTaskNamespaceSelector(value) {
4
- if (value === "task/")
5
- return [];
6
- if (!value.startsWith("task/") || !value.endsWith("/")) {
7
- throw new TypeError(`invalid Task namespace selector: ${value}`);
8
- }
9
- const body = value.slice("task/".length, -1);
10
- const segments = body.split("/");
11
- if (body.length === 0 || !segments.every(isTaskSegment)) {
12
- throw new TypeError(`invalid Task namespace selector: ${value}`);
13
- }
14
- return parseTaskId(`task/${body}/placeholder`).namespace;
15
- }
16
- function terminal(task) {
17
- return task?.state === "done" || task?.state === "drop";
18
- }
19
- async function catalogRow(world, task, documents) {
20
- const needs = await Promise.all(task.needs.map(async (id) => documents.get(id) ?? (await readTaskDocument(world, id))));
21
- const blockers = [];
22
- if (task.state === "open" || task.state === "in_progress") {
23
- for (const [index, need] of needs.entries()) {
24
- if (terminal(need))
25
- continue;
26
- blockers.push({ id: task.needs[index], title: need?.title ?? null, state: need?.state ?? "missing" });
27
- }
28
- }
29
- return {
30
- id: task.id,
31
- title: task.title,
32
- state: task.state,
33
- priority: task.priority,
34
- disposition: task.state === "open" && needs.some((need) => !terminal(need))
35
- ? "blocked"
36
- : task.state === "open"
37
- ? "ready"
38
- : task.state,
39
- updatedAt: task.updatedAt,
40
- bodyPresent: task.body.length > 0,
41
- ...(blockers.length === 0 ? {} : { blockers }),
42
- };
43
- }
44
- export async function observeRecentTaskStatus(world, input = {}) {
45
- const { namespace } = input;
46
- if (namespace !== undefined && !namespace.every(isTaskSegment)) {
47
- throw new TypeError("namespace must contain canonical segments");
48
- }
49
- const documents = await readRecentTaskDocuments(world, {
50
- ...(namespace === undefined ? {} : { namespace }),
51
- selection: "active",
52
- ...(input.limit === undefined ? {} : { limit: input.limit }),
53
- });
54
- const known = new Map(documents.rows.map((document) => [document.id, document]));
55
- return {
56
- rows: await Promise.all(documents.rows.map((document) => catalogRow(world, document, known))),
57
- hasMore: documents.hasMore,
58
- };
59
- }
@@ -1,57 +0,0 @@
1
- import { type TaskBoard } from "./board.js";
2
- import type { TaskCompositionResult } from "./mutation-result.js";
3
- import { type TaskDocument } from "./document.js";
4
- import { type TaskId } from "./identity.js";
5
- import { type TaskCompositionDiagnostic } from "./operations.js";
6
- export declare function taskCompositionNamespaceHeader(markdown: string): Readonly<{
7
- specified: boolean;
8
- namespace?: readonly string[];
9
- }>;
10
- type PlannedComposition = Extract<TaskCompositionResult, {
11
- kind: "planned";
12
- }>;
13
- export type AcceptedComposition = Extract<TaskCompositionResult, {
14
- kind: "accepted";
15
- }>;
16
- export type TaskCompositionAlias = Readonly<AcceptedComposition["aliases"][number]>;
17
- export type TaskCompositionPlanAlias = Readonly<PlannedComposition["aliases"][number]>;
18
- export type TaskCompositionPlanOrder = Readonly<PlannedComposition["admissionOrder"][number]>;
19
- export type TaskCompositionBodyPreview = Readonly<PlannedComposition["bodies"][number]>;
20
- export type TaskCompositionAdmission = Readonly<PlannedComposition["admissions"][number]>;
21
- export type PlannedTask = Readonly<{
22
- index: number;
23
- line: number;
24
- kind: "new" | "existing";
25
- alias?: string;
26
- before: TaskDocument | null;
27
- after: TaskDocument;
28
- }>;
29
- export type TaskCompositionPlan = Readonly<{
30
- namespace: readonly string[];
31
- aliases: readonly TaskCompositionAlias[];
32
- admissionOrder: readonly TaskId[];
33
- bodies: readonly TaskCompositionBodyPreview[];
34
- admissions: readonly Readonly<{
35
- position: number;
36
- kind: "new" | "existing";
37
- taskId: TaskId;
38
- alias?: string | undefined;
39
- title: string;
40
- }>[];
41
- tasks: readonly PlannedTask[];
42
- }>;
43
- export type TaskCompositionPlanning = Readonly<{
44
- kind: "planned";
45
- plan: TaskCompositionPlan;
46
- }> | Readonly<{
47
- kind: "refused";
48
- diagnostics: readonly TaskCompositionDiagnostic[];
49
- }>;
50
- export declare function planTaskComposition(input: Readonly<{
51
- markdown: string;
52
- board: TaskBoard;
53
- namespace: readonly string[];
54
- at: string;
55
- actor?: string;
56
- }>): TaskCompositionPlanning;
57
- export {};