@kynetic-ai/spec 0.9.1 → 0.10.0

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 (262) hide show
  1. package/README.md +2 -1
  2. package/dist/acp/client.d.ts +6 -1
  3. package/dist/acp/client.d.ts.map +1 -1
  4. package/dist/acp/client.js +7 -2
  5. package/dist/acp/client.js.map +1 -1
  6. package/dist/acp/framing.d.ts +12 -1
  7. package/dist/acp/framing.d.ts.map +1 -1
  8. package/dist/acp/framing.js +27 -4
  9. package/dist/acp/framing.js.map +1 -1
  10. package/dist/agent-runtime/dispatch.d.ts +261 -0
  11. package/dist/agent-runtime/dispatch.d.ts.map +1 -0
  12. package/dist/agent-runtime/dispatch.js +791 -0
  13. package/dist/agent-runtime/dispatch.js.map +1 -0
  14. package/dist/agent-runtime/index.d.ts +11 -0
  15. package/dist/agent-runtime/index.d.ts.map +1 -0
  16. package/dist/agent-runtime/index.js +11 -0
  17. package/dist/agent-runtime/index.js.map +1 -0
  18. package/dist/agent-runtime/invocation.d.ts +86 -0
  19. package/dist/agent-runtime/invocation.d.ts.map +1 -0
  20. package/dist/agent-runtime/invocation.js +442 -0
  21. package/dist/agent-runtime/invocation.js.map +1 -0
  22. package/dist/agent-runtime/prompts.d.ts +50 -0
  23. package/dist/agent-runtime/prompts.d.ts.map +1 -0
  24. package/dist/agent-runtime/prompts.js +108 -0
  25. package/dist/agent-runtime/prompts.js.map +1 -0
  26. package/dist/agents/spawner.d.ts.map +1 -1
  27. package/dist/agents/spawner.js +60 -4
  28. package/dist/agents/spawner.js.map +1 -1
  29. package/dist/cli/batch-exec.d.ts.map +1 -1
  30. package/dist/cli/batch-exec.js +140 -62
  31. package/dist/cli/batch-exec.js.map +1 -1
  32. package/dist/cli/batch-write-buffer.d.ts +141 -0
  33. package/dist/cli/batch-write-buffer.d.ts.map +1 -0
  34. package/dist/cli/batch-write-buffer.js +400 -0
  35. package/dist/cli/batch-write-buffer.js.map +1 -0
  36. package/dist/cli/commands/agent.d.ts +20 -0
  37. package/dist/cli/commands/agent.d.ts.map +1 -0
  38. package/dist/cli/commands/agent.js +831 -0
  39. package/dist/cli/commands/agent.js.map +1 -0
  40. package/dist/cli/commands/inbox.d.ts.map +1 -1
  41. package/dist/cli/commands/inbox.js +46 -22
  42. package/dist/cli/commands/inbox.js.map +1 -1
  43. package/dist/cli/commands/index.d.ts +1 -0
  44. package/dist/cli/commands/index.d.ts.map +1 -1
  45. package/dist/cli/commands/index.js +1 -0
  46. package/dist/cli/commands/index.js.map +1 -1
  47. package/dist/cli/commands/item.d.ts.map +1 -1
  48. package/dist/cli/commands/item.js +22 -16
  49. package/dist/cli/commands/item.js.map +1 -1
  50. package/dist/cli/commands/log.js +1 -1
  51. package/dist/cli/commands/log.js.map +1 -1
  52. package/dist/cli/commands/meta.d.ts.map +1 -1
  53. package/dist/cli/commands/meta.js +159 -6
  54. package/dist/cli/commands/meta.js.map +1 -1
  55. package/dist/cli/commands/module.d.ts.map +1 -1
  56. package/dist/cli/commands/module.js +2 -1
  57. package/dist/cli/commands/module.js.map +1 -1
  58. package/dist/cli/commands/plan-import.js +19 -3
  59. package/dist/cli/commands/plan-import.js.map +1 -1
  60. package/dist/cli/commands/plan.d.ts.map +1 -1
  61. package/dist/cli/commands/plan.js +87 -43
  62. package/dist/cli/commands/plan.js.map +1 -1
  63. package/dist/cli/commands/ralph.d.ts +5 -56
  64. package/dist/cli/commands/ralph.d.ts.map +1 -1
  65. package/dist/cli/commands/ralph.js +52 -1502
  66. package/dist/cli/commands/ralph.js.map +1 -1
  67. package/dist/cli/commands/search.d.ts.map +1 -1
  68. package/dist/cli/commands/search.js +22 -13
  69. package/dist/cli/commands/search.js.map +1 -1
  70. package/dist/cli/commands/serve.d.ts.map +1 -1
  71. package/dist/cli/commands/serve.js +70 -11
  72. package/dist/cli/commands/serve.js.map +1 -1
  73. package/dist/cli/commands/session/checkpoint.d.ts.map +1 -1
  74. package/dist/cli/commands/session/checkpoint.js +7 -2
  75. package/dist/cli/commands/session/checkpoint.js.map +1 -1
  76. package/dist/cli/commands/session/commands.d.ts.map +1 -1
  77. package/dist/cli/commands/session/commands.js +15 -0
  78. package/dist/cli/commands/session/commands.js.map +1 -1
  79. package/dist/cli/commands/session/context.d.ts.map +1 -1
  80. package/dist/cli/commands/session/context.js +10 -5
  81. package/dist/cli/commands/session/context.js.map +1 -1
  82. package/dist/cli/commands/session/log.d.ts +1 -0
  83. package/dist/cli/commands/session/log.d.ts.map +1 -1
  84. package/dist/cli/commands/session/log.js +124 -8
  85. package/dist/cli/commands/session/log.js.map +1 -1
  86. package/dist/cli/commands/session/stale-close.d.ts +17 -0
  87. package/dist/cli/commands/session/stale-close.d.ts.map +1 -0
  88. package/dist/cli/commands/session/stale-close.js +378 -0
  89. package/dist/cli/commands/session/stale-close.js.map +1 -0
  90. package/dist/cli/commands/setup.d.ts.map +1 -1
  91. package/dist/cli/commands/setup.js +95 -0
  92. package/dist/cli/commands/setup.js.map +1 -1
  93. package/dist/cli/commands/skill-crud.d.ts.map +1 -1
  94. package/dist/cli/commands/skill-crud.js +4 -3
  95. package/dist/cli/commands/skill-crud.js.map +1 -1
  96. package/dist/cli/commands/skill-diff.d.ts.map +1 -1
  97. package/dist/cli/commands/skill-diff.js +15 -0
  98. package/dist/cli/commands/skill-diff.js.map +1 -1
  99. package/dist/cli/commands/skill-install.d.ts.map +1 -1
  100. package/dist/cli/commands/skill-install.js +50 -18
  101. package/dist/cli/commands/skill-install.js.map +1 -1
  102. package/dist/cli/commands/task.d.ts.map +1 -1
  103. package/dist/cli/commands/task.js +536 -310
  104. package/dist/cli/commands/task.js.map +1 -1
  105. package/dist/cli/commands/tasks.js +1 -1
  106. package/dist/cli/commands/tasks.js.map +1 -1
  107. package/dist/cli/commands/triage.d.ts.map +1 -1
  108. package/dist/cli/commands/triage.js +37 -13
  109. package/dist/cli/commands/triage.js.map +1 -1
  110. package/dist/cli/commands/validate.d.ts.map +1 -1
  111. package/dist/cli/commands/validate.js +65 -25
  112. package/dist/cli/commands/validate.js.map +1 -1
  113. package/dist/cli/help/content.d.ts.map +1 -1
  114. package/dist/cli/help/content.js +5 -0
  115. package/dist/cli/help/content.js.map +1 -1
  116. package/dist/cli/index.d.ts.map +1 -1
  117. package/dist/cli/index.js +2 -1
  118. package/dist/cli/index.js.map +1 -1
  119. package/dist/cli/output.d.ts.map +1 -1
  120. package/dist/cli/output.js +5 -1
  121. package/dist/cli/output.js.map +1 -1
  122. package/dist/daemon/project-context.ts +22 -0
  123. package/dist/daemon/routes/agent-dispatch.ts +272 -0
  124. package/dist/daemon/server.ts +55 -20
  125. package/dist/daemon/websocket/handler.ts +67 -6
  126. package/dist/daemon/websocket/lifecycle.ts +19 -0
  127. package/dist/daemon/websocket/pubsub.ts +74 -3
  128. package/dist/export/html.d.ts.map +1 -1
  129. package/dist/export/html.js +5 -2
  130. package/dist/export/html.js.map +1 -1
  131. package/dist/export/triage.d.ts +1 -1
  132. package/dist/export/triage.d.ts.map +1 -1
  133. package/dist/export/triage.js +5 -3
  134. package/dist/export/triage.js.map +1 -1
  135. package/dist/parser/alignment.d.ts.map +1 -1
  136. package/dist/parser/alignment.js +6 -3
  137. package/dist/parser/alignment.js.map +1 -1
  138. package/dist/parser/assess.js +1 -1
  139. package/dist/parser/assess.js.map +1 -1
  140. package/dist/parser/config.d.ts +6 -6
  141. package/dist/parser/meta.d.ts.map +1 -1
  142. package/dist/parser/meta.js +9 -8
  143. package/dist/parser/meta.js.map +1 -1
  144. package/dist/parser/plan-document.d.ts +12 -12
  145. package/dist/parser/plans.d.ts +7 -0
  146. package/dist/parser/plans.d.ts.map +1 -1
  147. package/dist/parser/plans.js +100 -15
  148. package/dist/parser/plans.js.map +1 -1
  149. package/dist/parser/refs.d.ts +5 -0
  150. package/dist/parser/refs.d.ts.map +1 -1
  151. package/dist/parser/refs.js +17 -12
  152. package/dist/parser/refs.js.map +1 -1
  153. package/dist/parser/shadow.d.ts +1 -1
  154. package/dist/parser/shadow.d.ts.map +1 -1
  155. package/dist/parser/shadow.js +71 -4
  156. package/dist/parser/shadow.js.map +1 -1
  157. package/dist/parser/skill-render.d.ts.map +1 -1
  158. package/dist/parser/skill-render.js +6 -3
  159. package/dist/parser/skill-render.js.map +1 -1
  160. package/dist/parser/validate.d.ts.map +1 -1
  161. package/dist/parser/validate.js +35 -76
  162. package/dist/parser/validate.js.map +1 -1
  163. package/dist/parser/yaml.d.ts +24 -5
  164. package/dist/parser/yaml.d.ts.map +1 -1
  165. package/dist/parser/yaml.js +224 -64
  166. package/dist/parser/yaml.js.map +1 -1
  167. package/dist/schema/meta.d.ts +442 -119
  168. package/dist/schema/meta.d.ts.map +1 -1
  169. package/dist/schema/meta.js +55 -0
  170. package/dist/schema/meta.js.map +1 -1
  171. package/dist/schema/plan.d.ts +22 -22
  172. package/dist/schema/spec.d.ts +39 -39
  173. package/dist/schema/task.d.ts +43 -32
  174. package/dist/schema/task.d.ts.map +1 -1
  175. package/dist/schema/task.js +5 -0
  176. package/dist/schema/task.js.map +1 -1
  177. package/dist/sessions/store.d.ts +112 -0
  178. package/dist/sessions/store.d.ts.map +1 -1
  179. package/dist/sessions/store.js +414 -22
  180. package/dist/sessions/store.js.map +1 -1
  181. package/dist/sessions/types.d.ts +75 -17
  182. package/dist/sessions/types.d.ts.map +1 -1
  183. package/dist/sessions/types.js +51 -1
  184. package/dist/sessions/types.js.map +1 -1
  185. package/dist/triage/actions.d.ts +1 -0
  186. package/dist/triage/actions.d.ts.map +1 -1
  187. package/dist/triage/actions.js +34 -7
  188. package/dist/triage/actions.js.map +1 -1
  189. package/dist/utils/commit.js +1 -1
  190. package/dist/utils/commit.js.map +1 -1
  191. package/dist/web-ui/_app/env.js +1 -0
  192. package/dist/web-ui/_app/immutable/assets/0.BxCxvrZR.css +1 -0
  193. package/dist/web-ui/_app/immutable/assets/select-trigger.CV-KWLNP.css +1 -0
  194. package/dist/web-ui/_app/immutable/chunks/B-CZR0q8.js +1 -0
  195. package/dist/web-ui/_app/immutable/chunks/B1IR5Su5.js +1 -0
  196. package/dist/web-ui/_app/immutable/chunks/BCkp8Hs8.js +1 -0
  197. package/dist/web-ui/_app/immutable/chunks/B_Cvvtc4.js +1 -0
  198. package/dist/web-ui/_app/immutable/chunks/BtFaGGII.js +1 -0
  199. package/dist/web-ui/_app/immutable/chunks/Bu8JVsCH.js +1 -0
  200. package/dist/web-ui/_app/immutable/chunks/C87u-CNA.js +1 -0
  201. package/dist/web-ui/_app/immutable/chunks/CrFkBTYp.js +1 -0
  202. package/dist/web-ui/_app/immutable/chunks/D1ArdqNb.js +1 -0
  203. package/dist/web-ui/_app/immutable/chunks/D28BF5MJ.js +1 -0
  204. package/dist/web-ui/_app/immutable/chunks/D6RtLpzL.js +1 -0
  205. package/dist/web-ui/_app/immutable/chunks/D7FHSgx2.js +1 -0
  206. package/dist/web-ui/_app/immutable/chunks/DBXrsxZQ.js +2 -0
  207. package/dist/web-ui/_app/immutable/chunks/Da_hHMuA.js +1 -0
  208. package/dist/web-ui/_app/immutable/chunks/Do6LchSF.js +1 -0
  209. package/dist/web-ui/_app/immutable/chunks/DoNPtcAw.js +1 -0
  210. package/dist/web-ui/_app/immutable/chunks/DtUbXRZz.js +1 -0
  211. package/dist/web-ui/_app/immutable/chunks/DyFPRlLl.js +1 -0
  212. package/dist/web-ui/_app/immutable/chunks/DzAP8lRM.js +1 -0
  213. package/dist/web-ui/_app/immutable/chunks/DzVXElzN.js +2 -0
  214. package/dist/web-ui/_app/immutable/chunks/aoPBFken.js +1 -0
  215. package/dist/web-ui/_app/immutable/chunks/i-XnOIX0.js +1 -0
  216. package/dist/web-ui/_app/immutable/chunks/laxtrUO3.js +1 -0
  217. package/dist/web-ui/_app/immutable/chunks/q1nIWgqB.js +1 -0
  218. package/dist/web-ui/_app/immutable/chunks/sTLbk5Nm.js +1 -0
  219. package/dist/web-ui/_app/immutable/chunks/vwKgQu5P.js +5 -0
  220. package/dist/web-ui/_app/immutable/entry/app.BCwMcqnT.js +2 -0
  221. package/dist/web-ui/_app/immutable/entry/start.wKCQH-tt.js +1 -0
  222. package/dist/web-ui/_app/immutable/nodes/0.CjGVMG74.js +1 -0
  223. package/dist/web-ui/_app/immutable/nodes/1.B6_AIPan.js +1 -0
  224. package/dist/web-ui/_app/immutable/nodes/2.q4oCS7Ws.js +1 -0
  225. package/dist/web-ui/_app/immutable/nodes/3.rTKZf9o2.js +1 -0
  226. package/dist/web-ui/_app/immutable/nodes/4.DVIDRu1d.js +1 -0
  227. package/dist/web-ui/_app/immutable/nodes/5.8PtPXIOd.js +1 -0
  228. package/dist/web-ui/_app/immutable/nodes/6.ZZrTemy_.js +1 -0
  229. package/dist/web-ui/_app/immutable/nodes/7.IP-gxCxi.js +1 -0
  230. package/dist/web-ui/_app/version.json +1 -0
  231. package/dist/web-ui/index.html +36 -0
  232. package/dist/web-ui/robots.txt +3 -0
  233. package/package.json +3 -2
  234. package/plugin/.claude-plugin/marketplace.json +1 -1
  235. package/plugin/.claude-plugin/plugin.json +1 -1
  236. package/plugin/plugins/kspec/skills/task-work/SKILL.md +25 -2
  237. package/templates/agents-sections/06-ralph-loop.md +64 -11
  238. package/templates/skills/task-work/SKILL.md +25 -2
  239. package/dist/ralph/cli-renderer.d.ts +0 -27
  240. package/dist/ralph/cli-renderer.d.ts.map +0 -1
  241. package/dist/ralph/cli-renderer.js +0 -250
  242. package/dist/ralph/cli-renderer.js.map +0 -1
  243. package/dist/ralph/events.d.ts +0 -65
  244. package/dist/ralph/events.d.ts.map +0 -1
  245. package/dist/ralph/events.js +0 -600
  246. package/dist/ralph/events.js.map +0 -1
  247. package/dist/ralph/index.d.ts +0 -11
  248. package/dist/ralph/index.d.ts.map +0 -1
  249. package/dist/ralph/index.js +0 -16
  250. package/dist/ralph/index.js.map +0 -1
  251. package/dist/ralph/loop-errors.d.ts +0 -83
  252. package/dist/ralph/loop-errors.d.ts.map +0 -1
  253. package/dist/ralph/loop-errors.js +0 -150
  254. package/dist/ralph/loop-errors.js.map +0 -1
  255. package/dist/ralph/subagent.d.ts +0 -127
  256. package/dist/ralph/subagent.d.ts.map +0 -1
  257. package/dist/ralph/subagent.js +0 -268
  258. package/dist/ralph/subagent.js.map +0 -1
  259. package/dist/ralph/wrap-up.d.ts +0 -127
  260. package/dist/ralph/wrap-up.d.ts.map +0 -1
  261. package/dist/ralph/wrap-up.js +0 -271
  262. package/dist/ralph/wrap-up.js.map +0 -1
package/README.md CHANGED
@@ -301,11 +301,12 @@ kspec validate --alignment # Spec-task alignment
301
301
  kspec validate --completeness # Spec completeness
302
302
  kspec validate --orphans # Orphaned items
303
303
  kspec validate --strict # Treat warnings as errors
304
+ kspec validate --warnings-ok # Treat warnings-only as success (exit 0)
304
305
  kspec validate --fix # Auto-fix (invalid ULIDs, missing timestamps)
305
306
  kspec validate -v # Verbose output
306
307
  ```
307
308
 
308
- **Exit codes:** `0` = success, `4` = validation errors, `6` = warnings only.
309
+ **Exit codes:** `0` = success, `4` = validation errors, `6` = warnings only (unless `--warnings-ok`).
309
310
 
310
311
  ## Session Log
311
312
 
@@ -170,8 +170,13 @@ export declare class ACPClient extends EventEmitter {
170
170
  * Close the client connection
171
171
  *
172
172
  * Rejects any pending requests and cleans up resources.
173
+ *
174
+ * @param reason - Optional reason message for pending request rejections.
175
+ * Defaults to "JsonRpcFraming closed". Pass process exit info here so
176
+ * callers see "Subagent process exited with signal SIGKILL" instead of
177
+ * the opaque framing error.
173
178
  */
174
- close(): void;
179
+ close(reason?: string): void;
175
180
  /**
176
181
  * Handle incoming notifications from the agent
177
182
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/acp/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/acp/client.ts"],"names":[],"mappings":"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"}
@@ -265,10 +265,15 @@ export class ACPClient extends EventEmitter {
265
265
  * Close the client connection
266
266
  *
267
267
  * Rejects any pending requests and cleans up resources.
268
+ *
269
+ * @param reason - Optional reason message for pending request rejections.
270
+ * Defaults to "JsonRpcFraming closed". Pass process exit info here so
271
+ * callers see "Subagent process exited with signal SIGKILL" instead of
272
+ * the opaque framing error.
268
273
  */
269
- close() {
274
+ close(reason) {
270
275
  this.sessions.clear();
271
- this.framing.close();
276
+ this.framing.close(reason);
272
277
  }
273
278
  /**
274
279
  * Handle incoming notifications from the agent
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/acp/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/acp/client.ts"],"names":[],"mappings":"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"}
@@ -68,8 +68,12 @@ export declare class JsonRpcFraming extends EventEmitter {
68
68
  sendError(id: string | number | null, error: JsonRpcErrorObject): void;
69
69
  /**
70
70
  * Close the framing layer
71
+ *
72
+ * @param reason - Optional reason message for pending request rejections.
73
+ * Defaults to "JsonRpcFraming closed". Use this to surface process exit
74
+ * information (e.g., "Subagent process exited with signal SIGKILL").
71
75
  */
72
- close(): void;
76
+ close(reason?: string): void;
73
77
  /**
74
78
  * Check if the framing layer is closed
75
79
  */
@@ -115,5 +119,12 @@ export declare class JsonRpcFraming extends EventEmitter {
115
119
  * Handle stdin error
116
120
  */
117
121
  private handleError;
122
+ /**
123
+ * Handle stdout write/pipe errors.
124
+ *
125
+ * EPIPE (or destroyed stream) means the peer is gone. Treat this as a
126
+ * closed connection instead of surfacing an uncaught exception.
127
+ */
128
+ private handleOutputError;
118
129
  }
119
130
  //# sourceMappingURL=framing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"framing.d.ts","sourceRoot":"","sources":["../../src/acp/framing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAEV,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AA2BD;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,qBAA0B;IAsB/C;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,OAAO,CAAC;IA2CnB;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAcxD;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAcxD;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI;IActE;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,OAAO,CAAC,IAAI;IASZ;;OAEG;IACH,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuC3B;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,OAAO,CAAC,WAAW;CAKpB"}
1
+ {"version":3,"file":"framing.d.ts","sourceRoot":"","sources":["../../src/acp/framing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAEV,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AA2BD;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,qBAA0B;IAuB/C;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,OAAO,CAAC;IA2CnB;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAcxD;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAcxD;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI;IActE;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAgB5B;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,OAAO,CAAC,IAAI;IAUZ;;OAEG;IACH,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuC3B;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAa1B"}
@@ -51,6 +51,7 @@ export class JsonRpcFraming extends EventEmitter {
51
51
  this.stdin.on("data", (chunk) => this.handleData(chunk.toString()));
52
52
  this.stdin.on("end", () => this.handleEnd());
53
53
  this.stdin.on("error", (err) => this.handleError(err));
54
+ this.stdout.on("error", (err) => this.handleOutputError(err));
54
55
  }
55
56
  /**
56
57
  * Send a JSON-RPC request and wait for response
@@ -132,15 +133,20 @@ export class JsonRpcFraming extends EventEmitter {
132
133
  }
133
134
  /**
134
135
  * Close the framing layer
136
+ *
137
+ * @param reason - Optional reason message for pending request rejections.
138
+ * Defaults to "JsonRpcFraming closed". Use this to surface process exit
139
+ * information (e.g., "Subagent process exited with signal SIGKILL").
135
140
  */
136
- close() {
141
+ close(reason) {
137
142
  if (this.closed)
138
143
  return;
139
144
  this.closed = true;
145
+ const errorMessage = reason ?? "JsonRpcFraming closed";
140
146
  // Reject all pending requests
141
147
  for (const [id, pending] of this.pending.entries()) {
142
148
  clearTimeout(pending.timer);
143
- pending.reject(new Error("JsonRpcFraming closed"));
149
+ pending.reject(new Error(errorMessage));
144
150
  this.pending.delete(id);
145
151
  }
146
152
  this.emit("close");
@@ -174,12 +180,12 @@ export class JsonRpcFraming extends EventEmitter {
174
180
  * Send a JSON-RPC message
175
181
  */
176
182
  send(message) {
183
+ const json = JSON.stringify(message);
177
184
  try {
178
- const json = JSON.stringify(message);
179
185
  this.stdout.write(`${json}\n`);
180
186
  }
181
187
  catch (err) {
182
- console.error(`Error sending message: ${err}`);
188
+ this.handleOutputError(err);
183
189
  }
184
190
  }
185
191
  /**
@@ -306,5 +312,22 @@ export class JsonRpcFraming extends EventEmitter {
306
312
  this.emit("error", err);
307
313
  this.close();
308
314
  }
315
+ /**
316
+ * Handle stdout write/pipe errors.
317
+ *
318
+ * EPIPE (or destroyed stream) means the peer is gone. Treat this as a
319
+ * closed connection instead of surfacing an uncaught exception.
320
+ */
321
+ handleOutputError(err) {
322
+ const error = err instanceof Error ? err : new Error(String(err));
323
+ const code = error.code;
324
+ if (code === "EPIPE" || code === "ERR_STREAM_DESTROYED") {
325
+ this.close();
326
+ return;
327
+ }
328
+ console.error(`Stdout error: ${error.message}`);
329
+ this.emit("error", error);
330
+ this.close();
331
+ }
309
332
  }
310
333
  //# sourceMappingURL=framing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"framing.js","sourceRoot":"","sources":["../../src/acp/framing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"framing.js","sourceRoot":"","sources":["../../src/acp/framing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,261 @@
1
+ /**
2
+ * Agent Dispatch Engine
3
+ *
4
+ * Core dispatch runtime for the daemon. Watches for task state changes via
5
+ * file watcher events and direct API event emission from CLI commands. Matches
6
+ * state changes against agent dispatch rules, queues invocations, manages
7
+ * concurrency, and handles deduplication of events from dual sources.
8
+ * Serializes shadow branch mutations when multiple agents run concurrently.
9
+ *
10
+ * AC: @agent-dispatch-engine ac-1 through ac-12
11
+ */
12
+ import { type LoadedTask } from "../parser/index.js";
13
+ /**
14
+ * A minimal promise-based mutex for serializing async operations.
15
+ * AC: @agent-dispatch-engine ac-12
16
+ */
17
+ declare class Mutex {
18
+ private _queue;
19
+ private _locked;
20
+ runExclusive<T>(fn: () => Promise<T>): Promise<T>;
21
+ private _acquire;
22
+ private _release;
23
+ }
24
+ /**
25
+ * Task state as used for dispatch tracking.
26
+ */
27
+ export type TaskStatus = "pending" | "in_progress" | "pending_review" | "needs_work" | "blocked" | "completed" | "cancelled";
28
+ /**
29
+ * Interpolate {{variable}} placeholders in a prompt template.
30
+ * Unresolved variables pass through unchanged.
31
+ *
32
+ * AC: @agent-dispatch-engine ac-16
33
+ */
34
+ export declare function interpolateTemplate(template: string, vars: Record<string, string>): string;
35
+ /**
36
+ * Build orientation context block for a dispatch prompt.
37
+ * Provides the agent with task title, trigger meaning, and relevant context.
38
+ *
39
+ * AC: @agent-dispatch-engine ac-13, ac-14, ac-15
40
+ */
41
+ export declare function buildOrientationContext(taskRef: string, trigger: string, task?: {
42
+ title: string;
43
+ notes?: Array<{
44
+ created_at: string;
45
+ author?: string;
46
+ content: string;
47
+ }>;
48
+ review_url?: string;
49
+ }): string;
50
+ /**
51
+ * A state change event for a single task.
52
+ */
53
+ export interface TaskStateChange {
54
+ taskId: string;
55
+ taskRef: string;
56
+ fromStatus: TaskStatus;
57
+ toStatus: TaskStatus;
58
+ timestamp: number;
59
+ /** Optional task data used for filter evaluation (AC-6) */
60
+ task?: LoadedTask;
61
+ }
62
+ /**
63
+ * Invocation lifecycle event payload.
64
+ * AC: @daemon-agent-dispatch ac-3, ac-4
65
+ */
66
+ export interface InvocationEvent {
67
+ type: "started" | "completed" | "failed";
68
+ session_id: string;
69
+ agent_id: string;
70
+ task_id: string | undefined;
71
+ status: "started" | "completed" | "failed";
72
+ timestamp: number;
73
+ }
74
+ /**
75
+ * Options for creating a DispatchEngine.
76
+ */
77
+ export interface DispatchEngineOptions {
78
+ /** Project root directory */
79
+ projectDir: string;
80
+ /**
81
+ * Spec directory (.kspec/ for shadow mode, or same as projectDir for traditional mode).
82
+ * Defaults to projectDir/.kspec if not specified.
83
+ */
84
+ specDir?: string;
85
+ /** Working directory for spawned agents */
86
+ cwd?: string;
87
+ /** Deduplication window in milliseconds (default 2000) */
88
+ dedupWindowMs?: number;
89
+ /** Path to kspec CLI binary (for task notes) */
90
+ kspecCliPath?: string;
91
+ /**
92
+ * Optional callback invoked on invocation lifecycle events (start, complete, fail).
93
+ * AC: @daemon-agent-dispatch ac-3, ac-4
94
+ */
95
+ onInvocationEvent?: (event: InvocationEvent) => void;
96
+ /**
97
+ * Optional callback invoked for each text chunk produced by a running agent.
98
+ * AC: @cli-agent-commands ac-13 (broadcast to watch subscribers)
99
+ * AC: @daemon-agent-dispatch ac-8
100
+ */
101
+ onTextChunk?: (sessionId: string, agentId: string, taskId: string | null, text: string) => void;
102
+ }
103
+ /**
104
+ * The core dispatch runtime.
105
+ *
106
+ * Lifecycle:
107
+ * 1. Create with new DispatchEngine(options)
108
+ * 2. Call start() to bootstrap and begin processing
109
+ * 3. Feed state changes via handleStateChange()
110
+ * 4. Call stop() for graceful shutdown
111
+ *
112
+ * AC: @agent-dispatch-engine ac-1 through ac-12
113
+ */
114
+ export declare class DispatchEngine {
115
+ private projectDir;
116
+ private specDir;
117
+ private cwd;
118
+ private dedupWindowMs;
119
+ private kspecCliPath?;
120
+ private onInvocationEvent?;
121
+ private onTextChunk?;
122
+ /** Queue of pending dispatch entries, per agent id */
123
+ private queues;
124
+ /** Count of active (running) invocations per agent id */
125
+ private activeCount;
126
+ /** Recent dedup keys with their expiry timestamps */
127
+ private recentEvents;
128
+ /** Previous task states (for file watcher diffing) */
129
+ private prevTaskStates;
130
+ /** Mutex serializing shadow branch mutations */
131
+ private shadowMutex;
132
+ /** Whether the engine is currently running */
133
+ private running;
134
+ /** Set of running invocation promises (for graceful shutdown) */
135
+ private runningInvocations;
136
+ /** AbortControllers for active invocations (for graceful cancel on stop) */
137
+ private invocationAbortControllers;
138
+ /** Per-invocation tracking records for status display */
139
+ private activeInvocationDetails;
140
+ /** Monotonic enqueue sequence for deterministic queue ordering */
141
+ private nextQueueSequence;
142
+ constructor(options: DispatchEngineOptions);
143
+ /**
144
+ * Start the dispatch engine.
145
+ *
146
+ * Loads current task states and evaluates dispatch rules for bootstrap.
147
+ * AC: @agent-dispatch-engine ac-8
148
+ */
149
+ start(): Promise<void>;
150
+ /**
151
+ * Handle a task state change event from any source (file watcher or API).
152
+ *
153
+ * AC: @agent-dispatch-engine ac-1, ac-2, ac-4, ac-5, ac-6, ac-7
154
+ */
155
+ handleStateChange(change: TaskStateChange): Promise<void>;
156
+ /**
157
+ * Handle file watcher notification: diff previous vs current task states.
158
+ *
159
+ * AC: @agent-dispatch-engine ac-5
160
+ */
161
+ handleFileChange(specDir: string): Promise<void>;
162
+ /**
163
+ * Stop the dispatch engine gracefully.
164
+ *
165
+ * Sends cancel signals to all active invocations and waits for them to finish.
166
+ * AC: @agent-dispatch-engine ac-11
167
+ */
168
+ stop(): Promise<void>;
169
+ /**
170
+ * Get the shadow mutex for external callers that need to serialize mutations.
171
+ * AC: @agent-dispatch-engine ac-12
172
+ */
173
+ getShadowMutex(): Mutex;
174
+ /**
175
+ * Returns current engine status info including per-invocation details.
176
+ * AC: @cli-agent-commands ac-6
177
+ */
178
+ getStatus(): {
179
+ running: boolean;
180
+ activeInvocations: number;
181
+ queuedInvocations: number;
182
+ invocations: Array<{
183
+ invocationId: string;
184
+ sessionId: string;
185
+ agentId: string;
186
+ agentName: string;
187
+ taskRef: string | undefined;
188
+ elapsedMs: number;
189
+ }>;
190
+ queued: Array<{
191
+ agentId: string;
192
+ agentName: string;
193
+ taskRef: string | undefined;
194
+ waitMs: number;
195
+ }>;
196
+ };
197
+ /**
198
+ * Bootstrap: evaluate all current tasks against dispatch rules.
199
+ * AC: @agent-dispatch-engine ac-8
200
+ */
201
+ private _bootstrap;
202
+ /**
203
+ * Load agent definitions from meta context.
204
+ */
205
+ private _loadAgents;
206
+ /**
207
+ * Check if a state change matches a dispatch rule's filters.
208
+ * AC: @agent-dispatch-engine ac-6
209
+ */
210
+ private _matchesFilter;
211
+ /**
212
+ * Build a deduplication key for a state change.
213
+ * AC: @agent-dispatch-engine ac-7
214
+ */
215
+ private _dedupKey;
216
+ /**
217
+ * Check whether this event is a duplicate within the dedup window.
218
+ * AC: @agent-dispatch-engine ac-7
219
+ */
220
+ private _isDuplicate;
221
+ /**
222
+ * Record a state change for deduplication.
223
+ * AC: @agent-dispatch-engine ac-7
224
+ */
225
+ private _recordEvent;
226
+ /**
227
+ * Enqueue a dispatch entry for an agent.
228
+ * AC: @agent-dispatch-engine ac-3
229
+ */
230
+ private _enqueue;
231
+ /**
232
+ * Insert an entry into an agent queue using deterministic status precedence.
233
+ * AC: @dispatch-in-progress-priority ac-1
234
+ */
235
+ private _insertQueueEntry;
236
+ /**
237
+ * Compare queue entries by dispatch precedence, then by enqueue sequence.
238
+ * AC: @dispatch-in-progress-priority ac-1
239
+ */
240
+ private _compareQueueEntries;
241
+ /**
242
+ * Drain queues, spawning invocations up to each agent's max_concurrent limit.
243
+ * AC: @agent-dispatch-engine ac-3, ac-17
244
+ */
245
+ private _drainQueues;
246
+ /**
247
+ * Build dispatch-mode prompt guardrails to keep autonomous agents from
248
+ * stopping with handoff text instead of performing required actions.
249
+ *
250
+ * AC: @agent-dispatch-engine ac-13, ac-14, ac-15, ac-16
251
+ */
252
+ private _buildDispatchPrompt;
253
+ /**
254
+ * Spawn a single invocation for a queue entry.
255
+ * Returns true if an invocation was actually started, false if skipped.
256
+ * AC: @agent-dispatch-engine ac-9, ac-10, ac-11, ac-12
257
+ */
258
+ private _spawnInvocation;
259
+ }
260
+ export {};
261
+ //# sourceMappingURL=dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/dispatch.ts"],"names":[],"mappings":"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"}