@kaitranntt/ccs 7.57.2 → 7.58.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.
Files changed (130) hide show
  1. package/dist/ccs.js +35 -2
  2. package/dist/ccs.js.map +1 -1
  3. package/dist/channels/official-channels-runtime.d.ts +156 -0
  4. package/dist/channels/official-channels-runtime.d.ts.map +1 -0
  5. package/dist/channels/official-channels-runtime.js +658 -0
  6. package/dist/channels/official-channels-runtime.js.map +1 -0
  7. package/dist/channels/official-channels-store.d.ts +23 -0
  8. package/dist/channels/official-channels-store.d.ts.map +1 -0
  9. package/dist/channels/official-channels-store.js +274 -0
  10. package/dist/channels/official-channels-store.js.map +1 -0
  11. package/dist/cliproxy/accounts/registry.d.ts.map +1 -1
  12. package/dist/cliproxy/accounts/registry.js +160 -87
  13. package/dist/cliproxy/accounts/registry.js.map +1 -1
  14. package/dist/cliproxy/accounts/token-file-ops.d.ts +14 -0
  15. package/dist/cliproxy/accounts/token-file-ops.d.ts.map +1 -1
  16. package/dist/cliproxy/accounts/token-file-ops.js +31 -1
  17. package/dist/cliproxy/accounts/token-file-ops.js.map +1 -1
  18. package/dist/cliproxy/ai-providers/config-store.d.ts +1 -1
  19. package/dist/cliproxy/binary-manager.d.ts +12 -1
  20. package/dist/cliproxy/binary-manager.d.ts.map +1 -1
  21. package/dist/cliproxy/binary-manager.js +15 -9
  22. package/dist/cliproxy/binary-manager.js.map +1 -1
  23. package/dist/cliproxy/codex-plan-compatibility.d.ts +11 -1
  24. package/dist/cliproxy/codex-plan-compatibility.d.ts.map +1 -1
  25. package/dist/cliproxy/codex-plan-compatibility.js +10 -6
  26. package/dist/cliproxy/codex-plan-compatibility.js.map +1 -1
  27. package/dist/commands/api-command/export-command.d.ts +12 -1
  28. package/dist/commands/api-command/export-command.d.ts.map +1 -1
  29. package/dist/commands/api-command/export-command.js +18 -10
  30. package/dist/commands/api-command/export-command.js.map +1 -1
  31. package/dist/commands/cliproxy/resolve-lifecycle-port.d.ts +4 -1
  32. package/dist/commands/cliproxy/resolve-lifecycle-port.d.ts.map +1 -1
  33. package/dist/commands/cliproxy/resolve-lifecycle-port.js +1 -2
  34. package/dist/commands/cliproxy/resolve-lifecycle-port.js.map +1 -1
  35. package/dist/commands/config-channels-command.d.ts +24 -0
  36. package/dist/commands/config-channels-command.d.ts.map +1 -0
  37. package/dist/commands/config-channels-command.js +359 -0
  38. package/dist/commands/config-channels-command.js.map +1 -0
  39. package/dist/commands/config-command-options.d.ts.map +1 -1
  40. package/dist/commands/config-command-options.js +15 -0
  41. package/dist/commands/config-command-options.js.map +1 -1
  42. package/dist/commands/config-command.d.ts +26 -1
  43. package/dist/commands/config-command.d.ts.map +1 -1
  44. package/dist/commands/config-command.js +56 -33
  45. package/dist/commands/config-command.js.map +1 -1
  46. package/dist/commands/help-command.d.ts.map +1 -1
  47. package/dist/commands/help-command.js +26 -1
  48. package/dist/commands/help-command.js.map +1 -1
  49. package/dist/config/unified-config-loader.d.ts +11 -1
  50. package/dist/config/unified-config-loader.d.ts.map +1 -1
  51. package/dist/config/unified-config-loader.js +67 -1
  52. package/dist/config/unified-config-loader.js.map +1 -1
  53. package/dist/config/unified-config-types.d.ts +25 -2
  54. package/dist/config/unified-config-types.d.ts.map +1 -1
  55. package/dist/config/unified-config-types.js +13 -2
  56. package/dist/config/unified-config-types.js.map +1 -1
  57. package/dist/cursor/daemon-process-ownership.d.ts.map +1 -1
  58. package/dist/cursor/daemon-process-ownership.js +19 -6
  59. package/dist/cursor/daemon-process-ownership.js.map +1 -1
  60. package/dist/management/shared-manager.d.ts +1 -1
  61. package/dist/management/shared-manager.d.ts.map +1 -1
  62. package/dist/management/shared-manager.js.map +1 -1
  63. package/dist/ui/assets/{accounts-DD2Lodv2.js → accounts-Bi7XUDHo.js} +1 -1
  64. package/dist/ui/assets/{alert-dialog-D21M1jKW.js → alert-dialog-Bskv1UqD.js} +1 -1
  65. package/dist/ui/assets/{api-0PqftiRh.js → api-BFfNiWU_.js} +1 -1
  66. package/dist/ui/assets/{auth-section-DEfVaTF2.js → auth-section-CkwkOd8Q.js} +1 -1
  67. package/dist/ui/assets/{backups-section-7CMRUK1w.js → backups-section-CDkFAktJ.js} +1 -1
  68. package/dist/ui/assets/channels-D9vRjf9H.js +1 -0
  69. package/dist/ui/assets/{checkbox-qsMNLxyT.js → checkbox-rsq1JHt2.js} +1 -1
  70. package/dist/ui/assets/{claude-extension-QCVnlD5g.js → claude-extension-BfwJj618.js} +1 -1
  71. package/dist/ui/assets/{cliproxy-ai-providers-D09jj99_.js → cliproxy-ai-providers-DixxeJfQ.js} +1 -1
  72. package/dist/ui/assets/{cliproxy-control-panel-CJZ3OH7x.js → cliproxy-control-panel-CdCsaRq4.js} +1 -1
  73. package/dist/ui/assets/cliproxy-xutd0LaH.js +3 -0
  74. package/dist/ui/assets/{confirm-dialog-DDPaIGt-.js → confirm-dialog-B4WlF7tC.js} +1 -1
  75. package/dist/ui/assets/{copilot-CZ5-TuDW.js → copilot-CuFOx9Kk.js} +2 -2
  76. package/dist/ui/assets/{cursor-CLCJ8JwP.js → cursor-B64u82go.js} +1 -1
  77. package/dist/ui/assets/{droid-C4ndg4ND.js → droid-DwscDHGF.js} +2 -2
  78. package/dist/ui/assets/{globalenv-section-u25Fhfko.js → globalenv-section-ISO8VWcQ.js} +1 -1
  79. package/dist/ui/assets/{health-S3_uVEZI.js → health-D-5UfvHV.js} +1 -1
  80. package/dist/ui/assets/icons-EbXCUruD.js +1 -0
  81. package/dist/ui/assets/index-0mbI0zkd.js +47 -0
  82. package/dist/ui/assets/index-CBHMywxl.js +1 -0
  83. package/dist/ui/assets/index-CzllrOuG.css +1 -0
  84. package/dist/ui/assets/{index-DjUsD3ce.js → index-D4gDsKGX.js} +1 -1
  85. package/dist/ui/assets/{index-DW1sWpmn.js → index-DgO9oAtH.js} +1 -1
  86. package/dist/ui/assets/{index-ainA13O4.js → index-Lw9RiYua.js} +1 -1
  87. package/dist/ui/assets/{proxy-status-widget-D65cBYFv.js → proxy-status-widget-DBQNYwwE.js} +1 -1
  88. package/dist/ui/assets/{searchable-select-C2HgCDJL.js → searchable-select-BBmIBbiR.js} +1 -1
  89. package/dist/ui/assets/{separator-BlhCtc9l.js → separator-BVx8r-KC.js} +1 -1
  90. package/dist/ui/assets/{shared-DZkW1mRU.js → shared-BM5hXjzm.js} +1 -1
  91. package/dist/ui/assets/{switch-JdcUdtbh.js → switch-Db2HZGHS.js} +1 -1
  92. package/dist/ui/assets/{updates-DtnC6jcH.js → updates-DTXYBnlZ.js} +1 -1
  93. package/dist/ui/index.html +3 -3
  94. package/dist/utils/claude-config-path.d.ts +6 -0
  95. package/dist/utils/claude-config-path.d.ts.map +1 -1
  96. package/dist/utils/claude-config-path.js +11 -2
  97. package/dist/utils/claude-config-path.js.map +1 -1
  98. package/dist/utils/claude-detector.d.ts +15 -1
  99. package/dist/utils/claude-detector.d.ts.map +1 -1
  100. package/dist/utils/claude-detector.js +100 -1
  101. package/dist/utils/claude-detector.js.map +1 -1
  102. package/dist/utils/error-manager.d.ts +1 -1
  103. package/dist/utils/error-manager.d.ts.map +1 -1
  104. package/dist/utils/error-manager.js.map +1 -1
  105. package/dist/utils/websearch/status.d.ts +1 -0
  106. package/dist/utils/websearch/status.d.ts.map +1 -1
  107. package/dist/utils/websearch/status.js +12 -8
  108. package/dist/utils/websearch/status.js.map +1 -1
  109. package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -1
  110. package/dist/web-server/middleware/auth-middleware.js +3 -4
  111. package/dist/web-server/middleware/auth-middleware.js.map +1 -1
  112. package/dist/web-server/routes/channels-routes.d.ts +3 -0
  113. package/dist/web-server/routes/channels-routes.d.ts.map +1 -0
  114. package/dist/web-server/routes/channels-routes.js +164 -0
  115. package/dist/web-server/routes/channels-routes.js.map +1 -0
  116. package/dist/web-server/routes/index.d.ts.map +1 -1
  117. package/dist/web-server/routes/index.js +2 -0
  118. package/dist/web-server/routes/index.js.map +1 -1
  119. package/dist/web-server/routes/settings-routes.js +3 -3
  120. package/dist/web-server/routes/settings-routes.js.map +1 -1
  121. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts +5 -2
  122. package/dist/web-server/usage/cliproxy-usage-syncer.d.ts.map +1 -1
  123. package/dist/web-server/usage/cliproxy-usage-syncer.js +5 -5
  124. package/dist/web-server/usage/cliproxy-usage-syncer.js.map +1 -1
  125. package/package.json +1 -1
  126. package/dist/ui/assets/cliproxy-B4Ndh1vO.js +0 -3
  127. package/dist/ui/assets/icons-BwsSbo2z.js +0 -1
  128. package/dist/ui/assets/index-BIWNdVva.js +0 -47
  129. package/dist/ui/assets/index-Bp4s-Led.css +0 -1
  130. package/dist/ui/assets/index-DgtKMxaq.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"official-channels-runtime.js","sourceRoot":"","sources":["../../src/channels/official-channels-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /// <reference types="node" />
2
+ import type { OfficialChannelId } from '../config/unified-config-types';
3
+ export type OfficialChannelTokenSource = 'saved_env' | 'process_env' | 'missing';
4
+ export interface OfficialChannelTokenStatus {
5
+ available: boolean;
6
+ source: OfficialChannelTokenSource;
7
+ envKey?: string;
8
+ tokenPath?: string;
9
+ savedInClaudeState: boolean;
10
+ processEnvAvailable: boolean;
11
+ }
12
+ export declare function getOfficialChannelEnvPath(channelId: OfficialChannelId, configDir?: string, envOverrides?: NodeJS.ProcessEnv | null): string;
13
+ export declare function normalizeDiscordBotToken(value: string): string | null;
14
+ export declare function readOfficialChannelTokenFromEnvContent(channelId: OfficialChannelId, content: string): string | null;
15
+ export declare function readConfiguredOfficialChannelToken(channelId: OfficialChannelId): string | null;
16
+ export declare function readOfficialChannelTokenFromProcessEnv(channelId: OfficialChannelId, envOverrides?: NodeJS.ProcessEnv | null): string | null;
17
+ export declare function hasConfiguredOfficialChannelToken(channelId: OfficialChannelId): boolean;
18
+ export declare function getOfficialChannelTokenStatus(channelId: OfficialChannelId, envOverrides?: NodeJS.ProcessEnv | null): OfficialChannelTokenStatus;
19
+ export declare function getOfficialChannelReadiness(channelId: OfficialChannelId): boolean;
20
+ export declare function setConfiguredOfficialChannelToken(channelId: OfficialChannelId, token: string): string;
21
+ export declare function clearConfiguredOfficialChannelToken(channelId: OfficialChannelId): string;
22
+ export declare function clearConfiguredOfficialChannelTokensEverywhere(channelId?: OfficialChannelId): string[];
23
+ //# sourceMappingURL=official-channels-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"official-channels-store.d.ts","sourceRoot":"","sources":["../../src/channels/official-channels-store.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AASxE,MAAM,MAAM,0BAA0B,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;AAEjF,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,0BAA0B,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAcD,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,iBAAiB,EAC5B,SAAS,SAA8B,EACvC,YAAY,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,GACtC,MAAM,CAMR;AAgID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMrE;AAED,wBAAgB,sCAAsC,CACpD,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAgBf;AAED,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAG9F;AAED,wBAAgB,sCAAsC,CACpD,SAAS,EAAE,iBAAiB,EAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,GACtC,MAAM,GAAG,IAAI,CAYf;AAED,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAEvF;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,iBAAiB,EAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,GACtC,0BAA0B,CA4C5B;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAIjF;AAED,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,MAAM,GACZ,MAAM,CAkBR;AAED,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAIxF;AAED,wBAAgB,8CAA8C,CAC5D,SAAS,CAAC,EAAE,iBAAiB,GAC5B,MAAM,EAAE,CAaV"}
@@ -0,0 +1,274 @@
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.clearConfiguredOfficialChannelTokensEverywhere = exports.clearConfiguredOfficialChannelToken = exports.setConfiguredOfficialChannelToken = exports.getOfficialChannelReadiness = exports.getOfficialChannelTokenStatus = exports.hasConfiguredOfficialChannelToken = exports.readOfficialChannelTokenFromProcessEnv = exports.readConfiguredOfficialChannelToken = exports.readOfficialChannelTokenFromEnvContent = exports.normalizeDiscordBotToken = exports.getOfficialChannelEnvPath = void 0;
27
+ const fs = __importStar(require("fs"));
28
+ const path = __importStar(require("path"));
29
+ const config_manager_1 = require("../utils/config-manager");
30
+ const claude_config_path_1 = require("../utils/claude-config-path");
31
+ const official_channels_runtime_1 = require("./official-channels-runtime");
32
+ const MAX_OFFICIAL_CHANNEL_TOKEN_LENGTH = 4096;
33
+ function getResolvedStateDirOverride(channelId, envOverrides) {
34
+ const env = envOverrides === undefined ? process.env : envOverrides;
35
+ const rawStateDir = env?.[(0, official_channels_runtime_1.getOfficialChannelStateDirEnvKey)(channelId)]?.trim();
36
+ return rawStateDir ? path.resolve(rawStateDir) : null;
37
+ }
38
+ function getOfficialChannelEnvPath(channelId, configDir = (0, claude_config_path_1.getDefaultClaudeConfigDir)(), envOverrides) {
39
+ const overrideStateDir = getResolvedStateDirOverride(channelId, envOverrides);
40
+ const stateDir = overrideStateDir ?? path.join(configDir, 'channels', (0, official_channels_runtime_1.getOfficialChannelEnvDir)(channelId));
41
+ return path.join(stateDir, '.env');
42
+ }
43
+ exports.getOfficialChannelEnvPath = getOfficialChannelEnvPath;
44
+ function readFileIfExists(filePath) {
45
+ return fs.existsSync(filePath) ? fs.readFileSync(filePath, 'utf8') : null;
46
+ }
47
+ function parseEnvValue(rawValue) {
48
+ const value = rawValue.trim();
49
+ if ((value.startsWith('"') && value.endsWith('"')) ||
50
+ (value.startsWith("'") && value.endsWith("'"))) {
51
+ return value.slice(1, -1).trim();
52
+ }
53
+ return value;
54
+ }
55
+ function formatEnvValue(value) {
56
+ return /^[A-Za-z0-9._:-]+$/.test(value) ? value : JSON.stringify(value);
57
+ }
58
+ function upsertEnvValue(content, key, value) {
59
+ const lines = content.length > 0 ? content.split(/\r?\n/) : [];
60
+ const nextLines = [];
61
+ let replaced = false;
62
+ for (const line of lines) {
63
+ if (/^\s*$/.test(line) && nextLines.length === 0) {
64
+ continue;
65
+ }
66
+ if (new RegExp(`^\\s*${key}\\s*=`).test(line)) {
67
+ nextLines.push(`${key}=${formatEnvValue(value)}`);
68
+ replaced = true;
69
+ continue;
70
+ }
71
+ nextLines.push(line);
72
+ }
73
+ if (!replaced) {
74
+ if (nextLines.length > 0 && nextLines[nextLines.length - 1] !== '') {
75
+ nextLines.push('');
76
+ }
77
+ nextLines.push(`${key}=${formatEnvValue(value)}`);
78
+ }
79
+ return `${nextLines.join('\n').replace(/\n+$/u, '')}\n`;
80
+ }
81
+ function removeEnvValue(content, key) {
82
+ const nextLines = content
83
+ .split(/\r?\n/)
84
+ .filter((line) => !new RegExp(`^\\s*${key}\\s*=`).test(line));
85
+ while (nextLines.length > 0 && /^\s*$/.test(nextLines[0] ?? '')) {
86
+ nextLines.shift();
87
+ }
88
+ while (nextLines.length > 0 && /^\s*$/.test(nextLines[nextLines.length - 1] ?? '')) {
89
+ nextLines.pop();
90
+ }
91
+ return nextLines.length > 0 ? `${nextLines.join('\n')}\n` : '';
92
+ }
93
+ function writeSecureFile(filePath, content) {
94
+ fs.mkdirSync(path.dirname(filePath), { recursive: true, mode: 0o700 });
95
+ const tempPath = `${filePath}.tmp`;
96
+ fs.writeFileSync(tempPath, content, { encoding: 'utf8', mode: 0o600 });
97
+ fs.renameSync(tempPath, filePath);
98
+ fs.chmodSync(filePath, 0o600);
99
+ }
100
+ function clearOfficialChannelTokenAtPath(channelId, filePath) {
101
+ const envKey = (0, official_channels_runtime_1.getOfficialChannelEnvKey)(channelId);
102
+ if (!envKey) {
103
+ return false;
104
+ }
105
+ const currentContent = readFileIfExists(filePath);
106
+ if (currentContent === null) {
107
+ return false;
108
+ }
109
+ const nextContent = removeEnvValue(currentContent, envKey);
110
+ if (nextContent.length === 0) {
111
+ fs.rmSync(filePath, { force: true });
112
+ return true;
113
+ }
114
+ writeSecureFile(filePath, nextContent);
115
+ return true;
116
+ }
117
+ function listManagedClaudeConfigDirs() {
118
+ const dirs = new Set([(0, claude_config_path_1.getDefaultClaudeConfigDir)()]);
119
+ const processConfigDir = process.env.CLAUDE_CONFIG_DIR?.trim();
120
+ if (processConfigDir) {
121
+ dirs.add(path.resolve(processConfigDir));
122
+ }
123
+ const instancesDir = path.join((0, config_manager_1.getCcsDir)(), 'instances');
124
+ if (!fs.existsSync(instancesDir)) {
125
+ return [...dirs];
126
+ }
127
+ for (const entry of fs.readdirSync(instancesDir, { withFileTypes: true })) {
128
+ if (entry.isDirectory()) {
129
+ dirs.add(path.join(instancesDir, entry.name));
130
+ }
131
+ }
132
+ return [...dirs];
133
+ }
134
+ function listManagedOfficialChannelEnvPaths(channelId) {
135
+ const envPaths = new Set([
136
+ getOfficialChannelEnvPath(channelId, (0, claude_config_path_1.getDefaultClaudeConfigDir)(), null),
137
+ getOfficialChannelEnvPath(channelId),
138
+ ]);
139
+ for (const configDir of listManagedClaudeConfigDirs()) {
140
+ envPaths.add(getOfficialChannelEnvPath(channelId, configDir, null));
141
+ }
142
+ return [...envPaths];
143
+ }
144
+ function normalizeDiscordBotToken(value) {
145
+ const normalized = value.trim();
146
+ if (!normalized || /[\r\n]/.test(normalized)) {
147
+ return null;
148
+ }
149
+ return normalized;
150
+ }
151
+ exports.normalizeDiscordBotToken = normalizeDiscordBotToken;
152
+ function readOfficialChannelTokenFromEnvContent(channelId, content) {
153
+ const envKey = (0, official_channels_runtime_1.getOfficialChannelEnvKey)(channelId);
154
+ if (!envKey) {
155
+ return null;
156
+ }
157
+ for (const line of content.split(/\r?\n/)) {
158
+ const match = line.match(new RegExp(`^\\s*${envKey}\\s*=\\s*(.*)\\s*$`));
159
+ if (!match) {
160
+ continue;
161
+ }
162
+ const parsed = parseEnvValue(match[1] ?? '');
163
+ return parsed.length > 0 ? parsed : null;
164
+ }
165
+ return null;
166
+ }
167
+ exports.readOfficialChannelTokenFromEnvContent = readOfficialChannelTokenFromEnvContent;
168
+ function readConfiguredOfficialChannelToken(channelId) {
169
+ const content = readFileIfExists(getOfficialChannelEnvPath(channelId));
170
+ return content ? readOfficialChannelTokenFromEnvContent(channelId, content) : null;
171
+ }
172
+ exports.readConfiguredOfficialChannelToken = readConfiguredOfficialChannelToken;
173
+ function readOfficialChannelTokenFromProcessEnv(channelId, envOverrides) {
174
+ const envKey = (0, official_channels_runtime_1.getOfficialChannelEnvKey)(channelId);
175
+ if (!envKey) {
176
+ return null;
177
+ }
178
+ const rawValue = (envOverrides === undefined ? process.env : envOverrides)?.[envKey];
179
+ if (typeof rawValue !== 'string') {
180
+ return null;
181
+ }
182
+ return normalizeDiscordBotToken(rawValue);
183
+ }
184
+ exports.readOfficialChannelTokenFromProcessEnv = readOfficialChannelTokenFromProcessEnv;
185
+ function hasConfiguredOfficialChannelToken(channelId) {
186
+ return readConfiguredOfficialChannelToken(channelId) !== null;
187
+ }
188
+ exports.hasConfiguredOfficialChannelToken = hasConfiguredOfficialChannelToken;
189
+ function getOfficialChannelTokenStatus(channelId, envOverrides) {
190
+ const envKey = (0, official_channels_runtime_1.getOfficialChannelEnvKey)(channelId);
191
+ if (!envKey) {
192
+ return {
193
+ available: true,
194
+ source: 'saved_env',
195
+ savedInClaudeState: true,
196
+ processEnvAvailable: false,
197
+ };
198
+ }
199
+ const processEnvToken = readOfficialChannelTokenFromProcessEnv(channelId, envOverrides);
200
+ const tokenPath = getOfficialChannelEnvPath(channelId);
201
+ const savedToken = readConfiguredOfficialChannelToken(channelId);
202
+ if (savedToken !== null) {
203
+ return {
204
+ available: true,
205
+ source: 'saved_env',
206
+ envKey,
207
+ tokenPath,
208
+ savedInClaudeState: true,
209
+ processEnvAvailable: processEnvToken !== null,
210
+ };
211
+ }
212
+ if (processEnvToken !== null) {
213
+ return {
214
+ available: true,
215
+ source: 'process_env',
216
+ envKey,
217
+ savedInClaudeState: false,
218
+ processEnvAvailable: true,
219
+ };
220
+ }
221
+ return {
222
+ available: false,
223
+ source: 'missing',
224
+ envKey,
225
+ tokenPath,
226
+ savedInClaudeState: false,
227
+ processEnvAvailable: false,
228
+ };
229
+ }
230
+ exports.getOfficialChannelTokenStatus = getOfficialChannelTokenStatus;
231
+ function getOfficialChannelReadiness(channelId) {
232
+ return (0, official_channels_runtime_1.isOfficialChannelTokenRequired)(channelId)
233
+ ? getOfficialChannelTokenStatus(channelId).available
234
+ : true;
235
+ }
236
+ exports.getOfficialChannelReadiness = getOfficialChannelReadiness;
237
+ function setConfiguredOfficialChannelToken(channelId, token) {
238
+ const envKey = (0, official_channels_runtime_1.getOfficialChannelEnvKey)(channelId);
239
+ if (!envKey) {
240
+ throw new Error(`${channelId} does not use a bot token.`);
241
+ }
242
+ const normalized = normalizeDiscordBotToken(token);
243
+ if (!normalized) {
244
+ throw new Error(`${envKey} cannot be empty or multiline.`);
245
+ }
246
+ if (normalized.length > MAX_OFFICIAL_CHANNEL_TOKEN_LENGTH) {
247
+ throw new Error(`${envKey} cannot exceed ${MAX_OFFICIAL_CHANNEL_TOKEN_LENGTH} characters.`);
248
+ }
249
+ const envPath = getOfficialChannelEnvPath(channelId);
250
+ const currentContent = readFileIfExists(envPath) ?? '';
251
+ writeSecureFile(envPath, upsertEnvValue(currentContent, envKey, normalized));
252
+ return envPath;
253
+ }
254
+ exports.setConfiguredOfficialChannelToken = setConfiguredOfficialChannelToken;
255
+ function clearConfiguredOfficialChannelToken(channelId) {
256
+ const envPath = getOfficialChannelEnvPath(channelId);
257
+ clearOfficialChannelTokenAtPath(channelId, envPath);
258
+ return envPath;
259
+ }
260
+ exports.clearConfiguredOfficialChannelToken = clearConfiguredOfficialChannelToken;
261
+ function clearConfiguredOfficialChannelTokensEverywhere(channelId) {
262
+ const clearedPaths = [];
263
+ const channels = channelId ? [channelId] : (0, official_channels_runtime_1.getOfficialChannelTokenIds)();
264
+ for (const tokenChannelId of channels) {
265
+ for (const envPath of listManagedOfficialChannelEnvPaths(tokenChannelId)) {
266
+ if (clearOfficialChannelTokenAtPath(tokenChannelId, envPath)) {
267
+ clearedPaths.push(envPath);
268
+ }
269
+ }
270
+ }
271
+ return clearedPaths;
272
+ }
273
+ exports.clearConfiguredOfficialChannelTokensEverywhere = clearConfiguredOfficialChannelTokensEverywhere;
274
+ //# sourceMappingURL=official-channels-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"official-channels-store.js","sourceRoot":"","sources":["../../src/channels/official-channels-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/accounts/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAA2B,MAAM,SAAS,CAAC;AAoGjF;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAEvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAIrE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAsC9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CAkFb;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAWxF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAqBnF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAqBpF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAsBpF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAwBT;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOhF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GACzC,OAAO,CAWT;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CA0G/C"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/cliproxy/accounts/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAA2B,MAAM,SAAS,CAAC;AAyTjF;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAEvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAIrE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAsC9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CAkFb;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAWxF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAqBnF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAqBpF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAsBpF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAwBT;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOhF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GACzC,OAAO,CAWT;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAQ/C"}
@@ -42,6 +42,159 @@ function createDefaultRegistry() {
42
42
  providers: {},
43
43
  };
44
44
  }
45
+ function ensureProviderRegistry(registry, provider) {
46
+ if (!registry.providers[provider]) {
47
+ registry.providers[provider] = {
48
+ default: 'default',
49
+ accounts: {},
50
+ };
51
+ }
52
+ return registry.providers[provider];
53
+ }
54
+ function resolveProviderFromTokenType(typeValue) {
55
+ for (const [provider, typeValues] of Object.entries(auth_types_1.PROVIDER_TYPE_VALUES)) {
56
+ if (typeValues.includes(typeValue)) {
57
+ return provider;
58
+ }
59
+ }
60
+ return undefined;
61
+ }
62
+ const EMAIL_FILE_NAME_PATTERN = /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/i;
63
+ function inferEmailFromTokenFileName(tokenFile, provider) {
64
+ const baseName = tokenFile.replace(/\.json$/i, '');
65
+ const providerPrefix = `${provider}-`;
66
+ const candidate = baseName.startsWith(providerPrefix)
67
+ ? baseName.slice(providerPrefix.length)
68
+ : baseName;
69
+ if (types_1.PROVIDERS_WITHOUT_EMAIL.includes(provider)) {
70
+ const scopedCandidate = candidate.slice(candidate.indexOf('-') + 1);
71
+ if (scopedCandidate &&
72
+ scopedCandidate !== candidate &&
73
+ EMAIL_FILE_NAME_PATTERN.test(scopedCandidate)) {
74
+ return scopedCandidate;
75
+ }
76
+ }
77
+ return EMAIL_FILE_NAME_PATTERN.test(candidate) ? candidate : undefined;
78
+ }
79
+ function describeRegistryPopulationIssue(issue) {
80
+ const sourceDir = issue.paused ? 'auth-paused' : 'auth';
81
+ return `${sourceDir}/${issue.tokenFile} (${issue.reason})`;
82
+ }
83
+ function getRegistryPopulationIssueReason(error) {
84
+ if (error instanceof SyntaxError) {
85
+ return 'invalid JSON';
86
+ }
87
+ if (error instanceof Error && error.message.trim()) {
88
+ return error.message.trim();
89
+ }
90
+ return 'unreadable token file';
91
+ }
92
+ function populateRegistryFromTokenFiles(registry, options = {}) {
93
+ const issues = [];
94
+ for (const token of (0, token_file_ops_1.listRecoverableTokenFiles)(options)) {
95
+ try {
96
+ const content = fs.readFileSync(token.filePath, 'utf-8');
97
+ const data = JSON.parse(content);
98
+ if (typeof data.type !== 'string' || !data.type.trim()) {
99
+ issues.push({
100
+ tokenFile: token.tokenFile,
101
+ paused: token.paused,
102
+ reason: 'invalid token type',
103
+ });
104
+ continue;
105
+ }
106
+ const provider = resolveProviderFromTokenType(data.type.toLowerCase());
107
+ if (!provider) {
108
+ continue;
109
+ }
110
+ const providerAccounts = ensureProviderRegistry(registry, provider);
111
+ const projectId = typeof data.project_id === 'string' && data.project_id.trim()
112
+ ? data.project_id.trim()
113
+ : null;
114
+ const email = typeof data.email === 'string' && data.email.trim()
115
+ ? data.email.trim()
116
+ : inferEmailFromTokenFileName(token.tokenFile, provider);
117
+ const existingEntry = Object.entries(providerAccounts.accounts).find(([, account]) => account.tokenFile === token.tokenFile);
118
+ if (existingEntry) {
119
+ existingEntry[1].paused = token.paused || undefined;
120
+ if (!token.paused) {
121
+ existingEntry[1].pausedAt = undefined;
122
+ }
123
+ if (provider === 'agy' && projectId) {
124
+ existingEntry[1].projectId = projectId;
125
+ }
126
+ continue;
127
+ }
128
+ const accountId = types_1.PROVIDERS_WITHOUT_EMAIL.includes(provider) && !email
129
+ ? (0, token_file_ops_1.deriveNoEmailProviderAccountId)(provider, token.tokenFile, providerAccounts.accounts)
130
+ : (0, token_file_ops_1.extractAccountIdFromTokenFile)(token.tokenFile, email);
131
+ if (providerAccounts.accounts[accountId]) {
132
+ continue;
133
+ }
134
+ if (Object.keys(providerAccounts.accounts).length === 0) {
135
+ providerAccounts.default = accountId;
136
+ }
137
+ const stats = fs.statSync(token.filePath);
138
+ const accountMeta = {
139
+ email,
140
+ nickname: email ? (0, token_file_ops_1.generateNickname)(email) : accountId,
141
+ tokenFile: token.tokenFile,
142
+ createdAt: stats.birthtime?.toISOString() || new Date().toISOString(),
143
+ lastUsedAt: (stats.mtime || stats.birthtime || new Date()).toISOString(),
144
+ };
145
+ if (token.paused) {
146
+ accountMeta.paused = true;
147
+ }
148
+ if (provider === 'agy' && projectId) {
149
+ accountMeta.projectId = projectId;
150
+ }
151
+ providerAccounts.accounts[accountId] = accountMeta;
152
+ }
153
+ catch (error) {
154
+ issues.push({
155
+ tokenFile: token.tokenFile,
156
+ paused: token.paused,
157
+ reason: getRegistryPopulationIssueReason(error),
158
+ });
159
+ continue;
160
+ }
161
+ }
162
+ return issues;
163
+ }
164
+ function getCorruptedRegistryBackupPath(registryPath) {
165
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
166
+ const backupBasePath = `${registryPath}.corrupt-${timestamp}`;
167
+ let backupPath = `${backupBasePath}.bak`;
168
+ let suffix = 1;
169
+ while (fs.existsSync(backupPath)) {
170
+ backupPath = `${backupBasePath}-${suffix}.bak`;
171
+ suffix++;
172
+ }
173
+ return backupPath;
174
+ }
175
+ function backupCorruptedAccountsRegistry(registryPath) {
176
+ if (!fs.existsSync(registryPath)) {
177
+ return null;
178
+ }
179
+ const backupPath = getCorruptedRegistryBackupPath(registryPath);
180
+ fs.renameSync(registryPath, backupPath);
181
+ return backupPath;
182
+ }
183
+ function recoverAccountsRegistryFromCorruption(registryPath) {
184
+ const backupPath = backupCorruptedAccountsRegistry(registryPath);
185
+ const recovered = createDefaultRegistry();
186
+ const issues = populateRegistryFromTokenFiles(recovered, { includePaused: true });
187
+ writeAccountsRegistryToDisk(recovered);
188
+ if (issues.length > 0) {
189
+ console.error(`[!] Recovered corrupted account registry${backupPath ? `; backup saved to ${backupPath}` : ''}, but skipped ${issues.length} token file(s): ${issues
190
+ .map(describeRegistryPopulationIssue)
191
+ .join(', ')}`);
192
+ }
193
+ else if (backupPath) {
194
+ console.error(`[i] Recovered corrupted account registry; backup saved to ${backupPath}`);
195
+ }
196
+ return recovered;
197
+ }
45
198
  function withAccountsRegistryLock(callback) {
46
199
  const lockTarget = (0, config_generator_1.getCliproxyDir)();
47
200
  let release;
@@ -73,11 +226,11 @@ function readAccountsRegistryFromDisk() {
73
226
  try {
74
227
  data = JSON.parse(content);
75
228
  }
76
- catch (error) {
77
- throw new Error(`Accounts registry is corrupted: ${error.message}`);
229
+ catch {
230
+ return recoverAccountsRegistryFromCorruption(registryPath);
78
231
  }
79
- if (!data || typeof data !== 'object') {
80
- throw new Error('Accounts registry is corrupted: expected object');
232
+ if (!data || typeof data !== 'object' || Array.isArray(data)) {
233
+ return recoverAccountsRegistryFromCorruption(registryPath);
81
234
  }
82
235
  const parsed = data;
83
236
  return {
@@ -114,7 +267,7 @@ function mutateAccountsRegistry(mutator) {
114
267
  * Load accounts registry
115
268
  */
116
269
  function loadAccountsRegistry() {
117
- return readAccountsRegistryFromDisk();
270
+ return withAccountsRegistryLock(() => readAccountsRegistryFromDisk());
118
271
  }
119
272
  exports.loadAccountsRegistry = loadAccountsRegistry;
120
273
  /**
@@ -390,92 +543,12 @@ exports.setAccountTier = setAccountTier;
390
543
  * 2. Fallback: provider + index (e.g., kiro-1, kiro-2)
391
544
  */
392
545
  function discoverExistingAccounts() {
393
- const authDir = (0, config_generator_1.getAuthDir)();
394
- if (!fs.existsSync(authDir)) {
546
+ if (!fs.existsSync((0, config_generator_1.getAuthDir)())) {
395
547
  return;
396
548
  }
397
- const files = fs.readdirSync(authDir);
398
549
  mutateAccountsRegistry((registry) => {
399
550
  syncRegistryWithTokenFiles(registry);
400
- for (const file of files) {
401
- if (!file.endsWith('.json'))
402
- continue;
403
- const filePath = path.join(authDir, file);
404
- try {
405
- const content = fs.readFileSync(filePath, 'utf-8');
406
- const data = JSON.parse(content);
407
- if (!data.type)
408
- continue;
409
- const typeValue = data.type.toLowerCase();
410
- let provider;
411
- for (const [prov, typeValues] of Object.entries(auth_types_1.PROVIDER_TYPE_VALUES)) {
412
- if (typeValues.includes(typeValue)) {
413
- provider = prov;
414
- break;
415
- }
416
- }
417
- if (!provider) {
418
- continue;
419
- }
420
- let email = data.email || undefined;
421
- if (!email && file.includes('@')) {
422
- const match = file.match(/([^-]+@[^.]+\.[^.]+)(?=\.json$)/);
423
- if (match) {
424
- email = match[1];
425
- }
426
- }
427
- if (!registry.providers[provider]) {
428
- registry.providers[provider] = {
429
- default: 'default',
430
- accounts: {},
431
- };
432
- }
433
- const providerAccounts = registry.providers[provider];
434
- if (!providerAccounts)
435
- continue;
436
- const existingTokenFiles = Object.values(providerAccounts.accounts).map((a) => a.tokenFile);
437
- if (existingTokenFiles.includes(file)) {
438
- const projectIdValue = typeof data.project_id === 'string' && data.project_id.trim()
439
- ? data.project_id.trim()
440
- : null;
441
- if (provider === 'agy' && projectIdValue) {
442
- const existingEntry = Object.entries(providerAccounts.accounts).find(([, meta]) => meta.tokenFile === file);
443
- if (existingEntry && existingEntry[1].projectId !== projectIdValue) {
444
- existingEntry[1].projectId = projectIdValue;
445
- }
446
- }
447
- continue;
448
- }
449
- const accountId = types_1.PROVIDERS_WITHOUT_EMAIL.includes(provider) && !email
450
- ? (0, token_file_ops_1.deriveNoEmailProviderAccountId)(provider, file, providerAccounts.accounts)
451
- : (0, token_file_ops_1.extractAccountIdFromTokenFile)(file, email);
452
- if (providerAccounts.accounts[accountId]) {
453
- continue;
454
- }
455
- if (Object.keys(providerAccounts.accounts).length === 0) {
456
- providerAccounts.default = accountId;
457
- }
458
- const stats = fs.statSync(filePath);
459
- const lastModified = stats.mtime || stats.birthtime || new Date();
460
- const accountMeta = {
461
- email,
462
- nickname: email ? (0, token_file_ops_1.generateNickname)(email) : accountId,
463
- tokenFile: file,
464
- createdAt: stats.birthtime?.toISOString() || new Date().toISOString(),
465
- lastUsedAt: lastModified.toISOString(),
466
- };
467
- const discoveredProjectId = typeof data.project_id === 'string' && data.project_id.trim()
468
- ? data.project_id.trim()
469
- : null;
470
- if (provider === 'agy' && discoveredProjectId) {
471
- accountMeta.projectId = discoveredProjectId;
472
- }
473
- providerAccounts.accounts[accountId] = accountMeta;
474
- }
475
- catch {
476
- continue;
477
- }
478
- }
551
+ populateRegistryFromTokenFiles(registry);
479
552
  });
480
553
  }
481
554
  exports.discoverExistingAccounts = discoverExistingAccounts;