@tacuchi/agent-workflow-cli 25.7.0 → 25.9.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 (580) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +5 -1
  3. package/dist/adapters/git-cli.js +311 -24
  4. package/dist/adapters/git-cli.js.map +1 -1
  5. package/dist/adapters/node-file-system.js +48 -0
  6. package/dist/adapters/node-file-system.js.map +1 -1
  7. package/dist/application/amend-service.js +51 -14
  8. package/dist/application/amend-service.js.map +1 -1
  9. package/dist/application/branch-resolver.js +6 -3
  10. package/dist/application/branch-resolver.js.map +1 -1
  11. package/dist/application/capability/design-handler.js +124 -43
  12. package/dist/application/capability/design-handler.js.map +1 -1
  13. package/dist/application/capability/dispatcher.js +4 -1
  14. package/dist/application/capability/dispatcher.js.map +1 -1
  15. package/dist/application/capability/durable-effect.js +3 -0
  16. package/dist/application/capability/durable-effect.js.map +1 -1
  17. package/dist/application/capability/readiness.js +26 -10
  18. package/dist/application/capability/readiness.js.map +1 -1
  19. package/dist/application/capability/wrapper.js +10 -3
  20. package/dist/application/capability/wrapper.js.map +1 -1
  21. package/dist/application/check-branch-service.js +158 -19
  22. package/dist/application/check-branch-service.js.map +1 -1
  23. package/dist/application/checkpoint/markdown.js +2 -2
  24. package/dist/application/checkpoint/markdown.js.map +1 -1
  25. package/dist/application/checkpoint/state-reader.js +12 -0
  26. package/dist/application/checkpoint/state-reader.js.map +1 -1
  27. package/dist/application/checkpoint-service.js +12 -4
  28. package/dist/application/checkpoint-service.js.map +1 -1
  29. package/dist/application/checkpoint-write-service.js +91 -17
  30. package/dist/application/checkpoint-write-service.js.map +1 -1
  31. package/dist/application/claims-ledger.js +137 -11
  32. package/dist/application/claims-ledger.js.map +1 -1
  33. package/dist/application/claims-recovery.js +85 -44
  34. package/dist/application/claims-recovery.js.map +1 -1
  35. package/dist/application/database-tool-catalog.js +33 -0
  36. package/dist/application/database-tool-catalog.js.map +1 -1
  37. package/dist/application/design/consumer-document.js +2 -2
  38. package/dist/application/design/consumer-document.js.map +1 -1
  39. package/dist/application/design/design-content-gate-service.js +20 -2
  40. package/dist/application/design/design-content-gate-service.js.map +1 -1
  41. package/dist/application/design/design-gate-service.js +2 -0
  42. package/dist/application/design/design-gate-service.js.map +1 -1
  43. package/dist/application/design/design-index-service.js +4 -0
  44. package/dist/application/design/design-index-service.js.map +1 -1
  45. package/dist/application/design/design-publish-service.js +1 -4
  46. package/dist/application/design/design-publish-service.js.map +1 -1
  47. package/dist/application/design/design-record-service.js +13 -7
  48. package/dist/application/design/design-record-service.js.map +1 -1
  49. package/dist/application/design/design-resolver-service.js +22 -3
  50. package/dist/application/design/design-resolver-service.js.map +1 -1
  51. package/dist/application/design/design-simple-service.js +24 -5
  52. package/dist/application/design/design-simple-service.js.map +1 -1
  53. package/dist/application/design/digest.js +41 -0
  54. package/dist/application/design/digest.js.map +1 -0
  55. package/dist/application/dev-only-services.js +171 -27
  56. package/dist/application/dev-only-services.js.map +1 -1
  57. package/dist/application/doc-branch-ledger.js +145 -0
  58. package/dist/application/doc-branch-ledger.js.map +1 -0
  59. package/dist/application/docs-canon-service.js +1 -1
  60. package/dist/application/docs-canon-service.js.map +1 -1
  61. package/dist/application/doctor/dist-integrity.js +113 -0
  62. package/dist/application/doctor/dist-integrity.js.map +1 -0
  63. package/dist/application/doctor/hosts.js +5 -2
  64. package/dist/application/doctor/hosts.js.map +1 -1
  65. package/dist/application/doctor/prepare.js +4 -1
  66. package/dist/application/doctor/prepare.js.map +1 -1
  67. package/dist/application/doctor/provider-installation.js +39 -19
  68. package/dist/application/doctor/provider-installation.js.map +1 -1
  69. package/dist/application/doctor/provider-mcps.js +10 -2
  70. package/dist/application/doctor/provider-mcps.js.map +1 -1
  71. package/dist/application/doctor/provider-skills.js +25 -0
  72. package/dist/application/doctor/provider-skills.js.map +1 -1
  73. package/dist/application/doctor/provider-visibility.js +76 -3
  74. package/dist/application/doctor/provider-visibility.js.map +1 -1
  75. package/dist/application/doctor/provider-workspace-block.js +156 -0
  76. package/dist/application/doctor/provider-workspace-block.js.map +1 -0
  77. package/dist/application/doctor/repair-runner.js +47 -3
  78. package/dist/application/doctor/repair-runner.js.map +1 -1
  79. package/dist/application/doctor/report.js +24 -4
  80. package/dist/application/doctor/report.js.map +1 -1
  81. package/dist/application/doctor/skills-toml-migrate.js +76 -0
  82. package/dist/application/doctor/skills-toml-migrate.js.map +1 -0
  83. package/dist/application/export-catalog-check.js +200 -0
  84. package/dist/application/export-catalog-check.js.map +1 -0
  85. package/dist/application/export-service.js +716 -79
  86. package/dist/application/export-service.js.map +1 -1
  87. package/dist/application/fix-git-service.js +285 -64
  88. package/dist/application/fix-git-service.js.map +1 -1
  89. package/dist/application/flow/advance.js +241 -30
  90. package/dist/application/flow/advance.js.map +1 -1
  91. package/dist/application/flow/annul-service.js +3 -1
  92. package/dist/application/flow/annul-service.js.map +1 -1
  93. package/dist/application/flow/batch-commit.js +189 -0
  94. package/dist/application/flow/batch-commit.js.map +1 -0
  95. package/dist/application/flow/checkout-observation.js +110 -8
  96. package/dist/application/flow/checkout-observation.js.map +1 -1
  97. package/dist/application/flow/close-artifacts.js +105 -0
  98. package/dist/application/flow/close-artifacts.js.map +1 -0
  99. package/dist/application/flow/close-at-boundary.js +155 -0
  100. package/dist/application/flow/close-at-boundary.js.map +1 -0
  101. package/dist/application/flow/close-document-guidance.js +70 -0
  102. package/dist/application/flow/close-document-guidance.js.map +1 -0
  103. package/dist/application/flow/flow-service.js +49 -5
  104. package/dist/application/flow/flow-service.js.map +1 -1
  105. package/dist/application/flow/internal-actions.js +361 -80
  106. package/dist/application/flow/internal-actions.js.map +1 -1
  107. package/dist/application/flow/internal-drive.js +47 -19
  108. package/dist/application/flow/internal-drive.js.map +1 -1
  109. package/dist/application/flow/plan-entry.js +82 -0
  110. package/dist/application/flow/plan-entry.js.map +1 -0
  111. package/dist/application/flow/prove.js +32 -1
  112. package/dist/application/flow/prove.js.map +1 -1
  113. package/dist/application/flow/quick-checkouts.js +48 -0
  114. package/dist/application/flow/quick-checkouts.js.map +1 -0
  115. package/dist/application/flow/reinfer-batch.js +177 -0
  116. package/dist/application/flow/reinfer-batch.js.map +1 -0
  117. package/dist/application/flow/reopen-run.js +159 -0
  118. package/dist/application/flow/reopen-run.js.map +1 -0
  119. package/dist/application/flow/run-journey.js +11 -8
  120. package/dist/application/flow/run-journey.js.map +1 -1
  121. package/dist/application/flow/run-projection.js +16 -5
  122. package/dist/application/flow/run-projection.js.map +1 -1
  123. package/dist/application/flow/run-state-service.js +3 -1
  124. package/dist/application/flow/run-state-service.js.map +1 -1
  125. package/dist/application/flow/submit.js +731 -154
  126. package/dist/application/flow/submit.js.map +1 -1
  127. package/dist/application/generate-launch-service.js +16 -6
  128. package/dist/application/generate-launch-service.js.map +1 -1
  129. package/dist/application/git-flow-service.js +34 -3
  130. package/dist/application/git-flow-service.js.map +1 -1
  131. package/dist/application/history-publications.js +24 -0
  132. package/dist/application/history-publications.js.map +1 -1
  133. package/dist/application/history-reconcile-service.js +45 -0
  134. package/dist/application/history-reconcile-service.js.map +1 -0
  135. package/dist/application/history-table.js +61 -12
  136. package/dist/application/history-table.js.map +1 -1
  137. package/dist/application/history-update-service.js +25 -4
  138. package/dist/application/history-update-service.js.map +1 -1
  139. package/dist/application/hook-branch-check.js +25 -3
  140. package/dist/application/hook-branch-check.js.map +1 -1
  141. package/dist/application/hook-git-commit-advisor.js +3 -4
  142. package/dist/application/hook-git-commit-advisor.js.map +1 -1
  143. package/dist/application/hook-sql-mutation-guard.js +147 -12
  144. package/dist/application/hook-sql-mutation-guard.js.map +1 -1
  145. package/dist/application/hook-turn-start.js +51 -0
  146. package/dist/application/hook-turn-start.js.map +1 -0
  147. package/dist/application/host-memory/codex.js +1 -1
  148. package/dist/application/host-memory/codex.js.map +1 -1
  149. package/dist/application/hub-registry.js +135 -0
  150. package/dist/application/hub-registry.js.map +1 -0
  151. package/dist/application/local-proposal.js +72 -19
  152. package/dist/application/local-proposal.js.map +1 -1
  153. package/dist/application/mcp-host-reader.js +1 -1
  154. package/dist/application/mcp-host-reader.js.map +1 -1
  155. package/dist/application/mcp-host-writer.js +16 -10
  156. package/dist/application/mcp-host-writer.js.map +1 -1
  157. package/dist/application/merge-state-service.js +150 -34
  158. package/dist/application/merge-state-service.js.map +1 -1
  159. package/dist/application/multiroot/claude.js +17 -10
  160. package/dist/application/multiroot/claude.js.map +1 -1
  161. package/dist/application/multiroot/codex.js +17 -11
  162. package/dist/application/multiroot/codex.js.map +1 -1
  163. package/dist/application/multiroot-service.js +52 -28
  164. package/dist/application/multiroot-service.js.map +1 -1
  165. package/dist/application/parsers/execution-batches.js +64 -0
  166. package/dist/application/parsers/execution-batches.js.map +1 -0
  167. package/dist/application/parsers/phases.js +23 -2
  168. package/dist/application/parsers/phases.js.map +1 -1
  169. package/dist/application/parsers/project-block.js +146 -17
  170. package/dist/application/parsers/project-block.js.map +1 -1
  171. package/dist/application/parsers/tasks.js +16 -2
  172. package/dist/application/parsers/tasks.js.map +1 -1
  173. package/dist/application/parsers/toml.js +19 -0
  174. package/dist/application/parsers/toml.js.map +1 -0
  175. package/dist/application/paths-service.js +13 -16
  176. package/dist/application/paths-service.js.map +1 -1
  177. package/dist/application/persist-service.js +118 -5
  178. package/dist/application/persist-service.js.map +1 -1
  179. package/dist/application/plan-exec-batch-service.js +162 -22
  180. package/dist/application/plan-exec-batch-service.js.map +1 -1
  181. package/dist/application/plan-exec-decision-service.js +61 -12
  182. package/dist/application/plan-exec-decision-service.js.map +1 -1
  183. package/dist/application/plan-exec-plan-diff.js +105 -0
  184. package/dist/application/plan-exec-plan-diff.js.map +1 -0
  185. package/dist/application/plan-lint-service.js +2 -0
  186. package/dist/application/plan-lint-service.js.map +1 -1
  187. package/dist/application/plan-passes.js +41 -0
  188. package/dist/application/plan-passes.js.map +1 -0
  189. package/dist/application/preparation-receipts.js +58 -0
  190. package/dist/application/preparation-receipts.js.map +1 -0
  191. package/dist/application/project-md-upsert-service.js +191 -52
  192. package/dist/application/project-md-upsert-service.js.map +1 -1
  193. package/dist/application/project-tab-data.js +40 -10
  194. package/dist/application/project-tab-data.js.map +1 -1
  195. package/dist/application/release-data/artifacts.js +15 -7
  196. package/dist/application/release-data/artifacts.js.map +1 -1
  197. package/dist/application/release-data/bundles.js +52 -6
  198. package/dist/application/release-data/bundles.js.map +1 -1
  199. package/dist/application/release-data/common.js +2 -2
  200. package/dist/application/release-data/common.js.map +1 -1
  201. package/dist/application/release-data/rollback.js +7 -0
  202. package/dist/application/release-data/rollback.js.map +1 -0
  203. package/dist/application/release-data/sessions.js +2 -2
  204. package/dist/application/release-data/sessions.js.map +1 -1
  205. package/dist/application/release-pass-ledger.js +1 -1
  206. package/dist/application/render/history-row.js +2 -0
  207. package/dist/application/render/history-row.js.map +1 -1
  208. package/dist/application/render/project-block.js +28 -11
  209. package/dist/application/render/project-block.js.map +1 -1
  210. package/dist/application/reseal-service.js +1 -0
  211. package/dist/application/reseal-service.js.map +1 -1
  212. package/dist/application/resume-service.js +55 -8
  213. package/dist/application/resume-service.js.map +1 -1
  214. package/dist/application/retirement/apply.js +25 -7
  215. package/dist/application/retirement/apply.js.map +1 -1
  216. package/dist/application/retirement/attribution.js +121 -48
  217. package/dist/application/retirement/attribution.js.map +1 -1
  218. package/dist/application/retirement/prepare.js +17 -11
  219. package/dist/application/retirement/prepare.js.map +1 -1
  220. package/dist/application/retirement/preview.js +2 -1
  221. package/dist/application/retirement/preview.js.map +1 -1
  222. package/dist/application/self/codex-plugin.js +1 -1
  223. package/dist/application/self/codex-plugin.js.map +1 -1
  224. package/dist/application/self/host-states.js +3 -3
  225. package/dist/application/self/host-states.js.map +1 -1
  226. package/dist/application/self/install-hooks.js +1 -1
  227. package/dist/application/self/install-hooks.js.map +1 -1
  228. package/dist/application/self/install-skill.js +35 -11
  229. package/dist/application/self/install-skill.js.map +1 -1
  230. package/dist/application/self/install-targets.js +73 -2
  231. package/dist/application/self/install-targets.js.map +1 -1
  232. package/dist/application/self/mcp-config.js +19 -11
  233. package/dist/application/self/mcp-config.js.map +1 -1
  234. package/dist/application/self/opencode-plugin.js +1 -0
  235. package/dist/application/self/opencode-plugin.js.map +1 -1
  236. package/dist/application/self/uninstall.js +22 -8
  237. package/dist/application/self/uninstall.js.map +1 -1
  238. package/dist/application/semantic-operation/protocol.js +66 -5
  239. package/dist/application/semantic-operation/protocol.js.map +1 -1
  240. package/dist/application/session-archive-service.js +113 -0
  241. package/dist/application/session-archive-service.js.map +1 -0
  242. package/dist/application/session-binding-service.js +35 -0
  243. package/dist/application/session-binding-service.js.map +1 -1
  244. package/dist/application/session-close-service.js +390 -54
  245. package/dist/application/session-close-service.js.map +1 -1
  246. package/dist/application/session-create-service.js +97 -5
  247. package/dist/application/session-create-service.js.map +1 -1
  248. package/dist/application/session-custody-recorder.js +15 -12
  249. package/dist/application/session-custody-recorder.js.map +1 -1
  250. package/dist/application/session-custody-service.js +1 -0
  251. package/dist/application/session-custody-service.js.map +1 -1
  252. package/dist/application/session-narrative.js +51 -12
  253. package/dist/application/session-narrative.js.map +1 -1
  254. package/dist/application/session-pause-service.js +46 -0
  255. package/dist/application/session-pause-service.js.map +1 -0
  256. package/dist/application/session-resolver.js +36 -11
  257. package/dist/application/session-resolver.js.map +1 -1
  258. package/dist/application/session-resume-service.js +190 -20
  259. package/dist/application/session-resume-service.js.map +1 -1
  260. package/dist/application/sessions-service.js +4 -0
  261. package/dist/application/sessions-service.js.map +1 -1
  262. package/dist/application/sessions-sweep-service.js +77 -0
  263. package/dist/application/sessions-sweep-service.js.map +1 -0
  264. package/dist/application/settle-service.js +3 -1
  265. package/dist/application/settle-service.js.map +1 -1
  266. package/dist/application/skills-resolver-service.js +1 -1
  267. package/dist/application/skills-resolver-service.js.map +1 -1
  268. package/dist/application/source-add-service.js +37 -0
  269. package/dist/application/source-add-service.js.map +1 -0
  270. package/dist/application/source-boundary-policy.js +97 -8
  271. package/dist/application/source-boundary-policy.js.map +1 -1
  272. package/dist/application/source-pipeline.js +68 -0
  273. package/dist/application/source-pipeline.js.map +1 -0
  274. package/dist/application/source-remove-service.js +15 -3
  275. package/dist/application/source-remove-service.js.map +1 -1
  276. package/dist/application/sources-service.js +71 -16
  277. package/dist/application/sources-service.js.map +1 -1
  278. package/dist/application/status-service.js +55 -5
  279. package/dist/application/status-service.js.map +1 -1
  280. package/dist/application/unit-dependencies.js +100 -0
  281. package/dist/application/unit-dependencies.js.map +1 -0
  282. package/dist/application/unit-membership.js +37 -0
  283. package/dist/application/unit-membership.js.map +1 -0
  284. package/dist/application/unit-residue.js +72 -0
  285. package/dist/application/unit-residue.js.map +1 -0
  286. package/dist/application/visibility-doctor-service.js +66 -4
  287. package/dist/application/visibility-doctor-service.js.map +1 -1
  288. package/dist/application/working-branch-service.js +6 -0
  289. package/dist/application/working-branch-service.js.map +1 -1
  290. package/dist/application/workline-graph.js +1 -1
  291. package/dist/application/workline-graph.js.map +1 -1
  292. package/dist/application/workline-index-service.js +118 -17
  293. package/dist/application/workline-index-service.js.map +1 -1
  294. package/dist/application/workspace-commit-service.js +218 -0
  295. package/dist/application/workspace-commit-service.js.map +1 -0
  296. package/dist/application/workspace-init-service.js +64 -34
  297. package/dist/application/workspace-init-service.js.map +1 -1
  298. package/dist/application/workspace-local-config.js +90 -0
  299. package/dist/application/workspace-local-config.js.map +1 -0
  300. package/dist/application/workspace-materialization-service.js +52 -3
  301. package/dist/application/workspace-materialization-service.js.map +1 -1
  302. package/dist/application/workspace-migrate/apply.js +525 -4
  303. package/dist/application/workspace-migrate/apply.js.map +1 -1
  304. package/dist/application/workspace-migrate/markers.js +9 -6
  305. package/dist/application/workspace-migrate/markers.js.map +1 -1
  306. package/dist/application/workspace-migrate/plan.js +97 -5
  307. package/dist/application/workspace-migrate/plan.js.map +1 -1
  308. package/dist/application/workspace-move-service.js +270 -0
  309. package/dist/application/workspace-move-service.js.map +1 -0
  310. package/dist/application/workspace-untrack-service.js +28 -0
  311. package/dist/application/workspace-untrack-service.js.map +1 -0
  312. package/dist/application/worktree-service.js +654 -105
  313. package/dist/application/worktree-service.js.map +1 -1
  314. package/dist/cli/ascii.js +86 -0
  315. package/dist/cli/ascii.js.map +1 -0
  316. package/dist/cli/commands/add-source.js +38 -0
  317. package/dist/cli/commands/add-source.js.map +1 -0
  318. package/dist/cli/commands/amend.js +14 -2
  319. package/dist/cli/commands/amend.js.map +1 -1
  320. package/dist/cli/commands/capability.js +26 -0
  321. package/dist/cli/commands/capability.js.map +1 -1
  322. package/dist/cli/commands/check-branch.js +1 -0
  323. package/dist/cli/commands/check-branch.js.map +1 -1
  324. package/dist/cli/commands/checkpoint-read.js +1 -0
  325. package/dist/cli/commands/checkpoint-read.js.map +1 -1
  326. package/dist/cli/commands/checkpoint-write.js +4 -1
  327. package/dist/cli/commands/checkpoint-write.js.map +1 -1
  328. package/dist/cli/commands/claims.js +1 -0
  329. package/dist/cli/commands/claims.js.map +1 -1
  330. package/dist/cli/commands/code-scan.js +1 -0
  331. package/dist/cli/commands/code-scan.js.map +1 -1
  332. package/dist/cli/commands/context-budget.js +1 -0
  333. package/dist/cli/commands/context-budget.js.map +1 -1
  334. package/dist/cli/commands/context-plan.js +1 -0
  335. package/dist/cli/commands/context-plan.js.map +1 -1
  336. package/dist/cli/commands/cut-intent.js +1 -0
  337. package/dist/cli/commands/cut-intent.js.map +1 -1
  338. package/dist/cli/commands/designs.js +15 -5
  339. package/dist/cli/commands/designs.js.map +1 -1
  340. package/dist/cli/commands/dev-only.js +22 -5
  341. package/dist/cli/commands/dev-only.js.map +1 -1
  342. package/dist/cli/commands/doc-branch.js +184 -0
  343. package/dist/cli/commands/doc-branch.js.map +1 -0
  344. package/dist/cli/commands/doctor.js +9 -0
  345. package/dist/cli/commands/doctor.js.map +1 -1
  346. package/dist/cli/commands/export.js +89 -16
  347. package/dist/cli/commands/export.js.map +1 -1
  348. package/dist/cli/commands/fix-git.js +89 -13
  349. package/dist/cli/commands/fix-git.js.map +1 -1
  350. package/dist/cli/commands/flow.js +129 -13
  351. package/dist/cli/commands/flow.js.map +1 -1
  352. package/dist/cli/commands/generate-launch.js +15 -2
  353. package/dist/cli/commands/generate-launch.js.map +1 -1
  354. package/dist/cli/commands/git-flow.js +1 -0
  355. package/dist/cli/commands/git-flow.js.map +1 -1
  356. package/dist/cli/commands/history-update.js +7 -9
  357. package/dist/cli/commands/history-update.js.map +1 -1
  358. package/dist/cli/commands/history.js +14 -0
  359. package/dist/cli/commands/history.js.map +1 -0
  360. package/dist/cli/commands/hook.js +26 -5
  361. package/dist/cli/commands/hook.js.map +1 -1
  362. package/dist/cli/commands/host-doctor.js +1 -0
  363. package/dist/cli/commands/host-doctor.js.map +1 -1
  364. package/dist/cli/commands/host-memory.js +2 -9
  365. package/dist/cli/commands/host-memory.js.map +1 -1
  366. package/dist/cli/commands/index.js +18 -1
  367. package/dist/cli/commands/index.js.map +1 -1
  368. package/dist/cli/commands/mcp.js +30 -4
  369. package/dist/cli/commands/mcp.js.map +1 -1
  370. package/dist/cli/commands/merge-state.js +3 -2
  371. package/dist/cli/commands/merge-state.js.map +1 -1
  372. package/dist/cli/commands/multiroot.js +16 -0
  373. package/dist/cli/commands/multiroot.js.map +1 -1
  374. package/dist/cli/commands/persist.js +7 -5
  375. package/dist/cli/commands/persist.js.map +1 -1
  376. package/dist/cli/commands/plan.js +1 -0
  377. package/dist/cli/commands/plan.js.map +1 -1
  378. package/dist/cli/commands/plugin-cache.js +4 -0
  379. package/dist/cli/commands/plugin-cache.js.map +1 -1
  380. package/dist/cli/commands/plugin-doctor.js +3 -0
  381. package/dist/cli/commands/plugin-doctor.js.map +1 -1
  382. package/dist/cli/commands/project-md-upsert.js +8 -3
  383. package/dist/cli/commands/project-md-upsert.js.map +1 -1
  384. package/dist/cli/commands/release-data.js +12 -0
  385. package/dist/cli/commands/release-data.js.map +1 -1
  386. package/dist/cli/commands/release-pass.js +13 -3
  387. package/dist/cli/commands/release-pass.js.map +1 -1
  388. package/dist/cli/commands/remove-source.js +1 -0
  389. package/dist/cli/commands/remove-source.js.map +1 -1
  390. package/dist/cli/commands/reseal.js +1 -0
  391. package/dist/cli/commands/reseal.js.map +1 -1
  392. package/dist/cli/commands/resume-summary.js +5 -0
  393. package/dist/cli/commands/resume-summary.js.map +1 -1
  394. package/dist/cli/commands/resume.js +13 -3
  395. package/dist/cli/commands/resume.js.map +1 -1
  396. package/dist/cli/commands/retirement.js +1 -0
  397. package/dist/cli/commands/retirement.js.map +1 -1
  398. package/dist/cli/commands/self.js +39 -1
  399. package/dist/cli/commands/self.js.map +1 -1
  400. package/dist/cli/commands/session-artifacts.js +1 -0
  401. package/dist/cli/commands/session-artifacts.js.map +1 -1
  402. package/dist/cli/commands/session-close.js +185 -31
  403. package/dist/cli/commands/session-close.js.map +1 -1
  404. package/dist/cli/commands/session-create.js +4 -1
  405. package/dist/cli/commands/session-create.js.map +1 -1
  406. package/dist/cli/commands/session-pause.js +14 -0
  407. package/dist/cli/commands/session-pause.js.map +1 -0
  408. package/dist/cli/commands/session-resume.js +1 -0
  409. package/dist/cli/commands/session-resume.js.map +1 -1
  410. package/dist/cli/commands/sessions.js +16 -2
  411. package/dist/cli/commands/sessions.js.map +1 -1
  412. package/dist/cli/commands/set-branch.js +29 -4
  413. package/dist/cli/commands/set-branch.js.map +1 -1
  414. package/dist/cli/commands/set-edit-mode.js +20 -0
  415. package/dist/cli/commands/set-edit-mode.js.map +1 -0
  416. package/dist/cli/commands/set-pipeline.js +35 -0
  417. package/dist/cli/commands/set-pipeline.js.map +1 -0
  418. package/dist/cli/commands/settle.js +1 -0
  419. package/dist/cli/commands/settle.js.map +1 -1
  420. package/dist/cli/commands/skill-index.js +1 -0
  421. package/dist/cli/commands/skill-index.js.map +1 -1
  422. package/dist/cli/commands/skills.js +1 -0
  423. package/dist/cli/commands/skills.js.map +1 -1
  424. package/dist/cli/commands/sources.js +5 -0
  425. package/dist/cli/commands/sources.js.map +1 -1
  426. package/dist/cli/commands/stack.js +1 -0
  427. package/dist/cli/commands/stack.js.map +1 -1
  428. package/dist/cli/commands/status.js +36 -2
  429. package/dist/cli/commands/status.js.map +1 -1
  430. package/dist/cli/commands/tool.js +5 -21
  431. package/dist/cli/commands/tool.js.map +1 -1
  432. package/dist/cli/commands/unknown-flags.js +68 -16
  433. package/dist/cli/commands/unknown-flags.js.map +1 -1
  434. package/dist/cli/commands/visibility.js +2 -0
  435. package/dist/cli/commands/visibility.js.map +1 -1
  436. package/dist/cli/commands/workspace-commit.js +62 -0
  437. package/dist/cli/commands/workspace-commit.js.map +1 -0
  438. package/dist/cli/commands/workspace-init.js +51 -2
  439. package/dist/cli/commands/workspace-init.js.map +1 -1
  440. package/dist/cli/commands/workspace-migrate.js +31 -14
  441. package/dist/cli/commands/workspace-migrate.js.map +1 -1
  442. package/dist/cli/commands/workspace-move.js +42 -0
  443. package/dist/cli/commands/workspace-move.js.map +1 -0
  444. package/dist/cli/commands/worktree.js +5 -4
  445. package/dist/cli/commands/worktree.js.map +1 -1
  446. package/dist/cli/context-id.js +6 -0
  447. package/dist/cli/context-id.js.map +1 -1
  448. package/dist/cli/full-cli.js +555 -0
  449. package/dist/cli/full-cli.js.map +1 -0
  450. package/dist/cli/help-groups.js +108 -14
  451. package/dist/cli/help-groups.js.map +1 -1
  452. package/dist/cli/hook-stdin-cache.js +12 -0
  453. package/dist/cli/hook-stdin-cache.js.map +1 -0
  454. package/dist/cli/main.js +47 -471
  455. package/dist/cli/main.js.map +1 -1
  456. package/dist/cli/output-mode.js +11 -2
  457. package/dist/cli/output-mode.js.map +1 -1
  458. package/dist/cli/parser.js +18 -5
  459. package/dist/cli/parser.js.map +1 -1
  460. package/dist/cli/registry.js.map +1 -1
  461. package/dist/cli/render.js +30 -1
  462. package/dist/cli/render.js.map +1 -1
  463. package/dist/cli/tui/app.js +1 -1
  464. package/dist/cli/tui/app.js.map +1 -1
  465. package/dist/cli/tui/components/workspace-init-form.js +4 -1
  466. package/dist/cli/tui/components/workspace-init-form.js.map +1 -1
  467. package/dist/cli/tui/data/recommended-skills.js +2 -2
  468. package/dist/cli/tui/data/recommended-skills.js.map +1 -1
  469. package/dist/cli/tui/data/workflow-content.js +6 -1
  470. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  471. package/dist/cli/tui/tabs/mcp-tab.js +4 -3
  472. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  473. package/dist/cli/tui/tabs/project-tab.js +7 -2
  474. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  475. package/dist/dist-manifest.json +4117 -0
  476. package/dist/domain/capability/protocol.js.map +1 -1
  477. package/dist/domain/decision-note.js +13 -0
  478. package/dist/domain/decision-note.js.map +1 -1
  479. package/dist/domain/design/artifact.js +22 -3
  480. package/dist/domain/design/artifact.js.map +1 -1
  481. package/dist/domain/design/capability.js +1 -0
  482. package/dist/domain/design/capability.js.map +1 -1
  483. package/dist/domain/design/expansion.js +1 -1
  484. package/dist/domain/design/expansion.js.map +1 -1
  485. package/dist/domain/design/maturity.js +16 -0
  486. package/dist/domain/design/maturity.js.map +1 -1
  487. package/dist/domain/design/reference.js +5 -0
  488. package/dist/domain/design/reference.js.map +1 -1
  489. package/dist/domain/doctor/operations.js +28 -2
  490. package/dist/domain/doctor/operations.js.map +1 -1
  491. package/dist/domain/effective-contract.js +3 -1
  492. package/dist/domain/effective-contract.js.map +1 -1
  493. package/dist/domain/elicitation.js +1 -1
  494. package/dist/domain/flow/answer.js +273 -130
  495. package/dist/domain/flow/answer.js.map +1 -1
  496. package/dist/domain/flow/authority.js +330 -44
  497. package/dist/domain/flow/authority.js.map +1 -1
  498. package/dist/domain/flow/batch-review.js +65 -0
  499. package/dist/domain/flow/batch-review.js.map +1 -0
  500. package/dist/domain/flow/decision-schema.js +47 -0
  501. package/dist/domain/flow/decision-schema.js.map +1 -0
  502. package/dist/domain/flow/directive.js +16 -0
  503. package/dist/domain/flow/directive.js.map +1 -1
  504. package/dist/domain/flow/execution-result.js +169 -9
  505. package/dist/domain/flow/execution-result.js.map +1 -1
  506. package/dist/domain/flow/route.js.map +1 -1
  507. package/dist/domain/flow/rules.js +5 -6
  508. package/dist/domain/flow/rules.js.map +1 -1
  509. package/dist/domain/flow/run-state.js +531 -47
  510. package/dist/domain/flow/run-state.js.map +1 -1
  511. package/dist/domain/flow/test-run-evidence.js +285 -0
  512. package/dist/domain/flow/test-run-evidence.js.map +1 -0
  513. package/dist/domain/flow/unchanged-phase.js +15 -0
  514. package/dist/domain/flow/unchanged-phase.js.map +1 -0
  515. package/dist/domain/harnesses.js +22 -6
  516. package/dist/domain/harnesses.js.map +1 -1
  517. package/dist/domain/isolation-unit.js +2 -2
  518. package/dist/domain/isolation-unit.js.map +1 -1
  519. package/dist/domain/lineage.js +7 -2
  520. package/dist/domain/lineage.js.map +1 -1
  521. package/dist/domain/obligation-correspondence.js +4 -2
  522. package/dist/domain/obligation-correspondence.js.map +1 -1
  523. package/dist/domain/plan-handoff.js +5 -0
  524. package/dist/domain/plan-handoff.js.map +1 -0
  525. package/dist/domain/proposal.js +18 -7
  526. package/dist/domain/proposal.js.map +1 -1
  527. package/dist/domain/reservation.js +5 -3
  528. package/dist/domain/reservation.js.map +1 -1
  529. package/dist/domain/retirement/proposal.js +1 -0
  530. package/dist/domain/retirement/proposal.js.map +1 -1
  531. package/dist/domain/session/custody.js +10 -6
  532. package/dist/domain/session/custody.js.map +1 -1
  533. package/dist/domain/session/narrative.js +4 -1
  534. package/dist/domain/session/narrative.js.map +1 -1
  535. package/dist/domain/skills.js +2 -0
  536. package/dist/domain/skills.js.map +1 -1
  537. package/dist/domain/sql-lexer.js +15 -2
  538. package/dist/domain/sql-lexer.js.map +1 -1
  539. package/dist/runtime/namespace-resolver.js +4 -0
  540. package/dist/runtime/namespace-resolver.js.map +1 -1
  541. package/dist/runtime/workline-marker.js +35 -8
  542. package/dist/runtime/workline-marker.js.map +1 -1
  543. package/dist/runtime/workspace-resolution.js +123 -0
  544. package/dist/runtime/workspace-resolution.js.map +1 -0
  545. package/package.json +5 -4
  546. package/skills/w/SKILL.md +3 -1
  547. package/skills/w/artifacts/artifacts-core/CHECKPOINT.md +1 -1
  548. package/skills/w/artifacts/artifacts-core/SCRIPTS.rollback.sql +8 -0
  549. package/skills/w/artifacts/artifacts-core/SCRIPTS.sql +4 -8
  550. package/skills/w/commands/export-diagrams.md +3 -3
  551. package/skills/w/commands/export-manuals.md +6 -6
  552. package/skills/w/commands/export-reports.md +3 -3
  553. package/skills/w/commands/export-scripts.md +5 -5
  554. package/skills/w/commands/fix-git.md +12 -13
  555. package/skills/w/commands/persist.md +2 -2
  556. package/skills/w/commands/plan-exec.md +4 -2
  557. package/skills/w/commands/spec-new.md +1 -1
  558. package/skills/w/commands/workspace-init.md +2 -0
  559. package/skills/w/context/MANIFEST.json +1 -1
  560. package/skills/w/exports/export-diagrams/EXPORT.md +3 -3
  561. package/skills/w/exports/export-manuals/EXPORT.md +14 -16
  562. package/skills/w/exports/export-reports/EXPORT.md +3 -3
  563. package/skills/w/exports/export-scripts/EXPORT.md +45 -21
  564. package/skills/w/harness/HARNESS.md +5 -3
  565. package/skills/w/hooks/hooks.template.json +6 -4
  566. package/skills/w/loops/CHASSIS.md +12 -6
  567. package/skills/w/loops/CODE-POLICIES.md +7 -4
  568. package/skills/w/loops/plan-exec-loop/LOOP.md +23 -22
  569. package/skills/w/loops/plan-new-loop/LOOP.md +23 -31
  570. package/skills/w/loops/plan-refine-loop/LOOP.md +8 -2
  571. package/skills/w/loops/quick-loop/LOOP.md +6 -5
  572. package/skills/w/modules/DESIGN-REFERENCES.md +9 -11
  573. package/skills/w/modules/PLAN-EXECUTION-BATCHES.md +4 -4
  574. package/skills/w/modules/SESSION-NUMBERING.md +2 -0
  575. package/skills/w/roles/design/CONTRACT.md +16 -7
  576. package/skills/w/roles/design/ROLE.md +4 -2
  577. package/skills/w/roles/git/ROLE.md +16 -9
  578. package/skills/w/roles/research/ROLE.md +1 -1
  579. package/skills/w/roles/sql/ROLE.md +16 -14
  580. package/skills/w/schemas/design/ui-screen.v1.schema.json +9 -0
package/dist/cli/main.js CHANGED
@@ -1,486 +1,62 @@
1
1
  #!/usr/bin/env node
2
- import { GitCliAdapter } from "../adapters/git-cli.js";
3
- import { NodeEnv } from "../adapters/node-env.js";
4
- import { NodeFileSystem } from "../adapters/node-file-system.js";
5
- import { NodeProcess } from "../adapters/node-process.js";
6
- import { formatCommandError, formatCommandInvocation, formatCommandOutcome, formatTuiEvent, } from "../application/logging/log-events.js";
7
- import { Logger } from "../application/logging/logger.js";
8
- import { PathsService } from "../application/paths-service.js";
9
- import { resolveSkills } from "../application/skills-resolver-service.js";
10
- import { MaterializingWorkspaceFileSystem } from "../application/workspace-materialization-service.js";
11
- import { encodeToolResponse, toolFailure } from "../domain/database-tools.js";
12
- import { redactSensitiveText, redactSensitiveValue } from "../domain/redaction.js";
13
- import { RuntimeConfigService } from "../runtime/config-service.js";
14
- import { DEFAULT_NAMESPACE, NamespaceResolver, WorklineDirectoryError, } from "../runtime/namespace-resolver.js";
15
- import { DEFAULT_RUNTIME_CONFIG } from "../runtime/types.js";
16
- import { readPackageVersion } from "../runtime/version.js";
17
- import { ALL_COMMANDS, commandDescribes } from "./commands/index.js";
18
- import { planDispatch, resolveGlobalAlias } from "./dispatch-plan.js";
19
- import { commandHelpText, renderGroupedCommandLines } from "./help-groups.js";
20
- import { resolveOutputMode } from "./output-mode.js";
21
- import { parseArgv } from "./parser.js";
22
- import { CommandRegistry } from "./registry.js";
23
- import { emitError, fail, formatArgvError, formatUnknownCommand, redactErrorEnvelope, renderHumanError, renderRaw, writeStdout, } from "./render.js";
24
- import { runTui } from "./tui/run.js";
25
- async function run(argv) {
26
- const fs = new NodeFileSystem();
27
- const env = new NodeEnv();
28
- const proc = new NodeProcess();
29
- const git = new GitCliAdapter(proc);
30
- const prepared = prepareInvocation(argv);
31
- if (typeof prepared === "number")
32
- return prepared;
33
- const initialized = await initializeCliContext(prepared.parsed, fs, env, proc, git);
34
- if (initialized === null)
35
- return transportExitCode(prepared.parsed);
36
- return await dispatchParsedCommand({
37
- ...prepared,
38
- ctx: initialized.ctx,
39
- registry: commandRegistry(),
40
- workspaceFs: initialized.workspaceFs,
41
- });
42
- }
43
- function prepareInvocation(argv) {
44
- const parsed = parseCli(argv);
45
- if (parsed === null)
46
- return rawTransportExitCode(argv);
47
- const hasHelp = parsed.flags.has("--help") || parsed.flags.has("-h");
48
- if (isMcpStdioInvocation(parsed) && (parsed.flags.has("--version") || hasHelp)) {
49
- process.stderr.write("aw mcp: --version y --help no son válidos para un servidor stdio\n");
50
- return 2;
51
- }
52
- // Global ONLY when nothing else was asked. With a command present `--version`
53
- // belongs to that command — `release-pass` names one on every verb — and
54
- // answering with the CLI's own version would silently swallow the invocation.
55
- if (parsed.command === undefined && parsed.flags.has("--version")) {
56
- writeStdout(`${readPackageVersion()}\n`);
57
- return 0;
58
- }
59
- const isTTY = process.stdout.isTTY === true;
60
- const output = resolveOutputMode(parsed, isTTY);
61
- if (output.ok)
62
- return { parsed, isTTY, hasHelp, output: output.mode };
63
- return outputModeFailure(parsed, output.message);
64
- }
65
- function rawTransportExitCode(argv) {
66
- return looksLikeMcpStdioInvocation(argv) || looksLikeToolInvocation(argv) ? 2 : 1;
67
- }
68
- function outputModeFailure(parsed, message) {
69
- if (parsed.command === "tool") {
70
- emitToolEarlyFailure("INVALID_INPUT", message);
71
- return 2;
72
- }
73
- if (isMcpStdioInvocation(parsed)) {
74
- process.stderr.write("aw mcp: argumentos de salida inválidos para un servidor stdio\n");
75
- return 2;
76
- }
77
- emitError(formatArgvError(message));
78
- return 1;
79
- }
80
- function commandRegistry() {
81
- // ALL_COMMANDS (commands/index.ts) is the single source of truth for which
82
- // commands exist; its order drives the grouped `--help` listing.
83
- const registry = new CommandRegistry();
84
- for (const command of ALL_COMMANDS)
85
- registry.register(command);
86
- return registry;
87
- }
88
- async function initializeCliContext(parsed, fs, env, proc, git) {
89
- const directory = await resolveWorklineDirectory(new NamespaceResolver(fs, env), parsed);
90
- if (directory === null)
91
- return null;
92
- const namespace = { namespace: directory.namespace, source: directory.namespaceSource };
93
- const paths = new PathsService(namespace.namespace, env.homeDir(), directory.root);
94
- const workspaceFs = new MaterializingWorkspaceFileSystem(fs, paths);
95
- const standaloneTransport = parsed.command === "tool" || isMcpStdioInvocation(parsed);
96
- const runtime = standaloneTransport
97
- ? defaultStandaloneRuntime()
98
- : await new RuntimeConfigService(fs, env, paths).resolveRuntime();
99
- const skills = standaloneTransport
100
- ? {}
101
- : (await resolveSkills(fs, paths)).skills;
102
- return {
103
- workspaceFs,
104
- ctx: {
105
- fs: workspaceFs,
106
- rawFs: fs,
107
- env,
108
- git,
109
- process: proc,
110
- runtime,
111
- namespace,
112
- directory,
113
- paths,
114
- skills,
115
- logger: new Logger({
116
- fs,
117
- paths,
118
- enabled: !isStrictReadCommand(parsed),
119
- }),
120
- },
121
- };
122
- }
123
- function defaultStandaloneRuntime() {
124
- return {
125
- packageName: DEFAULT_RUNTIME_CONFIG.packageName,
126
- binName: DEFAULT_RUNTIME_CONFIG.binName,
127
- source: "default",
128
- };
129
- }
130
- function transportExitCode(parsed) {
131
- return parsed.command === "tool" || isMcpStdioInvocation(parsed) ? 2 : 1;
132
- }
133
- function parseCli(argv) {
134
- try {
135
- return parseArgv(argv);
136
- }
137
- catch (err) {
138
- if (looksLikeMcpStdioInvocation(argv)) {
139
- process.stderr.write("aw mcp: argumentos del servidor stdio no son válidos\n");
140
- return null;
141
- }
142
- if (looksLikeToolInvocation(argv)) {
143
- emitToolEarlyFailure("INVALID_INPUT", "Los argumentos de tool no son válidos.");
144
- return null;
145
- }
146
- emitError(formatArgvError(err.message));
147
- return null;
148
- }
149
- }
150
- async function resolveWorklineDirectory(resolver, parsed) {
2
+ import { hasWorklineMarker } from "../runtime/workline-marker.js";
3
+ import { cacheHookStdin } from "./hook-stdin-cache.js";
4
+ const GIT_COMMIT_RE = /\bgit\s+commit\b/;
5
+ const argv = process.argv.slice(2);
6
+ const hook = argv[0] === "hook" ? argv[1] : undefined;
7
+ const scoped = hook === "branch-check" ||
8
+ hook === "turn-start" ||
9
+ hook === "git-commit-advisor" ||
10
+ argv[0] === "checkpoint-write" ||
11
+ argv[0] === "resume-summary" ||
12
+ argv[0] === "auto-compact-on-close" ||
13
+ (argv[0] === "self" && argv[1] === "namespace" && argv.includes("--pin"));
14
+ async function scopedWorkspaceVisible() {
15
+ if (await hasWorklineMarker(process.cwd()))
16
+ return true;
17
+ // A source without its own marker can still belong to a registered hub.
18
+ // Consult the user-level index without creating workspace runtime or invoking git.
19
+ const { declaringHubs } = await import("../application/hub-registry.js");
20
+ const { NodeFileSystem } = await import("../adapters/node-file-system.js");
21
+ const { homedir } = await import("node:os");
22
+ const flag = argv.indexOf("--namespace");
23
+ const namespace = flag < 0 ? (process.env.AW_NAMESPACE ?? "workflow") : (argv[flag + 1] ?? "workflow");
151
24
  try {
152
- return await resolver.resolveDirectory(parsed.values.get("namespace"));
153
- }
154
- catch (err) {
155
- if (!(err instanceof WorklineDirectoryError)) {
156
- if (parsed.command === "tool") {
157
- emitToolEarlyFailure("TOOL_RUNTIME_FAILED", "La tool no pudo preparar su entorno.");
158
- return null;
159
- }
160
- if (isMcpStdioInvocation(parsed)) {
161
- process.stderr.write("aw mcp: no se pudo preparar el servidor stdio\n");
162
- return null;
163
- }
164
- throw err;
165
- }
166
- if (parsed.command === "tool") {
167
- emitToolEarlyFailure("WORKLINE_NAMESPACE_AMBIGUOUS", "No se pudo resolver el namespace de la tool.");
168
- return null;
169
- }
170
- if (isMcpStdioInvocation(parsed)) {
171
- process.stderr.write("aw mcp: no se pudo resolver el namespace del servidor stdio\n");
172
- return null;
173
- }
174
- emitError({
175
- code: err.code,
176
- message: err.message,
177
- details: { root: err.root, namespaces: err.namespaces },
178
- });
179
- return null;
25
+ return ((await declaringHubs(new NodeFileSystem(), homedir(), namespace, process.cwd())).length > 0);
180
26
  }
181
- }
182
- function emitToolEarlyFailure(code, message) {
183
- writeStdout(encodeToolResponse(toolFailure(code, message)));
184
- }
185
- function looksLikeToolInvocation(argv) {
186
- return !looksLikeMcpStdioInvocation(argv) && firstCommandToken(argv) === "tool";
187
- }
188
- function looksLikeMcpStdioInvocation(argv) {
189
- const index = argv.indexOf("mcp");
190
- if (index < 0)
27
+ catch {
191
28
  return false;
192
- const subcommand = argv[index + 1];
193
- return subcommand === "serve" || subcommand === "serve-db" || subcommand === "dbhub";
194
- }
195
- function firstCommandToken(argv) {
196
- const globalOptionsWithValue = new Set([
197
- "--namespace",
198
- "--plugin-root",
199
- "--plugin-version",
200
- "--compat",
201
- // `tool` always renders its own raw JSON, but this global projection flag
202
- // can precede it. Skip its value while detecting a parse-time tool error so
203
- // the CLI never falls back to the generic `{ ok, error }` envelope.
204
- "--format",
205
- ]);
206
- for (let index = 0; index < argv.length; index += 1) {
207
- const token = argv[index];
208
- if (token === undefined)
209
- return undefined;
210
- if (globalOptionsWithValue.has(token)) {
211
- index += 1;
212
- continue;
213
- }
214
- if (token.startsWith("--namespace=") || token.startsWith("--plugin-"))
215
- continue;
216
- if (token.startsWith("-"))
217
- continue;
218
- return token;
219
29
  }
220
- return undefined;
221
- }
222
- function isMcpStdioInvocation(parsed) {
223
- return (parsed.command === "mcp" &&
224
- (parsed.rest[0] === "serve" || parsed.rest[0] === "serve-db" || parsed.rest[0] === "dbhub"));
225
30
  }
226
- async function dispatchParsedCommand(input) {
227
- const { parsed, ctx, registry, isTTY, hasHelp, output, workspaceFs } = input;
228
- // The decision — menu, help or which command, alias included — belongs to
229
- // `planDispatch`, which is importable and therefore testable. What is left
230
- // here is carrying it out: no ordering and no command name of its own.
231
- const plan = planDispatch({ command: parsed.command, flags: parsed.flags, isTTY, hasHelp });
232
- if (plan.kind === "menu")
233
- return await runInteractiveMenu(ctx, registry);
234
- if (plan.kind === "global-help") {
235
- printHelp(registry.list());
236
- return 0;
237
- }
238
- const command = registry.resolve(plan.name);
239
- if (command === undefined) {
240
- emitError(formatUnknownCommand(plan.name, registry.list()));
241
- return 1;
242
- }
243
- // `<command> --help` shows the subcommand's help (its describe), not the global help.
244
- if (plan.help) {
245
- printCommandHelp(command);
246
- return 0;
247
- }
248
- return await executeCommand(parsed, ctx, command, output, workspaceFs);
249
- }
250
- async function runInteractiveMenu(ctx, registry) {
251
- await ctx.logger?.info(formatTuiEvent("open"));
252
- const tuiResult = await runTui(readPackageVersion(), ctx);
253
- return tuiResult.kind === "menu-action"
254
- ? await dispatchMenuAction(tuiResult.action, registry)
255
- : tuiResult.exitCode;
256
- }
257
- async function executeCommand(parsed, ctx, command, output, workspaceFs) {
258
- await ctx.logger?.info(formatCommandInvocation(parsed));
31
+ if (hook === "git-commit-advisor") {
32
+ // Only the advisor needs stdin to decide whether the expensive CLI is needed.
33
+ // A payload meant for another tool cannot be a git commit either.
34
+ const { readHookStdin } = await import("./context-id.js");
35
+ const stdin = await readHookStdin();
36
+ let payload = null;
259
37
  try {
260
- const commandCtx = commandOwnsMaterializationReceipt(command.name)
261
- ? { ...ctx, fs: ctx.rawFs ?? ctx.fs }
262
- : ctx;
263
- const result = attachMaterializationReceipt(await command.execute(parsed, commandCtx), workspaceFs);
264
- await ctx.logger?.log(result.ok ? "info" : "error", formatCommandOutcome(command.name, result.exitCode));
265
- emit(result, command, output, adoptionNotice(command, workspaceFs));
266
- return result.exitCode;
267
- }
268
- catch (err) {
269
- await ctx.logger?.error(formatCommandError(command.name, err));
270
- if (isMcpStdioInvocation(parsed)) {
271
- process.stderr.write("aw mcp: el servidor stdio no pudo iniciar\n");
272
- return 1;
273
- }
274
- const message = redactSensitiveText(err instanceof Error ? err.message : String(err));
275
- emit(fail("UNHANDLED", message), command, output, adoptionNotice(command, workspaceFs));
276
- return 1;
277
- }
278
- }
279
- /** Services whose public output already declares the exact first-write effects. */
280
- function commandOwnsMaterializationReceipt(command) {
281
- return command === "workspace-init" || command === "session-create";
282
- }
283
- /**
284
- * The line that says out loud which path Workline just adopted, or `undefined`.
285
- *
286
- * The receipt already travelled in `result.data`, and in a terminal nobody reads
287
- * that: the human projection is each command's own `renderHuman`, and the only
288
- * one that printed the adoption was `workspace-init` — the command nobody needs
289
- * to be told by. So adopting a directory was silent exactly where it matters,
290
- * and a command launched one folder down from a real workspace could found a
291
- * second one inside it without a word. It is emitted once, by the dispatcher, so
292
- * no command has to remember; the two that declare it themselves are skipped.
293
- */
294
- function adoptionNotice(command, fs) {
295
- if (commandOwnsMaterializationReceipt(command.name))
296
- return undefined;
297
- const materialization = fs.materialization();
298
- if (materialization === undefined || !materialization.materialized)
299
- return undefined;
300
- return `Workline adoptó ${materialization.root} como workspace (namespace ${materialization.namespace}).`;
301
- }
302
- /**
303
- * A generic workspace writer still needs to tell its caller that it created the
304
- * runtime marker. Preserve every typed command payload and add the forward
305
- * receipt only when the payload is an object and does not already own that key.
306
- */
307
- function attachMaterializationReceipt(result, fs) {
308
- const materialization = fs.materialization();
309
- if (materialization === undefined ||
310
- !materialization.materialized ||
311
- result.data === undefined ||
312
- result.data === null ||
313
- Array.isArray(result.data) ||
314
- typeof result.data !== "object" ||
315
- "materialization" in result.data) {
316
- return result;
317
- }
318
- return { ...result, data: { ...result.data, materialization } };
319
- }
320
- /**
321
- * El comando que la invocación va a correr de verdad: el explícito, o el que
322
- * resuelve un alias global.
323
- *
324
- * `aw --doctor` no lleva comando —el alias lo resuelve `planDispatch` más
325
- * tarde—, así que juzgar sólo `parsed.command` dejaba justo a esa superficie
326
- * (la que la spec pinta como «corrélo a ciegas») fuera de la exención de sólo
327
- * lectura y con la bitácora habilitada.
328
- */
329
- function effectiveCommandName(parsed) {
330
- if (parsed.command !== undefined)
331
- return parsed.command;
332
- return resolveGlobalAlias({
333
- command: parsed.command,
334
- flags: parsed.flags,
335
- isTTY: false,
336
- hasHelp: false,
337
- });
338
- }
339
- /**
340
- * Comandos que prometen NO tocar el disco de la persona, ni siquiera su bitácora.
341
- *
342
- * `doctor` está acá porque su contrato es exactamente ese: la fase diagnóstica se
343
- * corre a ciegas y no deja rastro. Con el logger habilitado, cada `aw doctor`
344
- * creaba `~/.workflow/logs/` y le anexaba la invocación y el resultado, así que
345
- * la promesa era falsa en la superficie real aunque ningún proveedor escribiera.
346
- *
347
- * Pero la exención es del INFORME, no del comando: `doctor apply` reescribe la
348
- * configuración de los hosts y corre programas, y `doctor prepare` es el paso que
349
- * produce el digest que autoriza eso. Eximirlos por compartir el nombre dejaba sin
350
- * rastro justamente las dos invocaciones que hay que poder auditar después. Por
351
- * eso el subverbo cuenta: exento cuando `aw doctor` se corre a secas, registrado
352
- * en cuanto hay uno.
353
- */
354
- function isStrictReadCommand(parsed) {
355
- const command = effectiveCommandName(parsed);
356
- // `host-memory` reads other hosts' private memory: its trace stays out of the log too.
357
- if (command === "status" || command === "resume" || command === "host-memory")
358
- return true;
359
- return command === "doctor" && parsed.rest.length === 0;
360
- }
361
- function emit(result, command, mode, adopted) {
362
- if (result.suppressOutput)
363
- return;
364
- // Before anything the command prints: the adoption is the frame its output
365
- // happened in, and it reads as an afterthought underneath a JSON blob.
366
- if (adopted !== undefined && mode.format === "human" && command.renderRawJson === undefined) {
367
- writeStdout(`${adopted}\n`);
38
+ payload = JSON.parse(stdin ?? "");
368
39
  }
369
- if (command.renderRawJson !== undefined) {
370
- writeStdout(command.renderRawJson(result));
371
- return;
40
+ catch {
41
+ // The advisor itself treats an invalid payload as a pass.
372
42
  }
373
- if (result.ok && result.data === undefined) {
374
- // Command already wrote stdout itself (custom rendering); nothing more to emit.
375
- return;
43
+ if (payload?.tool_name !== "Bash" ||
44
+ typeof payload.tool_input?.command !== "string" ||
45
+ !GIT_COMMIT_RE.test(payload.tool_input.command)) {
46
+ process.exitCode = 0;
376
47
  }
377
- if (mode.format === "human") {
378
- const rendered = renderHuman(result, command, mode);
379
- if (rendered !== undefined) {
380
- writeStdout(rendered);
381
- return;
382
- }
48
+ else {
49
+ cacheHookStdin(stdin);
50
+ if (await scopedWorkspaceVisible())
51
+ await import("./full-cli.js");
383
52
  }
384
- emitJson(result);
385
53
  }
386
- /**
387
- * Human projection, or `undefined` when the command declares none — in which
388
- * case the runtime keeps JSON. Success and failure are kept together on
389
- * purpose: a command that renders prose on error but JSON on success would be
390
- * incoherent to read and to script against.
391
- */
392
- function renderHuman(result, command, mode) {
393
- if (command.renderHuman === undefined)
394
- return undefined;
395
- if (!result.ok)
396
- return renderHumanError(result.error, result.data);
397
- return command.renderHuman(result, { detail: mode.detail });
54
+ else if (scoped) {
55
+ if (await scopedWorkspaceVisible())
56
+ await import("./full-cli.js");
398
57
  }
399
- function emitJson(result) {
400
- if (result.ok) {
401
- writeStdout(renderRaw(result.data));
402
- return;
403
- }
404
- const payload = {
405
- ok: result.ok,
406
- error: redactErrorEnvelope(result.error ?? { code: "UNKNOWN", message: "el comando falló sin detallar la causa" }),
407
- };
408
- if (result.data !== undefined)
409
- payload.data = redactSensitiveValue(result.data);
410
- writeStdout(renderRaw(payload));
58
+ else {
59
+ // sql-mutation-guard protects user-level connections, even without a workspace.
60
+ await import("./full-cli.js");
411
61
  }
412
- async function dispatchMenuAction(action, registry) {
413
- switch (action) {
414
- case "doctor":
415
- return await run(["self", "doctor"]);
416
- case "install-skill":
417
- return await run(["self", "install-skill", "--force"]);
418
- case "mcp":
419
- return await run(["self", "mcp"]);
420
- case "update":
421
- // The TUI menu selection is already the confirmation; --yes
422
- // suppresses the redundant inquirer prompt (which also races with
423
- // ink's stdin teardown and can phantom-cancel).
424
- return await run(["self", "update", "--yes"]);
425
- case "workspace-init": {
426
- // The fallback pre-materializes the current implicit root. Source
427
- // configuration remains the Project tab's explicit secondary action.
428
- return await run(["workspace-init"]);
429
- }
430
- case "help":
431
- printHelp(registry.list());
432
- return 0;
433
- case "exit":
434
- return 0;
435
- }
436
- }
437
- function printHelp(commands) {
438
- const lines = [
439
- "agent-workflow — Workline runtime CLI (session lifecycle)",
440
- "",
441
- "Usage:",
442
- " agent-workflow [--namespace <name>]",
443
- " [--plugin-root <path>] [--plugin-version <semver>] [--compat <range>]",
444
- " <command> [args...]",
445
- "",
446
- "Namespace resolution order: --namespace flag > AW_NAMESPACE env > nearest",
447
- "ancestor marker (.<ns>/sessions/) > ~/.config/agent-workflow/namespace >",
448
- `default '${DEFAULT_NAMESPACE}'. Without a marker, the invoked directory is the`,
449
- "implicit root; new workspaces materialize .<namespace>/sessions/ on first write.",
450
- "",
451
- "Commands:",
452
- "",
453
- ...renderGroupedCommandLines(commands, commandDescribes()),
454
- "",
455
- "Aliases:",
456
- " aw short alias of `agent-workflow`",
457
- "",
458
- ];
459
- writeStdout(`${lines.join("\n")}\n`);
460
- }
461
- function printCommandHelp(command) {
462
- writeStdout(`${commandHelpText(command)}\n`);
463
- }
464
- // Do not force-exit after writing JSON: a piped 4 MiB tool response may still
465
- // be draining under stdout backpressure. `exitCode` preserves the contract
466
- // while allowing Node to flush stdio naturally.
467
- void run(process.argv.slice(2))
468
- .then((code) => {
469
- process.exitCode = code;
470
- })
471
- .catch(() => {
472
- const argv = process.argv.slice(2);
473
- if (looksLikeMcpStdioInvocation(argv)) {
474
- process.stderr.write("aw mcp: el servidor stdio no pudo iniciar\n");
475
- process.exitCode = 2;
476
- return;
477
- }
478
- if (looksLikeToolInvocation(argv)) {
479
- emitToolEarlyFailure("TOOL_RUNTIME_FAILED", "La tool no pudo preparar su entorno.");
480
- process.exitCode = 1;
481
- return;
482
- }
483
- process.stderr.write("agent-workflow: fallo fatal no recuperable\n");
484
- process.exitCode = 1;
485
- });
486
62
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  const OUTPUT_FORMATS = ["human", "json"];
2
- export function resolveOutputMode(args, isTTY) {
2
+ /** The environment variable that turns the ASCII mark on for every invocation. */
3
+ export const ASCII_ENV = "AW_ASCII";
4
+ export function resolveOutputMode(args, isTTY, asciiEnv) {
3
5
  const declared = readDeclaredFormat(args);
4
6
  if (!declared.ok)
5
7
  return declared;
@@ -10,8 +12,15 @@ export function resolveOutputMode(args, isTTY) {
10
12
  message: "--detail solo aplica a la salida humana: el modelo JSON ya es completo",
11
13
  };
12
14
  }
15
+ const asciiFlag = args.flags.has("--ascii");
16
+ if (asciiFlag && declared.format === "json") {
17
+ return {
18
+ ok: false,
19
+ message: "--ascii solo aplica a la salida humana: el modelo JSON no se translitera",
20
+ };
21
+ }
13
22
  const format = declared.format ?? (detail || isTTY ? "human" : "json");
14
- return { ok: true, mode: { format, detail } };
23
+ return { ok: true, mode: { format, detail, ascii: asciiFlag || asciiEnv === "1" } };
15
24
  }
16
25
  /**
17
26
  * The format the invocation *declares*, or none. Contradictions fail here
@@ -1 +1 @@
1
- {"version":3,"file":"output-mode.js","sourceRoot":"","sources":["../../src/cli/output-mode.ts"],"names":[],"mappings":"AAiCA,MAAM,cAAc,GAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAE5D,MAAM,UAAU,iBAAiB,CAAC,IAAgB,EAAE,KAAc;IAChE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAElC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACzC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,wEAAwE;SAClF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;AAChD,CAAC;AAID;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAgB;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEtC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,wCAAwC,GAAG,IAAI,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,IAAI,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,GAAG,oBAAoB,EAAE,CAAC;IACvF,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"output-mode.js","sourceRoot":"","sources":["../../src/cli/output-mode.ts"],"names":[],"mappings":"AAyCA,MAAM,cAAc,GAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAE5D,kFAAkF;AAClF,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;AAEpC,MAAM,UAAU,iBAAiB,CAC/B,IAAgB,EAChB,KAAc,EACd,QAAiB;IAEjB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAElC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACzC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,wEAAwE;SAClF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,0EAA0E;SACpF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,IAAI,QAAQ,KAAK,GAAG,EAAE,EAAE,CAAC;AACtF,CAAC;AAID;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAgB;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEtC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,wCAAwC,GAAG,IAAI,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,IAAI,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,GAAG,oBAAoB,EAAE,CAAC;IACvF,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC"}