claudebox 0.1.0 → 0.2.0

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 (47) hide show
  1. package/README.md +10 -2
  2. package/dist/background-update.d.ts +2 -0
  3. package/dist/background-update.d.ts.map +1 -0
  4. package/dist/background-update.js +48 -0
  5. package/dist/background-update.js.map +1 -0
  6. package/dist/cli.js +58 -50
  7. package/dist/cli.js.map +1 -1
  8. package/dist/config.d.ts +1 -3
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +69 -47
  11. package/dist/config.js.map +1 -1
  12. package/dist/configure.d.ts +2 -0
  13. package/dist/configure.d.ts.map +1 -0
  14. package/dist/configure.js +121 -0
  15. package/dist/configure.js.map +1 -0
  16. package/dist/converter.d.ts.map +1 -1
  17. package/dist/converter.js +42 -33
  18. package/dist/converter.js.map +1 -1
  19. package/dist/logger.d.ts +1 -1
  20. package/dist/logger.d.ts.map +1 -1
  21. package/dist/logger.js +20 -16
  22. package/dist/logger.js.map +1 -1
  23. package/dist/providers/gemini.d.ts +2 -2
  24. package/dist/providers/gemini.d.ts.map +1 -1
  25. package/dist/providers/gemini.js +14 -11
  26. package/dist/providers/gemini.js.map +1 -1
  27. package/dist/providers/index.d.ts +3 -3
  28. package/dist/providers/index.js +3 -3
  29. package/dist/providers/ollama.d.ts +2 -2
  30. package/dist/providers/ollama.d.ts.map +1 -1
  31. package/dist/providers/ollama.js +14 -11
  32. package/dist/providers/ollama.js.map +1 -1
  33. package/dist/providers/openai.d.ts +2 -2
  34. package/dist/providers/openai.d.ts.map +1 -1
  35. package/dist/providers/openai.js +10 -10
  36. package/dist/providers/openai.js.map +1 -1
  37. package/dist/server.js +20 -20
  38. package/dist/translator.d.ts +1 -1
  39. package/dist/translator.d.ts.map +1 -1
  40. package/dist/translator.js +40 -42
  41. package/dist/translator.js.map +1 -1
  42. package/dist/types.d.ts +14 -14
  43. package/dist/update-checker.d.ts +4 -0
  44. package/dist/update-checker.d.ts.map +1 -0
  45. package/dist/update-checker.js +96 -0
  46. package/dist/update-checker.js.map +1 -0
  47. package/package.json +12 -4
package/README.md CHANGED
@@ -1,12 +1,20 @@
1
- # claude-code-proxy
1
+ # ccproxy (claudebox)
2
+
3
+ [![npm version](https://img.shields.io/npm/v/claudebox.svg?style=flat-square)](https://www.npmjs.com/package/claudebox)
4
+ [![npm downloads](https://img.shields.io/npm/dm/claudebox.svg?style=flat-square)](https://www.npmjs.com/package/claudebox)
5
+ [![Build Status](https://github.com/himasnhu-at/ccproxy/actions/workflows/build.yml/badge.svg)](https://github.com/himasnhu-at/ccproxy/actions/workflows/build.yml)
2
6
 
3
7
  > Use Claude Code with **any** AI provider: OpenAI, Gemini, or Ollama.
4
8
 
9
+ > [!WARNING]
10
+ > **Active Development Notice**
11
+ > This project is currently under active development. Features may change rapidly and you may encounter bugs. Please report any issues you find!
12
+
5
13
  ## Quick start
6
14
 
7
15
  ```bash
8
16
  # Install globally
9
- npm install -g claudeproxy
17
+ npm install -g claudebox
10
18
 
11
19
  # configure
12
20
  ccproxy configure
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=background-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-update.d.ts","sourceRoot":"","sources":["../src/background-update.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import * as fs from 'node:fs';
2
+ import * as path from 'node:path';
3
+ import * as os from 'node:os';
4
+ import { createRequire } from 'node:module';
5
+ const require = createRequire(import.meta.url);
6
+ // In dev (src/) it's ../, in prod (dist/) it's ../
7
+ const { version: currentVersion } = require('../package.json');
8
+ const CONFIG_DIR = path.join(os.homedir(), '.ccproxy');
9
+ const STATUS_FILE = path.join(CONFIG_DIR, 'update-status.json');
10
+ const LOG_FILE = path.join(CONFIG_DIR, 'background-update.log');
11
+ // Passed from parent update-checker
12
+ const isVerbose = process.argv.includes('--verbose');
13
+ // Update this to match your deployed URL for Next.js when ready
14
+ const VERSION_URL = 'http://localhost:3000/api/version';
15
+ async function checkUpdate() {
16
+ try {
17
+ const controller = new AbortController();
18
+ const timeoutId = setTimeout(() => controller.abort(), 5000); // 5 second timeout
19
+ const res = await fetch(VERSION_URL, {
20
+ signal: controller.signal,
21
+ headers: { 'Cache-Control': 'no-cache' },
22
+ });
23
+ clearTimeout(timeoutId);
24
+ if (res.ok) {
25
+ const latestVersion = (await res.text()).trim();
26
+ if (!fs.existsSync(CONFIG_DIR)) {
27
+ fs.mkdirSync(CONFIG_DIR, { recursive: true });
28
+ }
29
+ fs.writeFileSync(STATUS_FILE, JSON.stringify({
30
+ latestVersion,
31
+ lastChecked: Date.now(),
32
+ currentVersion,
33
+ }, null, 2));
34
+ if (isVerbose)
35
+ fs.appendFileSync(LOG_FILE, `[${new Date().toISOString()}] Successfully grabbed version: ${latestVersion}\n`);
36
+ }
37
+ else {
38
+ if (isVerbose)
39
+ fs.appendFileSync(LOG_FILE, `[${new Date().toISOString()}] Fetch failed. Status: ${res.status}\n`);
40
+ }
41
+ }
42
+ catch (err) {
43
+ if (isVerbose)
44
+ fs.appendFileSync(LOG_FILE, `[${new Date().toISOString()}] Background error: ${err.message}\n`);
45
+ }
46
+ }
47
+ checkUpdate();
48
+ //# sourceMappingURL=background-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-update.js","sourceRoot":"","sources":["../src/background-update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,mDAAmD;AACnD,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;AAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;AAEhE,oCAAoC;AACpC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAErD,gEAAgE;AAChE,MAAM,WAAW,GAAG,mCAAmC,CAAC;AAExD,KAAK,UAAU,WAAW;IACxB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,mBAAmB;QAEjF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE;SACzC,CAAC,CAAC;QAEH,YAAY,CAAC,SAAS,CAAC,CAAC;QAExB,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,EAAE,CAAC,aAAa,CACd,WAAW,EACX,IAAI,CAAC,SAAS,CACZ;gBACE,aAAa;gBACb,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;gBACvB,cAAc;aACf,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YAEF,IAAI,SAAS;gBACX,EAAE,CAAC,cAAc,CACf,QAAQ,EACR,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,mCAAmC,aAAa,IAAI,CACjF,CAAC;QACN,CAAC;aAAM,CAAC;YACN,IAAI,SAAS;gBACX,EAAE,CAAC,cAAc,CACf,QAAQ,EACR,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,2BAA2B,GAAG,CAAC,MAAM,IAAI,CACtE,CAAC;QACN,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,SAAS;YACX,EAAE,CAAC,cAAc,CACf,QAAQ,EACR,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,uBAAuB,GAAG,CAAC,OAAO,IAAI,CACnE,CAAC;IACN,CAAC;AACH,CAAC;AAED,WAAW,EAAE,CAAC"}
package/dist/cli.js CHANGED
@@ -1,30 +1,30 @@
1
1
  #!/usr/bin/env node
2
- import { parseArgs } from "node:util";
3
- import { createRequire } from "node:module";
4
- import { spawn as sp } from "node:child_process";
5
- import { config } from "./config.js";
6
- import chalk from "chalk";
7
- import figlet from "figlet";
2
+ import { parseArgs } from 'node:util';
3
+ import { createRequire } from 'node:module';
4
+ import { spawn as sp } from 'node:child_process';
5
+ import { config } from './config.js';
6
+ import chalk from 'chalk';
7
+ import figlet from 'figlet';
8
8
  const require = createRequire(import.meta.url);
9
- const { version } = require("../package.json");
10
- console.log(chalk.cyan(figlet.textSync("ccproxy", {
11
- font: "Standard",
12
- horizontalLayout: "default",
9
+ const { version } = require('../package.json');
10
+ console.log(chalk.cyan(figlet.textSync('ccproxy', {
11
+ font: 'Standard',
12
+ horizontalLayout: 'default',
13
13
  })));
14
14
  console.log(chalk.dim(` v${version}\n`));
15
15
  // IMP: Add npm update check here in the future (e.g. using update-notifier)
16
16
  const args = process.argv.slice(2);
17
17
  const command = args[0];
18
18
  const options = {
19
- port: { type: "string", short: "p" },
20
- provider: { type: "string" },
21
- "big-model": { type: "string" },
22
- "small-model": { type: "string" },
23
- "ollama-base": { type: "string" },
24
- "openai-key": { type: "string" },
25
- "gemini-key": { type: "string" },
26
- verbose: { type: "string", short: "v" },
27
- help: { type: "boolean", short: "h" },
19
+ port: { type: 'string', short: 'p' },
20
+ provider: { type: 'string' },
21
+ 'big-model': { type: 'string' },
22
+ 'small-model': { type: 'string' },
23
+ 'ollama-base': { type: 'string' },
24
+ 'openai-key': { type: 'string' },
25
+ 'gemini-key': { type: 'string' },
26
+ verbose: { type: 'string', short: 'v' },
27
+ help: { type: 'boolean', short: 'h' },
28
28
  };
29
29
  const { values } = parseArgs({
30
30
  args: args,
@@ -32,6 +32,11 @@ const { values } = parseArgs({
32
32
  strict: false,
33
33
  allowPositionals: true,
34
34
  });
35
+ import { checkAndUpdate } from './update-checker.js';
36
+ const { handled } = await checkAndUpdate();
37
+ if (handled) {
38
+ process.exit(0);
39
+ }
35
40
  if (values.help) {
36
41
  printHelp();
37
42
  process.exit(0);
@@ -45,7 +50,8 @@ USAGE
45
50
 
46
51
  COMMANDS
47
52
  server Start the proxy server
48
- config Manage configuration (API keys, models, etc.)
53
+ config Manage configuration (API keys, models, etc.) via arguments
54
+ configure Interactive configuration setup
49
55
  (default) Check if server is running, then start 'claude'
50
56
 
51
57
  OPTIONS
@@ -88,17 +94,17 @@ function getUpdatesFromArgs() {
88
94
  let vLevel = undefined;
89
95
  const vVal = values.verbose;
90
96
  if (vVal !== undefined) {
91
- if (vVal === "true")
97
+ if (vVal === 'true')
92
98
  vLevel = 1;
93
- else if (vVal === "0" || vVal === "1" || vVal === "2")
99
+ else if (vVal === '0' || vVal === '1' || vVal === '2')
94
100
  vLevel = parseInt(vVal, 10);
95
101
  }
96
102
  // Fallback: manual scan to handle shell flag mangling (e.g. -v without value)
97
103
  for (let i = 0; i < args.length; i++) {
98
104
  const arg = args[i];
99
- if (arg === "-v" || arg === "--v" || arg === "-verbose" || arg === "--verbose") {
105
+ if (arg === '-v' || arg === '--v' || arg === '-verbose' || arg === '--verbose') {
100
106
  const next = args[i + 1];
101
- if (next && (next === "0" || next === "1" || next === "2")) {
107
+ if (next && (next === '0' || next === '1' || next === '2')) {
102
108
  vLevel = parseInt(next, 10);
103
109
  }
104
110
  else {
@@ -110,44 +116,46 @@ function getUpdatesFromArgs() {
110
116
  updates.verbose = vLevel;
111
117
  const providers = {};
112
118
  const targetProvider = values.provider ?? config.preferredProvider;
113
- if (values["big-model"] ||
114
- values["small-model"] ||
115
- values["ollama-base"] ||
116
- values["openai-key"] ||
117
- values["gemini-key"]) {
119
+ if (values['big-model'] ||
120
+ values['small-model'] ||
121
+ values['ollama-base'] ||
122
+ values['openai-key'] ||
123
+ values['gemini-key']) {
118
124
  providers[targetProvider] = {};
119
- const bigModel = values["big-model"];
120
- const smallModel = values["small-model"];
121
- const ollamaBase = values["ollama-base"];
122
- const openaiKey = values["openai-key"];
123
- const geminiKey = values["gemini-key"];
124
- if (typeof bigModel === "string")
125
+ const bigModel = values['big-model'];
126
+ const smallModel = values['small-model'];
127
+ const ollamaBase = values['ollama-base'];
128
+ const openaiKey = values['openai-key'];
129
+ const geminiKey = values['gemini-key'];
130
+ if (typeof bigModel === 'string')
125
131
  providers[targetProvider].bigModel = bigModel;
126
- if (typeof smallModel === "string")
132
+ if (typeof smallModel === 'string')
127
133
  providers[targetProvider].smallModel = smallModel;
128
- if (typeof ollamaBase === "string")
134
+ if (typeof ollamaBase === 'string')
129
135
  providers[targetProvider].apiBase = ollamaBase;
130
- if (typeof openaiKey === "string")
136
+ if (typeof openaiKey === 'string')
131
137
  providers[targetProvider].apiKey = openaiKey;
132
- if (typeof geminiKey === "string")
138
+ if (typeof geminiKey === 'string')
133
139
  providers[targetProvider].apiKey = geminiKey;
134
140
  updates.providers = providers;
135
141
  }
136
142
  return updates;
137
143
  }
138
- if (command === "config") {
144
+ if (command === 'config' || command === 'configure') {
139
145
  const updates = getUpdatesFromArgs();
140
146
  if (Object.keys(updates).length > 0) {
141
147
  config.save(updates);
142
- console.log("✅ Configuration updated.");
148
+ console.log('✅ Configuration updated.');
149
+ process.exit(0);
143
150
  }
144
151
  else {
145
- console.log("Current Configuration:");
146
- console.log(JSON.stringify(config.summary(), null, 2));
152
+ // If no args are passed to `config` or `configure`, trigger interactive flow
153
+ const { runConfigure } = await import('./configure.js');
154
+ await runConfigure();
155
+ process.exit(0);
147
156
  }
148
- process.exit(0);
149
157
  }
150
- if (command === "server") {
158
+ if (command === 'server') {
151
159
  const updates = getUpdatesFromArgs();
152
160
  if (Object.keys(updates).length > 0) {
153
161
  if (updates.preferredProvider)
@@ -166,9 +174,9 @@ if (command === "server") {
166
174
  }
167
175
  }
168
176
  }
169
- await import("./server.js");
177
+ await import('./server.js');
170
178
  }
171
- else if (!command || command === "claude") {
179
+ else if (!command || command === 'claude') {
172
180
  const running = await isServerRunning(config.port);
173
181
  if (!running) {
174
182
  console.log(`\n❌ Proxy server is not running on port ${config.port}.`);
@@ -177,15 +185,15 @@ else if (!command || command === "claude") {
177
185
  }
178
186
  console.log(`🚀 Connecting to ccproxy on port ${config.port}...`);
179
187
  try {
180
- const claude = sp("claude", {
188
+ const claude = sp('claude', {
181
189
  env: {
182
190
  ...process.env,
183
191
  ANTHROPIC_BASE_URL: `http://localhost:${config.port}`,
184
192
  },
185
- stdio: "inherit",
193
+ stdio: 'inherit',
186
194
  shell: true,
187
195
  });
188
- claude.on("exit", (code) => {
196
+ claude.on('exit', (code) => {
189
197
  process.exit(code ?? 0);
190
198
  });
191
199
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type Provider = "openai" | "gemini" | "ollama";
1
+ export type Provider = 'openai' | 'gemini' | 'ollama';
2
2
  interface ProviderConfig {
3
3
  apiKey?: string;
4
4
  apiBase?: string;
@@ -18,7 +18,6 @@ declare class Config {
18
18
  verbose: number;
19
19
  readonly openaiModels: Set<string>;
20
20
  readonly geminiModels: Set<string>;
21
- readonly ollamaModels: Set<string>;
22
21
  constructor();
23
22
  get bigModel(): string;
24
23
  get smallModel(): string;
@@ -29,7 +28,6 @@ declare class Config {
29
28
  save(updates: ConfigSchema): void;
30
29
  isOpenAIModel(model: string): boolean;
31
30
  isGeminiModel(model: string): boolean;
32
- isOllamaModel(model: string): boolean;
33
31
  resolveProvider(model: string): Provider;
34
32
  summary(): {
35
33
  preferredProvider: Provider;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAyBtD,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,cAAM,MAAM;IACV,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,YAAY,cAAiB;IACtC,QAAQ,CAAC,YAAY,cAAiB;IACtC,QAAQ,CAAC,YAAY,cAAiB;;IAqCtC,IAAI,QAAQ,IAAI,MAAM,CAA6D;IACnF,IAAI,UAAU,IAAI,MAAM,CAA+D;IACvF,IAAI,YAAY,IAAI,MAAM,CAA0C;IACpE,IAAI,YAAY,IAAI,MAAM,CAA0C;IACpE,IAAI,aAAa,IAAI,MAAM,CAA2C;IAEtE,OAAO,CAAC,YAAY;IAYpB,IAAI,CAAC,OAAO,EAAE,YAAY;IA+B1B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIrC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIrC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAOxC,OAAO;;;;;;CAQR;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAgDtD,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,cAAM,MAAM;IACV,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,YAAY,cAAiB;IACtC,QAAQ,CAAC,YAAY,cAAiB;;IAqCtC,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,IAAI,UAAU,IAAI,MAAM,CAEvB;IACD,IAAI,YAAY,IAAI,MAAM,CAEzB;IACD,IAAI,YAAY,IAAI,MAAM,CAEzB;IACD,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,OAAO,CAAC,YAAY;IAYpB,IAAI,CAAC,OAAO,EAAE,YAAY;IA+B1B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIrC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAMxC,OAAO;;;;;;CAQR;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
package/dist/config.js CHANGED
@@ -1,25 +1,43 @@
1
- import * as fs from "node:fs";
2
- import * as path from "node:path";
3
- import * as os from "node:os";
4
- const CONFIG_DIR = path.join(os.homedir(), ".ccproxy");
5
- const CONFIG_FILE = path.join(CONFIG_DIR, "config.json");
1
+ import * as fs from 'node:fs';
2
+ import * as path from 'node:path';
3
+ import * as os from 'node:os';
4
+ const CONFIG_DIR = path.join(os.homedir(), '.ccproxy');
5
+ const CONFIG_FILE = path.join(CONFIG_DIR, 'config.json');
6
6
  const OPENAI_MODELS = new Set([
7
- "o3-mini", "o1", "o1-mini", "o1-pro",
8
- "gpt-4.5-preview", "gpt-4o", "gpt-4o-audio-preview",
9
- "chatgpt-4o-latest", "gpt-4o-mini", "gpt-4o-mini-audio-preview",
10
- "gpt-4.1", "gpt-4.1-mini", "gpt-4.1-nano",
7
+ // GPT-5 family
8
+ 'gpt-5.2',
9
+ 'gpt-5.2-pro',
10
+ 'gpt-5',
11
+ 'gpt-5-mini',
12
+ 'gpt-5-nano',
13
+ // GPT-4.1 family
14
+ 'gpt-4.1',
15
+ 'gpt-4.1-mini',
16
+ 'gpt-4.1-nano',
17
+ // GPT-4o family
18
+ 'gpt-4o',
19
+ 'gpt-4o-mini',
20
+ // reasoning models
21
+ 'o3',
22
+ 'o3-mini',
23
+ 'o3-pro',
24
+ 'o4-mini',
11
25
  ]);
12
26
  const GEMINI_MODELS = new Set([
13
- "gemini-2.5-pro", "gemini-2.5-flash",
14
- "gemini-2.5-pro-preview-03-25", "gemini-2.0-flash",
15
- "gemini-1.5-pro", "gemini-1.5-flash",
16
- ]);
17
- const OLLAMA_MODELS = new Set([
18
- "llama3.3", "llama3.2", "llama3.1", "llama3",
19
- "mistral", "mixtral", "codellama", "phi4", "phi3",
20
- "deepseek-r1", "deepseek-coder", "qwen2.5", "qwen2",
21
- "gemma3", "gemma2",
27
+ // gemini 3.1
28
+ 'gemini-3.1-pro',
29
+ 'gemini-3.1-flash-lite',
30
+ // gemini 3
31
+ 'gemini-3-pro',
32
+ 'gemini-3-flash',
33
+ // gemini 2.5
34
+ 'gemini-2.5-pro',
35
+ 'gemini-2.5-flash',
36
+ 'gemini-2.5-flash-lite',
22
37
  ]);
38
+ const MODEL_ALIASES = {
39
+ // Alias common short names to full model names
40
+ };
23
41
  class Config {
24
42
  preferredProvider;
25
43
  providers;
@@ -27,50 +45,59 @@ class Config {
27
45
  verbose;
28
46
  openaiModels = OPENAI_MODELS;
29
47
  geminiModels = GEMINI_MODELS;
30
- ollamaModels = OLLAMA_MODELS;
31
48
  constructor() {
32
49
  if (!fs.existsSync(CONFIG_DIR)) {
33
50
  fs.mkdirSync(CONFIG_DIR, { recursive: true });
34
51
  }
35
52
  const fileConfig = this.loadFromFile();
36
53
  const isNewConfig = !fs.existsSync(CONFIG_FILE) || Object.keys(fileConfig).length === 0;
37
- this.preferredProvider = fileConfig.preferredProvider ?? "openai";
54
+ this.preferredProvider = fileConfig.preferredProvider ?? 'openai';
38
55
  this.port = fileConfig.port ?? 8082;
39
56
  this.verbose = fileConfig.verbose ?? 0;
40
57
  this.providers = {
41
58
  openai: {
42
- apiKey: fileConfig.providers?.openai?.apiKey ?? "",
43
- bigModel: fileConfig.providers?.openai?.bigModel ?? "gpt-5.3",
44
- smallModel: fileConfig.providers?.openai?.smallModel ?? "gpt-5",
59
+ apiKey: fileConfig.providers?.openai?.apiKey ?? '',
60
+ bigModel: fileConfig.providers?.openai?.bigModel ?? 'gpt-5.3',
61
+ smallModel: fileConfig.providers?.openai?.smallModel ?? 'gpt-5',
45
62
  },
46
63
  gemini: {
47
- apiKey: fileConfig.providers?.gemini?.apiKey ?? "",
48
- bigModel: fileConfig.providers?.gemini?.bigModel ?? "gemini-3.1-pro",
49
- smallModel: fileConfig.providers?.gemini?.smallModel ?? "gemini-3.1-flash",
64
+ apiKey: fileConfig.providers?.gemini?.apiKey ?? '',
65
+ bigModel: fileConfig.providers?.gemini?.bigModel ?? 'gemini-3.1-pro',
66
+ smallModel: fileConfig.providers?.gemini?.smallModel ?? 'gemini-3.1-flash',
50
67
  },
51
68
  ollama: {
52
- apiBase: fileConfig.providers?.ollama?.apiBase ?? "http://localhost:11434",
53
- bigModel: fileConfig.providers?.ollama?.bigModel ?? "llama3.2:3b",
54
- smallModel: fileConfig.providers?.ollama?.smallModel ?? "llama3.2:3b",
69
+ apiBase: fileConfig.providers?.ollama?.apiBase ?? 'http://localhost:11434',
70
+ bigModel: fileConfig.providers?.ollama?.bigModel ?? 'llama3.2:3b',
71
+ smallModel: fileConfig.providers?.ollama?.smallModel ?? 'llama3.2:3b',
55
72
  },
56
73
  };
57
74
  if (isNewConfig) {
58
75
  this.save({});
59
76
  }
60
77
  }
61
- get bigModel() { return this.providers[this.preferredProvider].bigModel; }
62
- get smallModel() { return this.providers[this.preferredProvider].smallModel; }
63
- get openaiApiKey() { return this.providers.openai.apiKey; }
64
- get geminiApiKey() { return this.providers.gemini.apiKey; }
65
- get ollamaApiBase() { return this.providers.ollama.apiBase; }
78
+ get bigModel() {
79
+ return this.providers[this.preferredProvider].bigModel;
80
+ }
81
+ get smallModel() {
82
+ return this.providers[this.preferredProvider].smallModel;
83
+ }
84
+ get openaiApiKey() {
85
+ return this.providers.openai.apiKey;
86
+ }
87
+ get geminiApiKey() {
88
+ return this.providers.gemini.apiKey;
89
+ }
90
+ get ollamaApiBase() {
91
+ return this.providers.ollama.apiBase;
92
+ }
66
93
  loadFromFile() {
67
94
  if (fs.existsSync(CONFIG_FILE)) {
68
95
  try {
69
- const content = fs.readFileSync(CONFIG_FILE, "utf-8");
96
+ const content = fs.readFileSync(CONFIG_FILE, 'utf-8');
70
97
  return content ? JSON.parse(content) : {};
71
98
  }
72
99
  catch (e) {
73
- console.error("Failed to parse config file:", e);
100
+ console.error('Failed to parse config file:', e);
74
101
  }
75
102
  }
76
103
  return {};
@@ -88,7 +115,7 @@ class Config {
88
115
  const prov = p;
89
116
  this.providers[prov] = {
90
117
  ...this.providers[prov],
91
- ...updates.providers[prov]
118
+ ...updates.providers[prov],
92
119
  };
93
120
  }
94
121
  }
@@ -96,7 +123,7 @@ class Config {
96
123
  preferredProvider: this.preferredProvider,
97
124
  port: this.port,
98
125
  verbose: this.verbose,
99
- providers: this.providers
126
+ providers: this.providers,
100
127
  };
101
128
  if (!fs.existsSync(CONFIG_DIR)) {
102
129
  fs.mkdirSync(CONFIG_DIR, { recursive: true });
@@ -104,7 +131,7 @@ class Config {
104
131
  fs.writeFileSync(CONFIG_FILE, JSON.stringify(fullConfig, null, 2));
105
132
  }
106
133
  catch (e) {
107
- console.error("Failed to save config file:", e);
134
+ console.error('Failed to save config file:', e);
108
135
  }
109
136
  }
110
137
  isOpenAIModel(model) {
@@ -113,16 +140,11 @@ class Config {
113
140
  isGeminiModel(model) {
114
141
  return this.geminiModels.has(model);
115
142
  }
116
- isOllamaModel(model) {
117
- return this.ollamaModels.has(model);
118
- }
119
143
  resolveProvider(model) {
120
144
  if (this.isOpenAIModel(model))
121
- return "openai";
145
+ return 'openai';
122
146
  if (this.isGeminiModel(model))
123
- return "gemini";
124
- if (this.isOllamaModel(model))
125
- return "ollama";
147
+ return 'gemini';
126
148
  return this.preferredProvider;
127
149
  }
128
150
  summary() {
@@ -130,7 +152,7 @@ class Config {
130
152
  preferredProvider: this.preferredProvider,
131
153
  port: this.port,
132
154
  verbose: this.verbose,
133
- providers: this.providers
155
+ providers: this.providers,
134
156
  };
135
157
  }
136
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runConfigure(): Promise<void>;
2
+ //# sourceMappingURL=configure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,kBAwIjC"}