@kynetic-ai/spec 0.9.1 → 0.11.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 (310) 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 +292 -0
  11. package/dist/agent-runtime/dispatch.d.ts.map +1 -0
  12. package/dist/agent-runtime/dispatch.js +860 -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 +168 -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 +279 -0
  124. package/dist/daemon/routes/items.ts +22 -0
  125. package/dist/daemon/routes/meta.ts +141 -1
  126. package/dist/daemon/routes/plans.ts +147 -0
  127. package/dist/daemon/routes/sessions.ts +180 -0
  128. package/dist/daemon/routes/tasks.ts +198 -0
  129. package/dist/daemon/routes/validation.ts +1 -1
  130. package/dist/daemon/server.ts +77 -21
  131. package/dist/daemon/websocket/handler.ts +67 -6
  132. package/dist/daemon/websocket/lifecycle.ts +19 -0
  133. package/dist/daemon/websocket/pubsub.ts +74 -3
  134. package/dist/export/html.d.ts.map +1 -1
  135. package/dist/export/html.js +5 -2
  136. package/dist/export/html.js.map +1 -1
  137. package/dist/export/triage.d.ts +1 -1
  138. package/dist/export/triage.d.ts.map +1 -1
  139. package/dist/export/triage.js +5 -3
  140. package/dist/export/triage.js.map +1 -1
  141. package/dist/parser/alignment.d.ts.map +1 -1
  142. package/dist/parser/alignment.js +10 -5
  143. package/dist/parser/alignment.js.map +1 -1
  144. package/dist/parser/assess.js +1 -1
  145. package/dist/parser/assess.js.map +1 -1
  146. package/dist/parser/config.d.ts +6 -6
  147. package/dist/parser/meta.d.ts.map +1 -1
  148. package/dist/parser/meta.js +9 -8
  149. package/dist/parser/meta.js.map +1 -1
  150. package/dist/parser/plan-document.d.ts +12 -12
  151. package/dist/parser/plans.d.ts +7 -0
  152. package/dist/parser/plans.d.ts.map +1 -1
  153. package/dist/parser/plans.js +100 -15
  154. package/dist/parser/plans.js.map +1 -1
  155. package/dist/parser/refs.d.ts +5 -0
  156. package/dist/parser/refs.d.ts.map +1 -1
  157. package/dist/parser/refs.js +17 -12
  158. package/dist/parser/refs.js.map +1 -1
  159. package/dist/parser/shadow.d.ts +1 -1
  160. package/dist/parser/shadow.d.ts.map +1 -1
  161. package/dist/parser/shadow.js +71 -4
  162. package/dist/parser/shadow.js.map +1 -1
  163. package/dist/parser/skill-render.d.ts.map +1 -1
  164. package/dist/parser/skill-render.js +6 -3
  165. package/dist/parser/skill-render.js.map +1 -1
  166. package/dist/parser/validate.d.ts.map +1 -1
  167. package/dist/parser/validate.js +35 -76
  168. package/dist/parser/validate.js.map +1 -1
  169. package/dist/parser/yaml.d.ts +24 -5
  170. package/dist/parser/yaml.d.ts.map +1 -1
  171. package/dist/parser/yaml.js +224 -64
  172. package/dist/parser/yaml.js.map +1 -1
  173. package/dist/schema/meta.d.ts +457 -119
  174. package/dist/schema/meta.d.ts.map +1 -1
  175. package/dist/schema/meta.js +56 -0
  176. package/dist/schema/meta.js.map +1 -1
  177. package/dist/schema/plan.d.ts +22 -22
  178. package/dist/schema/spec.d.ts +39 -39
  179. package/dist/schema/task.d.ts +43 -32
  180. package/dist/schema/task.d.ts.map +1 -1
  181. package/dist/schema/task.js +5 -0
  182. package/dist/schema/task.js.map +1 -1
  183. package/dist/sessions/store.d.ts +126 -0
  184. package/dist/sessions/store.d.ts.map +1 -1
  185. package/dist/sessions/store.js +440 -22
  186. package/dist/sessions/store.js.map +1 -1
  187. package/dist/sessions/types.d.ts +75 -17
  188. package/dist/sessions/types.d.ts.map +1 -1
  189. package/dist/sessions/types.js +51 -1
  190. package/dist/sessions/types.js.map +1 -1
  191. package/dist/triage/actions.d.ts +1 -0
  192. package/dist/triage/actions.d.ts.map +1 -1
  193. package/dist/triage/actions.js +34 -7
  194. package/dist/triage/actions.js.map +1 -1
  195. package/dist/utils/commit.js +1 -1
  196. package/dist/utils/commit.js.map +1 -1
  197. package/dist/web-ui/_app/env.js +1 -0
  198. package/dist/web-ui/_app/immutable/assets/0.BJaYkGW2.css +1 -0
  199. package/dist/web-ui/_app/immutable/assets/9.SzGLxi4x.css +1 -0
  200. package/dist/web-ui/_app/immutable/assets/select-trigger.CV-KWLNP.css +1 -0
  201. package/dist/web-ui/_app/immutable/chunks/-lc0BifF.js +1 -0
  202. package/dist/web-ui/_app/immutable/chunks/62JVKtnb.js +1 -0
  203. package/dist/web-ui/_app/immutable/chunks/8RBjHMN1.js +1 -0
  204. package/dist/web-ui/_app/immutable/chunks/B5LJFxqa.js +1 -0
  205. package/dist/web-ui/_app/immutable/chunks/B5wTVqxm.js +1 -0
  206. package/dist/web-ui/_app/immutable/chunks/B6VSmczZ.js +1 -0
  207. package/dist/web-ui/_app/immutable/chunks/B8a0xDxR.js +1 -0
  208. package/dist/web-ui/_app/immutable/chunks/BEOQc37C.js +1 -0
  209. package/dist/web-ui/_app/immutable/chunks/BHtYorjv.js +1 -0
  210. package/dist/web-ui/_app/immutable/chunks/BJ0JX3ea.js +1 -0
  211. package/dist/web-ui/_app/immutable/chunks/BMuCqDX8.js +1 -0
  212. package/dist/web-ui/_app/immutable/chunks/BP352uRn.js +1 -0
  213. package/dist/web-ui/_app/immutable/chunks/BUZujXJ2.js +1 -0
  214. package/dist/web-ui/_app/immutable/chunks/BVA9Exy-.js +1 -0
  215. package/dist/web-ui/_app/immutable/chunks/BWET-efb.js +1 -0
  216. package/dist/web-ui/_app/immutable/chunks/BXkNecpt.js +1 -0
  217. package/dist/web-ui/_app/immutable/chunks/BYzrIfX8.js +1 -0
  218. package/dist/web-ui/_app/immutable/chunks/BkOJ8DkV.js +1 -0
  219. package/dist/web-ui/_app/immutable/chunks/BpuwufMc.js +1 -0
  220. package/dist/web-ui/_app/immutable/chunks/BwMO4RrG.js +1 -0
  221. package/dist/web-ui/_app/immutable/chunks/BysXJlZb.js +1 -0
  222. package/dist/web-ui/_app/immutable/chunks/C076q4JN.js +1 -0
  223. package/dist/web-ui/_app/immutable/chunks/C33JaVbg.js +1 -0
  224. package/dist/web-ui/_app/immutable/chunks/CGtqifKp.js +1 -0
  225. package/dist/web-ui/_app/immutable/chunks/CHDZZ7OG.js +1 -0
  226. package/dist/web-ui/_app/immutable/chunks/CPPfDSei.js +5 -0
  227. package/dist/web-ui/_app/immutable/chunks/CUir3f4J.js +60 -0
  228. package/dist/web-ui/_app/immutable/chunks/Cncwi6fQ.js +1 -0
  229. package/dist/web-ui/_app/immutable/chunks/CrCIbn0C.js +1 -0
  230. package/dist/web-ui/_app/immutable/chunks/CwELQvbx.js +1 -0
  231. package/dist/web-ui/_app/immutable/chunks/D3vxvonu.js +1 -0
  232. package/dist/web-ui/_app/immutable/chunks/D6TVmR9T.js +1 -0
  233. package/dist/web-ui/_app/immutable/chunks/D7LTux4W.js +1 -0
  234. package/dist/web-ui/_app/immutable/chunks/D82RulSH.js +1 -0
  235. package/dist/web-ui/_app/immutable/chunks/D9QNBZM2.js +2 -0
  236. package/dist/web-ui/_app/immutable/chunks/DAMmvwn4.js +1 -0
  237. package/dist/web-ui/_app/immutable/chunks/DAh4Wfku.js +1 -0
  238. package/dist/web-ui/_app/immutable/chunks/DAx07bEQ.js +1 -0
  239. package/dist/web-ui/_app/immutable/chunks/DBYE9jOd.js +1 -0
  240. package/dist/web-ui/_app/immutable/chunks/DOno4cA2.js +1 -0
  241. package/dist/web-ui/_app/immutable/chunks/DQA8NZIH.js +2 -0
  242. package/dist/web-ui/_app/immutable/chunks/DRfPm2bo.js +1 -0
  243. package/dist/web-ui/_app/immutable/chunks/DhQhksaB.js +1 -0
  244. package/dist/web-ui/_app/immutable/chunks/DjG7s6hm.js +1 -0
  245. package/dist/web-ui/_app/immutable/chunks/DjcCz-PU.js +2 -0
  246. package/dist/web-ui/_app/immutable/chunks/DkltRNvh.js +1 -0
  247. package/dist/web-ui/_app/immutable/chunks/DlaTnPKL.js +1 -0
  248. package/dist/web-ui/_app/immutable/chunks/DvA-KON-.js +1 -0
  249. package/dist/web-ui/_app/immutable/chunks/DxCk-KHc.js +1 -0
  250. package/dist/web-ui/_app/immutable/chunks/DzO4hlg9.js +1 -0
  251. package/dist/web-ui/_app/immutable/chunks/Eo4gF7ih.js +1 -0
  252. package/dist/web-ui/_app/immutable/chunks/ExCq5swK.js +1 -0
  253. package/dist/web-ui/_app/immutable/chunks/T3zZGv51.js +1 -0
  254. package/dist/web-ui/_app/immutable/chunks/XZumBYeP.js +1 -0
  255. package/dist/web-ui/_app/immutable/chunks/_ySfNjkF.js +1 -0
  256. package/dist/web-ui/_app/immutable/chunks/iEtR5cV6.js +1 -0
  257. package/dist/web-ui/_app/immutable/chunks/k_Qegko0.js +1 -0
  258. package/dist/web-ui/_app/immutable/chunks/pE6cYWlS.js +1 -0
  259. package/dist/web-ui/_app/immutable/entry/app.Cgu6uKeS.js +2 -0
  260. package/dist/web-ui/_app/immutable/entry/start.9XifnLoB.js +1 -0
  261. package/dist/web-ui/_app/immutable/nodes/0.DISwcKSK.js +1 -0
  262. package/dist/web-ui/_app/immutable/nodes/1.Cx2Ufqp1.js +1 -0
  263. package/dist/web-ui/_app/immutable/nodes/10.C3z8ijXL.js +1 -0
  264. package/dist/web-ui/_app/immutable/nodes/11.DZdIjZmM.js +1 -0
  265. package/dist/web-ui/_app/immutable/nodes/12.FsIGfAOa.js +1 -0
  266. package/dist/web-ui/_app/immutable/nodes/13.DZoFwagf.js +1 -0
  267. package/dist/web-ui/_app/immutable/nodes/14.DaIzDKbQ.js +1 -0
  268. package/dist/web-ui/_app/immutable/nodes/15.BYyt4XWF.js +2 -0
  269. package/dist/web-ui/_app/immutable/nodes/16.CQkSqpOe.js +1 -0
  270. package/dist/web-ui/_app/immutable/nodes/2.Bkf_j2UJ.js +1 -0
  271. package/dist/web-ui/_app/immutable/nodes/3.kaMCurJG.js +1 -0
  272. package/dist/web-ui/_app/immutable/nodes/4.BSsFPTHG.js +2 -0
  273. package/dist/web-ui/_app/immutable/nodes/5.CpPlcCEZ.js +1 -0
  274. package/dist/web-ui/_app/immutable/nodes/6.BN4FqQmY.js +1 -0
  275. package/dist/web-ui/_app/immutable/nodes/7.9kBYIZik.js +1 -0
  276. package/dist/web-ui/_app/immutable/nodes/8.BuijtZ6B.js +1 -0
  277. package/dist/web-ui/_app/immutable/nodes/9.C-Weba8R.js +1 -0
  278. package/dist/web-ui/_app/version.json +1 -0
  279. package/dist/web-ui/index.html +39 -0
  280. package/dist/web-ui/robots.txt +3 -0
  281. package/package.json +4 -2
  282. package/plugin/.claude-plugin/marketplace.json +1 -1
  283. package/plugin/.claude-plugin/plugin.json +1 -1
  284. package/plugin/plugins/kspec/skills/task-work/SKILL.md +25 -2
  285. package/templates/agents-sections/06-ralph-loop.md +64 -11
  286. package/templates/skills/task-work/SKILL.md +25 -2
  287. package/dist/ralph/cli-renderer.d.ts +0 -27
  288. package/dist/ralph/cli-renderer.d.ts.map +0 -1
  289. package/dist/ralph/cli-renderer.js +0 -250
  290. package/dist/ralph/cli-renderer.js.map +0 -1
  291. package/dist/ralph/events.d.ts +0 -65
  292. package/dist/ralph/events.d.ts.map +0 -1
  293. package/dist/ralph/events.js +0 -600
  294. package/dist/ralph/events.js.map +0 -1
  295. package/dist/ralph/index.d.ts +0 -11
  296. package/dist/ralph/index.d.ts.map +0 -1
  297. package/dist/ralph/index.js +0 -16
  298. package/dist/ralph/index.js.map +0 -1
  299. package/dist/ralph/loop-errors.d.ts +0 -83
  300. package/dist/ralph/loop-errors.d.ts.map +0 -1
  301. package/dist/ralph/loop-errors.js +0 -150
  302. package/dist/ralph/loop-errors.js.map +0 -1
  303. package/dist/ralph/subagent.d.ts +0 -127
  304. package/dist/ralph/subagent.d.ts.map +0 -1
  305. package/dist/ralph/subagent.js +0 -268
  306. package/dist/ralph/subagent.js.map +0 -1
  307. package/dist/ralph/wrap-up.d.ts +0 -127
  308. package/dist/ralph/wrap-up.d.ts.map +0 -1
  309. package/dist/ralph/wrap-up.js +0 -271
  310. package/dist/ralph/wrap-up.js.map +0 -1
@@ -18,15 +18,15 @@ export declare const NoteSchema: z.ZodObject<{
18
18
  content: z.ZodString;
19
19
  supersedes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
20
  }, "strip", z.ZodTypeAny, {
21
+ content: string;
21
22
  _ulid: string;
22
23
  created_at: string;
23
- content: string;
24
24
  author?: string | undefined;
25
25
  supersedes?: string | null | undefined;
26
26
  }, {
27
+ content: string;
27
28
  _ulid: string;
28
29
  created_at: string;
29
- content: string;
30
30
  author?: string | undefined;
31
31
  supersedes?: string | null | undefined;
32
32
  }>;
@@ -92,6 +92,7 @@ export declare const TaskSchema: z.ZodObject<{
92
92
  ref: string;
93
93
  type?: "branch" | "tag" | "commit" | undefined;
94
94
  }>, "many">>;
95
+ review_url: z.ZodOptional<z.ZodString>;
95
96
  session_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
96
97
  created_at: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodString]>>;
97
98
  started_at: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>>;
@@ -104,15 +105,15 @@ export declare const TaskSchema: z.ZodObject<{
104
105
  content: z.ZodString;
105
106
  supersedes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
106
107
  }, "strip", z.ZodTypeAny, {
108
+ content: string;
107
109
  _ulid: string;
108
110
  created_at: string;
109
- content: string;
110
111
  author?: string | undefined;
111
112
  supersedes?: string | null | undefined;
112
113
  }, {
114
+ content: string;
113
115
  _ulid: string;
114
116
  created_at: string;
115
- content: string;
116
117
  author?: string | undefined;
117
118
  supersedes?: string | null | undefined;
118
119
  }>, "many">>;
@@ -148,19 +149,19 @@ export declare const TaskSchema: z.ZodObject<{
148
149
  _ulid: string;
149
150
  created_at: string;
150
151
  tags: string[];
152
+ priority: number;
151
153
  context: string[];
152
154
  depends_on: string[];
153
155
  notes: {
156
+ content: string;
154
157
  _ulid: string;
155
158
  created_at: string;
156
- content: string;
157
159
  author?: string | undefined;
158
160
  supersedes?: string | null | undefined;
159
161
  }[];
160
162
  slugs: string[];
161
163
  title: string;
162
164
  blocked_by: string[];
163
- priority: number;
164
165
  vcs_refs: {
165
166
  ref: string;
166
167
  type?: "branch" | "tag" | "commit" | undefined;
@@ -174,6 +175,7 @@ export declare const TaskSchema: z.ZodObject<{
174
175
  promoted_to?: string | undefined;
175
176
  done_at?: string | undefined;
176
177
  }[];
178
+ automation?: "eligible" | "needs_review" | "manual_only" | undefined;
177
179
  description?: string | undefined;
178
180
  origin?: "manual" | "derived" | "observation_promotion" | undefined;
179
181
  started_at?: string | null | undefined;
@@ -185,9 +187,9 @@ export declare const TaskSchema: z.ZodObject<{
185
187
  closed_reason?: string | null | undefined;
186
188
  complexity?: number | undefined;
187
189
  assignee?: string | null | undefined;
190
+ review_url?: string | undefined;
188
191
  session_id?: string | null | undefined;
189
192
  submitted_at?: string | null | undefined;
190
- automation?: "eligible" | "needs_review" | "manual_only" | undefined;
191
193
  }, {
192
194
  _ulid: string;
193
195
  title: string;
@@ -195,6 +197,8 @@ export declare const TaskSchema: z.ZodObject<{
195
197
  type?: "epic" | "task" | "bug" | "spike" | "infra" | undefined;
196
198
  created_at?: string | undefined;
197
199
  tags?: string[] | undefined;
200
+ automation?: "eligible" | "needs_review" | "manual_only" | undefined;
201
+ priority?: number | undefined;
198
202
  description?: string | undefined;
199
203
  context?: string[] | undefined;
200
204
  origin?: "manual" | "derived" | "observation_promotion" | undefined;
@@ -202,9 +206,9 @@ export declare const TaskSchema: z.ZodObject<{
202
206
  started_at?: string | null | undefined;
203
207
  completed_at?: string | null | undefined;
204
208
  notes?: {
209
+ content: string;
205
210
  _ulid: string;
206
211
  created_at: string;
207
- content: string;
208
212
  author?: string | undefined;
209
213
  supersedes?: string | null | undefined;
210
214
  }[] | undefined;
@@ -215,13 +219,13 @@ export declare const TaskSchema: z.ZodObject<{
215
219
  plan_ref?: string | null | undefined;
216
220
  blocked_by?: string[] | undefined;
217
221
  closed_reason?: string | null | undefined;
218
- priority?: number | undefined;
219
222
  complexity?: number | undefined;
220
223
  assignee?: string | null | undefined;
221
224
  vcs_refs?: {
222
225
  ref: string;
223
226
  type?: "branch" | "tag" | "commit" | undefined;
224
227
  }[] | undefined;
228
+ review_url?: string | undefined;
225
229
  session_id?: string | null | undefined;
226
230
  submitted_at?: string | null | undefined;
227
231
  todos?: {
@@ -233,7 +237,6 @@ export declare const TaskSchema: z.ZodObject<{
233
237
  done?: boolean | undefined;
234
238
  done_at?: string | undefined;
235
239
  }[] | undefined;
236
- automation?: "eligible" | "needs_review" | "manual_only" | undefined;
237
240
  }>;
238
241
  /**
239
242
  * Task input schema (for creating new tasks, some fields auto-generated)
@@ -269,6 +272,7 @@ export declare const TaskInputSchema: z.ZodObject<{
269
272
  ref: string;
270
273
  type?: "branch" | "tag" | "commit" | undefined;
271
274
  }>, "many">>;
275
+ review_url: z.ZodOptional<z.ZodString>;
272
276
  session_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
273
277
  created_at: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodString]>>;
274
278
  started_at: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>>;
@@ -281,15 +285,15 @@ export declare const TaskInputSchema: z.ZodObject<{
281
285
  content: z.ZodString;
282
286
  supersedes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
283
287
  }, "strip", z.ZodTypeAny, {
288
+ content: string;
284
289
  _ulid: string;
285
290
  created_at: string;
286
- content: string;
287
291
  author?: string | undefined;
288
292
  supersedes?: string | null | undefined;
289
293
  }, {
294
+ content: string;
290
295
  _ulid: string;
291
296
  created_at: string;
292
- content: string;
293
297
  author?: string | undefined;
294
298
  supersedes?: string | null | undefined;
295
299
  }>, "many">>;
@@ -326,6 +330,8 @@ export declare const TaskInputSchema: z.ZodObject<{
326
330
  _ulid?: string | undefined;
327
331
  created_at?: string | undefined;
328
332
  tags?: string[] | undefined;
333
+ automation?: "eligible" | "needs_review" | "manual_only" | undefined;
334
+ priority?: number | undefined;
329
335
  description?: string | undefined;
330
336
  context?: string[] | undefined;
331
337
  origin?: "manual" | "derived" | "observation_promotion" | undefined;
@@ -333,9 +339,9 @@ export declare const TaskInputSchema: z.ZodObject<{
333
339
  started_at?: string | null | undefined;
334
340
  completed_at?: string | null | undefined;
335
341
  notes?: {
342
+ content: string;
336
343
  _ulid: string;
337
344
  created_at: string;
338
- content: string;
339
345
  author?: string | undefined;
340
346
  supersedes?: string | null | undefined;
341
347
  }[] | undefined;
@@ -346,13 +352,13 @@ export declare const TaskInputSchema: z.ZodObject<{
346
352
  plan_ref?: string | null | undefined;
347
353
  blocked_by?: string[] | undefined;
348
354
  closed_reason?: string | null | undefined;
349
- priority?: number | undefined;
350
355
  complexity?: number | undefined;
351
356
  assignee?: string | null | undefined;
352
357
  vcs_refs?: {
353
358
  ref: string;
354
359
  type?: "branch" | "tag" | "commit" | undefined;
355
360
  }[] | undefined;
361
+ review_url?: string | undefined;
356
362
  session_id?: string | null | undefined;
357
363
  submitted_at?: string | null | undefined;
358
364
  todos?: {
@@ -364,7 +370,6 @@ export declare const TaskInputSchema: z.ZodObject<{
364
370
  promoted_to?: string | undefined;
365
371
  done_at?: string | undefined;
366
372
  }[] | undefined;
367
- automation?: "eligible" | "needs_review" | "manual_only" | undefined;
368
373
  }, {
369
374
  title: string;
370
375
  status?: "in_progress" | "pending" | "pending_review" | "needs_work" | "blocked" | "completed" | "cancelled" | undefined;
@@ -372,6 +377,8 @@ export declare const TaskInputSchema: z.ZodObject<{
372
377
  _ulid?: string | undefined;
373
378
  created_at?: string | undefined;
374
379
  tags?: string[] | undefined;
380
+ automation?: "eligible" | "needs_review" | "manual_only" | undefined;
381
+ priority?: number | undefined;
375
382
  description?: string | undefined;
376
383
  context?: string[] | undefined;
377
384
  origin?: "manual" | "derived" | "observation_promotion" | undefined;
@@ -379,9 +386,9 @@ export declare const TaskInputSchema: z.ZodObject<{
379
386
  started_at?: string | null | undefined;
380
387
  completed_at?: string | null | undefined;
381
388
  notes?: {
389
+ content: string;
382
390
  _ulid: string;
383
391
  created_at: string;
384
- content: string;
385
392
  author?: string | undefined;
386
393
  supersedes?: string | null | undefined;
387
394
  }[] | undefined;
@@ -392,13 +399,13 @@ export declare const TaskInputSchema: z.ZodObject<{
392
399
  plan_ref?: string | null | undefined;
393
400
  blocked_by?: string[] | undefined;
394
401
  closed_reason?: string | null | undefined;
395
- priority?: number | undefined;
396
402
  complexity?: number | undefined;
397
403
  assignee?: string | null | undefined;
398
404
  vcs_refs?: {
399
405
  ref: string;
400
406
  type?: "branch" | "tag" | "commit" | undefined;
401
407
  }[] | undefined;
408
+ review_url?: string | undefined;
402
409
  session_id?: string | null | undefined;
403
410
  submitted_at?: string | null | undefined;
404
411
  todos?: {
@@ -410,7 +417,6 @@ export declare const TaskInputSchema: z.ZodObject<{
410
417
  done?: boolean | undefined;
411
418
  done_at?: string | undefined;
412
419
  }[] | undefined;
413
- automation?: "eligible" | "needs_review" | "manual_only" | undefined;
414
420
  }>;
415
421
  /**
416
422
  * Tasks file schema (collection of tasks)
@@ -447,6 +453,7 @@ export declare const TasksFileSchema: z.ZodObject<{
447
453
  ref: string;
448
454
  type?: "branch" | "tag" | "commit" | undefined;
449
455
  }>, "many">>;
456
+ review_url: z.ZodOptional<z.ZodString>;
450
457
  session_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
451
458
  created_at: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodString]>>;
452
459
  started_at: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>>;
@@ -459,15 +466,15 @@ export declare const TasksFileSchema: z.ZodObject<{
459
466
  content: z.ZodString;
460
467
  supersedes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
461
468
  }, "strip", z.ZodTypeAny, {
469
+ content: string;
462
470
  _ulid: string;
463
471
  created_at: string;
464
- content: string;
465
472
  author?: string | undefined;
466
473
  supersedes?: string | null | undefined;
467
474
  }, {
475
+ content: string;
468
476
  _ulid: string;
469
477
  created_at: string;
470
- content: string;
471
478
  author?: string | undefined;
472
479
  supersedes?: string | null | undefined;
473
480
  }>, "many">>;
@@ -503,19 +510,19 @@ export declare const TasksFileSchema: z.ZodObject<{
503
510
  _ulid: string;
504
511
  created_at: string;
505
512
  tags: string[];
513
+ priority: number;
506
514
  context: string[];
507
515
  depends_on: string[];
508
516
  notes: {
517
+ content: string;
509
518
  _ulid: string;
510
519
  created_at: string;
511
- content: string;
512
520
  author?: string | undefined;
513
521
  supersedes?: string | null | undefined;
514
522
  }[];
515
523
  slugs: string[];
516
524
  title: string;
517
525
  blocked_by: string[];
518
- priority: number;
519
526
  vcs_refs: {
520
527
  ref: string;
521
528
  type?: "branch" | "tag" | "commit" | undefined;
@@ -529,6 +536,7 @@ export declare const TasksFileSchema: z.ZodObject<{
529
536
  promoted_to?: string | undefined;
530
537
  done_at?: string | undefined;
531
538
  }[];
539
+ automation?: "eligible" | "needs_review" | "manual_only" | undefined;
532
540
  description?: string | undefined;
533
541
  origin?: "manual" | "derived" | "observation_promotion" | undefined;
534
542
  started_at?: string | null | undefined;
@@ -540,9 +548,9 @@ export declare const TasksFileSchema: z.ZodObject<{
540
548
  closed_reason?: string | null | undefined;
541
549
  complexity?: number | undefined;
542
550
  assignee?: string | null | undefined;
551
+ review_url?: string | undefined;
543
552
  session_id?: string | null | undefined;
544
553
  submitted_at?: string | null | undefined;
545
- automation?: "eligible" | "needs_review" | "manual_only" | undefined;
546
554
  }, {
547
555
  _ulid: string;
548
556
  title: string;
@@ -550,6 +558,8 @@ export declare const TasksFileSchema: z.ZodObject<{
550
558
  type?: "epic" | "task" | "bug" | "spike" | "infra" | undefined;
551
559
  created_at?: string | undefined;
552
560
  tags?: string[] | undefined;
561
+ automation?: "eligible" | "needs_review" | "manual_only" | undefined;
562
+ priority?: number | undefined;
553
563
  description?: string | undefined;
554
564
  context?: string[] | undefined;
555
565
  origin?: "manual" | "derived" | "observation_promotion" | undefined;
@@ -557,9 +567,9 @@ export declare const TasksFileSchema: z.ZodObject<{
557
567
  started_at?: string | null | undefined;
558
568
  completed_at?: string | null | undefined;
559
569
  notes?: {
570
+ content: string;
560
571
  _ulid: string;
561
572
  created_at: string;
562
- content: string;
563
573
  author?: string | undefined;
564
574
  supersedes?: string | null | undefined;
565
575
  }[] | undefined;
@@ -570,13 +580,13 @@ export declare const TasksFileSchema: z.ZodObject<{
570
580
  plan_ref?: string | null | undefined;
571
581
  blocked_by?: string[] | undefined;
572
582
  closed_reason?: string | null | undefined;
573
- priority?: number | undefined;
574
583
  complexity?: number | undefined;
575
584
  assignee?: string | null | undefined;
576
585
  vcs_refs?: {
577
586
  ref: string;
578
587
  type?: "branch" | "tag" | "commit" | undefined;
579
588
  }[] | undefined;
589
+ review_url?: string | undefined;
580
590
  session_id?: string | null | undefined;
581
591
  submitted_at?: string | null | undefined;
582
592
  todos?: {
@@ -588,7 +598,6 @@ export declare const TasksFileSchema: z.ZodObject<{
588
598
  done?: boolean | undefined;
589
599
  done_at?: string | undefined;
590
600
  }[] | undefined;
591
- automation?: "eligible" | "needs_review" | "manual_only" | undefined;
592
601
  }>, "many">;
593
602
  }, "strip", z.ZodTypeAny, {
594
603
  kynetic_tasks: string;
@@ -598,19 +607,19 @@ export declare const TasksFileSchema: z.ZodObject<{
598
607
  _ulid: string;
599
608
  created_at: string;
600
609
  tags: string[];
610
+ priority: number;
601
611
  context: string[];
602
612
  depends_on: string[];
603
613
  notes: {
614
+ content: string;
604
615
  _ulid: string;
605
616
  created_at: string;
606
- content: string;
607
617
  author?: string | undefined;
608
618
  supersedes?: string | null | undefined;
609
619
  }[];
610
620
  slugs: string[];
611
621
  title: string;
612
622
  blocked_by: string[];
613
- priority: number;
614
623
  vcs_refs: {
615
624
  ref: string;
616
625
  type?: "branch" | "tag" | "commit" | undefined;
@@ -624,6 +633,7 @@ export declare const TasksFileSchema: z.ZodObject<{
624
633
  promoted_to?: string | undefined;
625
634
  done_at?: string | undefined;
626
635
  }[];
636
+ automation?: "eligible" | "needs_review" | "manual_only" | undefined;
627
637
  description?: string | undefined;
628
638
  origin?: "manual" | "derived" | "observation_promotion" | undefined;
629
639
  started_at?: string | null | undefined;
@@ -635,9 +645,9 @@ export declare const TasksFileSchema: z.ZodObject<{
635
645
  closed_reason?: string | null | undefined;
636
646
  complexity?: number | undefined;
637
647
  assignee?: string | null | undefined;
648
+ review_url?: string | undefined;
638
649
  session_id?: string | null | undefined;
639
650
  submitted_at?: string | null | undefined;
640
- automation?: "eligible" | "needs_review" | "manual_only" | undefined;
641
651
  }[];
642
652
  }, {
643
653
  tasks: {
@@ -647,6 +657,8 @@ export declare const TasksFileSchema: z.ZodObject<{
647
657
  type?: "epic" | "task" | "bug" | "spike" | "infra" | undefined;
648
658
  created_at?: string | undefined;
649
659
  tags?: string[] | undefined;
660
+ automation?: "eligible" | "needs_review" | "manual_only" | undefined;
661
+ priority?: number | undefined;
650
662
  description?: string | undefined;
651
663
  context?: string[] | undefined;
652
664
  origin?: "manual" | "derived" | "observation_promotion" | undefined;
@@ -654,9 +666,9 @@ export declare const TasksFileSchema: z.ZodObject<{
654
666
  started_at?: string | null | undefined;
655
667
  completed_at?: string | null | undefined;
656
668
  notes?: {
669
+ content: string;
657
670
  _ulid: string;
658
671
  created_at: string;
659
- content: string;
660
672
  author?: string | undefined;
661
673
  supersedes?: string | null | undefined;
662
674
  }[] | undefined;
@@ -667,13 +679,13 @@ export declare const TasksFileSchema: z.ZodObject<{
667
679
  plan_ref?: string | null | undefined;
668
680
  blocked_by?: string[] | undefined;
669
681
  closed_reason?: string | null | undefined;
670
- priority?: number | undefined;
671
682
  complexity?: number | undefined;
672
683
  assignee?: string | null | undefined;
673
684
  vcs_refs?: {
674
685
  ref: string;
675
686
  type?: "branch" | "tag" | "commit" | undefined;
676
687
  }[] | undefined;
688
+ review_url?: string | undefined;
677
689
  session_id?: string | null | undefined;
678
690
  submitted_at?: string | null | undefined;
679
691
  todos?: {
@@ -685,7 +697,6 @@ export declare const TasksFileSchema: z.ZodObject<{
685
697
  done?: boolean | undefined;
686
698
  done_at?: string | undefined;
687
699
  }[] | undefined;
688
- automation?: "eligible" | "needs_review" | "manual_only" | undefined;
689
700
  }[];
690
701
  kynetic_tasks?: string | undefined;
691
702
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/schema/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,wDAIjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;EAMrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;EAQrB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DrB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0D1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG1B,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/schema/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,wDAIjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;EAMrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;EAQrB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiErB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6D1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG1B,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -71,6 +71,9 @@ export const TaskSchema = z.object({
71
71
  assignee: z.string().nullable().optional(),
72
72
  // VCS references
73
73
  vcs_refs: z.array(VcsRefSchema).default([]),
74
+ // Review URL (PR, MR, or external review link — set at submit time)
75
+ // AC: @task-submit ac-submit-2
76
+ review_url: z.string().url().optional(),
74
77
  // Session scoping (advisory, not enforced)
75
78
  // AC: @session-scoped-task-claiming ac-schema
76
79
  session_id: z.string().nullable().optional(),
@@ -122,6 +125,8 @@ export const TaskInputSchema = z.object({
122
125
  assignee: z.string().nullable().optional(),
123
126
  // VCS references
124
127
  vcs_refs: z.array(VcsRefSchema).optional(),
128
+ // Review URL
129
+ review_url: z.string().url().optional(),
125
130
  // Session scoping
126
131
  session_id: z.string().nullable().optional(),
127
132
  // Timestamps
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/schema/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/schema/task.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,16 @@ export declare function updateSessionStatus(specDir: string, sessionId: string,
78
78
  * @returns Array of session IDs
79
79
  */
80
80
  export declare function listSessions(specDir: string): Promise<string[]>;
81
+ /**
82
+ * Count completed sessions grouped by agent_id.
83
+ *
84
+ * Reads only session metadata (not events.jsonl) for performance.
85
+ * A session counts as "completed" if its status is "completed".
86
+ *
87
+ * @param specDir - The .kspec directory path
88
+ * @returns Map of agent_id to completed session count
89
+ */
90
+ export declare function getCompletedSessionCountsByAgent(specDir: string): Promise<Record<string, number>>;
81
91
  /**
82
92
  * Check if a session exists.
83
93
  */
@@ -235,6 +245,108 @@ export declare function readEventsSince(specDir: string, sessionId: string, sinc
235
245
  * @returns The last event or null if no events
236
246
  */
237
247
  export declare function getLastEvent(specDir: string, sessionId: string): Promise<SessionEvent | null>;
248
+ export interface StaleSessionCriteriaInput {
249
+ olderThan?: string;
250
+ inactiveFor?: string;
251
+ livenessGuard?: string;
252
+ }
253
+ export interface StaleSessionCriteria {
254
+ olderThan: string;
255
+ olderThanMs: number;
256
+ inactiveFor: string;
257
+ inactiveForMs: number;
258
+ livenessGuard: string;
259
+ livenessGuardMs: number;
260
+ }
261
+ export type StaleSessionCriteriaValidation = {
262
+ ok: true;
263
+ criteria: StaleSessionCriteria;
264
+ } | {
265
+ ok: false;
266
+ field: "older-than" | "inactive-for" | "liveness-guard";
267
+ value: string;
268
+ message: string;
269
+ guidance: string;
270
+ };
271
+ export declare function resolveStaleSessionCriteria(input: StaleSessionCriteriaInput): StaleSessionCriteriaValidation;
272
+ export interface StaleSessionActivity {
273
+ lastActivityAt: string;
274
+ lastActivityTs: number;
275
+ source: "event" | "started_at";
276
+ }
277
+ export type StaleSessionActivityResult = {
278
+ ok: true;
279
+ activity: StaleSessionActivity;
280
+ } | {
281
+ ok: false;
282
+ reason: "events_unreadable" | "events_corrupt" | "invalid_started_at";
283
+ detail: string;
284
+ };
285
+ /**
286
+ * Resolve most recent activity timestamp for stale-session candidate checks.
287
+ *
288
+ * Unlike readEvents(), this is strict: corrupt events are surfaced as failures
289
+ * so stale auto-close can skip unsafe sessions.
290
+ */
291
+ export declare function getSessionActivityForStaleCheck(specDir: string, sessionId: string): Promise<StaleSessionActivityResult>;
292
+ export interface StaleSessionEvaluation {
293
+ sessionId: string;
294
+ startedAt: string;
295
+ lastActivityAt: string;
296
+ lastActivitySource: "event" | "started_at";
297
+ ageMs: number;
298
+ inactivityMs: number;
299
+ meetsAgeThreshold: boolean;
300
+ meetsInactivityThreshold: boolean;
301
+ blockedByLivenessGuard: boolean;
302
+ eligible: boolean;
303
+ }
304
+ export interface StaleSessionSkipped {
305
+ sessionId: string;
306
+ reason: "events_unreadable" | "events_corrupt" | "invalid_started_at";
307
+ detail: string;
308
+ }
309
+ export interface StaleSessionCandidateSelection {
310
+ criteria: StaleSessionCriteria;
311
+ totalActiveSessions: number;
312
+ evaluations: StaleSessionEvaluation[];
313
+ candidates: StaleSessionEvaluation[];
314
+ skipped: StaleSessionSkipped[];
315
+ skippedCount: number;
316
+ failureCount: number;
317
+ }
318
+ export declare function evaluateStaleSession(startedAt: string, activity: StaleSessionActivity, criteria: StaleSessionCriteria, nowMs?: number): Omit<StaleSessionEvaluation, "sessionId">;
319
+ export declare function selectStaleActiveSessions(specDir: string, criteriaInput?: StaleSessionCriteriaInput, nowMs?: number): Promise<StaleSessionCandidateSelection>;
320
+ export interface AutoAbandonMetadataPreview {
321
+ sessionId: string;
322
+ status: "abandoned";
323
+ endedAt: string;
324
+ closeReason: string;
325
+ }
326
+ export interface AutoAbandonMetadataResult {
327
+ dryRun: boolean;
328
+ updatedCount: number;
329
+ updates: AutoAbandonMetadataPreview[];
330
+ shadowCommitted?: boolean;
331
+ }
332
+ /**
333
+ * Build canonical close_reason for stale auto-abandon updates.
334
+ *
335
+ * Canonical format:
336
+ * auto-abandoned:older-than=<duration>,inactive-for=<duration>,liveness-guard=<duration>,last-activity=<iso>
337
+ */
338
+ export declare function buildAutoAbandonedCloseReason(criteria: StaleSessionCriteria, evaluation: Pick<StaleSessionEvaluation, "lastActivityAt">): string;
339
+ /**
340
+ * Apply abandoned metadata to stale session candidates.
341
+ *
342
+ * All updates in a single invocation share one ended_at timestamp, which lets
343
+ * the caller persist and commit the batch atomically with one shadow commit.
344
+ */
345
+ export declare function applyAutoAbandonMetadata(specDir: string, selection: Pick<StaleSessionCandidateSelection, "criteria" | "candidates">, options?: {
346
+ dryRun?: boolean;
347
+ nowMs?: number;
348
+ shadowCommitMessage?: string;
349
+ }): Promise<AutoAbandonMetadataResult>;
238
350
  /**
239
351
  * Summary data for a session, used by `session log list`.
240
352
  */
@@ -245,6 +357,15 @@ export interface SessionLogSummary {
245
357
  status: SessionStatus;
246
358
  /** Agent type */
247
359
  agent_type: string;
360
+ /**
361
+ * Session type: "loop" for legacy ralph sessions, "invocation" for new agent runtime.
362
+ * AC: @session-model-evolution ac-6
363
+ */
364
+ session_type: "loop" | "invocation";
365
+ /** Dispatch trigger (manual, task.ready, etc.) for distinguishing session origin. */
366
+ trigger?: string;
367
+ /** Task ID being worked on (if any). AC: @ui-session-history ac-1 */
368
+ task_id?: string;
248
369
  /** When session started (ISO 8601) */
249
370
  started_at: string;
250
371
  /** When session ended (ISO 8601), if completed */
@@ -341,6 +462,11 @@ export interface SessionLogDetail {
341
462
  id: string;
342
463
  status: SessionStatus;
343
464
  agent_type: string;
465
+ /**
466
+ * Session type: "loop" for legacy ralph sessions, "invocation" for new agent runtime.
467
+ * AC: @session-model-evolution ac-6
468
+ */
469
+ session_type: "loop" | "invocation";
344
470
  task_id?: string;
345
471
  started_at: string;
346
472
  ended_at?: string;