@kaitranntt/ccs 7.37.0-dev.2 → 7.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cliproxy/account-manager.d.ts +207 -5
- package/dist/cliproxy/account-manager.d.ts.map +1 -1
- package/dist/cliproxy/account-manager.js +795 -35
- package/dist/cliproxy/account-manager.js.map +1 -1
- package/dist/cliproxy/auth/token-expiry-checker.d.ts.map +1 -1
- package/dist/cliproxy/auth/token-expiry-checker.js +1 -5
- package/dist/cliproxy/auth/token-expiry-checker.js.map +1 -1
- package/dist/cliproxy/cliproxy-executor.d.ts +28 -11
- package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
- package/dist/cliproxy/cliproxy-executor.js +1028 -20
- package/dist/cliproxy/cliproxy-executor.js.map +1 -1
- package/dist/cliproxy/config-generator.d.ts +221 -9
- package/dist/cliproxy/config-generator.d.ts.map +1 -1
- package/dist/cliproxy/config-generator.js +856 -12
- package/dist/cliproxy/config-generator.js.map +1 -1
- package/dist/commands/cliproxy-command.d.ts +15 -4
- package/dist/commands/cliproxy-command.d.ts.map +1 -1
- package/dist/commands/cliproxy-command.js +1090 -5
- package/dist/commands/cliproxy-command.js.map +1 -1
- package/dist/ui/assets/{accounts-D0KU1a-4.js → accounts-DmKrgrCj.js} +1 -1
- package/dist/ui/assets/{alert-dialog-BNRDV_Kh.js → alert-dialog-CHcjWgRn.js} +1 -1
- package/dist/ui/assets/{api-ClkFu9LY.js → api-BFHZ3RKb.js} +1 -1
- package/dist/ui/assets/{auth-section-CNhNN1Jp.js → auth-section-DAI6Q5vU.js} +1 -1
- package/dist/ui/assets/{backups-section-CZ721HIu.js → backups-section-B1O8i4FM.js} +1 -1
- package/dist/ui/assets/cliproxy-BsSI8qFW.js +3 -0
- package/dist/ui/assets/{cliproxy-control-panel-T9i_Ldh0.js → cliproxy-control-panel-3zVE7jZH.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-Cy1__gRc.js → confirm-dialog-DV0JzL4A.js} +1 -1
- package/dist/ui/assets/{copilot-Cdqs2Jbh.js → copilot-BX8vT5RR.js} +3 -3
- package/dist/ui/assets/{globalenv-section-BEKtYN6I.js → globalenv-section-BAft0m9b.js} +1 -1
- package/dist/ui/assets/{health-BaHazGgS.js → health-ct5TpFUE.js} +1 -1
- package/dist/ui/assets/{index-C2MS84sf.js → index-B8-K01HW.js} +1 -1
- package/dist/ui/assets/{index-BTBpI5th.js → index-BOsGipAU.js} +1 -1
- package/dist/ui/assets/{index-BZn6kF0u.js → index-CU3zgD6n.js} +1 -1
- package/dist/ui/assets/{index-PjscK1jS.js → index-RZ6b7YTz.js} +1 -1
- package/dist/ui/assets/{index-CiULLjNI.js → index-gfWiPznS.js} +8 -8
- package/dist/ui/assets/{proxy-status-widget-BY6Lnr80.js → proxy-status-widget-Ng9oZdrw.js} +1 -1
- package/dist/ui/assets/{shared-dZGNvBe9.js → shared-DpInRmag.js} +1 -1
- package/dist/ui/assets/{switch-BCFbehJz.js → switch-DkRSlAu-.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/package.json +1 -1
- package/dist/cliproxy/accounts/bulk-ops.d.ts +0 -22
- package/dist/cliproxy/accounts/bulk-ops.d.ts.map +0 -1
- package/dist/cliproxy/accounts/bulk-ops.js +0 -88
- package/dist/cliproxy/accounts/bulk-ops.js.map +0 -1
- package/dist/cliproxy/accounts/index.d.ts +0 -19
- package/dist/cliproxy/accounts/index.d.ts.map +0 -1
- package/dist/cliproxy/accounts/index.js +0 -54
- package/dist/cliproxy/accounts/index.js.map +0 -1
- package/dist/cliproxy/accounts/query.d.ts +0 -36
- package/dist/cliproxy/accounts/query.d.ts.map +0 -1
- package/dist/cliproxy/accounts/query.js +0 -94
- package/dist/cliproxy/accounts/query.js.map +0 -1
- package/dist/cliproxy/accounts/registry.d.ts +0 -74
- package/dist/cliproxy/accounts/registry.d.ts.map +0 -1
- package/dist/cliproxy/accounts/registry.js +0 -510
- package/dist/cliproxy/accounts/registry.js.map +0 -1
- package/dist/cliproxy/accounts/token-file-ops.d.ts +0 -64
- package/dist/cliproxy/accounts/token-file-ops.d.ts.map +0 -1
- package/dist/cliproxy/accounts/token-file-ops.js +0 -206
- package/dist/cliproxy/accounts/token-file-ops.js.map +0 -1
- package/dist/cliproxy/accounts/types.d.ts +0 -66
- package/dist/cliproxy/accounts/types.d.ts.map +0 -1
- package/dist/cliproxy/accounts/types.js +0 -12
- package/dist/cliproxy/accounts/types.js.map +0 -1
- package/dist/cliproxy/config/env-builder.d.ts +0 -60
- package/dist/cliproxy/config/env-builder.d.ts.map +0 -1
- package/dist/cliproxy/config/env-builder.js +0 -311
- package/dist/cliproxy/config/env-builder.js.map +0 -1
- package/dist/cliproxy/config/generator.d.ts +0 -63
- package/dist/cliproxy/config/generator.d.ts.map +0 -1
- package/dist/cliproxy/config/generator.js +0 -336
- package/dist/cliproxy/config/generator.js.map +0 -1
- package/dist/cliproxy/config/index.d.ts +0 -10
- package/dist/cliproxy/config/index.d.ts.map +0 -1
- package/dist/cliproxy/config/index.js +0 -26
- package/dist/cliproxy/config/index.js.map +0 -1
- package/dist/cliproxy/config/path-resolver.d.ts +0 -47
- package/dist/cliproxy/config/path-resolver.d.ts.map +0 -1
- package/dist/cliproxy/config/path-resolver.js +0 -104
- package/dist/cliproxy/config/path-resolver.js.map +0 -1
- package/dist/cliproxy/config/port-manager.d.ts +0 -33
- package/dist/cliproxy/config/port-manager.d.ts.map +0 -1
- package/dist/cliproxy/config/port-manager.js +0 -68
- package/dist/cliproxy/config/port-manager.js.map +0 -1
- package/dist/cliproxy/config/thinking-config.d.ts +0 -39
- package/dist/cliproxy/config/thinking-config.d.ts.map +0 -1
- package/dist/cliproxy/config/thinking-config.js +0 -143
- package/dist/cliproxy/config/thinking-config.js.map +0 -1
- package/dist/cliproxy/executor/env-resolver.d.ts +0 -45
- package/dist/cliproxy/executor/env-resolver.d.ts.map +0 -1
- package/dist/cliproxy/executor/env-resolver.js +0 -106
- package/dist/cliproxy/executor/env-resolver.js.map +0 -1
- package/dist/cliproxy/executor/index.d.ts +0 -24
- package/dist/cliproxy/executor/index.d.ts.map +0 -1
- package/dist/cliproxy/executor/index.js +0 -669
- package/dist/cliproxy/executor/index.js.map +0 -1
- package/dist/cliproxy/executor/lifecycle-manager.d.ts +0 -33
- package/dist/cliproxy/executor/lifecycle-manager.d.ts.map +0 -1
- package/dist/cliproxy/executor/lifecycle-manager.js +0 -161
- package/dist/cliproxy/executor/lifecycle-manager.js.map +0 -1
- package/dist/cliproxy/executor/retry-handler.d.ts +0 -27
- package/dist/cliproxy/executor/retry-handler.d.ts.map +0 -1
- package/dist/cliproxy/executor/retry-handler.js +0 -109
- package/dist/cliproxy/executor/retry-handler.js.map +0 -1
- package/dist/cliproxy/executor/session-bridge.d.ts +0 -30
- package/dist/cliproxy/executor/session-bridge.d.ts.map +0 -1
- package/dist/cliproxy/executor/session-bridge.js +0 -232
- package/dist/cliproxy/executor/session-bridge.js.map +0 -1
- package/dist/commands/cliproxy/auth-subcommand.d.ts +0 -10
- package/dist/commands/cliproxy/auth-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/auth-subcommand.js +0 -55
- package/dist/commands/cliproxy/auth-subcommand.js.map +0 -1
- package/dist/commands/cliproxy/help-subcommand.d.ts +0 -8
- package/dist/commands/cliproxy/help-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/help-subcommand.js +0 -87
- package/dist/commands/cliproxy/help-subcommand.js.map +0 -1
- package/dist/commands/cliproxy/index.d.ts +0 -11
- package/dist/commands/cliproxy/index.d.ts.map +0 -1
- package/dist/commands/cliproxy/index.js +0 -196
- package/dist/commands/cliproxy/index.js.map +0 -1
- package/dist/commands/cliproxy/install-subcommand.d.ts +0 -14
- package/dist/commands/cliproxy/install-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/install-subcommand.js +0 -112
- package/dist/commands/cliproxy/install-subcommand.js.map +0 -1
- package/dist/commands/cliproxy/proxy-lifecycle-subcommand.d.ts +0 -10
- package/dist/commands/cliproxy/proxy-lifecycle-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/proxy-lifecycle-subcommand.js +0 -54
- package/dist/commands/cliproxy/proxy-lifecycle-subcommand.js.map +0 -1
- package/dist/commands/cliproxy/quota-subcommand.d.ts +0 -16
- package/dist/commands/cliproxy/quota-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/quota-subcommand.js +0 -383
- package/dist/commands/cliproxy/quota-subcommand.js.map +0 -1
- package/dist/commands/cliproxy/variant-subcommand.d.ts +0 -11
- package/dist/commands/cliproxy/variant-subcommand.d.ts.map +0 -1
- package/dist/commands/cliproxy/variant-subcommand.js +0 -292
- package/dist/commands/cliproxy/variant-subcommand.js.map +0 -1
- package/dist/ui/assets/cliproxy-DeGucfVg.js +0 -3
|
@@ -1,311 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Environment variable builder for CLIProxy
|
|
4
|
-
* Handles env var construction, merging, and remote URL rewriting
|
|
5
|
-
*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
-
if (mod && mod.__esModule) return mod;
|
|
24
|
-
var result = {};
|
|
25
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
-
__setModuleDefault(result, mod);
|
|
27
|
-
return result;
|
|
28
|
-
};
|
|
29
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.getRemoteEnvVars = exports.ensureProviderSettings = exports.getEffectiveEnvVars = exports.getClaudeEnvVars = exports.getModelMapping = void 0;
|
|
31
|
-
const fs = __importStar(require("fs"));
|
|
32
|
-
const base_config_loader_1 = require("../base-config-loader");
|
|
33
|
-
const unified_config_loader_1 = require("../../config/unified-config-loader");
|
|
34
|
-
const auth_token_manager_1 = require("../auth-token-manager");
|
|
35
|
-
const helpers_1 = require("../../utils/helpers");
|
|
36
|
-
const ui_1 = require("../../utils/ui");
|
|
37
|
-
const port_manager_1 = require("./port-manager");
|
|
38
|
-
const path_resolver_1 = require("./path-resolver");
|
|
39
|
-
/**
|
|
40
|
-
* Get model mapping for provider
|
|
41
|
-
* Loads from config/base-{provider}.settings.json
|
|
42
|
-
*/
|
|
43
|
-
function getModelMapping(provider) {
|
|
44
|
-
return (0, base_config_loader_1.getModelMappingFromConfig)(provider);
|
|
45
|
-
}
|
|
46
|
-
exports.getModelMapping = getModelMapping;
|
|
47
|
-
/**
|
|
48
|
-
* Get environment variables for Claude CLI (bundled defaults)
|
|
49
|
-
* Uses provider-specific endpoint (e.g., /api/provider/gemini) for explicit routing.
|
|
50
|
-
* This enables concurrent gemini/codex usage - each session routes to its provider via URL path.
|
|
51
|
-
*/
|
|
52
|
-
function getClaudeEnvVars(provider, port = port_manager_1.CLIPROXY_DEFAULT_PORT) {
|
|
53
|
-
const models = getModelMapping(provider);
|
|
54
|
-
// Base env vars from config file (includes ANTHROPIC_MAX_TOKENS, etc.)
|
|
55
|
-
const baseEnvVars = (0, base_config_loader_1.getEnvVarsFromConfig)(provider);
|
|
56
|
-
// Core env vars that we always set dynamically
|
|
57
|
-
const coreEnvVars = {
|
|
58
|
-
// Provider-specific endpoint - routes to correct provider via URL path
|
|
59
|
-
ANTHROPIC_BASE_URL: `http://127.0.0.1:${port}/api/provider/${provider}`,
|
|
60
|
-
ANTHROPIC_AUTH_TOKEN: (0, auth_token_manager_1.getEffectiveApiKey)(),
|
|
61
|
-
ANTHROPIC_MODEL: models.claudeModel,
|
|
62
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL: models.opusModel || models.claudeModel,
|
|
63
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: models.sonnetModel || models.claudeModel,
|
|
64
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: models.haikuModel || models.claudeModel,
|
|
65
|
-
};
|
|
66
|
-
// Filter out core env vars from base config to avoid conflicts
|
|
67
|
-
const { ANTHROPIC_BASE_URL: _baseUrl, ANTHROPIC_AUTH_TOKEN: _authToken, ANTHROPIC_MODEL: _model, ANTHROPIC_DEFAULT_OPUS_MODEL: _opusModel, ANTHROPIC_DEFAULT_SONNET_MODEL: _sonnetModel, ANTHROPIC_DEFAULT_HAIKU_MODEL: _haikuModel, ...additionalEnvVars } = baseEnvVars;
|
|
68
|
-
// Merge core env vars with additional env vars from base config
|
|
69
|
-
return {
|
|
70
|
-
...coreEnvVars,
|
|
71
|
-
...additionalEnvVars, // Includes ANTHROPIC_MAX_TOKENS, etc.
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
exports.getClaudeEnvVars = getClaudeEnvVars;
|
|
75
|
-
/**
|
|
76
|
-
* Get global env vars to inject into all third-party profiles.
|
|
77
|
-
* Returns empty object if disabled.
|
|
78
|
-
*/
|
|
79
|
-
function getGlobalEnvVars() {
|
|
80
|
-
const globalEnvConfig = (0, unified_config_loader_1.getGlobalEnvConfig)();
|
|
81
|
-
if (!globalEnvConfig.enabled) {
|
|
82
|
-
return {};
|
|
83
|
-
}
|
|
84
|
-
return globalEnvConfig.env;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Ensure required CLIProxy env vars are present.
|
|
88
|
-
* Falls back to bundled defaults if missing from user settings.
|
|
89
|
-
* This prevents 404 errors when users forget to set BASE_URL/AUTH_TOKEN.
|
|
90
|
-
*/
|
|
91
|
-
function ensureRequiredEnvVars(envVars, provider, port) {
|
|
92
|
-
const validPort = (0, port_manager_1.validatePort)(port);
|
|
93
|
-
const result = { ...envVars };
|
|
94
|
-
const defaults = getClaudeEnvVars(provider, validPort);
|
|
95
|
-
// Fill in missing required vars from defaults
|
|
96
|
-
if (!result.ANTHROPIC_BASE_URL?.trim()) {
|
|
97
|
-
result.ANTHROPIC_BASE_URL = defaults.ANTHROPIC_BASE_URL;
|
|
98
|
-
}
|
|
99
|
-
if (!result.ANTHROPIC_AUTH_TOKEN?.trim()) {
|
|
100
|
-
result.ANTHROPIC_AUTH_TOKEN = defaults.ANTHROPIC_AUTH_TOKEN;
|
|
101
|
-
}
|
|
102
|
-
return result;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Rewrite localhost URLs to remote server URLs.
|
|
106
|
-
* Handles various localhost patterns: 127.0.0.1, localhost, 0.0.0.0
|
|
107
|
-
*/
|
|
108
|
-
function rewriteLocalhostUrls(envVars, provider, remoteConfig) {
|
|
109
|
-
const result = { ...envVars };
|
|
110
|
-
const baseUrl = result.ANTHROPIC_BASE_URL;
|
|
111
|
-
if (!baseUrl)
|
|
112
|
-
return result;
|
|
113
|
-
// Check if URL points to localhost (127.0.0.1, localhost, 0.0.0.0)
|
|
114
|
-
const localhostPattern = /^https?:\/\/(127\.0\.0\.1|localhost|0\.0\.0\.0)(:\d+)?/i;
|
|
115
|
-
if (!localhostPattern.test(baseUrl))
|
|
116
|
-
return result;
|
|
117
|
-
// Build remote URL with smart port handling (8317 for HTTP, 443 for HTTPS)
|
|
118
|
-
// Validate port and normalize protocol for defensive handling
|
|
119
|
-
const normalizedProtocol = (0, port_manager_1.normalizeProtocol)(remoteConfig.protocol);
|
|
120
|
-
const validatedPort = (0, port_manager_1.validateRemotePort)(remoteConfig.port);
|
|
121
|
-
const effectivePort = validatedPort ?? (0, port_manager_1.getRemoteDefaultPort)(normalizedProtocol);
|
|
122
|
-
// Omit port suffix for standard web ports (80/443) for cleaner URLs
|
|
123
|
-
const standardWebPort = normalizedProtocol === 'https' ? 443 : 80;
|
|
124
|
-
const portSuffix = effectivePort === standardWebPort ? '' : `:${effectivePort}`;
|
|
125
|
-
const remoteBaseUrl = `${normalizedProtocol}://${remoteConfig.host}${portSuffix}/api/provider/${provider}`;
|
|
126
|
-
result.ANTHROPIC_BASE_URL = remoteBaseUrl;
|
|
127
|
-
// Update auth token if provided
|
|
128
|
-
if (remoteConfig.authToken) {
|
|
129
|
-
result.ANTHROPIC_AUTH_TOKEN = remoteConfig.authToken;
|
|
130
|
-
}
|
|
131
|
-
return result;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Get effective environment variables for provider
|
|
135
|
-
*
|
|
136
|
-
* Priority order:
|
|
137
|
-
* 1. Custom settings path (for user-defined CLIProxy variants)
|
|
138
|
-
* 2. User settings file (~/.ccs/{provider}.settings.json) if exists
|
|
139
|
-
* 3. Bundled defaults from PROVIDER_CONFIGS
|
|
140
|
-
*
|
|
141
|
-
* All results are merged with global_env vars (telemetry/reporting disables).
|
|
142
|
-
* User takes full responsibility for custom settings.
|
|
143
|
-
*
|
|
144
|
-
* If remoteRewriteConfig is provided, localhost URLs are rewritten to remote server.
|
|
145
|
-
*/
|
|
146
|
-
function getEffectiveEnvVars(provider, port = port_manager_1.CLIPROXY_DEFAULT_PORT, customSettingsPath, remoteRewriteConfig) {
|
|
147
|
-
// Get global env vars (DISABLE_TELEMETRY, etc.)
|
|
148
|
-
const globalEnv = getGlobalEnvVars();
|
|
149
|
-
let envVars;
|
|
150
|
-
// Priority 1: Custom settings path (for user-defined variants)
|
|
151
|
-
if (customSettingsPath) {
|
|
152
|
-
const expandedPath = (0, helpers_1.expandPath)(customSettingsPath);
|
|
153
|
-
if (fs.existsSync(expandedPath)) {
|
|
154
|
-
try {
|
|
155
|
-
const content = fs.readFileSync(expandedPath, 'utf-8');
|
|
156
|
-
const settings = JSON.parse(content);
|
|
157
|
-
if (settings.env && typeof settings.env === 'object') {
|
|
158
|
-
// Custom variant settings found - merge with global env
|
|
159
|
-
envVars = { ...globalEnv, ...settings.env };
|
|
160
|
-
// Ensure required vars are present (fall back to defaults if missing)
|
|
161
|
-
envVars = ensureRequiredEnvVars(envVars, provider, port);
|
|
162
|
-
// Apply remote rewrite if configured
|
|
163
|
-
if (remoteRewriteConfig) {
|
|
164
|
-
envVars = rewriteLocalhostUrls(envVars, provider, remoteRewriteConfig);
|
|
165
|
-
}
|
|
166
|
-
return envVars;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
catch {
|
|
170
|
-
// Invalid JSON - fall through to provider defaults
|
|
171
|
-
console.warn((0, ui_1.warn)(`Invalid settings file: ${customSettingsPath}`));
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
console.warn((0, ui_1.warn)(`Settings file not found: ${customSettingsPath}`));
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
// Priority 2: Default provider settings file
|
|
179
|
-
const settingsPath = (0, path_resolver_1.getProviderSettingsPath)(provider);
|
|
180
|
-
// Check for user override file
|
|
181
|
-
if (fs.existsSync(settingsPath)) {
|
|
182
|
-
try {
|
|
183
|
-
const content = fs.readFileSync(settingsPath, 'utf-8');
|
|
184
|
-
const settings = JSON.parse(content);
|
|
185
|
-
if (settings.env && typeof settings.env === 'object') {
|
|
186
|
-
// User override found - merge with global env
|
|
187
|
-
envVars = { ...globalEnv, ...settings.env };
|
|
188
|
-
// Ensure required vars are present (fall back to defaults if missing)
|
|
189
|
-
envVars = ensureRequiredEnvVars(envVars, provider, port);
|
|
190
|
-
// Apply remote rewrite if configured
|
|
191
|
-
if (remoteRewriteConfig) {
|
|
192
|
-
envVars = rewriteLocalhostUrls(envVars, provider, remoteRewriteConfig);
|
|
193
|
-
}
|
|
194
|
-
return envVars;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
catch {
|
|
198
|
-
// Invalid JSON or structure - fall through to defaults
|
|
199
|
-
// Silent fallback: don't spam errors for broken user files
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
// No override or invalid - use bundled defaults merged with global env
|
|
203
|
-
return { ...globalEnv, ...getClaudeEnvVars(provider, port) };
|
|
204
|
-
}
|
|
205
|
-
exports.getEffectiveEnvVars = getEffectiveEnvVars;
|
|
206
|
-
/**
|
|
207
|
-
* Copy bundled settings template to user directory if not exists
|
|
208
|
-
* Called during installation/first run
|
|
209
|
-
*/
|
|
210
|
-
function ensureProviderSettings(provider) {
|
|
211
|
-
const settingsPath = (0, path_resolver_1.getProviderSettingsPath)(provider);
|
|
212
|
-
// Only create if doesn't exist (preserve user edits)
|
|
213
|
-
if (fs.existsSync(settingsPath)) {
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
// Generate default settings from PROVIDER_CONFIGS
|
|
217
|
-
const envVars = getClaudeEnvVars(provider);
|
|
218
|
-
const settings = { env: envVars };
|
|
219
|
-
// Ensure directory exists
|
|
220
|
-
fs.mkdirSync(require('path').dirname(settingsPath), { recursive: true });
|
|
221
|
-
// Write with restricted permissions
|
|
222
|
-
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n', {
|
|
223
|
-
mode: 0o600,
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
exports.ensureProviderSettings = ensureProviderSettings;
|
|
227
|
-
/**
|
|
228
|
-
* Get environment variables for remote proxy mode.
|
|
229
|
-
* Uses the remote proxy's provider endpoint as the base URL.
|
|
230
|
-
* Respects user model settings from custom settings path or provider settings file.
|
|
231
|
-
*
|
|
232
|
-
* @param provider CLIProxy provider (gemini, codex, agy, qwen, iflow)
|
|
233
|
-
* @param remoteConfig Remote proxy connection details
|
|
234
|
-
* @param customSettingsPath Optional path to user's custom settings file
|
|
235
|
-
* @returns Environment variables for Claude CLI
|
|
236
|
-
*/
|
|
237
|
-
function getRemoteEnvVars(provider, remoteConfig, customSettingsPath) {
|
|
238
|
-
// Build URL with smart port handling (8317 for HTTP, 443 for HTTPS)
|
|
239
|
-
// Validate port and normalize protocol for defensive handling
|
|
240
|
-
const normalizedProtocol = (0, port_manager_1.normalizeProtocol)(remoteConfig.protocol);
|
|
241
|
-
const validatedPort = (0, port_manager_1.validateRemotePort)(remoteConfig.port);
|
|
242
|
-
const effectivePort = validatedPort ?? (0, port_manager_1.getRemoteDefaultPort)(normalizedProtocol);
|
|
243
|
-
// Omit port suffix for standard web ports (80/443) for cleaner URLs
|
|
244
|
-
const standardWebPort = normalizedProtocol === 'https' ? 443 : 80;
|
|
245
|
-
const portSuffix = effectivePort === standardWebPort ? '' : `:${effectivePort}`;
|
|
246
|
-
// Remote CLIProxyAPI uses root path (e.g., /v1/messages), not /api/provider/{provider}/v1/messages
|
|
247
|
-
// The /api/provider/ prefix is only for local CLIProxy instances
|
|
248
|
-
const baseUrl = `${normalizedProtocol}://${remoteConfig.host}${portSuffix}`;
|
|
249
|
-
// Get global env vars (DISABLE_TELEMETRY, etc.)
|
|
250
|
-
const globalEnv = getGlobalEnvVars();
|
|
251
|
-
// Load user settings with priority: custom path > user settings file > base config
|
|
252
|
-
let userEnvVars = {};
|
|
253
|
-
// Priority 1: Custom settings path (for user-defined variants)
|
|
254
|
-
if (customSettingsPath) {
|
|
255
|
-
const expandedPath = (0, helpers_1.expandPath)(customSettingsPath);
|
|
256
|
-
if (fs.existsSync(expandedPath)) {
|
|
257
|
-
try {
|
|
258
|
-
const content = fs.readFileSync(expandedPath, 'utf-8');
|
|
259
|
-
const settings = JSON.parse(content);
|
|
260
|
-
if (settings.env && typeof settings.env === 'object') {
|
|
261
|
-
userEnvVars = settings.env;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
catch {
|
|
265
|
-
// Invalid JSON - fall through to provider defaults
|
|
266
|
-
console.warn((0, ui_1.warn)(`Invalid settings file: ${customSettingsPath}`));
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
// Priority 2: Default provider settings file (~/.ccs/{provider}.settings.json)
|
|
271
|
-
if (Object.keys(userEnvVars).length === 0) {
|
|
272
|
-
const settingsPath = (0, path_resolver_1.getProviderSettingsPath)(provider);
|
|
273
|
-
if (fs.existsSync(settingsPath)) {
|
|
274
|
-
try {
|
|
275
|
-
const content = fs.readFileSync(settingsPath, 'utf-8');
|
|
276
|
-
const settings = JSON.parse(content);
|
|
277
|
-
if (settings.env && typeof settings.env === 'object') {
|
|
278
|
-
userEnvVars = settings.env;
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
catch {
|
|
282
|
-
// Invalid JSON - fall through to base config
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
// Priority 3: Base config defaults
|
|
287
|
-
if (Object.keys(userEnvVars).length === 0) {
|
|
288
|
-
const models = getModelMapping(provider);
|
|
289
|
-
const baseEnvVars = (0, base_config_loader_1.getEnvVarsFromConfig)(provider);
|
|
290
|
-
// Filter out URL/auth from base config (we'll set those from remote config)
|
|
291
|
-
const { ANTHROPIC_BASE_URL: _baseUrl, ANTHROPIC_AUTH_TOKEN: _authToken, ...additionalEnvVars } = baseEnvVars;
|
|
292
|
-
userEnvVars = {
|
|
293
|
-
...additionalEnvVars,
|
|
294
|
-
ANTHROPIC_MODEL: models.claudeModel,
|
|
295
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL: models.opusModel || models.claudeModel,
|
|
296
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: models.sonnetModel || models.claudeModel,
|
|
297
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: models.haikuModel || models.claudeModel,
|
|
298
|
-
};
|
|
299
|
-
}
|
|
300
|
-
// Build final env: global + user settings + remote URL/auth override
|
|
301
|
-
const env = {
|
|
302
|
-
...globalEnv,
|
|
303
|
-
...userEnvVars,
|
|
304
|
-
// Always override URL and auth token with remote config
|
|
305
|
-
ANTHROPIC_BASE_URL: baseUrl,
|
|
306
|
-
ANTHROPIC_AUTH_TOKEN: remoteConfig.authToken || (0, auth_token_manager_1.getEffectiveApiKey)(),
|
|
307
|
-
};
|
|
308
|
-
return env;
|
|
309
|
-
}
|
|
310
|
-
exports.getRemoteEnvVars = getRemoteEnvVars;
|
|
311
|
-
//# sourceMappingURL=env-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env-builder.js","sourceRoot":"","sources":["../../../src/cliproxy/config/env-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core config generation for CLIProxyAPI
|
|
3
|
-
* Handles unified config.yaml generation for all providers
|
|
4
|
-
*/
|
|
5
|
-
import { CLIProxyProvider, ProviderConfig } from '../types';
|
|
6
|
-
/** Internal API key for CCS-managed requests */
|
|
7
|
-
export declare const CCS_INTERNAL_API_KEY = "ccs-internal-managed";
|
|
8
|
-
/** Simple secret key for Control Panel login (user-facing) */
|
|
9
|
-
export declare const CCS_CONTROL_PANEL_SECRET = "ccs";
|
|
10
|
-
/**
|
|
11
|
-
* Config version - bump when config format changes to trigger regeneration
|
|
12
|
-
* v1: Initial config (port, auth-dir, api-keys only)
|
|
13
|
-
* v2: Full-featured config with dashboard, quota mgmt, simplified key
|
|
14
|
-
* v3: Logging disabled by default (user opt-in via ~/.ccs/config.yaml)
|
|
15
|
-
* v4: Added Kiro (AWS) and GitHub Copilot providers
|
|
16
|
-
* v5: Added disable-cooling: true for stability
|
|
17
|
-
*/
|
|
18
|
-
export declare const CLIPROXY_CONFIG_VERSION = 5;
|
|
19
|
-
/**
|
|
20
|
-
* Get provider configuration
|
|
21
|
-
* Model mappings are loaded from config/base-{provider}.settings.json
|
|
22
|
-
*/
|
|
23
|
-
export declare function getProviderConfig(provider: CLIProxyProvider): ProviderConfig;
|
|
24
|
-
/**
|
|
25
|
-
* Generate unified config.yaml file (supports all providers concurrently)
|
|
26
|
-
* Only regenerates if config doesn't exist.
|
|
27
|
-
* @returns Path to config file
|
|
28
|
-
*/
|
|
29
|
-
export declare function generateConfig(provider: CLIProxyProvider, port?: number): string;
|
|
30
|
-
/**
|
|
31
|
-
* Parse user-added API keys from existing config content.
|
|
32
|
-
* Extracts all keys except the internal CCS key for preservation.
|
|
33
|
-
*
|
|
34
|
-
* @param content - Existing config.yaml content
|
|
35
|
-
* @returns Array of user-added API keys (excludes CCS_INTERNAL_API_KEY)
|
|
36
|
-
*/
|
|
37
|
-
export declare function parseUserApiKeys(content: string): string[];
|
|
38
|
-
/**
|
|
39
|
-
* Force regenerate config.yaml with latest settings.
|
|
40
|
-
* Preserves user-added API keys and port settings.
|
|
41
|
-
*
|
|
42
|
-
* @param port - Default port to use if not found in existing config
|
|
43
|
-
* @returns Path to new config file
|
|
44
|
-
*/
|
|
45
|
-
export declare function regenerateConfig(port?: number): string;
|
|
46
|
-
/**
|
|
47
|
-
* Check if config needs regeneration (version mismatch)
|
|
48
|
-
* @returns true if config should be regenerated
|
|
49
|
-
*/
|
|
50
|
-
export declare function configNeedsRegeneration(): boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Check if config exists for port
|
|
53
|
-
*/
|
|
54
|
-
export declare function configExists(port?: number): boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Delete config file for specific port
|
|
57
|
-
*/
|
|
58
|
-
export declare function deleteConfigForPort(port: number): void;
|
|
59
|
-
/**
|
|
60
|
-
* Delete config file (default port)
|
|
61
|
-
*/
|
|
62
|
-
export declare function deleteConfig(): void;
|
|
63
|
-
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/config/generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO5D,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAczC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,cAAc,CAe5E;AAwHD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,MAA8B,GACnC,MAAM,CAeR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAqC1D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,MAA8B,GAAG,MAAM,CAmC7E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAoBjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAA8B,GAAG,OAAO,CAE1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKtD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
|