rafcode 3.0.0 → 3.8.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.
- package/.claude/settings.local.json +3 -1
- package/CLAUDE.md +0 -1
- package/RAF/38-dual-wielder/decisions.md +9 -0
- package/RAF/38-dual-wielder/input.md +6 -1
- package/RAF/38-dual-wielder/outcomes/8-e2e-test-codex-provider.md +139 -0
- package/RAF/38-dual-wielder/plans/8-e2e-test-codex-provider.md +95 -0
- package/RAF/39-pathless-rover/decisions.md +16 -0
- package/RAF/39-pathless-rover/input.md +2 -0
- package/RAF/39-pathless-rover/outcomes/1-fix-codex-stream-renderer.md +21 -0
- package/RAF/39-pathless-rover/outcomes/2-wire-provider-flag.md +28 -0
- package/RAF/39-pathless-rover/outcomes/3-remove-worktree-flag-do.md +41 -0
- package/RAF/39-pathless-rover/outcomes/4-remove-worktree-flag-plan-amend.md +30 -0
- package/RAF/39-pathless-rover/outcomes/5-update-prompts-and-docs.md +26 -0
- package/RAF/39-pathless-rover/plans/1-fix-codex-stream-renderer.md +43 -0
- package/RAF/39-pathless-rover/plans/2-wire-provider-flag.md +48 -0
- package/RAF/39-pathless-rover/plans/3-remove-worktree-flag-do.md +41 -0
- package/RAF/39-pathless-rover/plans/4-remove-worktree-flag-plan-amend.md +43 -0
- package/RAF/39-pathless-rover/plans/5-update-prompts-and-docs.md +31 -0
- package/RAF/40-numeric-order-fix/decisions.md +7 -0
- package/RAF/40-numeric-order-fix/input.md +19 -0
- package/RAF/40-numeric-order-fix/outcomes/1-fix-numeric-sort-order.md +18 -0
- package/RAF/40-numeric-order-fix/outcomes/2-add-npm-keywords.md +10 -0
- package/RAF/40-numeric-order-fix/plans/1-fix-numeric-sort-order.md +48 -0
- package/RAF/40-numeric-order-fix/plans/2-add-npm-keywords.md +23 -0
- package/RAF/41-echo-chamber/decisions.md +13 -0
- package/RAF/41-echo-chamber/input.md +4 -0
- package/RAF/41-echo-chamber/outcomes/1-update-codex-model-defaults.md +24 -0
- package/RAF/41-echo-chamber/outcomes/2-e2e-test-codex-provider.md +74 -0
- package/RAF/41-echo-chamber/plans/1-update-codex-model-defaults.md +28 -0
- package/RAF/41-echo-chamber/plans/2-e2e-test-codex-provider.md +103 -0
- package/RAF/42-patch-parade/decisions.md +29 -0
- package/RAF/42-patch-parade/input.md +9 -0
- package/RAF/42-patch-parade/outcomes/1-fix-codex-model-resolution.md +36 -0
- package/RAF/42-patch-parade/outcomes/2-fix-provider-aware-name-generation.md +31 -0
- package/RAF/42-patch-parade/outcomes/3-fix-codex-error-event-rendering.md +32 -0
- package/RAF/42-patch-parade/outcomes/4-update-cli-help-docs.md +28 -0
- package/RAF/42-patch-parade/outcomes/5-update-default-codex-models-to-gpt-5-4.md +33 -0
- package/RAF/42-patch-parade/outcomes/6-unify-model-config-schema.md +89 -0
- package/RAF/42-patch-parade/plans/1-fix-codex-model-resolution.md +35 -0
- package/RAF/42-patch-parade/plans/2-fix-provider-aware-name-generation.md +38 -0
- package/RAF/42-patch-parade/plans/3-fix-codex-error-event-rendering.md +32 -0
- package/RAF/42-patch-parade/plans/4-update-cli-help-docs.md +31 -0
- package/RAF/42-patch-parade/plans/5-update-default-codex-models-to-gpt-5-4.md +35 -0
- package/RAF/42-patch-parade/plans/6-unify-model-config-schema.md +46 -0
- package/RAF/43-swiss-army/decisions.md +34 -0
- package/RAF/43-swiss-army/input.md +7 -0
- package/RAF/43-swiss-army/outcomes/1-fix-model-validation.md +21 -0
- package/RAF/43-swiss-army/outcomes/2-update-commit-format.md +31 -0
- package/RAF/43-swiss-army/outcomes/3-wire-reasoning-effort.md +28 -0
- package/RAF/43-swiss-army/outcomes/4-remove-provider-flag.md +27 -0
- package/RAF/43-swiss-army/outcomes/5-config-wizard-validation.md +23 -0
- package/RAF/43-swiss-army/outcomes/6-add-fast-mode.md +32 -0
- package/RAF/43-swiss-army/outcomes/7-config-preset.md +31 -0
- package/RAF/43-swiss-army/plans/1-fix-model-validation.md +38 -0
- package/RAF/43-swiss-army/plans/2-update-commit-format.md +46 -0
- package/RAF/43-swiss-army/plans/3-wire-reasoning-effort.md +39 -0
- package/RAF/43-swiss-army/plans/4-remove-provider-flag.md +43 -0
- package/RAF/43-swiss-army/plans/5-config-wizard-validation.md +42 -0
- package/RAF/43-swiss-army/plans/6-add-fast-mode.md +46 -0
- package/RAF/43-swiss-army/plans/7-config-preset.md +51 -0
- package/RAF/44-config-api-change/decisions.md +22 -0
- package/RAF/44-config-api-change/input.md +5 -0
- package/RAF/44-config-api-change/outcomes/1-restructure-config-subcommands.md +19 -0
- package/RAF/44-config-api-change/outcomes/2-move-preset-under-config.md +17 -0
- package/RAF/44-config-api-change/outcomes/3-update-existing-tests-for-config-api.md +14 -0
- package/RAF/44-config-api-change/outcomes/4-update-config-command-docs.md +11 -0
- package/RAF/44-config-api-change/outcomes/5-fix-codex-name-generation.md +18 -0
- package/RAF/44-config-api-change/plans/1-restructure-config-subcommands.md +37 -0
- package/RAF/44-config-api-change/plans/2-move-preset-under-config.md +38 -0
- package/RAF/44-config-api-change/plans/3-update-existing-tests-for-config-api.md +38 -0
- package/RAF/44-config-api-change/plans/4-update-config-command-docs.md +36 -0
- package/RAF/44-config-api-change/plans/5-fix-codex-name-generation.md +49 -0
- package/RAF/45-signal-cairn/decisions.md +7 -0
- package/RAF/45-signal-cairn/input.md +2 -0
- package/RAF/45-signal-cairn/outcomes/1-rename-provider-to-harness.md +19 -0
- package/RAF/45-signal-cairn/outcomes/2-normalize-model-display-names.md +18 -0
- package/RAF/45-signal-cairn/plans/1-rename-provider-to-harness.md +40 -0
- package/RAF/45-signal-cairn/plans/2-normalize-model-display-names.md +41 -0
- package/RAF/45-signal-lantern/decisions.md +10 -0
- package/RAF/45-signal-lantern/input.md +2 -0
- package/RAF/45-signal-lantern/outcomes/1-add-effort-and-fast-to-do-model-display.md +15 -0
- package/RAF/45-signal-lantern/outcomes/2-capture-codex-post-run-token-usage.md +15 -0
- package/RAF/45-signal-lantern/outcomes/3-show-codex-token-summaries-without-fake-cost.md +14 -0
- package/RAF/45-signal-lantern/plans/1-add-effort-and-fast-to-do-model-display.md +38 -0
- package/RAF/45-signal-lantern/plans/2-capture-codex-post-run-token-usage.md +37 -0
- package/RAF/45-signal-lantern/plans/3-show-codex-token-summaries-without-fake-cost.md +40 -0
- package/RAF/46-lantern-arc/decisions.md +19 -0
- package/RAF/46-lantern-arc/input.md +6 -0
- package/RAF/46-lantern-arc/outcomes/1-remove-spark-alias.md +16 -0
- package/RAF/46-lantern-arc/outcomes/2-clean-up-worktree-plan-command.md +30 -0
- package/RAF/46-lantern-arc/outcomes/3-fix-token-usage-accumulation.md +32 -0
- package/RAF/46-lantern-arc/outcomes/4-display-effort-in-compact-mode.md +22 -0
- package/RAF/46-lantern-arc/outcomes/5-codex-fast-mode-research.md +38 -0
- package/RAF/46-lantern-arc/outcomes/6-optimize-llm-prompts.md +39 -0
- package/RAF/46-lantern-arc/plans/1-remove-spark-alias.md +38 -0
- package/RAF/46-lantern-arc/plans/2-clean-up-worktree-plan-command.md +33 -0
- package/RAF/46-lantern-arc/plans/3-fix-token-usage-accumulation.md +33 -0
- package/RAF/46-lantern-arc/plans/4-display-effort-in-compact-mode.md +28 -0
- package/RAF/46-lantern-arc/plans/5-codex-fast-mode-research.md +34 -0
- package/RAF/46-lantern-arc/plans/6-optimize-llm-prompts.md +48 -0
- package/RAF/47-signal-trim/decisions.md +13 -0
- package/RAF/47-signal-trim/input.md +2 -0
- package/RAF/47-signal-trim/plans/1-remove-cache-from-status.md +73 -0
- package/README.md +50 -63
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +47 -49
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/do.d.ts +2 -0
- package/dist/commands/do.d.ts.map +1 -1
- package/dist/commands/do.js +91 -230
- package/dist/commands/do.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +54 -259
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/preset.d.ts +3 -0
- package/dist/commands/preset.d.ts.map +1 -0
- package/dist/commands/preset.js +158 -0
- package/dist/commands/preset.js.map +1 -0
- package/dist/core/claude-runner.d.ts +2 -0
- package/dist/core/claude-runner.d.ts.map +1 -1
- package/dist/core/claude-runner.js +36 -12
- package/dist/core/claude-runner.js.map +1 -1
- package/dist/core/codex-runner.d.ts +1 -0
- package/dist/core/codex-runner.d.ts.map +1 -1
- package/dist/core/codex-runner.js +26 -7
- package/dist/core/codex-runner.js.map +1 -1
- package/dist/core/failure-analyzer.js +2 -1
- package/dist/core/failure-analyzer.js.map +1 -1
- package/dist/core/git.d.ts +2 -2
- package/dist/core/git.d.ts.map +1 -1
- package/dist/core/git.js +53 -3
- package/dist/core/git.js.map +1 -1
- package/dist/core/project-manager.d.ts.map +1 -1
- package/dist/core/project-manager.js +2 -2
- package/dist/core/project-manager.js.map +1 -1
- package/dist/core/pull-request.js +5 -5
- package/dist/core/pull-request.js.map +1 -1
- package/dist/core/runner-factory.d.ts +4 -4
- package/dist/core/runner-factory.d.ts.map +1 -1
- package/dist/core/runner-factory.js +8 -8
- package/dist/core/runner-factory.js.map +1 -1
- package/dist/core/runner-interface.d.ts +1 -1
- package/dist/core/runner-types.d.ts +17 -4
- package/dist/core/runner-types.d.ts.map +1 -1
- package/dist/core/state-derivation.js +3 -3
- package/dist/core/state-derivation.js.map +1 -1
- package/dist/parsers/codex-stream-renderer.d.ts +28 -4
- package/dist/parsers/codex-stream-renderer.d.ts.map +1 -1
- package/dist/parsers/codex-stream-renderer.js +110 -0
- package/dist/parsers/codex-stream-renderer.js.map +1 -1
- package/dist/prompts/amend.d.ts +0 -1
- package/dist/prompts/amend.d.ts.map +1 -1
- package/dist/prompts/amend.js +31 -104
- package/dist/prompts/amend.js.map +1 -1
- package/dist/prompts/execution.d.ts.map +1 -1
- package/dist/prompts/execution.js +17 -34
- package/dist/prompts/execution.js.map +1 -1
- package/dist/prompts/planning.d.ts.map +1 -1
- package/dist/prompts/planning.js +23 -123
- package/dist/prompts/planning.js.map +1 -1
- package/dist/types/config.d.ts +33 -32
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +14 -28
- package/dist/types/config.js.map +1 -1
- package/dist/utils/config.d.ts +36 -16
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +209 -104
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/name-generator.d.ts.map +1 -1
- package/dist/utils/name-generator.js +25 -12
- package/dist/utils/name-generator.js.map +1 -1
- package/dist/utils/paths.d.ts +5 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +9 -0
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/terminal-symbols.d.ts +15 -2
- package/dist/utils/terminal-symbols.d.ts.map +1 -1
- package/dist/utils/terminal-symbols.js +36 -4
- package/dist/utils/terminal-symbols.js.map +1 -1
- package/dist/utils/token-tracker.d.ts +6 -1
- package/dist/utils/token-tracker.d.ts.map +1 -1
- package/dist/utils/token-tracker.js +84 -51
- package/dist/utils/token-tracker.js.map +1 -1
- package/dist/utils/validation.d.ts +1 -2
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +4 -25
- package/dist/utils/validation.js.map +1 -1
- package/package.json +7 -2
- package/src/commands/config.ts +60 -63
- package/src/commands/do.ts +96 -262
- package/src/commands/plan.ts +55 -279
- package/src/commands/preset.ts +186 -0
- package/src/core/claude-runner.ts +45 -5
- package/src/core/codex-runner.ts +32 -7
- package/src/core/failure-analyzer.ts +2 -1
- package/src/core/git.ts +57 -3
- package/src/core/project-manager.ts +2 -1
- package/src/core/pull-request.ts +5 -5
- package/src/core/runner-factory.ts +9 -9
- package/src/core/runner-interface.ts +1 -1
- package/src/core/runner-types.ts +17 -4
- package/src/core/state-derivation.ts +3 -3
- package/src/parsers/codex-stream-renderer.ts +149 -4
- package/src/prompts/amend.ts +30 -105
- package/src/prompts/config-docs.md +206 -62
- package/src/prompts/execution.ts +17 -34
- package/src/prompts/planning.ts +23 -124
- package/src/types/config.ts +47 -59
- package/src/utils/config.ts +248 -115
- package/src/utils/name-generator.ts +29 -13
- package/src/utils/paths.ts +10 -0
- package/src/utils/terminal-symbols.ts +46 -6
- package/src/utils/token-tracker.ts +96 -57
- package/src/utils/validation.ts +5 -30
- package/tests/unit/amend-prompt.test.ts +3 -2
- package/tests/unit/claude-runner-interactive.test.ts +21 -3
- package/tests/unit/claude-runner.test.ts +39 -0
- package/tests/unit/codex-runner.test.ts +163 -0
- package/tests/unit/codex-stream-renderer.test.ts +127 -0
- package/tests/unit/command-output.test.ts +57 -0
- package/tests/unit/commit-planning-artifacts-worktree.test.ts +24 -7
- package/tests/unit/commit-planning-artifacts.test.ts +26 -4
- package/tests/unit/config-command.test.ts +215 -303
- package/tests/unit/config.test.ts +319 -235
- package/tests/unit/dependency-integration.test.ts +27 -1
- package/tests/unit/do-model-display.test.ts +35 -0
- package/tests/unit/execution-prompt.test.ts +49 -19
- package/tests/unit/name-generator.test.ts +82 -12
- package/tests/unit/plan-command-auto-flag.test.ts +7 -10
- package/tests/unit/plan-command.test.ts +14 -17
- package/tests/unit/planning-prompt.test.ts +9 -8
- package/tests/unit/terminal-symbols.test.ts +94 -3
- package/tests/unit/token-tracker.test.ts +180 -1
- package/tests/unit/validation.test.ts +9 -41
- package/tests/unit/worktree-flag-override.test.ts +0 -186
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,+BAA+B,EAC/B,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;;GAGG;AACH,SAAS,cAAc;IACrB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,mEAAmE;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACtF,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,qFAAqF,GAAG,UAAU,CAAC;IAC5G,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,wBAAwB,UAAU,mBAAmB,OAAO,QAAQ,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,4CAA4C,GAAG,UAAU,CAAC;IACnE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,UAAkB,EAAE,WAAmB;IACtE,OAAO;QACL,wDAAwD;QACxD,oEAAoE;QACpE,EAAE;QACF,wBAAwB;QACxB,WAAW;QACX,EAAE;QACF,wBAAwB;QACxB,UAAU;KACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAE/C,+BAA+B;QAC/B,MAAM,UAAU,GAAG,MAAiC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;QACtG,CAAC;aAAM,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;QACtG,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,OAAO,CAAC,OAAe;IACpC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YAC9B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,sDAAsD;AAEtD;;;GAGG;AACH,SAAS,cAAc,CAAC,GAAY,EAAE,OAAe;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,OAAO,GAAY,GAAG,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,GAA4B,EAAE,OAAe,EAAE,KAAc;IACnF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,OAAO,GAA4B,GAAG,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAA4B,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACvC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAA4B,EAAE,OAAe;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEhC,wCAAwC;IACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,GAA4B,GAAG,CAAC;IAC3C,MAAM,IAAI,GAAyD,EAAE,CAAC;IAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEjC,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAO,CAAC,qBAAqB;QAC/B,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAA4B,CAAC;IACpD,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAExB,yBAAyB;IACzB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAA4B,CAAC;QAClD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,qCAAqC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,6CAA6C;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,oCAAoC;AAEpC;;GAEG;AACH,SAAS,SAAS,CAAC,GAAY;IAC7B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,GAAW,EAAE,QAAgB;IAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,iDAAiD;IACjD,IAAI,UAAU,GAAe,EAAE,CAAC;IAChC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAE1C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kCAAkC;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAE3E,IAAI,WAAW,EAAE,CAAC;QAChB,gDAAgD;QAChD,iBAAiB,CAAC,UAAqC,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,mCAAmC,GAAG,cAAc,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,gBAAgB;QAChB,cAAc,CAAC,UAAqC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,gCAAgC;IAChC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,+BAA+B,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,6BAA6B;IAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,mCAAmC;QACnC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;SAClC,WAAW,CAAC,+EAA+E,CAAC;SAC5F,MAAM,CAAC;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,UAAU,CACT,IAAI,OAAO,CAAC,KAAK,CAAC;SACf,WAAW,CAAC,8DAA8D,CAAC;SAC3E,QAAQ,CAAC,OAAO,EAAE,mCAAmC,CAAC;SACtD,MAAM,CAAC,CAAC,GAAY,EAAE,EAAE;QACvB,SAAS,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC,CACL;SACA,UAAU,CACT,IAAI,OAAO,CAAC,KAAK,CAAC;SACf,WAAW,CAAC,+CAA+C,CAAC;SAC5D,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;SAC9C,QAAQ,CAAC,SAAS,EAAE,8CAA8C,CAAC;SACnE,MAAM,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;QACrC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CACL;SACA,UAAU,CACT,IAAI,OAAO,CAAC,OAAO,CAAC;SACjB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC,CAAC,CACL;SACA,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;SAClB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,QAAQ,CAAC,aAAa,EAAE,gDAAgD,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,WAAqB,EAAE,EAAE;QACtC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,MAAM,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC,CAAC,CACL;SACA,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAErC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,oFAAoF,CACrF,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC1B,MAAM,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC;AAC5E,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,aAAsB;IACpD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,+DAA+D;IAC/D,uEAAuE;IACvE,IAAI,UAAmD,CAAC;IACxD,IAAI,WAAW,GAAiB,IAAI,CAAC;IAErC,IAAI,CAAC;QACH,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2EAA2E;QAC3E,WAAW,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxE,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1C,yEAAyE;QACzE,gBAAgB,EAAE,CAAC;IACrB,CAAC;IAED,8DAA8D;IAC9D,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,2CAA2C,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACxF,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,mBAAmB;IACnB,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,cAAc,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sBAAsB;IACtB,MAAM,WAAW,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,uBAAuB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEtE,qBAAqB;IACrB,MAAM,WAAW,GAAG,aAAa;WAC5B,qDAAqD,CAAC;IAE3D,gBAAgB;IAChB,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAChK,eAAe,CAAC,IAAI,EAAE,CAAC;IACvB,eAAe,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,CAAC,IAAI,CAAC,gCAAgC,WAAW,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,EAAE,CAAC;IAEjB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,YAAY,EAAE,WAAW,EAAE;YAC5E,0BAA0B,EAAE,IAAI;SACjC,CAAC,CAAC;QAEH,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,0BAA0B;QAC1B,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/commands/do.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import type { ModelEntry } from '../types/config.js';
|
|
2
3
|
/**
|
|
3
4
|
* Post-execution action chosen by the user before task execution begins.
|
|
4
5
|
* - 'merge': merge the worktree branch into the original branch
|
|
@@ -15,6 +16,7 @@ export declare function formatRetryHistoryForConsole(taskId: string, taskName: s
|
|
|
15
16
|
attempt: number;
|
|
16
17
|
reason: string;
|
|
17
18
|
}>, finalAttempt: number, success: boolean): string;
|
|
19
|
+
export declare function formatResolvedTaskModel(entry: ModelEntry): string;
|
|
18
20
|
export declare function createDoCommand(): Command;
|
|
19
21
|
/**
|
|
20
22
|
* Show an interactive picker for the post-execution action in worktree mode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"do.d.ts","sourceRoot":"","sources":["../../src/commands/do.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"do.d.ts","sourceRoot":"","sources":["../../src/commands/do.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqDpC,OAAO,KAAK,EAAoB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC;AA2E3D;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1D,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,MAAM,CAkBR;AA0BD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAKjE;AAED,wBAAgB,eAAe,IAAI,OAAO,CAczC;AA0ND;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAuBhG"}
|
package/dist/commands/do.js
CHANGED
|
@@ -8,20 +8,20 @@ import { shutdownHandler } from '../core/shutdown-handler.js';
|
|
|
8
8
|
import { stashChanges, hasUncommittedChanges, isGitRepo, getHeadCommitHash } from '../core/git.js';
|
|
9
9
|
import { getExecutionPrompt } from '../prompts/execution.js';
|
|
10
10
|
import { parseOutput, isRetryableFailure } from '../parsers/output-parser.js';
|
|
11
|
-
import { validatePlansExist
|
|
11
|
+
import { validatePlansExist } from '../utils/validation.js';
|
|
12
12
|
import { getRafDir, extractProjectNumber, extractProjectName, extractTaskNameFromPlanFile, resolveProjectIdentifierWithDetails, getOutcomeFilePath } from '../utils/paths.js';
|
|
13
|
-
import { pickPendingProject, getPendingProjects, getPendingWorktreeProjects
|
|
13
|
+
import { pickPendingProject, getPendingProjects, getPendingWorktreeProjects } from '../ui/project-picker.js';
|
|
14
14
|
import { logger } from '../utils/logger.js';
|
|
15
|
-
import {
|
|
15
|
+
import { formatModelDisplay, getConfig, getModel, getSyncMainBranch, resolveEffortToModel, applyModelCeiling, getShowCacheTokens, parseModelSpec, resolveFullModelId } from '../utils/config.js';
|
|
16
16
|
import { getVersion } from '../utils/version.js';
|
|
17
17
|
import { createTaskTimer, formatElapsedTime } from '../utils/timer.js';
|
|
18
18
|
import { createStatusLine } from '../utils/status-line.js';
|
|
19
|
-
import { formatProjectHeader, formatSummary, formatTaskProgress, formatTaskTokenSummary, formatTokenTotalSummary, } from '../utils/terminal-symbols.js';
|
|
19
|
+
import { formatProjectHeader, formatModelMetadata, formatSummary, formatTaskProgress, formatTaskTokenSummary, formatTokenTotalSummary, } from '../utils/terminal-symbols.js';
|
|
20
20
|
import { TokenTracker } from '../utils/token-tracker.js';
|
|
21
21
|
import { VerboseToggle } from '../utils/verbose-toggle.js';
|
|
22
|
-
import { deriveProjectState,
|
|
22
|
+
import { deriveProjectState, getNextExecutableTask, getDerivedStats, getDerivedStatsForTasks, isProjectComplete, hasProjectFailed, parseOutcomeStatus, } from '../core/state-derivation.js';
|
|
23
23
|
import { analyzeFailure } from '../core/failure-analyzer.js';
|
|
24
|
-
import { getRepoRoot, getRepoBasename, getCurrentBranch,
|
|
24
|
+
import { getRepoRoot, getRepoBasename, getCurrentBranch, mergeWorktreeBranch, removeWorktree, resolveWorktreeProjectByIdentifier, pushMainBranch, pullMainBranch, detectMainBranch, rebaseOntoMain, } from '../core/worktree.js';
|
|
25
25
|
import { createPullRequest, prPreflight } from '../core/pull-request.js';
|
|
26
26
|
/**
|
|
27
27
|
* Resolve the execution model for a task from its frontmatter metadata.
|
|
@@ -33,37 +33,42 @@ import { createPullRequest, prPreflight } from '../core/pull-request.js';
|
|
|
33
33
|
*
|
|
34
34
|
* @param frontmatter - Parsed frontmatter from the plan file
|
|
35
35
|
* @param frontmatterWarnings - Warnings from frontmatter parsing
|
|
36
|
-
* @param
|
|
36
|
+
* @param ceilingEntry - The ceiling model entry (usually models.execute from config)
|
|
37
37
|
* @param isRetry - Whether this is a retry attempt (escalates to ceiling)
|
|
38
38
|
*/
|
|
39
|
-
function resolveTaskModel(frontmatter, frontmatterWarnings,
|
|
39
|
+
function resolveTaskModel(frontmatter, frontmatterWarnings, ceilingEntry, isRetry) {
|
|
40
40
|
const warnings = frontmatterWarnings ? [...frontmatterWarnings] : [];
|
|
41
41
|
// Retry escalation: always use the ceiling model on retry
|
|
42
42
|
if (isRetry) {
|
|
43
|
-
return {
|
|
43
|
+
return { entry: ceilingEntry, missingFrontmatter: false, warnings };
|
|
44
44
|
}
|
|
45
45
|
// No frontmatter - fallback to ceiling with warning
|
|
46
46
|
if (!frontmatter) {
|
|
47
47
|
return {
|
|
48
|
-
|
|
48
|
+
entry: ceilingEntry,
|
|
49
49
|
missingFrontmatter: true,
|
|
50
50
|
warnings,
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
// Explicit model in frontmatter - apply ceiling
|
|
54
54
|
if (frontmatter.model) {
|
|
55
|
-
const
|
|
56
|
-
|
|
55
|
+
const parsed = parseModelSpec(frontmatter.model);
|
|
56
|
+
const fmEntry = {
|
|
57
|
+
model: parsed.model,
|
|
58
|
+
harness: parsed.harness,
|
|
59
|
+
};
|
|
60
|
+
const result = applyModelCeiling(fmEntry, ceilingEntry);
|
|
61
|
+
return { entry: result, missingFrontmatter: false, warnings };
|
|
57
62
|
}
|
|
58
63
|
// Effort-based resolution - apply ceiling
|
|
59
64
|
if (frontmatter.effort) {
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
return {
|
|
65
|
+
const mappedEntry = resolveEffortToModel(frontmatter.effort);
|
|
66
|
+
const result = applyModelCeiling(mappedEntry, ceilingEntry);
|
|
67
|
+
return { entry: result, missingFrontmatter: false, warnings };
|
|
63
68
|
}
|
|
64
69
|
// Frontmatter present but no effort or model - fallback to ceiling with warning
|
|
65
70
|
return {
|
|
66
|
-
|
|
71
|
+
entry: ceilingEntry,
|
|
67
72
|
missingFrontmatter: true,
|
|
68
73
|
warnings,
|
|
69
74
|
};
|
|
@@ -88,6 +93,12 @@ export function formatRetryHistoryForConsole(taskId, taskName, failureHistory, f
|
|
|
88
93
|
}
|
|
89
94
|
return lines.join('\n');
|
|
90
95
|
}
|
|
96
|
+
export function formatResolvedTaskModel(entry) {
|
|
97
|
+
return formatModelMetadata(resolveFullModelId(entry.model), {
|
|
98
|
+
effort: entry.reasoningEffort,
|
|
99
|
+
fast: entry.fast === true,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
91
102
|
export function createDoCommand() {
|
|
92
103
|
const command = new Command('do')
|
|
93
104
|
.description('Execute planned tasks for a project')
|
|
@@ -97,11 +108,6 @@ export function createDoCommand() {
|
|
|
97
108
|
.option('-v, --verbose', 'Show full LLM output')
|
|
98
109
|
.option('-d, --debug', 'Save all logs and show debug output')
|
|
99
110
|
.option('-f, --force', 'Re-run all tasks regardless of status')
|
|
100
|
-
.option('-m, --model <name>', 'Model to use (sonnet, haiku, opus)')
|
|
101
|
-
.option('--sonnet', 'Use Sonnet model (shorthand for --model sonnet)')
|
|
102
|
-
.option('-w, --worktree', 'Execute tasks in a git worktree')
|
|
103
|
-
.option('--no-worktree', 'Disable worktree mode (overrides config)')
|
|
104
|
-
.option('-p, --provider <provider>', 'CLI provider to use (claude, codex)')
|
|
105
111
|
.action(async (project, options) => {
|
|
106
112
|
await runDoCommand(project, options);
|
|
107
113
|
});
|
|
@@ -110,54 +116,11 @@ export function createDoCommand() {
|
|
|
110
116
|
async function runDoCommand(projectIdentifierArg, options) {
|
|
111
117
|
const rafDir = getRafDir();
|
|
112
118
|
let projectIdentifier = projectIdentifierArg;
|
|
113
|
-
|
|
114
|
-
//
|
|
115
|
-
let model;
|
|
116
|
-
try {
|
|
117
|
-
model = resolveModelOption(options.model, options.sonnet, 'execute');
|
|
118
|
-
}
|
|
119
|
-
catch (error) {
|
|
120
|
-
logger.error(error.message);
|
|
121
|
-
process.exit(1);
|
|
122
|
-
}
|
|
123
|
-
// Variables for worktree context (set when --worktree is used)
|
|
119
|
+
const executeEntry = getModel('execute');
|
|
120
|
+
// Variables for worktree context (derived from where the project is found)
|
|
124
121
|
let worktreeRoot;
|
|
125
122
|
let originalBranch;
|
|
126
123
|
let mainBranchName = null;
|
|
127
|
-
if (worktreeMode) {
|
|
128
|
-
// Validate git repo
|
|
129
|
-
const repoRoot = getRepoRoot();
|
|
130
|
-
if (!repoRoot) {
|
|
131
|
-
logger.error('--worktree requires a git repository');
|
|
132
|
-
process.exit(1);
|
|
133
|
-
}
|
|
134
|
-
const repoBasename = getRepoBasename();
|
|
135
|
-
const rafRelativePath = path.relative(repoRoot, rafDir);
|
|
136
|
-
// Record original branch before any worktree operations
|
|
137
|
-
originalBranch = getCurrentBranch() ?? undefined;
|
|
138
|
-
// Sync main branch before worktree operations (if enabled)
|
|
139
|
-
if (getSyncMainBranch()) {
|
|
140
|
-
const syncResult = pullMainBranch();
|
|
141
|
-
mainBranchName = syncResult.mainBranch;
|
|
142
|
-
if (syncResult.success) {
|
|
143
|
-
if (syncResult.hadChanges) {
|
|
144
|
-
logger.info(`Synced ${syncResult.mainBranch} from remote`);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
logger.warn(`Could not sync main branch: ${syncResult.error}`);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
if (!projectIdentifier) {
|
|
152
|
-
// Auto-discovery flow
|
|
153
|
-
const selected = await discoverAndPickWorktreeProject(repoBasename, rafDir, rafRelativePath);
|
|
154
|
-
if (!selected) {
|
|
155
|
-
process.exit(0);
|
|
156
|
-
}
|
|
157
|
-
worktreeRoot = selected.worktreeRoot;
|
|
158
|
-
projectIdentifier = selected.projectFolder;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
124
|
// Handle no project identifier (non-worktree mode) - show interactive picker
|
|
162
125
|
if (!projectIdentifier) {
|
|
163
126
|
// Discover worktree projects for the current repo (if in a git repo)
|
|
@@ -183,9 +146,8 @@ async function runDoCommand(projectIdentifierArg, options) {
|
|
|
183
146
|
}
|
|
184
147
|
// Use the selected project
|
|
185
148
|
projectIdentifier = selectedProject.folder;
|
|
186
|
-
// If a worktree project was selected,
|
|
149
|
+
// If a worktree project was selected, record worktree context
|
|
187
150
|
if (selectedProject.source === 'worktree' && selectedProject.worktreeRoot) {
|
|
188
|
-
worktreeMode = true;
|
|
189
151
|
worktreeRoot = selectedProject.worktreeRoot;
|
|
190
152
|
originalBranch = getCurrentBranch() ?? undefined;
|
|
191
153
|
}
|
|
@@ -200,83 +162,21 @@ async function runDoCommand(projectIdentifierArg, options) {
|
|
|
200
162
|
}
|
|
201
163
|
// Resolve project identifier
|
|
202
164
|
let resolvedProject;
|
|
203
|
-
if (
|
|
204
|
-
// Worktree
|
|
165
|
+
if (worktreeRoot) {
|
|
166
|
+
// Worktree was set by the picker — resolve project inside the worktree
|
|
205
167
|
const repoRoot = getRepoRoot();
|
|
206
|
-
const repoBasename = getRepoBasename();
|
|
207
168
|
const rafRelativePath = path.relative(repoRoot, rafDir);
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
logger.error(`Project not found in worktree: ${projectIdentifier}`);
|
|
214
|
-
process.exit(1);
|
|
215
|
-
}
|
|
216
|
-
const projectName = extractProjectName(result.path) ?? projectIdentifier;
|
|
217
|
-
resolvedProject = { identifier: projectIdentifier, path: result.path, name: projectName };
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
// Explicit identifier: resolve from main repo to get folder name, then validate worktree
|
|
221
|
-
const mainResult = resolveProjectIdentifierWithDetails(rafDir, projectIdentifier);
|
|
222
|
-
let projectFolderName;
|
|
223
|
-
if (mainResult.path) {
|
|
224
|
-
// Found in main repo - use its folder name
|
|
225
|
-
projectFolderName = path.basename(mainResult.path);
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
// Not found in main repo - try to find it in worktrees directly
|
|
229
|
-
// This handles projects that only exist in worktrees
|
|
230
|
-
const worktreeBaseDir = computeWorktreeBaseDir(repoBasename);
|
|
231
|
-
if (!fs.existsSync(worktreeBaseDir)) {
|
|
232
|
-
logger.error(`No worktree found for project "${projectIdentifier}". Did you plan with --worktree?`);
|
|
233
|
-
process.exit(1);
|
|
234
|
-
}
|
|
235
|
-
// Search worktrees for the project
|
|
236
|
-
const wtProjects = listWorktreeProjects(repoBasename);
|
|
237
|
-
let found = false;
|
|
238
|
-
for (const wtProjectDir of wtProjects) {
|
|
239
|
-
const wtPath = computeWorktreePath(repoBasename, wtProjectDir);
|
|
240
|
-
const wtRafDir = path.join(wtPath, rafRelativePath);
|
|
241
|
-
if (!fs.existsSync(wtRafDir))
|
|
242
|
-
continue;
|
|
243
|
-
const resolution = resolveProjectIdentifierWithDetails(wtRafDir, projectIdentifier);
|
|
244
|
-
if (resolution.path) {
|
|
245
|
-
projectFolderName = path.basename(resolution.path);
|
|
246
|
-
worktreeRoot = wtPath;
|
|
247
|
-
found = true;
|
|
248
|
-
break;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
if (!found) {
|
|
252
|
-
logger.error(`No worktree found for project "${projectIdentifier}". Did you plan with --worktree?`);
|
|
253
|
-
process.exit(1);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
// Compute worktree path if not already set
|
|
257
|
-
if (!worktreeRoot) {
|
|
258
|
-
worktreeRoot = computeWorktreePath(repoBasename, projectFolderName);
|
|
259
|
-
}
|
|
260
|
-
// Validate the worktree
|
|
261
|
-
const wtProjectRelPath = path.join(rafRelativePath, projectFolderName);
|
|
262
|
-
const validation = validateWorktree(worktreeRoot, wtProjectRelPath);
|
|
263
|
-
if (!validation.exists || !validation.isValidWorktree) {
|
|
264
|
-
logger.error(`No worktree found for project "${projectIdentifier}". Did you plan with --worktree?`);
|
|
265
|
-
logger.error(`Expected worktree at: ${worktreeRoot}`);
|
|
266
|
-
process.exit(1);
|
|
267
|
-
}
|
|
268
|
-
if (!validation.hasProjectFolder || !validation.hasPlans) {
|
|
269
|
-
logger.error(`Worktree exists but project content is missing.`);
|
|
270
|
-
logger.error(`Expected project folder at: ${validation.projectPath ?? path.join(worktreeRoot, wtProjectRelPath)}`);
|
|
271
|
-
process.exit(1);
|
|
272
|
-
}
|
|
273
|
-
const projectPath = validation.projectPath;
|
|
274
|
-
const projectName = extractProjectName(projectPath) ?? projectIdentifier;
|
|
275
|
-
resolvedProject = { identifier: projectIdentifier, path: projectPath, name: projectName };
|
|
169
|
+
const wtRafDir = path.join(worktreeRoot, rafRelativePath);
|
|
170
|
+
const result = resolveProjectIdentifierWithDetails(wtRafDir, projectIdentifier);
|
|
171
|
+
if (!result.path) {
|
|
172
|
+
logger.error(`Project not found in worktree: ${projectIdentifier}`);
|
|
173
|
+
process.exit(1);
|
|
276
174
|
}
|
|
175
|
+
const projectName = extractProjectName(result.path) ?? projectIdentifier;
|
|
176
|
+
resolvedProject = { identifier: projectIdentifier, path: result.path, name: projectName };
|
|
277
177
|
}
|
|
278
178
|
else {
|
|
279
|
-
//
|
|
179
|
+
// Auto-detect: check worktrees first (worktree takes priority), then main repo
|
|
280
180
|
const repoRoot = getRepoRoot();
|
|
281
181
|
const repoBasename = repoRoot ? getRepoBasename() : null;
|
|
282
182
|
// Try worktree resolution first (preferred when project exists in both)
|
|
@@ -287,8 +187,6 @@ async function runDoCommand(projectIdentifierArg, options) {
|
|
|
287
187
|
const wtRafDir = path.join(wtResolution.worktreeRoot, rafRelativePath);
|
|
288
188
|
const wtProjectPath = path.join(wtRafDir, wtResolution.folder);
|
|
289
189
|
if (fs.existsSync(wtProjectPath)) {
|
|
290
|
-
// Auto-switch to worktree mode
|
|
291
|
-
worktreeMode = true;
|
|
292
190
|
worktreeRoot = wtResolution.worktreeRoot;
|
|
293
191
|
originalBranch = getCurrentBranch() ?? undefined;
|
|
294
192
|
const projectName = extractProjectName(wtResolution.folder) ?? projectIdentifier;
|
|
@@ -326,9 +224,25 @@ async function runDoCommand(projectIdentifierArg, options) {
|
|
|
326
224
|
const autoCommit = config.autoCommit;
|
|
327
225
|
// Configure logger
|
|
328
226
|
logger.configure({ verbose, debug });
|
|
329
|
-
//
|
|
227
|
+
// Worktree setup: sync main branch and show post-execution picker
|
|
330
228
|
let postAction = 'leave';
|
|
331
|
-
if (
|
|
229
|
+
if (worktreeRoot) {
|
|
230
|
+
if (!originalBranch) {
|
|
231
|
+
originalBranch = getCurrentBranch() ?? undefined;
|
|
232
|
+
}
|
|
233
|
+
// Sync main branch before worktree operations (if enabled)
|
|
234
|
+
if (getSyncMainBranch()) {
|
|
235
|
+
const syncResult = pullMainBranch();
|
|
236
|
+
mainBranchName = syncResult.mainBranch;
|
|
237
|
+
if (syncResult.success) {
|
|
238
|
+
if (syncResult.hadChanges) {
|
|
239
|
+
logger.info(`Synced ${syncResult.mainBranch} from remote`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
logger.warn(`Could not sync main branch: ${syncResult.error}`);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
332
246
|
try {
|
|
333
247
|
postAction = await pickPostExecutionAction(worktreeRoot);
|
|
334
248
|
}
|
|
@@ -364,7 +278,7 @@ async function runDoCommand(projectIdentifierArg, options) {
|
|
|
364
278
|
force,
|
|
365
279
|
maxRetries,
|
|
366
280
|
autoCommit,
|
|
367
|
-
|
|
281
|
+
executeEntry,
|
|
368
282
|
worktreeCwd: worktreeRoot,
|
|
369
283
|
});
|
|
370
284
|
}
|
|
@@ -374,7 +288,7 @@ async function runDoCommand(projectIdentifierArg, options) {
|
|
|
374
288
|
process.exit(1);
|
|
375
289
|
}
|
|
376
290
|
// Execute post-execution action based on picker choice
|
|
377
|
-
if (
|
|
291
|
+
if (worktreeRoot) {
|
|
378
292
|
const worktreeBranch = path.basename(worktreeRoot);
|
|
379
293
|
if (result.success) {
|
|
380
294
|
await executePostAction(postAction, worktreeRoot, worktreeBranch, originalBranch, resolvedProject.path);
|
|
@@ -497,75 +411,8 @@ async function executePostAction(action, worktreeRoot, worktreeBranch, originalB
|
|
|
497
411
|
}
|
|
498
412
|
}
|
|
499
413
|
}
|
|
500
|
-
/**
|
|
501
|
-
* Auto-discovery flow for `raf do --worktree` without a project identifier.
|
|
502
|
-
* Shows both worktree AND main-repo pending projects in an interactive picker.
|
|
503
|
-
* Worktree projects above a threshold filter are included; main-repo projects
|
|
504
|
-
* are always included. Duplicates are deduped with worktree taking precedence.
|
|
505
|
-
*
|
|
506
|
-
* @returns Selected project info or null if cancelled/no projects
|
|
507
|
-
*/
|
|
508
|
-
async function discoverAndPickWorktreeProject(repoBasename, rafDir, rafRelativePath) {
|
|
509
|
-
// Get worktree pending projects (uses shared utility from project-picker)
|
|
510
|
-
const wtPendingProjects = getPendingWorktreeProjects(repoBasename, rafRelativePath);
|
|
511
|
-
// Find the highest-numbered completed project in the MAIN tree for threshold filter
|
|
512
|
-
const mainProjects = discoverProjects(rafDir);
|
|
513
|
-
let highestCompletedNumber = 0;
|
|
514
|
-
for (const project of mainProjects) {
|
|
515
|
-
const state = deriveProjectState(project.path);
|
|
516
|
-
if (isProjectComplete(state) && state.tasks.length > 0) {
|
|
517
|
-
if (project.number > highestCompletedNumber) {
|
|
518
|
-
highestCompletedNumber = project.number;
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
// Filter threshold: highest completed - 3 (or 0 if none completed)
|
|
523
|
-
const threshold = highestCompletedNumber > 3 ? highestCompletedNumber - 3 : 0;
|
|
524
|
-
// Apply threshold filter to worktree projects only
|
|
525
|
-
const filteredWtProjects = wtPendingProjects.filter((p) => p.number >= threshold);
|
|
526
|
-
// Get main-repo pending projects (no threshold filter)
|
|
527
|
-
const mainPendingProjects = getPendingProjects(rafDir);
|
|
528
|
-
// Merge and deduplicate: worktree versions take precedence
|
|
529
|
-
const allProjects = [...mainPendingProjects, ...filteredWtProjects];
|
|
530
|
-
const seen = new Map();
|
|
531
|
-
for (const project of allProjects) {
|
|
532
|
-
const existing = seen.get(project.folder);
|
|
533
|
-
if (!existing || project.source === 'worktree') {
|
|
534
|
-
seen.set(project.folder, project);
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
const deduped = Array.from(seen.values());
|
|
538
|
-
// Sort by project number
|
|
539
|
-
deduped.sort((a, b) => a.number - b.number);
|
|
540
|
-
if (deduped.length === 0) {
|
|
541
|
-
logger.info('No pending projects found.');
|
|
542
|
-
return null;
|
|
543
|
-
}
|
|
544
|
-
// Show interactive picker
|
|
545
|
-
const choices = deduped.map((p) => ({
|
|
546
|
-
name: formatProjectChoice(p),
|
|
547
|
-
value: p,
|
|
548
|
-
}));
|
|
549
|
-
try {
|
|
550
|
-
const selected = await select({
|
|
551
|
-
message: 'Select a project to execute:',
|
|
552
|
-
choices,
|
|
553
|
-
});
|
|
554
|
-
return {
|
|
555
|
-
worktreeRoot: selected.worktreeRoot,
|
|
556
|
-
projectFolder: selected.folder,
|
|
557
|
-
};
|
|
558
|
-
}
|
|
559
|
-
catch (error) {
|
|
560
|
-
// Handle Ctrl+C (user cancellation)
|
|
561
|
-
if (error instanceof Error && error.message.includes('User force closed')) {
|
|
562
|
-
return null;
|
|
563
|
-
}
|
|
564
|
-
throw error;
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
414
|
async function executeSingleProject(projectPath, projectName, options) {
|
|
568
|
-
const { timeout, verbose, debug, force, maxRetries, autoCommit,
|
|
415
|
+
const { timeout, verbose, debug, force, maxRetries, autoCommit, executeEntry, worktreeCwd } = options;
|
|
569
416
|
if (!validatePlansExist(projectPath)) {
|
|
570
417
|
return {
|
|
571
418
|
projectName,
|
|
@@ -602,8 +449,8 @@ async function executeSingleProject(projectPath, projectName, options) {
|
|
|
602
449
|
// Set up shutdown handler - we'll register runners dynamically per-task
|
|
603
450
|
const projectManager = new ProjectManager();
|
|
604
451
|
shutdownHandler.init();
|
|
605
|
-
// The ceiling model for all tasks (can be overridden per-task, subject to this ceiling)
|
|
606
|
-
const
|
|
452
|
+
// The ceiling model entry for all tasks (can be overridden per-task, subject to this ceiling)
|
|
453
|
+
const ceilingEntry = executeEntry;
|
|
607
454
|
// Initialize token tracker for usage reporting
|
|
608
455
|
const tokenTracker = new TokenTracker();
|
|
609
456
|
// Set up runtime verbose toggle (Tab key to toggle during execution)
|
|
@@ -612,8 +459,8 @@ async function executeSingleProject(projectPath, projectName, options) {
|
|
|
612
459
|
// Start project timer
|
|
613
460
|
const projectStartTime = Date.now();
|
|
614
461
|
// Resolve and display version + ceiling model info (before any tasks run)
|
|
615
|
-
const fullCeilingModelId = resolveFullModelId(
|
|
616
|
-
logger.dim(`RAF v${getVersion()} | Ceiling: ${fullCeilingModelId}`);
|
|
462
|
+
const fullCeilingModelId = resolveFullModelId(ceilingEntry.model);
|
|
463
|
+
logger.dim(`RAF v${getVersion()} | Ceiling: ${fullCeilingModelId} (${ceilingEntry.harness})`);
|
|
617
464
|
if (verbose) {
|
|
618
465
|
logger.info(`Executing project: ${projectName}`);
|
|
619
466
|
logger.info(`Tasks: ${state.tasks.length}, Task timeout: ${timeout} minutes`);
|
|
@@ -774,6 +621,8 @@ async function executeSingleProject(projectPath, projectName, options) {
|
|
|
774
621
|
const failureHistory = [];
|
|
775
622
|
// Track current model for display in status line (updated in retry loop)
|
|
776
623
|
let currentModel;
|
|
624
|
+
let currentEffort;
|
|
625
|
+
let currentModelFast = false;
|
|
777
626
|
// Set up timer for elapsed time tracking
|
|
778
627
|
const statusLine = createStatusLine();
|
|
779
628
|
const timer = createTaskTimer(verbose ? undefined : (elapsed) => {
|
|
@@ -783,8 +632,11 @@ async function executeSingleProject(projectPath, projectName, options) {
|
|
|
783
632
|
return;
|
|
784
633
|
}
|
|
785
634
|
// Show running status with task name and timer (updates in place)
|
|
786
|
-
const modelShortName = currentModel ?
|
|
787
|
-
statusLine.update(formatTaskProgress(taskNumber, totalTasks, 'running', displayName, elapsed, taskId, modelShortName
|
|
635
|
+
const modelShortName = currentModel ? formatModelDisplay(currentModel) : undefined;
|
|
636
|
+
statusLine.update(formatTaskProgress(taskNumber, totalTasks, 'running', displayName, elapsed, taskId, modelShortName, {
|
|
637
|
+
effort: currentEffort,
|
|
638
|
+
fast: currentModelFast,
|
|
639
|
+
}));
|
|
788
640
|
});
|
|
789
641
|
timer.start();
|
|
790
642
|
// Log frontmatter warnings once before the retry loop
|
|
@@ -798,22 +650,24 @@ async function executeSingleProject(projectPath, projectName, options) {
|
|
|
798
650
|
const isRetry = attempts > 1;
|
|
799
651
|
// Resolve the model for this attempt (escalates to ceiling on retry)
|
|
800
652
|
const modelResolution = resolveTaskModel(task.frontmatter, undefined, // warnings already logged above
|
|
801
|
-
|
|
653
|
+
ceilingEntry, isRetry);
|
|
802
654
|
// Update current model for timer callback display
|
|
803
|
-
currentModel = modelResolution.model;
|
|
655
|
+
currentModel = modelResolution.entry.model;
|
|
656
|
+
currentEffort = task.frontmatter?.effort;
|
|
657
|
+
currentModelFast = modelResolution.entry.fast === true;
|
|
804
658
|
// Log missing frontmatter warning on first attempt only
|
|
805
659
|
if (!isRetry && modelResolution.missingFrontmatter) {
|
|
806
660
|
logger.warn(` No effort frontmatter found — using ceiling model`);
|
|
807
661
|
}
|
|
808
662
|
// Create a runner for this attempt's model
|
|
809
|
-
const taskRunner = createRunner({ model: modelResolution.model });
|
|
663
|
+
const taskRunner = createRunner({ model: modelResolution.entry.model, harness: modelResolution.entry.harness, reasoningEffort: modelResolution.entry.reasoningEffort, fast: modelResolution.entry.fast });
|
|
810
664
|
shutdownHandler.registerClaudeRunner(taskRunner);
|
|
811
665
|
if (verbose && isRetry) {
|
|
812
|
-
const retryModel =
|
|
666
|
+
const retryModel = formatResolvedTaskModel(modelResolution.entry);
|
|
813
667
|
logger.info(` Retry ${attempts}/${maxRetries} for task ${taskLabel} (model: ${retryModel})...`);
|
|
814
668
|
}
|
|
815
669
|
else if (verbose && !isRetry) {
|
|
816
|
-
const taskModel =
|
|
670
|
+
const taskModel = formatResolvedTaskModel(modelResolution.entry);
|
|
817
671
|
logger.info(` Model: ${taskModel}`);
|
|
818
672
|
}
|
|
819
673
|
// Build execution prompt (inside loop to include retry context on retries)
|
|
@@ -966,8 +820,11 @@ Task completed. No detailed report provided.
|
|
|
966
820
|
}
|
|
967
821
|
else {
|
|
968
822
|
// Minimal mode: show completed task line
|
|
969
|
-
const modelShortName = currentModel ?
|
|
970
|
-
logger.info(formatTaskProgress(taskNumber, totalTasks, 'completed', displayName, elapsedMs, task.id, modelShortName
|
|
823
|
+
const modelShortName = currentModel ? formatModelDisplay(currentModel) : undefined;
|
|
824
|
+
logger.info(formatTaskProgress(taskNumber, totalTasks, 'completed', displayName, elapsedMs, task.id, modelShortName, {
|
|
825
|
+
effort: currentEffort,
|
|
826
|
+
fast: currentModelFast,
|
|
827
|
+
}));
|
|
971
828
|
}
|
|
972
829
|
// Track and display token usage for this task
|
|
973
830
|
if (attemptUsageData.length > 0) {
|
|
@@ -991,13 +848,17 @@ Task completed. No detailed report provided.
|
|
|
991
848
|
}
|
|
992
849
|
if (verbose) {
|
|
993
850
|
logger.error(` Task ${taskLabel} failed: ${failureReason} (${elapsedFormatted})`);
|
|
994
|
-
const
|
|
851
|
+
const analysisEntry = getModel('failureAnalysis');
|
|
852
|
+
const analysisModel = formatModelDisplay(analysisEntry.model);
|
|
995
853
|
logger.info(` Analyzing failure with ${analysisModel}...`);
|
|
996
854
|
}
|
|
997
855
|
else {
|
|
998
856
|
// Minimal mode: show failed task line
|
|
999
|
-
const modelShortName = currentModel ?
|
|
1000
|
-
logger.info(formatTaskProgress(taskNumber, totalTasks, 'failed', displayName, elapsedMs, task.id, modelShortName
|
|
857
|
+
const modelShortName = currentModel ? formatModelDisplay(currentModel) : undefined;
|
|
858
|
+
logger.info(formatTaskProgress(taskNumber, totalTasks, 'failed', displayName, elapsedMs, task.id, modelShortName, {
|
|
859
|
+
effort: currentEffort,
|
|
860
|
+
fast: currentModelFast,
|
|
861
|
+
}));
|
|
1001
862
|
}
|
|
1002
863
|
// Track token usage even for failed tasks (partial data still useful for totals)
|
|
1003
864
|
if (attemptUsageData.length > 0) {
|