agentplane 0.3.16 → 0.3.18

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 (722) hide show
  1. package/assets/policy/incidents.md +1 -0
  2. package/dist/.build-manifest.json +798 -603
  3. package/dist/adapters/git/git-context-adapter.d.ts +1 -1
  4. package/dist/adapters/git/git-context-adapter.d.ts.map +1 -1
  5. package/dist/agents/agents-template.d.ts.map +1 -1
  6. package/dist/agents/agents-template.js +23 -9
  7. package/dist/backends/task-backend/load.d.ts +2 -1
  8. package/dist/backends/task-backend/load.d.ts.map +1 -1
  9. package/dist/backends/task-backend/load.js +2 -1
  10. package/dist/backends/task-backend/local-backend-doc.d.ts.map +1 -1
  11. package/dist/backends/task-backend/local-backend-doc.js +2 -1
  12. package/dist/backends/task-backend/local-backend-read.d.ts.map +1 -1
  13. package/dist/backends/task-backend/local-backend-read.js +2 -1
  14. package/dist/backends/task-backend/local-backend-state.d.ts +1 -1
  15. package/dist/backends/task-backend/local-backend-state.d.ts.map +1 -1
  16. package/dist/backends/task-backend/local-backend-write.d.ts.map +1 -1
  17. package/dist/backends/task-backend/local-backend-write.js +2 -1
  18. package/dist/backends/task-backend/redmine/backend-cache-doc.js +1 -1
  19. package/dist/backends/task-backend/redmine/backend-report.js +1 -1
  20. package/dist/backends/task-backend/redmine/backend-runtime.d.ts +4 -146
  21. package/dist/backends/task-backend/redmine/backend-runtime.d.ts.map +1 -1
  22. package/dist/backends/task-backend/redmine/backend-runtime.js +4 -258
  23. package/dist/backends/task-backend/redmine/backend-sync/migration.js +1 -1
  24. package/dist/backends/task-backend/redmine/backend-sync/status.d.ts.map +1 -1
  25. package/dist/backends/task-backend/redmine/backend-sync/status.js +2 -1
  26. package/dist/backends/task-backend/redmine/backend-sync/write.js +1 -1
  27. package/dist/backends/task-backend/redmine/mapping.d.ts +1 -1
  28. package/dist/backends/task-backend/redmine/mapping.d.ts.map +1 -1
  29. package/dist/backends/task-backend/redmine/mapping.js +3 -3
  30. package/dist/backends/task-backend/redmine/parse.d.ts +1 -1
  31. package/dist/backends/task-backend/redmine/parse.d.ts.map +1 -1
  32. package/dist/backends/task-backend/redmine/runtime-context.d.ts +98 -0
  33. package/dist/backends/task-backend/redmine/runtime-context.d.ts.map +1 -0
  34. package/dist/backends/task-backend/redmine/runtime-context.js +57 -0
  35. package/dist/backends/task-backend/redmine/runtime-methods.d.ts +33 -0
  36. package/dist/backends/task-backend/redmine/runtime-methods.d.ts.map +1 -0
  37. package/dist/backends/task-backend/redmine/runtime-methods.js +86 -0
  38. package/dist/backends/task-backend/redmine/runtime-operations.d.ts +19 -0
  39. package/dist/backends/task-backend/redmine/runtime-operations.d.ts.map +1 -0
  40. package/dist/backends/task-backend/redmine/runtime-operations.js +83 -0
  41. package/dist/backends/task-backend/redmine/runtime-state.d.ts +10 -0
  42. package/dist/backends/task-backend/redmine/runtime-state.d.ts.map +1 -0
  43. package/dist/backends/task-backend/redmine/runtime-state.js +45 -0
  44. package/dist/backends/task-backend/redmine/state.js +1 -1
  45. package/dist/backends/task-backend/shared/constants.d.ts +2 -2
  46. package/dist/backends/task-backend/shared/constants.d.ts.map +1 -1
  47. package/dist/backends/task-backend/shared/constants.js +2 -2
  48. package/dist/backends/task-backend/shared/doc.js +1 -1
  49. package/dist/backends/task-backend/shared/export.d.ts +1 -1
  50. package/dist/backends/task-backend/shared/export.d.ts.map +1 -1
  51. package/dist/backends/task-backend/shared/export.js +3 -14
  52. package/dist/backends/task-backend/shared/id.js +1 -1
  53. package/dist/backends/task-backend/shared/record.d.ts +1 -1
  54. package/dist/backends/task-backend/shared/record.d.ts.map +1 -1
  55. package/dist/backends/task-backend/shared/record.js +2 -3
  56. package/dist/backends/task-backend/shared/types.d.ts +2 -2
  57. package/dist/backends/task-backend/shared/types.d.ts.map +1 -1
  58. package/dist/backends/task-index.d.ts +0 -4
  59. package/dist/backends/task-index.d.ts.map +1 -1
  60. package/dist/backends/task-index.js +0 -33
  61. package/dist/cli/archive.d.ts.map +1 -1
  62. package/dist/cli/archive.js +1 -1
  63. package/dist/cli/exit-codes.d.ts.map +1 -1
  64. package/dist/cli/exit-codes.js +1 -0
  65. package/dist/cli/group-command.d.ts +1 -0
  66. package/dist/cli/group-command.d.ts.map +1 -1
  67. package/dist/cli/group-command.js +7 -3
  68. package/dist/cli/http.d.ts.map +1 -1
  69. package/dist/cli/http.js +34 -15
  70. package/dist/cli/output.d.ts +1 -1
  71. package/dist/cli/output.d.ts.map +1 -1
  72. package/dist/cli/output.js +1 -1
  73. package/dist/cli/prompts.d.ts.map +1 -1
  74. package/dist/cli/prompts.js +8 -6
  75. package/dist/cli/run-cli/command-catalog/core.d.ts +1 -1
  76. package/dist/cli/run-cli/command-catalog/core.js +8 -8
  77. package/dist/cli/run-cli/command-catalog/{shared.d.ts → kernel.d.ts} +3 -2
  78. package/dist/cli/run-cli/command-catalog/kernel.d.ts.map +1 -0
  79. package/dist/cli/run-cli/command-catalog/lifecycle.d.ts +1 -1
  80. package/dist/cli/run-cli/command-catalog/lifecycle.js +3 -3
  81. package/dist/cli/run-cli/command-catalog/project.d.ts +1 -1
  82. package/dist/cli/run-cli/command-catalog/project.js +4 -4
  83. package/dist/cli/run-cli/command-catalog/task.d.ts +1 -1
  84. package/dist/cli/run-cli/command-catalog/task.js +3 -3
  85. package/dist/cli/run-cli/command-catalog.d.ts +2 -2
  86. package/dist/cli/run-cli/command-catalog.d.ts.map +1 -1
  87. package/dist/cli/run-cli/command-catalog.js +2 -0
  88. package/dist/cli/run-cli/command-loaders/core.d.ts +55 -0
  89. package/dist/cli/run-cli/command-loaders/core.d.ts.map +1 -0
  90. package/dist/cli/run-cli/command-loaders/core.js +27 -0
  91. package/dist/cli/run-cli/command-loaders/lifecycle.d.ts +19 -0
  92. package/dist/cli/run-cli/command-loaders/lifecycle.d.ts.map +1 -0
  93. package/dist/cli/run-cli/command-loaders/lifecycle.js +18 -0
  94. package/dist/cli/run-cli/command-loaders/project.d.ts +37 -0
  95. package/dist/cli/run-cli/command-loaders/project.d.ts.map +1 -0
  96. package/dist/cli/run-cli/command-loaders/project.js +36 -0
  97. package/dist/cli/run-cli/command-loaders/task.d.ts +65 -0
  98. package/dist/cli/run-cli/command-loaders/task.d.ts.map +1 -0
  99. package/dist/cli/run-cli/command-loaders/task.js +50 -0
  100. package/dist/cli/run-cli/commands/codex.d.ts +1 -1
  101. package/dist/cli/run-cli/commands/codex.d.ts.map +1 -1
  102. package/dist/cli/run-cli/commands/config.d.ts +1 -1
  103. package/dist/cli/run-cli/commands/config.d.ts.map +1 -1
  104. package/dist/cli/run-cli/commands/config.js +1 -1
  105. package/dist/cli/run-cli/commands/core/agent-profiles.js +1 -1
  106. package/dist/cli/run-cli/commands/core/agents.d.ts +1 -1
  107. package/dist/cli/run-cli/commands/core/agents.d.ts.map +1 -1
  108. package/dist/cli/run-cli/commands/core/preflight.d.ts.map +1 -1
  109. package/dist/cli/run-cli/commands/core/preflight.js +3 -2
  110. package/dist/cli/run-cli/commands/ide.d.ts +1 -1
  111. package/dist/cli/run-cli/commands/ide.d.ts.map +1 -1
  112. package/dist/cli/run-cli/commands/init/model.d.ts +2 -1
  113. package/dist/cli/run-cli/commands/init/model.d.ts.map +1 -1
  114. package/dist/cli/run-cli/commands/init/orchestrate-v2.d.ts +9 -0
  115. package/dist/cli/run-cli/commands/init/orchestrate-v2.d.ts.map +1 -0
  116. package/dist/cli/run-cli/commands/init/orchestrate-v2.js +265 -0
  117. package/dist/cli/run-cli/commands/init/orchestrate.d.ts.map +1 -1
  118. package/dist/cli/run-cli/commands/init/orchestrate.js +19 -23
  119. package/dist/cli/run-cli/commands/init/prompts-v2.d.ts +10 -0
  120. package/dist/cli/run-cli/commands/init/prompts-v2.d.ts.map +1 -0
  121. package/dist/cli/run-cli/commands/init/prompts-v2.js +26 -0
  122. package/dist/cli/run-cli/commands/init/recipes.d.ts +2 -1
  123. package/dist/cli/run-cli/commands/init/recipes.d.ts.map +1 -1
  124. package/dist/cli/run-cli/commands/init/recipes.js +3 -1
  125. package/dist/cli/run-cli/commands/init/spec.d.ts.map +1 -1
  126. package/dist/cli/run-cli/commands/init/spec.js +14 -0
  127. package/dist/cli/run-cli/commands/init/steps/advanced-settings.d.ts +9 -0
  128. package/dist/cli/run-cli/commands/init/steps/advanced-settings.d.ts.map +1 -0
  129. package/dist/cli/run-cli/commands/init/steps/advanced-settings.js +48 -0
  130. package/dist/cli/run-cli/commands/init/steps/apply.d.ts +30 -0
  131. package/dist/cli/run-cli/commands/init/steps/apply.d.ts.map +1 -0
  132. package/dist/cli/run-cli/commands/init/steps/apply.js +96 -0
  133. package/dist/cli/run-cli/commands/init/steps/backend.d.ts +8 -0
  134. package/dist/cli/run-cli/commands/init/steps/backend.d.ts.map +1 -0
  135. package/dist/cli/run-cli/commands/init/steps/backend.js +17 -0
  136. package/dist/cli/run-cli/commands/init/steps/conflict-resolver.d.ts +10 -0
  137. package/dist/cli/run-cli/commands/init/steps/conflict-resolver.d.ts.map +1 -0
  138. package/dist/cli/run-cli/commands/init/steps/conflict-resolver.js +41 -0
  139. package/dist/cli/run-cli/commands/init/steps/contracts.d.ts +57 -0
  140. package/dist/cli/run-cli/commands/init/steps/contracts.d.ts.map +1 -0
  141. package/dist/cli/run-cli/commands/init/steps/contracts.js +1 -0
  142. package/dist/cli/run-cli/commands/init/steps/ide.d.ts +8 -0
  143. package/dist/cli/run-cli/commands/init/steps/ide.d.ts.map +1 -0
  144. package/dist/cli/run-cli/commands/init/steps/ide.js +18 -0
  145. package/dist/cli/run-cli/commands/init/steps/index.d.ts +10 -0
  146. package/dist/cli/run-cli/commands/init/steps/index.d.ts.map +1 -0
  147. package/dist/cli/run-cli/commands/init/steps/index.js +9 -0
  148. package/dist/cli/run-cli/commands/init/steps/policy-gateway.d.ts +8 -0
  149. package/dist/cli/run-cli/commands/init/steps/policy-gateway.d.ts.map +1 -0
  150. package/dist/cli/run-cli/commands/init/steps/policy-gateway.js +17 -0
  151. package/dist/cli/run-cli/commands/init/steps/prompt-utils.d.ts +21 -0
  152. package/dist/cli/run-cli/commands/init/steps/prompt-utils.d.ts.map +1 -0
  153. package/dist/cli/run-cli/commands/init/steps/prompt-utils.js +36 -0
  154. package/dist/cli/run-cli/commands/init/steps/recipe-selection.d.ts +15 -0
  155. package/dist/cli/run-cli/commands/init/steps/recipe-selection.d.ts.map +1 -0
  156. package/dist/cli/run-cli/commands/init/steps/recipe-selection.js +35 -0
  157. package/dist/cli/run-cli/commands/init/steps/setup-profile.d.ts +8 -0
  158. package/dist/cli/run-cli/commands/init/steps/setup-profile.d.ts.map +1 -0
  159. package/dist/cli/run-cli/commands/init/steps/setup-profile.js +32 -0
  160. package/dist/cli/run-cli/commands/init/steps/workflow.d.ts +9 -0
  161. package/dist/cli/run-cli/commands/init/steps/workflow.d.ts.map +1 -0
  162. package/dist/cli/run-cli/commands/init/steps/workflow.js +48 -0
  163. package/dist/cli/run-cli/commands/init/ui-v2.d.ts +17 -0
  164. package/dist/cli/run-cli/commands/init/ui-v2.d.ts.map +1 -0
  165. package/dist/cli/run-cli/commands/init/ui-v2.js +39 -0
  166. package/dist/cli/run-cli/commands/init/write-agents.d.ts.map +1 -1
  167. package/dist/cli/run-cli/commands/init/write-agents.js +1 -1
  168. package/dist/cli/run-cli/commands/init/write-config.d.ts +2 -1
  169. package/dist/cli/run-cli/commands/init/write-config.d.ts.map +1 -1
  170. package/dist/cli/run-cli/commands/init/write-config.js +1 -1
  171. package/dist/cli/run-cli/registry.run.d.ts +1 -1
  172. package/dist/cli/run-cli/registry.run.d.ts.map +1 -1
  173. package/dist/cli/run-cli.d.ts.map +1 -1
  174. package/dist/cli/run-cli.js +2 -1
  175. package/dist/cli/spec/errors.d.ts +5 -0
  176. package/dist/cli/spec/errors.d.ts.map +1 -1
  177. package/dist/cli/spec/errors.js +14 -1
  178. package/dist/cli/spec/parse.d.ts.map +1 -1
  179. package/dist/cli/spec/parse.js +8 -1
  180. package/dist/cli.js +677 -4
  181. package/dist/commands/branch/base.js +3 -1
  182. package/dist/commands/branch/cleanup-merged.d.ts.map +1 -1
  183. package/dist/commands/branch/cleanup-merged.js +4 -5
  184. package/dist/commands/branch/remove.d.ts.map +1 -1
  185. package/dist/commands/branch/remove.js +4 -2
  186. package/dist/commands/branch/status.d.ts.map +1 -1
  187. package/dist/commands/branch/status.js +3 -3
  188. package/dist/commands/branch/work-start.d.ts.map +1 -1
  189. package/dist/commands/branch/work-start.direct.d.ts +13 -0
  190. package/dist/commands/branch/work-start.direct.d.ts.map +1 -0
  191. package/dist/commands/branch/work-start.direct.js +76 -0
  192. package/dist/commands/branch/work-start.git.d.ts +3 -0
  193. package/dist/commands/branch/work-start.git.d.ts.map +1 -0
  194. package/dist/commands/branch/work-start.git.js +19 -0
  195. package/dist/commands/branch/work-start.hook-shim.d.ts +2 -0
  196. package/dist/commands/branch/work-start.hook-shim.d.ts.map +1 -0
  197. package/dist/commands/branch/work-start.hook-shim.js +38 -0
  198. package/dist/commands/branch/work-start.js +8 -236
  199. package/dist/commands/branch/work-start.materialize.d.ts +16 -0
  200. package/dist/commands/branch/work-start.materialize.d.ts.map +1 -0
  201. package/dist/commands/branch/work-start.materialize.js +112 -0
  202. package/dist/commands/codex/plugin-install.d.ts.map +1 -1
  203. package/dist/commands/codex/plugin-install.js +2 -1
  204. package/dist/commands/commit.command.js +1 -1
  205. package/dist/commands/doctor/archive.d.ts.map +1 -1
  206. package/dist/commands/doctor/archive.js +4 -3
  207. package/dist/commands/doctor/fixes.d.ts +0 -5
  208. package/dist/commands/doctor/fixes.d.ts.map +1 -1
  209. package/dist/commands/doctor/fixes.js +0 -70
  210. package/dist/commands/doctor/runtime.d.ts +1 -1
  211. package/dist/commands/doctor/runtime.d.ts.map +1 -1
  212. package/dist/commands/doctor/workflow.d.ts.map +1 -1
  213. package/dist/commands/doctor/workflow.js +3 -24
  214. package/dist/commands/doctor/workspace.d.ts.map +1 -1
  215. package/dist/commands/doctor/workspace.js +7 -9
  216. package/dist/commands/doctor.run.d.ts.map +1 -1
  217. package/dist/commands/doctor.run.js +3 -4
  218. package/dist/commands/finish.run.js +1 -1
  219. package/dist/commands/guard/commit.command.d.ts +3 -16
  220. package/dist/commands/guard/commit.command.d.ts.map +1 -1
  221. package/dist/commands/guard/commit.command.js +1 -132
  222. package/dist/commands/guard/commit.spec.d.ts +17 -0
  223. package/dist/commands/guard/commit.spec.d.ts.map +1 -0
  224. package/dist/commands/guard/commit.spec.js +132 -0
  225. package/dist/commands/guard/impl/allow.js +2 -2
  226. package/dist/commands/guard/impl/close-dirt.d.ts.map +1 -1
  227. package/dist/commands/guard/impl/close-dirt.js +2 -3
  228. package/dist/commands/guard/impl/close-message.d.ts.map +1 -1
  229. package/dist/commands/guard/impl/close-message.js +5 -3
  230. package/dist/commands/guard/impl/comment-commit.d.ts +1 -1
  231. package/dist/commands/guard/impl/comment-commit.d.ts.map +1 -1
  232. package/dist/commands/guard/impl/comment-commit.js +1 -1
  233. package/dist/commands/guard/impl/commit.d.ts.map +1 -1
  234. package/dist/commands/guard/impl/commit.js +3 -2
  235. package/dist/commands/guard/impl/env.js +1 -1
  236. package/dist/commands/guard/impl/policy.js +1 -1
  237. package/dist/commands/guard/index.d.ts +3 -2
  238. package/dist/commands/guard/index.d.ts.map +1 -1
  239. package/dist/commands/guard/index.js +3 -2
  240. package/dist/commands/hooks/index.d.ts +4 -20
  241. package/dist/commands/hooks/index.d.ts.map +1 -1
  242. package/dist/commands/hooks/index.js +4 -432
  243. package/dist/commands/hooks/install.d.ts +11 -0
  244. package/dist/commands/hooks/install.d.ts.map +1 -0
  245. package/dist/commands/hooks/install.js +136 -0
  246. package/dist/commands/hooks/run.commit-msg.d.ts +3 -0
  247. package/dist/commands/hooks/run.commit-msg.d.ts.map +1 -0
  248. package/dist/commands/hooks/run.commit-msg.js +68 -0
  249. package/dist/commands/hooks/run.d.ts +9 -0
  250. package/dist/commands/hooks/run.d.ts.map +1 -0
  251. package/dist/commands/hooks/run.js +45 -0
  252. package/dist/commands/hooks/run.post-merge.d.ts +3 -0
  253. package/dist/commands/hooks/run.post-merge.d.ts.map +1 -0
  254. package/dist/commands/hooks/run.post-merge.js +44 -0
  255. package/dist/commands/hooks/run.pre-commit.d.ts +3 -0
  256. package/dist/commands/hooks/run.pre-commit.d.ts.map +1 -0
  257. package/dist/commands/hooks/run.pre-commit.js +49 -0
  258. package/dist/commands/hooks/run.pre-push.d.ts +6 -0
  259. package/dist/commands/hooks/run.pre-push.d.ts.map +1 -0
  260. package/dist/commands/hooks/run.pre-push.js +89 -0
  261. package/dist/commands/hooks/shared.d.ts +7 -0
  262. package/dist/commands/hooks/shared.d.ts.map +1 -0
  263. package/dist/commands/hooks/shared.js +41 -0
  264. package/dist/commands/incidents/shared.d.ts +1 -2
  265. package/dist/commands/incidents/shared.d.ts.map +1 -1
  266. package/dist/commands/incidents/shared.js +2 -2
  267. package/dist/commands/integrate.command.d.ts +2 -11
  268. package/dist/commands/integrate.command.d.ts.map +1 -1
  269. package/dist/commands/integrate.command.js +1 -45
  270. package/dist/commands/integrate.spec.d.ts +12 -0
  271. package/dist/commands/integrate.spec.d.ts.map +1 -0
  272. package/dist/commands/integrate.spec.js +44 -0
  273. package/dist/commands/pr/check.js +1 -1
  274. package/dist/commands/pr/integrate/artifacts.js +1 -1
  275. package/dist/commands/pr/integrate/cmd.d.ts.map +1 -1
  276. package/dist/commands/pr/integrate/cmd.js +2 -1
  277. package/dist/commands/pr/integrate/internal/cleanup.d.ts +1 -1
  278. package/dist/commands/pr/integrate/internal/cleanup.d.ts.map +1 -1
  279. package/dist/commands/pr/integrate/internal/cleanup.js +1 -1
  280. package/dist/commands/pr/integrate/internal/finalize.d.ts.map +1 -1
  281. package/dist/commands/pr/integrate/internal/finalize.js +3 -2
  282. package/dist/commands/pr/integrate/internal/merge.js +3 -2
  283. package/dist/commands/pr/integrate/internal/post-integrate-bootstrap.d.ts +2 -1
  284. package/dist/commands/pr/integrate/internal/post-integrate-bootstrap.d.ts.map +1 -1
  285. package/dist/commands/pr/integrate/internal/post-integrate-bootstrap.js +1 -1
  286. package/dist/commands/pr/integrate/internal/pre-integrate-bootstrap.d.ts +2 -1
  287. package/dist/commands/pr/integrate/internal/pre-integrate-bootstrap.d.ts.map +1 -1
  288. package/dist/commands/pr/integrate/internal/pre-integrate-bootstrap.js +1 -1
  289. package/dist/commands/pr/integrate/internal/prepare.d.ts +2 -1
  290. package/dist/commands/pr/integrate/internal/prepare.d.ts.map +1 -1
  291. package/dist/commands/pr/integrate/internal/prepare.js +1 -3
  292. package/dist/commands/pr/integrate/internal/worktree.d.ts +2 -1
  293. package/dist/commands/pr/integrate/internal/worktree.d.ts.map +1 -1
  294. package/dist/commands/pr/integrate/internal/worktree.js +2 -2
  295. package/dist/commands/pr/internal/auto-commit.js +3 -3
  296. package/dist/commands/pr/internal/gh-api.js +2 -2
  297. package/dist/commands/pr/internal/pr-paths.d.ts +1 -1
  298. package/dist/commands/pr/internal/pr-paths.d.ts.map +1 -1
  299. package/dist/commands/pr/internal/pr-paths.js +3 -2
  300. package/dist/commands/pr/internal/review-template.js +1 -1
  301. package/dist/commands/pr/internal/sync-branch.d.ts.map +1 -1
  302. package/dist/commands/pr/internal/sync-branch.js +3 -4
  303. package/dist/commands/pr/internal/sync-github.js +1 -1
  304. package/dist/commands/pr/internal/sync-support.js +1 -1
  305. package/dist/commands/pr/internal/sync.d.ts.map +1 -1
  306. package/dist/commands/pr/internal/sync.js +2 -2
  307. package/dist/commands/pr/note.d.ts.map +1 -1
  308. package/dist/commands/pr/note.js +1 -1
  309. package/dist/commands/pr/open.d.ts.map +1 -1
  310. package/dist/commands/pr/open.js +2 -1
  311. package/dist/commands/pr/pr.command.d.ts +3 -37
  312. package/dist/commands/pr/pr.command.d.ts.map +1 -1
  313. package/dist/commands/pr/pr.command.js +9 -211
  314. package/dist/commands/pr/pr.spec.d.ts +38 -0
  315. package/dist/commands/pr/pr.spec.d.ts.map +1 -0
  316. package/dist/commands/pr/pr.spec.js +210 -0
  317. package/dist/commands/recipes/active.command.js +1 -1
  318. package/dist/commands/recipes/add.command.js +1 -1
  319. package/dist/commands/recipes/cache-prune.command.d.ts +1 -1
  320. package/dist/commands/recipes/cache-prune.command.d.ts.map +1 -1
  321. package/dist/commands/recipes/cache-prune.command.js +1 -1
  322. package/dist/commands/recipes/detach.command.js +1 -1
  323. package/dist/commands/recipes/disable.command.js +1 -1
  324. package/dist/commands/recipes/enable.command.js +1 -1
  325. package/dist/commands/recipes/explain-active.command.js +1 -1
  326. package/dist/commands/recipes/explain.command.js +1 -1
  327. package/dist/commands/recipes/impl/commands/active.js +1 -1
  328. package/dist/commands/recipes/impl/commands/add.d.ts.map +1 -1
  329. package/dist/commands/recipes/impl/commands/add.js +2 -1
  330. package/dist/commands/recipes/impl/commands/cache-prune.js +1 -1
  331. package/dist/commands/recipes/impl/commands/detach.d.ts.map +1 -1
  332. package/dist/commands/recipes/impl/commands/detach.js +2 -1
  333. package/dist/commands/recipes/impl/commands/disable.js +1 -1
  334. package/dist/commands/recipes/impl/commands/enable.js +1 -1
  335. package/dist/commands/recipes/impl/commands/explain-active.js +1 -1
  336. package/dist/commands/recipes/impl/commands/explain.js +1 -1
  337. package/dist/commands/recipes/impl/commands/install.d.ts.map +1 -1
  338. package/dist/commands/recipes/impl/commands/install.js +2 -1
  339. package/dist/commands/recipes/impl/commands/list-remote.js +1 -1
  340. package/dist/commands/recipes/impl/commands/remove.d.ts.map +1 -1
  341. package/dist/commands/recipes/impl/commands/remove.js +2 -1
  342. package/dist/commands/recipes/impl/commands/update.d.ts.map +1 -1
  343. package/dist/commands/recipes/impl/commands/update.js +2 -1
  344. package/dist/commands/recipes/impl/index.d.ts.map +1 -1
  345. package/dist/commands/recipes/impl/index.js +13 -3
  346. package/dist/commands/recipes/impl/overlay-project.d.ts.map +1 -1
  347. package/dist/commands/recipes/impl/overlay-project.js +2 -1
  348. package/dist/commands/recipes/impl/project.js +1 -1
  349. package/dist/commands/recipes/impl/resolver.d.ts +1 -1
  350. package/dist/commands/recipes/impl/resolver.d.ts.map +1 -1
  351. package/dist/commands/recipes/info.command.js +1 -1
  352. package/dist/commands/recipes/install.run.js +1 -1
  353. package/dist/commands/recipes/install.spec.d.ts +1 -1
  354. package/dist/commands/recipes/install.spec.d.ts.map +1 -1
  355. package/dist/commands/recipes/list-remote.command.d.ts +1 -1
  356. package/dist/commands/recipes/list-remote.command.d.ts.map +1 -1
  357. package/dist/commands/recipes/list-remote.command.js +1 -1
  358. package/dist/commands/recipes/list.command.d.ts +1 -1
  359. package/dist/commands/recipes/list.command.d.ts.map +1 -1
  360. package/dist/commands/recipes/list.command.js +1 -1
  361. package/dist/commands/recipes/remove.command.js +1 -1
  362. package/dist/commands/recipes/update.command.js +1 -1
  363. package/dist/commands/release/apply.command.d.ts +2 -3
  364. package/dist/commands/release/apply.command.d.ts.map +1 -1
  365. package/dist/commands/release/apply.command.js +4 -137
  366. package/dist/commands/release/apply.mutation.js +4 -3
  367. package/dist/commands/release/apply.pipeline/finalize.d.ts.map +1 -1
  368. package/dist/commands/release/apply.pipeline/finalize.js +2 -1
  369. package/dist/commands/release/apply.pipeline/mutation.d.ts +1 -1
  370. package/dist/commands/release/apply.pipeline/mutation.d.ts.map +1 -1
  371. package/dist/commands/release/apply.pipeline/mutation.js +3 -4
  372. package/dist/commands/release/apply.pipeline/preflight.js +1 -1
  373. package/dist/commands/release/apply.pipeline/state.d.ts.map +1 -1
  374. package/dist/commands/release/apply.pipeline/state.js +2 -1
  375. package/dist/commands/release/apply.pipeline.d.ts +5 -1
  376. package/dist/commands/release/apply.pipeline.d.ts.map +1 -1
  377. package/dist/commands/release/apply.pipeline.js +4 -0
  378. package/dist/commands/release/apply.preflight.d.ts.map +1 -1
  379. package/dist/commands/release/apply.preflight.js +2 -1
  380. package/dist/commands/release/apply.reporting.d.ts.map +1 -1
  381. package/dist/commands/release/apply.reporting.js +2 -1
  382. package/dist/commands/release/apply.spec.d.ts +5 -0
  383. package/dist/commands/release/apply.spec.d.ts.map +1 -0
  384. package/dist/commands/release/apply.spec.js +136 -0
  385. package/dist/commands/release/apply.types.d.ts +1 -1
  386. package/dist/commands/release/apply.types.d.ts.map +1 -1
  387. package/dist/commands/release/plan.command.d.ts +3 -10
  388. package/dist/commands/release/plan.command.d.ts.map +1 -1
  389. package/dist/commands/release/plan.command.js +4 -78
  390. package/dist/commands/release/plan.spec.d.ts +10 -0
  391. package/dist/commands/release/plan.spec.d.ts.map +1 -0
  392. package/dist/commands/release/plan.spec.js +76 -0
  393. package/dist/commands/runtime.command.d.ts +3 -6
  394. package/dist/commands/runtime.command.d.ts.map +1 -1
  395. package/dist/commands/runtime.command.js +5 -32
  396. package/dist/commands/runtime.spec.d.ts +8 -0
  397. package/dist/commands/runtime.spec.d.ts.map +1 -0
  398. package/dist/commands/runtime.spec.js +31 -0
  399. package/dist/commands/scenario/impl/commands.d.ts +1 -1
  400. package/dist/commands/scenario/impl/commands.d.ts.map +1 -1
  401. package/dist/commands/scenario/impl/commands.js +2 -1
  402. package/dist/commands/shared/approval-requirements.d.ts +1 -1
  403. package/dist/commands/shared/approval-requirements.d.ts.map +1 -1
  404. package/dist/commands/shared/comment-format.d.ts +1 -1
  405. package/dist/commands/shared/comment-format.d.ts.map +1 -1
  406. package/dist/commands/shared/git-ops.d.ts +1 -1
  407. package/dist/commands/shared/git-ops.d.ts.map +1 -1
  408. package/dist/commands/shared/git-ops.js +3 -2
  409. package/dist/commands/shared/merged-branch-cleanup.js +2 -2
  410. package/dist/commands/shared/network-approval.d.ts +1 -1
  411. package/dist/commands/shared/network-approval.d.ts.map +1 -1
  412. package/dist/commands/shared/post-commit-pr-artifacts.d.ts.map +1 -1
  413. package/dist/commands/shared/post-commit-pr-artifacts.js +2 -1
  414. package/dist/commands/shared/pr-meta.d.ts +1 -1
  415. package/dist/commands/shared/pr-meta.d.ts.map +1 -1
  416. package/dist/commands/shared/pr-meta.js +2 -2
  417. package/dist/commands/shared/task-backend.d.ts +3 -2
  418. package/dist/commands/shared/task-backend.d.ts.map +1 -1
  419. package/dist/commands/shared/task-backend.js +3 -4
  420. package/dist/commands/shared/task-handoff.d.ts +1 -1
  421. package/dist/commands/shared/task-handoff.d.ts.map +1 -1
  422. package/dist/commands/shared/task-handoff.js +3 -2
  423. package/dist/commands/shared/task-local-freshness.js +1 -1
  424. package/dist/commands/shared/task-store/intents.js +1 -1
  425. package/dist/commands/shared/task-store/readme.d.ts.map +1 -1
  426. package/dist/commands/shared/task-store/readme.js +1 -1
  427. package/dist/commands/shared/task-store/types.d.ts +1 -1
  428. package/dist/commands/shared/task-store/types.d.ts.map +1 -1
  429. package/dist/commands/task/add.command.d.ts +2 -1
  430. package/dist/commands/task/add.command.d.ts.map +1 -1
  431. package/dist/commands/task/add.command.js +2 -1
  432. package/dist/commands/task/close-duplicate.d.ts.map +1 -1
  433. package/dist/commands/task/close-duplicate.js +2 -2
  434. package/dist/commands/task/close-shared.d.ts.map +1 -1
  435. package/dist/commands/task/close-shared.js +2 -1
  436. package/dist/commands/task/close-tail-state.d.ts.map +1 -1
  437. package/dist/commands/task/close-tail-state.js +3 -2
  438. package/dist/commands/task/derive.js +1 -1
  439. package/dist/commands/task/doc-template.js +1 -1
  440. package/dist/commands/task/doc.d.ts.map +1 -1
  441. package/dist/commands/task/doc.js +4 -2
  442. package/dist/commands/task/findings.d.ts +1 -1
  443. package/dist/commands/task/findings.d.ts.map +1 -1
  444. package/dist/commands/task/findings.js +1 -1
  445. package/dist/commands/task/finish-close.js +2 -2
  446. package/dist/commands/task/finish-shared.d.ts.map +1 -1
  447. package/dist/commands/task/finish-shared.js +6 -8
  448. package/dist/commands/task/handoff.shared.d.ts.map +1 -1
  449. package/dist/commands/task/handoff.shared.js +4 -5
  450. package/dist/commands/task/hosted-close-pr.command.d.ts +6 -7
  451. package/dist/commands/task/hosted-close-pr.command.d.ts.map +1 -1
  452. package/dist/commands/task/hosted-close-pr.command.js +13 -373
  453. package/dist/commands/task/hosted-close-pr.execute.d.ts +3 -0
  454. package/dist/commands/task/hosted-close-pr.execute.d.ts.map +1 -0
  455. package/dist/commands/task/hosted-close-pr.execute.js +135 -0
  456. package/dist/commands/task/hosted-close-pr.postcheck.d.ts +3 -0
  457. package/dist/commands/task/hosted-close-pr.postcheck.d.ts.map +1 -0
  458. package/dist/commands/task/hosted-close-pr.postcheck.js +13 -0
  459. package/dist/commands/task/hosted-close-pr.precheck.d.ts +4 -0
  460. package/dist/commands/task/hosted-close-pr.precheck.d.ts.map +1 -0
  461. package/dist/commands/task/hosted-close-pr.precheck.js +288 -0
  462. package/dist/commands/task/hosted-close-pr.report.d.ts +4 -0
  463. package/dist/commands/task/hosted-close-pr.report.d.ts.map +1 -0
  464. package/dist/commands/task/hosted-close-pr.report.js +42 -0
  465. package/dist/commands/task/hosted-close-pr.types.d.ts +75 -0
  466. package/dist/commands/task/hosted-close-pr.types.d.ts.map +1 -0
  467. package/dist/commands/task/hosted-close-pr.types.js +1 -0
  468. package/dist/commands/task/hosted-close.command.d.ts +3 -6
  469. package/dist/commands/task/hosted-close.command.d.ts.map +1 -1
  470. package/dist/commands/task/hosted-close.command.js +4 -41
  471. package/dist/commands/task/hosted-close.spec.d.ts +7 -0
  472. package/dist/commands/task/hosted-close.spec.d.ts.map +1 -0
  473. package/dist/commands/task/hosted-close.spec.js +39 -0
  474. package/dist/commands/task/hosted-merge-sync/builders.d.ts +1 -1
  475. package/dist/commands/task/hosted-merge-sync/builders.d.ts.map +1 -1
  476. package/dist/commands/task/hosted-merge-sync/builders.js +6 -6
  477. package/dist/commands/task/hosted-merge-sync/github.js +2 -2
  478. package/dist/commands/task/hosted-merge-sync/local-branch.d.ts.map +1 -1
  479. package/dist/commands/task/hosted-merge-sync/local-branch.js +5 -5
  480. package/dist/commands/task/hosted-merge-sync/model.d.ts +1 -1
  481. package/dist/commands/task/hosted-merge-sync/model.d.ts.map +1 -1
  482. package/dist/commands/task/hosted-merge-sync/pr-meta.d.ts +1 -1
  483. package/dist/commands/task/hosted-merge-sync/pr-meta.d.ts.map +1 -1
  484. package/dist/commands/task/index.d.ts +1 -1
  485. package/dist/commands/task/index.d.ts.map +1 -1
  486. package/dist/commands/task/index.js +1 -1
  487. package/dist/commands/task/lint.js +1 -1
  488. package/dist/commands/task/list.d.ts.map +1 -1
  489. package/dist/commands/task/list.js +2 -1
  490. package/dist/commands/task/migrate-doc.d.ts +2 -1
  491. package/dist/commands/task/migrate-doc.d.ts.map +1 -1
  492. package/dist/commands/task/migrate-doc.js +6 -2
  493. package/dist/commands/task/new.d.ts.map +1 -1
  494. package/dist/commands/task/new.js +6 -21
  495. package/dist/commands/task/normalize.d.ts.map +1 -1
  496. package/dist/commands/task/normalize.js +2 -1
  497. package/dist/commands/task/plan.d.ts.map +1 -1
  498. package/dist/commands/task/plan.js +1 -1
  499. package/dist/commands/task/ready.d.ts.map +1 -1
  500. package/dist/commands/task/ready.js +2 -1
  501. package/dist/commands/task/scaffold.d.ts.map +1 -1
  502. package/dist/commands/task/scaffold.js +1 -1
  503. package/dist/commands/task/shared/dependencies.d.ts.map +1 -1
  504. package/dist/commands/task/shared/dependencies.js +4 -3
  505. package/dist/commands/task/shared/docs.d.ts +1 -1
  506. package/dist/commands/task/shared/docs.d.ts.map +1 -1
  507. package/dist/commands/task/shared/docs.js +1 -1
  508. package/dist/commands/task/shared/listing.d.ts.map +1 -1
  509. package/dist/commands/task/shared/listing.js +3 -2
  510. package/dist/commands/task/shared/tags.d.ts +1 -1
  511. package/dist/commands/task/shared/tags.d.ts.map +1 -1
  512. package/dist/commands/task/shared/tags.js +4 -4
  513. package/dist/commands/task/shared/transition-rules.d.ts +28 -0
  514. package/dist/commands/task/shared/transition-rules.d.ts.map +1 -0
  515. package/dist/commands/task/shared/transition-rules.js +96 -0
  516. package/dist/commands/task/shared/transitions.d.ts +2 -27
  517. package/dist/commands/task/shared/transitions.d.ts.map +1 -1
  518. package/dist/commands/task/shared/transitions.js +5 -98
  519. package/dist/commands/task/shared/workflow-transition-service.d.ts +1 -1
  520. package/dist/commands/task/shared/workflow-transition-service.d.ts.map +1 -1
  521. package/dist/commands/task/shared/workflow-transition-service.js +6 -6
  522. package/dist/commands/task/shared.d.ts +2 -1
  523. package/dist/commands/task/shared.d.ts.map +1 -1
  524. package/dist/commands/task/shared.js +2 -1
  525. package/dist/commands/task/show.d.ts.map +1 -1
  526. package/dist/commands/task/show.js +1 -1
  527. package/dist/commands/upgrade/apply.js +3 -2
  528. package/dist/commands/upgrade/materialize.d.ts.map +1 -1
  529. package/dist/commands/upgrade/materialize.js +1 -8
  530. package/dist/commands/upgrade/source.d.ts +0 -1
  531. package/dist/commands/upgrade/source.d.ts.map +1 -1
  532. package/dist/commands/upgrade/source.js +1 -9
  533. package/dist/commands/upgrade.command.d.ts +3 -4
  534. package/dist/commands/upgrade.command.d.ts.map +1 -1
  535. package/dist/commands/upgrade.command.js +1 -179
  536. package/dist/commands/upgrade.d.ts.map +1 -1
  537. package/dist/commands/upgrade.js +4 -2
  538. package/dist/commands/upgrade.spec.d.ts +5 -0
  539. package/dist/commands/upgrade.spec.d.ts.map +1 -0
  540. package/dist/commands/upgrade.spec.js +179 -0
  541. package/dist/commands/workflow-build.command.d.ts.map +1 -1
  542. package/dist/commands/workflow-build.command.js +2 -1
  543. package/dist/commands/workflow-playbook.command.d.ts +3 -6
  544. package/dist/commands/workflow-playbook.command.d.ts.map +1 -1
  545. package/dist/commands/workflow-playbook.command.js +6 -24
  546. package/dist/commands/workflow-playbook.spec.d.ts +6 -0
  547. package/dist/commands/workflow-playbook.spec.d.ts.map +1 -0
  548. package/dist/commands/workflow-playbook.spec.js +21 -0
  549. package/dist/commands/workflow-restore.command.js +1 -1
  550. package/dist/commands/workflow.d.ts +4 -5
  551. package/dist/commands/workflow.d.ts.map +1 -1
  552. package/dist/commands/workflow.js +4 -5
  553. package/dist/harness/hooks-lifecycle.js +1 -1
  554. package/dist/meta/release.d.ts.map +1 -1
  555. package/dist/meta/release.js +3 -5
  556. package/dist/meta/version.d.ts.map +1 -1
  557. package/dist/meta/version.js +2 -2
  558. package/dist/policy/engine.d.ts +1 -1
  559. package/dist/policy/engine.d.ts.map +1 -1
  560. package/dist/policy/model.d.ts +1 -1
  561. package/dist/policy/model.d.ts.map +1 -1
  562. package/dist/policy/rules/commit-subject.js +1 -1
  563. package/dist/runner/adapters/base.d.ts +1 -1
  564. package/dist/runner/adapters/base.d.ts.map +1 -1
  565. package/dist/runner/adapters/codex.d.ts.map +1 -1
  566. package/dist/runner/adapters/codex.js +35 -113
  567. package/dist/runner/adapters/custom-preparation.d.ts +1 -1
  568. package/dist/runner/adapters/custom-preparation.d.ts.map +1 -1
  569. package/dist/runner/adapters/custom.d.ts +1 -1
  570. package/dist/runner/adapters/custom.d.ts.map +1 -1
  571. package/dist/runner/adapters/custom.js +34 -115
  572. package/dist/runner/adapters/execute-supervised.d.ts +41 -0
  573. package/dist/runner/adapters/execute-supervised.d.ts.map +1 -0
  574. package/dist/runner/adapters/execute-supervised.js +108 -0
  575. package/dist/runner/adapters/index.d.ts +1 -1
  576. package/dist/runner/adapters/index.d.ts.map +1 -1
  577. package/dist/runner/adapters/shared.d.ts +1 -1
  578. package/dist/runner/adapters/shared.d.ts.map +1 -1
  579. package/dist/runner/artifacts.d.ts.map +1 -1
  580. package/dist/runner/artifacts.js +1 -1
  581. package/dist/runner/config.d.ts +1 -1
  582. package/dist/runner/config.d.ts.map +1 -1
  583. package/dist/runner/context/base-prompt-sources.d.ts.map +1 -1
  584. package/dist/runner/context/base-prompt-sources.js +26 -4
  585. package/dist/runner/context/base-prompts.d.ts.map +1 -1
  586. package/dist/runner/context/base-prompts.js +4 -0
  587. package/dist/runner/context/project-skill-prompt-blocks.d.ts +5 -0
  588. package/dist/runner/context/project-skill-prompt-blocks.d.ts.map +1 -0
  589. package/dist/runner/context/project-skill-prompt-blocks.js +57 -0
  590. package/dist/runner/context/prompt-block-shared.d.ts +1 -1
  591. package/dist/runner/context/prompt-block-shared.d.ts.map +1 -1
  592. package/dist/runner/context/prompt-block-shared.js +8 -2
  593. package/dist/runner/context/recipe-context.d.ts +1 -1
  594. package/dist/runner/context/recipe-context.d.ts.map +1 -1
  595. package/dist/runner/context/task-context.d.ts.map +1 -1
  596. package/dist/runner/context/task-context.js +1 -1
  597. package/dist/runner/process-supervision/buffered-file-writer.d.ts +10 -0
  598. package/dist/runner/process-supervision/buffered-file-writer.d.ts.map +1 -0
  599. package/dist/runner/process-supervision/buffered-file-writer.js +70 -0
  600. package/dist/runner/process-supervision/run.d.ts.map +1 -1
  601. package/dist/runner/process-supervision/run.js +83 -68
  602. package/dist/runner/process-supervision/signals.js +1 -1
  603. package/dist/runner/result-manifest.d.ts.map +1 -1
  604. package/dist/runner/result-manifest.js +1 -1
  605. package/dist/runner/task-state.js +1 -1
  606. package/dist/runner/trace-artifacts.d.ts.map +1 -1
  607. package/dist/runner/trace-artifacts.js +1 -1
  608. package/dist/runner/types.d.ts +2 -2
  609. package/dist/runner/types.d.ts.map +1 -1
  610. package/dist/runner/usecases/scenario-materialize-task.d.ts.map +1 -1
  611. package/dist/runner/usecases/scenario-materialize-task.js +1 -1
  612. package/dist/runner/usecases/task-run-lifecycle-cancel.d.ts.map +1 -1
  613. package/dist/runner/usecases/task-run-lifecycle-cancel.js +2 -1
  614. package/dist/runner/usecases/task-run-lifecycle-shared.d.ts.map +1 -1
  615. package/dist/runner/usecases/task-run-lifecycle-shared.js +3 -7
  616. package/dist/runner/usecases/task-run.d.ts.map +1 -1
  617. package/dist/runner/usecases/task-run.js +2 -3
  618. package/dist/runtime/approvals/model.d.ts +1 -1
  619. package/dist/runtime/approvals/model.d.ts.map +1 -1
  620. package/dist/runtime/approvals/runtime.d.ts +1 -1
  621. package/dist/runtime/approvals/runtime.d.ts.map +1 -1
  622. package/dist/runtime/execution-context.d.ts +2 -1
  623. package/dist/runtime/execution-context.d.ts.map +1 -1
  624. package/dist/runtime/execution-profile/model.d.ts +1 -1
  625. package/dist/runtime/execution-profile/model.d.ts.map +1 -1
  626. package/dist/runtime/execution-profile/resolve.d.ts +1 -1
  627. package/dist/runtime/execution-profile/resolve.d.ts.map +1 -1
  628. package/dist/runtime/execution-profile/resolve.js +1 -1
  629. package/dist/runtime/harness/resolve.d.ts +2 -1
  630. package/dist/runtime/harness/resolve.d.ts.map +1 -1
  631. package/dist/runtime/harness/resolve.js +1 -1
  632. package/dist/runtime/harness/types.d.ts +2 -1
  633. package/dist/runtime/harness/types.d.ts.map +1 -1
  634. package/dist/runtime/incidents/paths.d.ts +3 -0
  635. package/dist/runtime/incidents/paths.d.ts.map +1 -0
  636. package/dist/runtime/incidents/paths.js +2 -0
  637. package/dist/runtime/shared/repo-cli-version.d.ts +1 -1
  638. package/dist/runtime/shared/repo-cli-version.d.ts.map +1 -1
  639. package/dist/runtime/task-intake/types.d.ts +2 -1
  640. package/dist/runtime/task-intake/types.d.ts.map +1 -1
  641. package/dist/shared/errors.d.ts +4 -1
  642. package/dist/shared/errors.d.ts.map +1 -1
  643. package/dist/shared/errors.js +6 -0
  644. package/dist/shared/package-paths.d.ts +8 -0
  645. package/dist/shared/package-paths.d.ts.map +1 -0
  646. package/dist/shared/package-paths.js +80 -0
  647. package/dist/shared/trace-events.d.ts +1 -1
  648. package/dist/shared/trace-events.d.ts.map +1 -1
  649. package/dist/shared/trace-events.js +1 -1
  650. package/dist/shared/workflow-artifacts.d.ts.map +1 -1
  651. package/dist/shared/workflow-artifacts.js +1 -8
  652. package/dist/shared/write-if-changed.js +2 -1
  653. package/dist/task-doc/conflicts.js +1 -1
  654. package/dist/task-doc/state.d.ts +2 -2
  655. package/dist/task-doc/state.d.ts.map +1 -1
  656. package/dist/task-doc/state.js +1 -1
  657. package/dist/workflow-runtime/file-ops.d.ts.map +1 -1
  658. package/dist/workflow-runtime/file-ops.js +2 -21
  659. package/dist/workflow-runtime/markdown.js +1 -1
  660. package/dist/workflow-runtime/paths.d.ts.map +1 -1
  661. package/dist/workflow-runtime/paths.js +0 -1
  662. package/dist/workflow-runtime/types.d.ts +0 -1
  663. package/dist/workflow-runtime/types.d.ts.map +1 -1
  664. package/dist/workflow-runtime/validate.d.ts +1 -1
  665. package/dist/workflow-runtime/validate.d.ts.map +1 -1
  666. package/package.json +6 -4
  667. package/dist/cli/cli-error.d.ts +0 -9
  668. package/dist/cli/cli-error.d.ts.map +0 -1
  669. package/dist/cli/cli-error.js +0 -13
  670. package/dist/cli/run-cli/command-catalog/shared.d.ts.map +0 -1
  671. package/dist/cli/run-cli/command-loaders.d.ts +0 -174
  672. package/dist/cli/run-cli/command-loaders.d.ts.map +0 -1
  673. package/dist/cli/run-cli/command-loaders.js +0 -128
  674. package/dist/cli/run-cli/commands/init/ui.d.ts +0 -3
  675. package/dist/cli/run-cli/commands/init/ui.d.ts.map +0 -1
  676. package/dist/cli/run-cli/commands/init/ui.js +0 -58
  677. package/dist/cli/run-cli/commands/init.d.ts +0 -2
  678. package/dist/cli/run-cli/commands/init.d.ts.map +0 -1
  679. package/dist/cli/run-cli/commands/init.js +0 -1
  680. package/dist/commands/guard/impl/commands.d.ts +0 -5
  681. package/dist/commands/guard/impl/commands.d.ts.map +0 -1
  682. package/dist/commands/guard/impl/commands.js +0 -4
  683. package/dist/commands/pr/index.d.ts +0 -8
  684. package/dist/commands/pr/index.d.ts.map +0 -1
  685. package/dist/commands/pr/index.js +0 -7
  686. package/dist/commands/pr/integrate.d.ts +0 -2
  687. package/dist/commands/pr/integrate.d.ts.map +0 -1
  688. package/dist/commands/pr/integrate.js +0 -1
  689. package/dist/commands/scenario/execute.command.d.ts +0 -8
  690. package/dist/commands/scenario/execute.command.d.ts.map +0 -1
  691. package/dist/commands/scenario/execute.command.js +0 -117
  692. package/dist/commands/scenario/impl/report.d.ts +0 -38
  693. package/dist/commands/scenario/impl/report.d.ts.map +0 -1
  694. package/dist/commands/scenario/impl/report.js +0 -97
  695. package/dist/commands/scenario/scenario.command.d.ts +0 -5
  696. package/dist/commands/scenario/scenario.command.d.ts.map +0 -1
  697. package/dist/commands/scenario/scenario.command.js +0 -19
  698. package/dist/commands/shared/git-context.d.ts +0 -2
  699. package/dist/commands/shared/git-context.d.ts.map +0 -1
  700. package/dist/commands/shared/git-context.js +0 -1
  701. package/dist/commands/shared/git-diff.d.ts +0 -2
  702. package/dist/commands/shared/git-diff.d.ts.map +0 -1
  703. package/dist/commands/shared/git-diff.js +0 -1
  704. package/dist/commands/shared/git-worktree.d.ts +0 -2
  705. package/dist/commands/shared/git-worktree.d.ts.map +0 -1
  706. package/dist/commands/shared/git-worktree.js +0 -1
  707. package/dist/commands/shared/git.d.ts +0 -2
  708. package/dist/commands/shared/git.d.ts.map +0 -1
  709. package/dist/commands/shared/git.js +0 -1
  710. package/dist/commands/task/finish.d.ts +0 -2
  711. package/dist/commands/task/finish.d.ts.map +0 -1
  712. package/dist/commands/task/finish.js +0 -1
  713. package/dist/harness/index.d.ts +0 -9
  714. package/dist/harness/index.d.ts.map +0 -1
  715. package/dist/harness/index.js +0 -8
  716. package/dist/runner/index.d.ts +0 -12
  717. package/dist/runner/index.d.ts.map +0 -1
  718. package/dist/runner/index.js +0 -11
  719. package/dist/runner/process-supervision.d.ts +0 -6
  720. package/dist/runner/process-supervision.d.ts.map +0 -1
  721. package/dist/runner/process-supervision.js +0 -3
  722. /package/dist/cli/run-cli/command-catalog/{shared.js → kernel.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/runner/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,wBAAwB,EAAE,eAAe,EAAwB,CAAC;AAE/E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,eAAe,CAEhG;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GACvC,iBAAiB,CAOnB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GACvC,mBAAmB,CAErB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/runner/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,wBAAwB,EAAE,eAAe,EAAwB,CAAC;AAE/E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,eAAe,CAEhG;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GACvC,iBAAiB,CAOnB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GACvC,mBAAmB,CAErB"}
@@ -1 +1 @@
1
- {"version":3,"file":"base-prompt-sources.d.ts","sourceRoot":"","sources":["../../../src/runner/context/base-prompt-sources.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAQL,KAAK,oBAAoB,EAE1B,MAAM,0BAA0B,CAAC;AAiBlC,wBAAsB,+BAA+B,CAAC,IAAI,EAAE;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA4ChC;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAQ7B;AAED,wBAAsB,gCAAgC,CAAC,IAAI,EAAE;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,mBAAmB,CAAC;IACrC,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAyChC;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,mBAAmB,CAAC;IACrC,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAQ7B;AAmBD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,iBAAiB,CAAC,EAAE,+BAA+B,CAAC;CACrD,GAAG,iBAAiB,GAAG,IAAI,CAwB3B;AAED,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"base-prompt-sources.d.ts","sourceRoot":"","sources":["../../../src/runner/context/base-prompt-sources.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAQL,KAAK,oBAAoB,EAE1B,MAAM,0BAA0B,CAAC;AAwDlC,wBAAsB,+BAA+B,CAAC,IAAI,EAAE;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA4ChC;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAQ7B;AAED,wBAAsB,gCAAgC,CAAC,IAAI,EAAE;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,mBAAmB,CAAC;IACrC,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAyChC;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,mBAAmB,CAAC;IACrC,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAQ7B;AAmBD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,iBAAiB,CAAC,EAAE,+BAA+B,CAAC;CACrD,GAAG,iBAAiB,GAAG,IAAI,CAwB3B;AAED,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,15 +1,37 @@
1
- import { readFile, readdir } from "node:fs/promises";
1
+ import { readFile, readdir, stat } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { loadAgentTemplates, loadPolicyGatewayTemplate } from "../../agents/agents-template.js";
4
4
  import { fileExists } from "../../cli/fs-utils.js";
5
5
  import { resolveBehavior } from "../../runtime/behavior/index.js";
6
6
  import { resolvePolicyGatewayForRepo, } from "../../shared/policy-gateway.js";
7
7
  import { BASE_PROMPT_PRIORITIES, normalizeText, promptBlockFromResolved, promptCandidate, toPromptSource, validateJsonPrompt, } from "./prompt-block-shared.js";
8
+ const dirEntriesCache = new Map();
9
+ const textFileCache = new Map();
10
+ async function readDirEntriesCached(dirPath) {
11
+ const stats = await stat(dirPath);
12
+ const cached = dirEntriesCache.get(dirPath);
13
+ if (cached?.mtimeMs === stats.mtimeMs && cached.size === stats.size) {
14
+ return cached.entries;
15
+ }
16
+ const entries = await readdir(dirPath);
17
+ dirEntriesCache.set(dirPath, { mtimeMs: stats.mtimeMs, size: stats.size, entries });
18
+ return entries;
19
+ }
20
+ async function readTextFileCached(absPath) {
21
+ const stats = await stat(absPath);
22
+ const cached = textFileCache.get(absPath);
23
+ if (cached?.mtimeMs === stats.mtimeMs && cached.size === stats.size) {
24
+ return cached.text;
25
+ }
26
+ const text = await readFile(absPath, "utf8");
27
+ textFileCache.set(absPath, { mtimeMs: stats.mtimeMs, size: stats.size, text });
28
+ return text;
29
+ }
8
30
  async function resolveRepoAgentProfilePath(opts) {
9
31
  const agentsDir = path.join(opts.git_root, opts.agents_dir);
10
32
  if (!(await fileExists(agentsDir)))
11
33
  return null;
12
- const entries = await readdir(agentsDir);
34
+ const entries = await readDirEntriesCached(agentsDir);
13
35
  const wanted = `${opts.owner_id}.json`.toLowerCase();
14
36
  const match = entries.find((entry) => entry.endsWith(".json") && entry.toLowerCase() === wanted);
15
37
  if (!match)
@@ -27,7 +49,7 @@ export async function resolveOwnerProfilePromptSource(opts) {
27
49
  value: {
28
50
  source,
29
51
  title: `Owner Agent Profile (${opts.owner_id})`,
30
- content: validateJsonPrompt(source, await readFile(repoProfilePath, "utf8")),
52
+ content: validateJsonPrompt(source, await readTextFileCached(repoProfilePath)),
31
53
  },
32
54
  }));
33
55
  }
@@ -76,7 +98,7 @@ export async function resolvePolicyGatewayPromptSource(opts) {
76
98
  value: {
77
99
  source,
78
100
  title: `Repository Policy Gateway (${gateway.fileName})`,
79
- content: normalizeText(await readFile(gateway.absPath, "utf8")),
101
+ content: normalizeText(await readTextFileCached(gateway.absPath)),
80
102
  },
81
103
  }));
82
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-prompts.d.ts","sourceRoot":"","sources":["../../../src/runner/context/base-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAS9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,0BAA0B,CAAC;AAElC,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B,CAAC,EAAE,mBAAmB,CAAC;IACrD,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,iBAAiB,CAAC,EAAE,+BAA+B,CAAC;CACrD,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAqC/B"}
1
+ {"version":3,"file":"base-prompts.d.ts","sourceRoot":"","sources":["../../../src/runner/context/base-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAU9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,0BAA0B,CAAC;AAElC,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B,CAAC,EAAE,mBAAmB,CAAC;IACrD,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,iBAAiB,CAAC,EAAE,+BAA+B,CAAC;CACrD,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAwC/B"}
@@ -1,5 +1,6 @@
1
1
  import { loadExecutionProfilePrompt, loadOwnerProfilePrompt, loadPolicyGatewayPrompt, } from "./base-prompt-sources.js";
2
2
  import { collectOverlayPromptBlocks } from "./overlay-prompt-blocks.js";
3
+ import { collectProjectSkillPromptBlocks } from "./project-skill-prompt-blocks.js";
3
4
  import { loadFrameworkRunnerPrompt, normalizeOwnerId } from "./prompt-block-shared.js";
4
5
  import { collectRecipePromptBlocks } from "./recipe-prompt-blocks.js";
5
6
  export { resolveOwnerProfilePromptSource, resolvePolicyGatewayPromptSource, } from "./base-prompt-sources.js";
@@ -26,6 +27,9 @@ export async function collectRunnerBasePrompts(opts) {
26
27
  task: opts.task,
27
28
  command: opts.command,
28
29
  })),
30
+ ...(await collectProjectSkillPromptBlocks({
31
+ git_root: opts.git_root,
32
+ })),
29
33
  ...(await collectRecipePromptBlocks({
30
34
  git_root: opts.git_root,
31
35
  recipe: opts.recipe ?? { recipe_id: "", scenario_id: "" },
@@ -0,0 +1,5 @@
1
+ import type { RunnerPromptBlock } from "../types.js";
2
+ export declare function collectProjectSkillPromptBlocks(opts: {
3
+ git_root: string;
4
+ }): Promise<RunnerPromptBlock[]>;
5
+ //# sourceMappingURL=project-skill-prompt-blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-skill-prompt-blocks.d.ts","sourceRoot":"","sources":["../../../src/runner/context/project-skill-prompt-blocks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA8BrD,wBAAsB,+BAA+B,CAAC,IAAI,EAAE;IAC1D,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA4B/B"}
@@ -0,0 +1,57 @@
1
+ import { readFile, readdir } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { fileExists } from "../../cli/fs-utils.js";
4
+ import { normalizeText } from "./prompt-block-shared.js";
5
+ const PROJECT_SKILLS_PRIORITY = 350;
6
+ const FRONTMATTER_RE = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/;
7
+ function parseFrontmatterStringField(frontmatter, key) {
8
+ const line = frontmatter.split(/\r?\n/).find((entry) => entry.trimStart().startsWith(`${key}:`));
9
+ if (!line)
10
+ return null;
11
+ const raw = line.slice(line.indexOf(":") + 1).trim();
12
+ if (!raw)
13
+ return null;
14
+ return raw.replaceAll(/^['"]|['"]$/g, "").trim() || null;
15
+ }
16
+ function parseSkillMetadata(source, text) {
17
+ const match = FRONTMATTER_RE.exec(text);
18
+ if (!match)
19
+ return null;
20
+ const frontmatter = match[1] ?? "";
21
+ const name = parseFrontmatterStringField(frontmatter, "name");
22
+ const description = parseFrontmatterStringField(frontmatter, "description");
23
+ if (!name || !description)
24
+ return null;
25
+ return { name, description, source };
26
+ }
27
+ export async function collectProjectSkillPromptBlocks(opts) {
28
+ const skillsRoot = path.join(opts.git_root, "skills");
29
+ if (!(await fileExists(skillsRoot)))
30
+ return [];
31
+ const entries = await readdir(skillsRoot, { withFileTypes: true });
32
+ const metadata = [];
33
+ for (const entry of entries) {
34
+ if (!entry.isDirectory())
35
+ continue;
36
+ const skillPath = path.join(skillsRoot, entry.name, "SKILL.md");
37
+ if (!(await fileExists(skillPath)))
38
+ continue;
39
+ const source = path.relative(opts.git_root, skillPath).replaceAll("\\", "/");
40
+ const parsed = parseSkillMetadata(source, await readFile(skillPath, "utf8"));
41
+ if (parsed)
42
+ metadata.push(parsed);
43
+ }
44
+ if (metadata.length === 0)
45
+ return [];
46
+ metadata.sort((left, right) => left.name.localeCompare(right.name));
47
+ return [
48
+ {
49
+ id: "project.skills_index",
50
+ role: "context",
51
+ title: "Repository Skill Discovery",
52
+ source: "skills/*/SKILL.md",
53
+ priority: PROJECT_SKILLS_PRIORITY,
54
+ content: normalizeText(JSON.stringify({ skills: metadata }, null, 2)),
55
+ },
56
+ ];
57
+ }
@@ -1,6 +1,6 @@
1
1
  import { type BehaviorCandidate, type ResolvedBehavior } from "../../runtime/behavior/index.js";
2
2
  import type { RunnerPromptBlock, RunnerPromptRole } from "../types.js";
3
- export declare const FRAMEWORK_RUNNER_PROMPT_URL: import("node:url").URL;
3
+ export declare const FRAMEWORK_RUNNER_PROMPT_URL: URL;
4
4
  export declare const BASE_PROMPT_PRIORITIES: {
5
5
  readonly framework_runner: 100;
6
6
  readonly policy_gateway: 200;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-block-shared.d.ts","sourceRoot":"","sources":["../../../src/runner/context/prompt-block-shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvE,eAAO,MAAM,2BAA2B,wBAAwD,CAAC;AAEjG,eAAO,MAAM,sBAAsB;;;;;;;;;CASzB,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;CAS5B,CAAC;AAEX,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACzD,MAAM,CAER;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAIhE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;AAEpG,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,KAAK,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC;IAClF,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAUpE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;CAChC,GAAG,iBAAiB,CAUpB;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAsB5E"}
1
+ {"version":3,"file":"prompt-block-shared.d.ts","sourceRoot":"","sources":["../../../src/runner/context/prompt-block-shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGvE,eAAO,MAAM,2BAA2B,KAAyC,CAAC;AAIlF,eAAO,MAAM,sBAAsB;;;;;;;;;CASzB,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;CAS5B,CAAC;AAEX,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACzD,MAAM,CAER;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAIhE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;AAEpG,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,KAAK,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC;IAClF,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAUpE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;CAChC,GAAG,iBAAiB,CAUpB;AA0BD,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAG5E"}
@@ -1,6 +1,8 @@
1
1
  import { readFile } from "node:fs/promises";
2
2
  import { resolveBehavior, stripBehaviorValue, } from "../../runtime/behavior/index.js";
3
- export const FRAMEWORK_RUNNER_PROMPT_URL = new URL("../../../assets/RUNNER.md", import.meta.url);
3
+ import { resolveAgentplaneAssetUrl } from "../../shared/package-paths.js";
4
+ export const FRAMEWORK_RUNNER_PROMPT_URL = resolveAgentplaneAssetUrl("RUNNER.md");
5
+ let frameworkRunnerPromptCache = null;
4
6
  export const BASE_PROMPT_PRIORITIES = {
5
7
  framework_runner: 100,
6
8
  policy_gateway: 200,
@@ -82,7 +84,7 @@ export function promptBlockFromResolved(opts) {
82
84
  resolution: stripBehaviorValue(opts.resolved),
83
85
  };
84
86
  }
85
- export async function loadFrameworkRunnerPrompt() {
87
+ async function readFrameworkRunnerPrompt() {
86
88
  const resolved = resolveBehavior({
87
89
  key: "runner.framework_prompt",
88
90
  candidates: [
@@ -104,3 +106,7 @@ export async function loadFrameworkRunnerPrompt() {
104
106
  resolved,
105
107
  });
106
108
  }
109
+ export async function loadFrameworkRunnerPrompt() {
110
+ frameworkRunnerPromptCache ??= readFrameworkRunnerPrompt();
111
+ return frameworkRunnerPromptCache;
112
+ }
@@ -1,4 +1,4 @@
1
- import type { ResolvedProject } from "@agentplaneorg/core";
1
+ import type { ResolvedProject } from "@agentplaneorg/core/project";
2
2
  import { type ResolvedRecipeScenarioSelection, type ScenarioDefinition } from "@agentplaneorg/recipes";
3
3
  import { readProjectInstalledRecipes } from "../../commands/recipes.js";
4
4
  import type { RunnerRecipeContext } from "../types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"recipe-context.d.ts","sourceRoot":"","sources":["../../../src/runner/context/recipe-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAEL,2BAA2B,EAE5B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,KAAK,oBAAoB,GAAG,OAAO,CACjC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAC/C,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,+BAA+B,CAAC;IAC3C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAoEF,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA4BvC"}
1
+ {"version":3,"file":"recipe-context.d.ts","sourceRoot":"","sources":["../../../src/runner/context/recipe-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAEL,2BAA2B,EAE5B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,KAAK,oBAAoB,GAAG,OAAO,CACjC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAC/C,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,+BAA+B,CAAC;IAC3C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAoEF,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA4BvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-context.d.ts","sourceRoot":"","sources":["../../../src/runner/context/task-context.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAEV,uBAAuB,EACvB,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,uBAAuB,CAAC;IACpC,IAAI,EAAE,iBAAiB,CAAC;CACzB,CAAC;AAKF,eAAO,MAAM,2BAA2B;;;;;;;;;;CAU9B,CAAC;AA2OX,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA0DrC"}
1
+ {"version":3,"file":"task-context.d.ts","sourceRoot":"","sources":["../../../src/runner/context/task-context.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAEV,uBAAuB,EACvB,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,uBAAuB,CAAC;IACpC,IAAI,EAAE,iBAAiB,CAAC;CACzB,CAAC;AAKF,eAAO,MAAM,2BAA2B;;;;;;;;;;CAU9B,CAAC;AA2OX,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA0DrC"}
@@ -1,5 +1,5 @@
1
1
  import path from "node:path";
2
- import { renderTaskDocFromSections, taskDocToSectionMap } from "@agentplaneorg/core";
2
+ import { renderTaskDocFromSections, taskDocToSectionMap } from "@agentplaneorg/core/tasks";
3
3
  import { mapBackendError } from "../../cli/error-map.js";
4
4
  import { fileExists } from "../../cli/fs-utils.js";
5
5
  import { loadCommandContext, loadTaskFromContext, taskDataToFrontmatter, } from "../../commands/shared/task-backend.js";
@@ -0,0 +1,10 @@
1
+ export declare class BufferedFileWriter {
2
+ #private;
3
+ constructor(opts: {
4
+ file_path: string;
5
+ on_error: (err: unknown) => void;
6
+ });
7
+ append(text: string): void;
8
+ flush(): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=buffered-file-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffered-file-writer.d.ts","sourceRoot":"","sources":["../../../src/runner/process-supervision/buffered-file-writer.ts"],"names":[],"mappings":"AAMA,qBAAa,kBAAkB;;gBAWjB,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE;IAKzE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAapB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAyC7B"}
@@ -0,0 +1,70 @@
1
+ import { appendFile } from "node:fs/promises";
2
+ function toError(err) {
3
+ return err instanceof Error ? err : new Error(String(err));
4
+ }
5
+ export class BufferedFileWriter {
6
+ #filePath;
7
+ #onError;
8
+ #buffer = "";
9
+ #writing = false;
10
+ #error = null;
11
+ #flushWaiters = [];
12
+ constructor(opts) {
13
+ this.#filePath = opts.file_path;
14
+ this.#onError = opts.on_error;
15
+ }
16
+ append(text) {
17
+ if (!text)
18
+ return;
19
+ if (this.#error) {
20
+ this.#onError(this.#error);
21
+ return;
22
+ }
23
+ this.#buffer += text;
24
+ if (!this.#writing) {
25
+ this.#writing = true;
26
+ void this.#drain();
27
+ }
28
+ }
29
+ async flush() {
30
+ if (this.#error)
31
+ throw this.#error;
32
+ if (!this.#writing && !this.#buffer)
33
+ return;
34
+ await new Promise((resolve, reject) => {
35
+ this.#flushWaiters.push({ resolve, reject });
36
+ });
37
+ }
38
+ async #drain() {
39
+ try {
40
+ while (this.#buffer) {
41
+ const chunk = this.#buffer;
42
+ this.#buffer = "";
43
+ await appendFile(this.#filePath, chunk, "utf8");
44
+ }
45
+ this.#writing = false;
46
+ this.#resolveFlushWaiters();
47
+ }
48
+ catch (err) {
49
+ this.#error = toError(err);
50
+ this.#buffer = "";
51
+ this.#writing = false;
52
+ this.#rejectFlushWaiters(this.#error);
53
+ this.#onError(this.#error);
54
+ }
55
+ }
56
+ #resolveFlushWaiters() {
57
+ const waiters = this.#flushWaiters;
58
+ this.#flushWaiters = [];
59
+ for (const waiter of waiters) {
60
+ waiter.resolve();
61
+ }
62
+ }
63
+ #rejectFlushWaiters(err) {
64
+ const waiters = this.#flushWaiters;
65
+ this.#flushWaiters = [];
66
+ for (const waiter of waiters) {
67
+ waiter.reject(err);
68
+ }
69
+ }
70
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/runner/process-supervision/run.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EAEnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAUrB,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,UAAU,EAAE,gBAAgB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAmVnC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/runner/process-supervision/run.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EAEnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAWrB,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,UAAU,EAAE,gBAAgB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAqWnC"}
@@ -1,9 +1,9 @@
1
- import { appendFileSync } from "node:fs";
2
- import { startProcess } from "@agentplaneorg/core";
1
+ import { startProcess } from "@agentplaneorg/core/process";
3
2
  import { appendRunnerEvent, evolveRunnerRunState, readRunnerRunState, writeRunnerRunState, } from "../artifacts.js";
4
3
  import { finalizeTraceArtifact, redactTraceText } from "../trace-artifacts.js";
5
4
  import { createRunnerTraceEvent, serializeRunnerTraceEvent } from "../trace.js";
6
5
  import { isProcessAlive, normalizeSignal } from "./signals.js";
6
+ import { BufferedFileWriter } from "./buffered-file-writer.js";
7
7
  import { buildInvocationEventData, mergeSupervisionState, renderInvocationCommand, } from "./state.js";
8
8
  import { appendTail, splitCompletedLines } from "./streams.js";
9
9
  export async function runSupervisedProcess(opts) {
@@ -46,18 +46,16 @@ export async function runSupervisedProcess(opts) {
46
46
  let idleTimer = null;
47
47
  let wallTimer = null;
48
48
  let killTimer = null;
49
+ const flushTraceWriters = async () => {
50
+ await Promise.all([traceWriter.flush(), stderrWriter.flush()]);
51
+ };
49
52
  const queueAppend = (kind, text) => {
50
53
  if (kind === "trace" && traceMode !== "raw")
51
54
  return;
52
55
  if (kind === "stderr" && !captureStderr)
53
56
  return;
54
- const path = kind === "trace" ? opts.invocation.trace_path : opts.invocation.stderr_path;
55
- try {
56
- appendFileSync(path, text, "utf8");
57
- }
58
- catch (err) {
59
- finishWithError(err);
60
- }
57
+ const writer = kind === "trace" ? traceWriter : stderrWriter;
58
+ writer.append(text);
61
59
  };
62
60
  const writeTraceLine = (stream, raw) => {
63
61
  trace_seq += 1;
@@ -245,8 +243,22 @@ export async function runSupervisedProcess(opts) {
245
243
  return;
246
244
  clearTimers();
247
245
  settled = true;
246
+ void rejectAfterBufferedFlush(err);
247
+ };
248
+ const rejectAfterBufferedFlush = async (err) => {
249
+ // Error callbacks must preserve already buffered trace chunks before rejecting supervision.
250
+ // eslint-disable-next-line promise/no-promise-in-callback
251
+ await Promise.allSettled([traceWriter.flush(), stderrWriter.flush()]);
248
252
  reject(err instanceof Error ? err : new Error(String(err)));
249
253
  };
254
+ const traceWriter = new BufferedFileWriter({
255
+ file_path: opts.invocation.trace_path,
256
+ on_error: finishWithError,
257
+ });
258
+ const stderrWriter = new BufferedFileWriter({
259
+ file_path: opts.invocation.stderr_path,
260
+ on_error: finishWithError,
261
+ });
250
262
  void updateRunningState().catch((err) => {
251
263
  if (pid && isProcessAlive(pid)) {
252
264
  try {
@@ -278,65 +290,68 @@ export async function runSupervisedProcess(opts) {
278
290
  queueAppend("stderr", persistedText);
279
291
  });
280
292
  void child.on("error", finishWithError);
281
- void child.on("close", async (code, signal) => {
282
- if (settled)
283
- return;
284
- clearTimers();
285
- const ended_at = new Date().toISOString();
286
- if (stdout_buffer) {
287
- writeTraceLine("stdout", stdout_buffer);
288
- }
289
- if (stderr_buffer) {
290
- writeTraceLine("stderr", stderr_buffer);
291
- }
292
- if (settled)
293
- return;
294
- const normalizedSignal = normalizeSignal(signal);
295
- const currentState = await readRunnerRunState(opts.invocation.state_path);
296
- const supervision = currentState?.supervision;
297
- const runStatus = supervision?.cancel_requested_at
298
- ? "cancelled"
299
- : timeoutReason
300
- ? "failed"
301
- : code === 0
302
- ? "success"
303
- : "failed";
304
- const [traceArtifact, stderrArtifact] = await Promise.all([
305
- finalizeTraceArtifact({
306
- file_path: opts.invocation.trace_path,
307
- policy: tracePolicy,
308
- run_status: runStatus,
309
- }),
310
- finalizeTraceArtifact({
311
- file_path: opts.invocation.stderr_path,
312
- policy: tracePolicy,
313
- run_status: runStatus,
314
- }),
315
- ]);
316
- settled = true;
317
- resolve({
318
- exit_code: code,
319
- exit_signal: normalizedSignal,
320
- stdout_tail,
321
- stderr_tail,
322
- stdout_bytes,
323
- stderr_bytes,
324
- pid,
325
- started_at,
326
- ended_at,
327
- cancel_requested_at: supervision?.cancel_requested_at ?? null,
328
- cancel_signal: supervision?.cancel_signal ?? null,
329
- timeout_reason: supervision?.timeout_reason ?? timeoutReason,
330
- timeout_requested_at: supervision?.timeout_requested_at ?? timeoutRequestedAt,
331
- terminate_sent_at: supervision?.terminate_sent_at ?? terminateSentAt,
332
- kill_sent_at: supervision?.kill_sent_at ?? killSentAt,
333
- force_killed: supervision?.force_killed === true || killSentAt !== null,
334
- heartbeat_at: heartbeat_at || ended_at,
335
- trace_artifact_path: traceArtifact.artifact_path,
336
- trace_archive_path: traceArtifact.archive_path,
337
- stderr_artifact_path: stderrArtifact.artifact_path,
338
- stderr_archive_path: stderrArtifact.archive_path,
339
- });
293
+ void child.on("close", (code, signal) => {
294
+ void (async () => {
295
+ if (settled)
296
+ return;
297
+ clearTimers();
298
+ const ended_at = new Date().toISOString();
299
+ if (stdout_buffer) {
300
+ writeTraceLine("stdout", stdout_buffer);
301
+ }
302
+ if (stderr_buffer) {
303
+ writeTraceLine("stderr", stderr_buffer);
304
+ }
305
+ await flushTraceWriters();
306
+ if (settled)
307
+ return;
308
+ const normalizedSignal = normalizeSignal(signal);
309
+ const currentState = await readRunnerRunState(opts.invocation.state_path);
310
+ const supervision = currentState?.supervision;
311
+ const runStatus = supervision?.cancel_requested_at
312
+ ? "cancelled"
313
+ : timeoutReason
314
+ ? "failed"
315
+ : code === 0
316
+ ? "success"
317
+ : "failed";
318
+ const [traceArtifact, stderrArtifact] = await Promise.all([
319
+ finalizeTraceArtifact({
320
+ file_path: opts.invocation.trace_path,
321
+ policy: tracePolicy,
322
+ run_status: runStatus,
323
+ }),
324
+ finalizeTraceArtifact({
325
+ file_path: opts.invocation.stderr_path,
326
+ policy: tracePolicy,
327
+ run_status: runStatus,
328
+ }),
329
+ ]);
330
+ settled = true;
331
+ resolve({
332
+ exit_code: code,
333
+ exit_signal: normalizedSignal,
334
+ stdout_tail,
335
+ stderr_tail,
336
+ stdout_bytes,
337
+ stderr_bytes,
338
+ pid,
339
+ started_at,
340
+ ended_at,
341
+ cancel_requested_at: supervision?.cancel_requested_at ?? null,
342
+ cancel_signal: supervision?.cancel_signal ?? null,
343
+ timeout_reason: supervision?.timeout_reason ?? timeoutReason,
344
+ timeout_requested_at: supervision?.timeout_requested_at ?? timeoutRequestedAt,
345
+ terminate_sent_at: supervision?.terminate_sent_at ?? terminateSentAt,
346
+ kill_sent_at: supervision?.kill_sent_at ?? killSentAt,
347
+ force_killed: supervision?.force_killed === true || killSentAt !== null,
348
+ heartbeat_at: heartbeat_at || ended_at,
349
+ trace_artifact_path: traceArtifact.artifact_path,
350
+ trace_archive_path: traceArtifact.archive_path,
351
+ stderr_artifact_path: stderrArtifact.artifact_path,
352
+ stderr_archive_path: stderrArtifact.archive_path,
353
+ });
354
+ })().catch(finishWithError);
340
355
  });
341
356
  if (timeoutPolicy.wall_clock_ms > 0) {
342
357
  wallTimer = setTimeout(() => {
@@ -1,4 +1,4 @@
1
- import { runProcess } from "@agentplaneorg/core";
1
+ import { runProcess } from "@agentplaneorg/core/process";
2
2
  const SUPPORTED_SIGNALS = new Set([
3
3
  "SIGHUP",
4
4
  "SIGINT",
@@ -1 +1 @@
1
- {"version":3,"file":"result-manifest.d.ts","sourceRoot":"","sources":["../../src/runner/result-manifest.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,YAAY,EAEZ,oBAAoB,EAGrB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,qCAAqC,EAAG,CAAU,CAAC;AAIhE,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;CAO/E;AAsJD,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAkGtC;AAED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI1E;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED,wBAAsB,mCAAmC,CAAC,IAAI,EAAE;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,gCAAgC,CAAC;CACzC,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlB;AAED,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYxB;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,oBAAoB,CAAC;CAChC,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvC,GAAG,YAAY,CA4Bf;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB,CAoBnF"}
1
+ {"version":3,"file":"result-manifest.d.ts","sourceRoot":"","sources":["../../src/runner/result-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,YAAY,EAEZ,oBAAoB,EAGrB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,qCAAqC,EAAG,CAAU,CAAC;AAIhE,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;CAO/E;AAsJD,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAkGtC;AAED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI1E;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED,wBAAsB,mCAAmC,CAAC,IAAI,EAAE;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,gCAAgC,CAAC;CACzC,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlB;AAED,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYxB;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,oBAAoB,CAAC;CAChC,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvC,GAAG,YAAY,CA4Bf;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB,CAoBnF"}
@@ -1,6 +1,6 @@
1
1
  import { mkdir, readFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
- import { atomicWriteFile } from "@agentplaneorg/core";
3
+ import { atomicWriteFile } from "@agentplaneorg/core/fs";
4
4
  export const RUNNER_RESULT_MANIFEST_SCHEMA_VERSION = 1;
5
5
  const INVALID_RESULT_MANIFEST_SUFFIX = ".invalid.json";
6
6
  const SOURCE_RESULT_MANIFEST_SUFFIX = ".source.json";
@@ -1,4 +1,4 @@
1
- import { ensureDocSections, setMarkdownSection } from "@agentplaneorg/core";
1
+ import { ensureDocSections, setMarkdownSection } from "@agentplaneorg/core/tasks";
2
2
  import { backendNotSupportedMessage } from "../cli/output.js";
3
3
  import { loadTaskFromContext } from "../commands/shared/task-backend.js";
4
4
  import { backendIsLocalFileBackend, getTaskStore, setTaskFieldsIntent, setTaskSectionIntent, touchTaskDocMetaIntent, } from "../commands/shared/task-store.js";
@@ -1 +1 @@
1
- {"version":3,"file":"trace-artifacts.d.ts","sourceRoot":"","sources":["../../src/runner/trace-artifacts.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMxE,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAWF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAQpF;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,kBAAkB,CAAC;CAChC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA+BlC;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB7E"}
1
+ {"version":3,"file":"trace-artifacts.d.ts","sourceRoot":"","sources":["../../src/runner/trace-artifacts.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMxE,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAWF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAQpF;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,kBAAkB,CAAC;CAChC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA+BlC;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB7E"}
@@ -2,7 +2,7 @@ import { mkdir, readFile, rm } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { promisify } from "node:util";
4
4
  import { gunzip, gzip } from "node:zlib";
5
- import { atomicWriteFile } from "@agentplaneorg/core";
5
+ import { atomicWriteFile } from "@agentplaneorg/core/fs";
6
6
  const gzipAsync = promisify(gzip);
7
7
  const gunzipAsync = promisify(gunzip);
8
8
  const TRACE_REDACTION_TOKEN = "[REDACTED]";
@@ -1,6 +1,6 @@
1
- import type { RunnerTimeoutConfig, RunnerTimeoutReason, RunnerTraceConfig } from "@agentplaneorg/core";
1
+ import type { RunnerTimeoutConfig, RunnerTimeoutReason, RunnerTraceConfig } from "@agentplaneorg/core/config";
2
2
  import type { OverlayStrength, OverlaySurface } from "@agentplaneorg/recipes";
3
- export type { RunnerTimeoutReason } from "@agentplaneorg/core";
3
+ export type { RunnerTimeoutReason } from "@agentplaneorg/core/config";
4
4
  import type { BehaviorResolutionTrace } from "../runtime/behavior/index.js";
5
5
  import type { TaskData, TaskEvent } from "../backends/task-backend.js";
6
6
  import type { AgentplaneCapabilityRegistry } from "../runtime/capabilities/index.js";