@nordsym/apiclaw 1.4.7 → 1.5.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/README.md +41 -1
- package/convex/schema.ts +7 -2
- package/convex/workspaces.ts +63 -0
- package/dist/index.js +183 -15
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +224 -15
package/README.md
CHANGED
|
@@ -27,11 +27,27 @@ One `mcp-install` connects your agent to all of it.
|
|
|
27
27
|
|
|
28
28
|
## Quick Start
|
|
29
29
|
|
|
30
|
+
**No signup required — just install and use.**
|
|
31
|
+
|
|
30
32
|
```bash
|
|
33
|
+
# Install
|
|
31
34
|
npx @nordsym/apiclaw mcp-install
|
|
35
|
+
|
|
36
|
+
# Restart your AI assistant
|
|
37
|
+
# Immediately use any API (10 calls/week)
|
|
38
|
+
|
|
39
|
+
# Optional: Register for 50 calls/week
|
|
40
|
+
register_owner({ email: "you@example.com" })
|
|
32
41
|
```
|
|
33
42
|
|
|
34
|
-
That's it.
|
|
43
|
+
That's it. All 18 Direct Call providers work instantly through NordSym's infrastructure. Your API calls are proxied, authenticated, and rate-limited automatically.
|
|
44
|
+
|
|
45
|
+
**Usage Limits:**
|
|
46
|
+
- **Anonymous:** 10 calls/week (no registration)
|
|
47
|
+
- **Registered:** 50 calls/week (5x more)
|
|
48
|
+
- **Upgrade:** Contact us for higher limits
|
|
49
|
+
|
|
50
|
+
Start calling APIs immediately. No setup, no API keys, no configuration.
|
|
35
51
|
|
|
36
52
|
---
|
|
37
53
|
|
|
@@ -316,6 +332,30 @@ npx @nordsym/apiclaw uninstall --client cursor
|
|
|
316
332
|
|
|
317
333
|
---
|
|
318
334
|
|
|
335
|
+
## Proxy Architecture
|
|
336
|
+
|
|
337
|
+
**All 18 Direct Call providers work through NordSym's infrastructure.**
|
|
338
|
+
|
|
339
|
+
You don't manage API keys. You don't configure auth. You don't worry about rate limits.
|
|
340
|
+
|
|
341
|
+
**How it works:**
|
|
342
|
+
- Your API calls go through NordSym's proxy
|
|
343
|
+
- We handle authentication with each provider
|
|
344
|
+
- Usage is tracked and limited (fair use)
|
|
345
|
+
- 10 calls/week anonymous, 50 with registration
|
|
346
|
+
- No setup required — just install and use
|
|
347
|
+
|
|
348
|
+
**What you get:**
|
|
349
|
+
- Instant access to 18 premium APIs
|
|
350
|
+
- No API key management
|
|
351
|
+
- Automatic rate limiting
|
|
352
|
+
- Usage analytics in your workspace
|
|
353
|
+
- Production-ready from day one
|
|
354
|
+
|
|
355
|
+
**Want higher limits?** Upgrade at [apiclaw.com](https://apiclaw.com) or contact us.
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
319
359
|
## Dry-Run Mode
|
|
320
360
|
|
|
321
361
|
Test without making real API calls.
|
package/convex/schema.ts
CHANGED
|
@@ -356,12 +356,15 @@ export default defineSchema({
|
|
|
356
356
|
provider: v.optional(v.string()),
|
|
357
357
|
query: v.optional(v.string()),
|
|
358
358
|
identifier: v.string(),
|
|
359
|
+
workspaceId: v.optional(v.id("workspaces")), // Claimed workspace (null = anonymous)
|
|
359
360
|
metadata: v.optional(v.any()),
|
|
360
361
|
timestamp: v.number(),
|
|
361
362
|
})
|
|
362
363
|
.index("by_event", ["event"])
|
|
363
364
|
.index("by_timestamp", ["timestamp"])
|
|
364
|
-
.index("by_provider", ["provider"])
|
|
365
|
+
.index("by_provider", ["provider"])
|
|
366
|
+
.index("by_workspaceId", ["workspaceId"])
|
|
367
|
+
.index("by_identifier", ["identifier"]),
|
|
365
368
|
|
|
366
369
|
// MCP Server telemetry (anonymous usage tracking)
|
|
367
370
|
telemetry: defineTable({
|
|
@@ -760,7 +763,9 @@ export default defineSchema({
|
|
|
760
763
|
partnerId: v.string(), // e.g., "apilayer"
|
|
761
764
|
partnerName: v.string(),
|
|
762
765
|
partnerEmail: v.string(),
|
|
763
|
-
|
|
766
|
+
partnerRepresentative: v.optional(v.string()),
|
|
767
|
+
documentHtml: v.optional(v.string()),
|
|
768
|
+
sections: v.optional(v.any()), // Alternative document format
|
|
764
769
|
status: v.string(), // "pending" | "signed"
|
|
765
770
|
signedAt: v.optional(v.number()),
|
|
766
771
|
signatureDataUrl: v.optional(v.string()), // base64 signature image
|
package/convex/workspaces.ts
CHANGED
|
@@ -134,6 +134,29 @@ export const verifyMagicLink = mutation({
|
|
|
134
134
|
createdAt: Date.now(),
|
|
135
135
|
});
|
|
136
136
|
|
|
137
|
+
// Claim anonymous usage history
|
|
138
|
+
const userFingerprint = fingerprint || magicLink.sessionFingerprint;
|
|
139
|
+
if (userFingerprint) {
|
|
140
|
+
try {
|
|
141
|
+
// Find all analytics records with matching fingerprint and no workspaceId
|
|
142
|
+
const analyticsRecords = await ctx.db
|
|
143
|
+
.query("analytics")
|
|
144
|
+
.withIndex("by_identifier", (q) => q.eq("identifier", userFingerprint))
|
|
145
|
+
.collect();
|
|
146
|
+
|
|
147
|
+
// Filter to only unclaimed records
|
|
148
|
+
const unclaimedRecords = analyticsRecords.filter((r) => !r.workspaceId);
|
|
149
|
+
|
|
150
|
+
// Update each record to link it to the workspace
|
|
151
|
+
for (const record of unclaimedRecords) {
|
|
152
|
+
await ctx.db.patch(record._id, { workspaceId: workspace!._id });
|
|
153
|
+
}
|
|
154
|
+
} catch (err) {
|
|
155
|
+
// Non-critical error, just log it
|
|
156
|
+
console.error('Failed to claim anonymous usage:', err);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
137
160
|
return {
|
|
138
161
|
success: true,
|
|
139
162
|
sessionToken,
|
|
@@ -952,3 +975,43 @@ export const adminGetFullWorkspace = query({
|
|
|
952
975
|
};
|
|
953
976
|
},
|
|
954
977
|
});
|
|
978
|
+
|
|
979
|
+
/**
|
|
980
|
+
* Claim anonymous usage history when a user registers
|
|
981
|
+
* Links all analytics records with matching fingerprint to the workspace
|
|
982
|
+
*/
|
|
983
|
+
export const claimAnonymousUsage = mutation({
|
|
984
|
+
args: {
|
|
985
|
+
workspaceId: v.id("workspaces"),
|
|
986
|
+
machineFingerprint: v.string(),
|
|
987
|
+
},
|
|
988
|
+
handler: async (ctx, { workspaceId, machineFingerprint }) => {
|
|
989
|
+
// Verify workspace exists
|
|
990
|
+
const workspace = await ctx.db.get(workspaceId);
|
|
991
|
+
if (!workspace) {
|
|
992
|
+
return { success: false, error: "Workspace not found" };
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
// Find all analytics records with matching fingerprint and no workspaceId
|
|
996
|
+
const analyticsRecords = await ctx.db
|
|
997
|
+
.query("analytics")
|
|
998
|
+
.withIndex("by_identifier", (q) => q.eq("identifier", machineFingerprint))
|
|
999
|
+
.collect();
|
|
1000
|
+
|
|
1001
|
+
// Filter to only unclaimed records
|
|
1002
|
+
const unclaimedRecords = analyticsRecords.filter((r) => !r.workspaceId);
|
|
1003
|
+
|
|
1004
|
+
// Update each record to link it to the workspace
|
|
1005
|
+
let claimedCount = 0;
|
|
1006
|
+
for (const record of unclaimedRecords) {
|
|
1007
|
+
await ctx.db.patch(record._id, { workspaceId });
|
|
1008
|
+
claimedCount++;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
return {
|
|
1012
|
+
success: true,
|
|
1013
|
+
claimedCount,
|
|
1014
|
+
message: `Claimed ${claimedCount} anonymous usage records`,
|
|
1015
|
+
};
|
|
1016
|
+
},
|
|
1017
|
+
});
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,7 @@ import { getConnectedProviders } from './execute.js';
|
|
|
20
20
|
import { executeMetered } from './metered.js';
|
|
21
21
|
import { logAPICall } from './analytics.js';
|
|
22
22
|
import { isOpenAPI, executeOpenAPI, listOpenAPIs } from './open-apis.js';
|
|
23
|
+
import { PROXY_PROVIDERS } from './proxy.js';
|
|
23
24
|
import { requiresConfirmationAsync, createPendingAction, consumePendingAction, generatePreview, validateParams } from './confirmation.js';
|
|
24
25
|
import { executeCapability, listCapabilities, hasCapability } from './capability-router.js';
|
|
25
26
|
import { readSession, writeSession, clearSession, getMachineFingerprint } from './session.js';
|
|
@@ -33,6 +34,91 @@ const DEFAULT_AGENT_ID = 'agent_default';
|
|
|
33
34
|
const CONVEX_URL = process.env.CONVEX_URL || 'https://brilliant-puffin-712.eu-west-1.convex.cloud';
|
|
34
35
|
const convex = new ConvexHttpClient(CONVEX_URL);
|
|
35
36
|
let workspaceContext = null;
|
|
37
|
+
const anonymousRateLimits = new Map();
|
|
38
|
+
// Rate limit constants
|
|
39
|
+
const ANONYMOUS_HOURLY_LIMIT = 5;
|
|
40
|
+
const ANONYMOUS_WEEKLY_LIMIT = 10;
|
|
41
|
+
const FREE_WEEKLY_LIMIT = 50;
|
|
42
|
+
/**
|
|
43
|
+
* Calculate minutes until next hour
|
|
44
|
+
*/
|
|
45
|
+
function calculateMinutesUntilNextHour() {
|
|
46
|
+
const now = new Date();
|
|
47
|
+
const nextHour = new Date(now);
|
|
48
|
+
nextHour.setHours(now.getHours() + 1, 0, 0, 0);
|
|
49
|
+
return Math.ceil((nextHour.getTime() - now.getTime()) / 60000);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get next Monday 00:00 UTC as ISO string
|
|
53
|
+
*/
|
|
54
|
+
function getNextMondayUTC() {
|
|
55
|
+
const now = new Date();
|
|
56
|
+
const dayOfWeek = now.getUTCDay(); // 0 = Sunday, 1 = Monday, etc.
|
|
57
|
+
const daysUntilMonday = dayOfWeek === 0 ? 1 : 8 - dayOfWeek;
|
|
58
|
+
const nextMonday = new Date(now);
|
|
59
|
+
nextMonday.setUTCDate(now.getUTCDate() + daysUntilMonday);
|
|
60
|
+
nextMonday.setUTCHours(0, 0, 0, 0);
|
|
61
|
+
return nextMonday.toISOString().replace('T', ' ').slice(0, 16) + ' UTC';
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Check anonymous rate limits for proxy provider usage
|
|
65
|
+
*/
|
|
66
|
+
function checkAnonymousRateLimit(fingerprint) {
|
|
67
|
+
const now = Date.now();
|
|
68
|
+
const hourInMs = 60 * 60 * 1000;
|
|
69
|
+
const weekInMs = 7 * 24 * hourInMs;
|
|
70
|
+
// Get or initialize rate limit state
|
|
71
|
+
let state = anonymousRateLimits.get(fingerprint);
|
|
72
|
+
if (!state) {
|
|
73
|
+
state = {
|
|
74
|
+
hourlyCount: 0,
|
|
75
|
+
hourlyResetTime: now + hourInMs,
|
|
76
|
+
weeklyCount: 0,
|
|
77
|
+
weeklyResetTime: now + weekInMs,
|
|
78
|
+
};
|
|
79
|
+
anonymousRateLimits.set(fingerprint, state);
|
|
80
|
+
}
|
|
81
|
+
// Reset hourly counter if time elapsed
|
|
82
|
+
if (now >= state.hourlyResetTime) {
|
|
83
|
+
state.hourlyCount = 0;
|
|
84
|
+
state.hourlyResetTime = now + hourInMs;
|
|
85
|
+
}
|
|
86
|
+
// Reset weekly counter if time elapsed
|
|
87
|
+
if (now >= state.weeklyResetTime) {
|
|
88
|
+
state.weeklyCount = 0;
|
|
89
|
+
state.weeklyResetTime = now + weekInMs;
|
|
90
|
+
}
|
|
91
|
+
// Check hourly limit
|
|
92
|
+
if (state.hourlyCount >= ANONYMOUS_HOURLY_LIMIT) {
|
|
93
|
+
return {
|
|
94
|
+
allowed: false,
|
|
95
|
+
error: JSON.stringify({
|
|
96
|
+
success: false,
|
|
97
|
+
error: `Hourly rate limit (${ANONYMOUS_HOURLY_LIMIT} calls/hour)`,
|
|
98
|
+
retry_after_minutes: calculateMinutesUntilNextHour(),
|
|
99
|
+
hint: "Rate limit resets at top of hour",
|
|
100
|
+
action: "Register to get higher limits: register_owner({ email: 'you@example.com' })"
|
|
101
|
+
}, null, 2)
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
// Check weekly limit
|
|
105
|
+
if (state.weeklyCount >= ANONYMOUS_WEEKLY_LIMIT) {
|
|
106
|
+
return {
|
|
107
|
+
allowed: false,
|
|
108
|
+
error: JSON.stringify({
|
|
109
|
+
success: false,
|
|
110
|
+
error: `Weekly limit reached (${ANONYMOUS_WEEKLY_LIMIT} calls)`,
|
|
111
|
+
hint: "Register to get 50 calls/week",
|
|
112
|
+
action: "Run: register_owner({ email: 'you@example.com' })",
|
|
113
|
+
retry_after: getNextMondayUTC()
|
|
114
|
+
}, null, 2)
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
// Increment counters
|
|
118
|
+
state.hourlyCount++;
|
|
119
|
+
state.weeklyCount++;
|
|
120
|
+
return { allowed: true };
|
|
121
|
+
}
|
|
36
122
|
/**
|
|
37
123
|
* Validate session on startup
|
|
38
124
|
*/
|
|
@@ -98,10 +184,30 @@ async function trackEarnProgress(workspaceId, provider, action) {
|
|
|
98
184
|
console.error('[APIClaw] Failed to track earn progress:', e);
|
|
99
185
|
}
|
|
100
186
|
}
|
|
187
|
+
const rateLimitStore = new Map();
|
|
101
188
|
/**
|
|
102
|
-
*
|
|
189
|
+
* For proxy providers, allow anonymous usage with rate limiting
|
|
103
190
|
*/
|
|
104
|
-
function checkWorkspaceAccess() {
|
|
191
|
+
function checkWorkspaceAccess(providerId) {
|
|
192
|
+
// Allow anonymous access for proxy providers
|
|
193
|
+
if (providerId && PROXY_PROVIDERS.includes(providerId)) {
|
|
194
|
+
if (!workspaceContext) {
|
|
195
|
+
// Anonymous user - check rate limits
|
|
196
|
+
const fingerprint = getMachineFingerprint();
|
|
197
|
+
const rateLimitCheck = checkAnonymousRateLimit(fingerprint);
|
|
198
|
+
if (!rateLimitCheck.allowed) {
|
|
199
|
+
return {
|
|
200
|
+
allowed: false,
|
|
201
|
+
error: rateLimitCheck.error,
|
|
202
|
+
isAnonymous: true
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
return { allowed: true, isAnonymous: true };
|
|
206
|
+
}
|
|
207
|
+
// Authenticated user using proxy provider - allow with higher limits
|
|
208
|
+
return { allowed: true, isAnonymous: false };
|
|
209
|
+
}
|
|
210
|
+
// Non-proxy providers require authentication
|
|
105
211
|
if (!workspaceContext) {
|
|
106
212
|
return {
|
|
107
213
|
allowed: false,
|
|
@@ -115,12 +221,26 @@ function checkWorkspaceAccess() {
|
|
|
115
221
|
};
|
|
116
222
|
}
|
|
117
223
|
if (workspaceContext.usageRemaining === 0) {
|
|
224
|
+
// Free tier hit weekly limit
|
|
225
|
+
if (workspaceContext.tier === 'free') {
|
|
226
|
+
return {
|
|
227
|
+
allowed: false,
|
|
228
|
+
error: JSON.stringify({
|
|
229
|
+
success: false,
|
|
230
|
+
error: `Weekly limit reached (${FREE_WEEKLY_LIMIT} calls)`,
|
|
231
|
+
hint: "Upgrade to Backer for unlimited calls",
|
|
232
|
+
upgrade_url: "https://apiclaw.nordsym.com/upgrade",
|
|
233
|
+
retry_after: getNextMondayUTC()
|
|
234
|
+
}, null, 2)
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
// Other tiers (shouldn't happen, but handle gracefully)
|
|
118
238
|
return {
|
|
119
239
|
allowed: false,
|
|
120
|
-
error: `Usage limit reached.
|
|
240
|
+
error: `Usage limit reached. Contact support or check your plan at https://apiclaw.nordsym.com/account`
|
|
121
241
|
};
|
|
122
242
|
}
|
|
123
|
-
return { allowed: true };
|
|
243
|
+
return { allowed: true, isAnonymous: false };
|
|
124
244
|
}
|
|
125
245
|
/**
|
|
126
246
|
* Get customer API key from environment variable
|
|
@@ -889,6 +1009,17 @@ Docs: https://apiclaw.nordsym.com
|
|
|
889
1009
|
// Check workspace access for chains
|
|
890
1010
|
const access = checkWorkspaceAccess();
|
|
891
1011
|
if (!access.allowed) {
|
|
1012
|
+
// If error is already formatted JSON (from rate limit checks), return as-is
|
|
1013
|
+
if (access.error?.startsWith('{')) {
|
|
1014
|
+
return {
|
|
1015
|
+
content: [{
|
|
1016
|
+
type: 'text',
|
|
1017
|
+
text: access.error
|
|
1018
|
+
}],
|
|
1019
|
+
isError: true
|
|
1020
|
+
};
|
|
1021
|
+
}
|
|
1022
|
+
// Otherwise, wrap in standard error format
|
|
892
1023
|
return {
|
|
893
1024
|
content: [{
|
|
894
1025
|
type: 'text',
|
|
@@ -1007,7 +1138,7 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1007
1138
|
// Check workspace access (skip for free/open APIs)
|
|
1008
1139
|
const isFreeAPI = isOpenAPI(provider);
|
|
1009
1140
|
if (!isFreeAPI) {
|
|
1010
|
-
const access = checkWorkspaceAccess();
|
|
1141
|
+
const access = checkWorkspaceAccess(provider);
|
|
1011
1142
|
if (!access.allowed) {
|
|
1012
1143
|
return {
|
|
1013
1144
|
content: [{
|
|
@@ -1015,7 +1146,9 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1015
1146
|
text: JSON.stringify({
|
|
1016
1147
|
status: 'error',
|
|
1017
1148
|
error: access.error,
|
|
1018
|
-
hint:
|
|
1149
|
+
hint: access.isAnonymous
|
|
1150
|
+
? 'Rate limit reached. Use register_owner to authenticate for higher limits.'
|
|
1151
|
+
: 'Use register_owner to authenticate your workspace.',
|
|
1019
1152
|
}, null, 2)
|
|
1020
1153
|
}],
|
|
1021
1154
|
isError: true
|
|
@@ -1049,13 +1182,16 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1049
1182
|
customerKey,
|
|
1050
1183
|
userId: DEFAULT_AGENT_ID,
|
|
1051
1184
|
});
|
|
1052
|
-
// Log the confirmed API call
|
|
1185
|
+
// Log the confirmed API call (with fingerprint for anonymous users)
|
|
1186
|
+
const analyticsUserId = workspaceContext
|
|
1187
|
+
? workspaceContext.workspaceId
|
|
1188
|
+
: `anon:${getMachineFingerprint()}`;
|
|
1053
1189
|
logAPICall({
|
|
1054
1190
|
timestamp: new Date().toISOString(),
|
|
1055
1191
|
provider: pending.provider,
|
|
1056
1192
|
action: pending.action,
|
|
1057
1193
|
type: apiType,
|
|
1058
|
-
userId:
|
|
1194
|
+
userId: analyticsUserId,
|
|
1059
1195
|
success: result.success,
|
|
1060
1196
|
latencyMs: Date.now() - startTime,
|
|
1061
1197
|
error: result.error,
|
|
@@ -1134,13 +1270,16 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1134
1270
|
userId: DEFAULT_AGENT_ID,
|
|
1135
1271
|
});
|
|
1136
1272
|
}
|
|
1137
|
-
// Log the API call for analytics
|
|
1273
|
+
// Log the API call for analytics (with fingerprint for anonymous users)
|
|
1274
|
+
const analyticsUserId = workspaceContext
|
|
1275
|
+
? workspaceContext.workspaceId
|
|
1276
|
+
: `anon:${getMachineFingerprint()}`;
|
|
1138
1277
|
logAPICall({
|
|
1139
1278
|
timestamp: new Date().toISOString(),
|
|
1140
1279
|
provider,
|
|
1141
1280
|
action,
|
|
1142
1281
|
type: apiType,
|
|
1143
|
-
userId:
|
|
1282
|
+
userId: analyticsUserId,
|
|
1144
1283
|
success: result.success,
|
|
1145
1284
|
latencyMs: Date.now() - startTime,
|
|
1146
1285
|
error: result.error,
|
|
@@ -1305,6 +1444,20 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1305
1444
|
});
|
|
1306
1445
|
if (sessionResult.success) {
|
|
1307
1446
|
writeSession(sessionResult.sessionToken, existing.id, email);
|
|
1447
|
+
// Claim anonymous usage history
|
|
1448
|
+
try {
|
|
1449
|
+
const claimResult = await convex.mutation("workspaces:claimAnonymousUsage", {
|
|
1450
|
+
workspaceId: existing.id,
|
|
1451
|
+
machineFingerprint: fingerprint,
|
|
1452
|
+
});
|
|
1453
|
+
if (claimResult.success && claimResult.claimedCount) {
|
|
1454
|
+
console.error(`[APIClaw] ✓ Claimed ${claimResult.claimedCount} anonymous usage records`);
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
catch (err) {
|
|
1458
|
+
// Non-critical error, just log it
|
|
1459
|
+
console.error('[APIClaw] Warning: Failed to claim anonymous usage:', err);
|
|
1460
|
+
}
|
|
1308
1461
|
// Update global context
|
|
1309
1462
|
workspaceContext = {
|
|
1310
1463
|
sessionToken: sessionResult.sessionToken,
|
|
@@ -1349,19 +1502,34 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1349
1502
|
email,
|
|
1350
1503
|
fingerprint,
|
|
1351
1504
|
});
|
|
1352
|
-
//
|
|
1353
|
-
// For now, return the verification link
|
|
1505
|
+
// Send magic link via email
|
|
1354
1506
|
const verifyUrl = `https://apiclaw.nordsym.com/verify?token=${magicLinkResult.token}`;
|
|
1507
|
+
const emailResponse = await fetch('https://api.resend.com/emails', {
|
|
1508
|
+
method: 'POST',
|
|
1509
|
+
headers: {
|
|
1510
|
+
'Authorization': `Bearer ${process.env.RESEND_API_KEY}`,
|
|
1511
|
+
'Content-Type': 'application/json',
|
|
1512
|
+
},
|
|
1513
|
+
body: JSON.stringify({
|
|
1514
|
+
from: 'APIClaw <noreply@apiclaw.nordsym.com>',
|
|
1515
|
+
to: email,
|
|
1516
|
+
subject: 'Verify your APIClaw workspace',
|
|
1517
|
+
html: `<p>Click to verify: <a href="${verifyUrl}">${verifyUrl}</a></p><p>Expires in 15 minutes.</p>`
|
|
1518
|
+
})
|
|
1519
|
+
});
|
|
1520
|
+
if (!emailResponse.ok) {
|
|
1521
|
+
const errorData = await emailResponse.text();
|
|
1522
|
+
throw new Error(`Failed to send verification email: ${errorData}`);
|
|
1523
|
+
}
|
|
1355
1524
|
return {
|
|
1356
1525
|
content: [{
|
|
1357
1526
|
type: 'text',
|
|
1358
1527
|
text: JSON.stringify({
|
|
1359
1528
|
status: 'pending_verification',
|
|
1360
|
-
message: 'Workspace created!
|
|
1529
|
+
message: 'Workspace created! Check your email for verification link.',
|
|
1361
1530
|
email,
|
|
1362
|
-
verification_url: verifyUrl,
|
|
1363
1531
|
expires_in_minutes: 15,
|
|
1364
|
-
next_step: '
|
|
1532
|
+
next_step: 'Check your email, click the verification link, then run check_workspace_status',
|
|
1365
1533
|
}, null, 2)
|
|
1366
1534
|
}]
|
|
1367
1535
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -33,6 +33,7 @@ import { getConnectedProviders } from './execute.js';
|
|
|
33
33
|
import { executeMetered } from './metered.js';
|
|
34
34
|
import { logAPICall } from './analytics.js';
|
|
35
35
|
import { isOpenAPI, executeOpenAPI, listOpenAPIs, getOpenAPIActions } from './open-apis.js';
|
|
36
|
+
import { PROXY_PROVIDERS } from './proxy.js';
|
|
36
37
|
import {
|
|
37
38
|
requiresConfirmation,
|
|
38
39
|
requiresConfirmationAsync,
|
|
@@ -80,6 +81,111 @@ interface WorkspaceContext {
|
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
let workspaceContext: WorkspaceContext | null = null;
|
|
84
|
+
// Anonymous rate limit tracking (in-memory, per machine fingerprint)
|
|
85
|
+
interface AnonymousRateLimitState {
|
|
86
|
+
hourlyCount: number;
|
|
87
|
+
hourlyResetTime: number;
|
|
88
|
+
weeklyCount: number;
|
|
89
|
+
weeklyResetTime: number;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const anonymousRateLimits = new Map<string, AnonymousRateLimitState>();
|
|
93
|
+
|
|
94
|
+
// Rate limit constants
|
|
95
|
+
const ANONYMOUS_HOURLY_LIMIT = 5;
|
|
96
|
+
const ANONYMOUS_WEEKLY_LIMIT = 10;
|
|
97
|
+
const FREE_WEEKLY_LIMIT = 50;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Calculate minutes until next hour
|
|
101
|
+
*/
|
|
102
|
+
function calculateMinutesUntilNextHour(): number {
|
|
103
|
+
const now = new Date();
|
|
104
|
+
const nextHour = new Date(now);
|
|
105
|
+
nextHour.setHours(now.getHours() + 1, 0, 0, 0);
|
|
106
|
+
return Math.ceil((nextHour.getTime() - now.getTime()) / 60000);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Get next Monday 00:00 UTC as ISO string
|
|
111
|
+
*/
|
|
112
|
+
function getNextMondayUTC(): string {
|
|
113
|
+
const now = new Date();
|
|
114
|
+
const dayOfWeek = now.getUTCDay(); // 0 = Sunday, 1 = Monday, etc.
|
|
115
|
+
const daysUntilMonday = dayOfWeek === 0 ? 1 : 8 - dayOfWeek;
|
|
116
|
+
const nextMonday = new Date(now);
|
|
117
|
+
nextMonday.setUTCDate(now.getUTCDate() + daysUntilMonday);
|
|
118
|
+
nextMonday.setUTCHours(0, 0, 0, 0);
|
|
119
|
+
return nextMonday.toISOString().replace('T', ' ').slice(0, 16) + ' UTC';
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Check anonymous rate limits for proxy provider usage
|
|
124
|
+
*/
|
|
125
|
+
function checkAnonymousRateLimit(fingerprint: string): { allowed: boolean; error?: string; isAnonymous?: boolean } {
|
|
126
|
+
const now = Date.now();
|
|
127
|
+
const hourInMs = 60 * 60 * 1000;
|
|
128
|
+
const weekInMs = 7 * 24 * hourInMs;
|
|
129
|
+
|
|
130
|
+
// Get or initialize rate limit state
|
|
131
|
+
let state = anonymousRateLimits.get(fingerprint);
|
|
132
|
+
if (!state) {
|
|
133
|
+
state = {
|
|
134
|
+
hourlyCount: 0,
|
|
135
|
+
hourlyResetTime: now + hourInMs,
|
|
136
|
+
weeklyCount: 0,
|
|
137
|
+
weeklyResetTime: now + weekInMs,
|
|
138
|
+
};
|
|
139
|
+
anonymousRateLimits.set(fingerprint, state);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Reset hourly counter if time elapsed
|
|
143
|
+
if (now >= state.hourlyResetTime) {
|
|
144
|
+
state.hourlyCount = 0;
|
|
145
|
+
state.hourlyResetTime = now + hourInMs;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Reset weekly counter if time elapsed
|
|
149
|
+
if (now >= state.weeklyResetTime) {
|
|
150
|
+
state.weeklyCount = 0;
|
|
151
|
+
state.weeklyResetTime = now + weekInMs;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Check hourly limit
|
|
155
|
+
if (state.hourlyCount >= ANONYMOUS_HOURLY_LIMIT) {
|
|
156
|
+
return {
|
|
157
|
+
allowed: false,
|
|
158
|
+
error: JSON.stringify({
|
|
159
|
+
success: false,
|
|
160
|
+
error: `Hourly rate limit (${ANONYMOUS_HOURLY_LIMIT} calls/hour)`,
|
|
161
|
+
retry_after_minutes: calculateMinutesUntilNextHour(),
|
|
162
|
+
hint: "Rate limit resets at top of hour",
|
|
163
|
+
action: "Register to get higher limits: register_owner({ email: 'you@example.com' })"
|
|
164
|
+
}, null, 2)
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Check weekly limit
|
|
169
|
+
if (state.weeklyCount >= ANONYMOUS_WEEKLY_LIMIT) {
|
|
170
|
+
return {
|
|
171
|
+
allowed: false,
|
|
172
|
+
error: JSON.stringify({
|
|
173
|
+
success: false,
|
|
174
|
+
error: `Weekly limit reached (${ANONYMOUS_WEEKLY_LIMIT} calls)`,
|
|
175
|
+
hint: "Register to get 50 calls/week",
|
|
176
|
+
action: "Run: register_owner({ email: 'you@example.com' })",
|
|
177
|
+
retry_after: getNextMondayUTC()
|
|
178
|
+
}, null, 2)
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Increment counters
|
|
183
|
+
state.hourlyCount++;
|
|
184
|
+
state.weeklyCount++;
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
return { allowed: true };
|
|
188
|
+
}
|
|
83
189
|
|
|
84
190
|
/**
|
|
85
191
|
* Validate session on startup
|
|
@@ -155,9 +261,43 @@ async function trackEarnProgress(workspaceId: string, provider: string, action:
|
|
|
155
261
|
}
|
|
156
262
|
|
|
157
263
|
/**
|
|
158
|
-
*
|
|
264
|
+
* Rate limiting for anonymous proxy usage
|
|
265
|
+
* Limits: 10 calls/week, 5 calls/hour (anonymous)
|
|
266
|
+
* 50 calls/week, 10 calls/hour (authenticated)
|
|
267
|
+
*/
|
|
268
|
+
interface RateLimitState {
|
|
269
|
+
hourly: { count: number; resetAt: number };
|
|
270
|
+
weekly: { count: number; resetAt: number };
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
const rateLimitStore = new Map<string, RateLimitState>();
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* For proxy providers, allow anonymous usage with rate limiting
|
|
159
277
|
*/
|
|
160
|
-
function checkWorkspaceAccess(): { allowed: boolean; error?: string } {
|
|
278
|
+
function checkWorkspaceAccess(providerId?: string): { allowed: boolean; error?: string; isAnonymous?: boolean } {
|
|
279
|
+
// Allow anonymous access for proxy providers
|
|
280
|
+
if (providerId && PROXY_PROVIDERS.includes(providerId)) {
|
|
281
|
+
if (!workspaceContext) {
|
|
282
|
+
// Anonymous user - check rate limits
|
|
283
|
+
const fingerprint = getMachineFingerprint();
|
|
284
|
+
const rateLimitCheck = checkAnonymousRateLimit(fingerprint);
|
|
285
|
+
|
|
286
|
+
if (!rateLimitCheck.allowed) {
|
|
287
|
+
return {
|
|
288
|
+
allowed: false,
|
|
289
|
+
error: rateLimitCheck.error,
|
|
290
|
+
isAnonymous: true
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
return { allowed: true, isAnonymous: true };
|
|
295
|
+
}
|
|
296
|
+
// Authenticated user using proxy provider - allow with higher limits
|
|
297
|
+
return { allowed: true, isAnonymous: false };
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
// Non-proxy providers require authentication
|
|
161
301
|
if (!workspaceContext) {
|
|
162
302
|
return {
|
|
163
303
|
allowed: false,
|
|
@@ -173,13 +313,28 @@ function checkWorkspaceAccess(): { allowed: boolean; error?: string } {
|
|
|
173
313
|
}
|
|
174
314
|
|
|
175
315
|
if (workspaceContext.usageRemaining === 0) {
|
|
316
|
+
// Free tier hit weekly limit
|
|
317
|
+
if (workspaceContext.tier === 'free') {
|
|
318
|
+
return {
|
|
319
|
+
allowed: false,
|
|
320
|
+
error: JSON.stringify({
|
|
321
|
+
success: false,
|
|
322
|
+
error: `Weekly limit reached (${FREE_WEEKLY_LIMIT} calls)`,
|
|
323
|
+
hint: "Upgrade to Backer for unlimited calls",
|
|
324
|
+
upgrade_url: "https://apiclaw.nordsym.com/upgrade",
|
|
325
|
+
retry_after: getNextMondayUTC()
|
|
326
|
+
}, null, 2)
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// Other tiers (shouldn't happen, but handle gracefully)
|
|
176
331
|
return {
|
|
177
332
|
allowed: false,
|
|
178
|
-
error: `Usage limit reached.
|
|
333
|
+
error: `Usage limit reached. Contact support or check your plan at https://apiclaw.nordsym.com/account`
|
|
179
334
|
};
|
|
180
335
|
}
|
|
181
336
|
|
|
182
|
-
return { allowed: true };
|
|
337
|
+
return { allowed: true, isAnonymous: false };
|
|
183
338
|
}
|
|
184
339
|
|
|
185
340
|
/**
|
|
@@ -987,6 +1142,18 @@ Docs: https://apiclaw.nordsym.com
|
|
|
987
1142
|
// Check workspace access for chains
|
|
988
1143
|
const access = checkWorkspaceAccess();
|
|
989
1144
|
if (!access.allowed) {
|
|
1145
|
+
// If error is already formatted JSON (from rate limit checks), return as-is
|
|
1146
|
+
if (access.error?.startsWith('{')) {
|
|
1147
|
+
return {
|
|
1148
|
+
content: [{
|
|
1149
|
+
type: 'text',
|
|
1150
|
+
text: access.error
|
|
1151
|
+
}],
|
|
1152
|
+
isError: true
|
|
1153
|
+
};
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
// Otherwise, wrap in standard error format
|
|
990
1157
|
return {
|
|
991
1158
|
content: [{
|
|
992
1159
|
type: 'text',
|
|
@@ -1119,7 +1286,7 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1119
1286
|
// Check workspace access (skip for free/open APIs)
|
|
1120
1287
|
const isFreeAPI = isOpenAPI(provider);
|
|
1121
1288
|
if (!isFreeAPI) {
|
|
1122
|
-
const access = checkWorkspaceAccess();
|
|
1289
|
+
const access = checkWorkspaceAccess(provider);
|
|
1123
1290
|
if (!access.allowed) {
|
|
1124
1291
|
return {
|
|
1125
1292
|
content: [{
|
|
@@ -1127,7 +1294,9 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1127
1294
|
text: JSON.stringify({
|
|
1128
1295
|
status: 'error',
|
|
1129
1296
|
error: access.error,
|
|
1130
|
-
hint:
|
|
1297
|
+
hint: access.isAnonymous
|
|
1298
|
+
? 'Rate limit reached. Use register_owner to authenticate for higher limits.'
|
|
1299
|
+
: 'Use register_owner to authenticate your workspace.',
|
|
1131
1300
|
}, null, 2)
|
|
1132
1301
|
}],
|
|
1133
1302
|
isError: true
|
|
@@ -1166,13 +1335,17 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1166
1335
|
userId: DEFAULT_AGENT_ID,
|
|
1167
1336
|
});
|
|
1168
1337
|
|
|
1169
|
-
// Log the confirmed API call
|
|
1338
|
+
// Log the confirmed API call (with fingerprint for anonymous users)
|
|
1339
|
+
const analyticsUserId = workspaceContext
|
|
1340
|
+
? workspaceContext.workspaceId
|
|
1341
|
+
: `anon:${getMachineFingerprint()}`;
|
|
1342
|
+
|
|
1170
1343
|
logAPICall({
|
|
1171
1344
|
timestamp: new Date().toISOString(),
|
|
1172
1345
|
provider: pending.provider,
|
|
1173
1346
|
action: pending.action,
|
|
1174
1347
|
type: apiType,
|
|
1175
|
-
userId:
|
|
1348
|
+
userId: analyticsUserId,
|
|
1176
1349
|
success: result.success,
|
|
1177
1350
|
latencyMs: Date.now() - startTime,
|
|
1178
1351
|
error: result.error,
|
|
@@ -1259,13 +1432,17 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1259
1432
|
});
|
|
1260
1433
|
}
|
|
1261
1434
|
|
|
1262
|
-
// Log the API call for analytics
|
|
1435
|
+
// Log the API call for analytics (with fingerprint for anonymous users)
|
|
1436
|
+
const analyticsUserId = workspaceContext
|
|
1437
|
+
? workspaceContext.workspaceId
|
|
1438
|
+
: `anon:${getMachineFingerprint()}`;
|
|
1439
|
+
|
|
1263
1440
|
logAPICall({
|
|
1264
1441
|
timestamp: new Date().toISOString(),
|
|
1265
1442
|
provider,
|
|
1266
1443
|
action,
|
|
1267
1444
|
type: apiType,
|
|
1268
|
-
userId:
|
|
1445
|
+
userId: analyticsUserId,
|
|
1269
1446
|
success: result.success,
|
|
1270
1447
|
latencyMs: Date.now() - startTime,
|
|
1271
1448
|
error: result.error,
|
|
@@ -1454,6 +1631,21 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1454
1631
|
if (sessionResult.success) {
|
|
1455
1632
|
writeSession(sessionResult.sessionToken!, existing.id, email);
|
|
1456
1633
|
|
|
1634
|
+
// Claim anonymous usage history
|
|
1635
|
+
try {
|
|
1636
|
+
const claimResult = await convex.mutation("workspaces:claimAnonymousUsage" as any, {
|
|
1637
|
+
workspaceId: existing.id,
|
|
1638
|
+
machineFingerprint: fingerprint,
|
|
1639
|
+
}) as { success: boolean; claimedCount?: number; message?: string };
|
|
1640
|
+
|
|
1641
|
+
if (claimResult.success && claimResult.claimedCount) {
|
|
1642
|
+
console.error(`[APIClaw] ✓ Claimed ${claimResult.claimedCount} anonymous usage records`);
|
|
1643
|
+
}
|
|
1644
|
+
} catch (err) {
|
|
1645
|
+
// Non-critical error, just log it
|
|
1646
|
+
console.error('[APIClaw] Warning: Failed to claim anonymous usage:', err);
|
|
1647
|
+
}
|
|
1648
|
+
|
|
1457
1649
|
// Update global context
|
|
1458
1650
|
workspaceContext = {
|
|
1459
1651
|
sessionToken: sessionResult.sessionToken!,
|
|
@@ -1501,20 +1693,37 @@ Docs: https://apiclaw.nordsym.com
|
|
|
1501
1693
|
fingerprint,
|
|
1502
1694
|
}) as { token: string; expiresAt: number };
|
|
1503
1695
|
|
|
1504
|
-
//
|
|
1505
|
-
// For now, return the verification link
|
|
1696
|
+
// Send magic link via email
|
|
1506
1697
|
const verifyUrl = `https://apiclaw.nordsym.com/verify?token=${magicLinkResult.token}`;
|
|
1507
1698
|
|
|
1699
|
+
const emailResponse = await fetch('https://api.resend.com/emails', {
|
|
1700
|
+
method: 'POST',
|
|
1701
|
+
headers: {
|
|
1702
|
+
'Authorization': `Bearer ${process.env.RESEND_API_KEY}`,
|
|
1703
|
+
'Content-Type': 'application/json',
|
|
1704
|
+
},
|
|
1705
|
+
body: JSON.stringify({
|
|
1706
|
+
from: 'APIClaw <noreply@apiclaw.nordsym.com>',
|
|
1707
|
+
to: email,
|
|
1708
|
+
subject: 'Verify your APIClaw workspace',
|
|
1709
|
+
html: `<p>Click to verify: <a href="${verifyUrl}">${verifyUrl}</a></p><p>Expires in 15 minutes.</p>`
|
|
1710
|
+
})
|
|
1711
|
+
});
|
|
1712
|
+
|
|
1713
|
+
if (!emailResponse.ok) {
|
|
1714
|
+
const errorData = await emailResponse.text();
|
|
1715
|
+
throw new Error(`Failed to send verification email: ${errorData}`);
|
|
1716
|
+
}
|
|
1717
|
+
|
|
1508
1718
|
return {
|
|
1509
1719
|
content: [{
|
|
1510
1720
|
type: 'text',
|
|
1511
1721
|
text: JSON.stringify({
|
|
1512
1722
|
status: 'pending_verification',
|
|
1513
|
-
message: 'Workspace created!
|
|
1723
|
+
message: 'Workspace created! Check your email for verification link.',
|
|
1514
1724
|
email,
|
|
1515
|
-
verification_url: verifyUrl,
|
|
1516
1725
|
expires_in_minutes: 15,
|
|
1517
|
-
next_step: '
|
|
1726
|
+
next_step: 'Check your email, click the verification link, then run check_workspace_status',
|
|
1518
1727
|
}, null, 2)
|
|
1519
1728
|
}]
|
|
1520
1729
|
};
|