@kynetic-ai/spec 0.1.2 → 0.4.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 (540) hide show
  1. package/README.md +250 -17
  2. package/dist/acp/client.d.ts +18 -4
  3. package/dist/acp/client.d.ts.map +1 -1
  4. package/dist/acp/client.js +44 -26
  5. package/dist/acp/client.js.map +1 -1
  6. package/dist/acp/framing.d.ts +2 -2
  7. package/dist/acp/framing.d.ts.map +1 -1
  8. package/dist/acp/framing.js +37 -29
  9. package/dist/acp/framing.js.map +1 -1
  10. package/dist/acp/index.d.ts +6 -7
  11. package/dist/acp/index.d.ts.map +1 -1
  12. package/dist/acp/index.js +3 -3
  13. package/dist/acp/index.js.map +1 -1
  14. package/dist/acp/types.d.ts +5 -5
  15. package/dist/acp/types.d.ts.map +1 -1
  16. package/dist/acp/types.js +18 -18
  17. package/dist/acp/types.js.map +1 -1
  18. package/dist/agents/adapters.d.ts.map +1 -1
  19. package/dist/agents/adapters.js +24 -13
  20. package/dist/agents/adapters.js.map +1 -1
  21. package/dist/agents/index.d.ts +2 -2
  22. package/dist/agents/index.js +2 -2
  23. package/dist/agents/spawner.d.ts +4 -4
  24. package/dist/agents/spawner.d.ts.map +1 -1
  25. package/dist/agents/spawner.js +6 -6
  26. package/dist/agents/spawner.js.map +1 -1
  27. package/dist/cli/batch-context.d.ts +43 -0
  28. package/dist/cli/batch-context.d.ts.map +1 -0
  29. package/dist/cli/batch-context.js +93 -0
  30. package/dist/cli/batch-context.js.map +1 -0
  31. package/dist/cli/batch-exec.d.ts +107 -0
  32. package/dist/cli/batch-exec.d.ts.map +1 -0
  33. package/dist/cli/batch-exec.js +706 -0
  34. package/dist/cli/batch-exec.js.map +1 -0
  35. package/dist/cli/batch.d.ts +4 -2
  36. package/dist/cli/batch.d.ts.map +1 -1
  37. package/dist/cli/batch.js +15 -14
  38. package/dist/cli/batch.js.map +1 -1
  39. package/dist/cli/command-annotations.d.ts +23 -0
  40. package/dist/cli/command-annotations.d.ts.map +1 -0
  41. package/dist/cli/command-annotations.js +27 -0
  42. package/dist/cli/command-annotations.js.map +1 -0
  43. package/dist/cli/commands/agents.d.ts +46 -0
  44. package/dist/cli/commands/agents.d.ts.map +1 -0
  45. package/dist/cli/commands/agents.js +377 -0
  46. package/dist/cli/commands/agents.js.map +1 -0
  47. package/dist/cli/commands/batch.d.ts +20 -0
  48. package/dist/cli/commands/batch.d.ts.map +1 -0
  49. package/dist/cli/commands/batch.js +214 -0
  50. package/dist/cli/commands/batch.js.map +1 -0
  51. package/dist/cli/commands/clone-for-testing.d.ts +1 -1
  52. package/dist/cli/commands/clone-for-testing.d.ts.map +1 -1
  53. package/dist/cli/commands/clone-for-testing.js +37 -47
  54. package/dist/cli/commands/clone-for-testing.js.map +1 -1
  55. package/dist/cli/commands/derive.d.ts +1 -1
  56. package/dist/cli/commands/derive.d.ts.map +1 -1
  57. package/dist/cli/commands/derive.js +141 -88
  58. package/dist/cli/commands/derive.js.map +1 -1
  59. package/dist/cli/commands/doctor.d.ts +11 -0
  60. package/dist/cli/commands/doctor.d.ts.map +1 -0
  61. package/dist/cli/commands/doctor.js +152 -0
  62. package/dist/cli/commands/doctor.js.map +1 -0
  63. package/dist/cli/commands/export.d.ts +12 -0
  64. package/dist/cli/commands/export.d.ts.map +1 -0
  65. package/dist/cli/commands/export.js +134 -0
  66. package/dist/cli/commands/export.js.map +1 -0
  67. package/dist/cli/commands/help.d.ts +1 -1
  68. package/dist/cli/commands/help.d.ts.map +1 -1
  69. package/dist/cli/commands/help.js +163 -37
  70. package/dist/cli/commands/help.js.map +1 -1
  71. package/dist/cli/commands/inbox.d.ts +1 -1
  72. package/dist/cli/commands/inbox.d.ts.map +1 -1
  73. package/dist/cli/commands/inbox.js +178 -56
  74. package/dist/cli/commands/inbox.js.map +1 -1
  75. package/dist/cli/commands/index.d.ts +31 -19
  76. package/dist/cli/commands/index.d.ts.map +1 -1
  77. package/dist/cli/commands/index.js +31 -19
  78. package/dist/cli/commands/index.js.map +1 -1
  79. package/dist/cli/commands/init.d.ts +5 -1
  80. package/dist/cli/commands/init.d.ts.map +1 -1
  81. package/dist/cli/commands/init.js +108 -57
  82. package/dist/cli/commands/init.js.map +1 -1
  83. package/dist/cli/commands/item.d.ts +1 -1
  84. package/dist/cli/commands/item.d.ts.map +1 -1
  85. package/dist/cli/commands/item.js +557 -274
  86. package/dist/cli/commands/item.js.map +1 -1
  87. package/dist/cli/commands/link.d.ts +1 -1
  88. package/dist/cli/commands/link.d.ts.map +1 -1
  89. package/dist/cli/commands/link.js +55 -46
  90. package/dist/cli/commands/link.js.map +1 -1
  91. package/dist/cli/commands/log.d.ts +1 -1
  92. package/dist/cli/commands/log.d.ts.map +1 -1
  93. package/dist/cli/commands/log.js +58 -51
  94. package/dist/cli/commands/log.js.map +1 -1
  95. package/dist/cli/commands/merge-driver.d.ts +19 -0
  96. package/dist/cli/commands/merge-driver.d.ts.map +1 -0
  97. package/dist/cli/commands/merge-driver.js +398 -0
  98. package/dist/cli/commands/merge-driver.js.map +1 -0
  99. package/dist/cli/commands/meta.d.ts +1 -1
  100. package/dist/cli/commands/meta.d.ts.map +1 -1
  101. package/dist/cli/commands/meta.js +534 -399
  102. package/dist/cli/commands/meta.js.map +1 -1
  103. package/dist/cli/commands/module.d.ts +1 -1
  104. package/dist/cli/commands/module.d.ts.map +1 -1
  105. package/dist/cli/commands/module.js +30 -25
  106. package/dist/cli/commands/module.js.map +1 -1
  107. package/dist/cli/commands/plan-import.d.ts +11 -0
  108. package/dist/cli/commands/plan-import.d.ts.map +1 -0
  109. package/dist/cli/commands/plan-import.js +547 -0
  110. package/dist/cli/commands/plan-import.js.map +1 -0
  111. package/dist/cli/commands/plan.d.ts +10 -0
  112. package/dist/cli/commands/plan.d.ts.map +1 -0
  113. package/dist/cli/commands/plan.js +421 -0
  114. package/dist/cli/commands/plan.js.map +1 -0
  115. package/dist/cli/commands/ralph.d.ts +1 -1
  116. package/dist/cli/commands/ralph.d.ts.map +1 -1
  117. package/dist/cli/commands/ralph.js +1109 -170
  118. package/dist/cli/commands/ralph.js.map +1 -1
  119. package/dist/cli/commands/refs.d.ts +13 -0
  120. package/dist/cli/commands/refs.d.ts.map +1 -0
  121. package/dist/cli/commands/refs.js +283 -0
  122. package/dist/cli/commands/refs.js.map +1 -0
  123. package/dist/cli/commands/search.d.ts +1 -1
  124. package/dist/cli/commands/search.d.ts.map +1 -1
  125. package/dist/cli/commands/search.js +199 -37
  126. package/dist/cli/commands/search.js.map +1 -1
  127. package/dist/cli/commands/serve.d.ts +10 -0
  128. package/dist/cli/commands/serve.d.ts.map +1 -0
  129. package/dist/cli/commands/serve.js +491 -0
  130. package/dist/cli/commands/serve.js.map +1 -0
  131. package/dist/cli/commands/session.d.ts +25 -6
  132. package/dist/cli/commands/session.d.ts.map +1 -1
  133. package/dist/cli/commands/session.js +810 -127
  134. package/dist/cli/commands/session.js.map +1 -1
  135. package/dist/cli/commands/setup-seeding.d.ts +81 -0
  136. package/dist/cli/commands/setup-seeding.d.ts.map +1 -0
  137. package/dist/cli/commands/setup-seeding.js +292 -0
  138. package/dist/cli/commands/setup-seeding.js.map +1 -0
  139. package/dist/cli/commands/setup.d.ts +77 -3
  140. package/dist/cli/commands/setup.d.ts.map +1 -1
  141. package/dist/cli/commands/setup.js +1267 -274
  142. package/dist/cli/commands/setup.js.map +1 -1
  143. package/dist/cli/commands/shadow.d.ts +1 -1
  144. package/dist/cli/commands/shadow.d.ts.map +1 -1
  145. package/dist/cli/commands/shadow.js +70 -50
  146. package/dist/cli/commands/shadow.js.map +1 -1
  147. package/dist/cli/commands/skill-crud.d.ts +58 -0
  148. package/dist/cli/commands/skill-crud.d.ts.map +1 -0
  149. package/dist/cli/commands/skill-crud.js +753 -0
  150. package/dist/cli/commands/skill-crud.js.map +1 -0
  151. package/dist/cli/commands/skill-diff.d.ts +27 -0
  152. package/dist/cli/commands/skill-diff.d.ts.map +1 -0
  153. package/dist/cli/commands/skill-diff.js +840 -0
  154. package/dist/cli/commands/skill-diff.js.map +1 -0
  155. package/dist/cli/commands/skill-install.d.ts +56 -0
  156. package/dist/cli/commands/skill-install.d.ts.map +1 -0
  157. package/dist/cli/commands/skill-install.js +509 -0
  158. package/dist/cli/commands/skill-install.js.map +1 -0
  159. package/dist/cli/commands/skill.d.ts +20 -0
  160. package/dist/cli/commands/skill.d.ts.map +1 -0
  161. package/dist/cli/commands/skill.js +36 -0
  162. package/dist/cli/commands/skill.js.map +1 -0
  163. package/dist/cli/commands/task.d.ts +1 -1
  164. package/dist/cli/commands/task.d.ts.map +1 -1
  165. package/dist/cli/commands/task.js +584 -350
  166. package/dist/cli/commands/task.js.map +1 -1
  167. package/dist/cli/commands/tasks.d.ts +26 -1
  168. package/dist/cli/commands/tasks.d.ts.map +1 -1
  169. package/dist/cli/commands/tasks.js +225 -122
  170. package/dist/cli/commands/tasks.js.map +1 -1
  171. package/dist/cli/commands/trait.d.ts +1 -1
  172. package/dist/cli/commands/trait.d.ts.map +1 -1
  173. package/dist/cli/commands/trait.js +166 -101
  174. package/dist/cli/commands/trait.js.map +1 -1
  175. package/dist/cli/commands/triage.d.ts +7 -0
  176. package/dist/cli/commands/triage.d.ts.map +1 -0
  177. package/dist/cli/commands/triage.js +483 -0
  178. package/dist/cli/commands/triage.js.map +1 -0
  179. package/dist/cli/commands/util.d.ts +7 -0
  180. package/dist/cli/commands/util.d.ts.map +1 -0
  181. package/dist/cli/commands/util.js +30 -0
  182. package/dist/cli/commands/util.js.map +1 -0
  183. package/dist/cli/commands/validate.d.ts +1 -1
  184. package/dist/cli/commands/validate.d.ts.map +1 -1
  185. package/dist/cli/commands/validate.js +264 -83
  186. package/dist/cli/commands/validate.js.map +1 -1
  187. package/dist/cli/commands/workflow.d.ts +16 -0
  188. package/dist/cli/commands/workflow.d.ts.map +1 -0
  189. package/dist/cli/commands/workflow.js +851 -0
  190. package/dist/cli/commands/workflow.js.map +1 -0
  191. package/dist/cli/exit-codes.d.ts +7 -0
  192. package/dist/cli/exit-codes.d.ts.map +1 -1
  193. package/dist/cli/exit-codes.js +26 -18
  194. package/dist/cli/exit-codes.js.map +1 -1
  195. package/dist/cli/help/content.d.ts.map +1 -1
  196. package/dist/cli/help/content.js +86 -71
  197. package/dist/cli/help/content.js.map +1 -1
  198. package/dist/cli/index.d.ts +1 -1
  199. package/dist/cli/index.d.ts.map +1 -1
  200. package/dist/cli/index.js +131 -19
  201. package/dist/cli/index.js.map +1 -1
  202. package/dist/cli/introspection.d.ts +6 -2
  203. package/dist/cli/introspection.d.ts.map +1 -1
  204. package/dist/cli/introspection.js +11 -8
  205. package/dist/cli/introspection.js.map +1 -1
  206. package/dist/cli/output.d.ts +64 -4
  207. package/dist/cli/output.d.ts.map +1 -1
  208. package/dist/cli/output.js +237 -85
  209. package/dist/cli/output.js.map +1 -1
  210. package/dist/cli/parse-utils.d.ts +21 -0
  211. package/dist/cli/parse-utils.d.ts.map +1 -0
  212. package/dist/cli/parse-utils.js +32 -0
  213. package/dist/cli/parse-utils.js.map +1 -0
  214. package/dist/cli/pid-utils.d.ts +72 -0
  215. package/dist/cli/pid-utils.d.ts.map +1 -0
  216. package/dist/cli/pid-utils.js +174 -0
  217. package/dist/cli/pid-utils.js.map +1 -0
  218. package/dist/cli/suggest.d.ts.map +1 -1
  219. package/dist/cli/suggest.js +1 -2
  220. package/dist/cli/suggest.js.map +1 -1
  221. package/dist/cli/validators.d.ts +43 -0
  222. package/dist/cli/validators.d.ts.map +1 -0
  223. package/dist/cli/validators.js +84 -0
  224. package/dist/cli/validators.js.map +1 -0
  225. package/dist/daemon/index.ts +52 -0
  226. package/dist/daemon/middleware/project-context.ts +126 -0
  227. package/dist/daemon/pid.ts +179 -0
  228. package/dist/daemon/project-context.ts +343 -0
  229. package/dist/daemon/routes/inbox.ts +164 -0
  230. package/dist/daemon/routes/items.ts +322 -0
  231. package/dist/daemon/routes/meta.ts +118 -0
  232. package/dist/daemon/routes/projects.ts +162 -0
  233. package/dist/daemon/routes/tasks.ts +327 -0
  234. package/dist/daemon/routes/triage.ts +402 -0
  235. package/dist/daemon/routes/validation.ts +248 -0
  236. package/dist/daemon/server.ts +408 -0
  237. package/dist/daemon/watcher.ts +195 -0
  238. package/dist/daemon/websocket/handler.ts +138 -0
  239. package/dist/daemon/websocket/heartbeat.ts +71 -0
  240. package/dist/daemon/websocket/pubsub.ts +125 -0
  241. package/dist/daemon/websocket/types.ts +66 -0
  242. package/dist/export/html.d.ts +19 -0
  243. package/dist/export/html.d.ts.map +1 -0
  244. package/dist/export/html.js +239 -0
  245. package/dist/export/html.js.map +1 -0
  246. package/dist/export/index.d.ts +10 -0
  247. package/dist/export/index.d.ts.map +1 -0
  248. package/dist/export/index.js +10 -0
  249. package/dist/export/index.js.map +1 -0
  250. package/dist/export/json.d.ts +24 -0
  251. package/dist/export/json.d.ts.map +1 -0
  252. package/dist/export/json.js +198 -0
  253. package/dist/export/json.js.map +1 -0
  254. package/dist/export/triage.d.ts +51 -0
  255. package/dist/export/triage.d.ts.map +1 -0
  256. package/dist/export/triage.js +83 -0
  257. package/dist/export/triage.js.map +1 -0
  258. package/dist/export/types.d.ts +122 -0
  259. package/dist/export/types.d.ts.map +1 -0
  260. package/dist/export/types.js +9 -0
  261. package/dist/export/types.js.map +1 -0
  262. package/dist/index.d.ts +2 -2
  263. package/dist/index.js +2 -2
  264. package/dist/lib/claude-plugin-registry.d.ts +66 -0
  265. package/dist/lib/claude-plugin-registry.d.ts.map +1 -0
  266. package/dist/lib/claude-plugin-registry.js +318 -0
  267. package/dist/lib/claude-plugin-registry.js.map +1 -0
  268. package/dist/merge/arrays.d.ts +87 -0
  269. package/dist/merge/arrays.d.ts.map +1 -0
  270. package/dist/merge/arrays.js +164 -0
  271. package/dist/merge/arrays.js.map +1 -0
  272. package/dist/merge/file-type.d.ts +32 -0
  273. package/dist/merge/file-type.d.ts.map +1 -0
  274. package/dist/merge/file-type.js +70 -0
  275. package/dist/merge/file-type.js.map +1 -0
  276. package/dist/merge/index.d.ts +14 -0
  277. package/dist/merge/index.d.ts.map +1 -0
  278. package/dist/merge/index.js +11 -0
  279. package/dist/merge/index.js.map +1 -0
  280. package/dist/merge/objects.d.ts +46 -0
  281. package/dist/merge/objects.d.ts.map +1 -0
  282. package/dist/merge/objects.js +193 -0
  283. package/dist/merge/objects.js.map +1 -0
  284. package/dist/merge/parse.d.ts +23 -0
  285. package/dist/merge/parse.d.ts.map +1 -0
  286. package/dist/merge/parse.js +78 -0
  287. package/dist/merge/parse.js.map +1 -0
  288. package/dist/merge/resolve.d.ts +66 -0
  289. package/dist/merge/resolve.d.ts.map +1 -0
  290. package/dist/merge/resolve.js +189 -0
  291. package/dist/merge/resolve.js.map +1 -0
  292. package/dist/merge/types.d.ts +82 -0
  293. package/dist/merge/types.d.ts.map +1 -0
  294. package/dist/merge/types.js +8 -0
  295. package/dist/merge/types.js.map +1 -0
  296. package/dist/parser/agent-data-sections.d.ts +53 -0
  297. package/dist/parser/agent-data-sections.d.ts.map +1 -0
  298. package/dist/parser/agent-data-sections.js +118 -0
  299. package/dist/parser/agent-data-sections.js.map +1 -0
  300. package/dist/parser/alignment.d.ts +4 -4
  301. package/dist/parser/alignment.d.ts.map +1 -1
  302. package/dist/parser/alignment.js +27 -22
  303. package/dist/parser/alignment.js.map +1 -1
  304. package/dist/parser/assess.d.ts +5 -5
  305. package/dist/parser/assess.d.ts.map +1 -1
  306. package/dist/parser/assess.js +36 -32
  307. package/dist/parser/assess.js.map +1 -1
  308. package/dist/parser/config.d.ts +457 -0
  309. package/dist/parser/config.d.ts.map +1 -0
  310. package/dist/parser/config.js +373 -0
  311. package/dist/parser/config.js.map +1 -0
  312. package/dist/parser/convention-validation.d.ts +1 -1
  313. package/dist/parser/convention-validation.d.ts.map +1 -1
  314. package/dist/parser/convention-validation.js +21 -16
  315. package/dist/parser/convention-validation.js.map +1 -1
  316. package/dist/parser/coverage-cache.d.ts +49 -0
  317. package/dist/parser/coverage-cache.d.ts.map +1 -0
  318. package/dist/parser/coverage-cache.js +123 -0
  319. package/dist/parser/coverage-cache.js.map +1 -0
  320. package/dist/parser/daemon-status.d.ts +37 -0
  321. package/dist/parser/daemon-status.d.ts.map +1 -0
  322. package/dist/parser/daemon-status.js +67 -0
  323. package/dist/parser/daemon-status.js.map +1 -0
  324. package/dist/parser/doctor.d.ts +107 -0
  325. package/dist/parser/doctor.d.ts.map +1 -0
  326. package/dist/parser/doctor.js +366 -0
  327. package/dist/parser/doctor.js.map +1 -0
  328. package/dist/parser/fix.d.ts +1 -1
  329. package/dist/parser/fix.d.ts.map +1 -1
  330. package/dist/parser/fix.js +31 -27
  331. package/dist/parser/fix.js.map +1 -1
  332. package/dist/parser/index.d.ts +16 -11
  333. package/dist/parser/index.d.ts.map +1 -1
  334. package/dist/parser/index.js +16 -11
  335. package/dist/parser/index.js.map +1 -1
  336. package/dist/parser/items.d.ts +8 -2
  337. package/dist/parser/items.d.ts.map +1 -1
  338. package/dist/parser/items.js +71 -35
  339. package/dist/parser/items.js.map +1 -1
  340. package/dist/parser/meta.d.ts +167 -9
  341. package/dist/parser/meta.d.ts.map +1 -1
  342. package/dist/parser/meta.js +379 -46
  343. package/dist/parser/meta.js.map +1 -1
  344. package/dist/parser/plan-document.d.ts +197 -0
  345. package/dist/parser/plan-document.d.ts.map +1 -0
  346. package/dist/parser/plan-document.js +341 -0
  347. package/dist/parser/plan-document.js.map +1 -0
  348. package/dist/parser/plans.d.ts +59 -0
  349. package/dist/parser/plans.d.ts.map +1 -0
  350. package/dist/parser/plans.js +239 -0
  351. package/dist/parser/plans.js.map +1 -0
  352. package/dist/parser/refs.d.ts +22 -9
  353. package/dist/parser/refs.d.ts.map +1 -1
  354. package/dist/parser/refs.js +102 -50
  355. package/dist/parser/refs.js.map +1 -1
  356. package/dist/parser/setup-status.d.ts +71 -0
  357. package/dist/parser/setup-status.d.ts.map +1 -0
  358. package/dist/parser/setup-status.js +269 -0
  359. package/dist/parser/setup-status.js.map +1 -0
  360. package/dist/parser/shadow.d.ts +150 -19
  361. package/dist/parser/shadow.d.ts.map +1 -1
  362. package/dist/parser/shadow.js +548 -187
  363. package/dist/parser/shadow.js.map +1 -1
  364. package/dist/parser/skill-render.d.ts +317 -0
  365. package/dist/parser/skill-render.d.ts.map +1 -0
  366. package/dist/parser/skill-render.js +943 -0
  367. package/dist/parser/skill-render.js.map +1 -0
  368. package/dist/parser/traits.d.ts +3 -3
  369. package/dist/parser/traits.d.ts.map +1 -1
  370. package/dist/parser/traits.js +2 -2
  371. package/dist/parser/traits.js.map +1 -1
  372. package/dist/parser/validate-skills.d.ts +32 -0
  373. package/dist/parser/validate-skills.d.ts.map +1 -0
  374. package/dist/parser/validate-skills.js +202 -0
  375. package/dist/parser/validate-skills.js.map +1 -0
  376. package/dist/parser/validate.d.ts +45 -3
  377. package/dist/parser/validate.d.ts.map +1 -1
  378. package/dist/parser/validate.js +622 -105
  379. package/dist/parser/validate.js.map +1 -1
  380. package/dist/parser/yaml.d.ts +83 -19
  381. package/dist/parser/yaml.d.ts.map +1 -1
  382. package/dist/parser/yaml.js +478 -173
  383. package/dist/parser/yaml.js.map +1 -1
  384. package/dist/ralph/cli-renderer.d.ts +8 -1
  385. package/dist/ralph/cli-renderer.d.ts.map +1 -1
  386. package/dist/ralph/cli-renderer.js +105 -34
  387. package/dist/ralph/cli-renderer.js.map +1 -1
  388. package/dist/ralph/events.d.ts +10 -10
  389. package/dist/ralph/events.d.ts.map +1 -1
  390. package/dist/ralph/events.js +301 -98
  391. package/dist/ralph/events.js.map +1 -1
  392. package/dist/ralph/index.d.ts +5 -2
  393. package/dist/ralph/index.d.ts.map +1 -1
  394. package/dist/ralph/index.js +9 -3
  395. package/dist/ralph/index.js.map +1 -1
  396. package/dist/ralph/loop-errors.d.ts +83 -0
  397. package/dist/ralph/loop-errors.d.ts.map +1 -0
  398. package/dist/ralph/loop-errors.js +150 -0
  399. package/dist/ralph/loop-errors.js.map +1 -0
  400. package/dist/ralph/subagent.d.ts +94 -0
  401. package/dist/ralph/subagent.d.ts.map +1 -0
  402. package/dist/ralph/subagent.js +193 -0
  403. package/dist/ralph/subagent.js.map +1 -0
  404. package/dist/ralph/wrap-up.d.ts +125 -0
  405. package/dist/ralph/wrap-up.d.ts.map +1 -0
  406. package/dist/ralph/wrap-up.js +270 -0
  407. package/dist/ralph/wrap-up.js.map +1 -0
  408. package/dist/schema/batch.d.ts +97 -0
  409. package/dist/schema/batch.d.ts.map +1 -0
  410. package/dist/schema/batch.js +24 -0
  411. package/dist/schema/batch.js.map +1 -0
  412. package/dist/schema/common.d.ts +8 -2
  413. package/dist/schema/common.d.ts.map +1 -1
  414. package/dist/schema/common.js +42 -31
  415. package/dist/schema/common.js.map +1 -1
  416. package/dist/schema/inbox.d.ts +12 -12
  417. package/dist/schema/inbox.js +4 -4
  418. package/dist/schema/inbox.js.map +1 -1
  419. package/dist/schema/index.d.ts +8 -5
  420. package/dist/schema/index.d.ts.map +1 -1
  421. package/dist/schema/index.js +8 -5
  422. package/dist/schema/index.js.map +1 -1
  423. package/dist/schema/meta.d.ts +1454 -27
  424. package/dist/schema/meta.d.ts.map +1 -1
  425. package/dist/schema/meta.js +198 -21
  426. package/dist/schema/meta.js.map +1 -1
  427. package/dist/schema/plan.d.ts +285 -0
  428. package/dist/schema/plan.d.ts.map +1 -0
  429. package/dist/schema/plan.js +81 -0
  430. package/dist/schema/plan.js.map +1 -0
  431. package/dist/schema/spec.d.ts +72 -33
  432. package/dist/schema/spec.d.ts.map +1 -1
  433. package/dist/schema/spec.js +22 -9
  434. package/dist/schema/spec.js.map +1 -1
  435. package/dist/schema/task.d.ts +172 -161
  436. package/dist/schema/task.d.ts.map +1 -1
  437. package/dist/schema/task.js +21 -12
  438. package/dist/schema/task.js.map +1 -1
  439. package/dist/schema/triage.d.ts +266 -0
  440. package/dist/schema/triage.d.ts.map +1 -0
  441. package/dist/schema/triage.js +134 -0
  442. package/dist/schema/triage.js.map +1 -0
  443. package/dist/sessions/index.d.ts +2 -2
  444. package/dist/sessions/index.d.ts.map +1 -1
  445. package/dist/sessions/index.js +3 -3
  446. package/dist/sessions/index.js.map +1 -1
  447. package/dist/sessions/store.d.ts +241 -1
  448. package/dist/sessions/store.d.ts.map +1 -1
  449. package/dist/sessions/store.js +810 -31
  450. package/dist/sessions/store.js.map +1 -1
  451. package/dist/sessions/types.d.ts +10 -10
  452. package/dist/sessions/types.d.ts.map +1 -1
  453. package/dist/sessions/types.js +10 -9
  454. package/dist/sessions/types.js.map +1 -1
  455. package/dist/strings/errors.d.ts +55 -0
  456. package/dist/strings/errors.d.ts.map +1 -1
  457. package/dist/strings/errors.js +138 -106
  458. package/dist/strings/errors.js.map +1 -1
  459. package/dist/strings/guidance.d.ts.map +1 -1
  460. package/dist/strings/guidance.js +16 -16
  461. package/dist/strings/guidance.js.map +1 -1
  462. package/dist/strings/index.d.ts +4 -4
  463. package/dist/strings/index.d.ts.map +1 -1
  464. package/dist/strings/index.js +4 -4
  465. package/dist/strings/index.js.map +1 -1
  466. package/dist/strings/labels.d.ts +4 -0
  467. package/dist/strings/labels.d.ts.map +1 -1
  468. package/dist/strings/labels.js +45 -41
  469. package/dist/strings/labels.js.map +1 -1
  470. package/dist/strings/validation.d.ts.map +1 -1
  471. package/dist/strings/validation.js +71 -71
  472. package/dist/strings/validation.js.map +1 -1
  473. package/dist/triage/actions.d.ts +27 -0
  474. package/dist/triage/actions.d.ts.map +1 -0
  475. package/dist/triage/actions.js +95 -0
  476. package/dist/triage/actions.js.map +1 -0
  477. package/dist/triage/constants.d.ts +6 -0
  478. package/dist/triage/constants.d.ts.map +1 -0
  479. package/dist/triage/constants.js +7 -0
  480. package/dist/triage/constants.js.map +1 -0
  481. package/dist/triage/index.d.ts +3 -0
  482. package/dist/triage/index.d.ts.map +1 -0
  483. package/dist/triage/index.js +3 -0
  484. package/dist/triage/index.js.map +1 -0
  485. package/dist/utils/commit.d.ts +1 -1
  486. package/dist/utils/commit.d.ts.map +1 -1
  487. package/dist/utils/commit.js +28 -26
  488. package/dist/utils/commit.js.map +1 -1
  489. package/dist/utils/git.d.ts +1 -1
  490. package/dist/utils/git.d.ts.map +1 -1
  491. package/dist/utils/git.js +40 -38
  492. package/dist/utils/git.js.map +1 -1
  493. package/dist/utils/grep.js +11 -11
  494. package/dist/utils/grep.js.map +1 -1
  495. package/dist/utils/index.d.ts +7 -7
  496. package/dist/utils/index.d.ts.map +1 -1
  497. package/dist/utils/index.js +4 -4
  498. package/dist/utils/index.js.map +1 -1
  499. package/dist/utils/time.d.ts.map +1 -1
  500. package/dist/utils/time.js +10 -10
  501. package/dist/utils/time.js.map +1 -1
  502. package/package.json +28 -5
  503. package/plugin/.claude-plugin/marketplace.json +17 -0
  504. package/plugin/.claude-plugin/plugin.json +5 -0
  505. package/plugin/plugins/kspec/skills/create-workflow/SKILL.md +235 -0
  506. package/plugin/plugins/kspec/skills/help/SKILL.md +42 -0
  507. package/plugin/plugins/kspec/skills/observations/SKILL.md +143 -0
  508. package/plugin/plugins/kspec/skills/plan/SKILL.md +343 -0
  509. package/plugin/plugins/kspec/skills/reflect/SKILL.md +161 -0
  510. package/plugin/plugins/kspec/skills/review/SKILL.md +193 -0
  511. package/plugin/plugins/kspec/skills/task-work/SKILL.md +303 -0
  512. package/plugin/plugins/kspec/skills/triage/SKILL.md +206 -0
  513. package/plugin/plugins/kspec/skills/triage/docs/automation.md +120 -0
  514. package/plugin/plugins/kspec/skills/triage/docs/inbox.md +144 -0
  515. package/plugin/plugins/kspec/skills/triage/docs/observations.md +85 -0
  516. package/plugin/plugins/kspec/skills/triage-automation/SKILL.md +140 -0
  517. package/plugin/plugins/kspec/skills/triage-inbox/SKILL.md +232 -0
  518. package/plugin/plugins/kspec/skills/writing-specs/SKILL.md +340 -0
  519. package/templates/agents-sections/01-quick-start.md +22 -0
  520. package/templates/agents-sections/02-shadow-branch.md +34 -0
  521. package/templates/agents-sections/03-task-lifecycle.md +48 -0
  522. package/templates/agents-sections/04-pr-workflow.md +17 -0
  523. package/templates/agents-sections/05-commit-convention.md +27 -0
  524. package/templates/agents-sections/06-ralph-loop.md +45 -0
  525. package/templates/hooks/pre-commit +34 -0
  526. package/templates/skills/create-workflow/SKILL.md +228 -0
  527. package/templates/skills/help/SKILL.md +37 -0
  528. package/templates/skills/manifest.yaml +60 -0
  529. package/templates/skills/observations/SKILL.md +137 -0
  530. package/templates/skills/plan/SKILL.md +336 -0
  531. package/templates/skills/reflect/SKILL.md +155 -0
  532. package/templates/skills/review/SKILL.md +186 -0
  533. package/templates/skills/task-work/SKILL.md +296 -0
  534. package/templates/skills/triage/SKILL.md +199 -0
  535. package/templates/skills/triage/docs/automation.md +120 -0
  536. package/templates/skills/triage/docs/inbox.md +144 -0
  537. package/templates/skills/triage/docs/observations.md +85 -0
  538. package/templates/skills/triage-automation/SKILL.md +134 -0
  539. package/templates/skills/triage-inbox/SKILL.md +225 -0
  540. package/templates/skills/writing-specs/SKILL.md +333 -0
@@ -0,0 +1,377 @@
1
+ /**
2
+ * Agent instruction generation commands.
3
+ *
4
+ * AC: @agent-instruction-gen ac-1 - kspec agents generate creates kspec-agents.md in project root
5
+ * AC: @agent-instruction-gen ac-2 - output includes Finding Information table with row per skill
6
+ * AC: @agent-instruction-gen ac-3 - output includes conventions section listing rules by domain
7
+ * AC: @agent-instruction-gen ac-4 - output contains freshness comment with kspec version and timestamp
8
+ * AC: @agent-instruction-gen ac-5 - kspec agents status reports stale when not regenerated after meta changes
9
+ *
10
+ * AC: @agents-cli ac-1 - kspec agents generate writes kspec-agents.md to project root
11
+ * AC: @agents-cli ac-2 - kspec agents generate --dry-run prints content without writing
12
+ * AC: @agents-cli ac-3 - kspec agents status reports up to date when current
13
+ * AC: @agents-cli ac-4 - kspec agents status reports stale when meta changed
14
+ *
15
+ * AC: @agent-templates ac-1 - template sections included in output in defined order
16
+ * AC: @agent-templates ac-2 - each template section appears in generated output
17
+ * AC: @agent-templates ac-3 - error if template directory missing or empty
18
+ */
19
+ import * as crypto from "node:crypto";
20
+ import * as fs from "node:fs/promises";
21
+ import { createRequire } from "node:module";
22
+ import * as path from "node:path";
23
+ import { fileURLToPath } from "node:url";
24
+ import chalk from "chalk";
25
+ import { generateConventionsSummary, generateSkillsTable, generateWorkflowsSummary, initContext, loadMetaContext, } from "../../parser/index.js";
26
+ import { errors } from "../../strings/errors.js";
27
+ import { EXIT_CODES } from "../exit-codes.js";
28
+ import { error, output, success } from "../output.js";
29
+ const __filename = fileURLToPath(import.meta.url);
30
+ const __dirname = path.dirname(__filename);
31
+ // Read version from package.json at runtime
32
+ const require = createRequire(import.meta.url);
33
+ const { version } = require("../../../package.json");
34
+ /**
35
+ * File name for generated agent instructions
36
+ */
37
+ const GENERATED_FILE_NAME = "kspec-agents.md";
38
+ /**
39
+ * Hash file name for tracking freshness
40
+ */
41
+ const HASH_FILE_NAME = ".kspec-agents-hash";
42
+ /**
43
+ * Templates directory name relative to package root
44
+ */
45
+ const TEMPLATES_DIR = "templates/agents-sections";
46
+ /**
47
+ * Compute SHA256 hash of content
48
+ */
49
+ function computeHash(content) {
50
+ return crypto.createHash("sha256").update(content, "utf-8").digest("hex");
51
+ }
52
+ /**
53
+ * Load template sections from the templates directory.
54
+ * AC: @agent-templates ac-1 - all template sections included in defined order
55
+ * AC: @agent-templates ac-3 - error if directory missing or empty
56
+ */
57
+ export async function loadTemplateSections(packageRoot) {
58
+ const templatesPath = path.join(packageRoot, TEMPLATES_DIR);
59
+ // Check if templates directory exists
60
+ try {
61
+ await fs.access(templatesPath);
62
+ }
63
+ catch {
64
+ throw new Error(`Templates directory not found at: ${templatesPath}. ` +
65
+ `Expected templates/agents-sections/ directory with section markdown files.`);
66
+ }
67
+ // Read directory contents
68
+ const entries = await fs.readdir(templatesPath, { withFileTypes: true });
69
+ const mdFiles = entries
70
+ .filter((e) => e.isFile() && e.name.endsWith(".md"))
71
+ .map((e) => e.name)
72
+ .sort(); // Sort to ensure consistent ordering by filename prefix
73
+ if (mdFiles.length === 0) {
74
+ throw new Error(`Templates directory is empty: ${templatesPath}. ` +
75
+ `Expected markdown files for agent instruction sections.`);
76
+ }
77
+ // Load each template in order
78
+ const sections = [];
79
+ for (const filename of mdFiles) {
80
+ const filePath = path.join(templatesPath, filename);
81
+ const content = await fs.readFile(filePath, "utf-8");
82
+ sections.push(content.trim());
83
+ }
84
+ return sections;
85
+ }
86
+ /**
87
+ * Get the package root directory (where templates/ is located)
88
+ */
89
+ export function getPackageRoot() {
90
+ // Navigate from dist/cli/commands/ to package root
91
+ return path.resolve(__dirname, "..", "..", "..");
92
+ }
93
+ /**
94
+ * Generate a hash of the meta content that affects the generated file.
95
+ * This is used to detect if the generated file is stale.
96
+ */
97
+ export function computeMetaHash(skills, conventions, workflows, templateSections) {
98
+ // Create a stable representation of the meta content
99
+ // AC: @cross-platform-and-version-robustness ac-4 - includes templates for staleness detection
100
+ const data = {
101
+ skills: skills.map((s) => ({
102
+ id: s.id,
103
+ name: s.name,
104
+ description: s.description,
105
+ })),
106
+ conventions: conventions.map((c) => ({
107
+ domain: c.domain,
108
+ rules: c.rules,
109
+ examples: (c.examples ?? []).map((e) => ({ good: e.good, bad: e.bad })),
110
+ })),
111
+ workflows: workflows.map((w) => ({
112
+ id: w.id,
113
+ trigger: w.trigger,
114
+ description: w.description,
115
+ })),
116
+ };
117
+ if (templateSections && templateSections.length > 0) {
118
+ data.templates = templateSections;
119
+ }
120
+ return computeHash(JSON.stringify(data));
121
+ }
122
+ /**
123
+ * Generate the freshness comment.
124
+ * AC: @agent-instruction-gen ac-4 - freshness comment with kspec version and timestamp
125
+ */
126
+ function generateFreshnessComment(timestamp) {
127
+ return `<!-- Generated by kspec v${version} at ${timestamp} -->\n<!-- Do not edit manually - regenerate with: kspec agents generate -->\n\n`;
128
+ }
129
+ /**
130
+ * Generate the full kspec-agents.md content
131
+ * AC: @agent-templates ac-1 - template sections included in output in defined order
132
+ * AC: @agent-templates ac-2 - each template section appears in generated output
133
+ */
134
+ export async function generateAgentsContent(skills, conventions, workflows, timestamp, templateSections) {
135
+ const sections = [];
136
+ // AC: @agent-instruction-gen ac-4 - freshness comment
137
+ sections.push(generateFreshnessComment(timestamp));
138
+ // Header
139
+ sections.push("# kspec Agent Instructions\n");
140
+ sections.push("This file is auto-generated from kspec meta. Include it in your AGENTS.md or similar agent instruction file.\n\n");
141
+ // AC: @agent-instruction-gen ac-2 - Skills table
142
+ // AC: @agent-instruction-gen ac-3 - Conventions section
143
+ // Ensure blank line between each data section for valid markdown
144
+ const dataSections = [
145
+ generateSkillsTable(skills),
146
+ generateConventionsSummary(conventions),
147
+ generateWorkflowsSummary(workflows),
148
+ ].filter(Boolean);
149
+ for (const section of dataSections) {
150
+ // Ensure each section is preceded by a blank line
151
+ if (!sections[sections.length - 1]?.endsWith("\n\n")) {
152
+ sections.push("\n");
153
+ }
154
+ sections.push(section);
155
+ }
156
+ // AC: @agent-templates ac-1, ac-2 - Include template sections in order
157
+ if (templateSections.length > 0) {
158
+ sections.push("\n");
159
+ for (const section of templateSections) {
160
+ sections.push(section);
161
+ sections.push("\n\n");
162
+ }
163
+ }
164
+ return sections.join("");
165
+ }
166
+ /**
167
+ * Check the status of the generated agent file.
168
+ * AC: @agent-instruction-gen ac-5 - reports stale when meta has changed
169
+ */
170
+ async function checkAgentStatus(projectRoot, metaHash) {
171
+ const filePath = path.join(projectRoot, GENERATED_FILE_NAME);
172
+ const hashPath = path.join(projectRoot, ".kspec", HASH_FILE_NAME);
173
+ // Check if file exists
174
+ try {
175
+ await fs.access(filePath);
176
+ }
177
+ catch {
178
+ return {
179
+ exists: false,
180
+ path: filePath,
181
+ status: "missing",
182
+ metaHash,
183
+ };
184
+ }
185
+ // Check stored hash
186
+ let storedHash;
187
+ let generatedAt;
188
+ try {
189
+ const hashContent = await fs.readFile(hashPath, "utf-8");
190
+ const hashData = JSON.parse(hashContent);
191
+ storedHash = hashData.metaHash;
192
+ generatedAt = hashData.generatedAt;
193
+ }
194
+ catch {
195
+ // No hash file, treat as stale
196
+ return {
197
+ exists: true,
198
+ path: filePath,
199
+ status: "stale",
200
+ metaHash,
201
+ };
202
+ }
203
+ // Compare hashes
204
+ const isCurrent = storedHash === metaHash;
205
+ return {
206
+ exists: true,
207
+ path: filePath,
208
+ status: isCurrent ? "current" : "stale",
209
+ metaHash,
210
+ storedHash,
211
+ generatedAt,
212
+ };
213
+ }
214
+ /**
215
+ * Register agent instruction generation commands
216
+ */
217
+ export function registerAgentsCommands(program) {
218
+ const agents = program
219
+ .command("agents")
220
+ .description("Agent instruction generation commands");
221
+ // AC: @agent-instruction-gen ac-1 - kspec agents generate
222
+ // AC: @agent-templates ac-3 - error if template directory missing
223
+ // AC: @trait-dry-run ac-1 through ac-6 - dry-run support
224
+ agents
225
+ .command("generate")
226
+ .description("Generate kspec-agents.md from meta (skills, conventions, workflows)")
227
+ .option("--dry-run", "Show what would be generated without writing files")
228
+ .action(async (options) => {
229
+ try {
230
+ const ctx = await initContext();
231
+ if (!ctx.manifestPath) {
232
+ error(errors.project.noKspecProject);
233
+ process.exit(EXIT_CODES.ERROR);
234
+ }
235
+ // AC: @agent-templates ac-3 - error if templates missing
236
+ const packageRoot = getPackageRoot();
237
+ let templateSections;
238
+ try {
239
+ templateSections = await loadTemplateSections(packageRoot);
240
+ }
241
+ catch (err) {
242
+ const message = err instanceof Error ? err.message : "Unknown error loading templates";
243
+ error(message, {
244
+ suggestion: `Verify that ${TEMPLATES_DIR}/ exists with markdown files.`,
245
+ });
246
+ process.exit(EXIT_CODES.ERROR);
247
+ }
248
+ const metaCtx = await loadMetaContext(ctx);
249
+ const dryRun = options.dryRun || false;
250
+ const timestamp = new Date().toISOString();
251
+ // Generate content - now async due to template loading
252
+ const content = await generateAgentsContent(metaCtx.skills, metaCtx.conventions, metaCtx.workflows, timestamp, templateSections);
253
+ // Compute meta hash for freshness tracking (includes templates)
254
+ const metaHash = computeMetaHash(metaCtx.skills, metaCtx.conventions, metaCtx.workflows, templateSections);
255
+ const outputPath = path.join(ctx.rootDir, GENERATED_FILE_NAME);
256
+ const hashPath = path.join(ctx.rootDir, ".kspec", HASH_FILE_NAME);
257
+ // AC: @agent-instruction-gen ac-6 - skip regeneration when content unchanged
258
+ if (!dryRun) {
259
+ const status = await checkAgentStatus(ctx.rootDir, metaHash);
260
+ if (status.status === "current") {
261
+ output({
262
+ path: outputPath,
263
+ status: "current",
264
+ skipped: true,
265
+ }, () => {
266
+ success(`${GENERATED_FILE_NAME} is already up to date`);
267
+ });
268
+ return;
269
+ }
270
+ }
271
+ // AC: @trait-dry-run ac-3 - clear indication this is a preview
272
+ if (dryRun) {
273
+ output({
274
+ dry_run: true,
275
+ path: outputPath,
276
+ skills: metaCtx.skills.length,
277
+ conventions: metaCtx.conventions.length,
278
+ workflows: metaCtx.workflows.length,
279
+ templates: templateSections.length,
280
+ content,
281
+ }, () => {
282
+ console.log(chalk.yellow("DRY RUN - No changes made"));
283
+ console.log();
284
+ console.log(chalk.gray(`Would write to: ${outputPath}`));
285
+ console.log();
286
+ console.log(chalk.gray("--- Generated content ---"));
287
+ console.log(content);
288
+ console.log(chalk.gray("--- End content ---"));
289
+ console.log();
290
+ console.log(chalk.yellow("No changes were made. Run without --dry-run to apply."));
291
+ });
292
+ return;
293
+ }
294
+ // AC: @trait-dry-run ac-2 - no files modified in dry run mode
295
+ // Write the generated file
296
+ await fs.writeFile(outputPath, content, "utf-8");
297
+ // Write the hash file for freshness tracking
298
+ await fs.mkdir(path.dirname(hashPath), { recursive: true });
299
+ await fs.writeFile(hashPath, JSON.stringify({
300
+ metaHash,
301
+ generatedAt: timestamp,
302
+ version,
303
+ }, null, 2), "utf-8");
304
+ output({
305
+ path: outputPath,
306
+ skills: metaCtx.skills.length,
307
+ conventions: metaCtx.conventions.length,
308
+ workflows: metaCtx.workflows.length,
309
+ templates: templateSections.length,
310
+ generatedAt: timestamp,
311
+ }, () => {
312
+ success(`Generated ${GENERATED_FILE_NAME}`, {
313
+ skills: metaCtx.skills.length,
314
+ conventions: metaCtx.conventions.length,
315
+ workflows: metaCtx.workflows.length,
316
+ templates: templateSections.length,
317
+ });
318
+ console.log(chalk.gray(` Path: ${outputPath}`));
319
+ });
320
+ }
321
+ catch (err) {
322
+ error("Failed to generate agent instructions", err);
323
+ process.exit(EXIT_CODES.ERROR);
324
+ }
325
+ });
326
+ // AC: @agent-instruction-gen ac-5 - kspec agents status
327
+ agents
328
+ .command("status")
329
+ .description("Check if kspec-agents.md is up to date with meta")
330
+ .action(async () => {
331
+ try {
332
+ const ctx = await initContext();
333
+ if (!ctx.manifestPath) {
334
+ error(errors.project.noKspecProject);
335
+ process.exit(EXIT_CODES.ERROR);
336
+ }
337
+ const metaCtx = await loadMetaContext(ctx);
338
+ // Load templates for hash computation
339
+ let templateSections = [];
340
+ try {
341
+ templateSections = await loadTemplateSections(getPackageRoot());
342
+ }
343
+ catch (_err) {
344
+ // Templates may not exist in all environments
345
+ }
346
+ // Compute current meta hash (includes templates)
347
+ const metaHash = computeMetaHash(metaCtx.skills, metaCtx.conventions, metaCtx.workflows, templateSections);
348
+ const status = await checkAgentStatus(ctx.rootDir, metaHash);
349
+ output(status, () => {
350
+ switch (status.status) {
351
+ case "missing":
352
+ console.log(chalk.yellow(`${GENERATED_FILE_NAME} does not exist`));
353
+ console.log();
354
+ console.log(chalk.gray("Run 'kspec agents generate' to create it."));
355
+ break;
356
+ case "stale":
357
+ console.log(chalk.yellow(`${GENERATED_FILE_NAME} is stale`));
358
+ console.log();
359
+ console.log(chalk.gray("Meta has changed since the file was generated."));
360
+ console.log(chalk.gray("Run 'kspec agents generate' to regenerate."));
361
+ break;
362
+ case "current":
363
+ console.log(chalk.green(`${GENERATED_FILE_NAME} is up to date`));
364
+ if (status.generatedAt) {
365
+ console.log(chalk.gray(` Generated: ${status.generatedAt}`));
366
+ }
367
+ break;
368
+ }
369
+ });
370
+ }
371
+ catch (err) {
372
+ error("Failed to check agent status", err);
373
+ process.exit(EXIT_CODES.ERROR);
374
+ }
375
+ });
376
+ }
377
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/cli/commands/agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * kspec batch — execute multiple CLI commands from a JSON payload.
3
+ *
4
+ * Supports atomic mode (default: temp copy, rollback on failure) and
5
+ * immediate mode (per-command commits, no rollback).
6
+ */
7
+ import type { Command } from "commander";
8
+ /**
9
+ * Register the `kspec batch` command group.
10
+ *
11
+ * AC: @batch-exec ac-stdin — stdin input
12
+ * AC: @batch-exec ac-file — file input
13
+ * AC: @batch-exec ac-inline — inline JSON input
14
+ * AC: @batch-exec ac-default-atomic — atomic mode by default
15
+ * AC: @batch-exec ac-no-atomic-flag — immediate mode
16
+ * AC: @batch-exec ac-continue-implies-immediate — --continue implies --no-atomic
17
+ * AC: @batch-exec ac-json-mode-field — JSON output includes mode field
18
+ */
19
+ export declare function registerBatchCommand(program: Command): void;
20
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/batch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkFzC;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiK3D"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * kspec batch — execute multiple CLI commands from a JSON payload.
3
+ *
4
+ * Supports atomic mode (default: temp copy, rollback on failure) and
5
+ * immediate mode (per-command commits, no rollback).
6
+ */
7
+ import chalk from "chalk";
8
+ import { parseBatchInput, BatchParseError, executeBatch, } from "../batch-exec.js";
9
+ import { createBatchCommandFilter } from "../command-annotations.js";
10
+ import { extractCommandTree, flattenCommandTree } from "../introspection.js";
11
+ import { isJsonMode, output } from "../output.js";
12
+ import { EXIT_CODES } from "../exit-codes.js";
13
+ /**
14
+ * Format a command signature for display.
15
+ * e.g., "inbox add <text> [--tag <tag...>]"
16
+ */
17
+ function formatCommandSignature(cmd) {
18
+ const parts = [cmd.fullPath.slice(1).join(" ")]; // Skip root 'kspec'
19
+ // Add positional arguments
20
+ for (const arg of cmd.arguments) {
21
+ if (arg.required) {
22
+ parts.push(`<${arg.name}${arg.variadic ? "..." : ""}>`);
23
+ }
24
+ else {
25
+ parts.push(`[${arg.name}${arg.variadic ? "..." : ""}]`);
26
+ }
27
+ }
28
+ // Add options (excluding common ones like --json, --verbose)
29
+ const skipOptions = new Set(["json", "verbose", "help"]);
30
+ const significantOptions = cmd.options.filter((opt) => {
31
+ const match = opt.flags.match(/--([a-zA-Z0-9-]+)/);
32
+ return match && !skipOptions.has(match[1]);
33
+ });
34
+ if (significantOptions.length > 0) {
35
+ parts.push("[options]");
36
+ }
37
+ return parts.join(" ");
38
+ }
39
+ function buildCommandInfo(cmd) {
40
+ return {
41
+ command: cmd.fullPath.slice(1).join(" "), // Skip root 'kspec'
42
+ signature: formatCommandSignature(cmd),
43
+ description: cmd.description,
44
+ mutating: cmd.mutating,
45
+ arguments: cmd.arguments.map((arg) => ({
46
+ name: arg.name,
47
+ description: arg.description,
48
+ required: arg.required,
49
+ variadic: arg.variadic,
50
+ })),
51
+ options: cmd.options.map((opt) => ({
52
+ flags: opt.flags,
53
+ description: opt.description,
54
+ required: opt.mandatory,
55
+ })),
56
+ };
57
+ }
58
+ /**
59
+ * Register the `kspec batch` command group.
60
+ *
61
+ * AC: @batch-exec ac-stdin — stdin input
62
+ * AC: @batch-exec ac-file — file input
63
+ * AC: @batch-exec ac-inline — inline JSON input
64
+ * AC: @batch-exec ac-default-atomic — atomic mode by default
65
+ * AC: @batch-exec ac-no-atomic-flag — immediate mode
66
+ * AC: @batch-exec ac-continue-implies-immediate — --continue implies --no-atomic
67
+ * AC: @batch-exec ac-json-mode-field — JSON output includes mode field
68
+ */
69
+ export function registerBatchCommand(program) {
70
+ const batchCmd = program
71
+ .command("batch")
72
+ .description("Execute multiple commands from a JSON payload")
73
+ .option("--file <path>", "Read commands from a JSON file")
74
+ .option("--commands <json>", "Inline JSON command array")
75
+ .option("--no-atomic", "Immediate mode: per-command commits, no rollback")
76
+ .option("--continue", "Continue on error (implies --no-atomic)")
77
+ .option("--dry-run", "Validate without executing")
78
+ .addHelpText("after", `
79
+ Examples:
80
+ $ echo '[{"command":"inbox add","args":{"content":"test"}}]' | kspec batch
81
+ $ kspec batch --file commands.json
82
+ $ kspec batch --commands '[{"command":"inbox add","args":{"content":"test"}}]'
83
+ $ kspec batch --no-atomic --commands '[...]'
84
+ $ kspec batch --continue --commands '[...]'
85
+ $ kspec batch --dry-run --commands '[...]'
86
+ $ kspec batch commands # list allowed commands`)
87
+ .action(async (options) => {
88
+ const json = isJsonMode();
89
+ // --continue implies --no-atomic
90
+ // AC: ac-continue-implies-immediate
91
+ let atomic = options.atomic;
92
+ if (options.continue && atomic) {
93
+ if (!json) {
94
+ console.error("Notice: --continue implies immediate mode (--no-atomic)");
95
+ }
96
+ atomic = false;
97
+ }
98
+ // Determine input source
99
+ let source;
100
+ if (options.file) {
101
+ source = { type: "file", path: options.file };
102
+ }
103
+ else if (options.commands) {
104
+ source = { type: "inline", json: options.commands };
105
+ }
106
+ else {
107
+ source = { type: "stdin" };
108
+ }
109
+ // Parse input
110
+ let commands;
111
+ try {
112
+ commands = await parseBatchInput(source);
113
+ }
114
+ catch (err) {
115
+ if (err instanceof BatchParseError) {
116
+ if (json) {
117
+ console.log(JSON.stringify({
118
+ success: false,
119
+ error: err.message,
120
+ }, null, 2));
121
+ }
122
+ else {
123
+ console.error(`Error: ${err.message}`);
124
+ }
125
+ process.exit(EXIT_CODES.ERROR);
126
+ }
127
+ throw err;
128
+ }
129
+ // Execute
130
+ const result = await executeBatch(commands, program, {
131
+ atomic,
132
+ continueOnError: options.continue ?? false,
133
+ dryRun: options.dryRun ?? false,
134
+ json,
135
+ });
136
+ // Output
137
+ if (json) {
138
+ console.log(JSON.stringify(result, null, 2));
139
+ }
140
+ else {
141
+ // Human-readable output
142
+ const modeLabel = result.mode === "atomic" ? "atomic" : "immediate";
143
+ if (result.success) {
144
+ console.log(`Batch complete (${modeLabel}): ${result.summary.succeeded}/${result.summary.total} succeeded`);
145
+ }
146
+ else {
147
+ console.error(`Batch failed (${modeLabel}): ${result.summary.succeeded}/${result.summary.total} succeeded, ${result.summary.failed} failed`);
148
+ }
149
+ // Show per-command results
150
+ for (const r of result.results) {
151
+ const label = r.id ?? `#${r.index}`;
152
+ if (r.success) {
153
+ console.log(` [${label}] ${r.command}: OK`);
154
+ }
155
+ else {
156
+ let errorLine = ` [${label}] ${r.command}: FAILED — ${r.error}`;
157
+ if (r.suggestion) {
158
+ errorLine += ` Did you mean: ${r.suggestion}?`;
159
+ }
160
+ console.error(errorLine);
161
+ }
162
+ }
163
+ // Show helpful hint only for validation failures (not runtime execution failures)
164
+ if (result.validationFailed) {
165
+ console.error("");
166
+ console.error("Run 'kspec batch commands' for a list of available commands.");
167
+ }
168
+ }
169
+ if (!result.success) {
170
+ process.exit(EXIT_CODES.ERROR);
171
+ }
172
+ });
173
+ // Register the `batch commands` subcommand
174
+ batchCmd
175
+ .command("commands")
176
+ .description("List commands allowed in batch mode")
177
+ .action(() => {
178
+ const json = isJsonMode();
179
+ const tree = extractCommandTree(program);
180
+ const allCommands = flattenCommandTree(tree);
181
+ const commandFilter = createBatchCommandFilter();
182
+ // Filter to leaf commands (no subcommands) that pass the batch filter
183
+ const allowedCommands = allCommands.filter((cmd) => {
184
+ // Must be a leaf command (no subcommands)
185
+ if (cmd.subcommands.length > 0)
186
+ return false;
187
+ // Must pass the batch filter (mutating only)
188
+ if (!commandFilter(cmd))
189
+ return false;
190
+ // Exclude batch itself
191
+ if (cmd.name === "batch" || cmd.fullPath.includes("batch"))
192
+ return false;
193
+ return true;
194
+ });
195
+ if (json) {
196
+ const commandInfos = allowedCommands.map(buildCommandInfo);
197
+ output({ commands: commandInfos, total: commandInfos.length });
198
+ }
199
+ else {
200
+ console.log(chalk.bold.cyan("Batch-Allowed Commands"));
201
+ console.log(chalk.gray("─".repeat(60)));
202
+ console.log(chalk.gray("Only mutating commands can be used in batch mode.\n"));
203
+ for (const cmd of allowedCommands) {
204
+ const signature = formatCommandSignature(cmd);
205
+ console.log(chalk.green(signature));
206
+ if (cmd.description) {
207
+ console.log(chalk.gray(` ${cmd.description}`));
208
+ }
209
+ }
210
+ console.log(chalk.gray(`\n${allowedCommands.length} command(s) available`));
211
+ }
212
+ });
213
+ }
214
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../src/cli/commands/batch.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Command } from 'commander';
1
+ import type { Command } from "commander";
2
2
  /**
3
3
  * Register the 'clone-for-testing' command
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"clone-for-testing.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/clone-for-testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0IpC;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6DrE"}
1
+ {"version":3,"file":"clone-for-testing.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/clone-for-testing.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8IzC;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0ErE"}