@astrosheep/keiyaku 4.5.7 → 4.5.8

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 (234) hide show
  1. package/README.md +10 -0
  2. package/build/integrations/marketplace/plugins/keiyaku/.claude-plugin/plugin.json +1 -1
  3. package/build/integrations/marketplace/plugins/keiyaku/.codex-plugin/plugin.json +1 -1
  4. package/build/integrations/marketplace/plugins/keiyaku/opencode.js +3 -2
  5. package/build/integrations/marketplace/plugins/keiyaku/package.json +1 -1
  6. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku/SKILL.md +10 -9
  7. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-akuma/SKILL.md +22 -1
  8. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-babysit/SKILL.md +35 -96
  9. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-bind/SKILL.md +28 -49
  10. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-task/SKILL.md +21 -15
  11. package/build/integrations/marketplace/plugins/keiyaku/skills/keiyaku-workflow/SKILL.md +148 -89
  12. package/build/src/akuma/abort.d.ts +2 -1
  13. package/build/src/akuma/abort.js +6 -23
  14. package/build/src/akuma/akuma-handle.js +4 -2
  15. package/build/src/akuma/akuma-observe.d.ts +2 -0
  16. package/build/src/akuma/akuma-observe.js +1 -0
  17. package/build/src/akuma/akuma-product.js +9 -7
  18. package/build/src/akuma/akuma.d.ts +372 -9
  19. package/build/src/akuma/akuma.js +31 -1
  20. package/build/src/akuma/allowed.d.ts +1 -1
  21. package/build/src/akuma/allowed.js +1 -0
  22. package/build/src/akuma/body.d.ts +6 -4
  23. package/build/src/akuma/body.js +5 -3
  24. package/build/src/akuma/call-request.d.ts +80 -0
  25. package/build/src/akuma/call-request.js +211 -0
  26. package/build/src/akuma/heart/facts.d.ts +6 -78
  27. package/build/src/akuma/heart/index.d.ts +1 -1
  28. package/build/src/akuma/heart/request-authority.d.ts +5 -4
  29. package/build/src/akuma/heart/request-authority.js +20 -34
  30. package/build/src/akuma/heart/request-rows.js +12 -23
  31. package/build/src/akuma/heart/schema.d.ts +1 -1
  32. package/build/src/akuma/heart/schema.js +5 -13
  33. package/build/src/akuma/index.d.ts +1 -1
  34. package/build/src/akuma/index.js +1 -1
  35. package/build/src/akuma/projection-read.d.ts +1 -0
  36. package/build/src/akuma/projection-read.js +8 -1
  37. package/build/src/akuma/projection.d.ts +856 -137
  38. package/build/src/akuma/projection.js +190 -0
  39. package/build/src/akuma/provider.d.ts +30 -3
  40. package/build/src/akuma/provider.js +104 -0
  41. package/build/src/akuma/providers/acp/core.d.ts +2 -2
  42. package/build/src/akuma/providers/acp/core.js +13 -6
  43. package/build/src/akuma/providers/acp/index.js +5 -4
  44. package/build/src/akuma/providers/claude/index.d.ts +3 -3
  45. package/build/src/akuma/providers/claude/index.js +16 -5
  46. package/build/src/akuma/providers/codex-app-server/events.js +1 -1
  47. package/build/src/akuma/providers/codex-app-server/index.js +18 -6
  48. package/build/src/akuma/providers/grok-build/index.js +5 -4
  49. package/build/src/akuma/providers/opencode-sdk/index.js +66 -25
  50. package/build/src/akuma/providers/opencode-sdk/session.d.ts +3 -2
  51. package/build/src/akuma/providers/opencode-sdk/session.js +28 -11
  52. package/build/src/akuma/providers/pi/index.js +42 -14
  53. package/build/src/akuma/request-lifecycle.d.ts +3 -9
  54. package/build/src/akuma/request-lifecycle.js +4 -4
  55. package/build/src/akuma/request-rendezvous.d.ts +26 -0
  56. package/build/src/akuma/request-rendezvous.js +100 -0
  57. package/build/src/akuma/request-serve.d.ts +5 -65
  58. package/build/src/akuma/request-serve.js +81 -208
  59. package/build/src/akuma/request-wire.d.ts +109 -115
  60. package/build/src/akuma/request-wire.js +63 -318
  61. package/build/src/akuma/requests.d.ts +19 -47
  62. package/build/src/akuma/requests.js +51 -107
  63. package/build/src/akuma/turn-drive.d.ts +5 -3
  64. package/build/src/akuma/turn-drive.js +32 -10
  65. package/build/src/akuma-body.d.ts +7 -2
  66. package/build/src/akuma-body.js +68 -46
  67. package/build/src/cli/accepted.d.ts +1 -1
  68. package/build/src/cli/accepted.js +2 -2
  69. package/build/src/cli/commands/akuma-invoke.d.ts +2 -0
  70. package/build/src/cli/commands/akuma-invoke.js +17 -9
  71. package/build/src/cli/commands/akuma.js +7 -7
  72. package/build/src/cli/commands/contract-invoke.d.ts +3 -2
  73. package/build/src/cli/commands/contract-invoke.js +26 -19
  74. package/build/src/cli/commands/contract.d.ts +13 -13
  75. package/build/src/cli/commands/contract.js +32 -17
  76. package/build/src/cli/commands/install.d.ts +1 -1
  77. package/build/src/cli/commands/install.js +1 -1
  78. package/build/src/cli/commands/task-invoke.d.ts +3 -0
  79. package/build/src/cli/commands/task-invoke.js +23 -140
  80. package/build/src/cli/commands/task.js +54 -20
  81. package/build/src/cli/invoke.js +39 -25
  82. package/build/src/cli/main.js +2 -1
  83. package/build/src/cli/parse.d.ts +2 -2
  84. package/build/src/cli/parse.js +37 -22
  85. package/build/src/cli/render/akuma-activity.d.ts +4 -1
  86. package/build/src/cli/render/akuma-activity.js +45 -30
  87. package/build/src/cli/render/akuma-tool.d.ts +5 -1
  88. package/build/src/cli/render/akuma.js +5 -9
  89. package/build/src/cli/render/audit.js +1 -1
  90. package/build/src/cli/render/catalog.js +80 -21
  91. package/build/src/cli/render/contract-observation.d.ts +2 -0
  92. package/build/src/cli/render/contract-observation.js +11 -0
  93. package/build/src/cli/render/contract.js +25 -65
  94. package/build/src/cli/render/kanshi-akuma.d.ts +8 -0
  95. package/build/src/cli/render/kanshi-akuma.js +111 -0
  96. package/build/src/cli/render/kanshi.js +108 -213
  97. package/build/src/cli/render/receipt.d.ts +1 -2
  98. package/build/src/cli/render/receipt.js +76 -26
  99. package/build/src/cli/render/refusal.js +2 -10
  100. package/build/src/cli/render/region.js +5 -2
  101. package/build/src/cli/render/settings.d.ts +1 -1
  102. package/build/src/cli/render/settings.js +27 -8
  103. package/build/src/cli/render/task.js +22 -5
  104. package/build/src/cli/render/terminal.d.ts +28 -0
  105. package/build/src/cli/render/terminal.js +65 -0
  106. package/build/src/cli/result.d.ts +3 -3
  107. package/build/src/cli/runtime.js +3 -1
  108. package/build/src/cli/selectors.d.ts +2 -1
  109. package/build/src/cli/selectors.js +4 -3
  110. package/build/src/cli/square-edge.js +120 -36
  111. package/build/src/cli/usage.js +2 -1
  112. package/build/src/contract-guidance.d.ts +5 -0
  113. package/build/src/contract-guidance.js +121 -0
  114. package/build/src/contract-worktree.d.ts +0 -1
  115. package/build/src/contract-worktree.js +32 -83
  116. package/build/src/coordination/sqlite-transaction-lock.d.ts +1 -0
  117. package/build/src/coordination/sqlite-transaction-lock.js +5 -0
  118. package/build/src/core/facts/codec.d.ts +2 -0
  119. package/build/src/core/facts/codec.js +4 -0
  120. package/build/src/core/verbs/placement.d.ts +6 -1
  121. package/build/src/core/verbs/placement.js +5 -3
  122. package/build/src/dispatch/index.d.ts +0 -2
  123. package/build/src/dispatch/index.js +54 -55
  124. package/build/src/git/admission.js +2 -2
  125. package/build/src/git/hooks.d.ts +9 -15
  126. package/build/src/git/hooks.js +23 -317
  127. package/build/src/git/nuke.d.ts +2 -1
  128. package/build/src/git/nuke.js +36 -18
  129. package/build/src/git/private-state-seat.d.ts +12 -0
  130. package/build/src/git/private-state-seat.js +39 -0
  131. package/build/src/git/process.d.ts +6 -0
  132. package/build/src/git/process.js +19 -7
  133. package/build/src/git/read-observation.js +29 -20
  134. package/build/src/git/reconcile.d.ts +11 -0
  135. package/build/src/git/reconcile.js +64 -11
  136. package/build/src/git/repository.d.ts +6 -2
  137. package/build/src/git/repository.js +8 -0
  138. package/build/src/git/target-placement.d.ts +1 -0
  139. package/build/src/git/target-placement.js +5 -0
  140. package/build/src/git/tender.d.ts +1 -0
  141. package/build/src/git/terminal-reconcile.d.ts +1 -1
  142. package/build/src/git/terminal-reconcile.js +22 -20
  143. package/build/src/git/workspace.d.ts +14 -0
  144. package/build/src/git/workspace.js +44 -0
  145. package/build/src/kanshi/index.d.ts +1 -1
  146. package/build/src/kanshi/read.js +16 -16
  147. package/build/src/kanshi/report.d.ts +2 -2
  148. package/build/src/library/address.d.ts +9 -3
  149. package/build/src/library/address.js +3 -2
  150. package/build/src/library/akuma-creation.d.ts +4 -3
  151. package/build/src/library/akuma-creation.js +19 -13
  152. package/build/src/library/audit.d.ts +1 -1
  153. package/build/src/library/audit.js +5 -3
  154. package/build/src/library/catalog.d.ts +3 -1
  155. package/build/src/library/catalog.js +20 -6
  156. package/build/src/library/composition.d.ts +371 -0
  157. package/build/src/library/composition.js +28 -0
  158. package/build/src/library/configuration.js +8 -2
  159. package/build/src/library/continuation.js +66 -30
  160. package/build/src/library/contract-bind.js +10 -2
  161. package/build/src/library/contract-forwarding-reconciliation-result.d.ts +96 -0
  162. package/build/src/library/contract-forwarding-reconciliation-result.js +83 -0
  163. package/build/src/library/contract-forwarding-result.d.ts +6723 -0
  164. package/build/src/library/contract-forwarding-result.js +521 -0
  165. package/build/src/library/contract-forwarding.d.ts +72 -0
  166. package/build/src/library/contract-forwarding.js +125 -0
  167. package/build/src/library/contract-handle.d.ts +36 -0
  168. package/build/src/library/contract-handle.js +313 -0
  169. package/build/src/library/contract-operations.d.ts +1044 -67
  170. package/build/src/library/contract-operations.js +190 -118
  171. package/build/src/library/contract.d.ts +11 -32
  172. package/build/src/library/contract.js +16 -289
  173. package/build/src/library/fleet-result.d.ts +1454 -0
  174. package/build/src/library/fleet-result.js +96 -0
  175. package/build/src/library/fleet.d.ts +112 -54
  176. package/build/src/library/fleet.js +211 -71
  177. package/build/src/library/input.d.ts +2 -0
  178. package/build/src/library/input.js +4 -0
  179. package/build/src/library/keiyaku.d.ts +371 -20
  180. package/build/src/library/keiyaku.js +8 -21
  181. package/build/src/library/mutation.d.ts +3 -3
  182. package/build/src/library/mutation.js +5 -9
  183. package/build/src/library/nuke.d.ts +1 -1
  184. package/build/src/library/nuke.js +4 -3
  185. package/build/src/library/reconcile.d.ts +4 -0
  186. package/build/src/library/reconcile.js +2 -0
  187. package/build/src/library/refusal.d.ts +0 -9
  188. package/build/src/library/refusal.js +0 -7
  189. package/build/src/protocol/amend.js +56 -50
  190. package/build/src/protocol/attempt.d.ts +2 -0
  191. package/build/src/protocol/attempt.js +8 -1
  192. package/build/src/protocol/completion.js +7 -0
  193. package/build/src/protocol/deliver.js +6 -2
  194. package/build/src/protocol/operations.d.ts +4 -1
  195. package/build/src/protocol/operations.js +5 -2
  196. package/build/src/protocol/placement.d.ts +1 -0
  197. package/build/src/protocol/placement.js +52 -38
  198. package/build/src/protocol/read/observation.d.ts +1 -4
  199. package/build/src/protocol/read/observation.js +2 -15
  200. package/build/src/protocol/reintegrate.js +62 -58
  201. package/build/src/protocol/review.js +5 -0
  202. package/build/src/protocol/run.js +17 -13
  203. package/build/src/runtime/proc/run.d.ts +8 -0
  204. package/build/src/runtime/proc/run.js +27 -0
  205. package/build/src/runtime/proc/termination.js +26 -22
  206. package/build/src/runtime/proc/windows-launch.exe +0 -0
  207. package/build/src/settlement/holder.d.ts +2 -1
  208. package/build/src/settlement/holder.js +15 -4
  209. package/build/src/settlement/settle.js +99 -33
  210. package/build/src/task/board.d.ts +68 -27
  211. package/build/src/task/board.js +31 -1
  212. package/build/src/task/catalog.d.ts +4 -0
  213. package/build/src/task/catalog.js +23 -0
  214. package/build/src/task/compose-language.js +33 -7
  215. package/build/src/task/compose-parser.d.ts +1 -1
  216. package/build/src/task/compose-parser.js +1 -1
  217. package/build/src/task/compose.js +2 -0
  218. package/build/src/task/index.d.ts +12 -4
  219. package/build/src/task/index.js +97 -16
  220. package/build/src/task/mutation-result.d.ts +923 -0
  221. package/build/src/task/mutation-result.js +140 -0
  222. package/build/src/task/mutation.d.ts +552 -28
  223. package/build/src/task/mutation.js +304 -97
  224. package/build/src/task/operations.d.ts +1 -4
  225. package/build/src/task/operations.js +0 -6
  226. package/build/src/task/public.d.ts +2 -0
  227. package/build/src/task/public.js +1 -0
  228. package/build/src/workspace-place.d.ts +7 -2
  229. package/build/src/workspace-place.js +34 -24
  230. package/build/src/world.d.ts +1 -0
  231. package/build/src/world.js +11 -0
  232. package/package.json +8 -6
  233. package/build/src/akuma/request-execution.d.ts +0 -8
  234. package/build/src/akuma/request-execution.js +0 -98
@@ -1,40 +1,564 @@
1
- import type { WorldRoot } from "../world.js";
2
- import type { TaskCompositionResult } from "./compose.js";
3
- import type { AddTaskDocumentInput, AddTaskInput, TaskBatchResult, TaskMutationResult, TaskUpdateResult, UpdateTaskInput } from "./operations.js";
4
- import type { TaskId } from "./identity.js";
1
+ import { type WorldRoot } from "../world.js";
2
+ import { type ErasedRequestCommand, type RequestCommand } from "../akuma/request-wire.js";
3
+ import { type TaskBatchResult, type TaskMutationResult, type TaskUpdateResult } from "./operations.js";
4
+ import { type TaskCompositionResult } from "./compose.js";
5
+ import { type TaskMutationExecutionResult } from "./mutation-result.js";
6
+ import { z } from "zod";
7
+ export type { TaskMutationExecutionResult } from "./mutation-result.js";
5
8
  export declare const TASK_MUTATION_ACTIONS: readonly ["task.add", "task.addDocument", "task.compose", "task.done", "task.drop", "task.hold", "task.resume", "task.start", "task.stop", "task.update"];
6
9
  export type TaskMutationAction = (typeof TASK_MUTATION_ACTIONS)[number];
7
10
  export declare function isTaskMutationAction(value: unknown): value is TaskMutationAction;
8
- export type TaskMutationRequest = Readonly<{
9
- action: "task.add";
10
- input: Omit<AddTaskInput, "actor" | "signal" | "namespace"> & Readonly<{
11
+ declare const taskRequestSchemas: {
12
+ readonly "task.add": z.ZodPipe<z.ZodObject<{
13
+ input: z.ZodObject<{
14
+ title: z.ZodString;
15
+ namespace: z.ZodReadonly<z.ZodArray<z.ZodString>>;
16
+ body: z.ZodOptional<z.ZodString>;
17
+ note: z.ZodOptional<z.ZodString>;
18
+ state: z.ZodOptional<z.ZodEnum<{
19
+ open: "open";
20
+ in_progress: "in_progress";
21
+ on_hold: "on_hold";
22
+ done: "done";
23
+ drop: "drop";
24
+ }>>;
25
+ priority: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
26
+ needs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
27
+ parent: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
28
+ supersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
29
+ relates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
30
+ }, z.core.$strict>;
31
+ }, z.core.$strict>, z.ZodTransform<{
32
+ action: "task.add";
33
+ input: {
34
+ title: string;
35
+ namespace: readonly string[];
36
+ body?: string | undefined;
37
+ note?: string | undefined;
38
+ state?: "open" | "in_progress" | "on_hold" | "done" | "drop" | undefined;
39
+ priority?: 0 | 1 | 2 | 3 | undefined;
40
+ needs?: readonly `task/${string}`[] | undefined;
41
+ parent?: `task/${string}` | null | undefined;
42
+ supersedes?: readonly `task/${string}`[] | undefined;
43
+ relates?: readonly `task/${string}`[] | undefined;
44
+ };
45
+ }, {
46
+ input: {
47
+ title: string;
48
+ namespace: readonly string[];
49
+ body?: string | undefined;
50
+ note?: string | undefined;
51
+ state?: "open" | "in_progress" | "on_hold" | "done" | "drop" | undefined;
52
+ priority?: 0 | 1 | 2 | 3 | undefined;
53
+ needs?: readonly `task/${string}`[] | undefined;
54
+ parent?: `task/${string}` | null | undefined;
55
+ supersedes?: readonly `task/${string}`[] | undefined;
56
+ relates?: readonly `task/${string}`[] | undefined;
57
+ };
58
+ }>>;
59
+ readonly "task.addDocument": z.ZodPipe<z.ZodObject<{
60
+ input: z.ZodObject<{
61
+ markdown: z.ZodString;
62
+ namespace: z.ZodReadonly<z.ZodArray<z.ZodString>>;
63
+ }, z.core.$strict>;
64
+ }, z.core.$strict>, z.ZodTransform<{
65
+ action: "task.addDocument";
66
+ input: {
67
+ markdown: string;
68
+ namespace: readonly string[];
69
+ };
70
+ }, {
71
+ input: {
72
+ markdown: string;
73
+ namespace: readonly string[];
74
+ };
75
+ }>>;
76
+ readonly "task.compose": z.ZodPipe<z.ZodObject<{
77
+ markdown: z.ZodString;
78
+ namespace: z.ZodReadonly<z.ZodArray<z.ZodString>>;
79
+ }, z.core.$strict>, z.ZodTransform<{
80
+ markdown: string;
11
81
  namespace: readonly string[];
12
- }>;
13
- }> | Readonly<{
14
- action: "task.addDocument";
15
- input: Omit<AddTaskDocumentInput, "actor" | "signal" | "namespace"> & Readonly<{
82
+ action: "task.compose";
83
+ }, {
84
+ markdown: string;
16
85
  namespace: readonly string[];
86
+ }>>;
87
+ readonly "task.done": z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
88
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
89
+ note: z.ZodOptional<z.ZodString>;
90
+ }, z.core.$strict>, z.ZodTransform<{
91
+ note?: string;
92
+ action: "task.done";
93
+ id: `task/${string}`;
94
+ }, {
95
+ id: `task/${string}`;
96
+ note?: string | undefined;
97
+ }>>, z.ZodPipe<z.ZodObject<{
98
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
99
+ note: z.ZodOptional<z.ZodString>;
100
+ }, z.core.$strict>, z.ZodTransform<{
101
+ note?: string;
102
+ action: "task.done";
103
+ ids: readonly `task/${string}`[];
104
+ }, {
105
+ ids: readonly `task/${string}`[];
106
+ note?: string | undefined;
107
+ }>>]>;
108
+ readonly "task.drop": z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
109
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
110
+ note: z.ZodOptional<z.ZodString>;
111
+ }, z.core.$strict>, z.ZodTransform<{
112
+ note?: string;
113
+ action: "task.drop";
114
+ id: `task/${string}`;
115
+ }, {
116
+ id: `task/${string}`;
117
+ note?: string | undefined;
118
+ }>>, z.ZodPipe<z.ZodObject<{
119
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
120
+ note: z.ZodOptional<z.ZodString>;
121
+ }, z.core.$strict>, z.ZodTransform<{
122
+ note?: string;
123
+ action: "task.drop";
124
+ ids: readonly `task/${string}`[];
125
+ }, {
126
+ ids: readonly `task/${string}`[];
127
+ note?: string | undefined;
128
+ }>>]>;
129
+ readonly "task.hold": z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
130
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
131
+ }, z.core.$strict>, z.ZodTransform<{
132
+ action: "task.hold";
133
+ id: `task/${string}`;
134
+ }, {
135
+ id: `task/${string}`;
136
+ }>>, z.ZodPipe<z.ZodObject<{
137
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
138
+ }, z.core.$strict>, z.ZodTransform<{
139
+ action: "task.hold";
140
+ ids: readonly `task/${string}`[];
141
+ }, {
142
+ ids: readonly `task/${string}`[];
143
+ }>>]>;
144
+ readonly "task.resume": z.ZodPipe<z.ZodObject<{
145
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
146
+ }, z.core.$strict>, z.ZodTransform<{
147
+ id: `task/${string}`;
148
+ action: "task.resume";
149
+ }, {
150
+ id: `task/${string}`;
151
+ }>>;
152
+ readonly "task.start": z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
153
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
154
+ }, z.core.$strict>, z.ZodTransform<{
155
+ action: "task.start";
156
+ id: `task/${string}`;
157
+ }, {
158
+ id: `task/${string}`;
159
+ }>>, z.ZodPipe<z.ZodObject<{
160
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
161
+ }, z.core.$strict>, z.ZodTransform<{
162
+ action: "task.start";
163
+ ids: readonly `task/${string}`[];
164
+ }, {
165
+ ids: readonly `task/${string}`[];
166
+ }>>]>;
167
+ readonly "task.stop": z.ZodPipe<z.ZodObject<{
168
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
169
+ }, z.core.$strict>, z.ZodTransform<{
170
+ id: `task/${string}`;
171
+ action: "task.stop";
172
+ }, {
173
+ id: `task/${string}`;
174
+ }>>;
175
+ readonly "task.update": z.ZodPipe<z.ZodObject<{
176
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
177
+ input: z.ZodObject<{
178
+ title: z.ZodOptional<z.ZodString>;
179
+ body: z.ZodOptional<z.ZodString>;
180
+ appendBody: z.ZodOptional<z.ZodString>;
181
+ note: z.ZodOptional<z.ZodString>;
182
+ priority: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
183
+ needs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
184
+ addNeeds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
185
+ dropNeeds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
186
+ parent: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
187
+ supersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
188
+ addSupersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
189
+ dropSupersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
190
+ relates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
191
+ addRelates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
192
+ dropRelates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
193
+ }, z.core.$strict>;
194
+ }, z.core.$strict>, z.ZodTransform<{
195
+ id: `task/${string}`;
196
+ input: {
197
+ title?: string | undefined;
198
+ body?: string | undefined;
199
+ appendBody?: string | undefined;
200
+ note?: string | undefined;
201
+ priority?: 0 | 1 | 2 | 3 | undefined;
202
+ needs?: readonly `task/${string}`[] | undefined;
203
+ addNeeds?: readonly `task/${string}`[] | undefined;
204
+ dropNeeds?: readonly `task/${string}`[] | undefined;
205
+ parent?: `task/${string}` | null | undefined;
206
+ supersedes?: readonly `task/${string}`[] | undefined;
207
+ addSupersedes?: readonly `task/${string}`[] | undefined;
208
+ dropSupersedes?: readonly `task/${string}`[] | undefined;
209
+ relates?: readonly `task/${string}`[] | undefined;
210
+ addRelates?: readonly `task/${string}`[] | undefined;
211
+ dropRelates?: readonly `task/${string}`[] | undefined;
212
+ };
213
+ action: "task.update";
214
+ }, {
215
+ id: `task/${string}`;
216
+ input: {
217
+ title?: string | undefined;
218
+ body?: string | undefined;
219
+ appendBody?: string | undefined;
220
+ note?: string | undefined;
221
+ priority?: 0 | 1 | 2 | 3 | undefined;
222
+ needs?: readonly `task/${string}`[] | undefined;
223
+ addNeeds?: readonly `task/${string}`[] | undefined;
224
+ dropNeeds?: readonly `task/${string}`[] | undefined;
225
+ parent?: `task/${string}` | null | undefined;
226
+ supersedes?: readonly `task/${string}`[] | undefined;
227
+ addSupersedes?: readonly `task/${string}`[] | undefined;
228
+ dropSupersedes?: readonly `task/${string}`[] | undefined;
229
+ relates?: readonly `task/${string}`[] | undefined;
230
+ addRelates?: readonly `task/${string}`[] | undefined;
231
+ dropRelates?: readonly `task/${string}`[] | undefined;
232
+ };
233
+ }>>;
234
+ };
235
+ export type TaskMutationRequest = z.infer<(typeof taskRequestSchemas)[TaskMutationAction]>;
236
+ declare const taskBodyRequestSchemas: {
237
+ readonly "task.add": z.ZodObject<{
238
+ world: z.ZodString;
239
+ request: z.ZodPipe<z.ZodObject<{
240
+ input: z.ZodObject<{
241
+ title: z.ZodString;
242
+ namespace: z.ZodReadonly<z.ZodArray<z.ZodString>>;
243
+ body: z.ZodOptional<z.ZodString>;
244
+ note: z.ZodOptional<z.ZodString>;
245
+ state: z.ZodOptional<z.ZodEnum<{
246
+ open: "open";
247
+ in_progress: "in_progress";
248
+ on_hold: "on_hold";
249
+ done: "done";
250
+ drop: "drop";
251
+ }>>;
252
+ priority: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
253
+ needs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
254
+ parent: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
255
+ supersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
256
+ relates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
257
+ }, z.core.$strict>;
258
+ }, z.core.$strict>, z.ZodTransform<{
259
+ action: "task.add";
260
+ input: {
261
+ title: string;
262
+ namespace: readonly string[];
263
+ body?: string | undefined;
264
+ note?: string | undefined;
265
+ state?: "open" | "in_progress" | "on_hold" | "done" | "drop" | undefined;
266
+ priority?: 0 | 1 | 2 | 3 | undefined;
267
+ needs?: readonly `task/${string}`[] | undefined;
268
+ parent?: `task/${string}` | null | undefined;
269
+ supersedes?: readonly `task/${string}`[] | undefined;
270
+ relates?: readonly `task/${string}`[] | undefined;
271
+ };
272
+ }, {
273
+ input: {
274
+ title: string;
275
+ namespace: readonly string[];
276
+ body?: string | undefined;
277
+ note?: string | undefined;
278
+ state?: "open" | "in_progress" | "on_hold" | "done" | "drop" | undefined;
279
+ priority?: 0 | 1 | 2 | 3 | undefined;
280
+ needs?: readonly `task/${string}`[] | undefined;
281
+ parent?: `task/${string}` | null | undefined;
282
+ supersedes?: readonly `task/${string}`[] | undefined;
283
+ relates?: readonly `task/${string}`[] | undefined;
284
+ };
285
+ }>>;
286
+ }, z.core.$strict>;
287
+ readonly "task.addDocument": z.ZodObject<{
288
+ world: z.ZodString;
289
+ request: z.ZodPipe<z.ZodObject<{
290
+ input: z.ZodObject<{
291
+ markdown: z.ZodString;
292
+ namespace: z.ZodReadonly<z.ZodArray<z.ZodString>>;
293
+ }, z.core.$strict>;
294
+ }, z.core.$strict>, z.ZodTransform<{
295
+ action: "task.addDocument";
296
+ input: {
297
+ markdown: string;
298
+ namespace: readonly string[];
299
+ };
300
+ }, {
301
+ input: {
302
+ markdown: string;
303
+ namespace: readonly string[];
304
+ };
305
+ }>>;
306
+ }, z.core.$strict>;
307
+ readonly "task.compose": z.ZodObject<{
308
+ world: z.ZodString;
309
+ request: z.ZodPipe<z.ZodObject<{
310
+ markdown: z.ZodString;
311
+ namespace: z.ZodReadonly<z.ZodArray<z.ZodString>>;
312
+ }, z.core.$strict>, z.ZodTransform<{
313
+ markdown: string;
314
+ namespace: readonly string[];
315
+ action: "task.compose";
316
+ }, {
317
+ markdown: string;
318
+ namespace: readonly string[];
319
+ }>>;
320
+ }, z.core.$strict>;
321
+ readonly "task.done": z.ZodObject<{
322
+ world: z.ZodString;
323
+ request: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
324
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
325
+ note: z.ZodOptional<z.ZodString>;
326
+ }, z.core.$strict>, z.ZodTransform<{
327
+ note?: string;
328
+ action: "task.done";
329
+ id: `task/${string}`;
330
+ }, {
331
+ id: `task/${string}`;
332
+ note?: string | undefined;
333
+ }>>, z.ZodPipe<z.ZodObject<{
334
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
335
+ note: z.ZodOptional<z.ZodString>;
336
+ }, z.core.$strict>, z.ZodTransform<{
337
+ note?: string;
338
+ action: "task.done";
339
+ ids: readonly `task/${string}`[];
340
+ }, {
341
+ ids: readonly `task/${string}`[];
342
+ note?: string | undefined;
343
+ }>>]>;
344
+ }, z.core.$strict>;
345
+ readonly "task.drop": z.ZodObject<{
346
+ world: z.ZodString;
347
+ request: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
348
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
349
+ note: z.ZodOptional<z.ZodString>;
350
+ }, z.core.$strict>, z.ZodTransform<{
351
+ note?: string;
352
+ action: "task.drop";
353
+ id: `task/${string}`;
354
+ }, {
355
+ id: `task/${string}`;
356
+ note?: string | undefined;
357
+ }>>, z.ZodPipe<z.ZodObject<{
358
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
359
+ note: z.ZodOptional<z.ZodString>;
360
+ }, z.core.$strict>, z.ZodTransform<{
361
+ note?: string;
362
+ action: "task.drop";
363
+ ids: readonly `task/${string}`[];
364
+ }, {
365
+ ids: readonly `task/${string}`[];
366
+ note?: string | undefined;
367
+ }>>]>;
368
+ }, z.core.$strict>;
369
+ readonly "task.hold": z.ZodObject<{
370
+ world: z.ZodString;
371
+ request: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
372
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
373
+ }, z.core.$strict>, z.ZodTransform<{
374
+ action: "task.hold";
375
+ id: `task/${string}`;
376
+ }, {
377
+ id: `task/${string}`;
378
+ }>>, z.ZodPipe<z.ZodObject<{
379
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
380
+ }, z.core.$strict>, z.ZodTransform<{
381
+ action: "task.hold";
382
+ ids: readonly `task/${string}`[];
383
+ }, {
384
+ ids: readonly `task/${string}`[];
385
+ }>>]>;
386
+ }, z.core.$strict>;
387
+ readonly "task.resume": z.ZodObject<{
388
+ world: z.ZodString;
389
+ request: z.ZodPipe<z.ZodObject<{
390
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
391
+ }, z.core.$strict>, z.ZodTransform<{
392
+ id: `task/${string}`;
393
+ action: "task.resume";
394
+ }, {
395
+ id: `task/${string}`;
396
+ }>>;
397
+ }, z.core.$strict>;
398
+ readonly "task.start": z.ZodObject<{
399
+ world: z.ZodString;
400
+ request: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
401
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
402
+ }, z.core.$strict>, z.ZodTransform<{
403
+ action: "task.start";
404
+ id: `task/${string}`;
405
+ }, {
406
+ id: `task/${string}`;
407
+ }>>, z.ZodPipe<z.ZodObject<{
408
+ ids: z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
409
+ }, z.core.$strict>, z.ZodTransform<{
410
+ action: "task.start";
411
+ ids: readonly `task/${string}`[];
412
+ }, {
413
+ ids: readonly `task/${string}`[];
414
+ }>>]>;
415
+ }, z.core.$strict>;
416
+ readonly "task.stop": z.ZodObject<{
417
+ world: z.ZodString;
418
+ request: z.ZodPipe<z.ZodObject<{
419
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
420
+ }, z.core.$strict>, z.ZodTransform<{
421
+ id: `task/${string}`;
422
+ action: "task.stop";
423
+ }, {
424
+ id: `task/${string}`;
425
+ }>>;
426
+ }, z.core.$strict>;
427
+ readonly "task.update": z.ZodObject<{
428
+ world: z.ZodString;
429
+ request: z.ZodPipe<z.ZodObject<{
430
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>;
431
+ input: z.ZodObject<{
432
+ title: z.ZodOptional<z.ZodString>;
433
+ body: z.ZodOptional<z.ZodString>;
434
+ appendBody: z.ZodOptional<z.ZodString>;
435
+ note: z.ZodOptional<z.ZodString>;
436
+ priority: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
437
+ needs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
438
+ addNeeds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
439
+ dropNeeds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
440
+ parent: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>;
441
+ supersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
442
+ addSupersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
443
+ dropSupersedes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
444
+ relates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
445
+ addRelates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
446
+ dropRelates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`task/${string}`, string>>>>>;
447
+ }, z.core.$strict>;
448
+ }, z.core.$strict>, z.ZodTransform<{
449
+ id: `task/${string}`;
450
+ input: {
451
+ title?: string | undefined;
452
+ body?: string | undefined;
453
+ appendBody?: string | undefined;
454
+ note?: string | undefined;
455
+ priority?: 0 | 1 | 2 | 3 | undefined;
456
+ needs?: readonly `task/${string}`[] | undefined;
457
+ addNeeds?: readonly `task/${string}`[] | undefined;
458
+ dropNeeds?: readonly `task/${string}`[] | undefined;
459
+ parent?: `task/${string}` | null | undefined;
460
+ supersedes?: readonly `task/${string}`[] | undefined;
461
+ addSupersedes?: readonly `task/${string}`[] | undefined;
462
+ dropSupersedes?: readonly `task/${string}`[] | undefined;
463
+ relates?: readonly `task/${string}`[] | undefined;
464
+ addRelates?: readonly `task/${string}`[] | undefined;
465
+ dropRelates?: readonly `task/${string}`[] | undefined;
466
+ };
467
+ action: "task.update";
468
+ }, {
469
+ id: `task/${string}`;
470
+ input: {
471
+ title?: string | undefined;
472
+ body?: string | undefined;
473
+ appendBody?: string | undefined;
474
+ note?: string | undefined;
475
+ priority?: 0 | 1 | 2 | 3 | undefined;
476
+ needs?: readonly `task/${string}`[] | undefined;
477
+ addNeeds?: readonly `task/${string}`[] | undefined;
478
+ dropNeeds?: readonly `task/${string}`[] | undefined;
479
+ parent?: `task/${string}` | null | undefined;
480
+ supersedes?: readonly `task/${string}`[] | undefined;
481
+ addSupersedes?: readonly `task/${string}`[] | undefined;
482
+ dropSupersedes?: readonly `task/${string}`[] | undefined;
483
+ relates?: readonly `task/${string}`[] | undefined;
484
+ addRelates?: readonly `task/${string}`[] | undefined;
485
+ dropRelates?: readonly `task/${string}`[] | undefined;
486
+ };
487
+ }>>;
488
+ }, z.core.$strict>;
489
+ };
490
+ export type TaskMutationBodyRequest = Readonly<{
491
+ world: z.infer<(typeof taskBodyRequestSchemas)[TaskMutationAction]>["world"];
492
+ request: TaskMutationRequest;
493
+ }>;
494
+ export declare const taskMutationServiceSchema: z.ZodObject<{
495
+ action: z.ZodEnum<{
496
+ "task.add": "task.add";
497
+ "task.addDocument": "task.addDocument";
498
+ "task.compose": "task.compose";
499
+ "task.done": "task.done";
500
+ "task.drop": "task.drop";
501
+ "task.hold": "task.hold";
502
+ "task.resume": "task.resume";
503
+ "task.start": "task.start";
504
+ "task.stop": "task.stop";
505
+ "task.update": "task.update";
17
506
  }>;
18
- }> | Readonly<{
507
+ }, z.core.$strict>;
508
+ export type TaskMutationService = z.infer<typeof taskMutationServiceSchema>;
509
+ export declare const forwardedTaskReferenceSchema: z.ZodObject<{
510
+ kind: z.ZodLiteral<"served-reference">;
511
+ action: z.ZodEnum<{
512
+ "task.add": "task.add";
513
+ "task.addDocument": "task.addDocument";
514
+ "task.compose": "task.compose";
515
+ "task.done": "task.done";
516
+ "task.drop": "task.drop";
517
+ "task.hold": "task.hold";
518
+ "task.resume": "task.resume";
519
+ "task.start": "task.start";
520
+ "task.stop": "task.stop";
521
+ "task.update": "task.update";
522
+ }>;
523
+ }, z.core.$strict>;
524
+ export type ForwardedTaskReference = z.infer<typeof forwardedTaskReferenceSchema>;
525
+ export type TaskMutationResultForRequest<Request extends TaskMutationRequest> = Request extends Readonly<{
19
526
  action: "task.compose";
20
- markdown: string;
21
- namespace: readonly string[];
22
- }> | Readonly<{
527
+ }> ? TaskCompositionResult : Request extends Readonly<{
23
528
  action: "task.update";
24
- id: TaskId;
25
- input: Omit<UpdateTaskInput, "signal">;
26
- }> | Readonly<{
27
- action: "task.start" | "task.stop" | "task.resume";
28
- id: TaskId;
29
- }> | Readonly<{
30
- action: "task.hold";
31
- ids: readonly TaskId[];
32
- }> | Readonly<{
33
- action: "task.done" | "task.drop";
34
- ids: readonly TaskId[];
35
- note?: string;
529
+ }> ? TaskUpdateResult : Request extends Readonly<{
530
+ ids: readonly string[];
531
+ }> ? TaskBatchResult : TaskMutationResult;
532
+ export type TaskMutationRequestPort = Readonly<{
533
+ task(input: Readonly<{
534
+ world: WorldRoot;
535
+ request: TaskMutationRequest;
536
+ requester: string;
537
+ signal: AbortSignal;
538
+ }>): Promise<TaskMutationExecutionResult>;
539
+ }>;
540
+ type TaskMutationExecutionContext = Readonly<{
541
+ requester: string;
542
+ signal: AbortSignal;
543
+ upstream: TaskMutationRequestPort;
36
544
  }>;
37
- export type TaskMutationExecutionResult = TaskMutationResult | TaskUpdateResult | TaskBatchResult | TaskCompositionResult;
545
+ /** Task owns forwarded mutation payload, live result, and durable service evidence. */
546
+ export declare function taskMutationRequestCommand(action: TaskMutationAction): RequestCommand<TaskMutationBodyRequest, TaskMutationExecutionResult, TaskMutationService, ForwardedTaskReference, TaskMutationExecutionContext>;
547
+ export declare function taskMutationRequestCommands(): Readonly<Record<TaskMutationAction, ErasedRequestCommand>>;
548
+ export declare function requestForwardedTask<Request extends TaskMutationRequest>(input: Readonly<{
549
+ directory: string;
550
+ id?: never;
551
+ world: WorldRoot;
552
+ request: Request;
553
+ signal?: AbortSignal;
554
+ }>): Promise<TaskMutationResultForRequest<Request>>;
555
+ export declare function requestForwardedTask<Request extends TaskMutationRequest>(input: Readonly<{
556
+ directory: string;
557
+ id: string;
558
+ world: WorldRoot;
559
+ request: Request;
560
+ signal?: AbortSignal;
561
+ }>): Promise<TaskMutationResultForRequest<Request> | ForwardedTaskReference>;
38
562
  export declare function decodeTaskMutationRequest(action: TaskMutationAction, value: unknown): TaskMutationRequest;
39
563
  export declare function executeTaskMutation(input: Readonly<{
40
564
  world: WorldRoot;