@tuannvm/ccodex 0.1.0 → 0.1.9

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/dist/cli.js CHANGED
@@ -2,20 +2,98 @@
2
2
  import { Command } from 'commander';
3
3
  import chalk from 'chalk';
4
4
  import { detectProxyCommand, installProxyApi, startProxy, launchLogin, waitForAuth, checkAuthConfigured } from './proxy.js';
5
- import { installAliases, configureShellIntegration } from './aliases.js';
5
+ import { configureShellIntegration, isShellIntegrationConfigured } from './aliases.js';
6
6
  import { printStatus, readyCheck } from './status.js';
7
7
  import { runClaude, detectClaudeCommand, installClaudeCode } from './claude.js';
8
+ /**
9
+ * Show proxy and auth diagnostic information
10
+ */
11
+ async function showProxyDiagnostics() {
12
+ const { isProxyRunning, checkAuthConfigured, detectProxyCommand } = await import('./proxy.js');
13
+ console.log('');
14
+ console.log(chalk.bold('Proxy & Auth Diagnostics'));
15
+ console.log('');
16
+ // Check proxy command
17
+ const proxyCmd = await detectProxyCommand();
18
+ if (proxyCmd.cmd) {
19
+ console.log(chalk.green(`✓ Proxy command found:`), proxyCmd.cmd);
20
+ if (proxyCmd.path) {
21
+ console.log(chalk.gray(` Path: ${proxyCmd.path}`));
22
+ }
23
+ }
24
+ else {
25
+ console.log(chalk.red('✗ Proxy command NOT found'));
26
+ }
27
+ // Check if proxy is running
28
+ const proxyRunning = await isProxyRunning();
29
+ if (proxyRunning) {
30
+ console.log(chalk.green('✓ Proxy is running'), chalk.gray('(127.0.0.1:8317)'));
31
+ }
32
+ else {
33
+ console.log(chalk.red('✗ Proxy is NOT running'));
34
+ }
35
+ // Check auth status
36
+ const auth = await checkAuthConfigured();
37
+ console.log('');
38
+ if (auth.hasModels) {
39
+ console.log(chalk.green('✓ Auth: Models accessible (proxy has valid credentials)'));
40
+ }
41
+ else if (auth.hasAuthEntries) {
42
+ console.log(chalk.yellow('⚠ Auth: Entries exist but models not accessible'));
43
+ }
44
+ else if (auth.hasAuthFiles) {
45
+ console.log(chalk.yellow('⚠ Auth: Files exist but not loaded'));
46
+ }
47
+ else {
48
+ console.log(chalk.red('✗ Auth: No credentials found'));
49
+ }
50
+ console.log('');
51
+ console.log(chalk.gray('If you see errors above, try: npx -y @tuannvm/ccodex --login'));
52
+ }
53
+ /**
54
+ * Preflight check - validate platform and capabilities before main operations
55
+ * Only runs for non-status commands to allow read-only diagnostics anywhere
56
+ */
57
+ function preflightOrThrow() {
58
+ const platform = process.platform;
59
+ const arch = process.arch;
60
+ // Check Node.js version
61
+ const nodeMajorVersion = Number(process.versions.node.split('.')[0]);
62
+ if (nodeMajorVersion < 18) {
63
+ throw new Error(`Node.js ${process.versions.node} detected.\n` +
64
+ `Please use Node.js >= 18. You have ${process.versions.node}.`);
65
+ }
66
+ // Check OS support
67
+ const supportedPlatforms = ['darwin', 'linux', 'win32'];
68
+ if (!supportedPlatforms.includes(platform)) {
69
+ throw new Error(`Unsupported OS: ${platform}\n` +
70
+ `Supported platforms: ${supportedPlatforms.join(', ')}`);
71
+ }
72
+ // Check architecture for proxy auto-install (Unix/Linux only)
73
+ if (platform === 'darwin' || platform === 'linux') {
74
+ const supportedArches = ['arm64', 'x64'];
75
+ if (!supportedArches.includes(arch)) {
76
+ throw new Error(`Unsupported architecture for CLIProxyAPI auto-install: ${arch}\n` +
77
+ `Supported architectures: ${supportedArches.join(', ')}\n` +
78
+ `CLIProxyAPI must be installed manually for your architecture.`);
79
+ }
80
+ }
81
+ // Windows warning
82
+ if (platform === 'win32') {
83
+ console.log(chalk.yellow('Windows detected: CLIProxyAPI requires manual installation.\n' +
84
+ 'Install from: https://github.com/router-for-me/CLIProxyAPI/releases'));
85
+ }
86
+ }
8
87
  /**
9
88
  * Ensure everything is set up (idempotent)
10
- * Implements steps 1-6 of the ccodex workflow:
89
+ * Implements steps 1-5 of the ccodex workflow:
11
90
  * 1. Check/install Claude Code CLI
12
91
  * 2. Check/install CLIProxyAPI
13
- * 3. Install aliases (claude-openai, ccodex)
14
- * 4. Configure shell integration
15
- * 5. Start proxy
16
- * 6. Launch OAuth login if needed
92
+ * 3. Configure shell integration (adds aliases directly to rc files)
93
+ * 4. Start proxy
94
+ * 5. Launch OAuth login if needed
17
95
  *
18
- * Step 7 (Run Claude Code) is handled by main() after setup completes.
96
+ * Step 6 (Run Claude Code) is handled by main() after setup completes.
19
97
  */
20
98
  async function ensureSetup() {
21
99
  let needsSetup = false;
@@ -32,10 +110,13 @@ async function ensureSetup() {
32
110
  await installProxyApi();
33
111
  needsSetup = true;
34
112
  }
35
- // 3. Install aliases (claude-openai, ccodex)
36
- await installAliases();
37
- // 4. Configure shell integration
38
- await configureShellIntegration();
113
+ // 3. Configure shell integration (adds aliases directly to rc files)
114
+ // Only run if not already configured for true idempotency
115
+ const shellConfigured = await isShellIntegrationConfigured();
116
+ if (!shellConfigured) {
117
+ await configureShellIntegration();
118
+ needsSetup = true;
119
+ }
39
120
  // 5. Start proxy
40
121
  await startProxy();
41
122
  // 6. Check auth, launch login if needed
@@ -57,16 +138,21 @@ async function main() {
57
138
  program
58
139
  .name('ccodex')
59
140
  .description('TypeScript reimplementation of ccodex - run Claude Code with OpenAI GPT models')
60
- .version('0.1.0')
141
+ .version('0.1.9')
61
142
  .option('--login', 'Run ChatGPT/Codex OAuth login')
62
143
  .option('--status', 'Show setup status')
144
+ .option('--diagnose', 'Show proxy and auth diagnostics')
63
145
  .allowUnknownOption(true)
64
146
  .allowExcessArguments(true)
65
147
  .parse(process.argv);
66
148
  const options = program.opts();
149
+ // Preflight check for all operations except read-only diagnostics (--status, --diagnose)
150
+ if (!options.status && !options.diagnose) {
151
+ preflightOrThrow();
152
+ }
67
153
  // Handle --login
68
154
  if (options.login) {
69
- // Ensure setup (installs dependencies, starts proxy)
155
+ // Ensure setup (installs dependencies, configures shell, starts proxy)
70
156
  // Skip the auth part of ensureSetup by checking first
71
157
  const claudeCmd = await detectClaudeCommand();
72
158
  if (!claudeCmd.cmd) {
@@ -77,12 +163,36 @@ async function main() {
77
163
  if (!proxyCmd.cmd) {
78
164
  await installProxyApi();
79
165
  }
80
- await installAliases();
81
- await configureShellIntegration();
166
+ // Only configure shell integration if not already configured
167
+ const shellConfigured = await isShellIntegrationConfigured();
168
+ if (!shellConfigured) {
169
+ await configureShellIntegration();
170
+ }
82
171
  await startProxy();
83
- // Always launch login flow for --login, even if already authenticated
84
- // This allows users to switch accounts or refresh their session
172
+ // Check current auth status
173
+ const authBefore = await checkAuthConfigured();
174
+ if (authBefore.configured) {
175
+ console.log(chalk.green('✓ Already authenticated. Launching login to re-authorize...'));
176
+ }
177
+ else {
178
+ console.log(chalk.yellow('Not authenticated. Starting OAuth login flow...'));
179
+ }
180
+ // Launch login
85
181
  await launchLogin();
182
+ // Wait for authentication to complete
183
+ console.log('Waiting for OAuth authentication to complete...');
184
+ await waitForAuth();
185
+ // Verify auth worked
186
+ const authAfter = await checkAuthConfigured();
187
+ if (!authAfter.configured) {
188
+ console.log(chalk.yellow('Authentication may not have completed. Please try:'));
189
+ console.log(' 1. Check if browser login completed');
190
+ console.log(' 2. Run: npx -y @tuannvm/ccodex --login');
191
+ console.log(' 3. Or restart the proxy and try again');
192
+ }
193
+ else {
194
+ console.log(chalk.green('✓ Authentication successful! You can now use ccodex.'));
195
+ }
86
196
  return;
87
197
  }
88
198
  // Handle --status (read-only, no side effects)
@@ -90,6 +200,11 @@ async function main() {
90
200
  await printStatus();
91
201
  return;
92
202
  }
203
+ // Handle --diagnose (show detailed diagnostics)
204
+ if (options.diagnose) {
205
+ await showProxyDiagnostics();
206
+ return;
207
+ }
93
208
  // Default: ensure setup and run Claude Code
94
209
  await ensureSetup();
95
210
  // Get remaining args for Claude Code
@@ -100,6 +215,11 @@ main().catch((error) => {
100
215
  // Normalize error to Error instance
101
216
  const err = error instanceof Error ? error : new Error(String(error));
102
217
  console.error(chalk.red('Error:'), err.message);
218
+ // Suggest diagnostics for auth errors
219
+ if (err.message.includes('401') || err.message.includes('Invalid API key') || err.message.includes('authentication')) {
220
+ console.error('');
221
+ console.error(chalk.yellow('For troubleshooting, run:'), chalk.bold('npx -y @tuannvm/ccodex --diagnose'));
222
+ }
103
223
  // Print stack trace in debug mode
104
224
  if (process.env.DEBUG || process.env.CCODEX_DEBUG) {
105
225
  console.error(chalk.gray(err.stack));
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
@@ -11,9 +11,6 @@ export declare const CONFIG: {
11
11
  readonly AUTH_DIR_NAME: ".cli-proxy-api";
12
12
  readonly CACHE_DIR_NAME: ".cache";
13
13
  readonly LOG_FILE_NAME: "ccodex-cliproxy.log";
14
- readonly ALIAS_FILE_NAME: "ccodex-alias.zsh";
15
- readonly ALIAS_DIR: ".oh-my-zsh/custom";
16
- readonly LOCAL_BIN_DIR: ".local/bin";
17
14
  readonly CLAUDE_CONFIG_DIR: ".claude-openai";
18
15
  readonly API_TIMEOUT_MS: 120000;
19
16
  };
@@ -29,12 +26,4 @@ export declare function getAuthDir(): string;
29
26
  * Get log file path
30
27
  */
31
28
  export declare function getLogFilePath(): string;
32
- /**
33
- * Get alias file path
34
- */
35
- export declare function getAliasFilePath(): string;
36
- /**
37
- * Get local bin path
38
- */
39
- export declare function getLocalBinPath(): string;
40
29
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CAoBT,CAAC;AAEX;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,MAAM;;;;;;;;;;;;CAiBT,CAAC;AAEX;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
package/dist/config.js CHANGED
@@ -15,9 +15,6 @@ export const CONFIG = {
15
15
  AUTH_DIR_NAME: '.cli-proxy-api',
16
16
  CACHE_DIR_NAME: '.cache',
17
17
  LOG_FILE_NAME: 'ccodex-cliproxy.log',
18
- ALIAS_FILE_NAME: 'ccodex-alias.zsh',
19
- ALIAS_DIR: '.oh-my-zsh/custom',
20
- LOCAL_BIN_DIR: '.local/bin',
21
18
  CLAUDE_CONFIG_DIR: '.claude-openai',
22
19
  // Timeouts (in milliseconds)
23
20
  API_TIMEOUT_MS: 120000,
@@ -40,16 +37,4 @@ export function getAuthDir() {
40
37
  export function getLogFilePath() {
41
38
  return join(homedir(), CONFIG.CACHE_DIR_NAME, CONFIG.LOG_FILE_NAME);
42
39
  }
43
- /**
44
- * Get alias file path
45
- */
46
- export function getAliasFilePath() {
47
- return join(homedir(), CONFIG.ALIAS_DIR, CONFIG.ALIAS_FILE_NAME);
48
- }
49
- /**
50
- * Get local bin path
51
- */
52
- export function getLocalBinPath() {
53
- return join(homedir(), CONFIG.LOCAL_BIN_DIR);
54
- }
55
40
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,sBAAsB;IACtB,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,IAAI;IAChB,yBAAyB,EAAE,EAAE;IAC7B,4BAA4B,EAAE,IAAI;IAClC,qBAAqB,EAAE,EAAE;IACzB,wBAAwB,EAAE,IAAI;IAE9B,QAAQ;IACR,aAAa,EAAE,gBAAgB;IAC/B,cAAc,EAAE,QAAQ;IACxB,aAAa,EAAE,qBAAqB;IACpC,eAAe,EAAE,kBAAkB;IACnC,SAAS,EAAE,mBAAmB;IAC9B,aAAa,EAAE,YAAY;IAC3B,iBAAiB,EAAE,gBAAgB;IAEnC,6BAA6B;IAC7B,cAAc,EAAE,MAAM;CACd,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,UAAU,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,sBAAsB;IACtB,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,IAAI;IAChB,yBAAyB,EAAE,EAAE;IAC7B,4BAA4B,EAAE,IAAI;IAClC,qBAAqB,EAAE,EAAE;IACzB,wBAAwB,EAAE,IAAI;IAE9B,QAAQ;IACR,aAAa,EAAE,gBAAgB;IAC/B,cAAc,EAAE,QAAQ;IACxB,aAAa,EAAE,qBAAqB;IACpC,iBAAiB,EAAE,gBAAgB;IAEnC,6BAA6B;IAC7B,cAAc,EAAE,MAAM;CACd,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,UAAU,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACtE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export { runClaude } from './claude.js';
8
8
  export { detectProxyCommand, isProxyRunning, checkAuthConfigured, installProxyApi, startProxy, launchLogin, waitForAuth } from './proxy.js';
9
- export { installAliases, configureShellIntegration, hasAliasFile, isShellIntegrationConfigured } from './aliases.js';
9
+ export { configureShellIntegration, isShellIntegrationConfigured } from './aliases.js';
10
10
  export { printStatus, readyCheck, getStatus } from './status.js';
11
11
  export type { Platform, ProxyCommand, AuthStatus, StatusResult, CliOptions, ShellConfig } from './types.js';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5I,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,YAAY,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGjE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5I,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGjE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -7,6 +7,6 @@
7
7
  // Re-export main functions
8
8
  export { runClaude } from './claude.js';
9
9
  export { detectProxyCommand, isProxyRunning, checkAuthConfigured, installProxyApi, startProxy, launchLogin, waitForAuth } from './proxy.js';
10
- export { installAliases, configureShellIntegration, hasAliasFile, isShellIntegrationConfigured } from './aliases.js';
10
+ export { configureShellIntegration, isShellIntegrationConfigured } from './aliases.js';
11
11
  export { printStatus, readyCheck, getStatus } from './status.js';
12
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5I,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,YAAY,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5I,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -5,7 +5,7 @@ import { join } from 'path';
5
5
  import { homedir } from 'os';
6
6
  import { fileExists, ensureDir, appendFile, debugLog } from './utils.js';
7
7
  // Use npx directly - no local bin installation
8
- const CCODEX_NPX_CMD = 'npx -y ccodex';
8
+ const CCODEX_NPX_CMD = 'npx -y @tuannvm/ccodex';
9
9
  /**
10
10
  * Get PowerShell profile path
11
11
  * Prefers PowerShell 7 (pwsh) profile, falls back to WindowsPowerShell
@@ -38,17 +38,17 @@ export function getPowerShellProfilePath() {
38
38
  * Generate PowerShell alias content
39
39
  */
40
40
  export async function generatePowerShellAlias() {
41
- return `# ccodex aliases - generated by npx ccodex
41
+ return `# ccodex aliases - generated by npx @tuannvm/ccodex
42
42
  function ccodex {
43
- npx -y ccodex $args
43
+ npx -y @tuannvm/ccodex $args
44
44
  }
45
45
 
46
46
  function co {
47
- npx -y ccodex $args
47
+ npx -y @tuannvm/ccodex $args
48
48
  }
49
49
 
50
50
  function claude-openai {
51
- npx -y ccodex $args
51
+ npx -y @tuannvm/ccodex $args
52
52
  }
53
53
  `;
54
54
  }
@@ -67,9 +67,9 @@ export async function installPowerShellAliases() {
67
67
  if (fileExists(profilePath)) {
68
68
  const content = await readFile(profilePath);
69
69
  // Check for all three expected functions to be present
70
- const hasCcodex = /\bccodex\s*\{[\s\S]*?npx -y ccodex/.test(content);
71
- const hasCo = /\bco\s*\{[\s\S]*?npx -y ccodex/.test(content);
72
- const hasClaudeOpenai = /\bclaude-openai\s*\{[\s\S]*?npx -y ccodex/.test(content);
70
+ const hasCcodex = /\bccodex\s*\{[\s\S]*?npx -y @tuannvm\/ccodex/.test(content);
71
+ const hasCo = /\bco\s*\{[\s\S]*?npx -y @tuannvm\/ccodex/.test(content);
72
+ const hasClaudeOpenai = /\bclaude-openai\s*\{[\s\S]*?npx -y @tuannvm\/ccodex/.test(content);
73
73
  if (hasCcodex && hasCo && hasClaudeOpenai) {
74
74
  console.log('PowerShell aliases already installed');
75
75
  return true;
@@ -98,9 +98,9 @@ export async function isPowerShellIntegrationConfigured() {
98
98
  }
99
99
  const content = await readFile(profilePath);
100
100
  // Check for all three expected functions with proper syntax
101
- const hasCcodex = /\bccodex\s*\{[\s\S]*?npx -y ccodex/.test(content);
102
- const hasCo = /\bco\s*\{[\s\S]*?npx -y ccodex/.test(content);
103
- const hasClaudeOpenai = /\bclaude-openai\s*\{[\s\S]*?npx -y ccodex/.test(content);
101
+ const hasCcodex = /\bccodex\s*\{[\s\S]*?npx -y @tuannvm\/ccodex/.test(content);
102
+ const hasCo = /\bco\s*\{[\s\S]*?npx -y @tuannvm\/ccodex/.test(content);
103
+ const hasClaudeOpenai = /\bclaude-openai\s*\{[\s\S]*?npx -y @tuannvm\/ccodex/.test(content);
104
104
  return hasCcodex && hasCo && hasClaudeOpenai;
105
105
  }
106
106
  //# sourceMappingURL=powershell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"powershell.js","sourceRoot":"","sources":["../src/powershell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"powershell.js","sourceRoot":"","sources":["../src/powershell.ts"],"names":[],"mappings":"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"}
package/dist/proxy.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { ProxyCommand, AuthStatus } from './types.js';
2
2
  /**
3
3
  * Detect CLIProxyAPI command
4
+ * Prefers locally installed binary from this process if available
4
5
  */
5
6
  export declare function detectProxyCommand(): Promise<ProxyCommand>;
6
7
  /**
@@ -12,7 +13,7 @@ export declare function isProxyRunning(): Promise<boolean>;
12
13
  */
13
14
  export declare function checkAuthConfigured(): Promise<AuthStatus>;
14
15
  /**
15
- * Install CLIProxyAPI via Homebrew (macOS/Linux only)
16
+ * Install CLIProxyAPI via Homebrew or Go binary fallback
16
17
  */
17
18
  export declare function installProxyApi(): Promise<void>;
18
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3D;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,CAmBhE;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAQvD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC,CAqD/D;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAsCrD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAgEhD;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBjD;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAajD"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAK3D;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,CAehE;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAQvD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC,CAuD/D;AAmED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAoSrD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAiEhD;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BjD;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAajD"}