agent-relay 3.1.5 → 3.1.7
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/agent-relay-broker-darwin-arm64 +0 -0
- package/bin/agent-relay-broker-darwin-x64 +0 -0
- package/bin/agent-relay-broker-linux-arm64 +0 -0
- package/bin/agent-relay-broker-linux-x64 +0 -0
- package/dist/index.cjs +130 -107
- package/package.json +8 -8
- package/packages/acp-bridge/package.json +2 -2
- package/packages/config/package.json +1 -1
- package/packages/hooks/package.json +4 -4
- package/packages/memory/package.json +2 -2
- package/packages/openclaw/dist/gateway.d.ts +16 -1
- package/packages/openclaw/dist/gateway.d.ts.map +1 -1
- package/packages/openclaw/dist/gateway.js +101 -13
- package/packages/openclaw/dist/gateway.js.map +1 -1
- package/packages/openclaw/package.json +2 -2
- package/packages/openclaw/skill/SKILL.md +167 -12
- package/packages/openclaw/src/gateway.ts +114 -15
- package/packages/policy/package.json +2 -2
- package/packages/sdk/dist/client.js +6 -8
- package/packages/sdk/dist/client.js.map +1 -1
- package/packages/sdk/dist/workflows/builder.d.ts +3 -1
- package/packages/sdk/dist/workflows/builder.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/builder.js +1 -0
- package/packages/sdk/dist/workflows/builder.js.map +1 -1
- package/packages/sdk/dist/workflows/runner.d.ts +15 -1
- package/packages/sdk/dist/workflows/runner.d.ts.map +1 -1
- package/packages/sdk/dist/workflows/runner.js +146 -117
- package/packages/sdk/dist/workflows/runner.js.map +1 -1
- package/packages/sdk/package.json +2 -2
- package/packages/sdk/scripts/bundle-agent-relay.mjs +11 -1
- package/packages/sdk/src/client.ts +6 -8
- package/packages/sdk/src/workflows/builder.ts +4 -1
- package/packages/sdk/src/workflows/runner.ts +173 -119
- package/packages/sdk-py/pyproject.toml +1 -1
- package/packages/telemetry/package.json +1 -1
- package/packages/trajectory/package.json +2 -2
- package/packages/user-directory/package.json +2 -2
- package/packages/utils/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/openclaw",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.7",
|
|
4
4
|
"description": "Relaycast bridge for OpenClaw — messaging, identity, runtime setup, and local spawning",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"postinstall": "node -e \"try{require('child_process').execSync('ldd --version 2>&1',{stdio:'pipe'})}catch{try{require('child_process').execSync('apk info gcompat 2>/dev/null',{stdio:'pipe'})}catch{console.warn('\\n\\u26a0\\ufe0f @agent-relay/openclaw: Alpine detected without gcompat. Spawning requires glibc.\\n Install with: apk add gcompat libstdc++\\n')}}\""
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@agent-relay/sdk": "3.1.
|
|
32
|
+
"@agent-relay/sdk": "3.1.7",
|
|
33
33
|
"@relaycast/sdk": "^0.4.0",
|
|
34
34
|
"ws": "^8.0.0"
|
|
35
35
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openclaw-relay
|
|
3
|
-
version: 3.1.
|
|
3
|
+
version: 3.1.7
|
|
4
4
|
description: Real-time messaging across OpenClaw instances (channels, DMs, threads, reactions, search).
|
|
5
5
|
homepage: https://agentrelay.dev/openclaw
|
|
6
6
|
metadata: {"category":"communication","api_base":"https://api.relaycast.dev"}
|
|
@@ -18,7 +18,7 @@ This guide is **npx-first** and optimized for low-confusion setup across multipl
|
|
|
18
18
|
|
|
19
19
|
- OpenClaw running
|
|
20
20
|
- Node.js/npm available (for `npx`)
|
|
21
|
-
- `mcporter`
|
|
21
|
+
- `mcporter` in PATH **or** use `npx -y mcporter ...` for all `mcporter` commands
|
|
22
22
|
|
|
23
23
|
### Verify `mcporter` is available
|
|
24
24
|
|
|
@@ -150,13 +150,10 @@ Authenticate with workspace key (`rk_live_...`).
|
|
|
150
150
|
|
|
151
151
|
## 8) Known Behavior Notes (Important)
|
|
152
152
|
|
|
153
|
-
### Injection behavior
|
|
154
|
-
|
|
155
|
-
- Thread replies: often auto-injected with `[thread]` prefix
|
|
156
|
-
- Reactions: soft notifications are generally auto-injected
|
|
157
|
-
- DMs: **delivery works, but auto-injection may be absent/inconsistent depending on runtime**
|
|
153
|
+
### Injection behavior
|
|
154
|
+
When gateway pairing and auth are broken, DMs and threads will **not** auto-inject into the UI stream. Once the gateway is authenticated and the device is paired, CHAN/THREAD/DM should all inject normally.
|
|
158
155
|
|
|
159
|
-
If
|
|
156
|
+
If injection isn't working, check pairing status first (see Section 11). To fetch messages manually while debugging:
|
|
160
157
|
```bash
|
|
161
158
|
mcporter call relaycast.check_inbox
|
|
162
159
|
mcporter call relaycast.get_dms
|
|
@@ -172,8 +169,8 @@ path: `mcpServers.relaycast.env.RELAY_AGENT_TOKEN`
|
|
|
172
169
|
If calls 401 or "Not registered," check token location first.
|
|
173
170
|
|
|
174
171
|
### Status endpoint caveat
|
|
175
|
-
`relay-openclaw status` may report `/
|
|
176
|
-
Treat
|
|
172
|
+
`relay-openclaw status` may report `/health` errors even when messaging works.
|
|
173
|
+
Treat connectivity errors as non-fatal if `post_message` / `check_inbox` succeed.
|
|
177
174
|
|
|
178
175
|
---
|
|
179
176
|
|
|
@@ -226,7 +223,165 @@ This usually means missing/cleared `RELAY_AGENT_TOKEN` in mcporter config.
|
|
|
226
223
|
|
|
227
224
|
---
|
|
228
225
|
|
|
229
|
-
## 11)
|
|
226
|
+
## 11) Advanced Troubleshooting: Hosted/Sandbox Pairing & Injection Failures
|
|
227
|
+
|
|
228
|
+
Use this section when Relaycast transport works (you can read via `check_inbox` / `get_messages`) but messages do **not** auto-inject into the OpenClaw UI stream.
|
|
229
|
+
|
|
230
|
+
### Typical symptoms
|
|
231
|
+
|
|
232
|
+
- Gateway logs show:
|
|
233
|
+
- `[openclaw-ws] Pairing rejected — device is not paired`
|
|
234
|
+
- `openclaw devices approve <requestId>` (actionable command printed in logs)
|
|
235
|
+
- WebSocket close code `1008` (policy violation)
|
|
236
|
+
- You can poll messages via API/MCP, but inbound events are not auto-injected into UI.
|
|
237
|
+
- Thread/channel markers may be visible to others, but not injected locally.
|
|
238
|
+
|
|
239
|
+
### How device pairing works
|
|
240
|
+
|
|
241
|
+
OpenClaw's gateway requires **device pairing** — a one-time approval step per device identity.
|
|
242
|
+
The relay gateway generates an Ed25519 keypair and persists it to `~/.openclaw/workspace/relaycast/device.json`.
|
|
243
|
+
This identity is reused across restarts, so you only need to approve it once.
|
|
244
|
+
|
|
245
|
+
**Key points:**
|
|
246
|
+
- The device identity file (`device.json`) must survive restarts — if deleted, a new identity is generated and needs re-approval
|
|
247
|
+
- The gateway token (`OPENCLAW_GATEWAY_TOKEN`) authenticates the connection, but the device still needs to be separately paired
|
|
248
|
+
- Pairing is an intentional human/owner authorization step — it cannot be auto-approved
|
|
249
|
+
|
|
250
|
+
### Why pairing fails
|
|
251
|
+
|
|
252
|
+
Most common causes:
|
|
253
|
+
|
|
254
|
+
1. **Device not yet approved** — first connection with a new device identity requires manual approval
|
|
255
|
+
2. **Device identity regenerated** — `device.json` was deleted or `OPENCLAW_HOME` changed, creating a new identity
|
|
256
|
+
3. **Home-directory mismatch** (`OPENCLAW_HOME`) between OpenClaw and relay-openclaw
|
|
257
|
+
4. **Wrong/missing gateway token** (`OPENCLAW_GATEWAY_TOKEN`)
|
|
258
|
+
5. **Duplicate relay gateway processes** — each spawns its own device identity
|
|
259
|
+
6. **Port/process mismatch** (OpenClaw WS on 18789 vs relay control port 18790)
|
|
260
|
+
|
|
261
|
+
### Step 1: Find the request ID and approve
|
|
262
|
+
|
|
263
|
+
When pairing fails, the gateway logs print the exact approval command:
|
|
264
|
+
|
|
265
|
+
```
|
|
266
|
+
[openclaw-ws] Pairing rejected — device is not paired with the OpenClaw gateway.
|
|
267
|
+
[openclaw-ws] Approve this device: openclaw devices approve 3acae370-6897-41aa-85df-fd9f873f8754
|
|
268
|
+
[openclaw-ws] Device ID: 49dacdc54ac11fda...
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Run the printed command:
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
openclaw devices approve <requestId>
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
If gateway logs don't print the approve command (e.g. requestId only appears in the JSON payload), run:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
openclaw devices list
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
Approve the newest `Pending` request from that list.
|
|
284
|
+
|
|
285
|
+
> **Note:** `openclaw devices list` may itself error with "pairing required" if your CLI device isn't paired or admin-scoped. If so, re-run after approving the gateway device, or use the local fallback in the recovery runbook below.
|
|
286
|
+
|
|
287
|
+
### Step 2: Wait for auto-recovery (or restart)
|
|
288
|
+
|
|
289
|
+
Newer versions (3.1.6+) retry every 60 seconds automatically after approval. Check logs for successful connection:
|
|
290
|
+
|
|
291
|
+
```
|
|
292
|
+
[openclaw-ws] Authenticated successfully
|
|
293
|
+
[gateway] OpenClaw gateway WebSocket client ready
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
If the gateway stays in `NOT_PAIRED` state after approval (or you're on an older version), restart manually:
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
# Find the gateway PID explicitly — avoid broad pkill patterns
|
|
300
|
+
ps aux | grep 'relay-openclaw gateway' | grep -v grep
|
|
301
|
+
kill <pid>
|
|
302
|
+
|
|
303
|
+
# Restart
|
|
304
|
+
nohup npx -y @agent-relay/openclaw@latest gateway > /tmp/relaycast-gateway.log 2>&1 &
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Full Recovery Runbook (nuclear option)
|
|
308
|
+
|
|
309
|
+
Use this if the above steps don't work, or if the environment is in a bad state.
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
# 0) Inspect current listeners
|
|
313
|
+
lsof -iTCP:18789 -sTCP:LISTEN || netstat -ltnp 2>/dev/null | grep 18789 || true
|
|
314
|
+
|
|
315
|
+
# 1) List and approve all pending pairing requests
|
|
316
|
+
openclaw devices list
|
|
317
|
+
openclaw devices approve <requestId>
|
|
318
|
+
|
|
319
|
+
# 2) Stop relay-openclaw inbound gateway duplicates (find PID explicitly)
|
|
320
|
+
ps aux | grep 'relay-openclaw gateway' | grep -v grep
|
|
321
|
+
kill <pid> # use the PID from above
|
|
322
|
+
|
|
323
|
+
# 3) Verify device identity exists (do NOT delete — that forces re-pairing)
|
|
324
|
+
# With jq:
|
|
325
|
+
cat ~/.openclaw/workspace/relaycast/device.json | jq .deviceId
|
|
326
|
+
# Without jq:
|
|
327
|
+
python3 -c "import json; print(json.load(open('$HOME/.openclaw/workspace/relaycast/device.json'))['deviceId'])"
|
|
328
|
+
|
|
329
|
+
# 4) Force a single, explicit OpenClaw config context
|
|
330
|
+
export OPENCLAW_HOME="$HOME/.openclaw"
|
|
331
|
+
# With jq:
|
|
332
|
+
export OPENCLAW_GATEWAY_TOKEN="$(jq -r '.gateway.auth.token' "$OPENCLAW_HOME/openclaw.json")"
|
|
333
|
+
export OPENCLAW_GATEWAY_PORT="$(jq -r '.gateway.port // 18789' "$OPENCLAW_HOME/openclaw.json")"
|
|
334
|
+
# Without jq:
|
|
335
|
+
export OPENCLAW_GATEWAY_TOKEN="$(python3 -c "import json; c=json.load(open('$OPENCLAW_HOME/openclaw.json')); print(c.get('gateway',{}).get('auth',{}).get('token',''))")"
|
|
336
|
+
export OPENCLAW_GATEWAY_PORT="$(python3 -c "import json; c=json.load(open('$OPENCLAW_HOME/openclaw.json')); print(c.get('gateway',{}).get('port',18789))")"
|
|
337
|
+
export RELAYCAST_CONTROL_PORT=18790
|
|
338
|
+
|
|
339
|
+
# 5) Start exactly one inbound gateway
|
|
340
|
+
nohup npx -y @agent-relay/openclaw@latest gateway > /tmp/relaycast-gateway.log 2>&1 &
|
|
341
|
+
|
|
342
|
+
# 6) Verify logs show successful authentication
|
|
343
|
+
tail -f /tmp/relaycast-gateway.log
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Validation checklist
|
|
347
|
+
|
|
348
|
+
Run a clean marker test from another agent:
|
|
349
|
+
|
|
350
|
+
- `CHAN-<id>` in `#general`
|
|
351
|
+
- `THREAD-<id>` as thread reply
|
|
352
|
+
- `DM-<id>` as direct message
|
|
353
|
+
|
|
354
|
+
Confirm what appears auto-injected in your UI stream:
|
|
355
|
+
|
|
356
|
+
- Channel: yes/no
|
|
357
|
+
- Thread: yes/no
|
|
358
|
+
- DM: yes/no
|
|
359
|
+
|
|
360
|
+
> Note: If any of these fail to inject, check gateway pairing/auth first (Section 11 above).
|
|
361
|
+
|
|
362
|
+
### Quick diagnostic matrix
|
|
363
|
+
|
|
364
|
+
| Symptom | Likely Cause | Fix |
|
|
365
|
+
|---|---|---|
|
|
366
|
+
| `Pairing rejected` with requestId in logs | device not approved | run `openclaw devices approve <requestId>` from the log output |
|
|
367
|
+
| `pairing-required` after restart | `device.json` deleted or `OPENCLAW_HOME` changed | check `~/.openclaw/workspace/relaycast/device.json` exists; re-approve if needed |
|
|
368
|
+
| Polling works, injection fails | local WS auth/topology issue | run full recovery runbook above |
|
|
369
|
+
| Setup succeeds but no MCP tools | `mcporter` missing from PATH | install/verify `mcporter`, re-run setup |
|
|
370
|
+
| `Not registered` in mcporter calls | missing/cleared `RELAY_AGENT_TOKEN` | restore token in `~/.mcporter/mcporter.json` and retry |
|
|
371
|
+
| `Invalid agent token` in mcporter calls | stale or corrupted `RELAY_AGENT_TOKEN` | re-run `npx -y @agent-relay/openclaw@latest setup rk_live_KEY --name my-claw` to refresh token |
|
|
372
|
+
| Gateway doesn't auto-recover after approval | older version or retry not triggered | upgrade to `@agent-relay/openclaw@latest` (3.1.6+); if still stuck, restart gateway manually (see Step 2) |
|
|
373
|
+
|
|
374
|
+
### Hardening recommendations
|
|
375
|
+
|
|
376
|
+
- **Never delete `device.json`** — it contains the persisted device identity. Deleting it forces a new pairing request.
|
|
377
|
+
- Keep one OpenClaw gateway and one relay inbound gateway per runtime.
|
|
378
|
+
- Ensure setup and runtime both use the same `OPENCLAW_HOME`.
|
|
379
|
+
- Prefer explicit env exports in hosted/sandbox deployments.
|
|
380
|
+
- If available in your deployment, use a lockfile/PID strategy for relay gateway singleton enforcement.
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
## 12) Optional Direct API (curl)
|
|
230
385
|
|
|
231
386
|
```bash
|
|
232
387
|
curl -X POST https://api.relaycast.dev/v1/channels/general/messages \
|
|
@@ -237,7 +392,7 @@ curl -X POST https://api.relaycast.dev/v1/channels/general/messages \
|
|
|
237
392
|
|
|
238
393
|
---
|
|
239
394
|
|
|
240
|
-
##
|
|
395
|
+
## 13) Minimal Onboarding Recipe
|
|
241
396
|
|
|
242
397
|
Invite URL:
|
|
243
398
|
```text
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { createHash, generateKeyPairSync, sign, type KeyObject } from 'node:crypto';
|
|
1
|
+
import { createHash, createPrivateKey, generateKeyPairSync, sign, type KeyObject } from 'node:crypto';
|
|
2
|
+
import { chmod, readFile, rename, writeFile, mkdir } from 'node:fs/promises';
|
|
2
3
|
import { createServer, type Server as HttpServer, type IncomingMessage, type ServerResponse } from 'node:http';
|
|
4
|
+
import { join } from 'node:path';
|
|
3
5
|
|
|
4
6
|
import type { SendMessageInput } from '@agent-relay/sdk';
|
|
5
7
|
import { RelayCast, type AgentClient } from '@relaycast/sdk';
|
|
@@ -14,6 +16,7 @@ import type {
|
|
|
14
16
|
} from '@relaycast/sdk';
|
|
15
17
|
import WebSocket from 'ws';
|
|
16
18
|
|
|
19
|
+
import { openclawHome } from './config.js';
|
|
17
20
|
import { DEFAULT_OPENCLAW_GATEWAY_PORT, type GatewayConfig, type InboundMessage, type DeliveryResult } from './types.js';
|
|
18
21
|
import { SpawnManager } from './spawn/manager.js';
|
|
19
22
|
import type { SpawnOptions } from './spawn/types.js';
|
|
@@ -68,6 +71,72 @@ function generateDeviceIdentity(): DeviceIdentity {
|
|
|
68
71
|
};
|
|
69
72
|
}
|
|
70
73
|
|
|
74
|
+
/** Path to persisted device identity file. */
|
|
75
|
+
function deviceIdentityPath(): string {
|
|
76
|
+
return join(openclawHome(), 'workspace', 'relaycast', 'device.json');
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
interface PersistedDevice {
|
|
80
|
+
publicKeyB64: string;
|
|
81
|
+
privateKeyPkcs8B64: string; // base64-encoded PKCS#8 DER
|
|
82
|
+
deviceId: string;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Load a persisted device identity from disk, or generate and persist a new one.
|
|
87
|
+
* This ensures the same device ID survives restarts so the OpenClaw gateway
|
|
88
|
+
* can pair it once and recognize it on subsequent connections.
|
|
89
|
+
*/
|
|
90
|
+
async function loadOrCreateDeviceIdentity(): Promise<DeviceIdentity> {
|
|
91
|
+
const filePath = deviceIdentityPath();
|
|
92
|
+
|
|
93
|
+
// Attempt to load existing identity (no existsSync — just try the read)
|
|
94
|
+
try {
|
|
95
|
+
const raw = await readFile(filePath, 'utf-8');
|
|
96
|
+
const persisted = JSON.parse(raw) as PersistedDevice;
|
|
97
|
+
const privateKeyObj = createPrivateKey({
|
|
98
|
+
key: Buffer.from(persisted.privateKeyPkcs8B64, 'base64'),
|
|
99
|
+
format: 'der',
|
|
100
|
+
type: 'pkcs8',
|
|
101
|
+
});
|
|
102
|
+
// Ensure permissions are tight even if file was created with looser perms
|
|
103
|
+
await chmod(filePath, 0o600).catch(() => {});
|
|
104
|
+
console.log(`[openclaw-ws] Loaded persisted device identity (deviceId=${persisted.deviceId.slice(0, 12)}...)`);
|
|
105
|
+
return {
|
|
106
|
+
publicKeyB64: persisted.publicKeyB64,
|
|
107
|
+
privateKeyObj,
|
|
108
|
+
deviceId: persisted.deviceId,
|
|
109
|
+
};
|
|
110
|
+
} catch (err) {
|
|
111
|
+
// ENOENT is expected on first run; other errors mean corruption
|
|
112
|
+
if ((err as NodeJS.ErrnoException).code !== 'ENOENT') {
|
|
113
|
+
console.warn(`[openclaw-ws] Failed to load device identity, generating new: ${err instanceof Error ? err.message : String(err)}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Generate fresh and persist via atomic write-then-rename
|
|
118
|
+
const identity = generateDeviceIdentity();
|
|
119
|
+
const pkcs8Der = identity.privateKeyObj.export({ type: 'pkcs8', format: 'der' });
|
|
120
|
+
const persisted: PersistedDevice = {
|
|
121
|
+
publicKeyB64: identity.publicKeyB64,
|
|
122
|
+
privateKeyPkcs8B64: Buffer.from(pkcs8Der).toString('base64'),
|
|
123
|
+
deviceId: identity.deviceId,
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
try {
|
|
127
|
+
const dir = join(openclawHome(), 'workspace', 'relaycast');
|
|
128
|
+
await mkdir(dir, { recursive: true });
|
|
129
|
+
const tmpPath = filePath + '.tmp';
|
|
130
|
+
await writeFile(tmpPath, JSON.stringify(persisted, null, 2) + '\n', { mode: 0o600 });
|
|
131
|
+
await rename(tmpPath, filePath);
|
|
132
|
+
console.log(`[openclaw-ws] Persisted new device identity (deviceId=${identity.deviceId.slice(0, 12)}...)`);
|
|
133
|
+
} catch (err) {
|
|
134
|
+
console.warn(`[openclaw-ws] Could not persist device identity: ${err instanceof Error ? err.message : String(err)}`);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return identity;
|
|
138
|
+
}
|
|
139
|
+
|
|
71
140
|
function signConnectPayload(
|
|
72
141
|
device: DeviceIdentity,
|
|
73
142
|
params: {
|
|
@@ -137,11 +206,23 @@ export class OpenClawGatewayClient {
|
|
|
137
206
|
private static readonly MAX_CONSECUTIVE_FAILURES = 5;
|
|
138
207
|
private static readonly BASE_RECONNECT_MS = 3_000;
|
|
139
208
|
private static readonly MAX_RECONNECT_MS = 30_000;
|
|
209
|
+
/** Slow retry interval after pairing rejection or max failures (60s). */
|
|
210
|
+
private static readonly PAIRING_RETRY_MS = 60_000;
|
|
140
211
|
|
|
141
|
-
constructor(token: string, port: number) {
|
|
212
|
+
constructor(token: string, port: number, device?: DeviceIdentity) {
|
|
142
213
|
this.token = token;
|
|
143
214
|
this.port = port;
|
|
144
|
-
this.device = generateDeviceIdentity();
|
|
215
|
+
this.device = device ?? generateDeviceIdentity();
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Create a client with a persisted device identity (loaded from disk or
|
|
220
|
+
* freshly generated and saved). This ensures the same device ID is reused
|
|
221
|
+
* across restarts so the OpenClaw gateway can pair it once.
|
|
222
|
+
*/
|
|
223
|
+
static async create(token: string, port: number): Promise<OpenClawGatewayClient> {
|
|
224
|
+
const device = await loadOrCreateDeviceIdentity();
|
|
225
|
+
return new OpenClawGatewayClient(token, port, device);
|
|
145
226
|
}
|
|
146
227
|
|
|
147
228
|
/** Connect and authenticate. Resolves when chat.send is ready, rejects on timeout or error. */
|
|
@@ -210,10 +291,11 @@ export class OpenClawGatewayClient {
|
|
|
210
291
|
const wasAuthenticated = this.authenticated;
|
|
211
292
|
this.authenticated = false;
|
|
212
293
|
|
|
213
|
-
// Detect pairing rejection
|
|
214
|
-
if (code === 1008
|
|
294
|
+
// Detect pairing rejection: code 1008 (Policy Violation) with pairing reason
|
|
295
|
+
if (code === 1008 && /pairing|not.paired/i.test(reasonStr)) {
|
|
215
296
|
console.error('[openclaw-ws] Connection closed due to pairing policy. Device is not paired.');
|
|
216
|
-
console.error(
|
|
297
|
+
console.error(`[openclaw-ws] Device ID: ${this.device.deviceId.slice(0, 16)}...`);
|
|
298
|
+
console.error('[openclaw-ws] Run: openclaw devices approve <requestId> (check gateway logs for requestId)');
|
|
217
299
|
this.pairingRejected = true;
|
|
218
300
|
}
|
|
219
301
|
|
|
@@ -231,7 +313,7 @@ export class OpenClawGatewayClient {
|
|
|
231
313
|
this.connectReject = null;
|
|
232
314
|
this.connectResolve = null;
|
|
233
315
|
}
|
|
234
|
-
if (!this.stopped
|
|
316
|
+
if (!this.stopped) {
|
|
235
317
|
this.scheduleReconnect();
|
|
236
318
|
}
|
|
237
319
|
});
|
|
@@ -334,7 +416,13 @@ export class OpenClawGatewayClient {
|
|
|
334
416
|
const isPairing = /pairing.required|not.paired/i.test(errStr);
|
|
335
417
|
|
|
336
418
|
if (isPairing) {
|
|
419
|
+
const errObj = msg.error as Record<string, unknown> | undefined;
|
|
420
|
+
const requestId = errObj?.requestId ?? errObj?.request_id ?? '';
|
|
337
421
|
console.error('[openclaw-ws] Pairing rejected — device is not paired with the OpenClaw gateway.');
|
|
422
|
+
if (requestId) {
|
|
423
|
+
console.error(`[openclaw-ws] Approve this device: openclaw devices approve ${requestId}`);
|
|
424
|
+
}
|
|
425
|
+
console.error(`[openclaw-ws] Device ID: ${this.device.deviceId.slice(0, 16)}...`);
|
|
338
426
|
console.error('[openclaw-ws] Ensure OPENCLAW_GATEWAY_TOKEN matches ~/.openclaw/openclaw.json gateway.auth.token');
|
|
339
427
|
this.pairingRejected = true;
|
|
340
428
|
} else {
|
|
@@ -415,16 +503,27 @@ export class OpenClawGatewayClient {
|
|
|
415
503
|
}
|
|
416
504
|
|
|
417
505
|
private scheduleReconnect(): void {
|
|
418
|
-
if (this.stopped || this.
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
if (this.consecutiveFailures >= OpenClawGatewayClient.MAX_CONSECUTIVE_FAILURES) {
|
|
423
|
-
|
|
424
|
-
|
|
506
|
+
if (this.stopped || this.reconnectTimer) return;
|
|
507
|
+
|
|
508
|
+
// After pairing rejection or max failures, switch to slow periodic retry
|
|
509
|
+
// so the gateway can self-heal once pairing is approved externally.
|
|
510
|
+
if (this.pairingRejected || this.consecutiveFailures >= OpenClawGatewayClient.MAX_CONSECUTIVE_FAILURES) {
|
|
511
|
+
if (this.consecutiveFailures === OpenClawGatewayClient.MAX_CONSECUTIVE_FAILURES) {
|
|
512
|
+
console.warn(`[openclaw-ws] ${this.consecutiveFailures} consecutive failures — switching to slow retry (every 60s).`);
|
|
513
|
+
console.warn('[openclaw-ws] Check that the OpenClaw gateway is running and OPENCLAW_GATEWAY_TOKEN is correct.');
|
|
514
|
+
}
|
|
515
|
+
this.consecutiveFailures++;
|
|
516
|
+
console.log(`[openclaw-ws] Slow retry in ${OpenClawGatewayClient.PAIRING_RETRY_MS / 1000}s...`);
|
|
517
|
+
this.reconnectTimer = setTimeout(() => {
|
|
518
|
+
this.reconnectTimer = null;
|
|
519
|
+
this.pairingRejected = false; // Clear flag so connect attempt proceeds
|
|
520
|
+
this.doConnect();
|
|
521
|
+
}, OpenClawGatewayClient.PAIRING_RETRY_MS);
|
|
425
522
|
return;
|
|
426
523
|
}
|
|
427
524
|
|
|
525
|
+
this.consecutiveFailures++;
|
|
526
|
+
|
|
428
527
|
const delay = Math.min(
|
|
429
528
|
OpenClawGatewayClient.BASE_RECONNECT_MS * Math.pow(2, this.consecutiveFailures - 1),
|
|
430
529
|
OpenClawGatewayClient.MAX_RECONNECT_MS,
|
|
@@ -518,7 +617,7 @@ export class InboundGateway {
|
|
|
518
617
|
const port = this.config.openclawGatewayPort ?? DEFAULT_OPENCLAW_GATEWAY_PORT;
|
|
519
618
|
|
|
520
619
|
if (token) {
|
|
521
|
-
this.openclawClient =
|
|
620
|
+
this.openclawClient = await OpenClawGatewayClient.create(token, port);
|
|
522
621
|
try {
|
|
523
622
|
await this.openclawClient.connect();
|
|
524
623
|
console.log('[gateway] OpenClaw gateway WebSocket client ready');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/policy",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.7",
|
|
4
4
|
"description": "Agent policy management with multi-level fallback (repo, local PRPM, cloud workspace)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"test:watch": "vitest"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@agent-relay/config": "3.1.
|
|
25
|
+
"@agent-relay/config": "3.1.7"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.19.3",
|
|
@@ -516,6 +516,7 @@ function detectPlatformSuffix() {
|
|
|
516
516
|
const platformMap = {
|
|
517
517
|
darwin: { arm64: 'darwin-arm64', x64: 'darwin-x64' },
|
|
518
518
|
linux: { arm64: 'linux-arm64', x64: 'linux-x64' },
|
|
519
|
+
win32: { x64: 'win32-x64' },
|
|
519
520
|
};
|
|
520
521
|
return platformMap[process.platform]?.[process.arch] ?? null;
|
|
521
522
|
}
|
|
@@ -595,21 +596,18 @@ function resolveDefaultBinaryPath() {
|
|
|
595
596
|
if (fs.existsSync(workspaceRelease)) {
|
|
596
597
|
return workspaceRelease;
|
|
597
598
|
}
|
|
598
|
-
// 2. Check for bundled broker binary in SDK package (npm install)
|
|
599
|
-
//
|
|
600
|
-
//
|
|
599
|
+
// 2. Check for bundled platform-specific broker binary in SDK package (npm install).
|
|
600
|
+
// Only use binaries that match the current platform to avoid running
|
|
601
|
+
// e.g. a macOS binary on Linux (or vice-versa).
|
|
601
602
|
const binDir = path.resolve(moduleDir, '..', 'bin');
|
|
602
603
|
const suffix = detectPlatformSuffix();
|
|
603
604
|
if (suffix) {
|
|
604
|
-
const
|
|
605
|
+
const ext = process.platform === 'win32' ? '.exe' : '';
|
|
606
|
+
const platformBinary = path.join(binDir, `agent-relay-broker-${suffix}${ext}`);
|
|
605
607
|
if (fs.existsSync(platformBinary)) {
|
|
606
608
|
return platformBinary;
|
|
607
609
|
}
|
|
608
610
|
}
|
|
609
|
-
const bundled = path.join(binDir, brokerExe);
|
|
610
|
-
if (fs.existsSync(bundled)) {
|
|
611
|
-
return bundled;
|
|
612
|
-
}
|
|
613
611
|
// 3. Check for standalone broker binary in ~/.agent-relay/bin/ (install.sh)
|
|
614
612
|
const homeDir = process.env.HOME || process.env.USERPROFILE || '';
|
|
615
613
|
const standaloneBroker = path.join(homeDir, '.agent-relay', 'bin', brokerExe);
|