@kaitranntt/ccs 7.73.1-dev.5 → 7.73.1-dev.7

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 (83) hide show
  1. package/dist/ccs.js +21 -5
  2. package/dist/ccs.js.map +1 -1
  3. package/dist/cliproxy/executor/env-resolver.d.ts.map +1 -1
  4. package/dist/cliproxy/executor/env-resolver.js +2 -2
  5. package/dist/cliproxy/executor/env-resolver.js.map +1 -1
  6. package/dist/config/unified-config-loader.d.ts.map +1 -1
  7. package/dist/config/unified-config-loader.js +24 -7
  8. package/dist/config/unified-config-loader.js.map +1 -1
  9. package/dist/config/unified-config-types.d.ts +5 -0
  10. package/dist/config/unified-config-types.d.ts.map +1 -1
  11. package/dist/config/unified-config-types.js +2 -0
  12. package/dist/config/unified-config-types.js.map +1 -1
  13. package/dist/delegation/headless-executor.d.ts.map +1 -1
  14. package/dist/delegation/headless-executor.js +29 -2
  15. package/dist/delegation/headless-executor.js.map +1 -1
  16. package/dist/targets/claude-adapter.d.ts.map +1 -1
  17. package/dist/targets/claude-adapter.js +2 -2
  18. package/dist/targets/claude-adapter.js.map +1 -1
  19. package/dist/targets/codex-adapter.d.ts.map +1 -1
  20. package/dist/targets/codex-adapter.js +1 -1
  21. package/dist/targets/codex-adapter.js.map +1 -1
  22. package/dist/ui/assets/{accounts-DP5Z1EFU.js → accounts-D0Z5AVKW.js} +1 -1
  23. package/dist/ui/assets/{alert-dialog-CQdEm6bp.js → alert-dialog-CzJucE0e.js} +1 -1
  24. package/dist/ui/assets/{api-D5Cb0AwB.js → api-DXAf4i-v.js} +1 -1
  25. package/dist/ui/assets/{auth-section-CJVbTOVb.js → auth-section-BrnnHBi-.js} +1 -1
  26. package/dist/ui/assets/{backups-section-Y_f1xNq0.js → backups-section-DCBcfZ-C.js} +1 -1
  27. package/dist/ui/assets/{channels-BhiKchME.js → channels-BSapONLx.js} +1 -1
  28. package/dist/ui/assets/{checkbox-B3t4WVKC.js → checkbox-Bd7X5Xud.js} +1 -1
  29. package/dist/ui/assets/{claude-extension-DIVWnBLH.js → claude-extension-BYJxm4B5.js} +1 -1
  30. package/dist/ui/assets/{cliproxy-IfnW84kx.js → cliproxy-G5JuFm2j.js} +1 -1
  31. package/dist/ui/assets/{cliproxy-ai-providers-BWUtWLiP.js → cliproxy-ai-providers-D7r2Us_Y.js} +1 -1
  32. package/dist/ui/assets/{cliproxy-control-panel-Dxv8_YKF.js → cliproxy-control-panel-Cmo3ArVL.js} +1 -1
  33. package/dist/ui/assets/{codex-CLwDdgVR.js → codex-4VNBJ4Nb.js} +1 -1
  34. package/dist/ui/assets/{confirm-dialog-C_kmUtFS.js → confirm-dialog--zJgz4y0.js} +1 -1
  35. package/dist/ui/assets/{copilot-DzcYLXMp.js → copilot-2ARJ9YVb.js} +1 -1
  36. package/dist/ui/assets/{cursor-DE4aAuWq.js → cursor-CQNCrVt0.js} +1 -1
  37. package/dist/ui/assets/{droid-BoAC7O4T.js → droid-Dl5wRjDv.js} +1 -1
  38. package/dist/ui/assets/{globalenv-section-C3_vvyHh.js → globalenv-section-T1imQsSA.js} +1 -1
  39. package/dist/ui/assets/{health-CDGSE5pt.js → health-CNous3WN.js} +1 -1
  40. package/dist/ui/assets/icons-DyorC3Xk.js +1 -0
  41. package/dist/ui/assets/{index-CFM8uP-r.js → index-2X8-14xr.js} +4 -4
  42. package/dist/ui/assets/{index-BGSU0v6t.js → index-BcLnqcxD.js} +1 -1
  43. package/dist/ui/assets/index-Be3dhMW3.js +9 -0
  44. package/dist/ui/assets/{index-CUSDsTN_.js → index-CqJFugM4.js} +1 -1
  45. package/dist/ui/assets/{index-24lkHKk-.js → index-DFgCoUVv.js} +1 -1
  46. package/dist/ui/assets/{index-Cgt-MWcy.js → index-DH916Tyi.js} +1 -1
  47. package/dist/ui/assets/{index-mp6UnHMw.js → index-fV5BBuAO.js} +1 -1
  48. package/dist/ui/assets/{logs-9cHoql3A.js → logs-CZsWbq7X.js} +1 -1
  49. package/dist/ui/assets/{masked-input-uY6tVHKi.js → masked-input-_EkW1Pzo.js} +1 -1
  50. package/dist/ui/assets/{proxy-status-widget-CjPRINty.js → proxy-status-widget-D82T2X4F.js} +1 -1
  51. package/dist/ui/assets/{raw-json-settings-editor-panel-BB2BWLtR.js → raw-json-settings-editor-panel-DNmb_vR-.js} +1 -1
  52. package/dist/ui/assets/{searchable-select-D-9hF3gA.js → searchable-select--iFe00dY.js} +1 -1
  53. package/dist/ui/assets/{separator-D_IJQ8sI.js → separator-CaGbNw8E.js} +1 -1
  54. package/dist/ui/assets/{shared-CQdnrmbl.js → shared-Cgk48Wu3.js} +1 -1
  55. package/dist/ui/assets/{table-BqxCXcWk.js → table-CKuoPAz4.js} +1 -1
  56. package/dist/ui/assets/{updates-jMIV7rVm.js → updates-Dr8Yq-Pm.js} +1 -1
  57. package/dist/ui/index.html +2 -2
  58. package/dist/utils/browser/browser-settings.d.ts +2 -1
  59. package/dist/utils/browser/browser-settings.d.ts.map +1 -1
  60. package/dist/utils/browser/browser-settings.js +12 -5
  61. package/dist/utils/browser/browser-settings.js.map +1 -1
  62. package/dist/utils/browser/browser-status.d.ts +3 -1
  63. package/dist/utils/browser/browser-status.d.ts.map +1 -1
  64. package/dist/utils/browser/browser-status.js +14 -0
  65. package/dist/utils/browser/browser-status.js.map +1 -1
  66. package/dist/utils/hooks/get-image-analysis-hook-env.d.ts.map +1 -1
  67. package/dist/utils/hooks/get-image-analysis-hook-env.js +7 -3
  68. package/dist/utils/hooks/get-image-analysis-hook-env.js.map +1 -1
  69. package/dist/utils/shell-executor.d.ts +14 -0
  70. package/dist/utils/shell-executor.d.ts.map +1 -1
  71. package/dist/utils/shell-executor.js +98 -23
  72. package/dist/utils/shell-executor.js.map +1 -1
  73. package/dist/web-server/middleware/auth-middleware.d.ts +1 -1
  74. package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -1
  75. package/dist/web-server/routes/browser-routes.d.ts.map +1 -1
  76. package/dist/web-server/routes/browser-routes.js +27 -2
  77. package/dist/web-server/routes/browser-routes.js.map +1 -1
  78. package/lib/mcp/ccs-browser-server.cjs +5727 -424
  79. package/package.json +1 -1
  80. package/scripts/ci-parity-gate.sh +3 -1
  81. package/scripts/run-test-bucket.js +6 -1
  82. package/dist/ui/assets/icons-Dmi9qMuE.js +0 -1
  83. package/dist/ui/assets/index-BfcGrRgt.js +0 -9
@@ -8,7 +8,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  return (mod && mod.__esModule) ? mod : { "default": mod };
9
9
  };
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.execClaude = exports.getWindowsEscapedCommandShell = exports.escapeShellArg = exports.getClaudeLaunchEnvOverrides = exports.stripCodexSessionEnv = exports.stripClaudeCodeEnv = exports.stripAnthropicEnv = void 0;
11
+ exports.execClaude = exports.getWindowsEscapedCommandShell = exports.escapeShellArg = exports.getClaudeLaunchEnvOverrides = exports.stripCodexSessionEnv = exports.stripClaudeCodeEnv = exports.stripBrowserEnv = exports.stripAnthropicRoutingEnv = exports.stripAnthropicEnv = void 0;
12
12
  const child_process_1 = require("child_process");
13
13
  const error_manager_1 = require("./error-manager");
14
14
  const websearch_manager_1 = require("./websearch-manager");
@@ -30,6 +30,84 @@ function stripAnthropicEnv(env) {
30
30
  return result;
31
31
  }
32
32
  exports.stripAnthropicEnv = stripAnthropicEnv;
33
+ const ANTHROPIC_ROUTING_ENV_KEYS = [
34
+ 'ANTHROPIC_BASE_URL',
35
+ 'ANTHROPIC_AUTH_TOKEN',
36
+ 'ANTHROPIC_API_KEY',
37
+ ];
38
+ const ANTHROPIC_ROUTING_ENV_KEY_SET = new Set(ANTHROPIC_ROUTING_ENV_KEYS);
39
+ const ANTHROPIC_MODEL_ENV_KEYS = [
40
+ 'ANTHROPIC_MODEL',
41
+ 'ANTHROPIC_DEFAULT_OPUS_MODEL',
42
+ 'ANTHROPIC_DEFAULT_SONNET_MODEL',
43
+ 'ANTHROPIC_DEFAULT_HAIKU_MODEL',
44
+ 'ANTHROPIC_SMALL_FAST_MODEL',
45
+ ];
46
+ const TMUX_SYNC_ENV_KEYS = [
47
+ 'CLAUDE_CONFIG_DIR',
48
+ 'CCS_PROFILE_TYPE',
49
+ 'CCS_WEBSEARCH_SKIP',
50
+ 'CCS_STRIP_INHERITED_ANTHROPIC_ENV',
51
+ 'CLAUDE_CODE_MAX_OUTPUT_TOKENS',
52
+ ...ANTHROPIC_MODEL_ENV_KEYS,
53
+ ...ANTHROPIC_ROUTING_ENV_KEYS,
54
+ ];
55
+ /**
56
+ * Strip inherited Anthropic routing/auth env while preserving model intent.
57
+ * Used for nested settings-profile Claude launches where `--settings` already
58
+ * defines the provider transport and the parent process should only lend model
59
+ * defaults or effort hints.
60
+ */
61
+ function stripAnthropicRoutingEnv(env) {
62
+ const result = {};
63
+ for (const key of Object.keys(env)) {
64
+ if (!ANTHROPIC_ROUTING_ENV_KEY_SET.has(key.toUpperCase())) {
65
+ result[key] = env[key];
66
+ }
67
+ }
68
+ return result;
69
+ }
70
+ exports.stripAnthropicRoutingEnv = stripAnthropicRoutingEnv;
71
+ function syncTmuxNestedSessionEnv(env, profileType) {
72
+ if (!process.env.TMUX) {
73
+ return;
74
+ }
75
+ const nestedSessionEnv = profileType === 'account' || profileType === 'default'
76
+ ? stripAnthropicEnv(env)
77
+ : profileType === 'settings'
78
+ ? stripAnthropicRoutingEnv(env)
79
+ : env;
80
+ for (const key of TMUX_SYNC_ENV_KEYS) {
81
+ try {
82
+ const value = nestedSessionEnv[key];
83
+ if (value !== undefined) {
84
+ (0, child_process_1.spawnSync)('tmux', ['setenv', key, value], { stdio: 'ignore' });
85
+ }
86
+ else {
87
+ (0, child_process_1.spawnSync)('tmux', ['setenv', '-u', key], { stdio: 'ignore' });
88
+ }
89
+ }
90
+ catch {
91
+ // tmux setenv can fail if not in a tmux session; safe to ignore
92
+ }
93
+ }
94
+ }
95
+ /**
96
+ * Strip inherited browser attach/runtime env vars from a process environment.
97
+ *
98
+ * Browser capability is opt-in and launch-scoped. Stale CCS_BROWSER_* values
99
+ * from the parent process must never bleed into a browser-off child launch.
100
+ */
101
+ function stripBrowserEnv(env) {
102
+ const result = {};
103
+ for (const key of Object.keys(env)) {
104
+ if (!key.toUpperCase().startsWith('CCS_BROWSER_')) {
105
+ result[key] = env[key];
106
+ }
107
+ }
108
+ return result;
109
+ }
110
+ exports.stripBrowserEnv = stripBrowserEnv;
33
111
  /**
34
112
  * Strip Claude Code nested-session guard env var from a process environment.
35
113
  *
@@ -133,21 +211,30 @@ function execClaude(claudeCli, args, envVars = null) {
133
211
  // Get WebSearch hook config env vars
134
212
  const webSearchEnv = (0, websearch_manager_1.getWebSearchHookEnv)();
135
213
  const claudeLaunchEnv = getClaudeLaunchEnvOverrides();
136
- // For account/default profiles, strip ANTHROPIC_* from parent env to prevent
137
- // stale proxy config (e.g., from prior CLIProxy sessions) from interfering
138
- // with native Claude API routing. Settings-based profiles explicitly inject
139
- // their own ANTHROPIC_* values, so they don't need this protection.
214
+ // Strip inherited ANTHROPIC_* when the launch should not reuse parent routing.
215
+ // Account/default profiles need full isolation from prior proxy sessions.
216
+ // Settings profiles can selectively strip only routing/auth when `--settings`
217
+ // already carries the provider source of truth but the parent model intent
218
+ // should still flow into nested Team/subagent launches.
140
219
  const profileType = envVars?.CCS_PROFILE_TYPE;
141
- const baseEnv = profileType === 'account' || profileType === 'default'
220
+ const stripInheritedAnthropicEnv = profileType === 'account' || profileType === 'default';
221
+ const stripInheritedAnthropicRoutingEnv = envVars?.CCS_STRIP_INHERITED_ANTHROPIC_ENV === '1';
222
+ const inheritedEnv = stripInheritedAnthropicEnv
142
223
  ? stripAnthropicEnv(process.env)
143
- : process.env;
224
+ : stripInheritedAnthropicRoutingEnv
225
+ ? stripAnthropicRoutingEnv(process.env)
226
+ : process.env;
227
+ const baseEnv = stripBrowserEnv(inheritedEnv);
144
228
  // Prepare environment (merge with base env if envVars provided)
145
229
  const mergedEnv = envVars
146
230
  ? { ...baseEnv, ...claudeLaunchEnv, ...envVars, ...webSearchEnv }
147
231
  : { ...baseEnv, ...claudeLaunchEnv, ...webSearchEnv };
232
+ const effectiveMergedEnv = stripInheritedAnthropicRoutingEnv
233
+ ? stripAnthropicRoutingEnv(mergedEnv)
234
+ : mergedEnv;
148
235
  // Strip Claude Code nested session guard env var to allow CCS delegation
149
236
  // (Claude Code v2.1.39+ sets CLAUDECODE to detect nested sessions)
150
- const env = stripClaudeCodeEnv(mergedEnv);
237
+ const env = stripClaudeCodeEnv(effectiveMergedEnv);
151
238
  if (profileType !== 'account') {
152
239
  try {
153
240
  new shared_manager_1.default().normalizeSharedPluginMetadataPathsLocked(env.CLAUDE_CONFIG_DIR);
@@ -156,21 +243,9 @@ function execClaude(claudeCli, args, envVars = null) {
156
243
  // Best-effort normalization should never block Claude launch.
157
244
  }
158
245
  }
159
- // propagate key env vars to tmux session so agent team teammates
160
- // (spawned via tmux split-window) inherit the correct config dir
161
- if (process.env.TMUX && envVars) {
162
- const tmuxPropagateVars = ['CLAUDE_CONFIG_DIR', 'CCS_PROFILE_TYPE', 'CCS_WEBSEARCH_SKIP'];
163
- for (const key of tmuxPropagateVars) {
164
- if (envVars[key]) {
165
- try {
166
- (0, child_process_1.spawnSync)('tmux', ['setenv', key, envVars[key] ?? ''], { stdio: 'ignore' });
167
- }
168
- catch {
169
- // tmux setenv can fail if not in a tmux session; safe to ignore
170
- }
171
- }
172
- }
173
- }
246
+ // Keep tmux teammate panes aligned with the nested-safe Claude runtime env
247
+ // rather than the tmux server's original shell environment.
248
+ syncTmuxNestedSessionEnv(env, profileType);
174
249
  let child;
175
250
  if (isPowerShellScript) {
176
251
  child = (0, child_process_1.spawn)('powershell.exe', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', claudeCli, ...args], {
@@ -1 +1 @@
1
- {"version":3,"file":"shell-executor.js","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-executor.js","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Dashboard Authentication Middleware
3
3
  * Session-based auth with httpOnly cookies for CCS dashboard.
4
4
  */
5
- import type { Request, Response, NextFunction } from 'express';
5
+ import type { NextFunction, Request, Response } from 'express';
6
6
  declare module 'express-session' {
7
7
  interface SessionData {
8
8
  authenticated: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-middleware.d.ts","sourceRoot":"","sources":["../../../src/web-server/middleware/auth-middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAU/D,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,WAAW;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB;CACF;AAkDD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,sDAO3B,CAAC;AAEH;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,CACzC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,KACf,IAAI,CAeR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAwBpF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAU1E;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,KAAK,SAA6E,GACjF,OAAO,CAWT"}
1
+ {"version":3,"file":"auth-middleware.d.ts","sourceRoot":"","sources":["../../../src/web-server/middleware/auth-middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAU/D,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,WAAW;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB;CACF;AAkDD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,sDAO3B,CAAC;AAEH;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,CACzC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,KACf,IAAI,CAeR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAwBpF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAU1E;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,KAAK,SAA6E,GACjF,OAAO,CAWT"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/browser-routes.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAwLxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"browser-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/browser-routes.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAwNxB,eAAe,MAAM,CAAC"}
@@ -13,6 +13,9 @@ function isPlainObject(value) {
13
13
  function isValidBrowserPolicy(value) {
14
14
  return value === 'auto' || value === 'manual';
15
15
  }
16
+ function isValidBrowserEvalMode(value) {
17
+ return value === 'disabled' || value === 'readonly' || value === 'readwrite';
18
+ }
16
19
  function isValidDevtoolsPort(value) {
17
20
  return Number.isInteger(value) && value >= 1 && value <= 65535;
18
21
  }
@@ -65,14 +68,18 @@ router.put('/', async (req, res) => {
65
68
  res.status(400).json({ error: 'Invalid value for codex. Must be an object.' });
66
69
  return;
67
70
  }
68
- const unknownClaudeKeys = Object.keys(claude ?? {}).filter((key) => key !== 'enabled' && key !== 'policy' && key !== 'userDataDir' && key !== 'devtoolsPort');
71
+ const unknownClaudeKeys = Object.keys(claude ?? {}).filter((key) => key !== 'enabled' &&
72
+ key !== 'policy' &&
73
+ key !== 'userDataDir' &&
74
+ key !== 'devtoolsPort' &&
75
+ key !== 'evalMode');
69
76
  if (unknownClaudeKeys.length > 0) {
70
77
  res.status(400).json({
71
78
  error: `Unknown claude browser field(s): ${unknownClaudeKeys.join(', ')}.`,
72
79
  });
73
80
  return;
74
81
  }
75
- const unknownCodexKeys = Object.keys(codex ?? {}).filter((key) => key !== 'enabled' && key !== 'policy');
82
+ const unknownCodexKeys = Object.keys(codex ?? {}).filter((key) => key !== 'enabled' && key !== 'policy' && key !== 'evalMode');
76
83
  if (unknownCodexKeys.length > 0) {
77
84
  res.status(400).json({
78
85
  error: `Unknown codex browser field(s): ${unknownCodexKeys.join(', ')}.`,
@@ -99,6 +106,13 @@ router.put('/', async (req, res) => {
99
106
  });
100
107
  return;
101
108
  }
109
+ if (claude?.evalMode !== undefined &&
110
+ (typeof claude.evalMode !== 'string' || !isValidBrowserEvalMode(claude.evalMode))) {
111
+ res.status(400).json({
112
+ error: 'Invalid value for claude.evalMode. Must be one of: disabled, readonly, readwrite.',
113
+ });
114
+ return;
115
+ }
102
116
  if (codex?.enabled !== undefined && typeof codex.enabled !== 'boolean') {
103
117
  res.status(400).json({ error: 'Invalid value for codex.enabled. Must be a boolean.' });
104
118
  return;
@@ -108,6 +122,13 @@ router.put('/', async (req, res) => {
108
122
  res.status(400).json({ error: 'Invalid value for codex.policy. Must be auto or manual.' });
109
123
  return;
110
124
  }
125
+ if (codex?.evalMode !== undefined &&
126
+ (typeof codex.evalMode !== 'string' || !isValidBrowserEvalMode(codex.evalMode))) {
127
+ res.status(400).json({
128
+ error: 'Invalid value for codex.evalMode. Must be one of: disabled, readonly, readwrite.',
129
+ });
130
+ return;
131
+ }
111
132
  try {
112
133
  const current = (0, browser_status_1.getUserFacingBrowserConfig)();
113
134
  const nextClaudeUserDataDir = claude?.userDataDir === undefined ? current.claude.user_data_dir : claude.userDataDir.trim();
@@ -118,10 +139,12 @@ router.put('/', async (req, res) => {
118
139
  policy: claude?.policy ?? current.claude.policy,
119
140
  user_data_dir: nextClaudeUserDataDir,
120
141
  devtools_port: claude?.devtoolsPort ?? current.claude.devtools_port,
142
+ eval_mode: claude?.evalMode ?? current.claude.eval_mode,
121
143
  },
122
144
  codex: {
123
145
  enabled: codex?.enabled ?? current.codex.enabled,
124
146
  policy: codex?.policy ?? current.codex.policy,
147
+ eval_mode: codex?.evalMode ?? current.codex.eval_mode,
125
148
  },
126
149
  };
127
150
  });
@@ -146,10 +169,12 @@ function toBrowserRouteConfig(config) {
146
169
  policy: config.claude.policy,
147
170
  userDataDir: config.claude.user_data_dir,
148
171
  devtoolsPort: config.claude.devtools_port,
172
+ evalMode: config.claude.eval_mode ?? 'readonly',
149
173
  },
150
174
  codex: {
151
175
  enabled: config.codex.enabled,
152
176
  policy: config.codex.policy,
177
+ evalMode: config.codex.eval_mode ?? 'readonly',
153
178
  },
154
179
  };
155
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/browser-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/browser-routes.ts"],"names":[],"mappings":"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"}