@nordsym/apiclaw 2.6.3 → 2.6.5
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/README.md +41 -5
- package/dist/bin.js +1 -1
- package/dist/bin.js.map +1 -1
- package/dist/cli/commands/direct.d.ts +20 -0
- package/dist/cli/commands/direct.d.ts.map +1 -0
- package/dist/cli/commands/direct.js +117 -0
- package/dist/cli/commands/direct.js.map +1 -0
- package/dist/cli/commands/mcp-install.js +1 -1
- package/dist/cli/commands/mcp-install.js.map +1 -1
- package/dist/cli/commands/mission.d.ts +10 -0
- package/dist/cli/commands/mission.d.ts.map +1 -0
- package/dist/cli/commands/mission.js +279 -0
- package/dist/cli/commands/mission.js.map +1 -0
- package/dist/cli/index.js +46 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli.js +3 -3
- package/dist/cli.js.map +1 -1
- package/dist/index.js +237 -63
- package/dist/index.js.map +1 -1
- package/dist/proxy.js +1 -1
- package/dist/proxy.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -12,6 +12,8 @@ import { restoreCommand } from './commands/restore.js';
|
|
|
12
12
|
import { uninstallCommand } from './commands/uninstall.js';
|
|
13
13
|
import { loginCommand } from './commands/login.js';
|
|
14
14
|
import { demoCommand } from './commands/demo.js';
|
|
15
|
+
import { missionCommand } from './commands/mission.js';
|
|
16
|
+
import { discoverCommand, callCommand, detailsCommand, balanceCommand } from './commands/direct.js';
|
|
15
17
|
import { generateScript } from '../enterprise/script-generator.js';
|
|
16
18
|
const VERSION = '1.0.0';
|
|
17
19
|
const program = new Command();
|
|
@@ -125,6 +127,50 @@ program
|
|
|
125
127
|
.option('-c, --client <client>', 'Target specific client (claude-desktop, claude-code)')
|
|
126
128
|
.option('--dry-run', 'Show what would be done without making changes')
|
|
127
129
|
.action(uninstallCommand);
|
|
130
|
+
// Direct CLI parity with the MCP tool surface.
|
|
131
|
+
program
|
|
132
|
+
.command('discover <query>')
|
|
133
|
+
.description('Search APIClaw\'s catalog of 26,000+ APIs')
|
|
134
|
+
.option('-c, --category <cat>', 'Filter by category')
|
|
135
|
+
.option('--callable', 'Only return APIs APIClaw can execute')
|
|
136
|
+
.option('-l, --limit <n>', 'Max results', (v) => parseInt(v, 10))
|
|
137
|
+
.action(discoverCommand);
|
|
138
|
+
program
|
|
139
|
+
.command('call <api>')
|
|
140
|
+
.description('Execute a callable API through APIClaw\'s gateway')
|
|
141
|
+
.option('-p, --path <path>', 'API path (default /)')
|
|
142
|
+
.option('-m, --method <method>', 'HTTP method (GET/POST/PUT/PATCH/DELETE)')
|
|
143
|
+
.option('--params <json>', 'Query string parameters as JSON')
|
|
144
|
+
.option('-d, --body <json>', 'Request body as JSON')
|
|
145
|
+
.action(callCommand);
|
|
146
|
+
program
|
|
147
|
+
.command('details <api>')
|
|
148
|
+
.description('Get full specs, pricing, auth for a specific API')
|
|
149
|
+
.action(detailsCommand);
|
|
150
|
+
program
|
|
151
|
+
.command('balance')
|
|
152
|
+
.description('Workspace balance, tier, remaining calls')
|
|
153
|
+
.action(balanceCommand);
|
|
154
|
+
// Control Plane — Missions
|
|
155
|
+
//
|
|
156
|
+
// Run an orchestration on APIClaw's runtime. Subcommands:
|
|
157
|
+
// apiclaw mission templates # show registered templates
|
|
158
|
+
// apiclaw mission start <template> [--key val] # queue a mission
|
|
159
|
+
// apiclaw mission watch <id> # tail events live
|
|
160
|
+
// apiclaw mission status <id> # final state + result
|
|
161
|
+
// apiclaw mission list # recent missions
|
|
162
|
+
program
|
|
163
|
+
.command('mission [subcommand] [args...]')
|
|
164
|
+
.description('Control Plane: run, watch, and inspect missions on APIClaw\'s runtime')
|
|
165
|
+
.allowUnknownOption(true)
|
|
166
|
+
.action(async (subcommand, args) => {
|
|
167
|
+
const argv = [];
|
|
168
|
+
if (subcommand)
|
|
169
|
+
argv.push(subcommand);
|
|
170
|
+
if (Array.isArray(args))
|
|
171
|
+
argv.push(...args);
|
|
172
|
+
await missionCommand(argv);
|
|
173
|
+
});
|
|
128
174
|
// Parse and execute
|
|
129
175
|
program.parse();
|
|
130
176
|
// Show help if no command provided
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,iFAAiF,CAAC;KAC9F,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,mCAAmC;AACnC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,uBAAuB,EAAE,4EAA4E,CAAC;KAC7G,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;KACpD,MAAM,CAAC,sBAAsB,EAAE,+BAA+B,CAAC;KAC/D,MAAM,CAAC,WAAW,EAAE,+CAA+C,CAAC;KACpE,MAAM,CAAC,aAAa,EAAE,0CAA0C,CAAC;KACjE,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,OAAO,EAAE,gCAAgC,CAAC;KACjD,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;KACzC,MAAM,CAAC,cAAc,EAAE,uCAAuC,CAAC;KAC/D,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;KAC9D,MAAM,CAAC,sBAAsB,EAAE,iDAAiD,CAAC;KACjF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,oCAAoC;IACpC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC;QAChD,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,EAAE;YACxC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,qCAAqC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,8CAA8C,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO;IACT,CAAC;IAED,eAAe;IACf,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,oDAAoD;AACpD,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,MAAM,CAAC,uBAAuB,EAAE,sDAAsD,CAAC;KACvF,MAAM,CAAC,WAAW,EAAE,+CAA+C,CAAC;KACpE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,gCAAgC;AAChC,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,sBAAsB,EAAE,yCAAyC,CAAC;KACzE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,yCAAyC;AACzC,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;KACzD,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;KAC9C,MAAM,CAAC,qBAAqB,EAAE,iCAAiC,CAAC;KAChE,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC;KACrE,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,qCAAqC;AACrC,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;KACzD,MAAM,CAAC,OAAO,EAAE,yBAAyB,CAAC;KAC1C,MAAM,CAAC,sBAAsB,EAAE,0CAA0C,CAAC;KAC1E,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC;KAC7C,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC;KACrE,MAAM,CAAC,aAAa,EAAE,+BAA+B,CAAC;KACtD,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,0DAA0D;AAC1D,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;KACrD,MAAM,CAAC,aAAa,EAAE,0CAA0C,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAClF,IAAI,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,sDAAsD;AACtD,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,WAAW,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,+EAA+E;AAC/E,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,uBAAuB,EAAE,sDAAsD,CAAC;KACvF,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC;KACrE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,oBAAoB;AACpB,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,mCAAmC;AACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -60,10 +60,10 @@ async function validateSession() {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
async function registerOwner(email) {
|
|
63
|
-
info(`Sending
|
|
63
|
+
info(`Sending magic link to ${email}...`);
|
|
64
64
|
try {
|
|
65
65
|
const fingerprint = getMachineFingerprint();
|
|
66
|
-
// Use HTTP endpoint for
|
|
66
|
+
// Use HTTP endpoint for magic link
|
|
67
67
|
const response = await fetch(`${CONVEX_URL.replace('.cloud', '.site')}/workspace/magic-link`, {
|
|
68
68
|
method: 'POST',
|
|
69
69
|
headers: { 'Content-Type': 'application/json' },
|
|
@@ -187,7 +187,7 @@ function showHelp() {
|
|
|
187
187
|
${colors.bright}🦞 APIClaw CLI${colors.reset}
|
|
188
188
|
|
|
189
189
|
${colors.cyan}Commands:${colors.reset}
|
|
190
|
-
register <email> Send
|
|
190
|
+
register <email> Send magic link to authenticate
|
|
191
191
|
status Check authentication status
|
|
192
192
|
discover <query> Search for APIs by capability
|
|
193
193
|
list Show Direct Call providers
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAgC,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE9F,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,qDAAqD,CAAC;AACnG,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAEhD,sBAAsB;AACtB,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,SAAS,GAAG,CAAC,GAAW;IACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,KAAK,CAAC,GAAW;IACxB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;AACvD,CAAC;AAUD,IAAI,gBAAgB,GAA4B,IAAI,CAAC;AAErD,KAAK,UAAU,eAAe;IAC5B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,+BAAsC,EAAE;YACxE,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAQ,CAAC;QAEV,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1D,YAAY,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gBAAgB,GAAG;YACjB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM;YAC3B,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;SAC3C,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAa;IACxC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -284,7 +284,24 @@ async function validateSession() {
|
|
|
284
284
|
return true;
|
|
285
285
|
}
|
|
286
286
|
catch (error) {
|
|
287
|
-
|
|
287
|
+
// Convex unreachable at startup (cold boot, network blip, etc.).
|
|
288
|
+
// Trust the local session file rather than wiping context entirely.
|
|
289
|
+
// The token will be validated on the first real API call anyway.
|
|
290
|
+
console.error('[APIClaw] Convex unreachable during startup validation — using cached session:', error.message);
|
|
291
|
+
const cached = readSession();
|
|
292
|
+
if (cached?.sessionToken && cached?.workspaceId && cached?.email) {
|
|
293
|
+
workspaceContext = {
|
|
294
|
+
sessionToken: cached.sessionToken,
|
|
295
|
+
workspaceId: cached.workspaceId,
|
|
296
|
+
email: cached.email,
|
|
297
|
+
tier: 'founder', // conservative fallback — overwritten on next live query
|
|
298
|
+
usageRemaining: 999999,
|
|
299
|
+
usageCount: 0,
|
|
300
|
+
status: 'active',
|
|
301
|
+
};
|
|
302
|
+
console.error(`[APIClaw] ✓ Restored session from cache for ${cached.email}`);
|
|
303
|
+
return true;
|
|
304
|
+
}
|
|
288
305
|
return false;
|
|
289
306
|
}
|
|
290
307
|
}
|
|
@@ -319,17 +336,35 @@ const UNREGISTERED_CALL_LIMIT = 5;
|
|
|
319
336
|
function checkWorkspaceAccess(providerId) {
|
|
320
337
|
// All API calls require registration now
|
|
321
338
|
if (!workspaceContext) {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
339
|
+
// Before giving up, try to restore from the local session file.
|
|
340
|
+
// This handles the case where validateSession() failed at startup
|
|
341
|
+
// (network blip, Convex cold boot) but a valid file still exists.
|
|
342
|
+
const cached = readSession();
|
|
343
|
+
if (cached?.sessionToken && cached?.workspaceId && cached?.email) {
|
|
344
|
+
workspaceContext = {
|
|
345
|
+
sessionToken: cached.sessionToken,
|
|
346
|
+
workspaceId: cached.workspaceId,
|
|
347
|
+
email: cached.email,
|
|
348
|
+
tier: 'founder',
|
|
349
|
+
usageRemaining: 999999,
|
|
350
|
+
usageCount: 0,
|
|
351
|
+
status: 'active',
|
|
352
|
+
};
|
|
353
|
+
console.error(`[APIClaw] ✓ Lazy-restored session for ${cached.email}`);
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
return {
|
|
357
|
+
allowed: false,
|
|
358
|
+
error: JSON.stringify({
|
|
359
|
+
status: 'registration_required',
|
|
360
|
+
error: 'Registration required to call APIs.',
|
|
361
|
+
message: 'Ask the user for their email, then call register_owner({ email: "..." }). A 6-digit code will be sent. Then call verify_code with the code.',
|
|
362
|
+
action: 'register_owner',
|
|
363
|
+
free_tier: '50 API calls/month -- completely free.',
|
|
364
|
+
}, null, 2),
|
|
365
|
+
isAnonymous: true,
|
|
366
|
+
};
|
|
367
|
+
}
|
|
333
368
|
}
|
|
334
369
|
if (workspaceContext.status !== 'active') {
|
|
335
370
|
return {
|
|
@@ -337,16 +372,17 @@ function checkWorkspaceAccess(providerId) {
|
|
|
337
372
|
error: `Workspace status: ${workspaceContext.status}. Please verify your email.`
|
|
338
373
|
};
|
|
339
374
|
}
|
|
340
|
-
//
|
|
341
|
-
if (!workspaceContext.email
|
|
375
|
+
// No email = no calls. Full stop.
|
|
376
|
+
if (!workspaceContext.email) {
|
|
342
377
|
return {
|
|
343
378
|
allowed: false,
|
|
344
379
|
error: JSON.stringify({
|
|
345
|
-
|
|
346
|
-
error:
|
|
347
|
-
|
|
348
|
-
action:
|
|
349
|
-
}, null, 2)
|
|
380
|
+
status: 'registration_required',
|
|
381
|
+
error: 'An account is required to use APIClaw.',
|
|
382
|
+
message: 'Call register_owner({ email: "you@example.com" }) to sign up. Free tier: 25 calls/month.',
|
|
383
|
+
action: 'register_owner',
|
|
384
|
+
}, null, 2),
|
|
385
|
+
isAnonymous: true,
|
|
350
386
|
};
|
|
351
387
|
}
|
|
352
388
|
if (workspaceContext.usageRemaining === 0) {
|
|
@@ -518,7 +554,7 @@ const SUGGESTED_CALL_RULES = [
|
|
|
518
554
|
provider: 'apilayer',
|
|
519
555
|
action: 'fixer_latest',
|
|
520
556
|
description: 'Live FX rates across 170+ currencies via APILayer Fixer.',
|
|
521
|
-
example_params: {
|
|
557
|
+
example_params: { symbols: 'EUR,SEK' },
|
|
522
558
|
intent: 'currency exchange / FX rates',
|
|
523
559
|
},
|
|
524
560
|
},
|
|
@@ -562,16 +598,6 @@ const SUGGESTED_CALL_RULES = [
|
|
|
562
598
|
intent: 'email verification',
|
|
563
599
|
},
|
|
564
600
|
},
|
|
565
|
-
{
|
|
566
|
-
match: /(verify[\s-]?(phone|number)|phone.*valid)/i,
|
|
567
|
-
suggestion: {
|
|
568
|
-
provider: 'apilayer',
|
|
569
|
-
action: 'number_verification',
|
|
570
|
-
description: 'Validate phone numbers and identify carriers via APILayer.',
|
|
571
|
-
example_params: { number: '+14158586273' },
|
|
572
|
-
intent: 'phone verification',
|
|
573
|
-
},
|
|
574
|
-
},
|
|
575
601
|
{
|
|
576
602
|
match: /(\bvat\b|tax id|vies)/i,
|
|
577
603
|
suggestion: {
|
|
@@ -582,16 +608,6 @@ const SUGGESTED_CALL_RULES = [
|
|
|
582
608
|
intent: 'VAT validation',
|
|
583
609
|
},
|
|
584
610
|
},
|
|
585
|
-
{
|
|
586
|
-
match: /(\bnews\b|headlines|articles)/i,
|
|
587
|
-
suggestion: {
|
|
588
|
-
provider: 'apilayer',
|
|
589
|
-
action: 'world_news',
|
|
590
|
-
description: 'Latest world news from thousands of sources via APILayer.',
|
|
591
|
-
example_params: { language: 'en', categories: 'business,technology' },
|
|
592
|
-
intent: 'news / headlines',
|
|
593
|
-
},
|
|
594
|
-
},
|
|
595
611
|
{
|
|
596
612
|
match: /(screenshot|capture.*website|render.*page)/i,
|
|
597
613
|
suggestion: {
|
|
@@ -1131,6 +1147,53 @@ Example chain:
|
|
|
1131
1147
|
}
|
|
1132
1148
|
},
|
|
1133
1149
|
// ============================================
|
|
1150
|
+
// CONTROL PLANE — MISSIONS
|
|
1151
|
+
// ============================================
|
|
1152
|
+
{
|
|
1153
|
+
name: 'start_mission',
|
|
1154
|
+
description: 'Start a Control Plane mission — a structured, observable orchestration that runs on APIClaw\'s runtime. Use this when the user wants to spin up a multi-step task (e.g. "generate a PRD") rather than a single API call. Returns a missionId you can poll with mission_status. Templates: genprd.',
|
|
1155
|
+
inputSchema: {
|
|
1156
|
+
type: 'object',
|
|
1157
|
+
properties: {
|
|
1158
|
+
template: {
|
|
1159
|
+
type: 'string',
|
|
1160
|
+
description: 'Template id. Currently: genprd.',
|
|
1161
|
+
},
|
|
1162
|
+
params: {
|
|
1163
|
+
type: 'object',
|
|
1164
|
+
description: 'Template-specific parameters (see list_mission_templates for the schema).',
|
|
1165
|
+
},
|
|
1166
|
+
},
|
|
1167
|
+
required: ['template'],
|
|
1168
|
+
},
|
|
1169
|
+
},
|
|
1170
|
+
{
|
|
1171
|
+
name: 'list_mission_templates',
|
|
1172
|
+
description: 'List the Control Plane mission templates available to your agent and the parameters each one accepts.',
|
|
1173
|
+
inputSchema: { type: 'object', properties: {} },
|
|
1174
|
+
},
|
|
1175
|
+
{
|
|
1176
|
+
name: 'mission_status',
|
|
1177
|
+
description: 'Check status, audit events, cost, and final result for a mission started via start_mission.',
|
|
1178
|
+
inputSchema: {
|
|
1179
|
+
type: 'object',
|
|
1180
|
+
properties: {
|
|
1181
|
+
mission_id: { type: 'string', description: 'Mission id from start_mission' },
|
|
1182
|
+
},
|
|
1183
|
+
required: ['mission_id'],
|
|
1184
|
+
},
|
|
1185
|
+
},
|
|
1186
|
+
{
|
|
1187
|
+
name: 'list_missions',
|
|
1188
|
+
description: 'List recent missions in the current workspace (most recent first).',
|
|
1189
|
+
inputSchema: {
|
|
1190
|
+
type: 'object',
|
|
1191
|
+
properties: {
|
|
1192
|
+
limit: { type: 'number', description: 'Max rows (default 20, max 200)' },
|
|
1193
|
+
},
|
|
1194
|
+
},
|
|
1195
|
+
},
|
|
1196
|
+
// ============================================
|
|
1134
1197
|
// CHAIN MANAGEMENT TOOLS
|
|
1135
1198
|
// ============================================
|
|
1136
1199
|
{
|
|
@@ -1213,7 +1276,7 @@ MANAGED PROVIDERS:
|
|
|
1213
1276
|
OpenAI, Anthropic, xAI/Grok, Groq, Mistral, OpenRouter, Together AI,
|
|
1214
1277
|
Replicate, ElevenLabs, Deepgram, AssemblyAI, Brave Search, Firecrawl,
|
|
1215
1278
|
Serper, E2B, Stability AI, Cohere, Voyage AI, GitHub,
|
|
1216
|
-
APILayer (
|
|
1279
|
+
APILayer (22 callable sub-APIs)
|
|
1217
1280
|
|
|
1218
1281
|
${CANON_STATS.discoverable.toLocaleString()} DISCOVERABLE | ${CANON_STATS.callable.toLocaleString()} CALLABLE (empirically verified, ${CANON_STATS.managed_directcallconfigs} managed) | Free tier: 25 calls / month, email signup required
|
|
1219
1282
|
|
|
@@ -1224,6 +1287,9 @@ Docs: https://apiclaw.cloud
|
|
|
1224
1287
|
};
|
|
1225
1288
|
}
|
|
1226
1289
|
case 'discover_apis': {
|
|
1290
|
+
const _discoverGate = enforceOwner("mcp:discover_apis");
|
|
1291
|
+
if (!_discoverGate.ok)
|
|
1292
|
+
return _discoverGate.response;
|
|
1227
1293
|
const query = args?.query;
|
|
1228
1294
|
const category = args?.category;
|
|
1229
1295
|
const requestedMax = args?.max_results || 5;
|
|
@@ -1248,7 +1314,7 @@ Docs: https://apiclaw.cloud
|
|
|
1248
1314
|
const responseTimeMs = Date.now() - startTime;
|
|
1249
1315
|
trackSearch(query, results.length, responseTimeMs);
|
|
1250
1316
|
// Suggested-call enrichment.
|
|
1251
|
-
// When a query matches a known managed sub-action (APILayer's
|
|
1317
|
+
// When a query matches a known managed sub-action (APILayer's 22-callable
|
|
1252
1318
|
// wrapper has the most non-obvious slugs), surface the exact call
|
|
1253
1319
|
// shape so the agent doesn't have to fish for it via list_connected.
|
|
1254
1320
|
const suggestedCalls = buildSuggestedCalls(query);
|
|
@@ -1726,25 +1792,21 @@ Docs: https://apiclaw.cloud
|
|
|
1726
1792
|
}]
|
|
1727
1793
|
};
|
|
1728
1794
|
}
|
|
1729
|
-
//
|
|
1730
|
-
const isFreeAPI = isOpenAPI(provider);
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
}],
|
|
1745
|
-
isError: true
|
|
1746
|
-
};
|
|
1747
|
-
}
|
|
1795
|
+
// All calls require a verified account — no free/open bypass.
|
|
1796
|
+
const isFreeAPI = isOpenAPI(provider); // kept for routing logic below
|
|
1797
|
+
const access = checkWorkspaceAccess(provider);
|
|
1798
|
+
if (!access.allowed) {
|
|
1799
|
+
return {
|
|
1800
|
+
content: [{
|
|
1801
|
+
type: 'text',
|
|
1802
|
+
text: JSON.stringify({
|
|
1803
|
+
status: 'error',
|
|
1804
|
+
error: access.error,
|
|
1805
|
+
hint: 'Use register_owner to authenticate your workspace.',
|
|
1806
|
+
}, null, 2)
|
|
1807
|
+
}],
|
|
1808
|
+
isError: true
|
|
1809
|
+
};
|
|
1748
1810
|
}
|
|
1749
1811
|
const startTime = Date.now();
|
|
1750
1812
|
let result;
|
|
@@ -2758,6 +2820,113 @@ Docs: https://apiclaw.cloud
|
|
|
2758
2820
|
};
|
|
2759
2821
|
}
|
|
2760
2822
|
// ============================================
|
|
2823
|
+
// CONTROL PLANE — MISSIONS
|
|
2824
|
+
// ============================================
|
|
2825
|
+
case 'list_mission_templates': {
|
|
2826
|
+
const url = process.env.APICLAW_GATEWAY_URL ||
|
|
2827
|
+
(CONVEX_URL.includes('convex.cloud')
|
|
2828
|
+
? CONVEX_URL.replace('.convex.cloud', '.convex.site')
|
|
2829
|
+
: 'https://adventurous-avocet-799.convex.site');
|
|
2830
|
+
const res = await fetch(`${url}/v1/missions/templates`);
|
|
2831
|
+
const data = await res.json();
|
|
2832
|
+
return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
|
|
2833
|
+
}
|
|
2834
|
+
case 'start_mission': {
|
|
2835
|
+
const template = args?.template;
|
|
2836
|
+
const params = args?.params ?? {};
|
|
2837
|
+
if (!template) {
|
|
2838
|
+
return {
|
|
2839
|
+
content: [{ type: 'text', text: JSON.stringify({ error: 'template is required', hint: 'call list_mission_templates' }, null, 2) }],
|
|
2840
|
+
isError: true,
|
|
2841
|
+
};
|
|
2842
|
+
}
|
|
2843
|
+
const ctx = workspaceContext;
|
|
2844
|
+
if (!ctx?.sessionToken) {
|
|
2845
|
+
return {
|
|
2846
|
+
content: [{ type: 'text', text: JSON.stringify({ error: 'unauthenticated', hint: 'register_owner first' }, null, 2) }],
|
|
2847
|
+
isError: true,
|
|
2848
|
+
};
|
|
2849
|
+
}
|
|
2850
|
+
const baseUrl = process.env.APICLAW_GATEWAY_URL ||
|
|
2851
|
+
(CONVEX_URL.includes('convex.cloud')
|
|
2852
|
+
? CONVEX_URL.replace('.convex.cloud', '.convex.site')
|
|
2853
|
+
: 'https://adventurous-avocet-799.convex.site');
|
|
2854
|
+
const res = await fetch(`${baseUrl}/v1/missions/start`, {
|
|
2855
|
+
method: 'POST',
|
|
2856
|
+
headers: {
|
|
2857
|
+
'Content-Type': 'application/json',
|
|
2858
|
+
'X-APIClaw-Session': ctx.sessionToken,
|
|
2859
|
+
},
|
|
2860
|
+
body: JSON.stringify({ template, params }),
|
|
2861
|
+
});
|
|
2862
|
+
const data = (await res.json());
|
|
2863
|
+
if (!res.ok) {
|
|
2864
|
+
return {
|
|
2865
|
+
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
2866
|
+
isError: true,
|
|
2867
|
+
};
|
|
2868
|
+
}
|
|
2869
|
+
return {
|
|
2870
|
+
content: [{
|
|
2871
|
+
type: 'text',
|
|
2872
|
+
text: JSON.stringify({
|
|
2873
|
+
...data,
|
|
2874
|
+
hint: `Poll with mission_status({ mission_id: "${data.missionId}" }) until status is "completed".`,
|
|
2875
|
+
}, null, 2),
|
|
2876
|
+
}],
|
|
2877
|
+
};
|
|
2878
|
+
}
|
|
2879
|
+
case 'mission_status': {
|
|
2880
|
+
const missionId = args?.mission_id;
|
|
2881
|
+
if (!missionId) {
|
|
2882
|
+
return {
|
|
2883
|
+
content: [{ type: 'text', text: JSON.stringify({ error: 'mission_id required' }, null, 2) }],
|
|
2884
|
+
isError: true,
|
|
2885
|
+
};
|
|
2886
|
+
}
|
|
2887
|
+
const ctx = workspaceContext;
|
|
2888
|
+
if (!ctx?.sessionToken) {
|
|
2889
|
+
return {
|
|
2890
|
+
content: [{ type: 'text', text: JSON.stringify({ error: 'unauthenticated' }, null, 2) }],
|
|
2891
|
+
isError: true,
|
|
2892
|
+
};
|
|
2893
|
+
}
|
|
2894
|
+
const baseUrl = process.env.APICLAW_GATEWAY_URL ||
|
|
2895
|
+
(CONVEX_URL.includes('convex.cloud')
|
|
2896
|
+
? CONVEX_URL.replace('.convex.cloud', '.convex.site')
|
|
2897
|
+
: 'https://adventurous-avocet-799.convex.site');
|
|
2898
|
+
const res = await fetch(`${baseUrl}/v1/missions/${encodeURIComponent(missionId)}`, {
|
|
2899
|
+
headers: { 'X-APIClaw-Session': ctx.sessionToken },
|
|
2900
|
+
});
|
|
2901
|
+
const data = await res.json();
|
|
2902
|
+
return {
|
|
2903
|
+
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
2904
|
+
isError: !res.ok,
|
|
2905
|
+
};
|
|
2906
|
+
}
|
|
2907
|
+
case 'list_missions': {
|
|
2908
|
+
const limit = args?.limit ?? 20;
|
|
2909
|
+
const ctx = workspaceContext;
|
|
2910
|
+
if (!ctx?.sessionToken) {
|
|
2911
|
+
return {
|
|
2912
|
+
content: [{ type: 'text', text: JSON.stringify({ error: 'unauthenticated' }, null, 2) }],
|
|
2913
|
+
isError: true,
|
|
2914
|
+
};
|
|
2915
|
+
}
|
|
2916
|
+
const baseUrl = process.env.APICLAW_GATEWAY_URL ||
|
|
2917
|
+
(CONVEX_URL.includes('convex.cloud')
|
|
2918
|
+
? CONVEX_URL.replace('.convex.cloud', '.convex.site')
|
|
2919
|
+
: 'https://adventurous-avocet-799.convex.site');
|
|
2920
|
+
const res = await fetch(`${baseUrl}/v1/missions?limit=${limit}`, {
|
|
2921
|
+
headers: { 'X-APIClaw-Session': ctx.sessionToken },
|
|
2922
|
+
});
|
|
2923
|
+
const data = await res.json();
|
|
2924
|
+
return {
|
|
2925
|
+
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
2926
|
+
isError: !res.ok,
|
|
2927
|
+
};
|
|
2928
|
+
}
|
|
2929
|
+
// ============================================
|
|
2761
2930
|
// CHAIN MANAGEMENT TOOLS
|
|
2762
2931
|
// ============================================
|
|
2763
2932
|
case 'get_chain_status': {
|
|
@@ -2984,9 +3153,14 @@ async function main() {
|
|
|
2984
3153
|
if (result?.agentId) {
|
|
2985
3154
|
currentAgentId = result.agentId;
|
|
2986
3155
|
}
|
|
2987
|
-
//
|
|
3156
|
+
// Only write a new anonymous session if no valid session file exists.
|
|
3157
|
+
// Never overwrite a file that has an email — that would cause the next
|
|
3158
|
+
// startup to read email:"" → delete the file → lose auth entirely.
|
|
2988
3159
|
if (result?.isNew && result?.sessionToken && !hasValidSession) {
|
|
2989
|
-
|
|
3160
|
+
const existingFile = readSession();
|
|
3161
|
+
if (!existingFile) {
|
|
3162
|
+
writeSession(result.sessionToken, result.workspaceId, "");
|
|
3163
|
+
}
|
|
2990
3164
|
}
|
|
2991
3165
|
}
|
|
2992
3166
|
catch (e) {
|