@brutalist/mcp 1.9.0 → 1.9.2

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/README.md CHANGED
@@ -175,11 +175,11 @@ For analyses that exceed your IDE's token limit:
175
175
  # Set chunk size for large codebases
176
176
  roast_codebase({targetPath: "/monorepo", limit: 20000})
177
177
 
178
- # Continue from where you left off
179
- roast_codebase({targetPath: "/monorepo", offset: 20000, limit: 20000})
178
+ # Continue from cached output; omit resume
179
+ roast_codebase({targetPath: "/monorepo", context_id: "abc123", offset: 20000, limit: 20000})
180
180
 
181
181
  # Use cursor-based navigation
182
- roast_codebase({targetPath: "/complex-system", cursor: "offset:25000"})
182
+ roast_codebase({targetPath: "/complex-system", context_id: "abc123", cursor: "offset:25000"})
183
183
  ```
184
184
 
185
185
  Features:
@@ -187,6 +187,7 @@ Features:
187
187
  - Token estimation (~4 chars = 1 token)
188
188
  - Progress indicators
189
189
  - Configurable chunk size (1K to 100K characters)
190
+ - `resume: true` is only for new follow-up prompts and starts another agent run
190
191
 
191
192
  ## Tools
192
193
 
@@ -258,17 +259,29 @@ Untagged citations are a protocol violation. The "state doctrine without a cite"
258
259
 
259
260
  ### Gemini Frontier Model Rotation
260
261
 
261
- For Gemini, the server pins `gemini-3.1-pro-preview` as the default to prevent the CLI's Auto router from downselecting to `gemini-2.5-flash-lite` under verification load. When the preview tier is saturated (429 / "No capacity available"), the orchestrator automatically rotates through the frontier chain:
262
+ For Gemini, the server pins `gemini-3.1-pro-preview` as the default to prevent the CLI's Auto router from downselecting to `gemini-2.5-flash-lite` under verification load. The orchestrator automatically rotates through the frontier chain when the current tier is unavailable:
262
263
 
263
- 1. `gemini-3.1-pro-preview` (newest frontier)
264
- 2. `gemini-3-pro-preview` (previous frontier)
265
- 3. `gemini-2.5-pro` (stable last-gen frontier)
264
+ 1. `gemini-3.1-pro-preview` (newest frontier, preview-tier access)
265
+ 2. `gemini-3-pro-preview` (previous frontier, preview-tier access)
266
+ 3. `gemini-2.5-pro` (stable last-gen frontier, universally available)
267
+
268
+ **Rotation fires on both capacity and access failures.** Users without preview-tier access (most accounts) will see the chain naturally fall through to `gemini-2.5-pro` on the first call — which is still a frontier-class model, far better than the Auto router's `gemini-2.5-flash-lite` downselect. Users *with* preview access get the newest model when capacity is available, with graceful fallback when it isn't.
269
+
270
+ Rotatable failure patterns:
271
+ - Capacity: `429`, `"No capacity available"`, `quota`, `rate limit`, `too many requests`
272
+ - Access: `ModelNotFoundError`, `"Requested entity was not found"`, `403`, `permission denied`
273
+
274
+ Rotation aborts immediately on unrelated failures (auth, subprocess crash, prompt rejection) — a different model won't fix those.
266
275
 
267
276
  Overrides:
268
277
  - Per-call: `roast(..., models={gemini: "gemini-2.5-flash"})` — caller chooses, no rotation.
269
- - Per-environment: `BRUTALIST_GEMINI_MODEL=gemini-2.5-pro` — operator chooses, no rotation.
278
+ - Per-environment: `BRUTALIST_GEMINI_MODEL=gemini-2.5-pro` — operator chooses, no rotation. Set this to `gemini-2.5-pro` to skip the preview-tier probe cost if you know your account lacks access.
279
+
280
+ ### Codex Model Selection
281
+
282
+ Codex uses the Codex CLI's configured/default model by default. The server deliberately does not pass `--model` for Codex, even if `models.codex` is present, so stale tool-call tags cannot override a newer `~/.codex/config.toml` value.
270
283
 
271
- Rotation only fires on saturation signals (rate/usage/quota). Non-saturation failures (auth, subprocess, prompt errors) abort rotation immediately.
284
+ Set `BRUTALIST_CODEX_ALLOW_MODEL_OVERRIDE=true` only if you explicitly want Brutalist to pass `models.codex` through as `codex exec --model ...`. When that opt-in is enabled, deprecated Codex model names are still resolved through the migration table discovered from the Codex CLI config.
272
285
 
273
286
  ## Why Multiple Perspectives
274
287
 
@@ -1 +1 @@
1
- {"version":3,"file":"brutalist-server.d.ts","sourceRoot":"","sources":["../src/brutalist-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EACL,qBAAqB,EAGtB,MAAM,sBAAsB,CAAC;AAiB9B;;;;;;;;;GASG;AACH,qBAAa,eAAe;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,qBAAqB,CAAC;IAKrC,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,aAAa,CAAgB;IAGrC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAA2B;IAEtE;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,OAAO,KAAK,eAAe,GAE1B;IACD,OAAO,KAAK,eAAe,QAK1B;IAGD,OAAO,CAAC,cAAc,CAIjB;IAGL,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,mBAAmB,CAAC,CAAiB;gBAEjC,MAAM,GAAE,qBAA0B;IAsFxC,KAAK;YAeG,gBAAgB;YAMhB,eAAe;IActB,aAAa,IAAI,MAAM,GAAG,SAAS;IAK7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;;OAGG;IACI,qBAAqB,IAAI,IAAI;IAcvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrC;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAgF1B;IAEF;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAyC1B;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwO5B;;OAEG;YACW,kBAAkB;IA2EhC;;;;OAIG;YACW,yBAAyB;IAIvC;;;;OAIG;YACW,gBAAgB;CAG/B"}
1
+ {"version":3,"file":"brutalist-server.d.ts","sourceRoot":"","sources":["../src/brutalist-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EACL,qBAAqB,EAGtB,MAAM,sBAAsB,CAAC;AAiB9B;;;;;;;;;GASG;AACH,qBAAa,eAAe;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,qBAAqB,CAAC;IAKrC,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,aAAa,CAAgB;IAGrC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAA2B;IAEtE;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,OAAO,KAAK,eAAe,GAE1B;IACD,OAAO,KAAK,eAAe,QAK1B;IAGD,OAAO,CAAC,cAAc,CAIjB;IAGL,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,mBAAmB,CAAC,CAAiB;gBAEjC,MAAM,GAAE,qBAA0B;IAsFxC,KAAK;YAeG,gBAAgB;YAMhB,eAAe;IActB,aAAa,IAAI,MAAM,GAAG,SAAS;IAK7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;;OAGG;IACI,qBAAqB,IAAI,IAAI;IAcvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrC;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAgF1B;IAEF;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAyC1B;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyO5B;;OAEG;YACW,kBAAkB;IA2EhC;;;;OAIG;YACW,yBAAyB;IAIvC;;;;OAIG;YACW,gBAAgB;CAG/B"}
@@ -13,7 +13,7 @@ import { getDomain, generateToolConfig } from './registry/domains.js';
13
13
  import { filterToolsByIntent, getMatchingDomainIds } from './tool-router.js';
14
14
  import { DebateOrchestrator } from './debate/index.js';
15
15
  // Use environment variable or fallback to manual version
16
- const PACKAGE_VERSION = process.env.npm_package_version || "1.3.0";
16
+ const PACKAGE_VERSION = process.env.npm_package_version || "1.9.2";
17
17
  /**
18
18
  * BrutalistServer - Composition root for the Brutalist MCP Server
19
19
  *
@@ -378,13 +378,13 @@ export class BrutalistServer {
378
378
  claude: z.string().optional(),
379
379
  codex: z.string().optional(),
380
380
  gemini: z.string().optional()
381
- }).optional().describe("Per-CLI model override. Pass any model the CLI supports. Deprecated codex names auto-resolve. Omit to use each CLI's configured default."),
381
+ }).optional().describe("Per-CLI model override. Claude/Gemini honor overrides. Codex uses the Codex CLI configured/default model by default; set BRUTALIST_CODEX_ALLOW_MODEL_OVERRIDE=true to allow a codex override. Omit to use each CLI's configured default."),
382
382
  // Pagination
383
383
  offset: z.number().min(0).optional().describe("Pagination offset"),
384
384
  limit: z.number().min(1000).max(100000).optional().describe("Max chars/chunk"),
385
385
  cursor: z.string().optional().describe("Pagination cursor"),
386
- context_id: z.string().optional().describe("Context ID for pagination/continuation"),
387
- resume: z.boolean().optional().describe("Continue conversation"),
386
+ context_id: z.string().optional().describe("Context ID for cached pagination or conversation continuation"),
387
+ resume: z.boolean().optional().describe("Continue conversation with a new prompt; omit for pagination/page reads"),
388
388
  force_refresh: z.boolean().optional().describe("Ignore cache"),
389
389
  // Domain-specific optional fields (passed through to handler)
390
390
  depth: z.number().optional().describe("Max depth for file_structure"),
@@ -431,10 +431,10 @@ export class BrutalistServer {
431
431
  claude: z.string().optional(),
432
432
  codex: z.string().optional(),
433
433
  gemini: z.string().optional()
434
- }).optional().describe("Model overrides for specific agents"),
434
+ }).optional().describe("Model overrides for specific agents. Codex uses the Codex CLI configured/default model by default unless BRUTALIST_CODEX_ALLOW_MODEL_OVERRIDE=true."),
435
435
  // Pagination and conversation continuation
436
- context_id: z.string().optional().describe("Context ID for pagination/continuation"),
437
- resume: z.boolean().optional().describe("Continue debate (requires context_id)"),
436
+ context_id: z.string().optional().describe("Context ID for cached pagination or debate continuation"),
437
+ resume: z.boolean().optional().describe("Continue debate with a new prompt; omit for pagination/page reads"),
438
438
  offset: z.number().min(0).optional(),
439
439
  limit: z.number().min(1000).max(100000).optional(),
440
440
  cursor: z.string().optional(),
@@ -531,9 +531,10 @@ export class BrutalistServer {
531
531
  roster += "- `context_id` alone returns cached response at different offsets\n";
532
532
  roster += "- Example: `roast(domain: 'codebase', target: '.', context_id: 'abc123', offset: 25000)`\n\n";
533
533
  roster += "**2. Conversation Continuation** (resume dialogue with history):\n";
534
- roster += "- `context_id` + `resume: true` + new content continues the conversation\n";
534
+ roster += "- `context_id` + `resume: true` + new content continues the conversation and re-runs agents\n";
535
535
  roster += "- Prior conversation is injected into CLI agent context\n";
536
- roster += "- Example: `roast(domain: 'codebase', target: '.', context_id: 'abc123', resume: true)`\n\n";
536
+ roster += "- Do not set `resume` when reading another page of cached output\n";
537
+ roster += "- Example: `roast(domain: 'codebase', target: '.', context_id: 'abc123', resume: true, context: 'Follow up on issue 3')`\n\n";
537
538
  roster += "**Cache TTL:** 2 hours\n\n";
538
539
  // Add MCP server info
539
540
  const mcpServerNames = listRegisteredServers();
@@ -1 +1 @@
1
- {"version":3,"file":"brutalist-server.js","sourceRoot":"","sources":["../src/brutalist-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brutalist-server.js","sourceRoot":"","sources":["../src/brutalist-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-adapter.d.ts","sourceRoot":"","sources":["../../src/cli-adapters/codex-adapter.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAoEzE,qBAAa,YAAa,YAAW,WAAW;IAC9C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAW;IAEjC,SAAS,IAAI,gBAAgB;IAIvB,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IAiEF;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAQ/E,OAAO,CAAC,wBAAwB;CAqCjC"}
1
+ {"version":3,"file":"codex-adapter.d.ts","sourceRoot":"","sources":["../../src/cli-adapters/codex-adapter.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAoEzE,qBAAa,YAAa,YAAW,WAAW;IAC9C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAW;IAEjC,SAAS,IAAI,gBAAgB;IAIvB,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IA0EF;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAQ/E,OAAO,CAAC,wBAAwB;CAqCjC"}
@@ -79,7 +79,16 @@ export class CodexAdapter {
79
79
  const mcpEnabled = options.mcpServers && options.mcpServers.length > 0;
80
80
  // Build args
81
81
  const args = [...config.defaultArgs];
82
- const resolvedModel = modelResolver.resolveModel('codex', options.models?.codex);
82
+ const allowModelOverride = process.env.BRUTALIST_CODEX_ALLOW_MODEL_OVERRIDE === 'true';
83
+ const requestedModel = options.models?.codex;
84
+ if (requestedModel && !allowModelOverride) {
85
+ log.info('Codex model override ignored; using Codex CLI configured/default model', {
86
+ requestedModelLength: requestedModel.length,
87
+ });
88
+ }
89
+ const resolvedModel = allowModelOverride
90
+ ? modelResolver.resolveModel('codex', requestedModel)
91
+ : undefined;
83
92
  if (resolvedModel) {
84
93
  args.push(config.modelArgName, resolvedModel);
85
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../src/cli-adapters/codex-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../src/cli-adapters/codex-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;GAeG;AACH,SAAS,sBAAsB,CAC7B,SAAmB,EACnB,GAAqB;IAErB,IAAI,OAAO,qBAAqB,KAAK,UAAU,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACtC,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,IAAI,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,YAAY,GAAqB;IACrC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,CAAC;IACxE,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC;IAClD,aAAa,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,IAAI,gRAAgR;IAC/T,UAAU,EAAE;QACV,YAAY,EAAE,iBAAiB;QAC/B,iBAAiB,EAAE,aAAa;QAChC,eAAe,EAAE;YACf,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,WAAW,EAAE,yBAAyB;SAC9C;KACF;CACF,CAAC;AAEF,MAAM,OAAO,YAAY;IACd,IAAI,GAAY,OAAO,CAAC;IAEjC,SAAS;QACP,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,YAAoB,EACpB,OAAwB,EACxB,aAA4B,EAC5B,SAAiC;QAQjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC;QACtC,MAAM,MAAM,GAAG,YAAY,CAAC;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAEvE,aAAa;QACb,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAoC,KAAK,MAAM,CAAC;QACvF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;QAC7C,IAAI,cAAc,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,wEAAwE,EAAE;gBACjF,oBAAoB,EAAE,cAAc,CAAC,MAAM;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,MAAM,aAAa,GAAG,kBAAkB;YACtC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QAED,oBAAoB;QACpB,IAAI,iBAAqC,CAAC;QAE1C,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,4DAA4D;YAC5D,iDAAiD;YACjD,4BAA4B;YAC5B,MAAM,cAAc,GAAG,sBAAsB,CAAC,OAAO,CAAC,UAAW,EAAE,GAAG,CAAC,CAAC;YACxE,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEzC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;gBAE9B,wFAAwF;gBACxF,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBACpD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,iBAAkB,IAAI,YAAY,EAAE,CAAC,CAAC;gBAC7D,gEAAgE;gBAEhE,GAAG,CAAC,IAAI,CAAC,qCAAqC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAClE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC;YAChD,CAAC,CAAC,GAAG,YAAY,OAAO,UAAU,EAAE,CAAC;QAEvC,uBAAuB;QACvB,MAAM,GAAG,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QAE7B,uBAAuB;QACvB,MAAM,OAAO,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACrD,CAAC;QAED,8EAA8E;QAC9E,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACxC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC1C,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC;QAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC;IAC1F,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,SAAiB,EAAE,IAAc,EAAE,GAAsB;QACpE,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;IACrE,CAAC;IAEO,wBAAwB,CAAC,UAAkB,EAAE,GAAqB;QACxE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACtC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAE5C,GAAG,CAAC,KAAK,CAAC,wCAAwC,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC;QAE/E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAE1D,MAAM,UAAU,GAAG,KAAsC,CAAC;YAE1D,GAAG,CAAC,KAAK,CAAC,+CAA+C,UAAU,CAAC,IAAI,eAAe,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhH,qFAAqF;YACrF,gEAAgE;YAChE,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC5D,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACrE,+BAA+B;oBAC/B,GAAG,CAAC,IAAI,CAAC,6DAA6D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC;oBAC3G,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBACD,wBAAwB;gBACxB,uCAAuC;gBACvC,iDAAiD;gBACjD,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,uCAAuC,aAAa,CAAC,MAAM,oBAAoB,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC/G,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -110,16 +110,21 @@ export declare class CLIAgentOrchestrator {
110
110
  executeSingleCLI(cli: 'claude' | 'codex' | 'gemini', userPrompt: string, systemPromptSpec: string, options?: CLIAgentOptions): Promise<CLIAgentResponse>;
111
111
  /**
112
112
  * Gemini frontier rotation - iterate through GEMINI_FRONTIER_CHAIN on
113
- * saturation failures.
113
+ * rotatable failures (capacity saturation OR tier access denial).
114
114
  *
115
115
  * Only active when neither caller nor operator has chosen a model. Each
116
116
  * attempt injects the model via options.models.gemini. Per-attempt
117
- * saturation is detected via the existing quota-pattern detection in
118
- * _executeCLI - saturation produces success=false with an error matching
119
- * /\b429\b/ or quota-family patterns. On non-saturation failure,
120
- * rotation stops immediately (a different model will not fix prompt
121
- * errors, subprocess crashes, or auth failures). On chain exhaustion,
122
- * the last failing response is returned.
117
+ * failures are classified by isGeminiRotatableError(): capacity errors
118
+ * (quota/429) AND access errors (ModelNotFoundError / permission denied)
119
+ * both trigger rotation. On unrelated failures (auth, prompt rejection,
120
+ * subprocess crashes) rotation stops immediately a different model
121
+ * will not fix those. On chain exhaustion, the last failing response
122
+ * is returned.
123
+ *
124
+ * In practice the typical non-preview user trajectory is:
125
+ * gemini-3.1-pro-preview -> access denied (rotate)
126
+ * gemini-3-pro-preview -> access denied (rotate)
127
+ * gemini-2.5-pro -> success (universally available)
123
128
  */
124
129
  private _executeGeminiWithRotation;
125
130
  private waitForAvailableSlot;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-agents.d.ts","sourceRoot":"","sources":["../src/cli-agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-agents.d.ts","sourceRoot":"","sources":["../src/cli-agents.ts"],"names":[],"mappings":"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"}
@@ -8,22 +8,49 @@ import { getProvider, parseNDJSON } from './cli-adapters/index.js';
8
8
  import { GEMINI_FRONTIER_CHAIN } from './cli-adapters/gemini-adapter.js';
9
9
  import { safeMetric } from './metrics/index.js';
10
10
  /**
11
- * Detect Gemini-specific saturation errors "No capacity available",
12
- * status 429, overloaded, quota exhaustion. Used by the frontier-chain
13
- * rotation logic in `executeSingleCLI` to decide whether to rotate to the
14
- * next model tier or fail immediately (non-saturation errors don't
15
- * benefit from a different model).
11
+ * Detect errors where rotating to the next Gemini frontier tier is likely
12
+ * to succeed. Covers two failure families:
16
13
  *
17
- * Model-not-found (/ModelNotFoundError/) is NOT saturation — it means
18
- * the model alias is wrong. Treat as non-saturation so rotation aborts
19
- * and the caller sees the error rather than silently rotating past it.
14
+ * 1. Capacity saturation on the current tier
15
+ * (429 / "No capacity available" / quota / rate-limit).
16
+ *
17
+ * 2. Access denial on the current tier — the model exists but the
18
+ * user's account lacks preview-tier access. Appears as
19
+ * ModelNotFoundError / "Requested entity was not found" / 403 /
20
+ * "permission denied". In production the frontier chain is
21
+ * probe-tested (not user-typos), so these errors mean "this tier
22
+ * is unavailable to THIS caller" — which is exactly when rotation
23
+ * to the next tier should fire. Dropping down from preview tiers
24
+ * to the universally-available `gemini-2.5-pro` is the entire
25
+ * point of the chain.
26
+ *
27
+ * Does NOT match: auth failures (missing/invalid API key), prompt-safety
28
+ * rejections, or subprocess crashes — these will not differ between
29
+ * frontier tiers.
20
30
  */
21
- function isGeminiSaturationError(error) {
31
+ function isGeminiRotatableError(error) {
22
32
  if (!error)
23
33
  return false;
24
- if (/ModelNotFoundError/i.test(error))
34
+ return /no capacity available|\b429\b|overloaded|rateLimitExceeded|rate limit|quota|too many requests|ModelNotFoundError|Requested entity was not found|\b403\b|permission denied|access denied/i.test(error);
35
+ }
36
+ function sanitizeModelNameForMessage(model) {
37
+ if (!model)
38
+ return 'requested model';
39
+ const bounded = model.slice(0, 80);
40
+ const sanitized = bounded.replace(/[^a-zA-Z0-9._:-]/g, '?');
41
+ return sanitized || 'requested model';
42
+ }
43
+ function isCodexUnsupportedChatGPTModelError(error, requestedModel) {
44
+ if (!requestedModel)
25
45
  return false;
26
- return /no capacity available|\b429\b|overloaded|rateLimitExceeded|rate limit|quota|too many requests/i.test(error);
46
+ const combined = `${error.message || ''}\n${error.stdout || ''}\n${error.stderr || ''}`;
47
+ return /model['"\\\s:A-Za-z0-9._-]*not supported when using Codex with a ChatGPT account/i.test(combined);
48
+ }
49
+ function isCodexUnsupportedModelResponse(response, requestedModel) {
50
+ if (response.agent !== 'codex' || response.success || !requestedModel || !response.error) {
51
+ return false;
52
+ }
53
+ return response.error.includes(`CODEX model "${sanitizeModelNameForMessage(requestedModel)}" is not supported`);
27
54
  }
28
55
  // Configurable timeouts and limits
29
56
  const DEFAULT_TIMEOUT = parseInt(process.env.BRUTALIST_TIMEOUT || '1800000', 10); // 30 minutes default
@@ -877,8 +904,10 @@ export class CLIAgentOrchestrator {
877
904
  'quota', 'exhausted', 'billing', 'spending limit',
878
905
  'token limit', 'plan limit',
879
906
  ];
880
- const errorText = `${execError.message || ''} ${execError.stderr || ''}`.toLowerCase();
907
+ const errorText = `${execError.message || ''} ${execError.stdout || ''} ${execError.stderr || ''}`.toLowerCase();
881
908
  const isRateLimit = rateLimitPatterns.some(p => errorText.includes(p.toLowerCase()));
909
+ const unsupportedCodexModel = cliName === 'codex'
910
+ && isCodexUnsupportedChatGPTModelError(execError, options.models?.codex);
882
911
  // Classify outcome for the spawn counter. Priority: rate-limit > timeout
883
912
  // > generic failure. Timeout check uses the centralized heuristic.
884
913
  // Classification priority is unchanged; the emission is gated on
@@ -932,9 +961,11 @@ export class CLIAgentOrchestrator {
932
961
  // callers can still distinguish timeout from generic failure.
933
962
  const errorMsg = isRateLimit
934
963
  ? `${cliName.toUpperCase()} hit rate/usage limit. Try again later or use a different agent.`
935
- : this.isTimeoutError(execError)
936
- ? `${cliName.toUpperCase()} execution timed out after ${timeout}ms. See internal logs for details.`
937
- : `${cliName.toUpperCase()} execution failed. See internal logs for details.`;
964
+ : unsupportedCodexModel
965
+ ? `${cliName.toUpperCase()} model "${sanitizeModelNameForMessage(options.models?.codex)}" is not supported by this Codex account.`
966
+ : this.isTimeoutError(execError)
967
+ ? `${cliName.toUpperCase()} execution timed out after ${timeout}ms. See internal logs for details.`
968
+ : `${cliName.toUpperCase()} execution failed. See internal logs for details.`;
938
969
  // Emit error event. The content derives from the redacted
939
970
  // `errorMsg` above, never from `error.message` directly, so
940
971
  // streaming observers (HTTP SSE, MCP notifications) do not
@@ -985,7 +1016,11 @@ export class CLIAgentOrchestrator {
985
1016
  try {
986
1017
  // Gemini frontier rotation: when using the default frontier chain (no
987
1018
  // caller-specified model, no env-var override), rotate through the
988
- // chain on saturation failures. Rotation is disabled when the caller
1019
+ // chain on saturation OR access-denied failures. Access-denied
1020
+ // rotation is the path most users take — the preview tier
1021
+ // (gemini-3.1-pro-preview / gemini-3-pro-preview) isn't granted to
1022
+ // every account, so the chain falls through to the universally-
1023
+ // available gemini-2.5-pro. Rotation is disabled when the caller
989
1024
  // or operator has explicitly chosen a model.
990
1025
  const geminiRotationActive = cli === 'gemini'
991
1026
  && !options.models?.gemini
@@ -994,7 +1029,29 @@ export class CLIAgentOrchestrator {
994
1029
  return await this._executeGeminiWithRotation(userPrompt, systemPromptSpec, options);
995
1030
  }
996
1031
  // Dispatch to adapter via buildCLICommand (which delegates to provider)
997
- return await this._executeCLI(cli, userPrompt, systemPromptSpec, options, (user, sys, opts) => this.buildCLICommand(cli, user, sys, opts));
1032
+ const response = await this._executeCLI(cli, userPrompt, systemPromptSpec, options, (user, sys, opts) => this.buildCLICommand(cli, user, sys, opts));
1033
+ const requestedCodexModel = options.models?.codex;
1034
+ if (cli === 'codex' && isCodexUnsupportedModelResponse(response, requestedCodexModel)) {
1035
+ this.emitLog().warn('Codex model unsupported for this account; retrying with CLI default', {
1036
+ requestedModel: sanitizeModelNameForMessage(requestedCodexModel),
1037
+ });
1038
+ const fallbackModels = { ...(options.models || {}) };
1039
+ delete fallbackModels.codex;
1040
+ const fallbackOptions = {
1041
+ ...options,
1042
+ models: Object.keys(fallbackModels).length > 0 ? fallbackModels : undefined,
1043
+ };
1044
+ const fallback = await this._executeCLI(cli, userPrompt, systemPromptSpec, fallbackOptions, (user, sys, opts) => this.buildCLICommand(cli, user, sys, opts));
1045
+ if (fallback.success) {
1046
+ const note = `Codex model "${sanitizeModelNameForMessage(requestedCodexModel)}" is not available for this account; retried with the Codex CLI default.`;
1047
+ fallback.output = fallback.output ? `${note}\n\n${fallback.output}` : note;
1048
+ }
1049
+ else {
1050
+ fallback.error = `${response.error} Retried with the Codex CLI default, which also failed: ${fallback.error || 'unknown error'}`;
1051
+ }
1052
+ return fallback;
1053
+ }
1054
+ return response;
998
1055
  }
999
1056
  finally {
1000
1057
  this.runningCLIs--;
@@ -1003,16 +1060,21 @@ export class CLIAgentOrchestrator {
1003
1060
  }
1004
1061
  /**
1005
1062
  * Gemini frontier rotation - iterate through GEMINI_FRONTIER_CHAIN on
1006
- * saturation failures.
1063
+ * rotatable failures (capacity saturation OR tier access denial).
1007
1064
  *
1008
1065
  * Only active when neither caller nor operator has chosen a model. Each
1009
1066
  * attempt injects the model via options.models.gemini. Per-attempt
1010
- * saturation is detected via the existing quota-pattern detection in
1011
- * _executeCLI - saturation produces success=false with an error matching
1012
- * /\b429\b/ or quota-family patterns. On non-saturation failure,
1013
- * rotation stops immediately (a different model will not fix prompt
1014
- * errors, subprocess crashes, or auth failures). On chain exhaustion,
1015
- * the last failing response is returned.
1067
+ * failures are classified by isGeminiRotatableError(): capacity errors
1068
+ * (quota/429) AND access errors (ModelNotFoundError / permission denied)
1069
+ * both trigger rotation. On unrelated failures (auth, prompt rejection,
1070
+ * subprocess crashes) rotation stops immediately a different model
1071
+ * will not fix those. On chain exhaustion, the last failing response
1072
+ * is returned.
1073
+ *
1074
+ * In practice the typical non-preview user trajectory is:
1075
+ * gemini-3.1-pro-preview -> access denied (rotate)
1076
+ * gemini-3-pro-preview -> access denied (rotate)
1077
+ * gemini-2.5-pro -> success (universally available)
1016
1078
  */
1017
1079
  async _executeGeminiWithRotation(userPrompt, systemPromptSpec, options) {
1018
1080
  const chain = GEMINI_FRONTIER_CHAIN;
@@ -1036,16 +1098,16 @@ export class CLIAgentOrchestrator {
1036
1098
  }
1037
1099
  return response;
1038
1100
  }
1039
- if (!isGeminiSaturationError(response.error)) {
1040
- this.emitLog().debug(`Gemini ${model} failed non-saturation; rotation aborted`, {
1101
+ if (!isGeminiRotatableError(response.error)) {
1102
+ this.emitLog().debug(`Gemini ${model} failed with non-rotatable error; aborting rotation`, {
1041
1103
  errorPreview: response.error?.slice(0, 120),
1042
1104
  });
1043
1105
  return response;
1044
1106
  }
1045
- this.emitLog().warn(`Gemini ${model} saturated; rotating to next frontier tier`);
1107
+ this.emitLog().warn(`Gemini ${model} unavailable (capacity or access); rotating to next frontier tier`);
1046
1108
  lastResponse = response;
1047
1109
  }
1048
- this.emitLog().error(`Gemini frontier chain exhausted (${chain.length} tiers); all saturated`);
1110
+ this.emitLog().error(`Gemini frontier chain exhausted (${chain.length} tiers); no tier available to this account`);
1049
1111
  return lastResponse;
1050
1112
  }
1051
1113
  async waitForAvailableSlot() {