@nordsym/apiclaw 2.6.3 → 2.6.4
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 +211 -37
- 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":"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"}
|
|
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":";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,yBAAyB,KAAK,KAAK,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;QAE5C,mCAAmC;QACnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,uBAAuB,EAAE;YAC5F,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;SAC7C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA2D,CAAC;QAE9F,IAAI,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YACrC,OAAO,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;YACvC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YAEjE,iCAAiC;YACjC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAChD,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAErC,MAAM,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,WAAW,MAAM,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,KAAa,EAAE,WAAmB;IACnE,MAAM,WAAW,GAAG,EAAE,CAAC,CAAC,YAAY;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB;QAEpE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;YACvG,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAKjC,CAAC;YAEF,IAAI,MAAM,EAAE,QAAQ,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;gBAC7C,wBAAwB;gBACxB,YAAY,CACV,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,WAAW,IAAI,EAAE,EACxB,MAAM,CAAC,KAAK,IAAI,EAAE,CACnB,CAAC;gBAEF,OAAO,CAAC,oBAAoB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;gBAE7C,2BAA2B;gBAC3B,MAAM,eAAe,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mBAAmB;QACrB,CAAC;QAED,oBAAoB;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,CAAC;IACV,KAAK,CAAC,2CAA2C,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IAEtC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,iBAAiB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACvD,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzB,IAAI,KAAK,IAAI,gBAAgB,EAAE,CAAC;QAC9B,OAAO,CAAC,oBAAoB,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;QACtD,GAAG,CAAC,YAAY,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,GAAG,CAAC,uBAAuB,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,mBAAmB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,GAAG,CAAC,EAAE,CAAC,CAAC;AACV,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAa;IACnC,IAAI,CAAC,mBAAmB,KAAK,GAAG,CAAC,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAEvD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,SAAS,OAAO,CAAC,MAAM,SAAS,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAExE,oDAAoD;QACpD,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAE7E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC5B,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9G,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,gBAAgB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;YACnE,GAAG,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7B,GAAG,CAAC,gBAAgB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpC,GAAG,CAAC,eAAe,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC;YACvD,GAAG,CAAC,EAAE,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAE1C,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,6CAA6C,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAErF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,GAAG,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;YAC1D,GAAG,CAAC,EAAE,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,MAAc,EAAE,MAA2B;IAClF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,WAAW,QAAQ,IAAI,MAAM,KAAK,CAAC,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,QAAQ,EACR,MAAM,EACN,MAAM,EACN,gBAAgB,CAAC,WAAW,CAC7B,CAAC;QAEF,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,GAAG,CAAC,EAAE,CAAC,CAAC;IACV,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,GAAG,CAAC;EACJ,MAAM,CAAC,MAAM,iBAAiB,MAAM,CAAC,KAAK;;EAE1C,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,KAAK;;;;;;;;;;EAUnC,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,KAAK;;;;;CAKpC,CAAC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,iCAAiC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,GAAG,CAAC;EACJ,MAAM,CAAC,MAAM,wBAAwB,MAAM,CAAC,KAAK;;;OAG5C,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,kBAAkB,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK;CACpF,CAAC,CAAC;IAED,2BAA2B;IAC3B,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IACtC,IAAI,KAAK,IAAI,gBAAgB,EAAE,CAAC;QAC9B,OAAO,CAAC,oBAAoB,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,2BAA2B,MAAM,CAAC,IAAI,mBAAmB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,GAAG,CAAC,EAAE,CAAC,CAAC;IAER,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,UAAU,MAAM,CAAC,KAAK,IAAI;KAChD,CAAC,CAAC;IAEH,EAAE,CAAC,MAAM,EAAE,CAAC;IAEZ,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE/B,QAAQ,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1B,KAAK,EAAE;gBACL,MAAM;YAER,KAAK,MAAM,CAAC;YACZ,KAAK,GAAG;gBACN,QAAQ,EAAE,CAAC;gBACX,MAAM;YAER,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,GAAG;gBACN,GAAG,CAAC,SAAS,CAAC,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,MAAM;YAER,KAAK,UAAU;gBACb,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,MAAM,UAAU,EAAE,CAAC;gBACnB,MAAM;YAER,KAAK,UAAU,CAAC;YAChB,KAAK,QAAQ;gBACX,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM;YAER,KAAK,MAAM,CAAC;YACZ,KAAK,WAAW;gBACd,MAAM,aAAa,EAAE,CAAC;gBACtB,MAAM;YAER,KAAK,MAAM;gBACT,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBAC3D,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC/D,CAAC;gBACD,MAAM;YAER;gBACE,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;gBACjC,GAAG,CAAC,QAAQ,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,0BAA0B,CAAC,CAAC;QAC1E,CAAC;QAED,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,GAAG,CAAC,WAAW,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
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 {
|
|
@@ -518,7 +553,7 @@ const SUGGESTED_CALL_RULES = [
|
|
|
518
553
|
provider: 'apilayer',
|
|
519
554
|
action: 'fixer_latest',
|
|
520
555
|
description: 'Live FX rates across 170+ currencies via APILayer Fixer.',
|
|
521
|
-
example_params: {
|
|
556
|
+
example_params: { symbols: 'EUR,SEK' },
|
|
522
557
|
intent: 'currency exchange / FX rates',
|
|
523
558
|
},
|
|
524
559
|
},
|
|
@@ -562,16 +597,6 @@ const SUGGESTED_CALL_RULES = [
|
|
|
562
597
|
intent: 'email verification',
|
|
563
598
|
},
|
|
564
599
|
},
|
|
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
600
|
{
|
|
576
601
|
match: /(\bvat\b|tax id|vies)/i,
|
|
577
602
|
suggestion: {
|
|
@@ -582,16 +607,6 @@ const SUGGESTED_CALL_RULES = [
|
|
|
582
607
|
intent: 'VAT validation',
|
|
583
608
|
},
|
|
584
609
|
},
|
|
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
610
|
{
|
|
596
611
|
match: /(screenshot|capture.*website|render.*page)/i,
|
|
597
612
|
suggestion: {
|
|
@@ -1131,6 +1146,53 @@ Example chain:
|
|
|
1131
1146
|
}
|
|
1132
1147
|
},
|
|
1133
1148
|
// ============================================
|
|
1149
|
+
// CONTROL PLANE — MISSIONS
|
|
1150
|
+
// ============================================
|
|
1151
|
+
{
|
|
1152
|
+
name: 'start_mission',
|
|
1153
|
+
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.',
|
|
1154
|
+
inputSchema: {
|
|
1155
|
+
type: 'object',
|
|
1156
|
+
properties: {
|
|
1157
|
+
template: {
|
|
1158
|
+
type: 'string',
|
|
1159
|
+
description: 'Template id. Currently: genprd.',
|
|
1160
|
+
},
|
|
1161
|
+
params: {
|
|
1162
|
+
type: 'object',
|
|
1163
|
+
description: 'Template-specific parameters (see list_mission_templates for the schema).',
|
|
1164
|
+
},
|
|
1165
|
+
},
|
|
1166
|
+
required: ['template'],
|
|
1167
|
+
},
|
|
1168
|
+
},
|
|
1169
|
+
{
|
|
1170
|
+
name: 'list_mission_templates',
|
|
1171
|
+
description: 'List the Control Plane mission templates available to your agent and the parameters each one accepts.',
|
|
1172
|
+
inputSchema: { type: 'object', properties: {} },
|
|
1173
|
+
},
|
|
1174
|
+
{
|
|
1175
|
+
name: 'mission_status',
|
|
1176
|
+
description: 'Check status, audit events, cost, and final result for a mission started via start_mission.',
|
|
1177
|
+
inputSchema: {
|
|
1178
|
+
type: 'object',
|
|
1179
|
+
properties: {
|
|
1180
|
+
mission_id: { type: 'string', description: 'Mission id from start_mission' },
|
|
1181
|
+
},
|
|
1182
|
+
required: ['mission_id'],
|
|
1183
|
+
},
|
|
1184
|
+
},
|
|
1185
|
+
{
|
|
1186
|
+
name: 'list_missions',
|
|
1187
|
+
description: 'List recent missions in the current workspace (most recent first).',
|
|
1188
|
+
inputSchema: {
|
|
1189
|
+
type: 'object',
|
|
1190
|
+
properties: {
|
|
1191
|
+
limit: { type: 'number', description: 'Max rows (default 20, max 200)' },
|
|
1192
|
+
},
|
|
1193
|
+
},
|
|
1194
|
+
},
|
|
1195
|
+
// ============================================
|
|
1134
1196
|
// CHAIN MANAGEMENT TOOLS
|
|
1135
1197
|
// ============================================
|
|
1136
1198
|
{
|
|
@@ -1213,7 +1275,7 @@ MANAGED PROVIDERS:
|
|
|
1213
1275
|
OpenAI, Anthropic, xAI/Grok, Groq, Mistral, OpenRouter, Together AI,
|
|
1214
1276
|
Replicate, ElevenLabs, Deepgram, AssemblyAI, Brave Search, Firecrawl,
|
|
1215
1277
|
Serper, E2B, Stability AI, Cohere, Voyage AI, GitHub,
|
|
1216
|
-
APILayer (
|
|
1278
|
+
APILayer (22 callable sub-APIs)
|
|
1217
1279
|
|
|
1218
1280
|
${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
1281
|
|
|
@@ -1248,7 +1310,7 @@ Docs: https://apiclaw.cloud
|
|
|
1248
1310
|
const responseTimeMs = Date.now() - startTime;
|
|
1249
1311
|
trackSearch(query, results.length, responseTimeMs);
|
|
1250
1312
|
// Suggested-call enrichment.
|
|
1251
|
-
// When a query matches a known managed sub-action (APILayer's
|
|
1313
|
+
// When a query matches a known managed sub-action (APILayer's 22-callable
|
|
1252
1314
|
// wrapper has the most non-obvious slugs), surface the exact call
|
|
1253
1315
|
// shape so the agent doesn't have to fish for it via list_connected.
|
|
1254
1316
|
const suggestedCalls = buildSuggestedCalls(query);
|
|
@@ -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) {
|