@nordsym/apiclaw 1.3.3 → 1.3.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/convex/_generated/api.d.ts +6 -0
- package/convex/billing.ts +341 -0
- package/convex/email.ts +276 -0
- package/convex/http.ts +154 -0
- package/convex/schema.ts +43 -0
- package/convex/workspaces.ts +663 -0
- package/dist/index.js +387 -4
- package/dist/index.js.map +1 -1
- package/dist/session.d.ts +29 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +87 -0
- package/dist/session.js.map +1 -0
- package/docs/PRD-agent-first-billing.md +525 -0
- package/landing/package-lock.json +21 -3
- package/landing/package.json +2 -1
- package/landing/src/app/api/stripe/webhook/route.ts +178 -0
- package/landing/src/app/api/workspace-auth/magic-link/route.ts +84 -0
- package/landing/src/app/api/workspace-auth/session/route.ts +73 -0
- package/landing/src/app/api/workspace-auth/verify/route.ts +57 -0
- package/landing/src/app/auth/verify/page.tsx +292 -0
- package/landing/src/app/dashboard/layout.tsx +22 -0
- package/landing/src/app/dashboard/page.tsx +692 -0
- package/landing/src/app/dashboard/verify/page.tsx +108 -0
- package/landing/src/app/login/page.tsx +204 -0
- package/landing/src/app/upgrade/page.tsx +288 -0
- package/landing/src/lib/stats.json +14 -15
- package/landing/src/middleware.ts +50 -0
- package/landing/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +434 -4
- package/src/session.ts +103 -0
package/dist/index.js
CHANGED
|
@@ -21,8 +21,81 @@ import { logAPICall } from './analytics.js';
|
|
|
21
21
|
import { isOpenAPI, executeOpenAPI, listOpenAPIs } from './open-apis.js';
|
|
22
22
|
import { requiresConfirmationAsync, createPendingAction, consumePendingAction, generatePreview, validateParams } from './confirmation.js';
|
|
23
23
|
import { executeCapability, listCapabilities, hasCapability } from './capability-router.js';
|
|
24
|
+
import { readSession, writeSession, clearSession, getMachineFingerprint } from './session.js';
|
|
25
|
+
import { ConvexHttpClient } from 'convex/browser';
|
|
24
26
|
// Default agent ID for MVP (in production, this would come from auth)
|
|
25
27
|
const DEFAULT_AGENT_ID = 'agent_default';
|
|
28
|
+
// Convex client for workspace management
|
|
29
|
+
const CONVEX_URL = process.env.CONVEX_URL || 'https://adventurous-avocet-799.convex.cloud';
|
|
30
|
+
const convex = new ConvexHttpClient(CONVEX_URL);
|
|
31
|
+
let workspaceContext = null;
|
|
32
|
+
/**
|
|
33
|
+
* Validate session on startup
|
|
34
|
+
*/
|
|
35
|
+
async function validateSession() {
|
|
36
|
+
const session = readSession();
|
|
37
|
+
if (!session) {
|
|
38
|
+
console.error('[APIClaw] No session found. Use register_owner to authenticate.');
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
const result = await convex.query("workspaces:getWorkspaceStatus", {
|
|
43
|
+
sessionToken: session.sessionToken,
|
|
44
|
+
});
|
|
45
|
+
if (!result.authenticated) {
|
|
46
|
+
console.error('[APIClaw] Session invalid or expired. Clearing...');
|
|
47
|
+
clearSession();
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
if (result.status !== 'active') {
|
|
51
|
+
console.error(`[APIClaw] Workspace status: ${result.status}. Please verify your email.`);
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
workspaceContext = {
|
|
55
|
+
sessionToken: session.sessionToken,
|
|
56
|
+
workspaceId: session.workspaceId,
|
|
57
|
+
email: result.email ?? '',
|
|
58
|
+
tier: result.tier ?? 'free',
|
|
59
|
+
usageRemaining: result.usageRemaining ?? 0,
|
|
60
|
+
status: result.status ?? 'unknown',
|
|
61
|
+
};
|
|
62
|
+
console.error(`[APIClaw] ✓ Authenticated as ${result.email} (${result.tier} tier)`);
|
|
63
|
+
console.error(`[APIClaw] ✓ Usage: ${result.usageCount}/${result.usageLimit === -1 ? '∞' : result.usageLimit} calls`);
|
|
64
|
+
// Touch session to update last used
|
|
65
|
+
await convex.mutation("workspaces:touchSession", {
|
|
66
|
+
sessionToken: session.sessionToken,
|
|
67
|
+
});
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
console.error('[APIClaw] Error validating session:', error);
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Check if workspace is active and has usage remaining
|
|
77
|
+
*/
|
|
78
|
+
function checkWorkspaceAccess() {
|
|
79
|
+
if (!workspaceContext) {
|
|
80
|
+
return {
|
|
81
|
+
allowed: false,
|
|
82
|
+
error: 'Not authenticated. Use register_owner to authenticate your workspace.'
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
if (workspaceContext.status !== 'active') {
|
|
86
|
+
return {
|
|
87
|
+
allowed: false,
|
|
88
|
+
error: `Workspace status: ${workspaceContext.status}. Please verify your email.`
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
if (workspaceContext.usageRemaining === 0) {
|
|
92
|
+
return {
|
|
93
|
+
allowed: false,
|
|
94
|
+
error: `Usage limit reached. Upgrade to ${workspaceContext.tier === 'free' ? 'Pro' : 'Enterprise'} for more calls.`
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return { allowed: true };
|
|
98
|
+
}
|
|
26
99
|
/**
|
|
27
100
|
* Get customer API key from environment variable
|
|
28
101
|
* Convention: {PROVIDER}_API_KEY (e.g., COACCEPT_API_KEY, ELKS_API_KEY)
|
|
@@ -237,6 +310,39 @@ const tools = [
|
|
|
237
310
|
type: 'object',
|
|
238
311
|
properties: {}
|
|
239
312
|
}
|
|
313
|
+
},
|
|
314
|
+
// ============================================
|
|
315
|
+
// WORKSPACE TOOLS
|
|
316
|
+
// ============================================
|
|
317
|
+
{
|
|
318
|
+
name: 'register_owner',
|
|
319
|
+
description: 'Register your email to create a workspace. This authenticates your agent with APIClaw. You will receive a magic link to verify ownership.',
|
|
320
|
+
inputSchema: {
|
|
321
|
+
type: 'object',
|
|
322
|
+
properties: {
|
|
323
|
+
email: {
|
|
324
|
+
type: 'string',
|
|
325
|
+
description: 'Your email address (used for verification and account recovery)'
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
required: ['email']
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
name: 'check_workspace_status',
|
|
333
|
+
description: 'Check your workspace status, tier, and usage remaining.',
|
|
334
|
+
inputSchema: {
|
|
335
|
+
type: 'object',
|
|
336
|
+
properties: {}
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
name: 'remind_owner',
|
|
341
|
+
description: 'Send a reminder email to verify workspace ownership (if verification is pending).',
|
|
342
|
+
inputSchema: {
|
|
343
|
+
type: 'object',
|
|
344
|
+
properties: {}
|
|
345
|
+
}
|
|
240
346
|
}
|
|
241
347
|
];
|
|
242
348
|
// Create server
|
|
@@ -485,6 +591,24 @@ Docs: https://apiclaw.nordsym.com
|
|
|
485
591
|
const action = args?.action;
|
|
486
592
|
const params = args?.params || {};
|
|
487
593
|
const confirmToken = args?.confirm_token;
|
|
594
|
+
// Check workspace access (skip for free/open APIs)
|
|
595
|
+
const isFreeAPI = isOpenAPI(provider);
|
|
596
|
+
if (!isFreeAPI) {
|
|
597
|
+
const access = checkWorkspaceAccess();
|
|
598
|
+
if (!access.allowed) {
|
|
599
|
+
return {
|
|
600
|
+
content: [{
|
|
601
|
+
type: 'text',
|
|
602
|
+
text: JSON.stringify({
|
|
603
|
+
status: 'error',
|
|
604
|
+
error: access.error,
|
|
605
|
+
hint: 'Use register_owner to authenticate your workspace.',
|
|
606
|
+
}, null, 2)
|
|
607
|
+
}],
|
|
608
|
+
isError: true
|
|
609
|
+
};
|
|
610
|
+
}
|
|
611
|
+
}
|
|
488
612
|
const startTime = Date.now();
|
|
489
613
|
let result;
|
|
490
614
|
let apiType;
|
|
@@ -594,6 +718,20 @@ Docs: https://apiclaw.nordsym.com
|
|
|
594
718
|
latencyMs: Date.now() - startTime,
|
|
595
719
|
error: result.error,
|
|
596
720
|
});
|
|
721
|
+
// Increment usage for workspace (non-free APIs only)
|
|
722
|
+
if (result.success && workspaceContext && !isFreeAPI) {
|
|
723
|
+
try {
|
|
724
|
+
const usageResult = await convex.mutation("workspaces:incrementUsage", {
|
|
725
|
+
workspaceId: workspaceContext.workspaceId,
|
|
726
|
+
});
|
|
727
|
+
if (usageResult.success) {
|
|
728
|
+
workspaceContext.usageRemaining = usageResult.remaining ?? -1;
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
catch (e) {
|
|
732
|
+
console.error('[APIClaw] Failed to track usage:', e);
|
|
733
|
+
}
|
|
734
|
+
}
|
|
597
735
|
return {
|
|
598
736
|
content: [
|
|
599
737
|
{
|
|
@@ -692,6 +830,249 @@ Docs: https://apiclaw.nordsym.com
|
|
|
692
830
|
}]
|
|
693
831
|
};
|
|
694
832
|
}
|
|
833
|
+
// ============================================
|
|
834
|
+
// WORKSPACE TOOLS
|
|
835
|
+
// ============================================
|
|
836
|
+
case 'register_owner': {
|
|
837
|
+
const email = args?.email;
|
|
838
|
+
if (!email || !email.includes('@')) {
|
|
839
|
+
return {
|
|
840
|
+
content: [{
|
|
841
|
+
type: 'text',
|
|
842
|
+
text: JSON.stringify({
|
|
843
|
+
status: 'error',
|
|
844
|
+
error: 'Invalid email address',
|
|
845
|
+
}, null, 2)
|
|
846
|
+
}],
|
|
847
|
+
isError: true
|
|
848
|
+
};
|
|
849
|
+
}
|
|
850
|
+
try {
|
|
851
|
+
// Check if workspace already exists
|
|
852
|
+
const existing = await convex.query("workspaces:getByEmail", { email });
|
|
853
|
+
if (existing && existing.status === 'active') {
|
|
854
|
+
// Workspace exists and is active - create session directly
|
|
855
|
+
const fingerprint = getMachineFingerprint();
|
|
856
|
+
const sessionResult = await convex.mutation("workspaces:createAgentSession", {
|
|
857
|
+
workspaceId: existing._id,
|
|
858
|
+
fingerprint,
|
|
859
|
+
});
|
|
860
|
+
if (sessionResult.success) {
|
|
861
|
+
writeSession(sessionResult.sessionToken, existing._id, email);
|
|
862
|
+
// Update global context
|
|
863
|
+
workspaceContext = {
|
|
864
|
+
sessionToken: sessionResult.sessionToken,
|
|
865
|
+
workspaceId: existing._id,
|
|
866
|
+
email,
|
|
867
|
+
tier: existing.tier,
|
|
868
|
+
usageRemaining: existing.usageLimit - existing.usageCount,
|
|
869
|
+
status: existing.status,
|
|
870
|
+
};
|
|
871
|
+
return {
|
|
872
|
+
content: [{
|
|
873
|
+
type: 'text',
|
|
874
|
+
text: JSON.stringify({
|
|
875
|
+
status: 'success',
|
|
876
|
+
message: `Welcome back! Authenticated as ${email}`,
|
|
877
|
+
workspace: {
|
|
878
|
+
email,
|
|
879
|
+
tier: existing.tier,
|
|
880
|
+
usageCount: existing.usageCount,
|
|
881
|
+
usageLimit: existing.usageLimit,
|
|
882
|
+
},
|
|
883
|
+
}, null, 2)
|
|
884
|
+
}]
|
|
885
|
+
};
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
// Create workspace and magic link
|
|
889
|
+
const createResult = await convex.mutation("workspaces:createWorkspace", { email });
|
|
890
|
+
let workspaceId;
|
|
891
|
+
if (createResult.success) {
|
|
892
|
+
workspaceId = createResult.workspaceId;
|
|
893
|
+
}
|
|
894
|
+
else if (createResult.error === 'workspace_exists') {
|
|
895
|
+
workspaceId = createResult.workspaceId;
|
|
896
|
+
}
|
|
897
|
+
else {
|
|
898
|
+
throw new Error(createResult.error);
|
|
899
|
+
}
|
|
900
|
+
// Create magic link
|
|
901
|
+
const fingerprint = getMachineFingerprint();
|
|
902
|
+
const magicLinkResult = await convex.mutation("workspaces:createMagicLink", {
|
|
903
|
+
email,
|
|
904
|
+
fingerprint,
|
|
905
|
+
});
|
|
906
|
+
// TODO: Agent 2 will implement actual email sending
|
|
907
|
+
// For now, return the verification link
|
|
908
|
+
const verifyUrl = `https://apiclaw.nordsym.com/verify?token=${magicLinkResult.token}`;
|
|
909
|
+
return {
|
|
910
|
+
content: [{
|
|
911
|
+
type: 'text',
|
|
912
|
+
text: JSON.stringify({
|
|
913
|
+
status: 'pending_verification',
|
|
914
|
+
message: 'Workspace created! Please verify your email.',
|
|
915
|
+
email,
|
|
916
|
+
verification_url: verifyUrl,
|
|
917
|
+
expires_in_minutes: 15,
|
|
918
|
+
next_step: 'Click the verification link, then run check_workspace_status',
|
|
919
|
+
}, null, 2)
|
|
920
|
+
}]
|
|
921
|
+
};
|
|
922
|
+
}
|
|
923
|
+
catch (error) {
|
|
924
|
+
return {
|
|
925
|
+
content: [{
|
|
926
|
+
type: 'text',
|
|
927
|
+
text: JSON.stringify({
|
|
928
|
+
status: 'error',
|
|
929
|
+
error: error instanceof Error ? error.message : 'Registration failed',
|
|
930
|
+
}, null, 2)
|
|
931
|
+
}],
|
|
932
|
+
isError: true
|
|
933
|
+
};
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
case 'check_workspace_status': {
|
|
937
|
+
// Check if we have a local session
|
|
938
|
+
const session = readSession();
|
|
939
|
+
if (!session) {
|
|
940
|
+
return {
|
|
941
|
+
content: [{
|
|
942
|
+
type: 'text',
|
|
943
|
+
text: JSON.stringify({
|
|
944
|
+
status: 'not_authenticated',
|
|
945
|
+
message: 'No active session. Use register_owner to authenticate.',
|
|
946
|
+
}, null, 2)
|
|
947
|
+
}]
|
|
948
|
+
};
|
|
949
|
+
}
|
|
950
|
+
try {
|
|
951
|
+
const result = await convex.query("workspaces:getWorkspaceStatus", {
|
|
952
|
+
sessionToken: session.sessionToken,
|
|
953
|
+
});
|
|
954
|
+
if (!result.authenticated) {
|
|
955
|
+
clearSession();
|
|
956
|
+
workspaceContext = null;
|
|
957
|
+
return {
|
|
958
|
+
content: [{
|
|
959
|
+
type: 'text',
|
|
960
|
+
text: JSON.stringify({
|
|
961
|
+
status: 'session_expired',
|
|
962
|
+
message: 'Session expired. Use register_owner to re-authenticate.',
|
|
963
|
+
}, null, 2)
|
|
964
|
+
}]
|
|
965
|
+
};
|
|
966
|
+
}
|
|
967
|
+
// Update global context
|
|
968
|
+
workspaceContext = {
|
|
969
|
+
sessionToken: session.sessionToken,
|
|
970
|
+
workspaceId: session.workspaceId,
|
|
971
|
+
email: result.email ?? '',
|
|
972
|
+
tier: result.tier ?? 'free',
|
|
973
|
+
usageRemaining: result.usageRemaining ?? 0,
|
|
974
|
+
status: result.status ?? 'unknown',
|
|
975
|
+
};
|
|
976
|
+
return {
|
|
977
|
+
content: [{
|
|
978
|
+
type: 'text',
|
|
979
|
+
text: JSON.stringify({
|
|
980
|
+
status: 'success',
|
|
981
|
+
workspace: {
|
|
982
|
+
email: result.email,
|
|
983
|
+
status: result.status,
|
|
984
|
+
tier: result.tier,
|
|
985
|
+
usage: {
|
|
986
|
+
count: result.usageCount,
|
|
987
|
+
limit: result.usageLimit === -1 ? 'unlimited' : result.usageLimit,
|
|
988
|
+
remaining: result.usageRemaining === -1 ? 'unlimited' : result.usageRemaining,
|
|
989
|
+
},
|
|
990
|
+
hasStripe: result.hasStripe,
|
|
991
|
+
createdAt: result.createdAt ? new Date(result.createdAt).toISOString() : undefined,
|
|
992
|
+
},
|
|
993
|
+
}, null, 2)
|
|
994
|
+
}]
|
|
995
|
+
};
|
|
996
|
+
}
|
|
997
|
+
catch (error) {
|
|
998
|
+
return {
|
|
999
|
+
content: [{
|
|
1000
|
+
type: 'text',
|
|
1001
|
+
text: JSON.stringify({
|
|
1002
|
+
status: 'error',
|
|
1003
|
+
error: error instanceof Error ? error.message : 'Failed to check status',
|
|
1004
|
+
}, null, 2)
|
|
1005
|
+
}],
|
|
1006
|
+
isError: true
|
|
1007
|
+
};
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
case 'remind_owner': {
|
|
1011
|
+
const session = readSession();
|
|
1012
|
+
if (!session) {
|
|
1013
|
+
return {
|
|
1014
|
+
content: [{
|
|
1015
|
+
type: 'text',
|
|
1016
|
+
text: JSON.stringify({
|
|
1017
|
+
status: 'error',
|
|
1018
|
+
error: 'No workspace found. Use register_owner first.',
|
|
1019
|
+
}, null, 2)
|
|
1020
|
+
}],
|
|
1021
|
+
isError: true
|
|
1022
|
+
};
|
|
1023
|
+
}
|
|
1024
|
+
try {
|
|
1025
|
+
// Check current status
|
|
1026
|
+
const result = await convex.query("workspaces:getWorkspaceStatus", {
|
|
1027
|
+
sessionToken: session.sessionToken,
|
|
1028
|
+
});
|
|
1029
|
+
if (result.authenticated && result.status === 'active') {
|
|
1030
|
+
return {
|
|
1031
|
+
content: [{
|
|
1032
|
+
type: 'text',
|
|
1033
|
+
text: JSON.stringify({
|
|
1034
|
+
status: 'already_verified',
|
|
1035
|
+
message: 'Workspace is already verified and active!',
|
|
1036
|
+
email: result.email,
|
|
1037
|
+
}, null, 2)
|
|
1038
|
+
}]
|
|
1039
|
+
};
|
|
1040
|
+
}
|
|
1041
|
+
// Create new magic link
|
|
1042
|
+
const fingerprint = getMachineFingerprint();
|
|
1043
|
+
const magicLinkResult = await convex.mutation("workspaces:createMagicLink", {
|
|
1044
|
+
email: session.email,
|
|
1045
|
+
fingerprint,
|
|
1046
|
+
});
|
|
1047
|
+
// TODO: Agent 2 will implement actual email sending
|
|
1048
|
+
const verifyUrl = `https://apiclaw.nordsym.com/verify?token=${magicLinkResult.token}`;
|
|
1049
|
+
return {
|
|
1050
|
+
content: [{
|
|
1051
|
+
type: 'text',
|
|
1052
|
+
text: JSON.stringify({
|
|
1053
|
+
status: 'reminder_sent',
|
|
1054
|
+
message: 'New verification link created.',
|
|
1055
|
+
email: session.email,
|
|
1056
|
+
verification_url: verifyUrl,
|
|
1057
|
+
expires_in_minutes: 15,
|
|
1058
|
+
note: 'Email sending will be implemented by Agent 2',
|
|
1059
|
+
}, null, 2)
|
|
1060
|
+
}]
|
|
1061
|
+
};
|
|
1062
|
+
}
|
|
1063
|
+
catch (error) {
|
|
1064
|
+
return {
|
|
1065
|
+
content: [{
|
|
1066
|
+
type: 'text',
|
|
1067
|
+
text: JSON.stringify({
|
|
1068
|
+
status: 'error',
|
|
1069
|
+
error: error instanceof Error ? error.message : 'Failed to send reminder',
|
|
1070
|
+
}, null, 2)
|
|
1071
|
+
}],
|
|
1072
|
+
isError: true
|
|
1073
|
+
};
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
695
1076
|
default:
|
|
696
1077
|
return {
|
|
697
1078
|
content: [
|
|
@@ -727,6 +1108,8 @@ async function main() {
|
|
|
727
1108
|
const transport = new StdioServerTransport();
|
|
728
1109
|
await server.connect(transport);
|
|
729
1110
|
trackStartup();
|
|
1111
|
+
// Validate session on startup
|
|
1112
|
+
const hasValidSession = await validateSession();
|
|
730
1113
|
// Welcome message with onboarding
|
|
731
1114
|
console.error(`
|
|
732
1115
|
🦞 APIClaw v1.1.5 — The API Layer for AI Agents
|
|
@@ -735,15 +1118,15 @@ async function main() {
|
|
|
735
1118
|
✓ 19,000+ APIs indexed
|
|
736
1119
|
✓ 23 categories
|
|
737
1120
|
✓ 9 direct-call providers ready
|
|
1121
|
+
${hasValidSession ? `✓ Authenticated as ${workspaceContext?.email}` : '⚠ Not authenticated - use register_owner'}
|
|
738
1122
|
|
|
739
1123
|
Quick Start:
|
|
740
|
-
discover_apis("send SMS to Sweden")
|
|
1124
|
+
${!hasValidSession ? 'register_owner({ email: "you@example.com" }) # First, authenticate\n ' : ''}discover_apis("send SMS to Sweden")
|
|
741
1125
|
discover_apis("search the web")
|
|
742
|
-
|
|
1126
|
+
call_api({ provider: "brave_search", ... })
|
|
743
1127
|
|
|
744
1128
|
Direct Call (no API key needed):
|
|
745
|
-
|
|
746
|
-
call_api({ provider: "brave_search", ... })
|
|
1129
|
+
list_connected()
|
|
747
1130
|
|
|
748
1131
|
Docs: https://apiclaw.nordsym.com
|
|
749
1132
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
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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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session management for APIClaw MCP server
|
|
3
|
+
* Stores session token locally at ~/.apiclaw/session
|
|
4
|
+
*/
|
|
5
|
+
export interface SessionData {
|
|
6
|
+
sessionToken: string;
|
|
7
|
+
workspaceId: string;
|
|
8
|
+
email: string;
|
|
9
|
+
createdAt: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Read session from ~/.apiclaw/session
|
|
13
|
+
* Returns null if no session file exists or if it's invalid
|
|
14
|
+
*/
|
|
15
|
+
export declare function readSession(): SessionData | null;
|
|
16
|
+
/**
|
|
17
|
+
* Write session to ~/.apiclaw/session
|
|
18
|
+
*/
|
|
19
|
+
export declare function writeSession(sessionToken: string, workspaceId: string, email: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Clear session file
|
|
22
|
+
*/
|
|
23
|
+
export declare function clearSession(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Get machine fingerprint (for session binding)
|
|
26
|
+
* Uses hostname + username as a simple fingerprint
|
|
27
|
+
*/
|
|
28
|
+
export declare function getMachineFingerprint(): string;
|
|
29
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAcD;;;GAGG;AACH,wBAAgB,WAAW,IAAI,WAAW,GAAG,IAAI,CAqBhD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAoB3F;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CASnC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C"}
|
package/dist/session.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session management for APIClaw MCP server
|
|
3
|
+
* Stores session token locally at ~/.apiclaw/session
|
|
4
|
+
*/
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
import * as os from 'os';
|
|
8
|
+
const SESSION_DIR = path.join(os.homedir(), '.apiclaw');
|
|
9
|
+
const SESSION_FILE = path.join(SESSION_DIR, 'session');
|
|
10
|
+
/**
|
|
11
|
+
* Ensure the ~/.apiclaw directory exists
|
|
12
|
+
*/
|
|
13
|
+
function ensureSessionDir() {
|
|
14
|
+
if (!fs.existsSync(SESSION_DIR)) {
|
|
15
|
+
fs.mkdirSync(SESSION_DIR, { mode: 0o700 });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Read session from ~/.apiclaw/session
|
|
20
|
+
* Returns null if no session file exists or if it's invalid
|
|
21
|
+
*/
|
|
22
|
+
export function readSession() {
|
|
23
|
+
try {
|
|
24
|
+
if (!fs.existsSync(SESSION_FILE)) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const content = fs.readFileSync(SESSION_FILE, 'utf8');
|
|
28
|
+
const data = JSON.parse(content);
|
|
29
|
+
// Validate required fields
|
|
30
|
+
if (!data.sessionToken || !data.workspaceId || !data.email) {
|
|
31
|
+
console.error('[APIClaw] Invalid session file, clearing...');
|
|
32
|
+
clearSession();
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return data;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.error('[APIClaw] Error reading session:', error);
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Write session to ~/.apiclaw/session
|
|
44
|
+
*/
|
|
45
|
+
export function writeSession(sessionToken, workspaceId, email) {
|
|
46
|
+
try {
|
|
47
|
+
ensureSessionDir();
|
|
48
|
+
const data = {
|
|
49
|
+
sessionToken,
|
|
50
|
+
workspaceId,
|
|
51
|
+
email,
|
|
52
|
+
createdAt: Date.now(),
|
|
53
|
+
};
|
|
54
|
+
fs.writeFileSync(SESSION_FILE, JSON.stringify(data, null, 2), {
|
|
55
|
+
mode: 0o600, // Read/write for owner only
|
|
56
|
+
});
|
|
57
|
+
console.error(`[APIClaw] Session saved for ${email}`);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
console.error('[APIClaw] Error writing session:', error);
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Clear session file
|
|
66
|
+
*/
|
|
67
|
+
export function clearSession() {
|
|
68
|
+
try {
|
|
69
|
+
if (fs.existsSync(SESSION_FILE)) {
|
|
70
|
+
fs.unlinkSync(SESSION_FILE);
|
|
71
|
+
console.error('[APIClaw] Session cleared');
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
console.error('[APIClaw] Error clearing session:', error);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Get machine fingerprint (for session binding)
|
|
80
|
+
* Uses hostname + username as a simple fingerprint
|
|
81
|
+
*/
|
|
82
|
+
export function getMachineFingerprint() {
|
|
83
|
+
const hostname = os.hostname();
|
|
84
|
+
const username = os.userInfo().username;
|
|
85
|
+
return `${hostname}:${username}`;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=session.js.map
|