@nordsym/apiclaw 1.3.5 → 1.3.6

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/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AA6NH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA8F9C"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AA+QH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA8F9C"}
package/dist/cli.js CHANGED
@@ -7,7 +7,7 @@ import * as readline from 'readline';
7
7
  import { ConvexHttpClient } from 'convex/browser';
8
8
  import { discoverAPIs } from './discovery.js';
9
9
  import { executeAPICall, getConnectedProviders } from './execute.js';
10
- import { readSession, clearSession, getMachineFingerprint } from './session.js';
10
+ import { readSession, writeSession, clearSession, getMachineFingerprint } from './session.js';
11
11
  const CONVEX_URL = process.env.CONVEX_URL || 'https://adventurous-avocet-799.convex.cloud';
12
12
  const convex = new ConvexHttpClient(CONVEX_URL);
13
13
  // Colors for terminal
@@ -63,23 +63,54 @@ async function registerOwner(email) {
63
63
  info(`Sending magic link to ${email}...`);
64
64
  try {
65
65
  const fingerprint = getMachineFingerprint();
66
- const result = await convex.mutation("workspaces:requestMagicLink", {
67
- email,
68
- fingerprint,
66
+ // Use HTTP endpoint for magic link
67
+ const response = await fetch(`${CONVEX_URL.replace('.cloud', '.site')}/workspace/magic-link`, {
68
+ method: 'POST',
69
+ headers: { 'Content-Type': 'application/json' },
70
+ body: JSON.stringify({ email, fingerprint }),
69
71
  });
70
- if (result?.sent) {
72
+ const result = await response.json();
73
+ if (result?.success && result?.token) {
71
74
  success(`Magic link sent to ${email}`);
72
75
  log(`\n📧 Check your email and click the link to authenticate.`);
73
- log(` Then run ${colors.cyan}status${colors.reset} to verify.\n`);
76
+ // Start polling for verification
77
+ log(`\n⏳ Waiting for you to click the link...`);
78
+ log(` (Press Ctrl+C to cancel)\n`);
79
+ await pollForVerification(result.token, fingerprint);
74
80
  }
75
81
  else {
76
- error(`Failed to send magic link: ${result?.error || 'Unknown error'}`);
82
+ error(`Failed: ${result?.error || 'Unknown error'}`);
77
83
  }
78
84
  }
79
85
  catch (err) {
80
86
  error(`Failed: ${err instanceof Error ? err.message : 'Unknown error'}`);
81
87
  }
82
88
  }
89
+ async function pollForVerification(token, fingerprint) {
90
+ const maxAttempts = 60; // 5 minutes
91
+ for (let i = 0; i < maxAttempts; i++) {
92
+ await new Promise(r => setTimeout(r, 5000)); // Poll every 5 seconds
93
+ try {
94
+ const response = await fetch(`${CONVEX_URL.replace('.cloud', '.site')}/workspace/poll?token=${token}`);
95
+ const result = await response.json();
96
+ if (result?.verified && result?.sessionToken) {
97
+ // Save the real session
98
+ writeSession(result.sessionToken, result.workspaceId || '', result.email || '');
99
+ success(`Authenticated as ${result.email}!`);
100
+ // Reload workspace context
101
+ await validateSession();
102
+ return;
103
+ }
104
+ }
105
+ catch {
106
+ // Continue polling
107
+ }
108
+ // Show progress dot
109
+ process.stdout.write('.');
110
+ }
111
+ log('\n');
112
+ error('Verification timed out. Please try again.');
113
+ }
83
114
  async function showStatus() {
84
115
  const valid = await validateSession();
85
116
  log(`\n${colors.bright}APIClaw Status${colors.reset}`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nordsym/apiclaw",
3
- "version": "1.3.5",
3
+ "version": "1.3.6",
4
4
  "description": "Agent-native API discovery and Direct Call execution via MCP",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/cli.ts CHANGED
@@ -83,23 +83,73 @@ async function registerOwner(email: string): Promise<void> {
83
83
 
84
84
  try {
85
85
  const fingerprint = getMachineFingerprint();
86
- const result = await convex.mutation("workspaces:requestMagicLink" as any, {
87
- email,
88
- fingerprint,
89
- }) as any;
90
86
 
91
- if (result?.sent) {
87
+ // Use HTTP endpoint for magic link
88
+ const response = await fetch(`${CONVEX_URL.replace('.cloud', '.site')}/workspace/magic-link`, {
89
+ method: 'POST',
90
+ headers: { 'Content-Type': 'application/json' },
91
+ body: JSON.stringify({ email, fingerprint }),
92
+ });
93
+
94
+ const result = await response.json() as { success?: boolean; token?: string; error?: string };
95
+
96
+ if (result?.success && result?.token) {
92
97
  success(`Magic link sent to ${email}`);
93
98
  log(`\n📧 Check your email and click the link to authenticate.`);
94
- log(` Then run ${colors.cyan}status${colors.reset} to verify.\n`);
99
+
100
+ // Start polling for verification
101
+ log(`\n⏳ Waiting for you to click the link...`);
102
+ log(` (Press Ctrl+C to cancel)\n`);
103
+
104
+ await pollForVerification(result.token, fingerprint);
95
105
  } else {
96
- error(`Failed to send magic link: ${result?.error || 'Unknown error'}`);
106
+ error(`Failed: ${result?.error || 'Unknown error'}`);
97
107
  }
98
108
  } catch (err) {
99
109
  error(`Failed: ${err instanceof Error ? err.message : 'Unknown error'}`);
100
110
  }
101
111
  }
102
112
 
113
+ async function pollForVerification(token: string, fingerprint: string): Promise<void> {
114
+ const maxAttempts = 60; // 5 minutes
115
+ for (let i = 0; i < maxAttempts; i++) {
116
+ await new Promise(r => setTimeout(r, 5000)); // Poll every 5 seconds
117
+
118
+ try {
119
+ const response = await fetch(`${CONVEX_URL.replace('.cloud', '.site')}/workspace/poll?token=${token}`);
120
+ const result = await response.json() as {
121
+ verified?: boolean;
122
+ sessionToken?: string;
123
+ workspaceId?: string;
124
+ email?: string;
125
+ };
126
+
127
+ if (result?.verified && result?.sessionToken) {
128
+ // Save the real session
129
+ writeSession(
130
+ result.sessionToken,
131
+ result.workspaceId || '',
132
+ result.email || ''
133
+ );
134
+
135
+ success(`Authenticated as ${result.email}!`);
136
+
137
+ // Reload workspace context
138
+ await validateSession();
139
+ return;
140
+ }
141
+ } catch {
142
+ // Continue polling
143
+ }
144
+
145
+ // Show progress dot
146
+ process.stdout.write('.');
147
+ }
148
+
149
+ log('\n');
150
+ error('Verification timed out. Please try again.');
151
+ }
152
+
103
153
  async function showStatus(): Promise<void> {
104
154
  const valid = await validateSession();
105
155