@nordsym/apiclaw 1.2.2 → 1.2.3
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/AGENTS.md +50 -33
- package/README.md +22 -12
- package/SOUL.md +60 -19
- package/STATUS.md +91 -169
- package/convex/_generated/api.d.ts +6 -0
- package/convex/directCall.ts +598 -0
- package/convex/providers.ts +341 -26
- package/convex/schema.ts +87 -0
- package/convex/usage.ts +260 -0
- package/convex/waitlist.ts +55 -0
- package/data/combined-02-26.json +22102 -0
- package/data/night-expansion-02-26-06-batch2.json +1898 -0
- package/data/night-expansion-02-26-06-batch3.json +1410 -0
- package/data/night-expansion-02-26-06.json +3146 -0
- package/data/night-expansion-02-26-full.json +9726 -0
- package/data/night-expansion-02-26-v2.json +330 -0
- package/data/night-expansion-02-26.json +171 -0
- package/dist/crypto.d.ts +7 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +67 -0
- package/dist/crypto.js.map +1 -0
- package/dist/execute-dynamic.d.ts +116 -0
- package/dist/execute-dynamic.d.ts.map +1 -0
- package/dist/execute-dynamic.js +456 -0
- package/dist/execute-dynamic.js.map +1 -0
- package/dist/execute.d.ts +2 -1
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +35 -5
- package/dist/execute.js.map +1 -1
- package/dist/index.js +33 -4
- package/dist/index.js.map +1 -1
- package/dist/registry/apis.json +2081 -3
- package/docs/PRD-customer-key-passthrough.md +184 -0
- package/landing/public/badges/available-on-apiclaw.svg +14 -0
- package/landing/scripts/generate-stats.js +75 -4
- package/landing/src/app/admin/page.tsx +1 -1
- package/landing/src/app/api/auth/magic-link/route.ts +1 -1
- package/landing/src/app/api/auth/session/route.ts +1 -1
- package/landing/src/app/api/auth/verify/route.ts +1 -1
- package/landing/src/app/api/og/route.tsx +5 -3
- package/landing/src/app/docs/page.tsx +5 -4
- package/landing/src/app/earn/page.tsx +14 -11
- package/landing/src/app/globals.css +16 -15
- package/landing/src/app/layout.tsx +2 -2
- package/landing/src/app/page.tsx +425 -254
- package/landing/src/app/providers/dashboard/[apiId]/actions/[actionId]/edit/page.tsx +600 -0
- package/landing/src/app/providers/dashboard/[apiId]/actions/new/page.tsx +583 -0
- package/landing/src/app/providers/dashboard/[apiId]/actions/page.tsx +301 -0
- package/landing/src/app/providers/dashboard/[apiId]/direct-call/page.tsx +659 -0
- package/landing/src/app/providers/dashboard/[apiId]/page.tsx +381 -0
- package/landing/src/app/providers/dashboard/[apiId]/test/page.tsx +418 -0
- package/landing/src/app/providers/dashboard/layout.tsx +292 -0
- package/landing/src/app/providers/dashboard/page.tsx +353 -290
- package/landing/src/app/providers/register/page.tsx +87 -10
- package/landing/src/components/AiClientDropdown.tsx +85 -0
- package/landing/src/components/ConfigHelperModal.tsx +113 -0
- package/landing/src/components/HeroTabs.tsx +187 -0
- package/landing/src/components/ShareIntegrationModal.tsx +198 -0
- package/landing/src/hooks/useDashboardData.ts +53 -1
- package/landing/src/lib/apis.json +46554 -174
- package/landing/src/lib/convex-client.ts +22 -3
- package/landing/src/lib/stats.json +4 -4
- package/landing/tsconfig.tsbuildinfo +1 -1
- package/night-expansion-02-26-06-batch2.py +368 -0
- package/night-expansion-02-26-06-batch3.py +299 -0
- package/night-expansion-02-26-06.py +756 -0
- package/package.json +1 -1
- package/scripts/bulk-add-public-apis-v2.py +418 -0
- package/scripts/night-expansion-02-26-v2.py +296 -0
- package/scripts/night-expansion-02-26.py +890 -0
- package/scripts/seed-complete-api.js +181 -0
- package/scripts/seed-demo-api.sh +44 -0
- package/src/crypto.ts +75 -0
- package/src/execute-dynamic.ts +589 -0
- package/src/execute.ts +41 -5
- package/src/index.ts +38 -4
- package/src/registry/apis.json +2081 -3
package/src/index.ts
CHANGED
|
@@ -34,6 +34,33 @@ import { executeAPICall, getConnectedProviders } from './execute.js';
|
|
|
34
34
|
// Default agent ID for MVP (in production, this would come from auth)
|
|
35
35
|
const DEFAULT_AGENT_ID = 'agent_default';
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Get customer API key from environment variable
|
|
39
|
+
* Convention: {PROVIDER}_API_KEY (e.g., COACCEPT_API_KEY, ELKS_API_KEY)
|
|
40
|
+
*/
|
|
41
|
+
function getCustomerKey(providerId: string): string | undefined {
|
|
42
|
+
// Try exact match first (e.g., 46elks -> 46ELKS_API_KEY)
|
|
43
|
+
const exactKey = `${providerId.toUpperCase().replace(/-/g, '_')}_API_KEY`;
|
|
44
|
+
if (process.env[exactKey]) {
|
|
45
|
+
return process.env[exactKey];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Try common variations
|
|
49
|
+
const variations = [
|
|
50
|
+
`${providerId.toUpperCase()}_API_KEY`,
|
|
51
|
+
`${providerId.toUpperCase()}_KEY`,
|
|
52
|
+
`${providerId.toUpperCase().replace(/_/g, '')}_API_KEY`,
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
for (const key of variations) {
|
|
56
|
+
if (process.env[key]) {
|
|
57
|
+
return process.env[key];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
|
|
37
64
|
// Tool definitions
|
|
38
65
|
const tools: Tool[] = [
|
|
39
66
|
{
|
|
@@ -150,13 +177,13 @@ const tools: Tool[] = [
|
|
|
150
177
|
},
|
|
151
178
|
{
|
|
152
179
|
name: 'call_api',
|
|
153
|
-
description: 'Execute an API call through APIClaw Direct Call. No API keys needed - we handle authentication.',
|
|
180
|
+
description: 'Execute an API call through APIClaw Direct Call. No API keys needed - we handle authentication. For providers that require customer authentication (like CoAccept), pass your own API key via customer_key.',
|
|
154
181
|
inputSchema: {
|
|
155
182
|
type: 'object',
|
|
156
183
|
properties: {
|
|
157
184
|
provider: {
|
|
158
185
|
type: 'string',
|
|
159
|
-
description: 'Provider ID (e.g., "46elks", "brave_search", "resend", "openrouter", "elevenlabs", "twilio")'
|
|
186
|
+
description: 'Provider ID (e.g., "46elks", "brave_search", "resend", "openrouter", "elevenlabs", "twilio", "coaccept")'
|
|
160
187
|
},
|
|
161
188
|
action: {
|
|
162
189
|
type: 'string',
|
|
@@ -165,6 +192,10 @@ const tools: Tool[] = [
|
|
|
165
192
|
params: {
|
|
166
193
|
type: 'object',
|
|
167
194
|
description: 'Parameters for the action. Varies by provider/action.'
|
|
195
|
+
},
|
|
196
|
+
customer_key: {
|
|
197
|
+
type: 'string',
|
|
198
|
+
description: 'Optional: Your own API key for providers that require customer authentication. If not provided, uses APIClaw shared credentials (where available).'
|
|
168
199
|
}
|
|
169
200
|
},
|
|
170
201
|
required: ['provider', 'action', 'params']
|
|
@@ -452,8 +483,11 @@ Docs: https://apiclaw.nordsym.com
|
|
|
452
483
|
const provider = args?.provider as string;
|
|
453
484
|
const action = args?.action as string;
|
|
454
485
|
const params = (args?.params as Record<string, any>) || {};
|
|
486
|
+
|
|
487
|
+
// Check for customer-provided API key (from args first, then env fallback)
|
|
488
|
+
const customerKey = (args?.customer_key as string) || getCustomerKey(provider);
|
|
455
489
|
|
|
456
|
-
const result = await executeAPICall(provider, action, params);
|
|
490
|
+
const result = await executeAPICall(provider, action, params, DEFAULT_AGENT_ID, customerKey);
|
|
457
491
|
|
|
458
492
|
return {
|
|
459
493
|
content: [
|
|
@@ -531,7 +565,7 @@ async function main() {
|
|
|
531
565
|
🦞 APIClaw v1.1.5 — The API Layer for AI Agents
|
|
532
566
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
533
567
|
|
|
534
|
-
✓
|
|
568
|
+
✓ 19,000+ APIs indexed
|
|
535
569
|
✓ 23 categories
|
|
536
570
|
✓ 9 direct-call providers ready
|
|
537
571
|
|