@kaitranntt/ccs 7.12.2-dev.1 → 7.12.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/account-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"account-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/account-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,QAAA,MAAM,MAAM,4CAAW,CAAC;AAuHxB,eAAe,MAAM,CAAC"}
|
|
@@ -12,21 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
const express_1 = require("express");
|
|
13
13
|
const profile_registry_1 = __importDefault(require("../../auth/profile-registry"));
|
|
14
14
|
const unified_config_loader_1 = require("../../config/unified-config-loader");
|
|
15
|
-
const account_manager_1 = require("../../cliproxy/account-manager");
|
|
16
15
|
const router = (0, express_1.Router)();
|
|
17
16
|
const registry = new profile_registry_1.default();
|
|
18
|
-
/** Parse CLIProxy account key format: "provider:accountId" */
|
|
19
|
-
function parseCliproxyKey(key) {
|
|
20
|
-
const providers = ['gemini', 'codex', 'agy', 'qwen', 'iflow', 'kiro', 'ghcp'];
|
|
21
|
-
const colonIndex = key.indexOf(':');
|
|
22
|
-
if (colonIndex === -1)
|
|
23
|
-
return null;
|
|
24
|
-
const provider = key.slice(0, colonIndex);
|
|
25
|
-
const accountId = key.slice(colonIndex + 1);
|
|
26
|
-
if (!providers.includes(provider) || !accountId)
|
|
27
|
-
return null;
|
|
28
|
-
return { provider, accountId };
|
|
29
|
-
}
|
|
30
17
|
/**
|
|
31
18
|
* GET /api/accounts - List accounts from both profiles.json and config.yaml
|
|
32
19
|
*/
|
|
@@ -35,8 +22,6 @@ router.get('/', (_req, res) => {
|
|
|
35
22
|
// Get profiles from both legacy and unified config (same logic as CLI)
|
|
36
23
|
const legacyProfiles = registry.getAllProfiles();
|
|
37
24
|
const unifiedAccounts = registry.getAllAccountsUnified();
|
|
38
|
-
// Get CLIProxy OAuth accounts (gemini, codex, agy, etc.)
|
|
39
|
-
const cliproxyAccounts = (0, account_manager_1.getAllAccountsSummary)();
|
|
40
25
|
// Merge profiles: unified config takes precedence
|
|
41
26
|
const merged = {};
|
|
42
27
|
// Add legacy profiles first
|
|
@@ -55,25 +40,6 @@ router.get('/', (_req, res) => {
|
|
|
55
40
|
last_used: account.last_used,
|
|
56
41
|
};
|
|
57
42
|
}
|
|
58
|
-
// Add CLIProxy OAuth accounts
|
|
59
|
-
for (const [provider, accounts] of Object.entries(cliproxyAccounts)) {
|
|
60
|
-
for (const acct of accounts) {
|
|
61
|
-
// Skip accounts with no valid identifier
|
|
62
|
-
if (!acct.id) {
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
// Use unique ID for key to prevent collisions between accounts with same nickname/email
|
|
66
|
-
const displayName = acct.nickname || acct.email || acct.id;
|
|
67
|
-
const key = `${provider}:${acct.id}`;
|
|
68
|
-
merged[key] = {
|
|
69
|
-
type: 'cliproxy',
|
|
70
|
-
provider,
|
|
71
|
-
displayName,
|
|
72
|
-
created: acct.createdAt || new Date().toISOString(),
|
|
73
|
-
last_used: null,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
43
|
// Convert to array format
|
|
78
44
|
const accounts = Object.entries(merged).map(([name, meta]) => ({
|
|
79
45
|
name,
|
|
@@ -97,17 +63,6 @@ router.post('/default', (req, res) => {
|
|
|
97
63
|
res.status(400).json({ error: 'Missing required field: name' });
|
|
98
64
|
return;
|
|
99
65
|
}
|
|
100
|
-
// Check if this is a CLIProxy account (format: "provider:accountId")
|
|
101
|
-
const cliproxyKey = parseCliproxyKey(name);
|
|
102
|
-
if (cliproxyKey) {
|
|
103
|
-
const success = (0, account_manager_1.setDefaultAccount)(cliproxyKey.provider, cliproxyKey.accountId);
|
|
104
|
-
if (!success) {
|
|
105
|
-
res.status(404).json({ error: `CLIProxy account not found: ${name}` });
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
res.json({ default: name });
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
66
|
// Use unified config if in unified mode, otherwise use legacy
|
|
112
67
|
if ((0, unified_config_loader_1.isUnifiedMode)()) {
|
|
113
68
|
registry.setDefaultUnified(name);
|
|
@@ -148,7 +103,7 @@ router.delete('/:name', (req, res) => {
|
|
|
148
103
|
res.status(400).json({ error: 'Missing account name' });
|
|
149
104
|
return;
|
|
150
105
|
}
|
|
151
|
-
// Check if trying to delete default
|
|
106
|
+
// Check if trying to delete default
|
|
152
107
|
const currentDefault = registry.getDefaultUnified() ?? registry.getDefaultProfile();
|
|
153
108
|
if (name === currentDefault) {
|
|
154
109
|
res
|
|
@@ -156,18 +111,7 @@ router.delete('/:name', (req, res) => {
|
|
|
156
111
|
.json({ error: 'Cannot delete the default account. Set a different default first.' });
|
|
157
112
|
return;
|
|
158
113
|
}
|
|
159
|
-
//
|
|
160
|
-
const cliproxyKey = parseCliproxyKey(name);
|
|
161
|
-
if (cliproxyKey) {
|
|
162
|
-
const success = (0, account_manager_1.removeAccount)(cliproxyKey.provider, cliproxyKey.accountId);
|
|
163
|
-
if (!success) {
|
|
164
|
-
res.status(404).json({ error: `CLIProxy account not found: ${name}` });
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
res.json({ success: true, deleted: name });
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
// Delete the profile (legacy/unified)
|
|
114
|
+
// Delete the profile
|
|
171
115
|
registry.deleteProfile(name);
|
|
172
116
|
res.json({ success: true, deleted: name });
|
|
173
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/account-routes.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;AAEH,qCAAoD;AACpD,mFAA0D;AAC1D,8EAAmE;
|
|
1
|
+
{"version":3,"file":"account-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/account-routes.ts"],"names":[],"mappings":"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"}
|