nervepay 1.5.8 → 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/bin/nervepay-cli.js +35 -0
- package/dist/tools/gateway.d.ts +2 -2
- package/dist/tools/gateway.js +4 -4
- package/dist/tools/gateway.js.map +1 -1
- package/package.json +1 -1
package/bin/nervepay-cli.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { readFile, writeFile, mkdir } from 'fs/promises';
|
|
8
8
|
import { existsSync } from 'fs';
|
|
9
|
+
import { execSync } from 'child_process';
|
|
9
10
|
import { homedir, networkInterfaces } from 'os';
|
|
10
11
|
import { join, dirname } from 'path';
|
|
11
12
|
import { fileURLToPath } from 'url';
|
|
@@ -190,6 +191,31 @@ function formatHostForUrl(host) {
|
|
|
190
191
|
return host.includes(':') ? `[${host}]` : host;
|
|
191
192
|
}
|
|
192
193
|
|
|
194
|
+
function detectTailscaleHostname() {
|
|
195
|
+
try {
|
|
196
|
+
const result = execSync('tailscale status --json', { timeout: 3000, stdio: ['pipe', 'pipe', 'pipe'] });
|
|
197
|
+
const status = JSON.parse(result.toString());
|
|
198
|
+
const dnsName = status?.Self?.DNSName;
|
|
199
|
+
if (typeof dnsName === 'string' && dnsName.length > 0) {
|
|
200
|
+
return dnsName.replace(/\.$/, '');
|
|
201
|
+
}
|
|
202
|
+
} catch {
|
|
203
|
+
// Tailscale not installed or not running
|
|
204
|
+
}
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
function detectPublicIp() {
|
|
209
|
+
try {
|
|
210
|
+
const result = execSync('curl -sf --max-time 3 https://api.ipify.org?format=text', { timeout: 5000, stdio: ['pipe', 'pipe', 'pipe'] });
|
|
211
|
+
const ip = result.toString().trim();
|
|
212
|
+
if (/^\d{1,3}(\.\d{1,3}){3}$/.test(ip)) return ip;
|
|
213
|
+
} catch {
|
|
214
|
+
// No internet or service unavailable
|
|
215
|
+
}
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
|
|
193
219
|
function detectServerIp() {
|
|
194
220
|
const envIp =
|
|
195
221
|
process.env.OPENCLAW_PUBLIC_IP ||
|
|
@@ -197,6 +223,15 @@ function detectServerIp() {
|
|
|
197
223
|
process.env.NERVEPAY_PUBLIC_IP;
|
|
198
224
|
if (envIp && envIp.trim()) return envIp.trim();
|
|
199
225
|
|
|
226
|
+
// Try Tailscale MagicDNS hostname (routable across tailnet)
|
|
227
|
+
const tailscaleHost = detectTailscaleHostname();
|
|
228
|
+
if (tailscaleHost) return tailscaleHost;
|
|
229
|
+
|
|
230
|
+
// Try external public IP (handles cloud VMs behind NAT)
|
|
231
|
+
const publicIp = detectPublicIp();
|
|
232
|
+
if (publicIp) return publicIp;
|
|
233
|
+
|
|
234
|
+
// Fallback: scan network interfaces
|
|
200
235
|
const ifaces = networkInterfaces();
|
|
201
236
|
const publicIpv4 = [];
|
|
202
237
|
const privateIpv4 = [];
|
package/dist/tools/gateway.d.ts
CHANGED
|
@@ -70,7 +70,7 @@ export declare function completeDevicePairing(client: NervePayClient, params: De
|
|
|
70
70
|
status: string;
|
|
71
71
|
}>;
|
|
72
72
|
/**
|
|
73
|
-
* List all gateways
|
|
73
|
+
* List all gateways (uses agent-auth endpoint)
|
|
74
74
|
*/
|
|
75
75
|
export declare function listGateways(client: NervePayClient): Promise<{
|
|
76
76
|
gateways: Gateway[];
|
|
@@ -89,7 +89,7 @@ export declare function updateGateway(client: NervePayClient, gatewayId: string,
|
|
|
89
89
|
default_timeout_seconds: number;
|
|
90
90
|
}>): Promise<Gateway>;
|
|
91
91
|
/**
|
|
92
|
-
* Delete gateway
|
|
92
|
+
* Delete gateway (uses agent-auth endpoint)
|
|
93
93
|
*/
|
|
94
94
|
export declare function deleteGateway(client: NervePayClient, gatewayId: string): Promise<{
|
|
95
95
|
success: boolean;
|
package/dist/tools/gateway.js
CHANGED
|
@@ -30,10 +30,10 @@ export async function completeDevicePairing(client, params) {
|
|
|
30
30
|
return client.post('/v1/integrations/openclaw/device-pairing/complete', params, true);
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
* List all gateways
|
|
33
|
+
* List all gateways (uses agent-auth endpoint)
|
|
34
34
|
*/
|
|
35
35
|
export async function listGateways(client) {
|
|
36
|
-
return client.get('/v1/orchestration/gateways', true);
|
|
36
|
+
return client.get('/v1/orchestration/agent/gateways', true);
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Get gateway by ID
|
|
@@ -48,10 +48,10 @@ export async function updateGateway(client, gatewayId, updates) {
|
|
|
48
48
|
return client.put(`/v1/orchestration/gateways/${gatewayId}`, updates, true);
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
|
-
* Delete gateway
|
|
51
|
+
* Delete gateway (uses agent-auth endpoint)
|
|
52
52
|
*/
|
|
53
53
|
export async function deleteGateway(client, gatewayId) {
|
|
54
|
-
return client.delete(`/v1/orchestration/gateways/${gatewayId}`, true);
|
|
54
|
+
return client.delete(`/v1/orchestration/agent/gateways/${gatewayId}`, true);
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* Health check gateway
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/tools/gateway.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAqD7B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,MAA4B;IAE5B,OAAO,MAAM,CAAC,IAAI,CAChB,4CAA4C,EAC5C,MAAM,EACN,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAsB,EACtB,SAAiB;IAEjB,OAAO,MAAM,CAAC,GAAG,CACf,8CAA8C,SAAS,EAAE,EACzD,KAAK,CACN,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAsB,EACtB,MAA6B;IAE7B,OAAO,MAAM,CAAC,IAAI,CAChB,4CAA4C,EAC5C,MAAM,EACN,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAsB,EACtB,MAAmC;IAEnC,OAAO,MAAM,CAAC,IAAI,CAChB,mDAAmD,EACnD,MAAM,EACN,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAsB;IAEtB,OAAO,MAAM,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/tools/gateway.ts"],"names":[],"mappings":"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"}
|