@wengine-ai/claude-code-router 2.0.53 → 2.0.54

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 (58) hide show
  1. package/package.json +5 -4
  2. package/LICENSE +0 -21
  3. package/dist/cli.d.ts +0 -2
  4. package/dist/cli.js +0 -1193
  5. package/dist/cli.js.map +0 -1
  6. package/dist/index.html +0 -225
  7. package/dist/tiktoken_bg.wasm +0 -0
  8. package/dist/utils/activateCommand.d.ts +0 -4
  9. package/dist/utils/activateCommand.js +0 -24
  10. package/dist/utils/activateCommand.js.map +0 -1
  11. package/dist/utils/claudeSettings.d.ts +0 -12
  12. package/dist/utils/claudeSettings.js +0 -188
  13. package/dist/utils/claudeSettings.js.map +0 -1
  14. package/dist/utils/codeCommand.d.ts +0 -13
  15. package/dist/utils/codeCommand.js +0 -88
  16. package/dist/utils/codeCommand.js.map +0 -1
  17. package/dist/utils/createEnvVariables.d.ts +0 -5
  18. package/dist/utils/createEnvVariables.js +0 -83
  19. package/dist/utils/createEnvVariables.js.map +0 -1
  20. package/dist/utils/index.d.ts +0 -15
  21. package/dist/utils/index.js +0 -271
  22. package/dist/utils/index.js.map +0 -1
  23. package/dist/utils/installCommand.d.ts +0 -9
  24. package/dist/utils/installCommand.js +0 -47
  25. package/dist/utils/installCommand.js.map +0 -1
  26. package/dist/utils/modelSelector.d.ts +0 -1
  27. package/dist/utils/modelSelector.js +0 -402
  28. package/dist/utils/modelSelector.js.map +0 -1
  29. package/dist/utils/preset/commands.d.ts +0 -8
  30. package/dist/utils/preset/commands.js +0 -267
  31. package/dist/utils/preset/commands.js.map +0 -1
  32. package/dist/utils/preset/export.d.ts +0 -11
  33. package/dist/utils/preset/export.js +0 -97
  34. package/dist/utils/preset/export.js.map +0 -1
  35. package/dist/utils/preset/index.d.ts +0 -8
  36. package/dist/utils/preset/index.js +0 -32
  37. package/dist/utils/preset/index.js.map +0 -1
  38. package/dist/utils/preset/install-github.d.ts +0 -13
  39. package/dist/utils/preset/install-github.js +0 -161
  40. package/dist/utils/preset/install-github.js.map +0 -1
  41. package/dist/utils/preset/install.d.ts +0 -19
  42. package/dist/utils/preset/install.js +0 -239
  43. package/dist/utils/preset/install.js.map +0 -1
  44. package/dist/utils/processCheck.d.ts +0 -17
  45. package/dist/utils/processCheck.js +0 -161
  46. package/dist/utils/processCheck.js.map +0 -1
  47. package/dist/utils/prompt/schema-input.d.ts +0 -26
  48. package/dist/utils/prompt/schema-input.js +0 -183
  49. package/dist/utils/prompt/schema-input.js.map +0 -1
  50. package/dist/utils/status.d.ts +0 -1
  51. package/dist/utils/status.js +0 -28
  52. package/dist/utils/status.js.map +0 -1
  53. package/dist/utils/statusline.d.ts +0 -61
  54. package/dist/utils/statusline.js +0 -924
  55. package/dist/utils/statusline.js.map +0 -1
  56. package/dist/utils/update.d.ts +0 -18
  57. package/dist/utils/update.js +0 -74
  58. package/dist/utils/update.js.map +0 -1
@@ -1,271 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getSettingsPath = exports.restartService = exports.run = exports.initConfig = exports.writeConfigFile = exports.backupConfigFile = exports.readConfigFile = exports.initDir = void 0;
7
- const promises_1 = __importDefault(require("node:fs/promises"));
8
- const node_readline_1 = __importDefault(require("node:readline"));
9
- const json5_1 = __importDefault(require("json5"));
10
- const node_path_1 = __importDefault(require("node:path"));
11
- const node_crypto_1 = require("node:crypto");
12
- const node_os_1 = __importDefault(require("node:os"));
13
- const claude_code_router_shared_1 = require("@wengine-ai/claude-code-router-shared");
14
- const claude_code_router_server_1 = require("@wengine-ai/claude-code-router-server");
15
- const fs_1 = require("fs");
16
- const update_1 = require("./update");
17
- const package_json_1 = require("../../package.json");
18
- const child_process_1 = require("child_process");
19
- const processCheck_1 = require("./processCheck");
20
- // Function to interpolate environment variables in config values
21
- const interpolateEnvVars = (obj) => {
22
- if (typeof obj === "string") {
23
- // Replace $VAR_NAME or ${VAR_NAME} with environment variable values
24
- return obj.replace(/\$\{([^}]+)\}|\$([A-Z_][A-Z0-9_]*)/g, (match, braced, unbraced) => {
25
- const varName = braced || unbraced;
26
- return process.env[varName] || match; // Keep original if env var doesn't exist
27
- });
28
- }
29
- else if (Array.isArray(obj)) {
30
- return obj.map(interpolateEnvVars);
31
- }
32
- else if (obj !== null && typeof obj === "object") {
33
- const result = {};
34
- for (const [key, value] of Object.entries(obj)) {
35
- result[key] = interpolateEnvVars(value);
36
- }
37
- return result;
38
- }
39
- return obj;
40
- };
41
- const ensureDir = async (dir_path) => {
42
- try {
43
- await promises_1.default.access(dir_path);
44
- }
45
- catch {
46
- await promises_1.default.mkdir(dir_path, { recursive: true });
47
- }
48
- };
49
- const initDir = async () => {
50
- await ensureDir(claude_code_router_shared_1.HOME_DIR);
51
- await ensureDir(claude_code_router_shared_1.PLUGINS_DIR);
52
- await ensureDir(claude_code_router_shared_1.PRESETS_DIR);
53
- await ensureDir(node_path_1.default.join(claude_code_router_shared_1.HOME_DIR, "logs"));
54
- };
55
- exports.initDir = initDir;
56
- const createReadline = () => {
57
- return node_readline_1.default.createInterface({
58
- input: process.stdin,
59
- output: process.stdout,
60
- });
61
- };
62
- const question = (query) => {
63
- return new Promise((resolve) => {
64
- const rl = createReadline();
65
- rl.question(query, (answer) => {
66
- rl.close();
67
- resolve(answer);
68
- });
69
- });
70
- };
71
- const confirm = async (query) => {
72
- const answer = await question(query);
73
- return answer.toLowerCase() !== "n";
74
- };
75
- const readConfigFile = async () => {
76
- try {
77
- const config = await promises_1.default.readFile(claude_code_router_shared_1.CONFIG_FILE, "utf-8");
78
- try {
79
- // Try to parse with JSON5 first (which also supports standard JSON)
80
- const parsedConfig = json5_1.default.parse(config);
81
- // Interpolate environment variables in the parsed config
82
- return interpolateEnvVars(parsedConfig);
83
- }
84
- catch (parseError) {
85
- console.error(`Failed to parse config file at ${claude_code_router_shared_1.CONFIG_FILE}`);
86
- console.error("Error details:", parseError.message);
87
- console.error("Please check your config file syntax.");
88
- process.exit(1);
89
- }
90
- }
91
- catch (readError) {
92
- if (readError.code === "ENOENT") {
93
- // Config file doesn't exist, prompt user for initial setup
94
- try {
95
- // Initialize directories
96
- await (0, exports.initDir)();
97
- // Backup existing config file if it exists
98
- const backupPath = await (0, exports.backupConfigFile)();
99
- if (backupPath) {
100
- console.log(`Backed up existing configuration file to ${backupPath}`);
101
- }
102
- const config = {
103
- PORT: 3456,
104
- Providers: [],
105
- Router: {},
106
- };
107
- // Create a minimal default config file
108
- await (0, exports.writeConfigFile)(config);
109
- console.log("Created minimal default configuration file at ~/.claude-code-router/config.json");
110
- console.log("Please edit this file with your actual configuration.");
111
- return config;
112
- }
113
- catch (error) {
114
- console.error("Failed to create default configuration:", error.message);
115
- process.exit(1);
116
- }
117
- }
118
- else {
119
- console.error(`Failed to read config file at ${claude_code_router_shared_1.CONFIG_FILE}`);
120
- console.error("Error details:", readError.message);
121
- process.exit(1);
122
- }
123
- }
124
- };
125
- exports.readConfigFile = readConfigFile;
126
- const backupConfigFile = async () => {
127
- try {
128
- if (await promises_1.default.access(claude_code_router_shared_1.CONFIG_FILE).then(() => true).catch(() => false)) {
129
- const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
130
- const backupPath = `${claude_code_router_shared_1.CONFIG_FILE}.${timestamp}.bak`;
131
- await promises_1.default.copyFile(claude_code_router_shared_1.CONFIG_FILE, backupPath);
132
- // Clean up old backups, keeping only the 3 most recent
133
- try {
134
- const configDir = node_path_1.default.dirname(claude_code_router_shared_1.CONFIG_FILE);
135
- const configFileName = node_path_1.default.basename(claude_code_router_shared_1.CONFIG_FILE);
136
- const files = await promises_1.default.readdir(configDir);
137
- // Find all backup files for this config
138
- const backupFiles = files
139
- .filter(file => file.startsWith(configFileName) && file.endsWith('.bak'))
140
- .sort()
141
- .reverse(); // Sort in descending order (newest first)
142
- // Delete all but the 3 most recent backups
143
- if (backupFiles.length > 3) {
144
- for (let i = 3; i < backupFiles.length; i++) {
145
- const oldBackupPath = node_path_1.default.join(configDir, backupFiles[i]);
146
- await promises_1.default.unlink(oldBackupPath);
147
- }
148
- }
149
- }
150
- catch (cleanupError) {
151
- console.warn("Failed to clean up old backups:", cleanupError);
152
- }
153
- return backupPath;
154
- }
155
- }
156
- catch (error) {
157
- console.error("Failed to backup config file:", error);
158
- }
159
- return null;
160
- };
161
- exports.backupConfigFile = backupConfigFile;
162
- const writeConfigFile = async (config) => {
163
- await ensureDir(claude_code_router_shared_1.HOME_DIR);
164
- const configWithComment = `${JSON.stringify(config, null, 2)}`;
165
- await promises_1.default.writeFile(claude_code_router_shared_1.CONFIG_FILE, configWithComment);
166
- };
167
- exports.writeConfigFile = writeConfigFile;
168
- const initConfig = async () => {
169
- const config = await (0, exports.readConfigFile)();
170
- Object.assign(process.env, config);
171
- return config;
172
- };
173
- exports.initConfig = initConfig;
174
- const run = async (args = []) => {
175
- const isRunning = (0, processCheck_1.isServiceRunning)();
176
- if (isRunning) {
177
- console.log('claude-code-router server is running');
178
- return;
179
- }
180
- const server = await (0, claude_code_router_server_1.getServer)();
181
- const app = server.app;
182
- // Save the PID of the background process
183
- (0, fs_1.writeFileSync)(claude_code_router_shared_1.PID_FILE, process.pid.toString());
184
- app.post('/api/update/perform', async () => {
185
- return await (0, update_1.performUpdate)();
186
- });
187
- app.get('/api/update/check', async () => {
188
- return await (0, update_1.checkForUpdates)(package_json_1.version);
189
- });
190
- app.post("/api/restart", async () => {
191
- setTimeout(async () => {
192
- (0, child_process_1.spawn)("ccr", ["restart"], {
193
- detached: true,
194
- stdio: "ignore",
195
- }).unref();
196
- }, 100);
197
- return { success: true, message: "Service restart initiated" };
198
- });
199
- // await server.start() to ensure it starts successfully and keep process alive
200
- await server.start();
201
- };
202
- exports.run = run;
203
- const restartService = async () => {
204
- // Stop the service if it's running
205
- try {
206
- const pid = parseInt((0, fs_1.readFileSync)(claude_code_router_shared_1.PID_FILE, "utf-8"));
207
- process.kill(pid);
208
- (0, processCheck_1.cleanupPidFile)();
209
- if ((0, fs_1.existsSync)(claude_code_router_shared_1.REFERENCE_COUNT_FILE)) {
210
- try {
211
- await promises_1.default.unlink(claude_code_router_shared_1.REFERENCE_COUNT_FILE);
212
- }
213
- catch (e) {
214
- // Ignore cleanup errors
215
- }
216
- }
217
- console.log("claude code router service has been stopped.");
218
- }
219
- catch (e) {
220
- console.log("Service was not running or failed to stop.");
221
- (0, processCheck_1.cleanupPidFile)();
222
- }
223
- // Start the service again in the background
224
- console.log("Starting claude code router service...");
225
- const cliPath = node_path_1.default.join(__dirname, "cli.js");
226
- const startProcess = (0, child_process_1.spawn)("node", [cliPath, "start"], {
227
- detached: true,
228
- stdio: "ignore",
229
- });
230
- startProcess.on("error", (error) => {
231
- console.error("Failed to start service:", error);
232
- throw error;
233
- });
234
- startProcess.unref();
235
- console.log("✅ Service started successfully in the background.");
236
- };
237
- exports.restartService = restartService;
238
- /**
239
- * Get a temporary path for the settings file
240
- * Hash the content and return the file path if it already exists in temp directory,
241
- * otherwise create a new file with the content
242
- * @param content Settings content string
243
- * @returns Full path to the temporary file
244
- */
245
- const getSettingsPath = async (content) => {
246
- // Hash the content using SHA256 algorithm
247
- const hash = (0, node_crypto_1.createHash)('sha256').update(content, 'utf-8').digest('hex');
248
- // Create claude-code-router directory in system temp folder
249
- const tempDir = node_path_1.default.join(node_os_1.default.tmpdir(), 'claude-code-router');
250
- const fileName = `ccr-settings-${hash}.json`;
251
- const tempFilePath = node_path_1.default.join(tempDir, fileName);
252
- // Ensure the directory exists
253
- try {
254
- await promises_1.default.access(tempDir);
255
- }
256
- catch {
257
- await promises_1.default.mkdir(tempDir, { recursive: true });
258
- }
259
- // Check if the file already exists
260
- try {
261
- await promises_1.default.access(tempFilePath);
262
- return tempFilePath;
263
- }
264
- catch {
265
- // File doesn't exist, create and write content
266
- await promises_1.default.writeFile(tempFilePath, content, 'utf-8');
267
- return tempFilePath;
268
- }
269
- };
270
- exports.getSettingsPath = getSettingsPath;
271
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Install preset from GitHub marketplace
3
- * ccr install {presetname}
4
- */
5
- /**
6
- * Install preset from marketplace by preset name
7
- * @param presetName Preset name (must exist in marketplace)
8
- */
9
- export declare function handleInstallCommand(presetName: string): Promise<void>;
@@ -1,47 +0,0 @@
1
- "use strict";
2
- /**
3
- * Install preset from GitHub marketplace
4
- * ccr install {presetname}
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.handleInstallCommand = handleInstallCommand;
8
- const install_github_1 = require("./preset/install-github");
9
- const install_1 = require("./preset/install");
10
- // ANSI color codes
11
- const RESET = "\x1B[0m";
12
- const GREEN = "\x1B[32m";
13
- const YELLOW = "\x1B[33m";
14
- const BOLDGREEN = "\x1B[1m\x1B[32m";
15
- const BOLDYELLOW = "\x1B[1m\x1B[33m";
16
- const BOLDCYAN = "\x1B[1m\x1B[36m";
17
- const DIM = "\x1B[2m";
18
- /**
19
- * Install preset from marketplace by preset name
20
- * @param presetName Preset name (must exist in marketplace)
21
- */
22
- async function handleInstallCommand(presetName) {
23
- try {
24
- if (!presetName) {
25
- console.error(`\n${BOLDYELLOW}Error:${RESET} Preset name is required\n`);
26
- console.error('Usage: ccr install <preset-name>\n');
27
- console.error('Examples:');
28
- console.error(' ccr install my-preset');
29
- console.error(' ccr install awesome-preset\n');
30
- console.error(`${DIM}Note: Preset must exist in the official marketplace.${RESET}\n`);
31
- process.exit(1);
32
- }
33
- console.log(`${BOLDCYAN}Installing preset:${RESET} ${presetName}\n`);
34
- // Install preset (download and extract)
35
- const { name: installedName, preset } = await (0, install_github_1.installPresetFromMarket)(presetName);
36
- if (installedName && preset) {
37
- // Apply preset configuration (interactive setup)
38
- await (0, install_1.applyPresetCli)(installedName, preset);
39
- console.log(`\n${BOLDGREEN}✓ Preset installation completed!${RESET}\n`);
40
- }
41
- }
42
- catch (error) {
43
- console.error(`\n${BOLDYELLOW}Failed to install preset:${RESET} ${error.message}\n`);
44
- process.exit(1);
45
- }
46
- }
47
- //# sourceMappingURL=installCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installCommand.js","sourceRoot":"","sources":["../../src/utils/installCommand.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAkBH,oDA4BC;AA5CD,4DAAkE;AAClE,8CAAkD;AAElD,mBAAmB;AACnB,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,KAAK,GAAG,UAAU,CAAC;AACzB,MAAM,MAAM,GAAG,UAAU,CAAC;AAC1B,MAAM,SAAS,GAAG,iBAAiB,CAAC;AACpC,MAAM,UAAU,GAAG,iBAAiB,CAAC;AACrC,MAAM,QAAQ,GAAG,iBAAiB,CAAC;AACnC,MAAM,GAAG,GAAG,SAAS,CAAC;AAEtB;;;GAGG;AACI,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IAC3D,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,KAAK,UAAU,SAAS,KAAK,4BAA4B,CAAC,CAAC;YACzE,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,uDAAuD,KAAK,IAAI,CAAC,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,qBAAqB,KAAK,IAAI,UAAU,IAAI,CAAC,CAAC;QAErE,wCAAwC;QACxC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,wCAAuB,EAAC,UAAU,CAAC,CAAC;QAElF,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;YAC5B,iDAAiD;YACjD,MAAM,IAAA,wBAAc,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAE5C,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,mCAAmC,KAAK,IAAI,CAAC,CAAC;QAC1E,CAAC;IAEH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,UAAU,4BAA4B,KAAK,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- export declare function runModelSelector(): Promise<void>;