@nordsym/apiclaw 1.5.14 → 1.5.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA2KD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgHjF"}
1
+ {"version":3,"file":"mcp-install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAwOD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HjF"}
@@ -1,23 +1,18 @@
1
- "use strict";
2
1
  /**
3
2
  * MCP Install Command
4
3
  * Simple, focused command to install APIClaw into MCP config files
5
4
  * Supports Claude Desktop and Claude Code
6
5
  */
7
- var __importDefault = (this && this.__importDefault) || function (mod) {
8
- return (mod && mod.__esModule) ? mod : { "default": mod };
9
- };
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.mcpInstallCommand = mcpInstallCommand;
12
- const fs_1 = require("fs");
13
- const path_1 = require("path");
14
- const os_1 = require("os");
15
- const chalk_1 = __importDefault(require("chalk"));
6
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
7
+ import { dirname, join } from 'path';
8
+ import { platform, homedir } from 'os';
9
+ import { execSync } from 'child_process';
10
+ import chalk from 'chalk';
16
11
  /**
17
12
  * Detect operating system
18
13
  */
19
14
  function detectOS() {
20
- const os = (0, os_1.platform)();
15
+ const os = platform();
21
16
  switch (os) {
22
17
  case 'darwin': return 'mac';
23
18
  case 'win32': return 'win';
@@ -28,7 +23,7 @@ function detectOS() {
28
23
  * Get home directory
29
24
  */
30
25
  function getHome() {
31
- return (0, os_1.homedir)();
26
+ return homedir();
32
27
  }
33
28
  /**
34
29
  * Get config paths for supported clients
@@ -44,11 +39,11 @@ function getClientConfigs() {
44
39
  getConfigPath: () => {
45
40
  switch (os) {
46
41
  case 'mac':
47
- return (0, path_1.join)(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
42
+ return join(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
48
43
  case 'win':
49
- return (0, path_1.join)(process.env.APPDATA || (0, path_1.join)(home, 'AppData', 'Roaming'), 'Claude', 'claude_desktop_config.json');
44
+ return join(process.env.APPDATA || join(home, 'AppData', 'Roaming'), 'Claude', 'claude_desktop_config.json');
50
45
  case 'linux':
51
- return (0, path_1.join)(home, '.config', 'Claude', 'claude_desktop_config.json');
46
+ return join(home, '.config', 'Claude', 'claude_desktop_config.json');
52
47
  }
53
48
  },
54
49
  },
@@ -58,7 +53,16 @@ function getClientConfigs() {
58
53
  configKey: 'mcpServers',
59
54
  getConfigPath: () => {
60
55
  // Claude Code uses ~/.claude.json on all platforms
61
- return (0, path_1.join)(home, '.claude.json');
56
+ return join(home, '.claude.json');
57
+ },
58
+ },
59
+ {
60
+ name: 'codex',
61
+ displayName: 'Codex (OpenAI)',
62
+ configKey: 'mcp',
63
+ getConfigPath: () => {
64
+ // Codex uses ~/.codex/config.toml
65
+ return join(home, '.codex', 'config.toml');
62
66
  },
63
67
  },
64
68
  ];
@@ -76,10 +80,10 @@ const APICLAW_CONFIG = {
76
80
  */
77
81
  function readConfig(path) {
78
82
  try {
79
- if (!(0, fs_1.existsSync)(path)) {
83
+ if (!existsSync(path)) {
80
84
  return { success: true, config: {}, isNew: true };
81
85
  }
82
- const content = (0, fs_1.readFileSync)(path, 'utf-8');
86
+ const content = readFileSync(path, 'utf-8');
83
87
  if (!content.trim()) {
84
88
  return { success: true, config: {}, isNew: true };
85
89
  }
@@ -98,17 +102,17 @@ function readConfig(path) {
98
102
  */
99
103
  function writeConfig(path, config, createBackup = true) {
100
104
  try {
101
- const dir = (0, path_1.dirname)(path);
102
- if (!(0, fs_1.existsSync)(dir)) {
103
- (0, fs_1.mkdirSync)(dir, { recursive: true });
105
+ const dir = dirname(path);
106
+ if (!existsSync(dir)) {
107
+ mkdirSync(dir, { recursive: true });
104
108
  }
105
109
  // Create backup if file exists
106
- if (createBackup && (0, fs_1.existsSync)(path)) {
110
+ if (createBackup && existsSync(path)) {
107
111
  const backupPath = `${path}.backup.${Date.now()}.json`;
108
- const existing = (0, fs_1.readFileSync)(path, 'utf-8');
109
- (0, fs_1.writeFileSync)(backupPath, existing, 'utf-8');
112
+ const existing = readFileSync(path, 'utf-8');
113
+ writeFileSync(backupPath, existing, 'utf-8');
110
114
  }
111
- (0, fs_1.writeFileSync)(path, JSON.stringify(config, null, 2), 'utf-8');
115
+ writeFileSync(path, JSON.stringify(config, null, 2), 'utf-8');
112
116
  return { success: true };
113
117
  }
114
118
  catch (error) {
@@ -118,10 +122,59 @@ function writeConfig(path, config, createBackup = true) {
118
122
  };
119
123
  }
120
124
  }
125
+ /**
126
+ * Check if Codex CLI is available
127
+ */
128
+ function isCodexAvailable() {
129
+ try {
130
+ execSync('codex --version', { stdio: 'pipe' });
131
+ return true;
132
+ }
133
+ catch {
134
+ return false;
135
+ }
136
+ }
137
+ /**
138
+ * Install APIClaw to Codex using CLI
139
+ */
140
+ function installToCodex(dryRun) {
141
+ if (!isCodexAvailable()) {
142
+ return { success: false, message: 'Codex CLI not found' };
143
+ }
144
+ try {
145
+ // Check if already installed
146
+ try {
147
+ const output = execSync('codex mcp get apiclaw', { encoding: 'utf-8', stdio: 'pipe' });
148
+ if (output.includes('apiclaw')) {
149
+ return { success: true, message: 'Already installed', skipped: true };
150
+ }
151
+ }
152
+ catch {
153
+ // Not installed, continue
154
+ }
155
+ if (dryRun) {
156
+ console.log(chalk.cyan('\n Would run: codex mcp add apiclaw -- npx -y @nordsym/apiclaw'));
157
+ return { success: true, message: 'Dry run - no changes made', skipped: true };
158
+ }
159
+ // Install
160
+ execSync('codex mcp add apiclaw -- npx -y @nordsym/apiclaw', { stdio: 'pipe' });
161
+ return { success: true, message: 'Installed via CLI' };
162
+ }
163
+ catch (error) {
164
+ return {
165
+ success: false,
166
+ message: error instanceof Error ? error.message : 'Unknown error'
167
+ };
168
+ }
169
+ }
121
170
  /**
122
171
  * Install APIClaw into a client config
123
172
  */
124
173
  function installToClient(client, dryRun) {
174
+ // Special handling for Codex
175
+ if (client.name === 'codex') {
176
+ return installToCodex(dryRun);
177
+ }
125
178
  const configPath = client.getConfigPath();
126
179
  // Read existing config
127
180
  const readResult = readConfig(configPath);
@@ -140,8 +193,8 @@ function installToClient(client, dryRun) {
140
193
  // Add APIClaw config
141
194
  config.mcpServers.apiclaw = APICLAW_CONFIG;
142
195
  if (dryRun) {
143
- console.log(chalk_1.default.cyan(`\n Would add to ${configPath}:`));
144
- console.log(chalk_1.default.gray(JSON.stringify({ apiclaw: APICLAW_CONFIG }, null, 4)));
196
+ console.log(chalk.cyan(`\n Would add to ${configPath}:`));
197
+ console.log(chalk.gray(JSON.stringify({ apiclaw: APICLAW_CONFIG }, null, 4)));
145
198
  return { success: true, message: 'Dry run - no changes made', skipped: true };
146
199
  }
147
200
  // Write config
@@ -157,10 +210,10 @@ function installToClient(client, dryRun) {
157
210
  /**
158
211
  * Main mcp-install command handler
159
212
  */
160
- async function mcpInstallCommand(options) {
213
+ export async function mcpInstallCommand(options) {
161
214
  const os = detectOS();
162
215
  const osName = os === 'mac' ? 'macOS' : os === 'win' ? 'Windows' : 'Linux';
163
- console.log(chalk_1.default.bold('\n🦞 APIClaw MCP Install\n'));
216
+ console.log(chalk.bold('\n🦞 APIClaw MCP Install\n'));
164
217
  console.log(`Platform: ${osName}\n`);
165
218
  const clients = getClientConfigs();
166
219
  let targetClients = clients;
@@ -175,11 +228,13 @@ async function mcpInstallCommand(options) {
175
228
  'code': 'claude-code',
176
229
  'claude-code': 'claude-code',
177
230
  'claudecode': 'claude-code',
231
+ 'codex': 'codex',
232
+ 'openai': 'codex',
178
233
  };
179
234
  const targetName = aliases[normalizedClient];
180
235
  if (!targetName) {
181
- console.log(chalk_1.default.red(`❌ Unknown client: ${options.client}`));
182
- console.log(' Supported: claude-desktop, claude-code');
236
+ console.log(chalk.red(`❌ Unknown client: ${options.client}`));
237
+ console.log(' Supported: claude-desktop, claude-code, codex');
183
238
  process.exit(1);
184
239
  }
185
240
  targetClients = clients.filter(c => c.name === targetName);
@@ -188,10 +243,18 @@ async function mcpInstallCommand(options) {
188
243
  console.log('🔍 Detecting MCP clients...\n');
189
244
  const detectedClients = [];
190
245
  for (const client of targetClients) {
191
- const configPath = client.getConfigPath();
192
- const configDir = (0, path_1.dirname)(configPath);
193
- const exists = (0, fs_1.existsSync)(configPath) || (0, fs_1.existsSync)(configDir);
194
- const icon = exists ? chalk_1.default.green('✓') : chalk_1.default.gray('✗');
246
+ let exists = false;
247
+ // Special detection for Codex (check CLI availability)
248
+ if (client.name === 'codex') {
249
+ exists = isCodexAvailable();
250
+ }
251
+ else {
252
+ // For JSON-based configs, check file/dir existence
253
+ const configPath = client.getConfigPath();
254
+ const configDir = dirname(configPath);
255
+ exists = existsSync(configPath) || existsSync(configDir);
256
+ }
257
+ const icon = exists ? chalk.green('✓') : chalk.gray('✗');
195
258
  const status = exists ? 'found' : 'not found';
196
259
  console.log(` ${icon} ${client.displayName} ${status}`);
197
260
  if (exists) {
@@ -200,7 +263,7 @@ async function mcpInstallCommand(options) {
200
263
  }
201
264
  console.log('');
202
265
  if (detectedClients.length === 0) {
203
- console.log(chalk_1.default.yellow('⚠️ No MCP clients detected.'));
266
+ console.log(chalk.yellow('⚠️ No MCP clients detected.'));
204
267
  console.log(' Install Claude Desktop or Claude Code first.\n');
205
268
  process.exit(0);
206
269
  }
@@ -213,30 +276,30 @@ async function mcpInstallCommand(options) {
213
276
  if (result.success) {
214
277
  if (result.skipped) {
215
278
  skipCount++;
216
- console.log(chalk_1.default.yellow(`⏭️ ${client.displayName}: ${result.message}`));
279
+ console.log(chalk.yellow(`⏭️ ${client.displayName}: ${result.message}`));
217
280
  }
218
281
  else {
219
282
  successCount++;
220
- console.log(chalk_1.default.green(`✓ ${client.displayName}: ${result.message}`));
283
+ console.log(chalk.green(`✓ ${client.displayName}: ${result.message}`));
221
284
  }
222
285
  }
223
286
  else {
224
287
  failCount++;
225
- console.log(chalk_1.default.red(`✗ ${client.displayName}: ${result.message}`));
288
+ console.log(chalk.red(`✗ ${client.displayName}: ${result.message}`));
226
289
  }
227
290
  }
228
291
  // Summary
229
292
  console.log('\n' + '═'.repeat(50));
230
293
  if (failCount === 0) {
231
294
  if (options.dryRun) {
232
- console.log(chalk_1.default.cyan('\n✅ Dry run complete! Run without --dry-run to apply changes.\n'));
295
+ console.log(chalk.cyan('\n✅ Dry run complete! Run without --dry-run to apply changes.\n'));
233
296
  }
234
297
  else if (successCount > 0) {
235
- console.log(chalk_1.default.green('\n✅ APIClaw installed successfully!\n'));
236
- console.log(chalk_1.default.bold('What you get:\n'));
237
- console.log(chalk_1.default.cyan(' 🔍 Search') + ' 22,000+ APIs to discover');
238
- console.log(chalk_1.default.cyan(' 🌐 Open APIs') + ' 1,600 free APIs');
239
- console.log(chalk_1.default.cyan(' 🔑 Direct Call') + ' 1,500+ premium (APIClaw manages keys)');
298
+ console.log(chalk.green('\n✅ APIClaw installed successfully!\n'));
299
+ console.log(chalk.bold('What you get:\n'));
300
+ console.log(chalk.cyan(' 🔍 Search') + ' 22,000+ APIs to discover');
301
+ console.log(chalk.cyan(' 🌐 Open APIs') + ' 1,600 free APIs');
302
+ console.log(chalk.cyan(' 🔑 Direct Call') + ' 1,500+ premium (APIClaw manages keys)');
240
303
  console.log('');
241
304
  console.log('Next:');
242
305
  console.log(' 1. Restart your MCP client');
@@ -245,17 +308,18 @@ async function mcpInstallCommand(options) {
245
308
  console.log('Docs: https://apiclaw.com/docs\n');
246
309
  }
247
310
  else {
248
- console.log(chalk_1.default.yellow('\n✅ APIClaw already installed in all clients.\n'));
249
- console.log(chalk_1.default.bold('What you have:\n'));
250
- console.log(chalk_1.default.cyan(' 🔍 Search') + ' 22,000+ APIs to discover');
251
- console.log(chalk_1.default.cyan(' 🌐 Open APIs') + ' 1,600 free APIs');
252
- console.log(chalk_1.default.cyan(' 🔑 Direct Call') + ' 1,500+ premium (APIClaw manages keys)');
311
+ console.log(chalk.yellow('\n✅ APIClaw already installed in all clients.\n'));
312
+ console.log(chalk.bold('What you have:\n'));
313
+ console.log(chalk.cyan(' 🔍 Search') + ' 22,000+ APIs to discover');
314
+ console.log(chalk.cyan(' 🌐 Open APIs') + ' 1,600 free APIs');
315
+ console.log(chalk.cyan(' 🔑 Direct Call') + ' 1,500+ premium (APIClaw manages keys)');
253
316
  console.log('');
254
317
  console.log('Run with --force to reinstall (coming soon).\n');
255
318
  }
256
319
  }
257
320
  else {
258
- console.log(chalk_1.default.red(`\n⚠️ Installation completed with ${failCount} error(s).\n`));
321
+ console.log(chalk.red(`\n⚠️ Installation completed with ${failCount} error(s).\n`));
259
322
  process.exit(1);
260
323
  }
261
324
  }
325
+ //# sourceMappingURL=mcp-install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-install.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-install.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nordsym/apiclaw",
3
- "version": "1.5.14",
3
+ "version": "1.5.16",
4
4
  "description": "The API layer for AI agents. Dashboard + 22K APIs + 18 Direct Call providers. MCP native.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -7,6 +7,7 @@
7
7
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
8
8
  import { dirname, join } from 'path';
9
9
  import { platform, homedir } from 'os';
10
+ import { execSync } from 'child_process';
10
11
  import chalk from 'chalk';
11
12
 
12
13
  export interface MCPInstallOptions {
@@ -74,6 +75,15 @@ function getClientConfigs(): ClientConfig[] {
74
75
  return join(home, '.claude.json');
75
76
  },
76
77
  },
78
+ {
79
+ name: 'codex',
80
+ displayName: 'Codex (OpenAI)',
81
+ configKey: 'mcp',
82
+ getConfigPath: () => {
83
+ // Codex uses ~/.codex/config.toml
84
+ return join(home, '.codex', 'config.toml');
85
+ },
86
+ },
77
87
  ];
78
88
 
79
89
  return clients;
@@ -138,10 +148,62 @@ function writeConfig(path: string, config: any, createBackup = true): { success:
138
148
  }
139
149
  }
140
150
 
151
+ /**
152
+ * Check if Codex CLI is available
153
+ */
154
+ function isCodexAvailable(): boolean {
155
+ try {
156
+ execSync('codex --version', { stdio: 'pipe' });
157
+ return true;
158
+ } catch {
159
+ return false;
160
+ }
161
+ }
162
+
163
+ /**
164
+ * Install APIClaw to Codex using CLI
165
+ */
166
+ function installToCodex(dryRun: boolean): { success: boolean; message: string; skipped?: boolean } {
167
+ if (!isCodexAvailable()) {
168
+ return { success: false, message: 'Codex CLI not found' };
169
+ }
170
+
171
+ try {
172
+ // Check if already installed
173
+ try {
174
+ const output = execSync('codex mcp get apiclaw', { encoding: 'utf-8', stdio: 'pipe' });
175
+ if (output.includes('apiclaw')) {
176
+ return { success: true, message: 'Already installed', skipped: true };
177
+ }
178
+ } catch {
179
+ // Not installed, continue
180
+ }
181
+
182
+ if (dryRun) {
183
+ console.log(chalk.cyan('\n Would run: codex mcp add apiclaw -- npx -y @nordsym/apiclaw'));
184
+ return { success: true, message: 'Dry run - no changes made', skipped: true };
185
+ }
186
+
187
+ // Install
188
+ execSync('codex mcp add apiclaw -- npx -y @nordsym/apiclaw', { stdio: 'pipe' });
189
+ return { success: true, message: 'Installed via CLI' };
190
+ } catch (error) {
191
+ return {
192
+ success: false,
193
+ message: error instanceof Error ? error.message : 'Unknown error'
194
+ };
195
+ }
196
+ }
197
+
141
198
  /**
142
199
  * Install APIClaw into a client config
143
200
  */
144
201
  function installToClient(client: ClientConfig, dryRun: boolean): { success: boolean; message: string; skipped?: boolean } {
202
+ // Special handling for Codex
203
+ if (client.name === 'codex') {
204
+ return installToCodex(dryRun);
205
+ }
206
+
145
207
  const configPath = client.getConfigPath();
146
208
 
147
209
  // Read existing config
@@ -207,12 +269,14 @@ export async function mcpInstallCommand(options: MCPInstallOptions): Promise<voi
207
269
  'code': 'claude-code',
208
270
  'claude-code': 'claude-code',
209
271
  'claudecode': 'claude-code',
272
+ 'codex': 'codex',
273
+ 'openai': 'codex',
210
274
  };
211
275
 
212
276
  const targetName = aliases[normalizedClient];
213
277
  if (!targetName) {
214
278
  console.log(chalk.red(`❌ Unknown client: ${options.client}`));
215
- console.log(' Supported: claude-desktop, claude-code');
279
+ console.log(' Supported: claude-desktop, claude-code, codex');
216
280
  process.exit(1);
217
281
  }
218
282
 
@@ -224,9 +288,17 @@ export async function mcpInstallCommand(options: MCPInstallOptions): Promise<voi
224
288
 
225
289
  const detectedClients: ClientConfig[] = [];
226
290
  for (const client of targetClients) {
227
- const configPath = client.getConfigPath();
228
- const configDir = dirname(configPath);
229
- const exists = existsSync(configPath) || existsSync(configDir);
291
+ let exists = false;
292
+
293
+ // Special detection for Codex (check CLI availability)
294
+ if (client.name === 'codex') {
295
+ exists = isCodexAvailable();
296
+ } else {
297
+ // For JSON-based configs, check file/dir existence
298
+ const configPath = client.getConfigPath();
299
+ const configDir = dirname(configPath);
300
+ exists = existsSync(configPath) || existsSync(configDir);
301
+ }
230
302
 
231
303
  const icon = exists ? chalk.green('✓') : chalk.gray('✗');
232
304
  const status = exists ? 'found' : 'not found';