rafcode 3.2.1 → 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/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 +47 -57
- 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 +57 -44
- package/dist/commands/do.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +36 -153
- 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/pull-request.js +3 -3
- 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/parsers/codex-stream-renderer.d.ts +7 -0
- package/dist/parsers/codex-stream-renderer.d.ts.map +1 -1
- package/dist/parsers/codex-stream-renderer.js +37 -4
- package/dist/parsers/codex-stream-renderer.js.map +1 -1
- package/dist/prompts/amend.d.ts.map +1 -1
- package/dist/prompts/amend.js +29 -101
- 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 +21 -120
- package/dist/prompts/planning.js.map +1 -1
- package/dist/types/config.d.ts +33 -31
- 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/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 +1 -1
- package/src/commands/config.ts +60 -63
- package/src/commands/do.ts +63 -51
- package/src/commands/plan.ts +34 -165
- 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/pull-request.ts +3 -3
- 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/parsers/codex-stream-renderer.ts +47 -4
- package/src/prompts/amend.ts +29 -101
- package/src/prompts/config-docs.md +206 -62
- package/src/prompts/execution.ts +17 -34
- package/src/prompts/planning.ts +21 -120
- package/src/types/config.ts +47 -58
- package/src/utils/config.ts +248 -115
- package/src/utils/name-generator.ts +29 -13
- 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,30 +1,30 @@
|
|
|
1
1
|
import { ClaudeRunner } from './claude-runner.js';
|
|
2
2
|
import { CodexRunner } from './codex-runner.js';
|
|
3
3
|
/**
|
|
4
|
-
* Create a CLI runner for the given
|
|
4
|
+
* Create a CLI runner for the given harness configuration.
|
|
5
5
|
*/
|
|
6
6
|
export function createRunner(config = {}) {
|
|
7
|
-
const
|
|
8
|
-
switch (
|
|
7
|
+
const harness = config.harness ?? 'claude';
|
|
8
|
+
switch (harness) {
|
|
9
9
|
case 'claude':
|
|
10
10
|
return new ClaudeRunner(config);
|
|
11
11
|
case 'codex':
|
|
12
12
|
return new CodexRunner(config);
|
|
13
13
|
default:
|
|
14
|
-
throw new Error(`Unknown
|
|
14
|
+
throw new Error(`Unknown harness: ${harness}`);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
* Get the binary name for a given
|
|
18
|
+
* Get the binary name for a given harness.
|
|
19
19
|
*/
|
|
20
|
-
export function
|
|
21
|
-
switch (
|
|
20
|
+
export function getHarnessBinaryName(harness) {
|
|
21
|
+
switch (harness) {
|
|
22
22
|
case 'claude':
|
|
23
23
|
return 'claude';
|
|
24
24
|
case 'codex':
|
|
25
25
|
return 'codex';
|
|
26
26
|
default:
|
|
27
|
-
throw new Error(`Unknown
|
|
27
|
+
throw new Error(`Unknown harness: ${harness}`);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
//# sourceMappingURL=runner-factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-factory.js","sourceRoot":"","sources":["../../src/core/runner-factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAuB,EAAE;IACpD,MAAM,
|
|
1
|
+
{"version":3,"file":"runner-factory.js","sourceRoot":"","sources":["../../src/core/runner-factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAuB,EAAE;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC;IAE3C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACvD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { UsageData,
|
|
1
|
+
import type { UsageData, HarnessName } from '../types/config.js';
|
|
2
2
|
/**
|
|
3
3
|
* Options for a single runner execution (run, runVerbose, runInteractive, etc.).
|
|
4
4
|
*/
|
|
@@ -50,14 +50,27 @@ export interface RunnerOptions {
|
|
|
50
50
|
export interface RunnerConfig {
|
|
51
51
|
/**
|
|
52
52
|
* Model to use (e.g., opus, sonnet, haiku, gpt-5.4).
|
|
53
|
-
* Default:
|
|
53
|
+
* Default: harness-specific default.
|
|
54
54
|
*/
|
|
55
55
|
model?: string;
|
|
56
56
|
/**
|
|
57
|
-
* CLI
|
|
57
|
+
* CLI harness to use.
|
|
58
58
|
* Default: 'claude'.
|
|
59
59
|
*/
|
|
60
|
-
|
|
60
|
+
harness?: HarnessName;
|
|
61
|
+
/**
|
|
62
|
+
* Reasoning effort level to pass to the CLI.
|
|
63
|
+
* Claude CLI: --effort <level>
|
|
64
|
+
* Codex CLI: -c model_reasoning_effort="<level>"
|
|
65
|
+
* Only included when explicitly set.
|
|
66
|
+
*/
|
|
67
|
+
reasoningEffort?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Enable fast mode for faster output.
|
|
70
|
+
* Claude CLI: --settings '{"fastMode": true}'
|
|
71
|
+
* Only included when explicitly set to true.
|
|
72
|
+
*/
|
|
73
|
+
fast?: boolean;
|
|
61
74
|
}
|
|
62
75
|
/**
|
|
63
76
|
* Result of a non-interactive runner execution.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-types.d.ts","sourceRoot":"","sources":["../../src/core/runner-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"runner-types.d.ts","sourceRoot":"","sources":["../../src/core/runner-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE;QACd,6DAA6D;QAC7D,gBAAgB,EAAE,MAAM,CAAC;QACzB,4DAA4D;QAC5D,cAAc,EAAE,MAAM,CAAC;QACvB,yDAAyD;QACzD,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB"}
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
import type { RenderResult } from './stream-renderer.js';
|
|
12
12
|
export interface CodexEvent {
|
|
13
13
|
type: string;
|
|
14
|
+
id?: string;
|
|
15
|
+
model?: string;
|
|
14
16
|
/** Claude flat-format fields (AgentMessage) */
|
|
15
17
|
content?: string;
|
|
16
18
|
/** Claude flat-format fields (CommandExecution) */
|
|
@@ -30,9 +32,14 @@ export interface CodexEvent {
|
|
|
30
32
|
exit_code?: number;
|
|
31
33
|
path?: string;
|
|
32
34
|
change_kind?: string;
|
|
35
|
+
message?: string;
|
|
33
36
|
};
|
|
34
37
|
/** Error message (for error / turn.failed events) */
|
|
35
38
|
message?: string;
|
|
39
|
+
/** Nested error object (for turn.failed events) */
|
|
40
|
+
error?: {
|
|
41
|
+
message?: string;
|
|
42
|
+
};
|
|
36
43
|
/** Usage data (for turn.completed events) */
|
|
37
44
|
usage?: {
|
|
38
45
|
input_tokens?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-stream-renderer.d.ts","sourceRoot":"","sources":["../../src/parsers/codex-stream-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"codex-stream-renderer.d.ts","sourceRoot":"","sources":["../../src/parsers/codex-stream-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,6CAA6C;IAC7C,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAOD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAmDjE"}
|
|
@@ -120,26 +120,59 @@ function renderItemCompleted(event) {
|
|
|
120
120
|
textContent: '',
|
|
121
121
|
};
|
|
122
122
|
}
|
|
123
|
+
case 'error': {
|
|
124
|
+
const msg = item.message ?? 'Unknown error';
|
|
125
|
+
return {
|
|
126
|
+
display: ` ✗ Error: ${msg}\n`,
|
|
127
|
+
textContent: msg,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
123
130
|
default:
|
|
124
131
|
return { display: '', textContent: '' };
|
|
125
132
|
}
|
|
126
133
|
}
|
|
127
134
|
function renderTurnCompleted(event) {
|
|
135
|
+
const usageData = extractUsageData(event);
|
|
128
136
|
if (event.usage) {
|
|
129
137
|
const { input_tokens, output_tokens } = event.usage;
|
|
130
138
|
const parts = [];
|
|
131
|
-
if (input_tokens)
|
|
139
|
+
if (input_tokens !== undefined)
|
|
132
140
|
parts.push(`in: ${input_tokens}`);
|
|
133
|
-
if (output_tokens)
|
|
141
|
+
if (output_tokens !== undefined)
|
|
134
142
|
parts.push(`out: ${output_tokens}`);
|
|
135
143
|
if (parts.length > 0) {
|
|
136
144
|
return {
|
|
137
145
|
display: ` → Usage: ${parts.join(', ')}\n`,
|
|
138
146
|
textContent: '',
|
|
147
|
+
usageData,
|
|
139
148
|
};
|
|
140
149
|
}
|
|
141
150
|
}
|
|
142
|
-
return { display: '', textContent: '' };
|
|
151
|
+
return { display: '', textContent: '', usageData };
|
|
152
|
+
}
|
|
153
|
+
function extractUsageData(event) {
|
|
154
|
+
if (!event.usage) {
|
|
155
|
+
return undefined;
|
|
156
|
+
}
|
|
157
|
+
const modelId = event.model ?? 'codex';
|
|
158
|
+
const inputTokens = event.usage.input_tokens ?? 0;
|
|
159
|
+
const outputTokens = event.usage.output_tokens ?? 0;
|
|
160
|
+
return {
|
|
161
|
+
inputTokens,
|
|
162
|
+
outputTokens,
|
|
163
|
+
cacheReadInputTokens: 0,
|
|
164
|
+
cacheCreationInputTokens: 0,
|
|
165
|
+
modelUsage: {
|
|
166
|
+
[modelId]: {
|
|
167
|
+
inputTokens,
|
|
168
|
+
outputTokens,
|
|
169
|
+
cacheReadInputTokens: 0,
|
|
170
|
+
cacheCreationInputTokens: 0,
|
|
171
|
+
costUsd: null,
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
totalCostUsd: null,
|
|
175
|
+
};
|
|
143
176
|
}
|
|
144
177
|
function renderError(event) {
|
|
145
178
|
const msg = event.message ?? 'Unknown error';
|
|
@@ -149,7 +182,7 @@ function renderError(event) {
|
|
|
149
182
|
};
|
|
150
183
|
}
|
|
151
184
|
function renderTurnFailed(event) {
|
|
152
|
-
const msg = event.message ?? 'Turn failed';
|
|
185
|
+
const msg = event.error?.message ?? event.message ?? 'Turn failed';
|
|
153
186
|
return {
|
|
154
187
|
display: ` ✗ Failed: ${msg}\n`,
|
|
155
188
|
textContent: msg,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-stream-renderer.js","sourceRoot":"","sources":["../../src/parsers/codex-stream-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"codex-stream-renderer.js","sourceRoot":"","sources":["../../src/parsers/codex-stream-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amend.d.ts","sourceRoot":"","sources":["../../src/prompts/amend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,KAAK,CAAC,WAAW,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"amend.d.ts","sourceRoot":"","sources":["../../src/prompts/amend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,KAAK,CAAC,WAAW,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAoJ3E"}
|
package/dist/prompts/amend.js
CHANGED
|
@@ -28,15 +28,14 @@ export function getAmendPrompt(params) {
|
|
|
28
28
|
const modifiableTasksList = modifiableTasks.length > 0
|
|
29
29
|
? modifiableTasks.map((t) => `- Task ${t.id}: ${t.taskName}`).join('\n')
|
|
30
30
|
: '(none)';
|
|
31
|
-
const systemPrompt = `You are a project planning assistant for RAF (Ralph's Automation Framework).
|
|
31
|
+
const systemPrompt = `You are a project planning assistant for RAF (Ralph's Automation Framework). Add new tasks or modify pending tasks in an existing project.
|
|
32
32
|
|
|
33
|
-
##
|
|
33
|
+
## Amendment Mode
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
- You can create NEW tasks starting from number ${encodeTaskId(nextTaskNumber)}
|
|
35
|
+
- [PROTECTED] tasks (completed): NEVER modify — their outcomes depend on the original plan
|
|
36
|
+
- [MODIFIABLE] tasks (pending/failed): MAY modify if the user requests changes
|
|
37
|
+
- Do NOT renumber existing tasks
|
|
38
|
+
- New tasks start from number ${encodeTaskId(nextTaskNumber)}
|
|
40
39
|
|
|
41
40
|
## Project Location
|
|
42
41
|
|
|
@@ -44,54 +43,30 @@ Project folder: ${projectPath}
|
|
|
44
43
|
|
|
45
44
|
## Existing Tasks
|
|
46
45
|
|
|
47
|
-
The following tasks already exist in this project:
|
|
48
|
-
|
|
49
46
|
${existingTasksSummary}
|
|
50
47
|
|
|
51
|
-
### Protected
|
|
48
|
+
### Protected (COMPLETED)
|
|
52
49
|
${protectedTasksList}
|
|
53
50
|
|
|
54
|
-
### Modifiable
|
|
51
|
+
### Modifiable (PENDING/FAILED)
|
|
55
52
|
${modifiableTasksList}
|
|
56
53
|
|
|
57
54
|
## Instructions
|
|
58
55
|
|
|
59
56
|
### Step 1: Read Context
|
|
60
57
|
|
|
61
|
-
|
|
62
|
-
- ${projectPath}/input.md
|
|
63
|
-
|
|
64
|
-
And review existing decisions from:
|
|
65
|
-
- ${projectPath}/decisions.md (if it exists)
|
|
58
|
+
Read the original project description (\`${projectPath}/input.md\`) and existing decisions (\`${projectPath}/decisions.md\`, if it exists).
|
|
66
59
|
|
|
67
60
|
### Step 2: Analyze New Requirements
|
|
68
61
|
|
|
69
|
-
|
|
70
|
-
- How the new tasks relate to existing ones
|
|
71
|
-
- Dependencies on completed tasks (check the ## Dependencies section in existing plan files)
|
|
72
|
-
- Whether new tasks should reference existing task outcomes
|
|
73
|
-
|
|
74
|
-
**Identifying Follow-up Tasks**: When a new task is a follow-up, fix, or iteration of a previously completed task, you MUST reference the previous task's outcome in the new plan's Context section. This gives the executing agent full context about what was done before.
|
|
75
|
-
|
|
76
|
-
Use this format in the Context section:
|
|
62
|
+
Consider how new tasks relate to existing ones and their dependencies. For follow-up/fix tasks, reference the previous task's outcome in the Context section:
|
|
77
63
|
\`This is a follow-up to task NN. See outcome: {projectPath}/outcomes/NN-task-name.md\`
|
|
78
64
|
|
|
79
|
-
The outcome file paths for completed tasks are listed above in the Existing Tasks section.
|
|
80
|
-
|
|
81
65
|
### Step 3: Interview the User
|
|
82
66
|
|
|
83
|
-
For EACH new task
|
|
84
|
-
- Specific requirements and constraints
|
|
85
|
-
- Technology preferences
|
|
86
|
-
- Any existing code or patterns to follow
|
|
87
|
-
- Edge cases to handle
|
|
88
|
-
|
|
89
|
-
### Step 3.5: Record Decisions
|
|
67
|
+
For EACH new task, use AskUserQuestion to gather specific requirements, technology preferences, existing patterns, and edge cases.
|
|
90
68
|
|
|
91
|
-
After EACH
|
|
92
|
-
- ${projectPath}/decisions.md
|
|
93
|
-
|
|
94
|
-
Use this format:
|
|
69
|
+
After EACH answer, append the Q&A to \`${projectPath}/decisions.md\`:
|
|
95
70
|
\`\`\`markdown
|
|
96
71
|
## [Question asked]
|
|
97
72
|
[User's answer]
|
|
@@ -99,12 +74,9 @@ Use this format:
|
|
|
99
74
|
|
|
100
75
|
### Step 4: Create New Plan Files
|
|
101
76
|
|
|
102
|
-
|
|
103
|
-
- ${projectPath}/plans/${encodeTaskId(nextTaskNumber)}-task-name.md
|
|
104
|
-
- ${projectPath}/plans/${encodeTaskId(nextTaskNumber + 1)}-task-name.md
|
|
105
|
-
- etc.
|
|
77
|
+
Create plan files starting from \`${projectPath}/plans/${encodeTaskId(nextTaskNumber)}-task-name.md\`. Use kebab-case names.
|
|
106
78
|
|
|
107
|
-
Each plan file MUST have
|
|
79
|
+
Each plan file MUST have this structure:
|
|
108
80
|
|
|
109
81
|
\`\`\`markdown
|
|
110
82
|
---
|
|
@@ -113,68 +85,38 @@ effort: medium
|
|
|
113
85
|
# Task: [Task Name]
|
|
114
86
|
|
|
115
87
|
## Objective
|
|
116
|
-
[Clear, one-sentence description
|
|
88
|
+
[Clear, one-sentence description]
|
|
117
89
|
|
|
118
90
|
## Context
|
|
119
|
-
[Why this task is needed,
|
|
120
|
-
[
|
|
121
|
-
[For follow-up/fix tasks: "This is a follow-up to task NN. See outcome: {projectPath}/outcomes/NN-task-name.md"]
|
|
91
|
+
[Why this task is needed, relation to existing tasks]
|
|
92
|
+
[For follow-ups: "This is a follow-up to task NN. See outcome: {projectPath}/outcomes/NN-task-name.md"]
|
|
122
93
|
|
|
123
94
|
## Dependencies
|
|
124
|
-
[Optional
|
|
125
|
-
[Comma-separated list of task IDs this task depends on, e.g., "1, 2"]
|
|
126
|
-
[If a dependency fails, this task will be automatically blocked]
|
|
95
|
+
[Optional — omit if none. Comma-separated task IDs, e.g., "1, 2"]
|
|
127
96
|
|
|
128
97
|
## Requirements
|
|
129
|
-
[Specific requirements gathered from the user interview]
|
|
130
98
|
- Requirement 1
|
|
131
99
|
- Requirement 2
|
|
132
|
-
- ...
|
|
133
100
|
|
|
134
101
|
## Implementation Steps
|
|
135
102
|
1. [Step 1]
|
|
136
103
|
2. [Step 2]
|
|
137
|
-
3. [Step 3]
|
|
138
|
-
...
|
|
139
104
|
|
|
140
105
|
## Acceptance Criteria
|
|
141
106
|
- [ ] Criterion 1
|
|
142
107
|
- [ ] Criterion 2
|
|
143
|
-
- [ ] All tests pass
|
|
144
108
|
|
|
145
109
|
## Notes
|
|
146
|
-
[
|
|
147
|
-
[Reference to existing task outcomes if relevant]
|
|
148
|
-
\`\`\`
|
|
149
|
-
|
|
150
|
-
### Frontmatter Requirements
|
|
151
|
-
|
|
152
|
-
The \`effort\` field is REQUIRED in every plan file. It indicates task complexity and determines which model will execute the task:
|
|
153
|
-
- \`effort: low\` — Trivial/mechanical changes, simple one-file edits, config changes
|
|
154
|
-
- \`effort: medium\` — Well-scoped feature work, bug fixes with clear plans, multi-file changes following existing patterns
|
|
155
|
-
- \`effort: high\` — Architectural changes, complex logic, tasks requiring deep codebase understanding
|
|
156
|
-
|
|
157
|
-
Optionally, you can add an explicit \`model\` field to override the effort-based model selection:
|
|
158
|
-
\`\`\`markdown
|
|
159
|
-
---
|
|
160
|
-
effort: medium
|
|
161
|
-
model: opus
|
|
162
|
-
---
|
|
163
|
-
# Task: ...
|
|
110
|
+
[Additional context, warnings, references to existing task outcomes]
|
|
164
111
|
\`\`\`
|
|
165
112
|
|
|
166
|
-
|
|
113
|
+
**Frontmatter fields:**
|
|
114
|
+
- \`effort\` (REQUIRED): \`low\` (trivial/mechanical), \`medium\` (well-scoped feature work), \`high\` (architectural/complex)
|
|
115
|
+
- \`model\` (optional): Override effort-based model selection. Rarely needed.
|
|
167
116
|
|
|
168
117
|
### Step 5: Confirm Completion
|
|
169
118
|
|
|
170
|
-
|
|
171
|
-
1. Provide a summary of:
|
|
172
|
-
- The new tasks you've created, including the effort level for each task. Example format:
|
|
173
|
-
- Task 2: add-caching (effort: medium)
|
|
174
|
-
- Task 3: update-docs (effort: low)
|
|
175
|
-
- How they relate to existing tasks
|
|
176
|
-
- Total task count in the project
|
|
177
|
-
2. Display this exit message to the user:
|
|
119
|
+
Summarize new tasks with effort levels, their relation to existing tasks, and total task count. Then display:
|
|
178
120
|
|
|
179
121
|
\`\`\`
|
|
180
122
|
Planning complete! To exit this session and run your tasks:
|
|
@@ -182,26 +124,12 @@ Planning complete! To exit this session and run your tasks:
|
|
|
182
124
|
2. Then run: raf do <project>
|
|
183
125
|
\`\`\`
|
|
184
126
|
|
|
185
|
-
##
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
5. Use descriptive, kebab-case names for plan files
|
|
192
|
-
6. Each plan should be self-contained with all context needed
|
|
193
|
-
7. Specify task dependencies using the ## Dependencies section with task IDs only (e.g., "1, 2")
|
|
194
|
-
8. Tasks without dependencies should omit the Dependencies section entirely
|
|
195
|
-
9. Be specific - vague plans lead to poor execution
|
|
196
|
-
10. ALWAYS include the \`effort\` frontmatter field in every plan file — assess each task's complexity
|
|
197
|
-
|
|
198
|
-
## Plan Output Style
|
|
199
|
-
|
|
200
|
-
Plans can include whatever level of detail you deem helpful for the executing agent. Use your judgment:
|
|
201
|
-
- Include implementation details when they clarify the approach
|
|
202
|
-
- Code snippets are acceptable when they help illustrate a specific pattern
|
|
203
|
-
- File paths are helpful when referencing existing project files, patterns, or directories
|
|
204
|
-
- Focus on clarity — the goal is for the executing agent to understand what needs to be done`;
|
|
127
|
+
## Rules
|
|
128
|
+
|
|
129
|
+
- Always interview the user before creating or modifying plans
|
|
130
|
+
- Each plan must be self-contained with all context needed
|
|
131
|
+
- Be specific — vague plans lead to poor execution
|
|
132
|
+
- Include implementation details, code snippets, and file paths when they clarify the approach`;
|
|
205
133
|
const userMessage = `I want to add the following new tasks to this project:
|
|
206
134
|
|
|
207
135
|
${newTaskDescription}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amend.js","sourceRoot":"","sources":["../../src/prompts/amend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAcjD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB;IACtD,MAAM,EACJ,WAAW,EACX,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,GAAG,MAAM,CAAC;IAEX,MAAM,oBAAoB,GAAG,aAAa;SACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,KAAK,WAAW;YACzB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,WAAW,CAAC;QACpB,MAAM,aAAa,GACjB,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/D,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,KAAK,WAAW;YACzB,CAAC,CAAC,gBAAgB,WAAW,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK;YACvG,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,UAAU,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,aAAa,GAAG,UAAU,EAAE,CAAC;IACvF,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAE9E,MAAM,kBAAkB,GACtB,cAAc,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvE,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,mBAAmB,GACvB,eAAe,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACxE,CAAC,CAAC,QAAQ,CAAC;IAEf,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"amend.js","sourceRoot":"","sources":["../../src/prompts/amend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAcjD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB;IACtD,MAAM,EACJ,WAAW,EACX,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,GAAG,MAAM,CAAC;IAEX,MAAM,oBAAoB,GAAG,aAAa;SACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,KAAK,WAAW;YACzB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,WAAW,CAAC;QACpB,MAAM,aAAa,GACjB,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/D,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,KAAK,WAAW;YACzB,CAAC,CAAC,gBAAgB,WAAW,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK;YACvG,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,UAAU,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,aAAa,GAAG,UAAU,EAAE,CAAC;IACvF,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAE9E,MAAM,kBAAkB,GACtB,cAAc,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvE,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,mBAAmB,GACvB,eAAe,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACxE,CAAC,CAAC,QAAQ,CAAC;IAEf,MAAM,YAAY,GAAG;;;;;;;gCAOS,YAAY,CAAC,cAAc,CAAC;;;;kBAI1C,WAAW;;;;EAI3B,oBAAoB;;;EAGpB,kBAAkB;;;EAGlB,mBAAmB;;;;;;2CAMsB,WAAW,0CAA0C,WAAW;;;;;;;;;;;yCAWlE,WAAW;;;;;;;;oCAQhB,WAAW,UAAU,YAAY,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+FAuDU,CAAC;IAE9F,MAAM,WAAW,GAAG;;EAEpB,kBAAkB;;wEAEoD,CAAC;IAEvE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/prompts/execution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/prompts/execution.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2BxD;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAgKxE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getCommitFormat, getCommitPrefix, renderCommitMessage } from '../utils/config.js';
|
|
2
|
+
import { extractProjectName } from '../utils/paths.js';
|
|
2
3
|
/**
|
|
3
4
|
* Maximum characters for a dependency outcome summary.
|
|
4
5
|
* Outcomes larger than this will be truncated to avoid context bloat.
|
|
@@ -49,9 +50,11 @@ ${previousOutcomes.map((o) => `### Task ${o.taskId}\n${o.content}`).join('\n\n')
|
|
|
49
50
|
// Build example commit message from config template
|
|
50
51
|
const commitTemplate = getCommitFormat('task');
|
|
51
52
|
const commitPrefix = getCommitPrefix();
|
|
53
|
+
const projectName = extractProjectName(projectPath) ?? projectNumber;
|
|
52
54
|
const exampleCommit = renderCommitMessage(commitTemplate, {
|
|
53
55
|
prefix: commitPrefix,
|
|
54
|
-
projectId:
|
|
56
|
+
projectId: projectName, // backwards compat: {projectId} resolves to projectName
|
|
57
|
+
projectName,
|
|
55
58
|
taskId: paddedTaskNumber,
|
|
56
59
|
description: '<description>',
|
|
57
60
|
});
|
|
@@ -121,20 +124,19 @@ ${depOutcomesFormatted}
|
|
|
121
124
|
2. Execute the task according to the plan
|
|
122
125
|
3. Verify all acceptance criteria are met
|
|
123
126
|
4. Signal completion with the appropriate marker
|
|
124
|
-
|
|
125
|
-
## Instructions
|
|
126
127
|
${retryContextSection}
|
|
128
|
+
## Instructions
|
|
129
|
+
|
|
127
130
|
### Step 1: Read the Plan
|
|
128
131
|
|
|
129
|
-
|
|
132
|
+
Read the plan file to understand exactly what needs to be done.
|
|
130
133
|
|
|
131
134
|
### Step 2: Execute the Task
|
|
132
135
|
|
|
133
|
-
Follow the implementation steps in the plan
|
|
134
|
-
- Write clean, maintainable code
|
|
135
|
-
- Follow existing code patterns in the project
|
|
136
|
-
- Add appropriate error handling
|
|
136
|
+
Follow the implementation steps in the plan:
|
|
137
|
+
- Write clean, maintainable code following existing patterns
|
|
137
138
|
- Follow any CLAUDE.md instructions
|
|
139
|
+
- If you encounter blockers, try to resolve them before giving up
|
|
138
140
|
${dependencyContextSection}${outcomesSection}
|
|
139
141
|
### Step 3: Verify Completion
|
|
140
142
|
|
|
@@ -145,48 +147,29 @@ Before marking the task complete:
|
|
|
145
147
|
${commitInstructions}
|
|
146
148
|
### Step 4: Write Outcome File
|
|
147
149
|
|
|
148
|
-
**CRITICAL**: You MUST write an outcome file to document what was accomplished.
|
|
149
|
-
|
|
150
150
|
**Outcome file path**: \`${outcomeFilePath}\`
|
|
151
151
|
|
|
152
|
-
The outcome file
|
|
152
|
+
The outcome file must contain:
|
|
153
153
|
1. A summary of what was done
|
|
154
154
|
2. Key changes made (files modified, features added, etc.)
|
|
155
155
|
3. Any important notes or follow-up items
|
|
156
|
-
4. The completion marker as the LAST line
|
|
156
|
+
4. The completion marker as the LAST line (exactly one marker per file)
|
|
157
157
|
|
|
158
|
-
**For
|
|
159
|
-
**For documentation/report tasks**: The outcome IS the deliverable - include the full content
|
|
158
|
+
**For documentation/report tasks**: The outcome IS the deliverable — include the full content.
|
|
160
159
|
|
|
161
|
-
|
|
160
|
+
The outcome file MUST end with one of these markers:
|
|
162
161
|
|
|
163
|
-
|
|
162
|
+
On success:
|
|
164
163
|
\`\`\`
|
|
165
164
|
<promise>COMPLETE</promise>
|
|
166
165
|
\`\`\`
|
|
167
166
|
|
|
168
|
-
|
|
167
|
+
On failure (do NOT commit — just write the outcome and stop):
|
|
169
168
|
\`\`\`
|
|
170
169
|
<promise>FAILED</promise>
|
|
171
170
|
Reason: [explain why the task failed]
|
|
172
171
|
\`\`\`
|
|
173
172
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
1. ALWAYS read the plan file first
|
|
177
|
-
2. Follow the plan precisely
|
|
178
|
-
3. Do not skip any acceptance criteria
|
|
179
|
-
4. If you encounter blockers, try to resolve them
|
|
180
|
-
5. The outcome file MUST contain EXACTLY ONE completion marker
|
|
181
|
-
6. The completion marker MUST be the LAST line in the outcome file
|
|
182
|
-
7. On SUCCESS: Commit code changes AND outcome file together BEFORE you finish
|
|
183
|
-
8. On FAILURE: Do NOT commit - just write the outcome file with FAILED marker
|
|
184
|
-
|
|
185
|
-
## Error Handling
|
|
186
|
-
|
|
187
|
-
If you encounter errors:
|
|
188
|
-
- Try to fix them yourself first
|
|
189
|
-
- If an error prevents completion, write the outcome file with FAILED status and a clear reason
|
|
190
|
-
- Do not mark COMPLETE if there are failing tests or unmet criteria`;
|
|
173
|
+
Do not mark COMPLETE if there are failing tests or unmet criteria.`;
|
|
191
174
|
}
|
|
192
175
|
//# sourceMappingURL=execution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/prompts/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/prompts/execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../../src/prompts/planning.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../../src/prompts/planning.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CA4FpF"}
|