@nordsym/apiclaw 1.7.2 → 1.7.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.
Files changed (230) hide show
  1. package/convex/_generated/api.d.ts +115 -0
  2. package/convex/_generated/api.js +23 -0
  3. package/convex/_generated/dataModel.d.ts +60 -0
  4. package/convex/_generated/server.d.ts +143 -0
  5. package/convex/_generated/server.js +93 -0
  6. package/convex/adminActivate.d.ts +3 -0
  7. package/convex/adminActivate.d.ts.map +1 -0
  8. package/convex/adminActivate.js +47 -0
  9. package/convex/adminActivate.js.map +1 -0
  10. package/convex/adminActivate.ts +54 -0
  11. package/convex/adminStats.d.ts +3 -0
  12. package/convex/adminStats.d.ts.map +1 -0
  13. package/convex/adminStats.js +42 -0
  14. package/convex/adminStats.js.map +1 -0
  15. package/convex/adminStats.ts +44 -0
  16. package/convex/agents.d.ts +76 -0
  17. package/convex/agents.d.ts.map +1 -0
  18. package/convex/agents.js +699 -0
  19. package/convex/agents.js.map +1 -0
  20. package/convex/agents.ts +814 -0
  21. package/convex/analytics.d.ts +5 -0
  22. package/convex/analytics.d.ts.map +1 -0
  23. package/convex/analytics.js +166 -0
  24. package/convex/analytics.js.map +1 -0
  25. package/convex/analytics.ts +186 -0
  26. package/convex/billing.d.ts +88 -0
  27. package/convex/billing.d.ts.map +1 -0
  28. package/convex/billing.js +655 -0
  29. package/convex/billing.js.map +1 -0
  30. package/convex/billing.ts +791 -0
  31. package/convex/capabilities.d.ts +9 -0
  32. package/convex/capabilities.d.ts.map +1 -0
  33. package/convex/capabilities.js +145 -0
  34. package/convex/capabilities.js.map +1 -0
  35. package/convex/capabilities.ts +157 -0
  36. package/convex/chains.d.ts +68 -0
  37. package/convex/chains.d.ts.map +1 -0
  38. package/convex/chains.js +1105 -0
  39. package/convex/chains.js.map +1 -0
  40. package/convex/chains.ts +1318 -0
  41. package/convex/credits.d.ts +25 -0
  42. package/convex/credits.d.ts.map +1 -0
  43. package/convex/credits.js +186 -0
  44. package/convex/credits.js.map +1 -0
  45. package/convex/credits.ts +211 -0
  46. package/convex/crons.d.ts +3 -0
  47. package/convex/crons.d.ts.map +1 -0
  48. package/convex/crons.js +17 -0
  49. package/convex/crons.js.map +1 -0
  50. package/convex/crons.ts +28 -0
  51. package/convex/directCall.d.ts +72 -0
  52. package/convex/directCall.d.ts.map +1 -0
  53. package/convex/directCall.js +627 -0
  54. package/convex/directCall.js.map +1 -0
  55. package/convex/directCall.ts +678 -0
  56. package/convex/earnProgress.d.ts +58 -0
  57. package/convex/earnProgress.d.ts.map +1 -0
  58. package/convex/earnProgress.js +649 -0
  59. package/convex/earnProgress.js.map +1 -0
  60. package/convex/earnProgress.ts +753 -0
  61. package/convex/email.d.ts +14 -0
  62. package/convex/email.d.ts.map +1 -0
  63. package/convex/email.js +300 -0
  64. package/convex/email.js.map +1 -0
  65. package/convex/email.ts +329 -0
  66. package/convex/feedback.d.ts +7 -0
  67. package/convex/feedback.d.ts.map +1 -0
  68. package/convex/feedback.js +227 -0
  69. package/convex/feedback.js.map +1 -0
  70. package/convex/feedback.ts +265 -0
  71. package/convex/http.d.ts +3 -0
  72. package/convex/http.d.ts.map +1 -0
  73. package/convex/http.js +1405 -0
  74. package/convex/http.js.map +1 -0
  75. package/convex/http.ts +1577 -0
  76. package/convex/inbound.d.ts +2 -0
  77. package/convex/inbound.d.ts.map +1 -0
  78. package/convex/inbound.js +32 -0
  79. package/convex/inbound.js.map +1 -0
  80. package/convex/inbound.ts +32 -0
  81. package/convex/logs.d.ts +38 -0
  82. package/convex/logs.d.ts.map +1 -0
  83. package/convex/logs.js +487 -0
  84. package/convex/logs.js.map +1 -0
  85. package/convex/logs.ts +550 -0
  86. package/convex/mou.d.ts +6 -0
  87. package/convex/mou.d.ts.map +1 -0
  88. package/convex/mou.js +82 -0
  89. package/convex/mou.js.map +1 -0
  90. package/convex/mou.ts +91 -0
  91. package/convex/providerKeys.d.ts +31 -0
  92. package/convex/providerKeys.d.ts.map +1 -0
  93. package/convex/providerKeys.js +257 -0
  94. package/convex/providerKeys.js.map +1 -0
  95. package/convex/providerKeys.ts +289 -0
  96. package/convex/providers.d.ts +32 -0
  97. package/convex/providers.d.ts.map +1 -0
  98. package/convex/providers.js +814 -0
  99. package/convex/providers.js.map +1 -0
  100. package/convex/providers.ts +909 -0
  101. package/convex/purchases.d.ts +7 -0
  102. package/convex/purchases.d.ts.map +1 -0
  103. package/convex/purchases.js +157 -0
  104. package/convex/purchases.js.map +1 -0
  105. package/convex/purchases.ts +183 -0
  106. package/convex/ratelimit.d.ts +4 -0
  107. package/convex/ratelimit.d.ts.map +1 -0
  108. package/convex/ratelimit.js +91 -0
  109. package/convex/ratelimit.js.map +1 -0
  110. package/convex/ratelimit.ts +104 -0
  111. package/convex/schema.ts +802 -0
  112. package/convex/searchLogs.d.ts +4 -0
  113. package/convex/searchLogs.d.ts.map +1 -0
  114. package/convex/searchLogs.js +129 -0
  115. package/convex/searchLogs.js.map +1 -0
  116. package/convex/searchLogs.ts +146 -0
  117. package/convex/seedAPILayerAPIs.d.ts +7 -0
  118. package/convex/seedAPILayerAPIs.d.ts.map +1 -0
  119. package/convex/seedAPILayerAPIs.js +177 -0
  120. package/convex/seedAPILayerAPIs.js.map +1 -0
  121. package/convex/seedAPILayerAPIs.ts +191 -0
  122. package/convex/seedDirectCallConfigs.d.ts +2 -0
  123. package/convex/seedDirectCallConfigs.d.ts.map +1 -0
  124. package/convex/seedDirectCallConfigs.js +324 -0
  125. package/convex/seedDirectCallConfigs.js.map +1 -0
  126. package/convex/seedDirectCallConfigs.ts +336 -0
  127. package/convex/seedPratham.d.ts +6 -0
  128. package/convex/seedPratham.d.ts.map +1 -0
  129. package/convex/seedPratham.js +150 -0
  130. package/convex/seedPratham.js.map +1 -0
  131. package/convex/seedPratham.ts +161 -0
  132. package/convex/spendAlerts.d.ts +36 -0
  133. package/convex/spendAlerts.d.ts.map +1 -0
  134. package/convex/spendAlerts.js +380 -0
  135. package/convex/spendAlerts.js.map +1 -0
  136. package/convex/spendAlerts.ts +442 -0
  137. package/convex/stripeActions.d.ts +19 -0
  138. package/convex/stripeActions.d.ts.map +1 -0
  139. package/convex/stripeActions.js +411 -0
  140. package/convex/stripeActions.js.map +1 -0
  141. package/convex/stripeActions.ts +512 -0
  142. package/convex/teams.d.ts +21 -0
  143. package/convex/teams.d.ts.map +1 -0
  144. package/convex/teams.js +215 -0
  145. package/convex/teams.js.map +1 -0
  146. package/convex/teams.ts +243 -0
  147. package/convex/telemetry.d.ts +4 -0
  148. package/convex/telemetry.d.ts.map +1 -0
  149. package/convex/telemetry.js +74 -0
  150. package/convex/telemetry.js.map +1 -0
  151. package/convex/telemetry.ts +81 -0
  152. package/convex/tsconfig.json +25 -0
  153. package/convex/updateAPIStatus.d.ts +6 -0
  154. package/convex/updateAPIStatus.d.ts.map +1 -0
  155. package/convex/updateAPIStatus.js +40 -0
  156. package/convex/updateAPIStatus.js.map +1 -0
  157. package/convex/updateAPIStatus.ts +45 -0
  158. package/convex/usage.d.ts +27 -0
  159. package/convex/usage.d.ts.map +1 -0
  160. package/convex/usage.js +229 -0
  161. package/convex/usage.js.map +1 -0
  162. package/convex/usage.ts +260 -0
  163. package/convex/waitlist.d.ts +4 -0
  164. package/convex/waitlist.d.ts.map +1 -0
  165. package/convex/waitlist.js +49 -0
  166. package/convex/waitlist.js.map +1 -0
  167. package/convex/waitlist.ts +55 -0
  168. package/convex/webhooks.d.ts +12 -0
  169. package/convex/webhooks.d.ts.map +1 -0
  170. package/convex/webhooks.js +410 -0
  171. package/convex/webhooks.js.map +1 -0
  172. package/convex/webhooks.ts +494 -0
  173. package/convex/workspaces.d.ts +31 -0
  174. package/convex/workspaces.d.ts.map +1 -0
  175. package/convex/workspaces.js +975 -0
  176. package/convex/workspaces.js.map +1 -0
  177. package/convex/workspaces.ts +1130 -0
  178. package/dist/bin.js +0 -0
  179. package/dist/capability-router.js +1 -1
  180. package/dist/capability-router.js.map +1 -1
  181. package/dist/execute.d.ts +2 -0
  182. package/dist/execute.d.ts.map +1 -1
  183. package/dist/execute.js +18 -4
  184. package/dist/execute.js.map +1 -1
  185. package/dist/http-api.js +1 -1
  186. package/dist/http-api.js.map +1 -1
  187. package/dist/index.js +1 -1
  188. package/dist/index.js.map +1 -1
  189. package/dist/mcp-analytics.d.ts +32 -0
  190. package/dist/mcp-analytics.d.ts.map +1 -0
  191. package/dist/mcp-analytics.js +130 -0
  192. package/dist/mcp-analytics.js.map +1 -0
  193. package/package.json +1 -1
  194. package/dist/chain-types.d.ts +0 -187
  195. package/dist/chain-types.d.ts.map +0 -1
  196. package/dist/chain-types.js +0 -33
  197. package/dist/chain-types.js.map +0 -1
  198. package/dist/registry/apis.json.bak +0 -248811
  199. package/dist/src/bin.js +0 -17
  200. package/dist/src/capability-router.js +0 -240
  201. package/dist/src/chainExecutor.js +0 -451
  202. package/dist/src/chainResolver.js +0 -518
  203. package/dist/src/cli/commands/doctor.js +0 -324
  204. package/dist/src/cli/commands/mcp-install.js +0 -255
  205. package/dist/src/cli/commands/restore.js +0 -259
  206. package/dist/src/cli/commands/setup.js +0 -205
  207. package/dist/src/cli/commands/uninstall.js +0 -188
  208. package/dist/src/cli/index.js +0 -111
  209. package/dist/src/cli.js +0 -302
  210. package/dist/src/confirmation.js +0 -240
  211. package/dist/src/credentials.js +0 -357
  212. package/dist/src/credits.js +0 -260
  213. package/dist/src/crypto.js +0 -66
  214. package/dist/src/discovery.js +0 -504
  215. package/dist/src/enterprise/env.js +0 -123
  216. package/dist/src/enterprise/script-generator.js +0 -460
  217. package/dist/src/execute-dynamic.js +0 -473
  218. package/dist/src/execute.js +0 -1727
  219. package/dist/src/index.js +0 -2062
  220. package/dist/src/metered.js +0 -80
  221. package/dist/src/open-apis.js +0 -276
  222. package/dist/src/proxy.js +0 -28
  223. package/dist/src/session.js +0 -86
  224. package/dist/src/stripe.js +0 -407
  225. package/dist/src/telemetry.js +0 -49
  226. package/dist/src/types.js +0 -2
  227. package/dist/src/utils/backup.js +0 -181
  228. package/dist/src/utils/config.js +0 -220
  229. package/dist/src/utils/os.js +0 -105
  230. package/dist/src/utils/paths.js +0 -159
package/dist/src/bin.js DELETED
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * APIClaw Entry Point
4
- *
5
- * - No args or MCP-related args → Run MCP server
6
- * - setup/doctor/restore/uninstall → Run CLI
7
- */
8
- const cliCommands = ['setup', 'mcp-install', 'mcp-uninstall', 'doctor', 'restore', 'uninstall', 'help', '--help', '-h', '--version', '-V'];
9
- const firstArg = process.argv[2];
10
- if (!firstArg || !cliCommands.includes(firstArg)) {
11
- // Run MCP server
12
- import('./index.js');
13
- }
14
- else {
15
- // Run CLI
16
- import('./cli/index.js');
17
- }
@@ -1,240 +0,0 @@
1
- /**
2
- * APIClaw Capability Router
3
- * Routes capability requests to the best available provider
4
- */
5
- import { executeAPICall } from './execute.js';
6
- import { logAPICall } from './analytics.js';
7
- // Convex HTTP API for capability queries
8
- const CONVEX_URL = process.env.NEXT_PUBLIC_CONVEX_URL || 'https://adventurous-avocet-799.convex.cloud';
9
- /**
10
- * Query Convex for providers that support a capability
11
- */
12
- async function getProvidersForCapability(capabilityId, region) {
13
- try {
14
- const res = await fetch(`${CONVEX_URL}/api/query`, {
15
- method: 'POST',
16
- headers: { 'Content-Type': 'application/json' },
17
- body: JSON.stringify({
18
- path: 'capabilities:getProviders',
19
- args: { capabilityId, region },
20
- }),
21
- });
22
- if (!res.ok)
23
- return [];
24
- const data = await res.json();
25
- if (Array.isArray(data))
26
- return data;
27
- return (data.value || []);
28
- }
29
- catch (e) {
30
- console.error('Failed to fetch capability providers:', e);
31
- return [];
32
- }
33
- }
34
- /**
35
- * Map capability params to provider-specific params
36
- */
37
- function mapParams(params, mapping) {
38
- const result = {};
39
- for (const [capParam, value] of Object.entries(params)) {
40
- const providerParam = mapping[capParam] || capParam;
41
- result[providerParam] = value;
42
- }
43
- return result;
44
- }
45
- /**
46
- * Log capability usage to Convex
47
- */
48
- async function logCapabilityUsage(params) {
49
- try {
50
- await fetch(`${CONVEX_URL}/api/mutation`, {
51
- method: 'POST',
52
- headers: { 'Content-Type': 'application/json' },
53
- body: JSON.stringify({
54
- path: 'capabilities:logUsage',
55
- args: params,
56
- }),
57
- });
58
- }
59
- catch (e) {
60
- console.error('Failed to log capability usage:', e);
61
- }
62
- }
63
- /**
64
- * Execute a capability request with automatic provider selection and fallback
65
- */
66
- export async function executeCapability(capabilityId, action, params, userId, preferences = {}) {
67
- const startTime = Date.now();
68
- const enableFallback = preferences.fallback !== false; // Default true
69
- // Get providers for this capability
70
- const providers = await getProvidersForCapability(capabilityId, preferences.region);
71
- if (providers.length === 0) {
72
- return {
73
- success: false,
74
- capability: capabilityId,
75
- action,
76
- fallbackAttempted: false,
77
- error: `No providers available for capability: ${capabilityId}`,
78
- };
79
- }
80
- // Filter by max price if specified
81
- let filteredProviders = providers;
82
- if (preferences.maxPrice !== undefined) {
83
- filteredProviders = providers.filter(p => p.pricePerUnit <= preferences.maxPrice);
84
- }
85
- // Prefer specific provider if requested
86
- if (preferences.preferredProvider) {
87
- const preferred = filteredProviders.find(p => p.providerId === preferences.preferredProvider);
88
- if (preferred) {
89
- filteredProviders = [preferred, ...filteredProviders.filter(p => p.providerId !== preferences.preferredProvider)];
90
- }
91
- }
92
- if (filteredProviders.length === 0) {
93
- return {
94
- success: false,
95
- capability: capabilityId,
96
- action,
97
- fallbackAttempted: false,
98
- error: 'No providers match your preferences (region/price)',
99
- };
100
- }
101
- // Try providers in order
102
- let fallbackAttempted = false;
103
- let lastError = '';
104
- for (let i = 0; i < filteredProviders.length; i++) {
105
- const provider = filteredProviders[i];
106
- const isFirstAttempt = i === 0;
107
- if (!isFirstAttempt) {
108
- fallbackAttempted = true;
109
- }
110
- try {
111
- // Map params to provider-specific format
112
- const mappedParams = mapParams(params, provider.paramMapping || {});
113
- // Execute via existing executeAPICall
114
- const result = await executeAPICall(provider.providerId, action, mappedParams, userId);
115
- const latencyMs = Date.now() - startTime;
116
- if (result.success) {
117
- // Log successful usage
118
- logCapabilityUsage({
119
- capabilityId,
120
- providerId: provider.providerId,
121
- userId,
122
- action,
123
- success: true,
124
- fallbackUsed: fallbackAttempted,
125
- fallbackReason: fallbackAttempted ? lastError : undefined,
126
- latencyMs,
127
- cost: provider.pricePerUnit,
128
- currency: provider.currency,
129
- });
130
- // Also log to file-based analytics
131
- logAPICall({
132
- timestamp: new Date().toISOString(),
133
- provider: provider.providerId,
134
- action,
135
- type: 'direct',
136
- userId,
137
- success: true,
138
- latencyMs,
139
- });
140
- return {
141
- success: true,
142
- capability: capabilityId,
143
- action,
144
- providerUsed: provider.providerId,
145
- fallbackAttempted,
146
- fallbackReason: fallbackAttempted ? lastError : undefined,
147
- data: result.data,
148
- cost: provider.pricePerUnit,
149
- currency: provider.currency,
150
- latencyMs,
151
- };
152
- }
153
- // Provider returned error, try next
154
- lastError = result.error || 'Unknown error';
155
- if (!enableFallback) {
156
- break;
157
- }
158
- }
159
- catch (e) {
160
- lastError = e.message || 'Provider execution failed';
161
- if (!enableFallback) {
162
- break;
163
- }
164
- }
165
- }
166
- // All providers failed
167
- const latencyMs = Date.now() - startTime;
168
- logCapabilityUsage({
169
- capabilityId,
170
- providerId: filteredProviders[0].providerId,
171
- userId,
172
- action,
173
- success: false,
174
- fallbackUsed: fallbackAttempted,
175
- fallbackReason: lastError,
176
- latencyMs,
177
- cost: 0,
178
- currency: 'SEK',
179
- });
180
- return {
181
- success: false,
182
- capability: capabilityId,
183
- action,
184
- fallbackAttempted,
185
- error: `All providers failed. Last error: ${lastError}`,
186
- latencyMs,
187
- };
188
- }
189
- /**
190
- * List available capabilities
191
- */
192
- export async function listCapabilities() {
193
- try {
194
- const res = await fetch(`${CONVEX_URL}/api/query`, {
195
- method: 'POST',
196
- headers: { 'Content-Type': 'application/json' },
197
- body: JSON.stringify({
198
- path: 'capabilities:list',
199
- args: {},
200
- }),
201
- });
202
- if (!res.ok)
203
- return [];
204
- const data = await res.json();
205
- const capabilities = Array.isArray(data) ? data : (data.value || []);
206
- return capabilities.map(c => ({
207
- id: c.id,
208
- name: c.name,
209
- category: c.category,
210
- }));
211
- }
212
- catch (e) {
213
- return [];
214
- }
215
- }
216
- /**
217
- * Check if a capability exists
218
- */
219
- export async function hasCapability(capabilityId) {
220
- try {
221
- const res = await fetch(`${CONVEX_URL}/api/query`, {
222
- method: 'POST',
223
- headers: { 'Content-Type': 'application/json' },
224
- body: JSON.stringify({
225
- path: 'capabilities:getById',
226
- args: { id: capabilityId },
227
- }),
228
- });
229
- if (!res.ok)
230
- return false;
231
- const data = await res.json();
232
- if (data && typeof data === 'object' && 'value' in data) {
233
- return !!data.value;
234
- }
235
- return !!data;
236
- }
237
- catch (e) {
238
- return false;
239
- }
240
- }