@kaitranntt/ccs 7.45.0-dev.6 → 7.46.0-dev.1
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/auth/auth-types.d.ts +1 -1
- package/dist/cliproxy/auth/auth-types.d.ts.map +1 -1
- package/dist/cliproxy/auth/auth-types.js +12 -55
- package/dist/cliproxy/auth/auth-types.js.map +1 -1
- package/dist/cliproxy/auth/gemini-token-refresh.d.ts +5 -3
- package/dist/cliproxy/auth/gemini-token-refresh.d.ts.map +1 -1
- package/dist/cliproxy/auth/gemini-token-refresh.js +51 -35
- package/dist/cliproxy/auth/gemini-token-refresh.js.map +1 -1
- package/dist/cliproxy/auth/provider-refreshers/index.d.ts +2 -2
- package/dist/cliproxy/auth/provider-refreshers/index.d.ts.map +1 -1
- package/dist/cliproxy/auth/provider-refreshers/index.js +34 -34
- package/dist/cliproxy/auth/provider-refreshers/index.js.map +1 -1
- package/dist/cliproxy/management-api-client.d.ts.map +1 -1
- package/dist/cliproxy/management-api-client.js +16 -4
- package/dist/cliproxy/management-api-client.js.map +1 -1
- package/dist/cliproxy/provider-capabilities.d.ts +21 -0
- package/dist/cliproxy/provider-capabilities.d.ts.map +1 -1
- package/dist/cliproxy/provider-capabilities.js +116 -13
- package/dist/cliproxy/provider-capabilities.js.map +1 -1
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +3 -2
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/setup-command.d.ts.map +1 -1
- package/dist/commands/setup-command.js +4 -3
- package/dist/commands/setup-command.js.map +1 -1
- package/dist/config/unified-config-types.d.ts +1 -1
- package/dist/ui/assets/{accounts-DSbC2KOq.js → accounts-5ui2q53B.js} +1 -1
- package/dist/ui/assets/{alert-dialog-Dj5MBrPS.js → alert-dialog-C3jFRTwI.js} +1 -1
- package/dist/ui/assets/{api-BIGOe-xE.js → api-6SoxBYSB.js} +1 -1
- package/dist/ui/assets/{auth-section-BFJ1CozG.js → auth-section-BDHHhE6e.js} +1 -1
- package/dist/ui/assets/{backups-section-pfBnyzOg.js → backups-section-CS06Tg2f.js} +1 -1
- package/dist/ui/assets/{cliproxy-DHNUC4SO.js → cliproxy-CUrdHMT1.js} +2 -2
- package/dist/ui/assets/cliproxy-control-panel--ldkVsyK.js +1 -0
- package/dist/ui/assets/{confirm-dialog-gV1ql3Ts.js → confirm-dialog-DjChZijF.js} +1 -1
- package/dist/ui/assets/copilot-vgXbgIvI.js +3 -0
- package/dist/ui/assets/cursor-BajLT9y0.js +1 -0
- package/dist/ui/assets/default-ports-1QQSffYX.js +1 -0
- package/dist/ui/assets/{globalenv-section-CYGF1tAO.js → globalenv-section-Dsdb7zOK.js} +1 -1
- package/dist/ui/assets/{health-CmKa7iS7.js → health-BJuP8omT.js} +1 -1
- package/dist/ui/assets/index-Bf5t_D35.js +1 -0
- package/dist/ui/assets/{index-BhguKKYm.js → index-Br-F473I.js} +1 -1
- package/dist/ui/assets/{index-WfdZ4D-M.js → index-DLdcTG-c.js} +1 -1
- package/dist/ui/assets/index-sBSBwu__.js +1 -0
- package/dist/ui/assets/index-uj-gfqVW.js +47 -0
- package/dist/ui/assets/{proxy-status-widget-B0TxmrB5.js → proxy-status-widget-C9OwEWsC.js} +1 -1
- package/dist/ui/assets/{separator-D_VeEEnJ.js → separator-DIHMuj2A.js} +1 -1
- package/dist/ui/assets/{shared-Buwj9ixP.js → shared-B9g38Klw.js} +1 -1
- package/dist/ui/assets/{switch-DPU26P6C.js → switch-Db-uyN1u.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes.js +2 -1
- package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/cliproxy-control-panel-CGHjj5lg.js +0 -1
- package/dist/ui/assets/copilot-ECO8m-1E.js +0 -3
- package/dist/ui/assets/cursor-CvqxaXRD.js +0 -1
- package/dist/ui/assets/index-Ctljzi2I.js +0 -1
- package/dist/ui/assets/index-DZJVwR0i.js +0 -1
- package/dist/ui/assets/index-DzvaSlcG.js +0 -47
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Type definitions and OAuth configurations for CLIProxy authentication.
|
|
5
5
|
*/
|
|
6
6
|
import { CLIProxyProvider } from '../types';
|
|
7
|
-
import { AccountInfo } from '../account-manager';
|
|
7
|
+
import type { AccountInfo } from '../account-manager';
|
|
8
8
|
/**
|
|
9
9
|
* Kiro authentication methods supported by CLIProxyAPIPlus.
|
|
10
10
|
* - aws: AWS Builder ID via Device Code flow
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-types.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/auth/auth-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-types.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/auth/auth-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.getOAuthConfig = exports.CLIPROXY_AUTH_URL_PROVIDER_MAP = exports.CLIPROXY_CALLBACK_PROVIDER_MAP = exports.PROVIDER_TYPE_VALUES = exports.PROVIDER_AUTH_PREFIXES = exports.OAUTH_CONFIGS = exports.OAUTH_CALLBACK_PORTS = exports.toKiroManagementMethod = exports.getKiroCLIAuthFlag = exports.getKiroCallbackPort = exports.isKiroDeviceCodeMethod = exports.normalizeKiroAuthMethod = exports.isKiroCLIAuthMethod = exports.isKiroAuthMethod = exports.DEFAULT_KIRO_AUTH_METHOD = exports.KIRO_CLI_AUTH_METHODS = exports.KIRO_AUTH_METHODS = void 0;
|
|
9
|
+
const provider_capabilities_1 = require("../provider-capabilities");
|
|
9
10
|
/**
|
|
10
11
|
* Kiro authentication methods supported by CLIProxyAPIPlus.
|
|
11
12
|
* - aws: AWS Builder ID via Device Code flow
|
|
@@ -85,17 +86,13 @@ exports.toKiroManagementMethod = toKiroManagementMethod;
|
|
|
85
86
|
* - GHCP: Device Code Flow (polling-based, NO callback port needed)
|
|
86
87
|
* - Kimi: Device Code Flow (polling-based, NO callback port needed)
|
|
87
88
|
*/
|
|
88
|
-
exports.OAUTH_CALLBACK_PORTS = {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
// qwen: Device Code Flow - no callback port
|
|
96
|
-
// ghcp: Device Code Flow - no callback port
|
|
97
|
-
// kimi: Device Code Flow - no callback port
|
|
98
|
-
};
|
|
89
|
+
exports.OAUTH_CALLBACK_PORTS = provider_capabilities_1.CLIPROXY_PROVIDER_IDS.reduce((acc, provider) => {
|
|
90
|
+
const callbackPort = (0, provider_capabilities_1.getOAuthCallbackPort)(provider);
|
|
91
|
+
if (callbackPort !== null) {
|
|
92
|
+
acc[provider] = callbackPort;
|
|
93
|
+
}
|
|
94
|
+
return acc;
|
|
95
|
+
}, {});
|
|
99
96
|
/**
|
|
100
97
|
* OAuth configurations per provider
|
|
101
98
|
* Note: CLIProxyAPI handles actual OAuth - these are for display/manual flow
|
|
@@ -172,63 +169,23 @@ exports.OAUTH_CONFIGS = {
|
|
|
172
169
|
* CLIProxyAPI names auth files with provider prefix (e.g., "antigravity-user@email.json")
|
|
173
170
|
* Note: Gemini tokens may NOT have prefix - CLIProxyAPI uses {email}-{projectID}.json format
|
|
174
171
|
*/
|
|
175
|
-
exports.PROVIDER_AUTH_PREFIXES =
|
|
176
|
-
gemini: ['gemini-', 'google-'],
|
|
177
|
-
codex: ['codex-', 'openai-'],
|
|
178
|
-
agy: ['antigravity-', 'agy-'],
|
|
179
|
-
qwen: ['qwen-'],
|
|
180
|
-
iflow: ['iflow-'],
|
|
181
|
-
kiro: ['kiro-', 'aws-', 'codewhisperer-'],
|
|
182
|
-
ghcp: ['github-copilot-', 'copilot-', 'gh-'],
|
|
183
|
-
claude: ['claude-', 'anthropic-'],
|
|
184
|
-
kimi: ['kimi-'],
|
|
185
|
-
};
|
|
172
|
+
exports.PROVIDER_AUTH_PREFIXES = (0, provider_capabilities_1.buildProviderMap)((provider) => [...(0, provider_capabilities_1.getProviderAuthFilePrefixes)(provider)]);
|
|
186
173
|
/**
|
|
187
174
|
* Provider type values inside token JSON files
|
|
188
175
|
* CLIProxyAPI sets "type" field in token JSON (e.g., {"type": "gemini"})
|
|
189
176
|
*/
|
|
190
|
-
exports.PROVIDER_TYPE_VALUES =
|
|
191
|
-
gemini: ['gemini'],
|
|
192
|
-
codex: ['codex'],
|
|
193
|
-
agy: ['antigravity'],
|
|
194
|
-
qwen: ['qwen'],
|
|
195
|
-
iflow: ['iflow'],
|
|
196
|
-
kiro: ['kiro', 'codewhisperer'],
|
|
197
|
-
ghcp: ['github-copilot', 'copilot'],
|
|
198
|
-
claude: ['claude', 'anthropic'],
|
|
199
|
-
kimi: ['kimi'],
|
|
200
|
-
};
|
|
177
|
+
exports.PROVIDER_TYPE_VALUES = (0, provider_capabilities_1.buildProviderMap)((provider) => [...(0, provider_capabilities_1.getProviderTokenTypeValues)(provider)]);
|
|
201
178
|
/**
|
|
202
179
|
* Maps CCS provider names to CLIProxyAPI callback provider names
|
|
203
180
|
* Used when submitting OAuth callbacks to CLIProxyAPI management endpoint
|
|
204
181
|
*/
|
|
205
|
-
exports.CLIPROXY_CALLBACK_PROVIDER_MAP =
|
|
206
|
-
gemini: 'gemini',
|
|
207
|
-
codex: 'codex',
|
|
208
|
-
agy: 'antigravity',
|
|
209
|
-
kiro: 'kiro',
|
|
210
|
-
ghcp: 'copilot',
|
|
211
|
-
claude: 'anthropic',
|
|
212
|
-
qwen: 'qwen',
|
|
213
|
-
iflow: 'iflow',
|
|
214
|
-
kimi: 'kimi',
|
|
215
|
-
};
|
|
182
|
+
exports.CLIPROXY_CALLBACK_PROVIDER_MAP = (0, provider_capabilities_1.buildProviderMap)((provider) => (0, provider_capabilities_1.getCLIProxyCallbackProviderName)(provider));
|
|
216
183
|
/**
|
|
217
184
|
* Maps CCS provider names to CLIProxyAPI auth-url endpoint prefixes.
|
|
218
185
|
* Used for GET /v0/management/${prefix}-auth-url endpoints.
|
|
219
186
|
* These differ from callback names for some providers (e.g., gemini-cli vs gemini).
|
|
220
187
|
*/
|
|
221
|
-
exports.CLIPROXY_AUTH_URL_PROVIDER_MAP =
|
|
222
|
-
gemini: 'gemini-cli',
|
|
223
|
-
codex: 'codex',
|
|
224
|
-
agy: 'antigravity',
|
|
225
|
-
kiro: 'kiro',
|
|
226
|
-
ghcp: 'github',
|
|
227
|
-
claude: 'anthropic',
|
|
228
|
-
qwen: 'qwen',
|
|
229
|
-
iflow: 'iflow',
|
|
230
|
-
kimi: 'kimi',
|
|
231
|
-
};
|
|
188
|
+
exports.CLIPROXY_AUTH_URL_PROVIDER_MAP = (0, provider_capabilities_1.buildProviderMap)((provider) => (0, provider_capabilities_1.getCLIProxyAuthUrlProviderName)(provider));
|
|
232
189
|
/**
|
|
233
190
|
* Get OAuth config for provider
|
|
234
191
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-types.js","sourceRoot":"","sources":["../../../src/cliproxy/auth/auth-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"auth-types.js","sourceRoot":"","sources":["../../../src/cliproxy/auth/auth-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,12 +15,13 @@ export declare function getGeminiOAuthPath(): string;
|
|
|
15
15
|
/**
|
|
16
16
|
* Check if Gemini token is expired or expiring soon
|
|
17
17
|
*/
|
|
18
|
-
export declare function isGeminiTokenExpiringSoon(): boolean;
|
|
18
|
+
export declare function isGeminiTokenExpiringSoon(accountId?: string): boolean;
|
|
19
19
|
/**
|
|
20
20
|
* Refresh Gemini access token using refresh_token
|
|
21
|
+
* @param accountId Optional account ID for account-scoped refresh
|
|
21
22
|
* @returns Result with success status, optional error, and expiry time
|
|
22
23
|
*/
|
|
23
|
-
export declare function refreshGeminiToken(): Promise<{
|
|
24
|
+
export declare function refreshGeminiToken(accountId?: string): Promise<{
|
|
24
25
|
success: boolean;
|
|
25
26
|
error?: string;
|
|
26
27
|
expiresAt?: number;
|
|
@@ -28,9 +29,10 @@ export declare function refreshGeminiToken(): Promise<{
|
|
|
28
29
|
/**
|
|
29
30
|
* Ensure Gemini token is valid, refreshing if needed
|
|
30
31
|
* @param verbose Log progress if true
|
|
32
|
+
* @param accountId Optional account ID for account-scoped refresh
|
|
31
33
|
* @returns true if token is valid (or was refreshed), false if refresh failed
|
|
32
34
|
*/
|
|
33
|
-
export declare function ensureGeminiTokenValid(verbose?: boolean): Promise<{
|
|
35
|
+
export declare function ensureGeminiTokenValid(verbose?: boolean, accountId?: string): Promise<{
|
|
34
36
|
valid: boolean;
|
|
35
37
|
refreshed: boolean;
|
|
36
38
|
error?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-token-refresh.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/auth/gemini-token-refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkEH;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;
|
|
1
|
+
{"version":3,"file":"gemini-token-refresh.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/auth/gemini-token-refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkEH;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAyLD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAUrE;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CA4DD;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,UAAQ,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;IACT,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAwBD"}
|
|
@@ -91,42 +91,51 @@ function isValidCliproxyToken(data) {
|
|
|
91
91
|
* Read Gemini token from CLIProxy auth directory
|
|
92
92
|
* Returns credentials with source path, or null if no valid token found
|
|
93
93
|
*/
|
|
94
|
-
function readCliproxyGeminiCreds() {
|
|
94
|
+
function readCliproxyGeminiCreds(accountId) {
|
|
95
95
|
const authDir = (0, config_generator_1.getProviderAuthDir)('gemini');
|
|
96
96
|
if (!fs.existsSync(authDir))
|
|
97
97
|
return null;
|
|
98
|
-
// Try to find default account's token file
|
|
99
|
-
const defaultAccount = (0, account_manager_1.getDefaultAccount)('gemini');
|
|
100
98
|
let tokenPath = null;
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
99
|
+
const normalizedAccountId = accountId?.trim();
|
|
100
|
+
const accounts = (0, account_manager_1.getProviderAccounts)('gemini');
|
|
101
|
+
// Account-specific refresh path (used by background worker)
|
|
102
|
+
if (normalizedAccountId) {
|
|
103
|
+
const targetAccount = accounts.find((account) => account.id === normalizedAccountId);
|
|
104
|
+
if (!targetAccount) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
tokenPath = path.join(authDir, targetAccount.tokenFile);
|
|
105
108
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
const
|
|
109
|
-
if (
|
|
109
|
+
if (!normalizedAccountId) {
|
|
110
|
+
// Try to find default account's token file
|
|
111
|
+
const defaultAccount = (0, account_manager_1.getDefaultAccount)('gemini');
|
|
112
|
+
if (defaultAccount) {
|
|
113
|
+
tokenPath = path.join(authDir, defaultAccount.tokenFile);
|
|
114
|
+
if (!fs.existsSync(tokenPath))
|
|
115
|
+
tokenPath = null;
|
|
116
|
+
}
|
|
117
|
+
// Fallback: find any gemini account token file
|
|
118
|
+
if (!tokenPath && accounts.length > 0) {
|
|
110
119
|
tokenPath = path.join(authDir, accounts[0].tokenFile);
|
|
111
120
|
if (!fs.existsSync(tokenPath))
|
|
112
121
|
tokenPath = null;
|
|
113
122
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
123
|
+
// Last fallback: scan directory for gemini token files
|
|
124
|
+
if (!tokenPath) {
|
|
125
|
+
try {
|
|
126
|
+
const files = fs.readdirSync(authDir).filter((f) => f.endsWith('.json'));
|
|
127
|
+
for (const file of files) {
|
|
128
|
+
const filePath = path.join(authDir, file);
|
|
129
|
+
if (file.startsWith('gemini-') || (0, token_manager_1.isTokenFileForProvider)(filePath, 'gemini')) {
|
|
130
|
+
tokenPath = filePath;
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
124
133
|
}
|
|
125
134
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
135
|
+
catch {
|
|
136
|
+
// Directory read failed - continue to return null
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
130
139
|
}
|
|
131
140
|
}
|
|
132
141
|
if (!tokenPath)
|
|
@@ -152,12 +161,17 @@ function readCliproxyGeminiCreds() {
|
|
|
152
161
|
* Priority: CLIProxy auth dir first, then ~/.gemini/oauth_creds.json
|
|
153
162
|
* Returns credentials with source path for correct write-back
|
|
154
163
|
*/
|
|
155
|
-
function readGeminiCreds() {
|
|
164
|
+
function readGeminiCreds(accountId) {
|
|
156
165
|
// 1. Try CLIProxy auth directory first (CCS-managed tokens)
|
|
157
|
-
const cliproxyResult = readCliproxyGeminiCreds();
|
|
166
|
+
const cliproxyResult = readCliproxyGeminiCreds(accountId);
|
|
158
167
|
if (cliproxyResult) {
|
|
159
168
|
return cliproxyResult;
|
|
160
169
|
}
|
|
170
|
+
// Account-scoped refresh is only supported for CLIProxy account files.
|
|
171
|
+
// Do not fall back to ~/.gemini for a specific accountId.
|
|
172
|
+
if (accountId?.trim()) {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
161
175
|
// 2. Fall back to standard Gemini CLI location
|
|
162
176
|
const oauthPath = getGeminiOAuthPath();
|
|
163
177
|
if (!fs.existsSync(oauthPath)) {
|
|
@@ -226,8 +240,8 @@ function writeGeminiCreds(creds, sourcePath) {
|
|
|
226
240
|
/**
|
|
227
241
|
* Check if Gemini token is expired or expiring soon
|
|
228
242
|
*/
|
|
229
|
-
function isGeminiTokenExpiringSoon() {
|
|
230
|
-
const result = readGeminiCreds();
|
|
243
|
+
function isGeminiTokenExpiringSoon(accountId) {
|
|
244
|
+
const result = readGeminiCreds(accountId);
|
|
231
245
|
if (!result || !result.creds.access_token) {
|
|
232
246
|
return true; // No token = needs auth
|
|
233
247
|
}
|
|
@@ -240,10 +254,11 @@ function isGeminiTokenExpiringSoon() {
|
|
|
240
254
|
exports.isGeminiTokenExpiringSoon = isGeminiTokenExpiringSoon;
|
|
241
255
|
/**
|
|
242
256
|
* Refresh Gemini access token using refresh_token
|
|
257
|
+
* @param accountId Optional account ID for account-scoped refresh
|
|
243
258
|
* @returns Result with success status, optional error, and expiry time
|
|
244
259
|
*/
|
|
245
|
-
async function refreshGeminiToken() {
|
|
246
|
-
const result = readGeminiCreds();
|
|
260
|
+
async function refreshGeminiToken(accountId) {
|
|
261
|
+
const result = readGeminiCreds(accountId);
|
|
247
262
|
if (!result || !result.creds.refresh_token) {
|
|
248
263
|
return { success: false, error: 'No refresh token available' };
|
|
249
264
|
}
|
|
@@ -300,21 +315,22 @@ exports.refreshGeminiToken = refreshGeminiToken;
|
|
|
300
315
|
/**
|
|
301
316
|
* Ensure Gemini token is valid, refreshing if needed
|
|
302
317
|
* @param verbose Log progress if true
|
|
318
|
+
* @param accountId Optional account ID for account-scoped refresh
|
|
303
319
|
* @returns true if token is valid (or was refreshed), false if refresh failed
|
|
304
320
|
*/
|
|
305
|
-
async function ensureGeminiTokenValid(verbose = false) {
|
|
306
|
-
const result = readGeminiCreds();
|
|
321
|
+
async function ensureGeminiTokenValid(verbose = false, accountId) {
|
|
322
|
+
const result = readGeminiCreds(accountId);
|
|
307
323
|
if (!result || !result.creds.access_token) {
|
|
308
324
|
return { valid: false, refreshed: false, error: 'No Gemini credentials found' };
|
|
309
325
|
}
|
|
310
|
-
if (!isGeminiTokenExpiringSoon()) {
|
|
326
|
+
if (!isGeminiTokenExpiringSoon(accountId)) {
|
|
311
327
|
return { valid: true, refreshed: false };
|
|
312
328
|
}
|
|
313
329
|
// Token is expired or expiring soon - try to refresh
|
|
314
330
|
if (verbose) {
|
|
315
331
|
console.log('[i] Gemini token expired or expiring soon, refreshing...');
|
|
316
332
|
}
|
|
317
|
-
const refreshResult = await refreshGeminiToken();
|
|
333
|
+
const refreshResult = await refreshGeminiToken(accountId);
|
|
318
334
|
if (refreshResult.success) {
|
|
319
335
|
if (verbose) {
|
|
320
336
|
console.log('[OK] Gemini token refreshed successfully');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-token-refresh.js","sourceRoot":"","sources":["../../../src/cliproxy/auth/gemini-token-refresh.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,0DAAyD;AACzD,wDAA4E;AAC5E,mDAAyD;AAEzD;;;;;;;;GAQG;AAEH,MAAM,gBAAgB,GAAG,0EAA0E,CAAC;AAEpG,MAAM,oBAAoB,GAAG,qCAAqC,CAAC;AAEnE,kCAAkC;AAClC,MAAM,gBAAgB,GAAG,qCAAqC,CAAC;AAE/D,6CAA6C;AAC7C,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAuC3C;;GAEG;AACH,SAAgB,kBAAkB;IAChC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAChE,CAAC;AAFD,gDAEC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,QAA6B;IAC7D,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;QACzC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;QAC3C,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;QAClC,UAAU,EAAE,QAAQ;KACrB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAa;IACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAgC,CAAC;IACnD,OAAO,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB;
|
|
1
|
+
{"version":3,"file":"gemini-token-refresh.js","sourceRoot":"","sources":["../../../src/cliproxy/auth/gemini-token-refresh.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,8 +25,8 @@ export declare function isRefreshDelegated(provider: CLIProxyProvider): boolean;
|
|
|
25
25
|
/**
|
|
26
26
|
* Refresh token for a specific provider and account
|
|
27
27
|
* @param provider Provider to refresh
|
|
28
|
-
* @param
|
|
28
|
+
* @param accountId Account ID used to refresh the correct provider token
|
|
29
29
|
* @returns Refresh result with success status and optional error
|
|
30
30
|
*/
|
|
31
|
-
export declare function refreshToken(provider: CLIProxyProvider,
|
|
31
|
+
export declare function refreshToken(provider: CLIProxyProvider, accountId: string): Promise<ProviderRefreshResult>;
|
|
32
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cliproxy/auth/provider-refreshers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cliproxy/auth/provider-refreshers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQ/C,2BAA2B;AAC3B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAEtE;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,CAAC,CAuChC"}
|
|
@@ -12,58 +12,58 @@
|
|
|
12
12
|
*/
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.refreshToken = exports.isRefreshDelegated = void 0;
|
|
15
|
+
const account_manager_1 = require("../../account-manager");
|
|
16
|
+
const provider_capabilities_1 = require("../../provider-capabilities");
|
|
15
17
|
const gemini_token_refresh_1 = require("../gemini-token-refresh");
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* CCS should not attempt to refresh these — just trust CLIProxy.
|
|
20
|
-
*/
|
|
21
|
-
const CLIPROXY_DELEGATED_REFRESH = [
|
|
22
|
-
'codex',
|
|
23
|
-
'agy',
|
|
24
|
-
'kiro',
|
|
25
|
-
'ghcp',
|
|
26
|
-
'qwen',
|
|
27
|
-
'iflow',
|
|
28
|
-
'kimi',
|
|
29
|
-
];
|
|
18
|
+
function assertNever(value) {
|
|
19
|
+
throw new Error(`Unhandled token refresh ownership: ${String(value)}`);
|
|
20
|
+
}
|
|
30
21
|
/**
|
|
31
22
|
* Check if a provider's token refresh is delegated to CLIProxy
|
|
32
23
|
*/
|
|
33
24
|
function isRefreshDelegated(provider) {
|
|
34
|
-
return
|
|
25
|
+
return (0, provider_capabilities_1.isRefreshDelegatedToCLIProxy)(provider);
|
|
35
26
|
}
|
|
36
27
|
exports.isRefreshDelegated = isRefreshDelegated;
|
|
37
28
|
/**
|
|
38
29
|
* Refresh token for a specific provider and account
|
|
39
30
|
* @param provider Provider to refresh
|
|
40
|
-
* @param
|
|
31
|
+
* @param accountId Account ID used to refresh the correct provider token
|
|
41
32
|
* @returns Refresh result with success status and optional error
|
|
42
33
|
*/
|
|
43
|
-
async function refreshToken(provider,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
34
|
+
async function refreshToken(provider, accountId) {
|
|
35
|
+
const normalizedAccountId = accountId.trim();
|
|
36
|
+
if (!normalizedAccountId) {
|
|
37
|
+
return {
|
|
38
|
+
success: false,
|
|
39
|
+
error: 'Account ID is required for token refresh',
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const hasAccount = (0, account_manager_1.getProviderAccounts)(provider).some((account) => account.id === normalizedAccountId);
|
|
43
|
+
if (!hasAccount) {
|
|
44
|
+
return {
|
|
45
|
+
success: false,
|
|
46
|
+
error: `Account not found for ${provider}: ${normalizedAccountId}`,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (provider === 'gemini') {
|
|
50
|
+
return await refreshGeminiTokenWrapper(normalizedAccountId);
|
|
51
|
+
}
|
|
52
|
+
const ownership = (0, provider_capabilities_1.getTokenRefreshOwnership)(provider);
|
|
53
|
+
switch (ownership) {
|
|
54
|
+
case 'cliproxy':
|
|
54
55
|
// CLIProxyAPIPlus handles refresh for these providers automatically.
|
|
55
56
|
// No action needed from CCS — report success with delegated flag.
|
|
56
57
|
return { success: true, delegated: true };
|
|
57
|
-
case '
|
|
58
|
+
case 'unsupported':
|
|
59
|
+
case 'ccs':
|
|
60
|
+
// Non-gemini CCS-owned refresh paths are not implemented yet.
|
|
58
61
|
return {
|
|
59
62
|
success: false,
|
|
60
63
|
error: `Token refresh not yet implemented for ${provider}`,
|
|
61
64
|
};
|
|
62
65
|
default:
|
|
63
|
-
return
|
|
64
|
-
success: false,
|
|
65
|
-
error: `Unknown provider: ${provider}`,
|
|
66
|
-
};
|
|
66
|
+
return assertNever(ownership);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
exports.refreshToken = refreshToken;
|
|
@@ -71,8 +71,8 @@ exports.refreshToken = refreshToken;
|
|
|
71
71
|
* Wrapper for Gemini token refresh
|
|
72
72
|
* Converts gemini-token-refresh.ts format to provider-refreshers format
|
|
73
73
|
*/
|
|
74
|
-
async function refreshGeminiTokenWrapper() {
|
|
75
|
-
const result = await (0, gemini_token_refresh_1.refreshGeminiToken)();
|
|
74
|
+
async function refreshGeminiTokenWrapper(accountId) {
|
|
75
|
+
const result = await (0, gemini_token_refresh_1.refreshGeminiToken)(accountId);
|
|
76
76
|
if (!result.success) {
|
|
77
77
|
return {
|
|
78
78
|
success: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cliproxy/auth/provider-refreshers/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAGH,kEAA6D;AAW7D
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cliproxy/auth/provider-refreshers/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAGH,2DAA4D;AAC5D,uEAGqC;AACrC,kEAA6D;AAW7D,SAAS,WAAW,CAAC,KAAY;IAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,QAA0B;IAC3D,OAAO,IAAA,oDAA4B,EAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAFD,gDAEC;AAED;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CAChC,QAA0B,EAC1B,SAAiB;IAEjB,MAAM,mBAAmB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,0CAA0C;SAClD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,qCAAmB,EAAC,QAAQ,CAAC,CAAC,IAAI,CACnD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,mBAAmB,CAChD,CAAC;IACF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,yBAAyB,QAAQ,KAAK,mBAAmB,EAAE;SACnE,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,MAAM,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,gDAAwB,EAAC,QAAQ,CAAC,CAAC;IACrD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,qEAAqE;YACrE,kEAAkE;YAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC5C,KAAK,aAAa,CAAC;QACnB,KAAK,KAAK;YACR,8DAA8D;YAC9D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,yCAAyC,QAAQ,EAAE;aAC3D,CAAC;QACJ;YACE,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AA1CD,oCA0CC;AAED;;;GAGG;AACH,KAAK,UAAU,yBAAyB,CAAC,SAAiB;IACxD,MAAM,MAAM,GAAG,MAAM,IAAA,yCAAkB,EAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"management-api-client.d.ts","sourceRoot":"","sources":["../../src/cliproxy/management-api-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EAEtB,SAAS,EAET,cAAc,EACd,eAAe,EAEhB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"management-api-client.d.ts","sourceRoot":"","sources":["../../src/cliproxy/management-api-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EAEtB,SAAS,EAET,cAAc,EACd,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AA4HhC;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,sBAAsB;IAK1C;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAsB/C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAQ3C;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD;;OAEG;IACG,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD;;;OAGG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAStE;;OAEG;YACW,OAAO;IAwBrB;;OAEG;YACW,gBAAgB;IA4D9B;;OAEG;YACW,gBAAgB;CAoF/B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,eAAe,UAAO,GACrB,mBAAmB,CASrB"}
|
|
@@ -31,20 +31,32 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
32
|
exports.createManagementClient = exports.ManagementApiClient = void 0;
|
|
33
33
|
const https = __importStar(require("https"));
|
|
34
|
+
const port_manager_1 = require("./config/port-manager");
|
|
34
35
|
/** Default timeout for management operations (longer than health check) */
|
|
35
36
|
const DEFAULT_TIMEOUT_MS = 5000;
|
|
36
|
-
/** Default port for HTTP protocol */
|
|
37
|
-
const DEFAULT_HTTP_PORT = 8317;
|
|
38
37
|
/** Default port for HTTPS protocol */
|
|
39
38
|
const DEFAULT_HTTPS_PORT = 443;
|
|
39
|
+
/** Avoid duplicate warnings for repeated invalid port inputs */
|
|
40
|
+
const WARNED_INVALID_PORTS = new Set();
|
|
41
|
+
function isValidPort(port) {
|
|
42
|
+
return port !== undefined && Number.isInteger(port) && port > 0 && port <= 65535;
|
|
43
|
+
}
|
|
40
44
|
/**
|
|
41
45
|
* Get effective port based on config and protocol.
|
|
42
46
|
*/
|
|
43
47
|
function getEffectivePort(port, protocol) {
|
|
44
|
-
if (
|
|
48
|
+
if (isValidPort(port)) {
|
|
45
49
|
return port;
|
|
46
50
|
}
|
|
47
|
-
|
|
51
|
+
const fallbackPort = protocol === 'https' ? DEFAULT_HTTPS_PORT : port_manager_1.CLIPROXY_DEFAULT_PORT;
|
|
52
|
+
if (port !== undefined) {
|
|
53
|
+
const warningKey = `${protocol}:${String(port)}`;
|
|
54
|
+
if (!WARNED_INVALID_PORTS.has(warningKey)) {
|
|
55
|
+
WARNED_INVALID_PORTS.add(warningKey);
|
|
56
|
+
console.warn(`[management-api-client] Invalid port "${String(port)}", using default ${fallbackPort}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return fallbackPort;
|
|
48
60
|
}
|
|
49
61
|
/**
|
|
50
62
|
* Build URL for Management API endpoint.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"management-api-client.js","sourceRoot":"","sources":["../../src/cliproxy/management-api-client.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6CAA+B;
|
|
1
|
+
{"version":3,"file":"management-api-client.js","sourceRoot":"","sources":["../../src/cliproxy/management-api-client.ts"],"names":[],"mappings":"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"}
|