@kaitranntt/ccs 7.79.1-dev.4 → 7.79.1-dev.6
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 +29 -11
- package/dist/bin/ccsxp-runtime.d.ts.map +1 -1
- package/dist/bin/ccsxp-runtime.js +8 -0
- package/dist/bin/ccsxp-runtime.js.map +1 -1
- package/dist/bin/codex-runtime-router.d.ts +24 -0
- package/dist/bin/codex-runtime-router.d.ts.map +1 -0
- package/dist/bin/codex-runtime-router.js +91 -0
- package/dist/bin/codex-runtime-router.js.map +1 -0
- package/dist/bin/codex-runtime.d.ts +1 -0
- package/dist/bin/codex-runtime.js +7 -2
- package/dist/bin/codex-runtime.js.map +1 -1
- package/dist/cliproxy/ai-providers/service.d.ts.map +1 -1
- package/dist/cliproxy/ai-providers/service.js +39 -12
- package/dist/cliproxy/ai-providers/service.js.map +1 -1
- package/dist/codex-auth/codex-account-identity.d.ts +8 -0
- package/dist/codex-auth/codex-account-identity.d.ts.map +1 -0
- package/dist/codex-auth/codex-account-identity.js +53 -0
- package/dist/codex-auth/codex-account-identity.js.map +1 -0
- package/dist/codex-auth/codex-auth-dashboard-service.d.ts +46 -0
- package/dist/codex-auth/codex-auth-dashboard-service.d.ts.map +1 -0
- package/dist/codex-auth/codex-auth-dashboard-service.js +228 -0
- package/dist/codex-auth/codex-auth-dashboard-service.js.map +1 -0
- package/dist/codex-auth/codex-auth-help.d.ts +7 -0
- package/dist/codex-auth/codex-auth-help.d.ts.map +1 -0
- package/dist/codex-auth/codex-auth-help.js +87 -0
- package/dist/codex-auth/codex-auth-help.js.map +1 -0
- package/dist/codex-auth/codex-auth-router.d.ts +16 -0
- package/dist/codex-auth/codex-auth-router.d.ts.map +1 -0
- package/dist/codex-auth/codex-auth-router.js +77 -0
- package/dist/codex-auth/codex-auth-router.js.map +1 -0
- package/dist/codex-auth/codex-config-symlink.d.ts +14 -0
- package/dist/codex-auth/codex-config-symlink.d.ts.map +1 -0
- package/dist/codex-auth/codex-config-symlink.js +128 -0
- package/dist/codex-auth/codex-config-symlink.js.map +1 -0
- package/dist/codex-auth/codex-profile-paths.d.ts +5 -0
- package/dist/codex-auth/codex-profile-paths.d.ts.map +1 -0
- package/dist/codex-auth/codex-profile-paths.js +58 -0
- package/dist/codex-auth/codex-profile-paths.js.map +1 -0
- package/dist/codex-auth/codex-profile-registry.d.ts +34 -0
- package/dist/codex-auth/codex-profile-registry.d.ts.map +1 -0
- package/dist/codex-auth/codex-profile-registry.js +360 -0
- package/dist/codex-auth/codex-profile-registry.js.map +1 -0
- package/dist/codex-auth/commands/create-command.d.ts +9 -0
- package/dist/codex-auth/commands/create-command.d.ts.map +1 -0
- package/dist/codex-auth/commands/create-command.js +189 -0
- package/dist/codex-auth/commands/create-command.js.map +1 -0
- package/dist/codex-auth/commands/import-default-command.d.ts +18 -0
- package/dist/codex-auth/commands/import-default-command.d.ts.map +1 -0
- package/dist/codex-auth/commands/import-default-command.js +385 -0
- package/dist/codex-auth/commands/import-default-command.js.map +1 -0
- package/dist/codex-auth/commands/index.d.ts +13 -0
- package/dist/codex-auth/commands/index.d.ts.map +1 -0
- package/dist/codex-auth/commands/index.js +27 -0
- package/dist/codex-auth/commands/index.js.map +1 -0
- package/dist/codex-auth/commands/login-command.d.ts +9 -0
- package/dist/codex-auth/commands/login-command.d.ts.map +1 -0
- package/dist/codex-auth/commands/login-command.js +152 -0
- package/dist/codex-auth/commands/login-command.js.map +1 -0
- package/dist/codex-auth/commands/remove-command.d.ts +10 -0
- package/dist/codex-auth/commands/remove-command.d.ts.map +1 -0
- package/dist/codex-auth/commands/remove-command.js +230 -0
- package/dist/codex-auth/commands/remove-command.js.map +1 -0
- package/dist/codex-auth/commands/show-command.d.ts +10 -0
- package/dist/codex-auth/commands/show-command.d.ts.map +1 -0
- package/dist/codex-auth/commands/show-command.js +127 -0
- package/dist/codex-auth/commands/show-command.js.map +1 -0
- package/dist/codex-auth/commands/show-detail-view.d.ts +7 -0
- package/dist/codex-auth/commands/show-detail-view.d.ts.map +1 -0
- package/dist/codex-auth/commands/show-detail-view.js +134 -0
- package/dist/codex-auth/commands/show-detail-view.js.map +1 -0
- package/dist/codex-auth/commands/switch-command.d.ts +7 -0
- package/dist/codex-auth/commands/switch-command.d.ts.map +1 -0
- package/dist/codex-auth/commands/switch-command.js +48 -0
- package/dist/codex-auth/commands/switch-command.js.map +1 -0
- package/dist/codex-auth/commands/types.d.ts +45 -0
- package/dist/codex-auth/commands/types.d.ts.map +1 -0
- package/dist/codex-auth/commands/types.js +85 -0
- package/dist/codex-auth/commands/types.js.map +1 -0
- package/dist/codex-auth/commands/use-command.d.ts +16 -0
- package/dist/codex-auth/commands/use-command.d.ts.map +1 -0
- package/dist/codex-auth/commands/use-command.js +86 -0
- package/dist/codex-auth/commands/use-command.js.map +1 -0
- package/dist/codex-auth/decode-id-token.d.ts +12 -0
- package/dist/codex-auth/decode-id-token.d.ts.map +1 -0
- package/dist/codex-auth/decode-id-token.js +83 -0
- package/dist/codex-auth/decode-id-token.js.map +1 -0
- package/dist/codex-auth/index.d.ts +8 -0
- package/dist/codex-auth/index.d.ts.map +1 -0
- package/dist/codex-auth/index.js +19 -0
- package/dist/codex-auth/index.js.map +1 -0
- package/dist/codex-auth/resolve-active-profile.d.ts +13 -0
- package/dist/codex-auth/resolve-active-profile.d.ts.map +1 -0
- package/dist/codex-auth/resolve-active-profile.js +161 -0
- package/dist/codex-auth/resolve-active-profile.js.map +1 -0
- package/dist/codex-auth/shell-detect.d.ts +19 -0
- package/dist/codex-auth/shell-detect.d.ts.map +1 -0
- package/dist/codex-auth/shell-detect.js +129 -0
- package/dist/codex-auth/shell-detect.js.map +1 -0
- package/dist/codex-auth/types.d.ts +26 -0
- package/dist/codex-auth/types.d.ts.map +1 -0
- package/dist/codex-auth/types.js +34 -0
- package/dist/codex-auth/types.js.map +1 -0
- package/dist/dispatcher/pre-dispatch.d.ts.map +1 -1
- package/dist/dispatcher/pre-dispatch.js +7 -0
- package/dist/dispatcher/pre-dispatch.js.map +1 -1
- package/dist/targets/codex-cliproxy-provider-config.d.ts.map +1 -1
- package/dist/targets/codex-cliproxy-provider-config.js +17 -13
- package/dist/targets/codex-cliproxy-provider-config.js.map +1 -1
- package/dist/ui/assets/Trans-J6qQqjkU.js +1 -0
- package/dist/ui/assets/{accounts-C-sOjvWS.js → accounts-B9Y9uOFl.js} +1 -1
- package/dist/ui/assets/{alert-dialog-BrOo6Lh3.js → alert-dialog-B7gsksZn.js} +1 -1
- package/dist/ui/assets/{api-CXdC3ABc.js → api-Cz8U6P7R.js} +1 -1
- package/dist/ui/assets/{auth-section-XJ5PohAT.js → auth-section-C8dzvYje.js} +1 -1
- package/dist/ui/assets/{backups-section-DjMi9NN5.js → backups-section-D0dn59k8.js} +1 -1
- package/dist/ui/assets/{channels-dD6o7KFj.js → channels-BEmwDrRW.js} +1 -1
- package/dist/ui/assets/{checkbox-CVS69doq.js → checkbox-DD0s2D_O.js} +1 -1
- package/dist/ui/assets/{claude-extension-D47wkgfq.js → claude-extension-DHVBsw6b.js} +1 -1
- package/dist/ui/assets/{cliproxy-CXgzAe6X.js → cliproxy-BMlbpAIO.js} +2 -2
- package/dist/ui/assets/{cliproxy-ai-providers-POOrpQVc.js → cliproxy-ai-providers-B440rPlH.js} +2 -2
- package/dist/ui/assets/{cliproxy-control-panel-BWa_KiNM.js → cliproxy-control-panel-Bo-Y41B_.js} +1 -1
- package/dist/ui/assets/codex-DPe04ol4.js +30 -0
- package/dist/ui/assets/{confirm-dialog-BuxHs897.js → confirm-dialog-MQNmqmha.js} +1 -1
- package/dist/ui/assets/{copilot-BQ4Cltbo.js → copilot-COZj29YU.js} +1 -1
- package/dist/ui/assets/{cursor-BVUNUVux.js → cursor-D0occhsH.js} +1 -1
- package/dist/ui/assets/{droid-Bw34FF6c.js → droid-CSaYFApd.js} +1 -1
- package/dist/ui/assets/{globalenv-section-B4UDGHiP.js → globalenv-section-BwuNrdbO.js} +1 -1
- package/dist/ui/assets/{health-30TwUdp_.js → health-DjNOO9K-.js} +1 -1
- package/dist/ui/assets/{index-BUBCzEHD.js → index-Bm_0r3qk.js} +1 -1
- package/dist/ui/assets/{index-BxIFAuoV.js → index-Bnzie_zG.js} +1 -1
- package/dist/ui/assets/{index-C6j8gpEb.js → index-CSlgRg0s.js} +27 -27
- package/dist/ui/assets/index-CjM3Ehb8.js +1 -0
- package/dist/ui/assets/{index-BjQ5PWH7.js → index-CmOBelFi.js} +1 -1
- package/dist/ui/assets/{index-DtiygQmg.js → index-D9HfyuQr.js} +1 -1
- package/dist/ui/assets/index-G3mgTfgR.css +1 -0
- package/dist/ui/assets/{index-ByGCSVsI.js → index-i2MPNni3.js} +1 -1
- package/dist/ui/assets/{logs-CDD_WQvt.js → logs-7bWvuc1l.js} +1 -1
- package/dist/ui/assets/{masked-input-DpM1vKP_.js → masked-input-D_amxi96.js} +1 -1
- package/dist/ui/assets/proxy-status-widget-BkC-wCtI.js +1 -0
- package/dist/ui/assets/{raw-json-settings-editor-panel-D-zQkcvr.js → raw-json-settings-editor-panel-CVP5Bjfm.js} +1 -1
- package/dist/ui/assets/{searchable-select-B8Kp0x8p.js → searchable-select-e5sY7o6g.js} +1 -1
- package/dist/ui/assets/{separator-DlXQBF83.js → separator-BR5bmtI7.js} +1 -1
- package/dist/ui/assets/{shared-D_h3QKy6.js → shared-CsqW2cFN.js} +1 -1
- package/dist/ui/assets/{table-Dyt0FuBK.js → table-DPheAd4c.js} +1 -1
- package/dist/ui/assets/{updates-DfIV0IC0.js → updates-D07RjKLJ.js} +1 -1
- package/dist/ui/assets/{use-accounts-Dy2ogHT-.js → use-accounts-CWVR2NXQ.js} +1 -1
- package/dist/ui/index.html +2 -2
- package/dist/web-server/routes/claude-extension-routes.d.ts.map +1 -1
- package/dist/web-server/routes/claude-extension-routes.js +5 -0
- package/dist/web-server/routes/claude-extension-routes.js.map +1 -1
- package/dist/web-server/routes/codex-routes.d.ts.map +1 -1
- package/dist/web-server/routes/codex-routes.js +14 -0
- package/dist/web-server/routes/codex-routes.js.map +1 -1
- package/lib/hooks/websearch-transformer.cjs +12 -3
- package/package.json +1 -1
- package/scripts/run-test-bucket.js +1 -0
- package/dist/ui/assets/codex-CYyPdHS4.js +0 -30
- package/dist/ui/assets/index-nSsKQx8t.css +0 -1
- package/dist/ui/assets/index-s94_IKNx.js +0 -1
- package/dist/ui/assets/proxy-status-widget-7iMiOpQe.js +0 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.resolveActiveProfile = exports.CodexAuthProfileResolutionError = void 0;
|
|
27
|
+
/**
|
|
28
|
+
* Synchronous hot-path resolver for the active codex auth profile. <5ms typical.
|
|
29
|
+
* Precedence: CCS_CODEX_PROFILE env → registry.default → null (legacy ~/.codex).
|
|
30
|
+
* Legacy fallback is allowed only when no explicit CCS_CODEX_PROFILE was requested.
|
|
31
|
+
*/
|
|
32
|
+
const fs = __importStar(require("fs"));
|
|
33
|
+
const path = __importStar(require("path"));
|
|
34
|
+
const yaml = __importStar(require("js-yaml"));
|
|
35
|
+
const codex_profile_paths_1 = require("./codex-profile-paths");
|
|
36
|
+
const config_manager_1 = require("../utils/config-manager");
|
|
37
|
+
const types_1 = require("./types");
|
|
38
|
+
const codex_profile_registry_1 = require("./codex-profile-registry");
|
|
39
|
+
class CodexAuthProfileResolutionError extends Error {
|
|
40
|
+
constructor(message) {
|
|
41
|
+
super(message);
|
|
42
|
+
this.name = 'CodexAuthProfileResolutionError';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.CodexAuthProfileResolutionError = CodexAuthProfileResolutionError;
|
|
46
|
+
function quoteDiagnosticValue(value) {
|
|
47
|
+
const escaped = value
|
|
48
|
+
.replace(/[\x00-\x1f\x7f]/g, (char) => `\\x${char.charCodeAt(0).toString(16).padStart(2, '0')}`)
|
|
49
|
+
.replace(/'/g, "\\'");
|
|
50
|
+
return `'${escaped.length > 96 ? `${escaped.slice(0, 96)}...` : escaped}'`;
|
|
51
|
+
}
|
|
52
|
+
function registryDisplayPath(registryPath) {
|
|
53
|
+
const [source] = (0, config_manager_1.getCcsDirSource)();
|
|
54
|
+
if (source === 'default') {
|
|
55
|
+
return process.platform === 'win32'
|
|
56
|
+
? '%USERPROFILE%\\.ccs\\codex-profiles.yaml'
|
|
57
|
+
: '~/.ccs/codex-profiles.yaml';
|
|
58
|
+
}
|
|
59
|
+
if (source === 'CCS_HOME' || source === 'scoped:CCS_HOME') {
|
|
60
|
+
return '$CCS_HOME/.ccs/codex-profiles.yaml';
|
|
61
|
+
}
|
|
62
|
+
if (source === 'CCS_DIR' || source === 'scoped:CCS_DIR') {
|
|
63
|
+
return '$CCS_DIR/codex-profiles.yaml';
|
|
64
|
+
}
|
|
65
|
+
return registryPath;
|
|
66
|
+
}
|
|
67
|
+
function resolutionFailure(message, envName, displayEnvName) {
|
|
68
|
+
const prefix = envName ? `CCS_CODEX_PROFILE=${displayEnvName} is set but ` : '';
|
|
69
|
+
throw new CodexAuthProfileResolutionError(`${prefix}${message}. Refusing to fall back to ~/.codex.`);
|
|
70
|
+
}
|
|
71
|
+
function assertValidProfileNameForResolution(name, envName, displayEnvName) {
|
|
72
|
+
const nameError = (0, types_1.getCodexProfileNameError)(name);
|
|
73
|
+
if (nameError) {
|
|
74
|
+
resolutionFailure(`profile name ${quoteDiagnosticValue(name)} is invalid: ${nameError}`, envName, displayEnvName);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function assertValidProfileEntry(name, profiles, envName, displayEnvName, displayRegistryPath) {
|
|
78
|
+
assertValidProfileNameForResolution(name, envName, displayEnvName);
|
|
79
|
+
const profile = profiles[name];
|
|
80
|
+
if (!profile || typeof profile !== 'object' || Array.isArray(profile)) {
|
|
81
|
+
resolutionFailure(`registry profile ${quoteDiagnosticValue(name)} at ${displayRegistryPath} is not a valid object`, envName, displayEnvName);
|
|
82
|
+
}
|
|
83
|
+
const type = profile.type;
|
|
84
|
+
if (type !== 'codex') {
|
|
85
|
+
resolutionFailure(`registry profile ${quoteDiagnosticValue(name)} at ${displayRegistryPath} is not a Codex profile`, envName, displayEnvName);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/** @param env - Process env map; defaults to process.env. Injectable for tests. */
|
|
89
|
+
function resolveActiveProfile(env = process.env) {
|
|
90
|
+
const registryPath = (0, codex_profile_paths_1.getCodexAuthRegistryPath)();
|
|
91
|
+
const envName = (env.CCS_CODEX_PROFILE ?? '').trim();
|
|
92
|
+
const displayEnvName = quoteDiagnosticValue(envName);
|
|
93
|
+
const displayRegistryPath = registryDisplayPath(registryPath);
|
|
94
|
+
// F4: silent fallback — no registry means no profiles, legacy mode
|
|
95
|
+
if (!fs.existsSync(registryPath)) {
|
|
96
|
+
if (envName) {
|
|
97
|
+
throw new CodexAuthProfileResolutionError(`CCS_CODEX_PROFILE=${displayEnvName} is set but ${displayRegistryPath} does not exist. Refusing to fall back to ~/.codex.`);
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
let parsed;
|
|
102
|
+
try {
|
|
103
|
+
const raw = fs.readFileSync(registryPath, 'utf8');
|
|
104
|
+
parsed = yaml.load(raw);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
if (err instanceof CodexAuthProfileResolutionError)
|
|
108
|
+
throw err;
|
|
109
|
+
const msg = `registry YAML could not be parsed at ${displayRegistryPath}`;
|
|
110
|
+
resolutionFailure(msg, envName, displayEnvName);
|
|
111
|
+
}
|
|
112
|
+
let registry;
|
|
113
|
+
try {
|
|
114
|
+
registry = (0, codex_profile_registry_1.validateCodexProfileRegistryData)(parsed);
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
118
|
+
resolutionFailure(`registry at ${displayRegistryPath} is invalid: ${msg}`, envName, displayEnvName);
|
|
119
|
+
}
|
|
120
|
+
const profiles = registry.profiles;
|
|
121
|
+
if (!profiles || typeof profiles !== 'object' || Array.isArray(profiles)) {
|
|
122
|
+
resolutionFailure(`registry at ${displayRegistryPath} is missing a valid profiles map`, envName, displayEnvName);
|
|
123
|
+
}
|
|
124
|
+
for (const profileName of Object.keys(profiles)) {
|
|
125
|
+
assertValidProfileEntry(profileName, profiles, envName, displayEnvName, displayRegistryPath);
|
|
126
|
+
}
|
|
127
|
+
// F2: explicit env override
|
|
128
|
+
if (envName) {
|
|
129
|
+
assertValidProfileNameForResolution(envName, envName, displayEnvName);
|
|
130
|
+
if (!Object.prototype.hasOwnProperty.call(profiles, envName)) {
|
|
131
|
+
throw new CodexAuthProfileResolutionError(`CCS_CODEX_PROFILE=${displayEnvName} not found in registry. Refusing to fall back to ~/.codex.`);
|
|
132
|
+
}
|
|
133
|
+
assertValidProfileEntry(envName, profiles, envName, displayEnvName, displayRegistryPath);
|
|
134
|
+
return {
|
|
135
|
+
name: envName,
|
|
136
|
+
dir: path.resolve((0, codex_profile_paths_1.resolveCodexProfileDir)(envName)),
|
|
137
|
+
source: 'env',
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
// F3: registry default
|
|
141
|
+
const defaultName = registry.default;
|
|
142
|
+
if (defaultName !== null) {
|
|
143
|
+
if (typeof defaultName !== 'string') {
|
|
144
|
+
resolutionFailure(`registry default at ${displayRegistryPath} is not a valid profile name`, envName, displayEnvName);
|
|
145
|
+
}
|
|
146
|
+
assertValidProfileNameForResolution(defaultName, envName, displayEnvName);
|
|
147
|
+
if (!Object.prototype.hasOwnProperty.call(profiles, defaultName)) {
|
|
148
|
+
resolutionFailure(`registry default ${quoteDiagnosticValue(defaultName)} is missing from profiles map`, envName, displayEnvName);
|
|
149
|
+
}
|
|
150
|
+
assertValidProfileEntry(defaultName, profiles, envName, displayEnvName, displayRegistryPath);
|
|
151
|
+
return {
|
|
152
|
+
name: defaultName,
|
|
153
|
+
dir: path.resolve((0, codex_profile_paths_1.resolveCodexProfileDir)(defaultName)),
|
|
154
|
+
source: 'default',
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
// F4: no profile configured
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
exports.resolveActiveProfile = resolveActiveProfile;
|
|
161
|
+
//# sourceMappingURL=resolve-active-profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-active-profile.js","sourceRoot":"","sources":["../../src/codex-auth/resolve-active-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell detection for codex-auth use command.
|
|
3
|
+
* Determines current shell to emit correct eval-safe export syntax.
|
|
4
|
+
*/
|
|
5
|
+
/// <reference types="node" />
|
|
6
|
+
/// <reference types="bun-types" />
|
|
7
|
+
export type Shell = 'bash' | 'zsh' | 'fish' | 'pwsh' | 'cmd';
|
|
8
|
+
/**
|
|
9
|
+
* Detect current shell from environment.
|
|
10
|
+
* On Windows: inspect explicit shell executable hints, else default to cmd.
|
|
11
|
+
* On Unix: inspect $SHELL suffix.
|
|
12
|
+
*/
|
|
13
|
+
export declare function detectShell(env?: NodeJS.ProcessEnv, platform?: string, parentProcessName?: string): Shell;
|
|
14
|
+
/**
|
|
15
|
+
* Format a single env var export statement for the target shell.
|
|
16
|
+
* Used by use-command to emit eval-safe lines.
|
|
17
|
+
*/
|
|
18
|
+
export declare function formatExport(shell: Shell, key: string, value: string): string;
|
|
19
|
+
//# sourceMappingURL=shell-detect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-detect.d.ts","sourceRoot":"","sources":["../../src/codex-auth/shell-detect.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;AAIH,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAyB,EACnC,iBAAiB,CAAC,EAAE,MAAM,GACzB,KAAK,CAaP;AAuED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAY7E"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shell detection for codex-auth use command.
|
|
4
|
+
* Determines current shell to emit correct eval-safe export syntax.
|
|
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.formatExport = exports.detectShell = void 0;
|
|
31
|
+
const childProcess = __importStar(require("child_process"));
|
|
32
|
+
/**
|
|
33
|
+
* Detect current shell from environment.
|
|
34
|
+
* On Windows: inspect explicit shell executable hints, else default to cmd.
|
|
35
|
+
* On Unix: inspect $SHELL suffix.
|
|
36
|
+
*/
|
|
37
|
+
function detectShell(env = process.env, platform = process.platform, parentProcessName) {
|
|
38
|
+
if (platform === 'win32') {
|
|
39
|
+
return (shellFromExecutable(env.SHELL) ??
|
|
40
|
+
shellFromExecutable(parentProcessName ?? detectParentProcessName(platform)) ??
|
|
41
|
+
shellFromExecutable(env.ComSpec ?? env.COMSPEC) ??
|
|
42
|
+
'cmd');
|
|
43
|
+
}
|
|
44
|
+
const sh = (env.SHELL ?? '').toLowerCase();
|
|
45
|
+
if (sh.endsWith('/fish'))
|
|
46
|
+
return 'fish';
|
|
47
|
+
if (sh.endsWith('/zsh'))
|
|
48
|
+
return 'zsh';
|
|
49
|
+
return 'bash'; // default for bash, sh, dash, ksh
|
|
50
|
+
}
|
|
51
|
+
exports.detectShell = detectShell;
|
|
52
|
+
function detectParentProcessName(platform) {
|
|
53
|
+
if (platform !== 'win32' || !Number.isInteger(process.ppid) || process.ppid <= 0) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const result = childProcess.spawnSync('powershell.exe', [
|
|
57
|
+
'-NoProfile',
|
|
58
|
+
'-NonInteractive',
|
|
59
|
+
'-Command',
|
|
60
|
+
`(Get-Process -Id ${process.ppid} -ErrorAction Stop).ProcessName`,
|
|
61
|
+
], { encoding: 'utf8', timeout: 1500, windowsHide: true });
|
|
62
|
+
if (result.status !== 0 || !result.stdout)
|
|
63
|
+
return undefined;
|
|
64
|
+
return result.stdout.trim().split(/\r?\n/).pop()?.trim();
|
|
65
|
+
}
|
|
66
|
+
function shellFromExecutable(value) {
|
|
67
|
+
if (!value)
|
|
68
|
+
return null;
|
|
69
|
+
const base = value
|
|
70
|
+
.replace(/^["']|["']$/g, '')
|
|
71
|
+
.replace(/\\/g, '/')
|
|
72
|
+
.split('/')
|
|
73
|
+
.pop()
|
|
74
|
+
?.toLowerCase()
|
|
75
|
+
.replace(/\.(exe|cmd|ps1|bat)$/i, '');
|
|
76
|
+
switch (base) {
|
|
77
|
+
case 'fish':
|
|
78
|
+
case 'zsh':
|
|
79
|
+
case 'bash':
|
|
80
|
+
case 'cmd':
|
|
81
|
+
return base;
|
|
82
|
+
case 'pwsh':
|
|
83
|
+
case 'powershell':
|
|
84
|
+
return 'pwsh';
|
|
85
|
+
default:
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Single-quote escape for POSIX shells (bash/zsh/fish).
|
|
91
|
+
* Closes the single-quote, inserts escaped quote, reopens.
|
|
92
|
+
*/
|
|
93
|
+
function posixSingleQuote(value) {
|
|
94
|
+
return "'" + value.replace(/'/g, "'\\''") + "'";
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Double-quote escape for PowerShell.
|
|
98
|
+
* Wraps in double quotes; escapes the PowerShell escape char first, doubles
|
|
99
|
+
* internal double quotes, and backtick-escapes $ to prevent interpolation.
|
|
100
|
+
*/
|
|
101
|
+
function pwshDoubleQuote(value) {
|
|
102
|
+
return '"' + value.replace(/`/g, '``').replace(/"/g, '""').replace(/\$/g, '`$') + '"';
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Quote a cmd.exe SET assignment. `set "KEY=value"` keeps command separators
|
|
106
|
+
* like &, |, <, and > inside the assignment instead of executing them.
|
|
107
|
+
*/
|
|
108
|
+
function cmdSetQuote(value) {
|
|
109
|
+
return value.replace(/\^/g, '^^').replace(/%/g, '%%').replace(/"/g, '^"').replace(/!/g, '^^!');
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Format a single env var export statement for the target shell.
|
|
113
|
+
* Used by use-command to emit eval-safe lines.
|
|
114
|
+
*/
|
|
115
|
+
function formatExport(shell, key, value) {
|
|
116
|
+
switch (shell) {
|
|
117
|
+
case 'fish':
|
|
118
|
+
return `set -gx ${key} ${posixSingleQuote(value)};`;
|
|
119
|
+
case 'pwsh':
|
|
120
|
+
return `$env:${key} = ${pwshDoubleQuote(value)}`;
|
|
121
|
+
case 'cmd':
|
|
122
|
+
return `set "${key}=${cmdSetQuote(value)}"`;
|
|
123
|
+
default:
|
|
124
|
+
// bash / zsh
|
|
125
|
+
return `export ${key}=${posixSingleQuote(value)}`;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
exports.formatExport = formatExport;
|
|
129
|
+
//# sourceMappingURL=shell-detect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-detect.js","sourceRoot":"","sources":["../../src/codex-auth/shell-detect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface CodexProfileMetadata {
|
|
2
|
+
type: 'codex';
|
|
3
|
+
created: string;
|
|
4
|
+
last_used: string | null;
|
|
5
|
+
email?: string;
|
|
6
|
+
plan_type?: string | null;
|
|
7
|
+
account_id?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface CodexProfileData {
|
|
10
|
+
version: string;
|
|
11
|
+
default: string | null;
|
|
12
|
+
profiles: Record<string, CodexProfileMetadata>;
|
|
13
|
+
}
|
|
14
|
+
export interface CodexAccountIdentity {
|
|
15
|
+
email?: string;
|
|
16
|
+
plan_type?: string;
|
|
17
|
+
account_id?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare const CODEX_PROFILE_SCHEMA_VERSION = "1.0";
|
|
20
|
+
/**
|
|
21
|
+
* Profile name must match /^[a-z0-9][a-z0-9_-]{0,63}$/ and not be reserved.
|
|
22
|
+
* Rejects uppercase, path separators, leading dash/underscore, length >64.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isValidCodexProfileName(name: string): boolean;
|
|
25
|
+
export declare function getCodexProfileNameError(name: string): string | null;
|
|
26
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/codex-auth/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAIlD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASpE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCodexProfileNameError = exports.isValidCodexProfileName = exports.CODEX_PROFILE_SCHEMA_VERSION = void 0;
|
|
4
|
+
exports.CODEX_PROFILE_SCHEMA_VERSION = '1.0';
|
|
5
|
+
const RESERVED_CODEX_PROFILE_NAMES = new Set(['default', 'current']);
|
|
6
|
+
/**
|
|
7
|
+
* Profile name must match /^[a-z0-9][a-z0-9_-]{0,63}$/ and not be reserved.
|
|
8
|
+
* Rejects uppercase, path separators, leading dash/underscore, length >64.
|
|
9
|
+
*/
|
|
10
|
+
function isValidCodexProfileName(name) {
|
|
11
|
+
if (!name || name.length > 64)
|
|
12
|
+
return false;
|
|
13
|
+
if (RESERVED_CODEX_PROFILE_NAMES.has(name))
|
|
14
|
+
return false;
|
|
15
|
+
if (name.includes('/') || name.includes('\\'))
|
|
16
|
+
return false;
|
|
17
|
+
return /^[a-z0-9][a-z0-9_-]{0,63}$/.test(name);
|
|
18
|
+
}
|
|
19
|
+
exports.isValidCodexProfileName = isValidCodexProfileName;
|
|
20
|
+
function getCodexProfileNameError(name) {
|
|
21
|
+
if (!name)
|
|
22
|
+
return 'Profile name is required.';
|
|
23
|
+
if (RESERVED_CODEX_PROFILE_NAMES.has(name))
|
|
24
|
+
return `Profile name "${name}" is reserved.`;
|
|
25
|
+
if (name.includes('/') || name.includes('\\'))
|
|
26
|
+
return 'Profile name must not contain path separators.';
|
|
27
|
+
if (name.length > 64)
|
|
28
|
+
return 'Profile name must be 64 characters or fewer.';
|
|
29
|
+
if (!/^[a-z0-9][a-z0-9_-]{0,63}$/.test(name))
|
|
30
|
+
return 'Profile name must match [a-z0-9][a-z0-9_-]{0,63}.';
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
exports.getCodexProfileNameError = getCodexProfileNameError;
|
|
34
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/codex-auth/types.ts"],"names":[],"mappings":";;;AAqBa,QAAA,4BAA4B,GAAG,KAAK,CAAC;AAElD,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAErE;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,IAAY;IAClD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AALD,0DAKC;AAED,SAAgB,wBAAwB,CAAC,IAAY;IACnD,IAAI,CAAC,IAAI;QAAE,OAAO,2BAA2B,CAAC;IAC9C,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,iBAAiB,IAAI,gBAAgB,CAAC;IACzF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3C,OAAO,gDAAgD,CAAC;IAC1D,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,8CAA8C,CAAC;IAC5E,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,OAAO,mDAAmD,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AATD,4DASC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-dispatch.d.ts","sourceRoot":"","sources":["../../src/dispatcher/pre-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"pre-dispatch.d.ts","sourceRoot":"","sources":["../../src/dispatcher/pre-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CA8HtF"}
|
|
@@ -71,6 +71,13 @@ async function runPreDispatchHandlers(ctx) {
|
|
|
71
71
|
(0, environment_builder_1.refreshUpdateCache)();
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
+
// CCS_NO_PRE_DISPATCH guard — set by `ccsx auth use` to keep stdout clean
|
|
75
|
+
// for shell eval. Must be checked BEFORE autoMigrate/recovery, both of which
|
|
76
|
+
// write to stdout and would otherwise contaminate `eval "$(ccsx auth use <name>)"`.
|
|
77
|
+
// See: src/codex-auth/commands/use-command.ts (C2 in plan.md §Validation findings)
|
|
78
|
+
if (process.env.CCS_NO_PRE_DISPATCH === '1') {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
74
81
|
// Auto-migrate to unified config format (silent if already migrated)
|
|
75
82
|
// Skip if user is explicitly running migrate command
|
|
76
83
|
if (firstArg !== 'migrate') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-dispatch.js","sourceRoot":"","sources":["../../src/dispatcher/pre-dispatch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pre-dispatch.js","sourceRoot":"","sources":["../../src/dispatcher/pre-dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-cliproxy-provider-config.d.ts","sourceRoot":"","sources":["../../src/targets/codex-cliproxy-provider-config.ts"],"names":[],"mappings":";;AAWA,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AACrE,eAAO,MAAM,0BAA0B,aAAa,CAAC;AACrD,eAAO,MAAM,+BAA+B,qBAAqB,CAAC;AAClE,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAG7D,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAgBD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAErF;
|
|
1
|
+
{"version":3,"file":"codex-cliproxy-provider-config.d.ts","sourceRoot":"","sources":["../../src/targets/codex-cliproxy-provider-config.ts"],"names":[],"mappings":";;AAWA,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AACrE,eAAO,MAAM,0BAA0B,aAAa,CAAC;AACrD,eAAO,MAAM,+BAA+B,qBAAqB,CAAC;AAClE,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAG7D,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAgBD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAErF;AAqFD,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,iCAAiC,CAAC,CAsE5C"}
|
|
@@ -56,22 +56,19 @@ function asObject(value) {
|
|
|
56
56
|
? value
|
|
57
57
|
: null;
|
|
58
58
|
}
|
|
59
|
-
function
|
|
59
|
+
function isValidCodexCliproxyBaseUrl(value) {
|
|
60
60
|
if (typeof value !== 'string')
|
|
61
|
-
return
|
|
61
|
+
return false;
|
|
62
62
|
const trimmed = value.trim();
|
|
63
|
+
if (!trimmed)
|
|
64
|
+
return false;
|
|
63
65
|
try {
|
|
64
66
|
const url = new URL(trimmed);
|
|
65
|
-
|
|
66
|
-
url.pathname === '/api/provider/codex') {
|
|
67
|
-
url.hostname = '127.0.0.1';
|
|
68
|
-
return url.toString().replace(/\/$/, '');
|
|
69
|
-
}
|
|
67
|
+
return url.protocol === 'http:' || url.protocol === 'https:';
|
|
70
68
|
}
|
|
71
69
|
catch {
|
|
72
|
-
return
|
|
70
|
+
return false;
|
|
73
71
|
}
|
|
74
|
-
return null;
|
|
75
72
|
}
|
|
76
73
|
function resolveProviderEnvKey(provider) {
|
|
77
74
|
const envKey = provider?.env_key;
|
|
@@ -80,9 +77,9 @@ function resolveProviderEnvKey(provider) {
|
|
|
80
77
|
}
|
|
81
78
|
return exports.CODEX_CLIPROXY_PROVIDER_ENV_KEY;
|
|
82
79
|
}
|
|
83
|
-
function isProviderReady(provider,
|
|
80
|
+
function isProviderReady(provider, envKey) {
|
|
84
81
|
return (provider.name === exports.CODEX_CLIPROXY_PROVIDER_NAME &&
|
|
85
|
-
|
|
82
|
+
isValidCodexCliproxyBaseUrl(provider.base_url) &&
|
|
86
83
|
provider.env_key === envKey &&
|
|
87
84
|
provider.wire_api === 'responses' &&
|
|
88
85
|
provider.requires_openai_auth === false &&
|
|
@@ -98,6 +95,13 @@ function buildProviderConfig(baseUrl, envKey) {
|
|
|
98
95
|
supports_websockets: false,
|
|
99
96
|
};
|
|
100
97
|
}
|
|
98
|
+
function resolveProviderBaseUrl(provider, fallbackBaseUrl) {
|
|
99
|
+
const baseUrl = provider.base_url;
|
|
100
|
+
if (isValidCodexCliproxyBaseUrl(baseUrl)) {
|
|
101
|
+
return baseUrl.trim();
|
|
102
|
+
}
|
|
103
|
+
return fallbackBaseUrl;
|
|
104
|
+
}
|
|
101
105
|
function appendProviderBlock(rawText, baseUrl) {
|
|
102
106
|
const prefix = rawText.trimEnd();
|
|
103
107
|
const providerBlock = (0, compatible_cli_toml_file_service_1.stringifyTomlObject)({
|
|
@@ -162,11 +166,11 @@ async function ensureCodexCliproxyProviderConfig(port, env = process.env) {
|
|
|
162
166
|
throw new Error(`Cannot repair ${displayPath}: [model_providers.${exports.CODEX_CLIPROXY_PROVIDER_ID}] must be a table.`);
|
|
163
167
|
}
|
|
164
168
|
const envKey = resolveProviderEnvKey(currentProvider);
|
|
165
|
-
const providerReady = isProviderReady(currentProvider,
|
|
169
|
+
const providerReady = isProviderReady(currentProvider, envKey);
|
|
166
170
|
if (!providerReady) {
|
|
167
171
|
providers[exports.CODEX_CLIPROXY_PROVIDER_ID] = {
|
|
168
172
|
...currentProvider,
|
|
169
|
-
...buildProviderConfig(expectedBaseUrl, envKey),
|
|
173
|
+
...buildProviderConfig(resolveProviderBaseUrl(currentProvider, expectedBaseUrl), envKey),
|
|
170
174
|
};
|
|
171
175
|
}
|
|
172
176
|
if (providerReady && !normalizedModelAlias) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-cliproxy-provider-config.js","sourceRoot":"","sources":["../../src/targets/codex-cliproxy-provider-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,8CAA8C;AAC9C,8GAIiE;AACjE,6DAA6D;AAC7D,sFAA0F;AAE7E,QAAA,2BAA2B,GAAG,yBAAyB,CAAC;AACxD,QAAA,0BAA0B,GAAG,UAAU,CAAC;AACxC,QAAA,+BAA+B,GAAG,kBAAkB,CAAC;AACrD,QAAA,4BAA4B,GAAG,gBAAgB,CAAC;AAC7D,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAS3C,SAAS,sBAAsB,CAAC,MAAyB,OAAO,CAAC,GAAG;IAIlE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAC1B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,oBAAU,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAChF,CAAC;IACF,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;IAChE,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;QAC7C,WAAW,EAAE,GAAG,WAAW,cAAc;KAC1C,CAAC;AACJ,CAAC;AAED,SAAgB,iCAAiC,CAAC,IAAY;IAC5D,OAAO,oBAAoB,IAAI,qBAAqB,CAAC;AACvD,CAAC;AAFD,8EAEC;AAED,SAAgB,uBAAuB,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC1E,OAAO,GAAG,CAAC,mCAA2B,CAAC,KAAK,GAAG,CAAC;AAClD,CAAC;AAFD,0DAEC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,
|
|
1
|
+
{"version":3,"file":"codex-cliproxy-provider-config.js","sourceRoot":"","sources":["../../src/targets/codex-cliproxy-provider-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as K,r as A}from"./react-vendor-Bjx91N7w.js";import{bP as U,bQ as X,bR as q,bS as ee,bT as D,bU as H,bV as L,bW as te,bX as ne}from"./index-CSlgRg0s.js";var W,M;function re(){return M||(M=1,W={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),W}var se=re();const ae=K(se);var ie=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function Z(e){var t={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},n=e.match(/<\/?([^\s]+?)[/\s>]/);if(n&&(t.name=n[1],(ae[n[1]]||e.charAt(e.length-2)==="/")&&(t.voidElement=!0),t.name.startsWith("!--"))){var r=e.indexOf("-->");return{type:"comment",comment:r!==-1?e.slice(4,r):""}}for(var i=new RegExp(ie),s=null;(s=i.exec(e))!==null;)if(s[0].trim())if(s[1]){var o=s[1].trim(),l=[o,""];o.indexOf("=")>-1&&(l=o.split("=")),t.attrs[l[0]]=l[1],i.lastIndex--}else s[2]&&(t.attrs[s[2]]=s[3].trim().substring(1,s[3].length-1));return t}var oe=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,le=/^\s*$/,ce=Object.create(null);function J(e,t){switch(t.type){case"text":return e+t.content;case"tag":return e+="<"+t.name+(t.attrs?(function(n){var r=[];for(var i in n)r.push(i+'="'+n[i]+'"');return r.length?" "+r.join(" "):""})(t.attrs):"")+(t.voidElement?"/>":">"),t.voidElement?e:e+t.children.reduce(J,"")+"</"+t.name+">";case"comment":return e+"<!--"+t.comment+"-->"}}var ue={parse:function(e,t){t||(t={}),t.components||(t.components=ce);var n,r=[],i=[],s=-1,o=!1;if(e.indexOf("<")!==0){var l=e.indexOf("<");r.push({type:"text",content:l===-1?e:e.substring(0,l)})}return e.replace(oe,function(c,p){if(o){if(c!=="</"+n.name+">")return;o=!1}var f,v=c.charAt(1)!=="/",C=c.startsWith("<!--"),g=p+c.length,u=e.charAt(g);if(C){var j=Z(c);return s<0?(r.push(j),r):((f=i[s]).children.push(j),r)}if(v&&(s++,(n=Z(c)).type==="tag"&&t.components[n.name]&&(n.type="component",o=!0),n.voidElement||o||!u||u==="<"||n.children.push({type:"text",content:e.slice(g,e.indexOf("<",g))}),s===0&&r.push(n),(f=i[s-1])&&f.children.push(n),i[s]=n),(!v||n.voidElement)&&(s>-1&&(n.voidElement||n.name===c.slice(2,-1))&&(s--,n=s===-1?r:i[s]),!o&&u!=="<"&&u)){f=s===-1?r:i[s].children;var h=e.indexOf("<",g),$=e.slice(g,h===-1?void 0:h);le.test($)&&($=" "),(h>-1&&s+f.length>=0||$!==" ")&&f.push({type:"text",content:$})}}),r},stringify:function(e){return e.reduce(function(t,n){return t+J("",n)},"")}};const z=(e,t)=>{if(!e)return!1;const n=e.props?.children??e.children;return t?n.length>0:!!n},B=e=>{if(!e)return[];const t=e.props?.children??e.children;return e.props?.i18nIsDynamicList?_(t):t},pe=e=>Array.isArray(e)&&e.every(A.isValidElement),_=e=>Array.isArray(e)?e:[e],fe=(e,t)=>{const n={...t};return n.props={...t.props,...e.props},n},me=e=>{const t={};if(!e)return t;const n=r=>{_(r).forEach(s=>{D(s)||(z(s)?n(B(s)):L(s)&&!A.isValidElement(s)&&Object.assign(t,s))})};return n(e),t},Y=(e,t,n,r)=>{if(!e)return"";let i="";const s=_(e),o=t?.transSupportBasicHtmlNodes?t.transKeepBasicHtmlNodesFor??[]:[];return s.forEach((l,c)=>{if(D(l)){i+=`${l}`;return}if(A.isValidElement(l)){const{props:p,type:f}=l,v=Object.keys(p).length,C=o.indexOf(f)>-1,g=p.children;if(!g&&C&&!v){i+=`<${f}/>`;return}if(!g&&(!C||v)||p.i18nIsDynamicList){i+=`<${c}></${c}>`;return}if(C&&v===1&&D(g)){i+=`<${f}>${g}</${f}>`;return}const u=Y(g,t,n,r);i+=`<${c}>${u}</${c}>`;return}if(l===null){H(n,"TRANS_NULL_VALUE","Passed in a null value as child",{i18nKey:r});return}if(L(l)){const{format:p,...f}=l,v=Object.keys(f);if(v.length===1){const C=p?`${v[0]}, ${p}`:v[0];i+=`{{${C}}}`;return}H(n,"TRANS_INVALID_OBJ","Invalid child - Object should only have keys {{ value, format }} (format is optional).",{i18nKey:r,child:l});return}H(n,"TRANS_INVALID_VAR","Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.",{i18nKey:r,child:l})}),i},he=(e,t=[],n={})=>{if(!e)return e;const r=Object.keys(n),i=[...t,...r];let s="",o=0;for(;o<e.length;)if(e[o]==="<"){let l=!1;const c=e.slice(o).match(/^<\/(\d+|[a-zA-Z][a-zA-Z0-9_-]*)>/);if(c){const p=c[1];(/^\d+$/.test(p)||i.includes(p))&&(l=!0,s+=c[0],o+=c[0].length)}if(!l){const p=e.slice(o).match(/^<(\d+|[a-zA-Z][a-zA-Z0-9_-]*)(\s+[\w-]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?)*\s*(\/)?>/);if(p){const f=p[1];(/^\d+$/.test(f)||i.includes(f))&&(l=!0,s+=p[0],o+=p[0].length)}}l||(s+="<",o+=1)}else s+=e[o],o+=1;return s},de=(e,t,n,r,i,s,o)=>{if(n==="")return[];const l=i.transKeepBasicHtmlNodesFor||[],c=n&&new RegExp(l.map(d=>`<${d}`).join("|")).test(n);if(!e&&!t&&!c&&!o)return[n];const p=t??{},f=d=>{_(d).forEach(y=>{D(y)||(z(y)?f(B(y)):L(y)&&!A.isValidElement(y)&&Object.assign(p,y))})};f(e);const v=he(n,l,p),C=ue.parse(`<0>${v}</0>`),g={...p,...s},u=(d,O,y)=>{const N=B(d),I=h(N,O.children,y);return pe(N)&&I.length===0||d.props?.i18nIsDynamicList?N:I},j=(d,O,y,N,I)=>{d.dummy?(d.children=O,y.push(A.cloneElement(d,{key:N},I?void 0:O))):y.push(...A.Children.map([d],m=>{const a="data-i18n-is-dynamic-list",V={key:N,[a]:void 0};return m&&m.props&&Object.keys(m.props).forEach(T=>{T==="ref"||T==="children"||T==="i18nIsDynamicList"||T===a||(V[T]=m.props[T])}),A.cloneElement(m,V,I?null:O)}))},h=(d,O,y)=>{const N=_(d);return _(O).reduce((m,a,V)=>{const T=a.children?.[0]?.content&&r.services.interpolator.interpolate(a.children[0].content,g,r.language);if(a.type==="tag"){let x=N[parseInt(a.name,10)];!x&&t&&(x=t[a.name]),y.length===1&&!x&&(x=y[0][a.name]),x||(x={});const k={...a.attrs};o&&Object.keys(k).forEach(E=>{const P=k[E];D(P)&&(k[E]=te(P))});const b=Object.keys(k).length!==0?fe({props:k},x):x,S=A.isValidElement(b),F=S&&z(a,!0)&&!a.voidElement,w=c&&L(b)&&b.dummy&&!S,R=L(t)&&Object.hasOwnProperty.call(t,a.name);if(D(b)){const E=r.services.interpolator.interpolate(b,g,r.language);m.push(E)}else if(z(b)||F){const E=u(b,a,y);j(b,E,m,V)}else if(w){const E=h(N,a.children,y);j(b,E,m,V)}else if(Number.isNaN(parseFloat(a.name)))if(R){const E=u(b,a,y);j(b,E,m,V,a.voidElement)}else if(i.transSupportBasicHtmlNodes&&l.indexOf(a.name)>-1)if(a.voidElement)m.push(A.createElement(a.name,{key:`${a.name}-${V}`}));else{const E=h(N,a.children,y);m.push(A.createElement(a.name,{key:`${a.name}-${V}`},E))}else if(a.voidElement)m.push(`<${a.name} />`);else{const E=h(N,a.children,y);m.push(`<${a.name}>${E}</${a.name}>`)}else if(L(b)&&!S){const E=a.children[0]?T:null;E&&m.push(E)}else j(b,T,m,V,a.children.length!==1||!T)}else if(a.type==="text"){const x=i.transWrapTextNodes,k=typeof i.unescape=="function"?i.unescape:q().unescape,b=o?k(r.services.interpolator.interpolate(a.content,g,r.language)):r.services.interpolator.interpolate(a.content,g,r.language);x?m.push(A.createElement(x,{key:`${a.name}-${V}`},b)):m.push(b)}return m},[])},$=h([{dummy:!0,children:e||[]}],C,_(e||[]));return B($[0])},Q=(e,t,n)=>{const r=e.key||t,i=A.cloneElement(e,{key:r});if(!i.props||!i.props.children||n.indexOf(`${t}/>`)<0&&n.indexOf(`${t} />`)<0)return i;function s(){return A.createElement(A.Fragment,null,i)}return A.createElement(s,{key:r})},ye=(e,t)=>e.map((n,r)=>Q(n,r,t)),ge=(e,t)=>{const n={};return Object.keys(e).forEach(r=>{Object.assign(n,{[r]:Q(e[r],r,t)})}),n},Ee=(e,t,n,r)=>e?Array.isArray(e)?ye(e,t):L(e)?ge(e,t):(U(n,"TRANS_INVALID_COMPONENTS",'<Trans /> "components" prop expects an object or array',{i18nKey:r}),null):null,be=e=>!L(e)||Array.isArray(e)?!1:Object.keys(e).reduce((t,n)=>t&&Number.isNaN(Number.parseFloat(n)),!0);function ve({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:s={},values:o,defaults:l,components:c,ns:p,i18n:f,t:v,shouldUnescape:C,...g}){const u=f||X();if(!u)return U(u,"NO_I18NEXT_INSTANCE","Trans: You need to pass in an i18next instance using i18nextReactModule",{i18nKey:r}),e;const j=v||u.t.bind(u)||(G=>G),h={...q(),...u.options?.react};let $=p||j.ns||u.options?.defaultNS;$=D($)?[$]:$||["translation"];const{transDefaultProps:d}=h,O=d?.tOptions?{...d.tOptions,...s}:s,y=C??d?.shouldUnescape,N=d?.values?{...d.values,...o}:o,I=d?.components?{...d.components,...c}:c,m=Y(e,h,u,r),a=l||O?.defaultValue||m||h.transEmptyNodeValue||(typeof r=="function"?ee(r):r),{hashTransKey:V}=h,T=r||(V?V(m||a):m||a);u.options?.interpolation?.defaultVariables?o=N&&Object.keys(N).length>0?{...N,...u.options.interpolation.defaultVariables}:{...u.options.interpolation.defaultVariables}:o=N;const x=me(e);x&&typeof x.count=="number"&&t===void 0&&(t=x.count);const k=o||t!==void 0&&!u.options?.interpolation?.alwaysFormat||!e?O.interpolation:{interpolation:{...O.interpolation,prefix:"#$?",suffix:"?$#"}},b={...O,context:i||O.context,count:t,...o,...k,defaultValue:a,ns:$};let S=T?j(T,b):a;S===T&&a&&(S=a);const F=Ee(I,S,u,r);let w=F||e,R=null;be(F)&&(R=F,w=e);const E=de(w,R,S,u,h,b,y),P=n??h.defaultTransParent;return P?A.createElement(P,g,E):E}function xe({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:s={},values:o,defaults:l,components:c,ns:p,i18n:f,t:v,shouldUnescape:C,...g}){const{i18n:u,defaultNS:j}=A.useContext(ne)||{},h=f||u||X(),$=v||h?.t.bind(h);return ve({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:s,values:o,defaults:l,components:c,ns:p||$?.ns||j||h?.options?.defaultNS,i18n:h,t:v,shouldUnescape:C,...g})}export{xe as T};
|