@kaitranntt/ccs 5.9.0 → 5.10.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/README.md +30 -2
- package/VERSION +1 -1
- package/dist/ccs.js +12 -0
- package/dist/ccs.js.map +1 -1
- package/dist/cliproxy/account-manager.d.ts +97 -0
- package/dist/cliproxy/account-manager.d.ts.map +1 -0
- package/dist/cliproxy/account-manager.js +314 -0
- package/dist/cliproxy/account-manager.js.map +1 -0
- package/dist/cliproxy/auth-handler.d.ts +19 -1
- package/dist/cliproxy/auth-handler.d.ts.map +1 -1
- package/dist/cliproxy/auth-handler.js +71 -7
- package/dist/cliproxy/auth-handler.js.map +1 -1
- package/dist/cliproxy/binary-manager.d.ts +2 -2
- package/dist/cliproxy/binary-manager.js +2 -2
- package/dist/cliproxy/model-catalog.d.ts +12 -0
- package/dist/cliproxy/model-catalog.d.ts.map +1 -1
- package/dist/cliproxy/model-catalog.js +31 -11
- package/dist/cliproxy/model-catalog.js.map +1 -1
- package/dist/cliproxy/model-config.d.ts.map +1 -1
- package/dist/cliproxy/model-config.js +14 -2
- package/dist/cliproxy/model-config.js.map +1 -1
- package/dist/cliproxy/platform-detector.d.ts +2 -2
- package/dist/cliproxy/platform-detector.js +1 -1
- package/dist/commands/cliproxy-command.d.ts.map +1 -1
- package/dist/commands/cliproxy-command.js +92 -54
- package/dist/commands/cliproxy-command.js.map +1 -1
- package/dist/commands/config-command.d.ts +11 -0
- package/dist/commands/config-command.d.ts.map +1 -0
- package/dist/commands/config-command.js +111 -0
- package/dist/commands/config-command.js.map +1 -0
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +4 -1
- package/dist/commands/help-command.js.map +1 -1
- package/dist/glmt/glmt-proxy.d.ts +6 -0
- package/dist/glmt/glmt-proxy.d.ts.map +1 -1
- package/dist/glmt/glmt-proxy.js +23 -2
- package/dist/glmt/glmt-proxy.js.map +1 -1
- package/dist/management/doctor.d.ts.map +1 -1
- package/dist/management/doctor.js +19 -7
- package/dist/management/doctor.js.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js.map +1 -1
- package/dist/ui/assets/form-utils-Bjfa1DVH.js +20 -0
- package/dist/ui/assets/icons-D-Y22K9Z.js +1 -0
- package/dist/ui/assets/index-M5ru6OPu.js +9 -0
- package/dist/ui/assets/index-ZXu5MvSE.css +1 -0
- package/dist/ui/assets/radix-ui-Ba6LUgyw.js +51 -0
- package/dist/ui/assets/react-vendor-CW-MU7-e.js +3 -0
- package/dist/ui/assets/tanstack-MD0629v8.js +4 -0
- package/dist/ui/favicon.ico +0 -0
- package/dist/ui/favicons/android-chrome-192x192.png +0 -0
- package/dist/ui/favicons/android-chrome-512x512.png +0 -0
- package/dist/ui/favicons/android-chrome-512x512.webp +0 -0
- package/dist/ui/favicons/apple-touch-icon.png +0 -0
- package/dist/ui/favicons/favicon-16x16.png +0 -0
- package/dist/ui/favicons/favicon-32x32.png +0 -0
- package/dist/ui/favicons/favicon.ico +0 -0
- package/dist/ui/index.html +30 -0
- package/dist/ui/logo/ccs-logo-256.png +0 -0
- package/dist/ui/logo/ccs-logo-zoomed-web.png +0 -0
- package/dist/ui/logo/ccs-social-media.png +0 -0
- package/dist/ui/logo/ccs-social-media.webp +0 -0
- package/dist/utils/port-utils.d.ts +19 -0
- package/dist/utils/port-utils.d.ts.map +1 -0
- package/dist/utils/port-utils.js +113 -0
- package/dist/utils/port-utils.js.map +1 -0
- package/dist/web-server/file-watcher.d.ts +15 -0
- package/dist/web-server/file-watcher.d.ts.map +1 -0
- package/dist/web-server/file-watcher.js +88 -0
- package/dist/web-server/file-watcher.js.map +1 -0
- package/dist/web-server/health-service.d.ts +35 -0
- package/dist/web-server/health-service.d.ts.map +1 -0
- package/dist/web-server/health-service.js +223 -0
- package/dist/web-server/health-service.js.map +1 -0
- package/dist/web-server/index.d.ts +25 -0
- package/dist/web-server/index.d.ts.map +1 -0
- package/dist/web-server/index.js +89 -0
- package/dist/web-server/index.js.map +1 -0
- package/dist/web-server/overview-routes.d.ts +7 -0
- package/dist/web-server/overview-routes.d.ts.map +1 -0
- package/dist/web-server/overview-routes.js +80 -0
- package/dist/web-server/overview-routes.js.map +1 -0
- package/dist/web-server/routes.d.ts +7 -0
- package/dist/web-server/routes.d.ts.map +1 -0
- package/dist/web-server/routes.js +570 -0
- package/dist/web-server/routes.js.map +1 -0
- package/dist/web-server/shared-routes.d.ts +7 -0
- package/dist/web-server/shared-routes.d.ts.map +1 -0
- package/dist/web-server/shared-routes.js +167 -0
- package/dist/web-server/shared-routes.js.map +1 -0
- package/dist/web-server/shutdown.d.ts +14 -0
- package/dist/web-server/shutdown.d.ts.map +1 -0
- package/dist/web-server/shutdown.js +36 -0
- package/dist/web-server/shutdown.js.map +1 -0
- package/dist/web-server/websocket.d.ts +14 -0
- package/dist/web-server/websocket.d.ts.map +1 -0
- package/dist/web-server/websocket.js +82 -0
- package/dist/web-server/websocket.js.map +1 -0
- package/package.json +26 -6
- package/scripts/clean-dist.js +46 -0
- package/scripts/completion/ccs.bash +69 -10
- package/scripts/completion/ccs.fish +128 -47
- package/scripts/completion/ccs.ps1 +179 -14
- package/scripts/completion/ccs.zsh +107 -28
- package/scripts/pre-release.sh +39 -0
- package/scripts/verify-bundle.js +49 -0
package/README.md
CHANGED
|
@@ -7,12 +7,14 @@
|
|
|
7
7
|
### One command, zero downtime, multiple accounts
|
|
8
8
|
|
|
9
9
|
**Switch between multiple Claude accounts, GLM, and Kimi instantly.**<br>
|
|
10
|
-
Stop hitting rate limits. Keep working continuously
|
|
11
|
-
|
|
10
|
+
Stop hitting rate limits. Keep working continuously.<br>
|
|
11
|
+
Features a modern React 19 dashboard with real-time updates.
|
|
12
12
|
|
|
13
13
|
[](LICENSE)
|
|
14
14
|
[]()
|
|
15
15
|
[](https://www.npmjs.com/package/@kaitranntt/ccs)
|
|
16
|
+
[](https://react.dev/)
|
|
17
|
+
[](https://www.typescriptlang.org/)
|
|
16
18
|
[](https://claudekit.cc?ref=HMNKXOHN)
|
|
17
19
|
|
|
18
20
|
**Languages**: [English](README.md) | [Tiếng Việt](docs/vi/README.md) | [日本語](docs/ja/README.md)
|
|
@@ -459,6 +461,32 @@ Settings file format (`~/.ccs/gemini-flash.settings.json`):
|
|
|
459
461
|
|
|
460
462
|
<br>
|
|
461
463
|
|
|
464
|
+
## Web Dashboard
|
|
465
|
+
|
|
466
|
+
CCS includes a modern React 19 dashboard for visual profile management and real-time monitoring:
|
|
467
|
+
|
|
468
|
+
```bash
|
|
469
|
+
# Start the web dashboard (auto-detects available port)
|
|
470
|
+
ccs config
|
|
471
|
+
|
|
472
|
+
# Or specify a port
|
|
473
|
+
ccs config --port 3000
|
|
474
|
+
|
|
475
|
+
# Access at http://localhost:PORT (shown in output)
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
**Dashboard Features**:
|
|
479
|
+
- 🎨 **Modern UI**: Built with React 19, TypeScript, and shadcn/ui
|
|
480
|
+
- 📊 **Real-time Updates**: WebSocket integration for live status
|
|
481
|
+
- ⚙️ **Profile Management**: Visual configuration of all profiles
|
|
482
|
+
- 🔍 **Health Monitoring**: System diagnostics and metrics
|
|
483
|
+
- 🌙 **Dark Mode**: Eye-friendly theme switching
|
|
484
|
+
- 📱 **Responsive**: Works on desktop and mobile
|
|
485
|
+
|
|
486
|
+
### Dashboard Screenshots
|
|
487
|
+
|
|
488
|
+
*(Add screenshots here when available)*
|
|
489
|
+
|
|
462
490
|
## Usage Examples
|
|
463
491
|
|
|
464
492
|
### Basic Switching
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
5.
|
|
1
|
+
5.10.0-dev.1
|
package/dist/ccs.js
CHANGED
|
@@ -81,8 +81,14 @@ async function execClaudeWithProxy(claudeCli, profileName, args) {
|
|
|
81
81
|
const proxyPath = path.join(__dirname, 'glmt', 'glmt-proxy.js');
|
|
82
82
|
const proxyArgs = verbose ? ['--verbose'] : [];
|
|
83
83
|
// Use process.execPath for Windows compatibility (CVE-2024-27980)
|
|
84
|
+
// Pass environment variables to proxy subprocess (required for auth)
|
|
84
85
|
const proxy = (0, child_process_1.spawn)(process.execPath, [proxyPath, ...proxyArgs], {
|
|
85
86
|
stdio: ['ignore', 'pipe', verbose ? 'pipe' : 'inherit'],
|
|
87
|
+
env: {
|
|
88
|
+
...process.env,
|
|
89
|
+
ANTHROPIC_AUTH_TOKEN: apiKey,
|
|
90
|
+
ANTHROPIC_BASE_URL: settings.env.ANTHROPIC_BASE_URL,
|
|
91
|
+
},
|
|
86
92
|
});
|
|
87
93
|
// 3. Wait for proxy ready signal (with timeout)
|
|
88
94
|
const { ProgressIndicator } = await Promise.resolve().then(() => __importStar(require('./utils/progress-indicator')));
|
|
@@ -264,6 +270,12 @@ async function main() {
|
|
|
264
270
|
await handleCliproxyCommand(args.slice(1));
|
|
265
271
|
return;
|
|
266
272
|
}
|
|
273
|
+
// Special case: config command (web dashboard)
|
|
274
|
+
if (firstArg === 'config') {
|
|
275
|
+
const { handleConfigCommand } = await Promise.resolve().then(() => __importStar(require('./commands/config-command')));
|
|
276
|
+
await handleConfigCommand(args.slice(1));
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
267
279
|
// Special case: headless delegation (-p flag)
|
|
268
280
|
if (args.includes('-p') || args.includes('--prompt')) {
|
|
269
281
|
const { DelegationHandler } = await Promise.resolve().then(() => __importStar(require('./delegation/delegation-handler')));
|
package/dist/ccs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ccs.js","sourceRoot":"","sources":["../src/ccs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ccs.js","sourceRoot":"","sources":["../src/ccs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Account Manager for CLIProxyAPI Multi-Account Support
|
|
3
|
+
*
|
|
4
|
+
* Manages multiple OAuth accounts per provider (Gemini, Codex, etc.).
|
|
5
|
+
* Each provider can have multiple accounts, with one designated as default.
|
|
6
|
+
*
|
|
7
|
+
* Account storage: ~/.ccs/cliproxy/accounts.json
|
|
8
|
+
* Token storage: ~/.ccs/cliproxy/auth/ (flat structure, CLIProxyAPI discovers by type field)
|
|
9
|
+
*/
|
|
10
|
+
import { CLIProxyProvider } from './types';
|
|
11
|
+
/** Account information */
|
|
12
|
+
export interface AccountInfo {
|
|
13
|
+
/** Account identifier (email or custom name) */
|
|
14
|
+
id: string;
|
|
15
|
+
/** Email address from OAuth (if available) */
|
|
16
|
+
email?: string;
|
|
17
|
+
/** Provider this account belongs to */
|
|
18
|
+
provider: CLIProxyProvider;
|
|
19
|
+
/** Whether this is the default account for the provider */
|
|
20
|
+
isDefault: boolean;
|
|
21
|
+
/** Token file name in auth directory */
|
|
22
|
+
tokenFile: string;
|
|
23
|
+
/** When account was added */
|
|
24
|
+
createdAt: string;
|
|
25
|
+
/** Last usage time */
|
|
26
|
+
lastUsedAt?: string;
|
|
27
|
+
}
|
|
28
|
+
/** Provider accounts configuration */
|
|
29
|
+
interface ProviderAccounts {
|
|
30
|
+
/** Default account ID for this provider */
|
|
31
|
+
default: string;
|
|
32
|
+
/** Map of account ID to account metadata */
|
|
33
|
+
accounts: Record<string, Omit<AccountInfo, 'id' | 'provider' | 'isDefault'>>;
|
|
34
|
+
}
|
|
35
|
+
/** Accounts registry structure */
|
|
36
|
+
interface AccountsRegistry {
|
|
37
|
+
/** Version for future migrations */
|
|
38
|
+
version: number;
|
|
39
|
+
/** Accounts organized by provider */
|
|
40
|
+
providers: Partial<Record<CLIProxyProvider, ProviderAccounts>>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get path to accounts registry file
|
|
44
|
+
*/
|
|
45
|
+
export declare function getAccountsRegistryPath(): string;
|
|
46
|
+
/**
|
|
47
|
+
* Load accounts registry
|
|
48
|
+
*/
|
|
49
|
+
export declare function loadAccountsRegistry(): AccountsRegistry;
|
|
50
|
+
/**
|
|
51
|
+
* Save accounts registry
|
|
52
|
+
*/
|
|
53
|
+
export declare function saveAccountsRegistry(registry: AccountsRegistry): void;
|
|
54
|
+
/**
|
|
55
|
+
* Get all accounts for a provider
|
|
56
|
+
*/
|
|
57
|
+
export declare function getProviderAccounts(provider: CLIProxyProvider): AccountInfo[];
|
|
58
|
+
/**
|
|
59
|
+
* Get default account for a provider
|
|
60
|
+
*/
|
|
61
|
+
export declare function getDefaultAccount(provider: CLIProxyProvider): AccountInfo | null;
|
|
62
|
+
/**
|
|
63
|
+
* Get specific account by ID
|
|
64
|
+
*/
|
|
65
|
+
export declare function getAccount(provider: CLIProxyProvider, accountId: string): AccountInfo | null;
|
|
66
|
+
/**
|
|
67
|
+
* Register a new account
|
|
68
|
+
* Called after successful OAuth to record the account
|
|
69
|
+
*/
|
|
70
|
+
export declare function registerAccount(provider: CLIProxyProvider, tokenFile: string, email?: string): AccountInfo;
|
|
71
|
+
/**
|
|
72
|
+
* Set default account for a provider
|
|
73
|
+
*/
|
|
74
|
+
export declare function setDefaultAccount(provider: CLIProxyProvider, accountId: string): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Remove an account
|
|
77
|
+
*/
|
|
78
|
+
export declare function removeAccount(provider: CLIProxyProvider, accountId: string): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Update last used timestamp for an account
|
|
81
|
+
*/
|
|
82
|
+
export declare function touchAccount(provider: CLIProxyProvider, accountId: string): void;
|
|
83
|
+
/**
|
|
84
|
+
* Get token file path for an account
|
|
85
|
+
*/
|
|
86
|
+
export declare function getAccountTokenPath(provider: CLIProxyProvider, accountId?: string): string | null;
|
|
87
|
+
/**
|
|
88
|
+
* Auto-discover accounts from existing token files
|
|
89
|
+
* Called during migration or first run to populate accounts registry
|
|
90
|
+
*/
|
|
91
|
+
export declare function discoverExistingAccounts(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Get summary of all accounts across providers
|
|
94
|
+
*/
|
|
95
|
+
export declare function getAllAccountsSummary(): Record<CLIProxyProvider, AccountInfo[]>;
|
|
96
|
+
export {};
|
|
97
|
+
//# sourceMappingURL=account-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-manager.d.ts","sourceRoot":"","sources":["../../src/cliproxy/account-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,0BAA0B;AAC1B,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,sCAAsC;AACtC,UAAU,gBAAgB;IACxB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC;CAC9E;AAED,kCAAkC;AAClC,UAAU,gBAAgB;IACxB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAChE;AAQD;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAiBvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAWrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,EAAE,CAc7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,GAAG,IAAI,CAGhF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAG5F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,WAAW,CA4Cb;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAWxF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAgCpF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAQhF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQjG;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CA6E/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAY/E"}
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Account Manager for CLIProxyAPI Multi-Account Support
|
|
4
|
+
*
|
|
5
|
+
* Manages multiple OAuth accounts per provider (Gemini, Codex, etc.).
|
|
6
|
+
* Each provider can have multiple accounts, with one designated as default.
|
|
7
|
+
*
|
|
8
|
+
* Account storage: ~/.ccs/cliproxy/accounts.json
|
|
9
|
+
* Token storage: ~/.ccs/cliproxy/auth/ (flat structure, CLIProxyAPI discovers by type field)
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.getAllAccountsSummary = exports.discoverExistingAccounts = exports.getAccountTokenPath = exports.touchAccount = exports.removeAccount = exports.setDefaultAccount = exports.registerAccount = exports.getAccount = exports.getDefaultAccount = exports.getProviderAccounts = exports.saveAccountsRegistry = exports.loadAccountsRegistry = exports.getAccountsRegistryPath = void 0;
|
|
36
|
+
const fs = __importStar(require("fs"));
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const config_generator_1 = require("./config-generator");
|
|
39
|
+
/** Default registry structure */
|
|
40
|
+
const DEFAULT_REGISTRY = {
|
|
41
|
+
version: 1,
|
|
42
|
+
providers: {},
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Get path to accounts registry file
|
|
46
|
+
*/
|
|
47
|
+
function getAccountsRegistryPath() {
|
|
48
|
+
return path.join((0, config_generator_1.getCliproxyDir)(), 'accounts.json');
|
|
49
|
+
}
|
|
50
|
+
exports.getAccountsRegistryPath = getAccountsRegistryPath;
|
|
51
|
+
/**
|
|
52
|
+
* Load accounts registry
|
|
53
|
+
*/
|
|
54
|
+
function loadAccountsRegistry() {
|
|
55
|
+
const registryPath = getAccountsRegistryPath();
|
|
56
|
+
if (!fs.existsSync(registryPath)) {
|
|
57
|
+
return { ...DEFAULT_REGISTRY };
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
const content = fs.readFileSync(registryPath, 'utf-8');
|
|
61
|
+
const data = JSON.parse(content);
|
|
62
|
+
return {
|
|
63
|
+
version: data.version || 1,
|
|
64
|
+
providers: data.providers || {},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return { ...DEFAULT_REGISTRY };
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.loadAccountsRegistry = loadAccountsRegistry;
|
|
72
|
+
/**
|
|
73
|
+
* Save accounts registry
|
|
74
|
+
*/
|
|
75
|
+
function saveAccountsRegistry(registry) {
|
|
76
|
+
const registryPath = getAccountsRegistryPath();
|
|
77
|
+
const dir = path.dirname(registryPath);
|
|
78
|
+
if (!fs.existsSync(dir)) {
|
|
79
|
+
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
80
|
+
}
|
|
81
|
+
fs.writeFileSync(registryPath, JSON.stringify(registry, null, 2) + '\n', {
|
|
82
|
+
mode: 0o600,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
exports.saveAccountsRegistry = saveAccountsRegistry;
|
|
86
|
+
/**
|
|
87
|
+
* Get all accounts for a provider
|
|
88
|
+
*/
|
|
89
|
+
function getProviderAccounts(provider) {
|
|
90
|
+
const registry = loadAccountsRegistry();
|
|
91
|
+
const providerAccounts = registry.providers[provider];
|
|
92
|
+
if (!providerAccounts) {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
return Object.entries(providerAccounts.accounts).map(([id, meta]) => ({
|
|
96
|
+
id,
|
|
97
|
+
provider,
|
|
98
|
+
isDefault: id === providerAccounts.default,
|
|
99
|
+
...meta,
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
exports.getProviderAccounts = getProviderAccounts;
|
|
103
|
+
/**
|
|
104
|
+
* Get default account for a provider
|
|
105
|
+
*/
|
|
106
|
+
function getDefaultAccount(provider) {
|
|
107
|
+
const accounts = getProviderAccounts(provider);
|
|
108
|
+
return accounts.find((a) => a.isDefault) || accounts[0] || null;
|
|
109
|
+
}
|
|
110
|
+
exports.getDefaultAccount = getDefaultAccount;
|
|
111
|
+
/**
|
|
112
|
+
* Get specific account by ID
|
|
113
|
+
*/
|
|
114
|
+
function getAccount(provider, accountId) {
|
|
115
|
+
const accounts = getProviderAccounts(provider);
|
|
116
|
+
return accounts.find((a) => a.id === accountId) || null;
|
|
117
|
+
}
|
|
118
|
+
exports.getAccount = getAccount;
|
|
119
|
+
/**
|
|
120
|
+
* Register a new account
|
|
121
|
+
* Called after successful OAuth to record the account
|
|
122
|
+
*/
|
|
123
|
+
function registerAccount(provider, tokenFile, email) {
|
|
124
|
+
const registry = loadAccountsRegistry();
|
|
125
|
+
// Initialize provider section if needed
|
|
126
|
+
if (!registry.providers[provider]) {
|
|
127
|
+
registry.providers[provider] = {
|
|
128
|
+
default: 'default',
|
|
129
|
+
accounts: {},
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
const providerAccounts = registry.providers[provider];
|
|
133
|
+
if (!providerAccounts) {
|
|
134
|
+
throw new Error('Failed to initialize provider accounts');
|
|
135
|
+
}
|
|
136
|
+
// Determine account ID
|
|
137
|
+
const accountId = email || 'default';
|
|
138
|
+
const isFirstAccount = Object.keys(providerAccounts.accounts).length === 0;
|
|
139
|
+
// Create or update account
|
|
140
|
+
providerAccounts.accounts[accountId] = {
|
|
141
|
+
email,
|
|
142
|
+
tokenFile,
|
|
143
|
+
createdAt: new Date().toISOString(),
|
|
144
|
+
lastUsedAt: new Date().toISOString(),
|
|
145
|
+
};
|
|
146
|
+
// Set as default if first account
|
|
147
|
+
if (isFirstAccount) {
|
|
148
|
+
providerAccounts.default = accountId;
|
|
149
|
+
}
|
|
150
|
+
saveAccountsRegistry(registry);
|
|
151
|
+
return {
|
|
152
|
+
id: accountId,
|
|
153
|
+
provider,
|
|
154
|
+
isDefault: accountId === providerAccounts.default,
|
|
155
|
+
email,
|
|
156
|
+
tokenFile,
|
|
157
|
+
createdAt: providerAccounts.accounts[accountId].createdAt,
|
|
158
|
+
lastUsedAt: providerAccounts.accounts[accountId].lastUsedAt,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
exports.registerAccount = registerAccount;
|
|
162
|
+
/**
|
|
163
|
+
* Set default account for a provider
|
|
164
|
+
*/
|
|
165
|
+
function setDefaultAccount(provider, accountId) {
|
|
166
|
+
const registry = loadAccountsRegistry();
|
|
167
|
+
const providerAccounts = registry.providers[provider];
|
|
168
|
+
if (!providerAccounts || !providerAccounts.accounts[accountId]) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
providerAccounts.default = accountId;
|
|
172
|
+
saveAccountsRegistry(registry);
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
exports.setDefaultAccount = setDefaultAccount;
|
|
176
|
+
/**
|
|
177
|
+
* Remove an account
|
|
178
|
+
*/
|
|
179
|
+
function removeAccount(provider, accountId) {
|
|
180
|
+
const registry = loadAccountsRegistry();
|
|
181
|
+
const providerAccounts = registry.providers[provider];
|
|
182
|
+
if (!providerAccounts || !providerAccounts.accounts[accountId]) {
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
// Get token file to delete
|
|
186
|
+
const tokenFile = providerAccounts.accounts[accountId].tokenFile;
|
|
187
|
+
const tokenPath = path.join((0, config_generator_1.getAuthDir)(), tokenFile);
|
|
188
|
+
// Delete token file
|
|
189
|
+
if (fs.existsSync(tokenPath)) {
|
|
190
|
+
try {
|
|
191
|
+
fs.unlinkSync(tokenPath);
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
// Ignore deletion errors
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// Remove from registry
|
|
198
|
+
delete providerAccounts.accounts[accountId];
|
|
199
|
+
// Update default if needed
|
|
200
|
+
const remainingAccounts = Object.keys(providerAccounts.accounts);
|
|
201
|
+
if (providerAccounts.default === accountId && remainingAccounts.length > 0) {
|
|
202
|
+
providerAccounts.default = remainingAccounts[0];
|
|
203
|
+
}
|
|
204
|
+
saveAccountsRegistry(registry);
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
exports.removeAccount = removeAccount;
|
|
208
|
+
/**
|
|
209
|
+
* Update last used timestamp for an account
|
|
210
|
+
*/
|
|
211
|
+
function touchAccount(provider, accountId) {
|
|
212
|
+
const registry = loadAccountsRegistry();
|
|
213
|
+
const providerAccounts = registry.providers[provider];
|
|
214
|
+
if (providerAccounts?.accounts[accountId]) {
|
|
215
|
+
providerAccounts.accounts[accountId].lastUsedAt = new Date().toISOString();
|
|
216
|
+
saveAccountsRegistry(registry);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
exports.touchAccount = touchAccount;
|
|
220
|
+
/**
|
|
221
|
+
* Get token file path for an account
|
|
222
|
+
*/
|
|
223
|
+
function getAccountTokenPath(provider, accountId) {
|
|
224
|
+
const account = accountId ? getAccount(provider, accountId) : getDefaultAccount(provider);
|
|
225
|
+
if (!account) {
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
return path.join((0, config_generator_1.getAuthDir)(), account.tokenFile);
|
|
229
|
+
}
|
|
230
|
+
exports.getAccountTokenPath = getAccountTokenPath;
|
|
231
|
+
/**
|
|
232
|
+
* Auto-discover accounts from existing token files
|
|
233
|
+
* Called during migration or first run to populate accounts registry
|
|
234
|
+
*/
|
|
235
|
+
function discoverExistingAccounts() {
|
|
236
|
+
const authDir = (0, config_generator_1.getAuthDir)();
|
|
237
|
+
if (!fs.existsSync(authDir)) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const registry = loadAccountsRegistry();
|
|
241
|
+
const files = fs.readdirSync(authDir);
|
|
242
|
+
for (const file of files) {
|
|
243
|
+
if (!file.endsWith('.json'))
|
|
244
|
+
continue;
|
|
245
|
+
const filePath = path.join(authDir, file);
|
|
246
|
+
try {
|
|
247
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
248
|
+
const data = JSON.parse(content);
|
|
249
|
+
// Skip if no type field
|
|
250
|
+
if (!data.type)
|
|
251
|
+
continue;
|
|
252
|
+
// Map token type values to internal provider names
|
|
253
|
+
// CLIProxyAPI uses different type values in tokens (e.g., "antigravity" vs "agy")
|
|
254
|
+
const typeToProvider = {
|
|
255
|
+
gemini: 'gemini',
|
|
256
|
+
antigravity: 'agy',
|
|
257
|
+
codex: 'codex',
|
|
258
|
+
qwen: 'qwen',
|
|
259
|
+
iflow: 'iflow',
|
|
260
|
+
};
|
|
261
|
+
const typeValue = data.type.toLowerCase();
|
|
262
|
+
const provider = typeToProvider[typeValue];
|
|
263
|
+
// Skip if unknown provider type
|
|
264
|
+
if (!provider) {
|
|
265
|
+
continue;
|
|
266
|
+
}
|
|
267
|
+
// Extract email if available
|
|
268
|
+
const email = data.email || undefined;
|
|
269
|
+
const accountId = email || 'default';
|
|
270
|
+
// Initialize provider section if needed
|
|
271
|
+
if (!registry.providers[provider]) {
|
|
272
|
+
registry.providers[provider] = {
|
|
273
|
+
default: accountId,
|
|
274
|
+
accounts: {},
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
const providerAccounts = registry.providers[provider];
|
|
278
|
+
if (!providerAccounts)
|
|
279
|
+
continue;
|
|
280
|
+
// Skip if account already registered
|
|
281
|
+
if (providerAccounts.accounts[accountId]) {
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
// Get file stats for creation time
|
|
285
|
+
const stats = fs.statSync(filePath);
|
|
286
|
+
// Register account
|
|
287
|
+
providerAccounts.accounts[accountId] = {
|
|
288
|
+
email,
|
|
289
|
+
tokenFile: file,
|
|
290
|
+
createdAt: stats.birthtime?.toISOString() || new Date().toISOString(),
|
|
291
|
+
lastUsedAt: stats.mtime?.toISOString(),
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
catch {
|
|
295
|
+
// Skip invalid files
|
|
296
|
+
continue;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
saveAccountsRegistry(registry);
|
|
300
|
+
}
|
|
301
|
+
exports.discoverExistingAccounts = discoverExistingAccounts;
|
|
302
|
+
/**
|
|
303
|
+
* Get summary of all accounts across providers
|
|
304
|
+
*/
|
|
305
|
+
function getAllAccountsSummary() {
|
|
306
|
+
const providers = ['gemini', 'codex', 'agy', 'qwen', 'iflow'];
|
|
307
|
+
const summary = {};
|
|
308
|
+
for (const provider of providers) {
|
|
309
|
+
summary[provider] = getProviderAccounts(provider);
|
|
310
|
+
}
|
|
311
|
+
return summary;
|
|
312
|
+
}
|
|
313
|
+
exports.getAllAccountsSummary = getAllAccountsSummary;
|
|
314
|
+
//# sourceMappingURL=account-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-manager.js","sourceRoot":"","sources":["../../src/cliproxy/account-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* Each provider has its own directory to avoid conflicts.
|
|
13
13
|
*/
|
|
14
14
|
import { CLIProxyProvider } from './types';
|
|
15
|
+
import { AccountInfo } from './account-manager';
|
|
15
16
|
/**
|
|
16
17
|
* Auth status for a provider
|
|
17
18
|
*/
|
|
@@ -26,6 +27,10 @@ export interface AuthStatus {
|
|
|
26
27
|
tokenFiles: string[];
|
|
27
28
|
/** When last authenticated (if known) */
|
|
28
29
|
lastAuth?: Date;
|
|
30
|
+
/** Accounts registered for this provider (multi-account support) */
|
|
31
|
+
accounts: AccountInfo[];
|
|
32
|
+
/** Default account ID */
|
|
33
|
+
defaultAccount?: string;
|
|
29
34
|
}
|
|
30
35
|
/**
|
|
31
36
|
* OAuth config for each provider
|
|
@@ -76,19 +81,32 @@ export declare function clearAuth(provider: CLIProxyProvider): boolean;
|
|
|
76
81
|
/**
|
|
77
82
|
* Trigger OAuth flow for provider
|
|
78
83
|
* Auto-detects headless environment and uses --no-browser flag accordingly
|
|
84
|
+
* @param provider - The CLIProxy provider to authenticate
|
|
85
|
+
* @param options - OAuth options
|
|
86
|
+
* @returns Account info if successful, null otherwise
|
|
79
87
|
*/
|
|
80
88
|
export declare function triggerOAuth(provider: CLIProxyProvider, options?: {
|
|
81
89
|
verbose?: boolean;
|
|
82
90
|
headless?: boolean;
|
|
83
|
-
|
|
91
|
+
account?: string;
|
|
92
|
+
}): Promise<AccountInfo | null>;
|
|
84
93
|
/**
|
|
85
94
|
* Ensure provider is authenticated
|
|
86
95
|
* Triggers OAuth flow if not authenticated
|
|
96
|
+
* @param provider - The CLIProxy provider
|
|
97
|
+
* @param options - Auth options including optional account
|
|
98
|
+
* @returns true if authenticated, false otherwise
|
|
87
99
|
*/
|
|
88
100
|
export declare function ensureAuth(provider: CLIProxyProvider, options?: {
|
|
89
101
|
verbose?: boolean;
|
|
90
102
|
headless?: boolean;
|
|
103
|
+
account?: string;
|
|
91
104
|
}): Promise<boolean>;
|
|
105
|
+
/**
|
|
106
|
+
* Initialize accounts registry from existing tokens
|
|
107
|
+
* Should be called on startup to populate accounts from existing token files
|
|
108
|
+
*/
|
|
109
|
+
export declare function initializeAccounts(): void;
|
|
92
110
|
/**
|
|
93
111
|
* Display auth status for all providers
|
|
94
112
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-handler.d.ts","sourceRoot":"","sources":["../../src/cliproxy/auth-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-handler.d.ts","sourceRoot":"","sources":["../../src/cliproxy/auth-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EACL,WAAW,EAMZ,MAAM,mBAAmB,CAAC;AAsF3B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oCAAoC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,oEAAoE;IACpE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,yBAAyB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,0BAA0B;IAC1B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA4CD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,mBAAmB,CAM9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEtE;AA2CD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAkCnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,UAAU,CAoDpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,EAAE,CAG/C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAkC7D;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACxE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAgL7B;AA8CD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACxE,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAkBxC"}
|