@kaitranntt/ccs 8.6.1-dev.6 → 8.6.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.
- package/dist/cliproxy/executor/claude-launcher.d.ts.map +1 -1
- package/dist/cliproxy/executor/claude-launcher.js +15 -1
- package/dist/cliproxy/executor/claude-launcher.js.map +1 -1
- package/dist/cliproxy/executor/launch-settings.d.ts +48 -0
- package/dist/cliproxy/executor/launch-settings.d.ts.map +1 -0
- package/dist/cliproxy/executor/launch-settings.js +148 -0
- package/dist/cliproxy/executor/launch-settings.js.map +1 -0
- package/dist/utils/shell-executor.d.ts +2 -0
- package/dist/utils/shell-executor.d.ts.map +1 -1
- package/dist/utils/shell-executor.js +7 -7
- package/dist/utils/shell-executor.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-launcher.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/executor/claude-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;AAEH,OAAO,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAYpD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-launcher.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/executor/claude-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;AAEH,OAAO,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAYpD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAW/D,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,+BAA+B;IAC/B,GAAG,EAAE,cAAc,CAAC;IACpB,+BAA+B;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,0EAA0E;IAC1E,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;IACvC,iEAAiE;IACjE,aAAa,EAAE,OAAO,CAAC;IACvB,sCAAsC;IACtC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,0CAA0C;IAC1C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IACjD,iDAAiD;IACjD,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,4CAA4C;IAC5C,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAChD,8CAA8C;IAC9C,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpD,yCAAyC;IACzC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAwHtF"}
|
|
@@ -40,6 +40,7 @@ const image_analysis_1 = require("../../utils/image-analysis");
|
|
|
40
40
|
const browser_1 = require("../../utils/browser");
|
|
41
41
|
const account_manager_1 = require("../accounts/account-manager");
|
|
42
42
|
const session_bridge_1 = require("./session-bridge");
|
|
43
|
+
const launch_settings_1 = require("./launch-settings");
|
|
43
44
|
const account_resolution_1 = require("./account-resolution");
|
|
44
45
|
const claude_subcommand_detector_1 = require("../../utils/claude-subcommand-detector");
|
|
45
46
|
/**
|
|
@@ -52,7 +53,7 @@ async function launchClaude(context) {
|
|
|
52
53
|
const { claudeCli, claudeArgs, env, cfg, provider, compositeProviders, skipLocalAuth, sessionId, imageAnalysisMcpReady, browserRuntimeEnv, inheritedClaudeConfigDir, codexReasoningProxy, toolSanitizationProxy, httpsTunnel, verbose, } = context;
|
|
53
54
|
const isWindows = process.platform === 'win32';
|
|
54
55
|
const needsShell = isWindows && /\.(cmd|bat|ps1)$/i.test(claudeCli);
|
|
55
|
-
const
|
|
56
|
+
const persistedSettingsPath = cfg.customSettingsPath
|
|
56
57
|
? cfg.customSettingsPath.replace(/^~/, os.homedir())
|
|
57
58
|
: (0, config_generator_1.getProviderSettingsPath)(provider);
|
|
58
59
|
// Claude subcommands (agents, doctor, mcp, ...) don't accept `--settings` —
|
|
@@ -63,6 +64,15 @@ async function launchClaude(context) {
|
|
|
63
64
|
const claudeSessionArgs = isSubcommand
|
|
64
65
|
? (0, claude_subcommand_detector_1.stripClaudeSubcommandSessionArgs)(claudeArgs)
|
|
65
66
|
: claudeArgs;
|
|
67
|
+
// The persisted settings file pins ANTHROPIC_BASE_URL straight at CLIProxy.
|
|
68
|
+
// Claude applies the settings `env` block over the inherited environment, so
|
|
69
|
+
// without this overlay it would override the ephemeral proxy-chain URL CCS
|
|
70
|
+
// injected via env and bypass the tool-sanitization / codex-reasoning proxies
|
|
71
|
+
// (surfacing as `400 {"detail":"System messages are not allowed"}` for Codex).
|
|
72
|
+
// Subcommands skip `--settings`, so they keep the persisted path untouched.
|
|
73
|
+
const { settingsPath, cleanup: cleanupLaunchSettings } = isSubcommand
|
|
74
|
+
? { settingsPath: persistedSettingsPath, cleanup: () => { } }
|
|
75
|
+
: (0, launch_settings_1.prepareLaunchSettings)(persistedSettingsPath, env);
|
|
66
76
|
// Assemble final args: image analysis tools → browser tools → web search tools → settings
|
|
67
77
|
const imageAnalysisArgs = imageAnalysisMcpReady
|
|
68
78
|
? (0, image_analysis_1.appendThirdPartyImageAnalysisToolArgs)(claudeSessionArgs)
|
|
@@ -105,6 +115,10 @@ async function launchClaude(context) {
|
|
|
105
115
|
env: tracedEnv,
|
|
106
116
|
});
|
|
107
117
|
}
|
|
118
|
+
// Remove the runtime settings overlay once Claude has read it and exited.
|
|
119
|
+
// cleanup is idempotent, so registering on both events is safe.
|
|
120
|
+
claude.on('exit', cleanupLaunchSettings);
|
|
121
|
+
claude.on('error', cleanupLaunchSettings);
|
|
108
122
|
// Start runtime quota monitor (adaptive polling during session)
|
|
109
123
|
if (!skipLocalAuth) {
|
|
110
124
|
const { startQuotaMonitor } = await Promise.resolve().then(() => __importStar(require('../quota/quota-manager')));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-launcher.js","sourceRoot":"","sources":["../../../src/cliproxy/executor/claude-launcher.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iDAAoD;AACpD,uCAAyB;AACzB,+DAA2F;AAC3F,iEAAqE;AACrE,qEAIuC;AACvC,+DAAmF;AACnF,iDAA4D;AAC5D,iEAAgE;AAKhE,qDAAwD;AACxD,6DAA2E;AAC3E,uFAKgD;AAmChD;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CAAC,OAA4B;IAC7D,MAAM,EACJ,SAAS,EACT,UAAU,EACV,GAAG,EACH,GAAG,EACH,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,OAAO,GACR,GAAG,OAAO,CAAC;IAEZ,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC/C,MAAM,UAAU,GAAG,SAAS,IAAI,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEpE,MAAM,
|
|
1
|
+
{"version":3,"file":"claude-launcher.js","sourceRoot":"","sources":["../../../src/cliproxy/executor/claude-launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Launch settings overlay.
|
|
3
|
+
*
|
|
4
|
+
* CCS routes third-party providers through an ephemeral local proxy chain
|
|
5
|
+
* (tool-sanitization + codex-reasoning). The resolved `ANTHROPIC_BASE_URL`
|
|
6
|
+
* (and model/auth overrides) for that chain only exists in the spawned Claude
|
|
7
|
+
* process environment, because the proxy ports are random per launch and cannot
|
|
8
|
+
* be persisted to the on-disk provider settings file.
|
|
9
|
+
*
|
|
10
|
+
* Claude CLI is launched with `--settings <providerSettings.json>`. Recent
|
|
11
|
+
* Claude Code releases apply the settings file's `env` block on top of the
|
|
12
|
+
* inherited process environment, so the persisted `ANTHROPIC_BASE_URL` (which
|
|
13
|
+
* points straight at CLIProxy) overrides the proxy-chain URL CCS injected via
|
|
14
|
+
* env. Claude then bypasses the proxy chain entirely — breaking tool-name
|
|
15
|
+
* sanitization and Codex system-message folding (the latter surfaces as
|
|
16
|
+
* `400 {"detail":"System messages are not allowed"}`).
|
|
17
|
+
*
|
|
18
|
+
* To keep the proxy chain authoritative regardless of Claude's env precedence,
|
|
19
|
+
* we write a runtime copy of the settings file whose `env` routing keys are
|
|
20
|
+
* overlaid with the resolved launch environment, and pass that copy to
|
|
21
|
+
* `--settings`.
|
|
22
|
+
*/
|
|
23
|
+
/// <reference types="node" />
|
|
24
|
+
/// <reference types="bun-types" />
|
|
25
|
+
/**
|
|
26
|
+
* Build a settings object based on the persisted settings file, with routing
|
|
27
|
+
* `env` keys overlaid from the resolved launch environment.
|
|
28
|
+
*
|
|
29
|
+
* @returns The merged settings and whether any routing key actually changed.
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildLaunchSettingsOverlay(settingsPath: string, env: NodeJS.ProcessEnv): {
|
|
32
|
+
settings: Record<string, unknown>;
|
|
33
|
+
changed: boolean;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Prepare the settings file path to hand to `claude --settings`.
|
|
37
|
+
*
|
|
38
|
+
* When the resolved launch environment changes any routing key relative to the
|
|
39
|
+
* persisted settings file (i.e. a proxy chain is active), a runtime overlay
|
|
40
|
+
* file is written and its path returned together with a cleanup callback that
|
|
41
|
+
* removes it. Otherwise the original `settingsPath` is returned unchanged and
|
|
42
|
+
* cleanup is a no-op.
|
|
43
|
+
*/
|
|
44
|
+
export declare function prepareLaunchSettings(settingsPath: string, env: NodeJS.ProcessEnv): {
|
|
45
|
+
settingsPath: string;
|
|
46
|
+
cleanup: () => void;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=launch-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launch-settings.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/executor/launch-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAoBH;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA0BzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CA6C/C"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Launch settings overlay.
|
|
4
|
+
*
|
|
5
|
+
* CCS routes third-party providers through an ephemeral local proxy chain
|
|
6
|
+
* (tool-sanitization + codex-reasoning). The resolved `ANTHROPIC_BASE_URL`
|
|
7
|
+
* (and model/auth overrides) for that chain only exists in the spawned Claude
|
|
8
|
+
* process environment, because the proxy ports are random per launch and cannot
|
|
9
|
+
* be persisted to the on-disk provider settings file.
|
|
10
|
+
*
|
|
11
|
+
* Claude CLI is launched with `--settings <providerSettings.json>`. Recent
|
|
12
|
+
* Claude Code releases apply the settings file's `env` block on top of the
|
|
13
|
+
* inherited process environment, so the persisted `ANTHROPIC_BASE_URL` (which
|
|
14
|
+
* points straight at CLIProxy) overrides the proxy-chain URL CCS injected via
|
|
15
|
+
* env. Claude then bypasses the proxy chain entirely — breaking tool-name
|
|
16
|
+
* sanitization and Codex system-message folding (the latter surfaces as
|
|
17
|
+
* `400 {"detail":"System messages are not allowed"}`).
|
|
18
|
+
*
|
|
19
|
+
* To keep the proxy chain authoritative regardless of Claude's env precedence,
|
|
20
|
+
* we write a runtime copy of the settings file whose `env` routing keys are
|
|
21
|
+
* overlaid with the resolved launch environment, and pass that copy to
|
|
22
|
+
* `--settings`.
|
|
23
|
+
*/
|
|
24
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
27
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
28
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
29
|
+
}
|
|
30
|
+
Object.defineProperty(o, k2, desc);
|
|
31
|
+
}) : (function(o, m, k, k2) {
|
|
32
|
+
if (k2 === undefined) k2 = k;
|
|
33
|
+
o[k2] = m[k];
|
|
34
|
+
}));
|
|
35
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
36
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
37
|
+
}) : function(o, v) {
|
|
38
|
+
o["default"] = v;
|
|
39
|
+
});
|
|
40
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
41
|
+
if (mod && mod.__esModule) return mod;
|
|
42
|
+
var result = {};
|
|
43
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
44
|
+
__setModuleDefault(result, mod);
|
|
45
|
+
return result;
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.prepareLaunchSettings = exports.buildLaunchSettingsOverlay = void 0;
|
|
49
|
+
const fs = __importStar(require("fs"));
|
|
50
|
+
const os = __importStar(require("os"));
|
|
51
|
+
const path = __importStar(require("path"));
|
|
52
|
+
const shell_executor_1 = require("../../utils/shell-executor");
|
|
53
|
+
/**
|
|
54
|
+
* Environment keys that control provider routing/model selection and are read
|
|
55
|
+
* by Claude from the settings `env` block. These must reflect the resolved
|
|
56
|
+
* proxy-chain environment, not the persisted on-disk values. Reuses the
|
|
57
|
+
* canonical routing/model key lists from shell-executor.
|
|
58
|
+
*/
|
|
59
|
+
const ROUTING_ENV_KEYS = [...shell_executor_1.ANTHROPIC_ROUTING_ENV_KEYS, ...shell_executor_1.ANTHROPIC_MODEL_ENV_KEYS];
|
|
60
|
+
function isRecord(value) {
|
|
61
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Build a settings object based on the persisted settings file, with routing
|
|
65
|
+
* `env` keys overlaid from the resolved launch environment.
|
|
66
|
+
*
|
|
67
|
+
* @returns The merged settings and whether any routing key actually changed.
|
|
68
|
+
*/
|
|
69
|
+
function buildLaunchSettingsOverlay(settingsPath, env) {
|
|
70
|
+
let base = {};
|
|
71
|
+
try {
|
|
72
|
+
if (fs.existsSync(settingsPath)) {
|
|
73
|
+
const parsed = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
|
|
74
|
+
if (isRecord(parsed)) {
|
|
75
|
+
base = parsed;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Corrupt/unreadable settings file: fall back to an env-only overlay.
|
|
81
|
+
base = {};
|
|
82
|
+
}
|
|
83
|
+
const mergedEnv = isRecord(base.env) ? { ...base.env } : {};
|
|
84
|
+
let changed = false;
|
|
85
|
+
for (const key of ROUTING_ENV_KEYS) {
|
|
86
|
+
const resolved = env[key];
|
|
87
|
+
if (typeof resolved === 'string' && mergedEnv[key] !== resolved) {
|
|
88
|
+
mergedEnv[key] = resolved;
|
|
89
|
+
changed = true;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return { settings: { ...base, env: mergedEnv }, changed };
|
|
93
|
+
}
|
|
94
|
+
exports.buildLaunchSettingsOverlay = buildLaunchSettingsOverlay;
|
|
95
|
+
/**
|
|
96
|
+
* Prepare the settings file path to hand to `claude --settings`.
|
|
97
|
+
*
|
|
98
|
+
* When the resolved launch environment changes any routing key relative to the
|
|
99
|
+
* persisted settings file (i.e. a proxy chain is active), a runtime overlay
|
|
100
|
+
* file is written and its path returned together with a cleanup callback that
|
|
101
|
+
* removes it. Otherwise the original `settingsPath` is returned unchanged and
|
|
102
|
+
* cleanup is a no-op.
|
|
103
|
+
*/
|
|
104
|
+
function prepareLaunchSettings(settingsPath, env) {
|
|
105
|
+
const noop = { settingsPath, cleanup: () => { } };
|
|
106
|
+
let overlay;
|
|
107
|
+
try {
|
|
108
|
+
overlay = buildLaunchSettingsOverlay(settingsPath, env);
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return noop;
|
|
112
|
+
}
|
|
113
|
+
if (!overlay.changed) {
|
|
114
|
+
return noop;
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
// Write to a private temp dir (matches createOpenAICompatLaunchSettings) so
|
|
118
|
+
// the overlay never lands in the user's ~/.ccs and is trivially isolated.
|
|
119
|
+
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'ccs-launch-settings-'));
|
|
120
|
+
fs.chmodSync(tempDir, 0o700);
|
|
121
|
+
const runtimePath = path.join(tempDir, path.basename(settingsPath) || 'settings.json');
|
|
122
|
+
fs.writeFileSync(runtimePath, JSON.stringify(overlay.settings, null, 2) + '\n', {
|
|
123
|
+
encoding: 'utf8',
|
|
124
|
+
mode: 0o600,
|
|
125
|
+
});
|
|
126
|
+
let cleanedUp = false;
|
|
127
|
+
const cleanup = () => {
|
|
128
|
+
if (cleanedUp) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
cleanedUp = true;
|
|
132
|
+
try {
|
|
133
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
// best-effort cleanup
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
return { settingsPath: runtimePath, cleanup };
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// If we cannot write the overlay, fall back to the persisted file. Routing
|
|
143
|
+
// may bypass the proxy chain, but the session still launches.
|
|
144
|
+
return noop;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.prepareLaunchSettings = prepareLaunchSettings;
|
|
148
|
+
//# sourceMappingURL=launch-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launch-settings.js","sourceRoot":"","sources":["../../../src/cliproxy/executor/launch-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ import { type SpawnOptions } from 'child_process';
|
|
|
13
13
|
* interfering with native Claude API routing.
|
|
14
14
|
*/
|
|
15
15
|
export declare function stripAnthropicEnv(env: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
16
|
+
export declare const ANTHROPIC_ROUTING_ENV_KEYS: string[];
|
|
17
|
+
export declare const ANTHROPIC_MODEL_ENV_KEYS: string[];
|
|
16
18
|
/**
|
|
17
19
|
* Strip inherited Anthropic routing/auth env while preserving model intent.
|
|
18
20
|
* Used for nested settings-profile Claude launches where `--settings` already
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-executor.d.ts","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;;AAEH,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAelF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAQ3E;
|
|
1
|
+
{"version":3,"file":"shell-executor.d.ts","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;;AAEH,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAelF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAQ3E;AAED,eAAO,MAAM,0BAA0B,UAItC,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAMpC,CAAC;AAYF;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,YAAY,CAAC,EAAE,MAAM,CAAC,UAAU,GAC/B,MAAM,CAAC,UAAU,CAkBnB;AA4BD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAQzE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAQ5E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAW9E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAAC,UAAU,CAU/D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBlD;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,IAAI,YAAY,CAAC,OAAO,CAAC,CAyBrE;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,MAAM,CAAC,UAAU,GAAG,IAAW,EACxC,aAAa,CAAC,EAAE,MAAM,IAAI,GACzB,IAAI,CAuHN"}
|
|
@@ -31,7 +31,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
31
31
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
32
32
|
};
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
-
exports.execClaude = exports.getWindowsEscapedCommandShell = exports.escapeShellArg = exports.getClaudeLaunchEnvOverrides = exports.stripCodexSessionEnv = exports.stripClaudeCodeEnv = exports.stripBrowserEnv = exports.stripAnthropicRoutingEnv = exports.stripAnthropicEnv = void 0;
|
|
34
|
+
exports.execClaude = exports.getWindowsEscapedCommandShell = exports.escapeShellArg = exports.getClaudeLaunchEnvOverrides = exports.stripCodexSessionEnv = exports.stripClaudeCodeEnv = exports.stripBrowserEnv = exports.stripAnthropicRoutingEnv = exports.ANTHROPIC_MODEL_ENV_KEYS = exports.ANTHROPIC_ROUTING_ENV_KEYS = exports.stripAnthropicEnv = void 0;
|
|
35
35
|
const child_process_1 = require("child_process");
|
|
36
36
|
const path = __importStar(require("path"));
|
|
37
37
|
const error_manager_1 = require("./error-manager");
|
|
@@ -55,13 +55,13 @@ function stripAnthropicEnv(env) {
|
|
|
55
55
|
return result;
|
|
56
56
|
}
|
|
57
57
|
exports.stripAnthropicEnv = stripAnthropicEnv;
|
|
58
|
-
|
|
58
|
+
exports.ANTHROPIC_ROUTING_ENV_KEYS = [
|
|
59
59
|
'ANTHROPIC_BASE_URL',
|
|
60
60
|
'ANTHROPIC_AUTH_TOKEN',
|
|
61
61
|
'ANTHROPIC_API_KEY',
|
|
62
62
|
];
|
|
63
|
-
const ANTHROPIC_ROUTING_ENV_KEY_SET = new Set(ANTHROPIC_ROUTING_ENV_KEYS);
|
|
64
|
-
|
|
63
|
+
const ANTHROPIC_ROUTING_ENV_KEY_SET = new Set(exports.ANTHROPIC_ROUTING_ENV_KEYS);
|
|
64
|
+
exports.ANTHROPIC_MODEL_ENV_KEYS = [
|
|
65
65
|
'ANTHROPIC_MODEL',
|
|
66
66
|
'ANTHROPIC_DEFAULT_OPUS_MODEL',
|
|
67
67
|
'ANTHROPIC_DEFAULT_SONNET_MODEL',
|
|
@@ -74,8 +74,8 @@ const TMUX_SYNC_ENV_KEYS = [
|
|
|
74
74
|
'CCS_WEBSEARCH_SKIP',
|
|
75
75
|
'CCS_STRIP_INHERITED_ANTHROPIC_ENV',
|
|
76
76
|
'CLAUDE_CODE_MAX_OUTPUT_TOKENS',
|
|
77
|
-
...ANTHROPIC_MODEL_ENV_KEYS,
|
|
78
|
-
...ANTHROPIC_ROUTING_ENV_KEYS,
|
|
77
|
+
...exports.ANTHROPIC_MODEL_ENV_KEYS,
|
|
78
|
+
...exports.ANTHROPIC_ROUTING_ENV_KEYS,
|
|
79
79
|
];
|
|
80
80
|
const DEFAULT_WINDOWS_CMD_SHELL = 'C:\\Windows\\System32\\cmd.exe';
|
|
81
81
|
/**
|
|
@@ -97,7 +97,7 @@ function stripAnthropicRoutingEnv(env, preserveFrom) {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
if (preserveFrom) {
|
|
100
|
-
for (const key of ANTHROPIC_ROUTING_ENV_KEYS) {
|
|
100
|
+
for (const key of exports.ANTHROPIC_ROUTING_ENV_KEYS) {
|
|
101
101
|
if (Object.prototype.hasOwnProperty.call(preserveFrom, key) &&
|
|
102
102
|
preserveFrom[key] !== undefined) {
|
|
103
103
|
result[key] = preserveFrom[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-executor.js","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iDAAkF;AAClF,2CAA6B;AAC7B,mDAA+C;AAC/C,2DAA0D;AAC1D,yDAA6D;AAC7D,6EAKsC;AAEtC,kFAAyD;AACzD,yEAA2E;AAE3E;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,GAAsB;IACtD,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AARD,8CAQC;
|
|
1
|
+
{"version":3,"file":"shell-executor.js","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":"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"}
|