@nordsym/apiclaw 1.5.18 → 1.6.0
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/CODEBASE.md +42 -0
- package/CONCEPT.md +9 -0
- package/DASHBOARD_FIX.md +9 -0
- package/EARN-CREDITS-SPEC.md +9 -0
- package/HIVR-INTEGRATION.md +9 -0
- package/HTTP-API.md +9 -0
- package/PRD-ANALYTICS-AGENTS-TEAMS.md +9 -0
- package/PRD-API-CHAINING.md +9 -0
- package/PRD-HARDEN-SHELL.md +9 -0
- package/PRD-LOGS-SUBAGENTS-V2.md +9 -0
- package/VISION.md +9 -0
- package/{AGENTS.md → apiclaw-AGENTS.md} +9 -0
- package/{CHANGELOG.md → apiclaw-CHANGELOG.md} +31 -0
- package/{CONTRIBUTING.md → apiclaw-CONTRIBUTING.md} +9 -0
- package/{HEARTBEAT.md → apiclaw-HEARTBEAT.md} +9 -0
- package/{IDENTITY.md → apiclaw-IDENTITY.md} +9 -0
- package/{README.md → apiclaw-README.md} +9 -0
- package/{SOUL.md → apiclaw-SOUL.md} +9 -0
- package/{TOOLS.md → apiclaw-TOOLS.md} +9 -0
- package/{USER.md → apiclaw-USER.md} +9 -0
- package/convex/_generated/api.d.ts +2 -0
- package/convex/{README.md → apiclaw-convex-README.md} +9 -0
- package/convex/http.ts +315 -0
- package/convex/seedPratham.ts +161 -0
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +136 -2
- package/dist/credentials.js.map +1 -1
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +289 -1
- package/dist/execute.js.map +1 -1
- package/docs/PRD-BILLING.md +9 -0
- package/docs/PRD-EARN-SYSTEM.md +9 -0
- package/docs/PRD-MCP-AUTO-SETUP.md +9 -0
- package/docs/PRD-ORGANIC-DISTRIBUTION.md +9 -0
- package/docs/PRD-agent-first-billing.md +9 -0
- package/docs/PRD-customer-key-passthrough.md +9 -0
- package/docs/PRD-final-polish.md +9 -0
- package/docs/PRD-mobile-responsive.md +9 -0
- package/docs/PRD-navigation-expansion.md +9 -0
- package/docs/PRD-stripe-billing.md +9 -0
- package/docs/PRD-workspace-cleanup.md +9 -0
- package/docs/PRD-workspace-fixes.md +9 -0
- package/docs/SUBAGENT-NAMING.md +9 -0
- package/docs/enterprise-deployment.md +6 -0
- package/email-templates/{README.md → email-templates-README.md} +9 -0
- package/landing/DESIGN.md +9 -0
- package/package.json +2 -2
- package/scripts/SYMBOT-FIX.md +9 -0
- package/src/credentials.ts +150 -2
- package/src/execute.ts +306 -1
- package/test-legacy-apis.sh +51 -0
- package/convex/adminActivate.d.ts +0 -3
- package/convex/adminActivate.js +0 -47
- package/convex/adminActivate.js.map +0 -1
- package/convex/adminStats.d.ts +0 -3
- package/convex/adminStats.js +0 -42
- package/convex/adminStats.js.map +0 -1
- package/convex/agents.d.ts +0 -54
- package/convex/agents.js +0 -499
- package/convex/agents.js.map +0 -1
- package/convex/analytics.d.ts +0 -5
- package/convex/analytics.js +0 -166
- package/convex/analytics.js.map +0 -1
- package/convex/billing.d.ts +0 -88
- package/convex/billing.js +0 -655
- package/convex/billing.js.map +0 -1
- package/convex/capabilities.d.ts +0 -9
- package/convex/capabilities.js +0 -145
- package/convex/capabilities.js.map +0 -1
- package/convex/chains.d.ts +0 -67
- package/convex/chains.js +0 -1042
- package/convex/chains.js.map +0 -1
- package/convex/credits.d.ts +0 -25
- package/convex/credits.js +0 -186
- package/convex/credits.js.map +0 -1
- package/convex/crons.d.ts +0 -3
- package/convex/crons.js +0 -17
- package/convex/crons.js.map +0 -1
- package/convex/directCall.d.ts +0 -72
- package/convex/directCall.js +0 -627
- package/convex/directCall.js.map +0 -1
- package/convex/earnProgress.d.ts +0 -58
- package/convex/earnProgress.js +0 -649
- package/convex/earnProgress.js.map +0 -1
- package/convex/email.d.ts +0 -14
- package/convex/email.js +0 -300
- package/convex/email.js.map +0 -1
- package/convex/feedback.d.ts +0 -7
- package/convex/feedback.js +0 -227
- package/convex/feedback.js.map +0 -1
- package/convex/http.d.ts +0 -3
- package/convex/http.js +0 -1106
- package/convex/http.js.map +0 -1
- package/convex/http.ts.bak +0 -934
- package/convex/logs.d.ts +0 -38
- package/convex/logs.js +0 -487
- package/convex/logs.js.map +0 -1
- package/convex/mou.d.ts +0 -6
- package/convex/mou.js +0 -82
- package/convex/mou.js.map +0 -1
- package/convex/providerKeys.d.ts +0 -31
- package/convex/providerKeys.js +0 -257
- package/convex/providerKeys.js.map +0 -1
- package/convex/providers.d.ts +0 -29
- package/convex/providers.js +0 -756
- package/convex/providers.js.map +0 -1
- package/convex/purchases.d.ts +0 -7
- package/convex/purchases.js +0 -157
- package/convex/purchases.js.map +0 -1
- package/convex/ratelimit.d.ts +0 -4
- package/convex/ratelimit.js +0 -91
- package/convex/ratelimit.js.map +0 -1
- package/convex/searchLogs.d.ts +0 -4
- package/convex/searchLogs.js +0 -129
- package/convex/searchLogs.js.map +0 -1
- package/convex/spendAlerts.d.ts +0 -36
- package/convex/spendAlerts.js +0 -380
- package/convex/spendAlerts.js.map +0 -1
- package/convex/stripeActions.d.ts +0 -19
- package/convex/stripeActions.js +0 -411
- package/convex/stripeActions.js.map +0 -1
- package/convex/teams.d.ts +0 -21
- package/convex/teams.js +0 -215
- package/convex/teams.js.map +0 -1
- package/convex/telemetry.d.ts +0 -4
- package/convex/telemetry.js +0 -74
- package/convex/telemetry.js.map +0 -1
- package/convex/usage.d.ts +0 -27
- package/convex/usage.js +0 -229
- package/convex/usage.js.map +0 -1
- package/convex/waitlist.d.ts +0 -4
- package/convex/waitlist.js +0 -49
- package/convex/waitlist.js.map +0 -1
- package/convex/webhooks.d.ts +0 -12
- package/convex/webhooks.js +0 -410
- package/convex/webhooks.js.map +0 -1
- package/convex/workspaces.d.ts +0 -29
- package/convex/workspaces.js +0 -880
- package/convex/workspaces.js.map +0 -1
- package/dist/registry/apis.json.bak +0 -248811
- package/src/registry/apis.json.bak +0 -248811
package/dist/credentials.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
|
package/dist/execute.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,SAAS,EACT,cAAc,EACd,SAAS,EACT,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiLD,UAAU,YAAY;IACpB,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,aAAa,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,SAAS,EACT,cAAc,EACd,SAAS,EACT,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiLD,UAAU,YAAY;IACpB,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,aAAa,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAsND;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,YAAY,CA8Dd;AA4qDD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/D;AAGD,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASnF;AAGD,wBAAgB,qBAAqB,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAKjF;AAGD,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC,CAkGxB"}
|
package/dist/execute.js
CHANGED
|
@@ -321,6 +321,7 @@ const apiEndpoints = {
|
|
|
321
321
|
run_shell: { url: 'https://api.e2b.dev/v1/sandboxes', method: 'POST' },
|
|
322
322
|
},
|
|
323
323
|
apilayer: {
|
|
324
|
+
// Unified APILayer APIs (apilayer.com)
|
|
324
325
|
exchange_rates: { url: 'https://api.apilayer.com/exchangerates_data/latest', method: 'GET' },
|
|
325
326
|
market_data: { url: 'http://api.marketstack.com/v1/eod', method: 'GET' },
|
|
326
327
|
aviation: { url: 'http://api.aviationstack.com/v1/flights', method: 'GET' },
|
|
@@ -335,6 +336,29 @@ const apiEndpoints = {
|
|
|
335
336
|
image_crop: { url: 'https://api.apilayer.com/smart_crop/url', method: 'POST' },
|
|
336
337
|
skills: { url: 'https://api.promptapi.com/skills', method: 'GET' },
|
|
337
338
|
form_submit: { url: 'https://api.apilayer.com/form_api/{endpoint}', method: 'POST' },
|
|
339
|
+
// Legacy APIs (separate domains, each with own key)
|
|
340
|
+
// FINANCE
|
|
341
|
+
fixer_convert: { url: 'http://data.fixer.io/api/convert', method: 'GET' },
|
|
342
|
+
fixer_latest: { url: 'http://data.fixer.io/api/latest', method: 'GET' },
|
|
343
|
+
currencylayer_live: { url: 'http://api.currencylayer.com/live', method: 'GET' },
|
|
344
|
+
currencylayer_convert: { url: 'http://api.currencylayer.com/convert', method: 'GET' },
|
|
345
|
+
coinlayer_live: { url: 'http://api.coinlayer.com/live', method: 'GET' },
|
|
346
|
+
exchangeratehost_latest: { url: 'https://api.exchangerate.host/latest', method: 'GET' },
|
|
347
|
+
// GEOLOCATION
|
|
348
|
+
weatherstack_current: { url: 'http://api.weatherstack.com/current', method: 'GET' },
|
|
349
|
+
weatherstack_forecast: { url: 'http://api.weatherstack.com/forecast', method: 'GET' },
|
|
350
|
+
ipstack_lookup: { url: 'http://api.ipstack.com/{ip}', method: 'GET' },
|
|
351
|
+
ipapi_lookup: { url: 'https://ipapi.co/{ip}/json/', method: 'GET' },
|
|
352
|
+
positionstack_forward: { url: 'http://api.positionstack.com/v1/forward', method: 'GET' },
|
|
353
|
+
positionstack_reverse: { url: 'http://api.positionstack.com/v1/reverse', method: 'GET' },
|
|
354
|
+
languagelayer_detect: { url: 'https://api.languagelayer.com/detect', method: 'POST' },
|
|
355
|
+
// SCRAPING
|
|
356
|
+
scrapestack_scrape: { url: 'http://api.scrapestack.com/scrape', method: 'GET' },
|
|
357
|
+
serpstack_search: { url: 'http://api.serpstack.com/search', method: 'GET' },
|
|
358
|
+
// NEWS
|
|
359
|
+
mediastack_news: { url: 'http://api.mediastack.com/v1/news', method: 'GET' },
|
|
360
|
+
// DEVTOOLS
|
|
361
|
+
userstack_detect: { url: 'http://api.userstack.com/detect', method: 'GET' },
|
|
338
362
|
},
|
|
339
363
|
};
|
|
340
364
|
/**
|
|
@@ -1621,12 +1645,276 @@ const handlers = {
|
|
|
1621
1645
|
'Content-Type': 'application/json',
|
|
1622
1646
|
},
|
|
1623
1647
|
body: JSON.stringify(formData || {}),
|
|
1624
|
-
}, { provider: 'apilayer', action: 'form_submit' });
|
|
1648
|
+
}, { provider: 'apilayer', 'action': 'form_submit' });
|
|
1625
1649
|
const data = await response.json();
|
|
1626
1650
|
if (!response.ok)
|
|
1627
1651
|
return createErrorResult('apilayer', 'form_submit', 'Request failed', statusToErrorCode(response.status));
|
|
1628
1652
|
return { success: true, provider: 'apilayer', action: 'form_submit', data };
|
|
1629
1653
|
},
|
|
1654
|
+
// ========== LEGACY APIs (separate domains, each with own key) ==========
|
|
1655
|
+
// FINANCE
|
|
1656
|
+
fixer_convert: async (params, creds) => {
|
|
1657
|
+
const key = creds.FIXER_API_KEY || creds.api_key;
|
|
1658
|
+
const { from, to, amount, date } = params;
|
|
1659
|
+
if (!from || !to || !amount)
|
|
1660
|
+
return createErrorResult('apilayer', 'fixer_convert', 'Missing required params: from, to, amount', ERROR_CODES.INVALID_PARAMS);
|
|
1661
|
+
const url = new URL('http://data.fixer.io/api/convert');
|
|
1662
|
+
url.searchParams.set('access_key', key);
|
|
1663
|
+
url.searchParams.set('from', from);
|
|
1664
|
+
url.searchParams.set('to', to);
|
|
1665
|
+
url.searchParams.set('amount', amount.toString());
|
|
1666
|
+
if (date)
|
|
1667
|
+
url.searchParams.set('date', date);
|
|
1668
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'fixer_convert' });
|
|
1669
|
+
const data = await response.json();
|
|
1670
|
+
if (!response.ok)
|
|
1671
|
+
return createErrorResult('apilayer', 'fixer_convert', 'Request failed', statusToErrorCode(response.status));
|
|
1672
|
+
return { success: true, provider: 'apilayer', action: 'fixer_convert', data };
|
|
1673
|
+
},
|
|
1674
|
+
fixer_latest: async (params, creds) => {
|
|
1675
|
+
const key = creds.FIXER_API_KEY || creds.api_key;
|
|
1676
|
+
const { base = 'EUR', symbols } = params;
|
|
1677
|
+
const url = new URL('http://data.fixer.io/api/latest');
|
|
1678
|
+
url.searchParams.set('access_key', key);
|
|
1679
|
+
url.searchParams.set('base', base);
|
|
1680
|
+
if (symbols)
|
|
1681
|
+
url.searchParams.set('symbols', symbols);
|
|
1682
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'fixer_latest' });
|
|
1683
|
+
const data = await response.json();
|
|
1684
|
+
if (!response.ok)
|
|
1685
|
+
return createErrorResult('apilayer', 'fixer_latest', 'Request failed', statusToErrorCode(response.status));
|
|
1686
|
+
return { success: true, provider: 'apilayer', action: 'fixer_latest', data };
|
|
1687
|
+
},
|
|
1688
|
+
currencylayer_live: async (params, creds) => {
|
|
1689
|
+
const key = creds.CURRENCYLAYER_API_KEY || creds.api_key;
|
|
1690
|
+
const { currencies, source = 'USD' } = params;
|
|
1691
|
+
const url = new URL('http://api.currencylayer.com/live');
|
|
1692
|
+
url.searchParams.set('access_key', key);
|
|
1693
|
+
url.searchParams.set('source', source);
|
|
1694
|
+
if (currencies)
|
|
1695
|
+
url.searchParams.set('currencies', currencies);
|
|
1696
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'currencylayer_live' });
|
|
1697
|
+
const data = await response.json();
|
|
1698
|
+
if (!response.ok)
|
|
1699
|
+
return createErrorResult('apilayer', 'currencylayer_live', 'Request failed', statusToErrorCode(response.status));
|
|
1700
|
+
return { success: true, provider: 'apilayer', action: 'currencylayer_live', data };
|
|
1701
|
+
},
|
|
1702
|
+
currencylayer_convert: async (params, creds) => {
|
|
1703
|
+
const key = creds.CURRENCYLAYER_API_KEY || creds.api_key;
|
|
1704
|
+
const { from, to, amount, date } = params;
|
|
1705
|
+
if (!from || !to || !amount)
|
|
1706
|
+
return createErrorResult('apilayer', 'currencylayer_convert', 'Missing required params: from, to, amount', ERROR_CODES.INVALID_PARAMS);
|
|
1707
|
+
const url = new URL('http://api.currencylayer.com/convert');
|
|
1708
|
+
url.searchParams.set('access_key', key);
|
|
1709
|
+
url.searchParams.set('from', from);
|
|
1710
|
+
url.searchParams.set('to', to);
|
|
1711
|
+
url.searchParams.set('amount', amount.toString());
|
|
1712
|
+
if (date)
|
|
1713
|
+
url.searchParams.set('date', date);
|
|
1714
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'currencylayer_convert' });
|
|
1715
|
+
const data = await response.json();
|
|
1716
|
+
if (!response.ok)
|
|
1717
|
+
return createErrorResult('apilayer', 'currencylayer_convert', 'Request failed', statusToErrorCode(response.status));
|
|
1718
|
+
return { success: true, provider: 'apilayer', action: 'currencylayer_convert', data };
|
|
1719
|
+
},
|
|
1720
|
+
coinlayer_live: async (params, creds) => {
|
|
1721
|
+
const key = creds.COINLAYER_API_KEY || creds.api_key;
|
|
1722
|
+
const { symbols, target = 'USD' } = params;
|
|
1723
|
+
const url = new URL('http://api.coinlayer.com/live');
|
|
1724
|
+
url.searchParams.set('access_key', key);
|
|
1725
|
+
url.searchParams.set('target', target);
|
|
1726
|
+
if (symbols)
|
|
1727
|
+
url.searchParams.set('symbols', symbols);
|
|
1728
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'coinlayer_live' });
|
|
1729
|
+
const data = await response.json();
|
|
1730
|
+
if (!response.ok)
|
|
1731
|
+
return createErrorResult('apilayer', 'coinlayer_live', 'Request failed', statusToErrorCode(response.status));
|
|
1732
|
+
return { success: true, provider: 'apilayer', action: 'coinlayer_live', data };
|
|
1733
|
+
},
|
|
1734
|
+
exchangeratehost_latest: async (params, creds) => {
|
|
1735
|
+
const key = creds.EXCHANGERATEHOST_API_KEY || creds.api_key;
|
|
1736
|
+
const { base = 'EUR', symbols } = params;
|
|
1737
|
+
const url = new URL('https://api.exchangerate.host/latest');
|
|
1738
|
+
url.searchParams.set('access_key', key);
|
|
1739
|
+
url.searchParams.set('base', base);
|
|
1740
|
+
if (symbols)
|
|
1741
|
+
url.searchParams.set('symbols', symbols);
|
|
1742
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'exchangeratehost_latest' });
|
|
1743
|
+
const data = await response.json();
|
|
1744
|
+
if (!response.ok)
|
|
1745
|
+
return createErrorResult('apilayer', 'exchangeratehost_latest', 'Request failed', statusToErrorCode(response.status));
|
|
1746
|
+
return { success: true, provider: 'apilayer', action: 'exchangeratehost_latest', data };
|
|
1747
|
+
},
|
|
1748
|
+
// GEOLOCATION
|
|
1749
|
+
weatherstack_current: async (params, creds) => {
|
|
1750
|
+
const key = creds.WEATHERSTACK_API_KEY || creds.api_key;
|
|
1751
|
+
const { query, units = 'm' } = params;
|
|
1752
|
+
if (!query)
|
|
1753
|
+
return createErrorResult('apilayer', 'weatherstack_current', 'Missing required param: query (city name or coordinates)', ERROR_CODES.INVALID_PARAMS);
|
|
1754
|
+
const url = new URL('http://api.weatherstack.com/current');
|
|
1755
|
+
url.searchParams.set('access_key', key);
|
|
1756
|
+
url.searchParams.set('query', query);
|
|
1757
|
+
url.searchParams.set('units', units);
|
|
1758
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'weatherstack_current' });
|
|
1759
|
+
const data = await response.json();
|
|
1760
|
+
if (!response.ok)
|
|
1761
|
+
return createErrorResult('apilayer', 'weatherstack_current', 'Request failed', statusToErrorCode(response.status));
|
|
1762
|
+
return { success: true, provider: 'apilayer', action: 'weatherstack_current', data };
|
|
1763
|
+
},
|
|
1764
|
+
weatherstack_forecast: async (params, creds) => {
|
|
1765
|
+
const key = creds.WEATHERSTACK_API_KEY || creds.api_key;
|
|
1766
|
+
const { query, forecast_days = 1, units = 'm' } = params;
|
|
1767
|
+
if (!query)
|
|
1768
|
+
return createErrorResult('apilayer', 'weatherstack_forecast', 'Missing required param: query', ERROR_CODES.INVALID_PARAMS);
|
|
1769
|
+
const url = new URL('http://api.weatherstack.com/forecast');
|
|
1770
|
+
url.searchParams.set('access_key', key);
|
|
1771
|
+
url.searchParams.set('query', query);
|
|
1772
|
+
url.searchParams.set('forecast_days', forecast_days.toString());
|
|
1773
|
+
url.searchParams.set('units', units);
|
|
1774
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'weatherstack_forecast' });
|
|
1775
|
+
const data = await response.json();
|
|
1776
|
+
if (!response.ok)
|
|
1777
|
+
return createErrorResult('apilayer', 'weatherstack_forecast', 'Request failed', statusToErrorCode(response.status));
|
|
1778
|
+
return { success: true, provider: 'apilayer', action: 'weatherstack_forecast', data };
|
|
1779
|
+
},
|
|
1780
|
+
ipstack_lookup: async (params, creds) => {
|
|
1781
|
+
const key = creds.IPSTACK_API_KEY || creds.api_key;
|
|
1782
|
+
const { ip } = params;
|
|
1783
|
+
if (!ip)
|
|
1784
|
+
return createErrorResult('apilayer', 'ipstack_lookup', 'Missing required param: ip', ERROR_CODES.INVALID_PARAMS);
|
|
1785
|
+
const url = new URL(`http://api.ipstack.com/${ip}`);
|
|
1786
|
+
url.searchParams.set('access_key', key);
|
|
1787
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'ipstack_lookup' });
|
|
1788
|
+
const data = await response.json();
|
|
1789
|
+
if (!response.ok)
|
|
1790
|
+
return createErrorResult('apilayer', 'ipstack_lookup', 'Request failed', statusToErrorCode(response.status));
|
|
1791
|
+
return { success: true, provider: 'apilayer', action: 'ipstack_lookup', data };
|
|
1792
|
+
},
|
|
1793
|
+
ipapi_lookup: async (params, creds) => {
|
|
1794
|
+
const key = creds.IPAPI_API_KEY || creds.api_key;
|
|
1795
|
+
const { ip } = params;
|
|
1796
|
+
if (!ip)
|
|
1797
|
+
return createErrorResult('apilayer', 'ipapi_lookup', 'Missing required param: ip', ERROR_CODES.INVALID_PARAMS);
|
|
1798
|
+
const url = `https://ipapi.co/${ip}/json/?key=${key}`;
|
|
1799
|
+
const response = await fetchWithRetry(url, {}, { provider: 'apilayer', action: 'ipapi_lookup' });
|
|
1800
|
+
const data = await response.json();
|
|
1801
|
+
if (!response.ok)
|
|
1802
|
+
return createErrorResult('apilayer', 'ipapi_lookup', 'Request failed', statusToErrorCode(response.status));
|
|
1803
|
+
return { success: true, provider: 'apilayer', action: 'ipapi_lookup', data };
|
|
1804
|
+
},
|
|
1805
|
+
positionstack_forward: async (params, creds) => {
|
|
1806
|
+
const key = creds.POSITIONSTACK_API_KEY || creds.api_key;
|
|
1807
|
+
const { query, limit = 1 } = params;
|
|
1808
|
+
if (!query)
|
|
1809
|
+
return createErrorResult('apilayer', 'positionstack_forward', 'Missing required param: query (address)', ERROR_CODES.INVALID_PARAMS);
|
|
1810
|
+
const url = new URL('http://api.positionstack.com/v1/forward');
|
|
1811
|
+
url.searchParams.set('access_key', key);
|
|
1812
|
+
url.searchParams.set('query', query);
|
|
1813
|
+
url.searchParams.set('limit', limit.toString());
|
|
1814
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'positionstack_forward' });
|
|
1815
|
+
const data = await response.json();
|
|
1816
|
+
if (!response.ok)
|
|
1817
|
+
return createErrorResult('apilayer', 'positionstack_forward', 'Request failed', statusToErrorCode(response.status));
|
|
1818
|
+
return { success: true, provider: 'apilayer', action: 'positionstack_forward', data };
|
|
1819
|
+
},
|
|
1820
|
+
positionstack_reverse: async (params, creds) => {
|
|
1821
|
+
const key = creds.POSITIONSTACK_API_KEY || creds.api_key;
|
|
1822
|
+
const { query, limit = 1 } = params;
|
|
1823
|
+
if (!query)
|
|
1824
|
+
return createErrorResult('apilayer', 'positionstack_reverse', 'Missing required param: query (lat,lng)', ERROR_CODES.INVALID_PARAMS);
|
|
1825
|
+
const url = new URL('http://api.positionstack.com/v1/reverse');
|
|
1826
|
+
url.searchParams.set('access_key', key);
|
|
1827
|
+
url.searchParams.set('query', query);
|
|
1828
|
+
url.searchParams.set('limit', limit.toString());
|
|
1829
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'positionstack_reverse' });
|
|
1830
|
+
const data = await response.json();
|
|
1831
|
+
if (!response.ok)
|
|
1832
|
+
return createErrorResult('apilayer', 'positionstack_reverse', 'Request failed', statusToErrorCode(response.status));
|
|
1833
|
+
return { success: true, provider: 'apilayer', action: 'positionstack_reverse', data };
|
|
1834
|
+
},
|
|
1835
|
+
languagelayer_detect: async (params, creds) => {
|
|
1836
|
+
const key = creds.LANGUAGELAYER_API_KEY || creds.api_key;
|
|
1837
|
+
const { query } = params;
|
|
1838
|
+
if (!query)
|
|
1839
|
+
return createErrorResult('apilayer', 'languagelayer_detect', 'Missing required param: query (text to analyze)', ERROR_CODES.INVALID_PARAMS);
|
|
1840
|
+
const response = await fetchWithRetry('https://api.languagelayer.com/detect', {
|
|
1841
|
+
method: 'POST',
|
|
1842
|
+
headers: {
|
|
1843
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
1844
|
+
},
|
|
1845
|
+
body: new URLSearchParams({ access_key: key, query }).toString(),
|
|
1846
|
+
}, { provider: 'apilayer', action: 'languagelayer_detect' });
|
|
1847
|
+
const data = await response.json();
|
|
1848
|
+
if (!response.ok)
|
|
1849
|
+
return createErrorResult('apilayer', 'languagelayer_detect', 'Request failed', statusToErrorCode(response.status));
|
|
1850
|
+
return { success: true, provider: 'apilayer', action: 'languagelayer_detect', data };
|
|
1851
|
+
},
|
|
1852
|
+
// SCRAPING
|
|
1853
|
+
scrapestack_scrape: async (params, creds) => {
|
|
1854
|
+
const key = creds.SCRAPESTACK_API_KEY || creds.api_key;
|
|
1855
|
+
const { url: targetUrl } = params;
|
|
1856
|
+
if (!targetUrl)
|
|
1857
|
+
return createErrorResult('apilayer', 'scrapestack_scrape', 'Missing required param: url', ERROR_CODES.INVALID_PARAMS);
|
|
1858
|
+
const url = new URL('http://api.scrapestack.com/scrape');
|
|
1859
|
+
url.searchParams.set('access_key', key);
|
|
1860
|
+
url.searchParams.set('url', targetUrl);
|
|
1861
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'scrapestack_scrape' });
|
|
1862
|
+
const data = await response.text();
|
|
1863
|
+
if (!response.ok)
|
|
1864
|
+
return createErrorResult('apilayer', 'scrapestack_scrape', 'Request failed', statusToErrorCode(response.status));
|
|
1865
|
+
return { success: true, provider: 'apilayer', action: 'scrapestack_scrape', data: { html: data } };
|
|
1866
|
+
},
|
|
1867
|
+
serpstack_search: async (params, creds) => {
|
|
1868
|
+
const key = creds.SERPSTACK_API_KEY || creds.api_key;
|
|
1869
|
+
const { query, num = 10 } = params;
|
|
1870
|
+
if (!query)
|
|
1871
|
+
return createErrorResult('apilayer', 'serpstack_search', 'Missing required param: query', ERROR_CODES.INVALID_PARAMS);
|
|
1872
|
+
const url = new URL('http://api.serpstack.com/search');
|
|
1873
|
+
url.searchParams.set('access_key', key);
|
|
1874
|
+
url.searchParams.set('query', query);
|
|
1875
|
+
url.searchParams.set('num', num.toString());
|
|
1876
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'serpstack_search' });
|
|
1877
|
+
const data = await response.json();
|
|
1878
|
+
if (!response.ok)
|
|
1879
|
+
return createErrorResult('apilayer', 'serpstack_search', 'Request failed', statusToErrorCode(response.status));
|
|
1880
|
+
return { success: true, provider: 'apilayer', action: 'serpstack_search', data };
|
|
1881
|
+
},
|
|
1882
|
+
// NEWS
|
|
1883
|
+
mediastack_news: async (params, creds) => {
|
|
1884
|
+
const key = creds.MEDIASTACK_API_KEY || creds.api_key;
|
|
1885
|
+
const { keywords, categories, countries, languages, limit = 25 } = params;
|
|
1886
|
+
const url = new URL('http://api.mediastack.com/v1/news');
|
|
1887
|
+
url.searchParams.set('access_key', key);
|
|
1888
|
+
if (keywords)
|
|
1889
|
+
url.searchParams.set('keywords', keywords);
|
|
1890
|
+
if (categories)
|
|
1891
|
+
url.searchParams.set('categories', categories);
|
|
1892
|
+
if (countries)
|
|
1893
|
+
url.searchParams.set('countries', countries);
|
|
1894
|
+
if (languages)
|
|
1895
|
+
url.searchParams.set('languages', languages);
|
|
1896
|
+
url.searchParams.set('limit', limit.toString());
|
|
1897
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'mediastack_news' });
|
|
1898
|
+
const data = await response.json();
|
|
1899
|
+
if (!response.ok)
|
|
1900
|
+
return createErrorResult('apilayer', 'mediastack_news', 'Request failed', statusToErrorCode(response.status));
|
|
1901
|
+
return { success: true, provider: 'apilayer', action: 'mediastack_news', data };
|
|
1902
|
+
},
|
|
1903
|
+
// DEVTOOLS
|
|
1904
|
+
userstack_detect: async (params, creds) => {
|
|
1905
|
+
const key = creds.USERSTACK_API_KEY || creds.api_key;
|
|
1906
|
+
const { ua } = params;
|
|
1907
|
+
if (!ua)
|
|
1908
|
+
return createErrorResult('apilayer', 'userstack_detect', 'Missing required param: ua (user agent string)', ERROR_CODES.INVALID_PARAMS);
|
|
1909
|
+
const url = new URL('http://api.userstack.com/detect');
|
|
1910
|
+
url.searchParams.set('access_key', key);
|
|
1911
|
+
url.searchParams.set('ua', ua);
|
|
1912
|
+
const response = await fetchWithRetry(url.toString(), {}, { provider: 'apilayer', action: 'userstack_detect' });
|
|
1913
|
+
const data = await response.json();
|
|
1914
|
+
if (!response.ok)
|
|
1915
|
+
return createErrorResult('apilayer', 'userstack_detect', 'Request failed', statusToErrorCode(response.status));
|
|
1916
|
+
return { success: true, provider: 'apilayer', action: 'userstack_detect', data };
|
|
1917
|
+
},
|
|
1630
1918
|
},
|
|
1631
1919
|
};
|
|
1632
1920
|
// Get available actions for a provider (static handlers only)
|