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.
Files changed (235) hide show
  1. package/.claude/settings.local.json +3 -1
  2. package/CLAUDE.md +0 -1
  3. package/RAF/38-dual-wielder/decisions.md +9 -0
  4. package/RAF/38-dual-wielder/input.md +6 -1
  5. package/RAF/38-dual-wielder/outcomes/8-e2e-test-codex-provider.md +139 -0
  6. package/RAF/38-dual-wielder/plans/8-e2e-test-codex-provider.md +95 -0
  7. package/RAF/39-pathless-rover/decisions.md +16 -0
  8. package/RAF/39-pathless-rover/input.md +2 -0
  9. package/RAF/39-pathless-rover/outcomes/1-fix-codex-stream-renderer.md +21 -0
  10. package/RAF/39-pathless-rover/outcomes/2-wire-provider-flag.md +28 -0
  11. package/RAF/39-pathless-rover/outcomes/3-remove-worktree-flag-do.md +41 -0
  12. package/RAF/39-pathless-rover/outcomes/4-remove-worktree-flag-plan-amend.md +30 -0
  13. package/RAF/39-pathless-rover/outcomes/5-update-prompts-and-docs.md +26 -0
  14. package/RAF/39-pathless-rover/plans/1-fix-codex-stream-renderer.md +43 -0
  15. package/RAF/39-pathless-rover/plans/2-wire-provider-flag.md +48 -0
  16. package/RAF/39-pathless-rover/plans/3-remove-worktree-flag-do.md +41 -0
  17. package/RAF/39-pathless-rover/plans/4-remove-worktree-flag-plan-amend.md +43 -0
  18. package/RAF/39-pathless-rover/plans/5-update-prompts-and-docs.md +31 -0
  19. package/RAF/40-numeric-order-fix/decisions.md +7 -0
  20. package/RAF/40-numeric-order-fix/input.md +19 -0
  21. package/RAF/40-numeric-order-fix/outcomes/1-fix-numeric-sort-order.md +18 -0
  22. package/RAF/40-numeric-order-fix/outcomes/2-add-npm-keywords.md +10 -0
  23. package/RAF/40-numeric-order-fix/plans/1-fix-numeric-sort-order.md +48 -0
  24. package/RAF/40-numeric-order-fix/plans/2-add-npm-keywords.md +23 -0
  25. package/RAF/41-echo-chamber/decisions.md +13 -0
  26. package/RAF/41-echo-chamber/input.md +4 -0
  27. package/RAF/41-echo-chamber/outcomes/1-update-codex-model-defaults.md +24 -0
  28. package/RAF/41-echo-chamber/outcomes/2-e2e-test-codex-provider.md +74 -0
  29. package/RAF/41-echo-chamber/plans/1-update-codex-model-defaults.md +28 -0
  30. package/RAF/41-echo-chamber/plans/2-e2e-test-codex-provider.md +103 -0
  31. package/RAF/42-patch-parade/decisions.md +29 -0
  32. package/RAF/42-patch-parade/input.md +9 -0
  33. package/RAF/42-patch-parade/outcomes/1-fix-codex-model-resolution.md +36 -0
  34. package/RAF/42-patch-parade/outcomes/2-fix-provider-aware-name-generation.md +31 -0
  35. package/RAF/42-patch-parade/outcomes/3-fix-codex-error-event-rendering.md +32 -0
  36. package/RAF/42-patch-parade/outcomes/4-update-cli-help-docs.md +28 -0
  37. package/RAF/42-patch-parade/outcomes/5-update-default-codex-models-to-gpt-5-4.md +33 -0
  38. package/RAF/42-patch-parade/outcomes/6-unify-model-config-schema.md +89 -0
  39. package/RAF/42-patch-parade/plans/1-fix-codex-model-resolution.md +35 -0
  40. package/RAF/42-patch-parade/plans/2-fix-provider-aware-name-generation.md +38 -0
  41. package/RAF/42-patch-parade/plans/3-fix-codex-error-event-rendering.md +32 -0
  42. package/RAF/42-patch-parade/plans/4-update-cli-help-docs.md +31 -0
  43. package/RAF/42-patch-parade/plans/5-update-default-codex-models-to-gpt-5-4.md +35 -0
  44. package/RAF/42-patch-parade/plans/6-unify-model-config-schema.md +46 -0
  45. package/RAF/43-swiss-army/decisions.md +34 -0
  46. package/RAF/43-swiss-army/input.md +7 -0
  47. package/RAF/43-swiss-army/outcomes/1-fix-model-validation.md +21 -0
  48. package/RAF/43-swiss-army/outcomes/2-update-commit-format.md +31 -0
  49. package/RAF/43-swiss-army/outcomes/3-wire-reasoning-effort.md +28 -0
  50. package/RAF/43-swiss-army/outcomes/4-remove-provider-flag.md +27 -0
  51. package/RAF/43-swiss-army/outcomes/5-config-wizard-validation.md +23 -0
  52. package/RAF/43-swiss-army/outcomes/6-add-fast-mode.md +32 -0
  53. package/RAF/43-swiss-army/outcomes/7-config-preset.md +31 -0
  54. package/RAF/43-swiss-army/plans/1-fix-model-validation.md +38 -0
  55. package/RAF/43-swiss-army/plans/2-update-commit-format.md +46 -0
  56. package/RAF/43-swiss-army/plans/3-wire-reasoning-effort.md +39 -0
  57. package/RAF/43-swiss-army/plans/4-remove-provider-flag.md +43 -0
  58. package/RAF/43-swiss-army/plans/5-config-wizard-validation.md +42 -0
  59. package/RAF/43-swiss-army/plans/6-add-fast-mode.md +46 -0
  60. package/RAF/43-swiss-army/plans/7-config-preset.md +51 -0
  61. package/RAF/44-config-api-change/decisions.md +22 -0
  62. package/RAF/44-config-api-change/input.md +5 -0
  63. package/RAF/44-config-api-change/outcomes/1-restructure-config-subcommands.md +19 -0
  64. package/RAF/44-config-api-change/outcomes/2-move-preset-under-config.md +17 -0
  65. package/RAF/44-config-api-change/outcomes/3-update-existing-tests-for-config-api.md +14 -0
  66. package/RAF/44-config-api-change/outcomes/4-update-config-command-docs.md +11 -0
  67. package/RAF/44-config-api-change/outcomes/5-fix-codex-name-generation.md +18 -0
  68. package/RAF/44-config-api-change/plans/1-restructure-config-subcommands.md +37 -0
  69. package/RAF/44-config-api-change/plans/2-move-preset-under-config.md +38 -0
  70. package/RAF/44-config-api-change/plans/3-update-existing-tests-for-config-api.md +38 -0
  71. package/RAF/44-config-api-change/plans/4-update-config-command-docs.md +36 -0
  72. package/RAF/44-config-api-change/plans/5-fix-codex-name-generation.md +49 -0
  73. package/RAF/45-signal-cairn/decisions.md +7 -0
  74. package/RAF/45-signal-cairn/input.md +2 -0
  75. package/RAF/45-signal-cairn/outcomes/1-rename-provider-to-harness.md +19 -0
  76. package/RAF/45-signal-cairn/outcomes/2-normalize-model-display-names.md +18 -0
  77. package/RAF/45-signal-cairn/plans/1-rename-provider-to-harness.md +40 -0
  78. package/RAF/45-signal-cairn/plans/2-normalize-model-display-names.md +41 -0
  79. package/RAF/45-signal-lantern/decisions.md +10 -0
  80. package/RAF/45-signal-lantern/input.md +2 -0
  81. package/RAF/45-signal-lantern/outcomes/1-add-effort-and-fast-to-do-model-display.md +15 -0
  82. package/RAF/45-signal-lantern/outcomes/2-capture-codex-post-run-token-usage.md +15 -0
  83. package/RAF/45-signal-lantern/outcomes/3-show-codex-token-summaries-without-fake-cost.md +14 -0
  84. package/RAF/45-signal-lantern/plans/1-add-effort-and-fast-to-do-model-display.md +38 -0
  85. package/RAF/45-signal-lantern/plans/2-capture-codex-post-run-token-usage.md +37 -0
  86. package/RAF/45-signal-lantern/plans/3-show-codex-token-summaries-without-fake-cost.md +40 -0
  87. package/RAF/46-lantern-arc/decisions.md +19 -0
  88. package/RAF/46-lantern-arc/input.md +6 -0
  89. package/RAF/46-lantern-arc/outcomes/1-remove-spark-alias.md +16 -0
  90. package/RAF/46-lantern-arc/outcomes/2-clean-up-worktree-plan-command.md +30 -0
  91. package/RAF/46-lantern-arc/outcomes/3-fix-token-usage-accumulation.md +32 -0
  92. package/RAF/46-lantern-arc/outcomes/4-display-effort-in-compact-mode.md +22 -0
  93. package/RAF/46-lantern-arc/outcomes/5-codex-fast-mode-research.md +38 -0
  94. package/RAF/46-lantern-arc/outcomes/6-optimize-llm-prompts.md +39 -0
  95. package/RAF/46-lantern-arc/plans/1-remove-spark-alias.md +38 -0
  96. package/RAF/46-lantern-arc/plans/2-clean-up-worktree-plan-command.md +33 -0
  97. package/RAF/46-lantern-arc/plans/3-fix-token-usage-accumulation.md +33 -0
  98. package/RAF/46-lantern-arc/plans/4-display-effort-in-compact-mode.md +28 -0
  99. package/RAF/46-lantern-arc/plans/5-codex-fast-mode-research.md +34 -0
  100. package/RAF/46-lantern-arc/plans/6-optimize-llm-prompts.md +48 -0
  101. package/RAF/47-signal-trim/decisions.md +13 -0
  102. package/RAF/47-signal-trim/input.md +2 -0
  103. package/RAF/47-signal-trim/plans/1-remove-cache-from-status.md +73 -0
  104. package/README.md +50 -63
  105. package/dist/commands/config.d.ts.map +1 -1
  106. package/dist/commands/config.js +47 -49
  107. package/dist/commands/config.js.map +1 -1
  108. package/dist/commands/do.d.ts +2 -0
  109. package/dist/commands/do.d.ts.map +1 -1
  110. package/dist/commands/do.js +91 -230
  111. package/dist/commands/do.js.map +1 -1
  112. package/dist/commands/plan.d.ts.map +1 -1
  113. package/dist/commands/plan.js +54 -259
  114. package/dist/commands/plan.js.map +1 -1
  115. package/dist/commands/preset.d.ts +3 -0
  116. package/dist/commands/preset.d.ts.map +1 -0
  117. package/dist/commands/preset.js +158 -0
  118. package/dist/commands/preset.js.map +1 -0
  119. package/dist/core/claude-runner.d.ts +2 -0
  120. package/dist/core/claude-runner.d.ts.map +1 -1
  121. package/dist/core/claude-runner.js +36 -12
  122. package/dist/core/claude-runner.js.map +1 -1
  123. package/dist/core/codex-runner.d.ts +1 -0
  124. package/dist/core/codex-runner.d.ts.map +1 -1
  125. package/dist/core/codex-runner.js +26 -7
  126. package/dist/core/codex-runner.js.map +1 -1
  127. package/dist/core/failure-analyzer.js +2 -1
  128. package/dist/core/failure-analyzer.js.map +1 -1
  129. package/dist/core/git.d.ts +2 -2
  130. package/dist/core/git.d.ts.map +1 -1
  131. package/dist/core/git.js +53 -3
  132. package/dist/core/git.js.map +1 -1
  133. package/dist/core/project-manager.d.ts.map +1 -1
  134. package/dist/core/project-manager.js +2 -2
  135. package/dist/core/project-manager.js.map +1 -1
  136. package/dist/core/pull-request.js +5 -5
  137. package/dist/core/pull-request.js.map +1 -1
  138. package/dist/core/runner-factory.d.ts +4 -4
  139. package/dist/core/runner-factory.d.ts.map +1 -1
  140. package/dist/core/runner-factory.js +8 -8
  141. package/dist/core/runner-factory.js.map +1 -1
  142. package/dist/core/runner-interface.d.ts +1 -1
  143. package/dist/core/runner-types.d.ts +17 -4
  144. package/dist/core/runner-types.d.ts.map +1 -1
  145. package/dist/core/state-derivation.js +3 -3
  146. package/dist/core/state-derivation.js.map +1 -1
  147. package/dist/parsers/codex-stream-renderer.d.ts +28 -4
  148. package/dist/parsers/codex-stream-renderer.d.ts.map +1 -1
  149. package/dist/parsers/codex-stream-renderer.js +110 -0
  150. package/dist/parsers/codex-stream-renderer.js.map +1 -1
  151. package/dist/prompts/amend.d.ts +0 -1
  152. package/dist/prompts/amend.d.ts.map +1 -1
  153. package/dist/prompts/amend.js +31 -104
  154. package/dist/prompts/amend.js.map +1 -1
  155. package/dist/prompts/execution.d.ts.map +1 -1
  156. package/dist/prompts/execution.js +17 -34
  157. package/dist/prompts/execution.js.map +1 -1
  158. package/dist/prompts/planning.d.ts.map +1 -1
  159. package/dist/prompts/planning.js +23 -123
  160. package/dist/prompts/planning.js.map +1 -1
  161. package/dist/types/config.d.ts +33 -32
  162. package/dist/types/config.d.ts.map +1 -1
  163. package/dist/types/config.js +14 -28
  164. package/dist/types/config.js.map +1 -1
  165. package/dist/utils/config.d.ts +36 -16
  166. package/dist/utils/config.d.ts.map +1 -1
  167. package/dist/utils/config.js +209 -104
  168. package/dist/utils/config.js.map +1 -1
  169. package/dist/utils/name-generator.d.ts.map +1 -1
  170. package/dist/utils/name-generator.js +25 -12
  171. package/dist/utils/name-generator.js.map +1 -1
  172. package/dist/utils/paths.d.ts +5 -0
  173. package/dist/utils/paths.d.ts.map +1 -1
  174. package/dist/utils/paths.js +9 -0
  175. package/dist/utils/paths.js.map +1 -1
  176. package/dist/utils/terminal-symbols.d.ts +15 -2
  177. package/dist/utils/terminal-symbols.d.ts.map +1 -1
  178. package/dist/utils/terminal-symbols.js +36 -4
  179. package/dist/utils/terminal-symbols.js.map +1 -1
  180. package/dist/utils/token-tracker.d.ts +6 -1
  181. package/dist/utils/token-tracker.d.ts.map +1 -1
  182. package/dist/utils/token-tracker.js +84 -51
  183. package/dist/utils/token-tracker.js.map +1 -1
  184. package/dist/utils/validation.d.ts +1 -2
  185. package/dist/utils/validation.d.ts.map +1 -1
  186. package/dist/utils/validation.js +4 -25
  187. package/dist/utils/validation.js.map +1 -1
  188. package/package.json +7 -2
  189. package/src/commands/config.ts +60 -63
  190. package/src/commands/do.ts +96 -262
  191. package/src/commands/plan.ts +55 -279
  192. package/src/commands/preset.ts +186 -0
  193. package/src/core/claude-runner.ts +45 -5
  194. package/src/core/codex-runner.ts +32 -7
  195. package/src/core/failure-analyzer.ts +2 -1
  196. package/src/core/git.ts +57 -3
  197. package/src/core/project-manager.ts +2 -1
  198. package/src/core/pull-request.ts +5 -5
  199. package/src/core/runner-factory.ts +9 -9
  200. package/src/core/runner-interface.ts +1 -1
  201. package/src/core/runner-types.ts +17 -4
  202. package/src/core/state-derivation.ts +3 -3
  203. package/src/parsers/codex-stream-renderer.ts +149 -4
  204. package/src/prompts/amend.ts +30 -105
  205. package/src/prompts/config-docs.md +206 -62
  206. package/src/prompts/execution.ts +17 -34
  207. package/src/prompts/planning.ts +23 -124
  208. package/src/types/config.ts +47 -59
  209. package/src/utils/config.ts +248 -115
  210. package/src/utils/name-generator.ts +29 -13
  211. package/src/utils/paths.ts +10 -0
  212. package/src/utils/terminal-symbols.ts +46 -6
  213. package/src/utils/token-tracker.ts +96 -57
  214. package/src/utils/validation.ts +5 -30
  215. package/tests/unit/amend-prompt.test.ts +3 -2
  216. package/tests/unit/claude-runner-interactive.test.ts +21 -3
  217. package/tests/unit/claude-runner.test.ts +39 -0
  218. package/tests/unit/codex-runner.test.ts +163 -0
  219. package/tests/unit/codex-stream-renderer.test.ts +127 -0
  220. package/tests/unit/command-output.test.ts +57 -0
  221. package/tests/unit/commit-planning-artifacts-worktree.test.ts +24 -7
  222. package/tests/unit/commit-planning-artifacts.test.ts +26 -4
  223. package/tests/unit/config-command.test.ts +215 -303
  224. package/tests/unit/config.test.ts +319 -235
  225. package/tests/unit/dependency-integration.test.ts +27 -1
  226. package/tests/unit/do-model-display.test.ts +35 -0
  227. package/tests/unit/execution-prompt.test.ts +49 -19
  228. package/tests/unit/name-generator.test.ts +82 -12
  229. package/tests/unit/plan-command-auto-flag.test.ts +7 -10
  230. package/tests/unit/plan-command.test.ts +14 -17
  231. package/tests/unit/planning-prompt.test.ts +9 -8
  232. package/tests/unit/terminal-symbols.test.ts +94 -3
  233. package/tests/unit/token-tracker.test.ts +180 -1
  234. package/tests/unit/validation.test.ts +9 -41
  235. package/tests/unit/worktree-flag-override.test.ts +0 -186
@@ -1,10 +1,10 @@
1
- /** CLI harness provider */
2
- export type HarnessProvider = 'claude' | 'codex';
1
+ /** CLI harness name */
2
+ export type HarnessName = 'claude' | 'codex';
3
3
  /** Short alias for a Claude model family */
4
4
  export type ClaudeModelAlias = 'sonnet' | 'haiku' | 'opus';
5
5
  /** Short alias for a Codex model family */
6
- export type CodexModelAlias = 'spark' | 'codex' | 'gpt54';
7
- /** Provider-agnostic model alias (union of all provider aliases) */
6
+ export type CodexModelAlias = 'codex' | 'gpt54';
7
+ /** Harness-agnostic model alias (union of all harness aliases) */
8
8
  export type ModelAlias = ClaudeModelAlias | CodexModelAlias;
9
9
  /**
10
10
  * Accepts short aliases (`sonnet`, `haiku`, `opus`) or full model IDs
@@ -14,7 +14,7 @@ export type ModelAlias = ClaudeModelAlias | CodexModelAlias;
14
14
  export type ClaudeModelName = ClaudeModelAlias | (string & {
15
15
  __brand?: 'FullModelId';
16
16
  });
17
- /** Provider-agnostic model name — accepts any alias, full ID, or harness-prefixed format */
17
+ /** Harness-agnostic model name — accepts any alias, full ID, or harness-prefixed format */
18
18
  export type ModelName = string & {
19
19
  __brand?: 'ModelName';
20
20
  };
@@ -22,22 +22,36 @@ export type ModelName = string & {
22
22
  export type TaskEffortLevel = 'low' | 'medium' | 'high';
23
23
  export type ModelScenario = 'plan' | 'execute' | 'nameGeneration' | 'failureAnalysis' | 'prGeneration' | 'config';
24
24
  export type CommitFormatType = 'task' | 'plan' | 'amend';
25
+ /**
26
+ * A harness-aware model configuration entry.
27
+ * Stores model, harness, and optional reasoning effort together.
28
+ */
29
+ export interface ModelEntry {
30
+ /** Model name: short alias (opus, sonnet, gpt-5.4) or full ID */
31
+ model: string;
32
+ /** Which CLI harness to use for this entry */
33
+ harness: HarnessName;
34
+ /** Optional reasoning effort hint. Codex accepts: "none", "minimal", "low", "medium", "high", "xhigh" */
35
+ reasoningEffort?: string;
36
+ /** Enable fast mode for faster output (Claude only). Default: false/omitted. */
37
+ fast?: boolean;
38
+ }
25
39
  export interface ModelsConfig {
26
- plan: ClaudeModelName;
27
- execute: ClaudeModelName;
28
- nameGeneration: ClaudeModelName;
29
- failureAnalysis: ClaudeModelName;
30
- prGeneration: ClaudeModelName;
31
- config: ClaudeModelName;
40
+ plan: ModelEntry;
41
+ execute: ModelEntry;
42
+ nameGeneration: ModelEntry;
43
+ failureAnalysis: ModelEntry;
44
+ prGeneration: ModelEntry;
45
+ config: ModelEntry;
32
46
  }
33
47
  /**
34
- * Maps task complexity labels to model names.
48
+ * Maps task complexity labels to harness-aware model entries.
35
49
  * Used to resolve per-task effort frontmatter to a model.
36
50
  */
37
51
  export interface EffortMappingConfig {
38
- low: ClaudeModelName;
39
- medium: ClaudeModelName;
40
- high: ClaudeModelName;
52
+ low: ModelEntry;
53
+ medium: ModelEntry;
54
+ high: ModelEntry;
41
55
  }
42
56
  export interface CommitFormatConfig {
43
57
  task: string;
@@ -51,15 +65,9 @@ export interface DisplayConfig {
51
65
  showCacheTokens: boolean;
52
66
  }
53
67
  export interface RafConfig {
54
- /** CLI harness provider. Default: 'claude' */
55
- provider: HarnessProvider;
56
68
  models: ModelsConfig;
57
- /** Maps task complexity labels (low/medium/high) to models. Used for per-task effort frontmatter. */
69
+ /** Maps task complexity labels (low/medium/high) to model entries. Used for per-task effort frontmatter. */
58
70
  effortMapping: EffortMappingConfig;
59
- /** Codex model assignments per scenario */
60
- codexModels: ModelsConfig;
61
- /** Maps task complexity labels to Codex models */
62
- codexEffortMapping: EffortMappingConfig;
63
71
  timeout: number;
64
72
  maxRetries: number;
65
73
  autoCommit: boolean;
@@ -77,7 +85,7 @@ export type DeepPartial<T> = {
77
85
  export type UserConfig = DeepPartial<RafConfig>;
78
86
  export declare const VALID_MODEL_ALIASES: readonly ClaudeModelAlias[];
79
87
  export declare const VALID_CODEX_MODEL_ALIASES: readonly CodexModelAlias[];
80
- export declare const VALID_HARNESS_PROVIDERS: readonly HarnessProvider[];
88
+ export declare const VALID_HARNESSES: readonly HarnessName[];
81
89
  /**
82
90
  * Regex for full Claude model IDs (e.g., `claude-sonnet-4-5-20250929`, `claude-opus-4-5-20251101`).
83
91
  * Pattern: claude-{family}-{major}(-{minor})?(-{date})?
@@ -95,19 +103,12 @@ export declare const DEFAULT_RAF_CONFIG: {
95
103
  };
96
104
  export interface PlanCommandOptions {
97
105
  projectName?: string;
98
- model?: ClaudeModelName;
99
- sonnet?: boolean;
100
- provider?: HarnessProvider;
101
106
  }
102
107
  export interface DoCommandOptions {
103
108
  timeout?: number;
104
109
  verbose?: boolean;
105
110
  debug?: boolean;
106
111
  force?: boolean;
107
- model?: ClaudeModelName;
108
- sonnet?: boolean;
109
- worktree?: boolean;
110
- provider?: HarnessProvider;
111
112
  }
112
113
  export interface StatusCommandOptions {
113
114
  json?: boolean;
@@ -119,7 +120,7 @@ export interface ModelTokenUsage {
119
120
  cacheReadInputTokens: number;
120
121
  cacheCreationInputTokens: number;
121
122
  /** Cost in USD for this model's usage (provided by Claude CLI). */
122
- costUsd: number;
123
+ costUsd?: number | null;
123
124
  }
124
125
  /** Token usage data extracted from Claude CLI stream-json result event. */
125
126
  export interface UsageData {
@@ -131,6 +132,6 @@ export interface UsageData {
131
132
  /** Per-model breakdown (e.g., { "claude-opus-4-6": { ... } }). */
132
133
  modelUsage: Record<string, ModelTokenUsage>;
133
134
  /** Total cost in USD for this usage (provided by Claude CLI). */
134
- totalCostUsd: number;
135
+ totalCostUsd: number | null;
135
136
  }
136
137
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,16 @@
1
1
  export const DEFAULT_CONFIG = {
2
- provider: 'claude',
3
2
  models: {
4
- plan: 'opus',
5
- execute: 'opus',
6
- nameGeneration: 'sonnet',
7
- failureAnalysis: 'haiku',
8
- prGeneration: 'sonnet',
9
- config: 'sonnet',
3
+ plan: { model: 'opus', harness: 'claude' },
4
+ execute: { model: 'opus', harness: 'claude' },
5
+ nameGeneration: { model: 'sonnet', harness: 'claude' },
6
+ failureAnalysis: { model: 'haiku', harness: 'claude' },
7
+ prGeneration: { model: 'sonnet', harness: 'claude' },
8
+ config: { model: 'sonnet', harness: 'claude' },
10
9
  },
11
10
  effortMapping: {
12
- low: 'sonnet',
13
- medium: 'opus',
14
- high: 'opus',
15
- },
16
- codexModels: {
17
- plan: 'gpt-5.3-codex',
18
- execute: 'gpt-5.4',
19
- nameGeneration: 'gpt-5.3-codex-spark',
20
- failureAnalysis: 'gpt-5.3-codex-spark',
21
- prGeneration: 'gpt-5.3-codex',
22
- config: 'gpt-5.3-codex',
23
- },
24
- codexEffortMapping: {
25
- low: 'gpt-5.3-codex-spark',
26
- medium: 'gpt-5.3-codex',
27
- high: 'gpt-5.4',
11
+ low: { model: 'sonnet', harness: 'claude' },
12
+ medium: { model: 'opus', harness: 'claude' },
13
+ high: { model: 'opus', harness: 'claude' },
28
14
  },
29
15
  timeout: 60,
30
16
  maxRetries: 3,
@@ -32,9 +18,9 @@ export const DEFAULT_CONFIG = {
32
18
  worktree: false,
33
19
  syncMainBranch: true,
34
20
  commitFormat: {
35
- task: '{prefix}[{projectId}:{taskId}] {description}',
36
- plan: '{prefix}[{projectId}] Plan: {projectName}',
37
- amend: '{prefix}[{projectId}] Amend: {projectName}',
21
+ task: '{prefix}[{projectName}:{taskId}] {description}',
22
+ plan: '{prefix}[{projectName}] Plan: {description}',
23
+ amend: '{prefix}[{projectName}] Amend: {description}',
38
24
  prefix: 'RAF',
39
25
  },
40
26
  display: {
@@ -42,8 +28,8 @@ export const DEFAULT_CONFIG = {
42
28
  },
43
29
  };
44
30
  export const VALID_MODEL_ALIASES = ['sonnet', 'haiku', 'opus'];
45
- export const VALID_CODEX_MODEL_ALIASES = ['spark', 'codex', 'gpt54'];
46
- export const VALID_HARNESS_PROVIDERS = ['claude', 'codex'];
31
+ export const VALID_CODEX_MODEL_ALIASES = ['codex', 'gpt54'];
32
+ export const VALID_HARNESSES = ['claude', 'codex'];
47
33
  /**
48
34
  * Regex for full Claude model IDs (e.g., `claude-sonnet-4-5-20250929`, `claude-opus-4-5-20251101`).
49
35
  * Pattern: claude-{family}-{major}(-{minor})?(-{date})?
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAgFA,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,QAAQ;QACxB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE,QAAQ;QACtB,MAAM,EAAE,QAAQ;KACjB;IACD,aAAa,EAAE;QACb,GAAG,EAAE,QAAQ;QACb,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;KACb;IACD,WAAW,EAAE;QACX,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,SAAS;QAClB,cAAc,EAAE,qBAAqB;QACrC,eAAe,EAAE,qBAAqB;QACtC,YAAY,EAAE,eAAe;QAC7B,MAAM,EAAE,eAAe;KACxB;IACD,kBAAkB,EAAE;QAClB,GAAG,EAAE,qBAAqB;QAC1B,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE,SAAS;KAChB;IACD,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,8CAA8C;QACpD,IAAI,EAAE,2CAA2C;QACjD,KAAK,EAAE,4CAA4C;QACnD,MAAM,EAAE,KAAK;KACd;IACD,OAAO,EAAE;QACP,eAAe,EAAE,IAAI;KACtB;CACF,CAAC;AASF,MAAM,CAAC,MAAM,mBAAmB,GAAgC,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,yBAAyB,GAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEjG,MAAM,CAAC,MAAM,uBAAuB,GAA+B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;AAElE,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEhD,qDAAqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAExF,qDAAqD;AACrD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,cAAc,EAAE,cAAc,CAAC,OAAO;IACtC,iBAAiB,EAAE,cAAc,CAAC,UAAU;IAC5C,UAAU,EAAE,cAAc,CAAC,UAAU;CACtC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAyFA,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,MAAM,EAAE;QACN,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC1C,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC7C,cAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;QACtD,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QACtD,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;QACpD,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;KAC/C;IACD,aAAa,EAAE;QACb,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC3C,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC5C,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;KAC3C;IACD,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,gDAAgD;QACtD,IAAI,EAAE,6CAA6C;QACnD,KAAK,EAAE,8CAA8C;QACrD,MAAM,EAAE,KAAK;KACd;IACD,OAAO,EAAE;QACP,eAAe,EAAE,IAAI;KACtB;CACF,CAAC;AASF,MAAM,CAAC,MAAM,mBAAmB,GAAgC,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,yBAAyB,GAA+B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAExF,MAAM,CAAC,MAAM,eAAe,GAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;AAElE,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEhD,qDAAqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAExF,qDAAqD;AACrD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,cAAc,EAAE,cAAc,CAAC,OAAO;IACtC,iBAAiB,EAAE,cAAc,CAAC,UAAU;IAC5C,UAAU,EAAE,cAAc,CAAC,UAAU;CACtC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { RafConfig, UserConfig, ClaudeModelName, TaskEffortLevel, ModelScenario, CommitFormatType, DisplayConfig, EffortMappingConfig, HarnessProvider } from '../types/config.js';
1
+ import { RafConfig, UserConfig, TaskEffortLevel, ModelScenario, ModelEntry, CommitFormatType, DisplayConfig, EffortMappingConfig, HarnessName } from '../types/config.js';
2
2
  export declare function getConfigPath(): string;
3
3
  /**
4
4
  * Get the path to Claude CLI settings file.
@@ -12,22 +12,23 @@ export declare class ConfigValidationError extends Error {
12
12
  * Accepts:
13
13
  * - Claude short aliases: sonnet, haiku, opus
14
14
  * - Claude full IDs: claude-opus-4-6
15
- * - Codex short aliases: spark, codex, gpt54
16
- * - Raw Codex model IDs: gpt-5.4, gpt-5.3-codex-spark
15
+ * - Codex short aliases: codex, gpt54
16
+ * - Raw Codex model IDs: gpt-5.4, gpt-5.3-codex
17
17
  * - Harness-prefixed format: claude/opus, codex/gpt-5.4
18
18
  */
19
19
  export declare function isValidModelName(value: string): boolean;
20
20
  /**
21
- * Parse a model spec string into its provider and model components.
22
- * - `codex/gpt-5.4` -> { provider: 'codex', model: 'gpt-5.4' }
23
- * - `claude/opus` -> { provider: 'claude', model: 'opus' }
24
- * - `opus` -> { provider: 'claude', model: 'opus' } (defaults to claude)
25
- * - `gpt-5.4` -> { provider: 'codex', model: 'gpt-5.4' } (inferred from model format)
21
+ * Parse a model spec string into its harness and model components.
22
+ * - `codex/gpt-5.4` -> { harness: 'codex', model: 'gpt-5.4' }
23
+ * - `claude/opus` -> { harness: 'claude', model: 'opus' }
24
+ * - `opus` -> { harness: 'claude', model: 'opus' } (defaults to claude)
25
+ * - `gpt-5.4` -> { harness: 'codex', model: 'gpt-5.4' } (inferred from model format)
26
26
  */
27
27
  export declare function parseModelSpec(modelSpec: string): {
28
- provider: HarnessProvider;
28
+ harness: HarnessName;
29
29
  model: string;
30
30
  };
31
+ export declare function collectConfigValidationWarnings(config: UserConfig): string[];
31
32
  export declare function validateConfig(config: unknown): UserConfig;
32
33
  /**
33
34
  * Resolve the final config by loading from ~/.raf/raf.config.json and merging with defaults.
@@ -49,15 +50,18 @@ export declare function saveConfig(configPath: string, config: UserConfig): void
49
50
  */
50
51
  export declare function getResolvedConfig(): RafConfig;
51
52
  export declare function resetConfigCache(): void;
52
- export declare function getModel(scenario: ModelScenario, provider?: HarnessProvider): ClaudeModelName;
53
+ /**
54
+ * Get the model entry for a scenario.
55
+ */
56
+ export declare function getModel(scenario: ModelScenario): ModelEntry;
53
57
  /**
54
58
  * Get the full effort mapping config.
55
59
  */
56
- export declare function getEffortMapping(provider?: HarnessProvider): EffortMappingConfig;
60
+ export declare function getEffortMapping(): EffortMappingConfig;
57
61
  /**
58
- * Resolve a task effort level to a model name using the effort mapping config.
62
+ * Resolve a task effort level to a model entry using the effort mapping config.
59
63
  */
60
- export declare function resolveEffortToModel(effort: TaskEffortLevel, provider?: HarnessProvider): ClaudeModelName;
64
+ export declare function resolveEffortToModel(effort: TaskEffortLevel): ModelEntry;
61
65
  /**
62
66
  * Get the numeric tier of a model for comparison.
63
67
  * Extracts family from full model IDs (e.g., 'claude-opus-4-6' -> 3).
@@ -65,10 +69,11 @@ export declare function resolveEffortToModel(effort: TaskEffortLevel, provider?:
65
69
  */
66
70
  export declare function getModelTier(modelName: string): number;
67
71
  /**
68
- * Apply ceiling to a model based on the configured models.execute ceiling.
69
- * Returns the lower-tier model between the input and the ceiling.
72
+ * Apply ceiling to a model entry based on the configured models.execute ceiling.
73
+ * Returns the lower-tier entry between the input and the ceiling.
74
+ * When the input exceeds the ceiling, the ceiling entry is returned (including its harness).
70
75
  */
71
- export declare function applyModelCeiling(resolvedModel: string, ceiling?: string): string;
76
+ export declare function applyModelCeiling(resolved: ModelEntry, ceiling?: ModelEntry): ModelEntry;
72
77
  export declare function getCommitFormat(type: CommitFormatType): string;
73
78
  export declare function getCommitPrefix(): string;
74
79
  export declare function getTimeout(): number;
@@ -82,6 +87,20 @@ export declare function getSyncMainBranch(): boolean;
82
87
  * Returns the original string if no known alias can be extracted.
83
88
  */
84
89
  export declare function getModelShortName(modelId: string): string;
90
+ /**
91
+ * Get the centralized user-facing display label for a model.
92
+ * Keeps concise Claude labels, while normalizing compact aliases like gpt54 -> gpt-5.4.
93
+ */
94
+ export declare function getModelDisplayName(modelId: string): string;
95
+ interface ModelDisplayOptions {
96
+ includeHarness?: boolean;
97
+ fullId?: boolean;
98
+ }
99
+ /**
100
+ * Format a model label for user-facing logs.
101
+ * Defaults to the centralized display policy, or can opt into explicit full-ID display.
102
+ */
103
+ export declare function formatModelDisplay(model: string, harness?: HarnessName, options?: ModelDisplayOptions): string;
85
104
  /**
86
105
  * Resolve a model name to its full model ID.
87
106
  * If already a full model ID, returns as-is.
@@ -115,4 +134,5 @@ export declare function getConfig(): {
115
134
  maxRetries: number;
116
135
  autoCommit: boolean;
117
136
  };
137
+ export {};
118
138
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}