@perkos/perkos-a2a 0.8.1 → 0.8.3
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 +275 -275
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -49
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +5 -17
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,66 +1,145 @@
|
|
|
1
1
|
# @perkos/perkos-a2a
|
|
2
2
|
|
|
3
|
-
Agent-to-Agent (A2A) protocol plugin for [OpenClaw](https://openclaw.ai). Enables multi-agent communication using Google's A2A protocol specification with enterprise-grade relay infrastructure for NAT traversal.
|
|
3
|
+
Agent-to-Agent (A2A) protocol plugin for [OpenClaw](https://openclaw.ai). Enables secure multi-agent communication using Google's A2A protocol specification with enterprise-grade relay infrastructure for NAT traversal.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 🔒 Security First
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**A2A communication MUST be secured.** Without authentication, anyone on your network can send tasks to your agent, potentially executing arbitrary commands.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
2. The task is injected into Agent B's context at the **start of their next turn** (via the `before_agent_start` hook)
|
|
11
|
-
3. This means Agent B will only see the message **when their human writes something** (triggering a new turn)
|
|
12
|
-
4. A `completed` status on `perkos_a2a_send` means "delivered to the queue" — **NOT** "the agent read and processed it"
|
|
9
|
+
### Enable Authentication (REQUIRED for production)
|
|
13
10
|
|
|
14
|
-
|
|
11
|
+
```json
|
|
12
|
+
{
|
|
13
|
+
"plugins": {
|
|
14
|
+
"entries": {
|
|
15
|
+
"perkos-a2a": {
|
|
16
|
+
"config": {
|
|
17
|
+
"agentName": "my-agent",
|
|
18
|
+
"port": 5050,
|
|
19
|
+
"auth": {
|
|
20
|
+
"requireApiKey": true,
|
|
21
|
+
"apiKeys": ["YOUR_SECRET_API_KEY"]
|
|
22
|
+
},
|
|
23
|
+
"peerAuth": {
|
|
24
|
+
"other-agent": "THEIR_API_KEY"
|
|
25
|
+
},
|
|
26
|
+
"peers": {
|
|
27
|
+
"other-agent": "http://10.0.0.2:5050"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Generate a secure API key:**
|
|
37
|
+
```bash
|
|
38
|
+
python3 -c "import secrets; print(secrets.token_hex(32))"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Security checklist:**
|
|
42
|
+
- ✅ `auth.requireApiKey: true` — reject unauthenticated inbound requests
|
|
43
|
+
- ✅ `auth.apiKeys` — list of accepted API keys for inbound requests
|
|
44
|
+
- ✅ `peerAuth` — API keys to send when making outbound requests to each peer
|
|
45
|
+
- ✅ All peers share the same API key (or use per-peer keys)
|
|
46
|
+
- ✅ API keys are **never** committed to public repos
|
|
47
|
+
- ✅ On VPS: bind A2A ports to `127.0.0.1` in Docker/firewall (see below)
|
|
48
|
+
|
|
49
|
+
**Without auth enabled:**
|
|
50
|
+
- ❌ Anyone on your network can send tasks to your agent
|
|
51
|
+
- ❌ Tasks can instruct the agent to execute commands, send messages, access files
|
|
52
|
+
- ❌ This is equivalent to giving someone shell access
|
|
53
|
+
|
|
54
|
+
### VPS Security: Bind Ports to Localhost
|
|
55
|
+
|
|
56
|
+
On VPS deployments (Docker Compose), bind A2A ports to `127.0.0.1` so they're not exposed externally:
|
|
57
|
+
|
|
58
|
+
```yaml
|
|
59
|
+
# docker-compose.yml
|
|
60
|
+
services:
|
|
61
|
+
my-agent:
|
|
62
|
+
ports:
|
|
63
|
+
- "127.0.0.1:5050:5050" # A2A only accessible from localhost
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
For external agent communication, use the **relay hub** instead of exposing ports.
|
|
67
|
+
|
|
68
|
+
## How Message Delivery Works
|
|
69
|
+
|
|
70
|
+
Understanding the delivery model is critical:
|
|
71
|
+
|
|
72
|
+
1. When Agent A sends a task to Agent B, the task is **received** by Agent B's A2A server
|
|
73
|
+
2. The plugin **enqueues a system event** in the agent's session and triggers a **wake** to process it immediately
|
|
74
|
+
3. The task is also injected via the `before_agent_start` hook as prepended context on the next agent turn
|
|
75
|
+
4. A `completed` status on `perkos_a2a_send` means "delivered to the server and queued" — the agent may need a moment to wake and process
|
|
76
|
+
|
|
77
|
+
**v0.8.1 delivery pipeline:**
|
|
78
|
+
```
|
|
79
|
+
Task received → enqueueSystemEvent() → requestHeartbeatNow() → Agent wakes → Processes task
|
|
80
|
+
↘ before_agent_start hook (backup) ↗
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Inspect pending tasks:**
|
|
15
84
|
```bash
|
|
16
|
-
curl -s -X POST http://localhost
|
|
85
|
+
curl -s -X POST http://localhost:5050/a2a/jsonrpc \
|
|
17
86
|
-H "Content-Type: application/json" \
|
|
87
|
+
-H "x-api-key: YOUR_API_KEY" \
|
|
18
88
|
-d '{"jsonrpc":"2.0","method":"tasks/list","id":1,"params":{}}' | python3 -m json.tool
|
|
19
89
|
```
|
|
20
90
|
|
|
21
|
-
**Fallback:** If session injection is not available, tasks are written as markdown files to the workspace.
|
|
22
|
-
|
|
23
91
|
## Quick Start
|
|
24
92
|
|
|
25
93
|
```bash
|
|
26
|
-
# Install the plugin
|
|
94
|
+
# 1. Install the plugin
|
|
27
95
|
openclaw plugins install @perkos/perkos-a2a
|
|
28
96
|
|
|
29
|
-
#
|
|
97
|
+
# 2. Configure (see config section below)
|
|
98
|
+
|
|
99
|
+
# 3. Restart gateway to load the plugin
|
|
30
100
|
openclaw gateway restart
|
|
31
101
|
|
|
32
|
-
# Run the setup wizard to detect your environment
|
|
102
|
+
# 4. Run the setup wizard to detect your environment
|
|
33
103
|
openclaw perkos-a2a setup
|
|
34
104
|
|
|
35
|
-
# Check status
|
|
105
|
+
# 5. Check status
|
|
36
106
|
openclaw perkos-a2a status
|
|
37
107
|
```
|
|
38
108
|
|
|
39
|
-
|
|
109
|
+
## Configuration Reference
|
|
40
110
|
|
|
41
111
|
```json
|
|
42
112
|
{
|
|
43
113
|
"plugins": {
|
|
44
114
|
"entries": {
|
|
45
115
|
"perkos-a2a": {
|
|
116
|
+
"enabled": true,
|
|
46
117
|
"config": {
|
|
47
118
|
"agentName": "my-agent",
|
|
48
119
|
"port": 5050,
|
|
49
120
|
"mode": "auto",
|
|
121
|
+
"skills": [
|
|
122
|
+
{
|
|
123
|
+
"id": "research",
|
|
124
|
+
"name": "Research",
|
|
125
|
+
"description": "Web research and analysis",
|
|
126
|
+
"tags": ["research", "analysis"]
|
|
127
|
+
}
|
|
128
|
+
],
|
|
50
129
|
"peers": {
|
|
51
130
|
"other-agent": "http://10.0.0.2:5050"
|
|
52
131
|
},
|
|
53
|
-
"relay": {
|
|
54
|
-
"url": "wss://relay.perkos.xyz",
|
|
55
|
-
"apiKey": "your-agent-api-key",
|
|
56
|
-
"enabled": true
|
|
57
|
-
},
|
|
58
132
|
"peerAuth": {
|
|
59
|
-
"other-agent": "
|
|
133
|
+
"other-agent": "shared-secret-key"
|
|
60
134
|
},
|
|
61
135
|
"auth": {
|
|
62
136
|
"requireApiKey": true,
|
|
63
|
-
"apiKeys": ["
|
|
137
|
+
"apiKeys": ["shared-secret-key"]
|
|
138
|
+
},
|
|
139
|
+
"relay": {
|
|
140
|
+
"url": "wss://relay.example.com:8787",
|
|
141
|
+
"apiKey": "relay-api-key",
|
|
142
|
+
"enabled": true
|
|
64
143
|
}
|
|
65
144
|
}
|
|
66
145
|
}
|
|
@@ -69,336 +148,257 @@ Add to your `openclaw.json`:
|
|
|
69
148
|
}
|
|
70
149
|
```
|
|
71
150
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
RL[Rate Limiter]
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
subgraph "Agent A (Behind NAT)"
|
|
89
|
-
OC_A[OpenClaw Gateway] --> P_A[perkos-a2a plugin]
|
|
90
|
-
P_A --> RC_A[Relay Client]
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
subgraph "Agent B (VPS)"
|
|
94
|
-
OC_B[OpenClaw Gateway] --> P_B[perkos-a2a plugin]
|
|
95
|
-
P_B --> S_B[HTTP Server :5050]
|
|
96
|
-
P_B --> RC_B[Relay Client]
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
subgraph "Agent C (Behind NAT)"
|
|
100
|
-
OC_C[OpenClaw Gateway] --> P_C[perkos-a2a plugin]
|
|
101
|
-
P_C --> RC_C[Relay Client]
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
RC_A <-->|WSS| RH
|
|
105
|
-
RC_B <-->|WSS| RH
|
|
106
|
-
RC_C <-->|WSS| RH
|
|
107
|
-
RC_B <-->|Direct HTTP| S_B
|
|
108
|
-
|
|
109
|
-
style RH fill:#1d1029,stroke:#eb1b69,color:#fff
|
|
110
|
-
style MQ fill:#45193c,stroke:#eb1b69,color:#fff
|
|
111
|
-
style REG fill:#45193c,stroke:#eb1b69,color:#fff
|
|
112
|
-
style AUTH fill:#45193c,stroke:#eb1b69,color:#fff
|
|
113
|
-
style RL fill:#45193c,stroke:#eb1b69,color:#fff
|
|
114
|
-
style OC_A fill:#1d1029,stroke:#eb1b69,color:#fff
|
|
115
|
-
style OC_B fill:#1d1029,stroke:#eb1b69,color:#fff
|
|
116
|
-
style OC_C fill:#1d1029,stroke:#eb1b69,color:#fff
|
|
117
|
-
style P_A fill:#8e2051,stroke:#eb1b69,color:#fff
|
|
118
|
-
style P_B fill:#8e2051,stroke:#eb1b69,color:#fff
|
|
119
|
-
style P_C fill:#8e2051,stroke:#eb1b69,color:#fff
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### Direct Peer-to-Peer
|
|
123
|
-
|
|
124
|
-
Agents on the same network or with public IPs can communicate directly via HTTP without a relay.
|
|
125
|
-
|
|
126
|
-
```mermaid
|
|
127
|
-
graph TB
|
|
128
|
-
subgraph "Agent A (VPS)"
|
|
129
|
-
OC_A[OpenClaw Gateway] --> P_A[perkos-a2a plugin]
|
|
130
|
-
P_A --> S_A[A2A Server :5050]
|
|
131
|
-
P_A --> C_A[A2A Client]
|
|
132
|
-
S_A --> AC_A["/.well-known/agent-card.json"]
|
|
133
|
-
S_A --> RPC_A["/a2a/jsonrpc"]
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
subgraph "Agent B (VPS)"
|
|
137
|
-
OC_B[OpenClaw Gateway] --> P_B[perkos-a2a plugin]
|
|
138
|
-
P_B --> S_B[A2A Server :5050]
|
|
139
|
-
P_B --> C_B[A2A Client]
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
C_A <-->|JSON-RPC 2.0| S_B
|
|
143
|
-
C_B <-->|JSON-RPC 2.0| S_A
|
|
144
|
-
|
|
145
|
-
style OC_A fill:#1d1029,stroke:#eb1b69,color:#fff
|
|
146
|
-
style OC_B fill:#1d1029,stroke:#eb1b69,color:#fff
|
|
147
|
-
style P_A fill:#8e2051,stroke:#eb1b69,color:#fff
|
|
148
|
-
style P_B fill:#8e2051,stroke:#eb1b69,color:#fff
|
|
149
|
-
style S_A fill:#76437b,stroke:#eb1b69,color:#fff
|
|
150
|
-
style S_B fill:#76437b,stroke:#eb1b69,color:#fff
|
|
151
|
-
style C_A fill:#45193c,stroke:#eb1b69,color:#fff
|
|
152
|
-
style C_B fill:#45193c,stroke:#eb1b69,color:#fff
|
|
153
|
-
```
|
|
151
|
+
| Option | Type | Default | Description |
|
|
152
|
+
|---|---|---|---|
|
|
153
|
+
| `agentName` | string | `"agent"` | This agent's name in the network |
|
|
154
|
+
| `port` | number | `5050` | HTTP server port (avoid 5000 on macOS — AirPlay) |
|
|
155
|
+
| `mode` | string | `"auto"` | Operating mode: `auto`, `full`, `client-only`, `relay` |
|
|
156
|
+
| `skills` | array | `[]` | Skills exposed via the agent card |
|
|
157
|
+
| `peers` | object | `{}` | Map of peer names → A2A base URLs |
|
|
158
|
+
| `peerAuth` | object | `{}` | Map of peer names → API keys for outbound requests |
|
|
159
|
+
| `auth.requireApiKey` | boolean | `false` | **Set to `true` for production** |
|
|
160
|
+
| `auth.apiKeys` | string[] | `[]` | Accepted API keys for inbound requests |
|
|
161
|
+
| `relay.url` | string | — | Relay hub WebSocket URL |
|
|
162
|
+
| `relay.apiKey` | string | — | API key for relay hub authentication |
|
|
163
|
+
| `relay.enabled` | boolean | `false` | Enable relay connectivity |
|
|
154
164
|
|
|
155
|
-
##
|
|
156
|
-
|
|
157
|
-
```mermaid
|
|
158
|
-
sequenceDiagram
|
|
159
|
-
participant Agent A
|
|
160
|
-
participant Relay Hub
|
|
161
|
-
participant Agent B
|
|
162
|
-
|
|
163
|
-
Note over Agent A,Agent B: Via Relay (NAT traversal)
|
|
164
|
-
Agent A->>Relay Hub: WSS: task message (to: Agent B)
|
|
165
|
-
Relay Hub->>Agent B: WSS: forward task
|
|
166
|
-
Agent B->>Agent B: Process task + inject into session
|
|
167
|
-
Agent B->>Relay Hub: WSS: task response
|
|
168
|
-
Relay Hub->>Agent A: WSS: forward response
|
|
169
|
-
|
|
170
|
-
Note over Agent A,Agent B: Via Direct HTTP
|
|
171
|
-
Agent A->>Agent B: POST /a2a/jsonrpc (message/send)
|
|
172
|
-
Agent B->>Agent B: Process task + inject into session
|
|
173
|
-
Agent B-->>Agent A: JSON-RPC response
|
|
174
|
-
```
|
|
165
|
+
## Modes
|
|
175
166
|
|
|
176
|
-
|
|
167
|
+
| Mode | HTTP Server | Relay Client | Best For |
|
|
168
|
+
|---|---|---|---|
|
|
169
|
+
| `auto` | Conditional | If configured | Most setups — auto-detects NAT |
|
|
170
|
+
| `full` | Yes | If configured | VPS with public IP, or LAN agents |
|
|
171
|
+
| `client-only` | No | If configured | Behind NAT, send only |
|
|
172
|
+
| `relay` | No (hub mode) | No | Running as relay hub |
|
|
177
173
|
|
|
178
|
-
|
|
174
|
+
## Authentication
|
|
179
175
|
|
|
180
|
-
|
|
181
|
-
# Via npx (development)
|
|
182
|
-
npx tsx bin/relay.ts --port 6060 --api-keys key1,key2
|
|
176
|
+
### Inbound Auth (protecting your agent)
|
|
183
177
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
178
|
+
When `auth.requireApiKey: true`, all inbound HTTP requests must include an API key via one of:
|
|
179
|
+
- `X-API-Key: <key>` header (recommended)
|
|
180
|
+
- `Authorization: Bearer <key>` header
|
|
181
|
+
- `?apiKey=<key>` query parameter
|
|
187
182
|
|
|
188
|
-
|
|
183
|
+
Requests without a valid key receive `401 Unauthorized`.
|
|
189
184
|
|
|
190
|
-
|
|
191
|
-
|---|---|---|---|
|
|
192
|
-
| `--port` | `RELAY_PORT` | 6060 | WebSocket listen port |
|
|
193
|
-
| `--api-keys` | `RELAY_API_KEYS` | (none) | Comma-separated accepted API keys |
|
|
194
|
-
| `--max-queue` | `RELAY_MAX_QUEUE` | 200 | Max queued messages per offline agent |
|
|
195
|
-
| `--rate-limit` | `RELAY_RATE_LIMIT` | 60 | Max messages per agent per minute |
|
|
185
|
+
**The agent card endpoint (`/.well-known/agent-card.json`) and health endpoint (`/health`) are always public** — they don't contain sensitive information.
|
|
196
186
|
|
|
197
|
-
|
|
187
|
+
### Outbound Auth (authenticating to peers)
|
|
198
188
|
|
|
199
|
-
|
|
200
|
-
|---|---|---|---|
|
|
201
|
-
| `auto` | Conditional | If configured | Detects NAT, chooses best option |
|
|
202
|
-
| `full` | Yes | If configured | VPS with public IP |
|
|
203
|
-
| `client-only` | No | If configured | Behind NAT, no local server |
|
|
204
|
-
| `relay` | No | No | Run as relay hub only |
|
|
205
|
-
|
|
206
|
-
## Configuration
|
|
189
|
+
Use `peerAuth` to send API keys when making requests to specific peers:
|
|
207
190
|
|
|
208
191
|
```json
|
|
209
|
-
{
|
|
210
|
-
"
|
|
211
|
-
"
|
|
212
|
-
"mode": "auto",
|
|
213
|
-
"skills": [],
|
|
214
|
-
"peers": {
|
|
215
|
-
"other-agent": "http://10.0.0.2:5050"
|
|
216
|
-
},
|
|
217
|
-
"relay": {
|
|
218
|
-
"url": "wss://relay.perkos.xyz",
|
|
219
|
-
"apiKey": "agent-specific-key",
|
|
220
|
-
"enabled": true
|
|
221
|
-
},
|
|
222
|
-
"peerAuth": {
|
|
223
|
-
"other-agent": "their-api-key"
|
|
224
|
-
},
|
|
225
|
-
"auth": {
|
|
226
|
-
"requireApiKey": true,
|
|
227
|
-
"apiKeys": ["key1", "key2"]
|
|
228
|
-
}
|
|
192
|
+
"peerAuth": {
|
|
193
|
+
"agent-b": "agent-b-accepts-this-key",
|
|
194
|
+
"agent-c": "agent-c-accepts-this-key"
|
|
229
195
|
}
|
|
230
196
|
```
|
|
231
197
|
|
|
232
|
-
|
|
233
|
-
|---|---|---|---|
|
|
234
|
-
| `agentName` | string | `"agent"` | This agent's name in the council |
|
|
235
|
-
| `port` | number | `5050` | HTTP server port |
|
|
236
|
-
| `mode` | string | `"auto"` | Operating mode (see table above) |
|
|
237
|
-
| `skills` | array | `[]` | Skills exposed via A2A |
|
|
238
|
-
| `peers` | object | `{}` | Direct peer URLs |
|
|
239
|
-
| `peerAuth` | object | `{}` | API keys for outbound requests to specific peers |
|
|
240
|
-
| `relay.url` | string | - | Relay hub WebSocket URL |
|
|
241
|
-
| `relay.apiKey` | string | - | API key for relay authentication |
|
|
242
|
-
| `relay.enabled` | boolean | `false` | Enable relay connectivity |
|
|
243
|
-
| `auth.requireApiKey` | boolean | `false` | Require API key for inbound HTTP |
|
|
244
|
-
| `auth.apiKeys` | string[] | `[]` | Accepted API keys for inbound HTTP |
|
|
198
|
+
### Shared Key Setup (simplest)
|
|
245
199
|
|
|
246
|
-
|
|
200
|
+
For a small team of trusted agents, use the same API key everywhere:
|
|
247
201
|
|
|
248
|
-
|
|
202
|
+
```bash
|
|
203
|
+
# Generate one shared key
|
|
204
|
+
python3 -c "import secrets; print(secrets.token_hex(32))"
|
|
205
|
+
# Example: a1b2c3d4e5f6...
|
|
206
|
+
```
|
|
249
207
|
|
|
250
|
-
|
|
208
|
+
Each agent configures:
|
|
209
|
+
```json
|
|
210
|
+
"auth": { "requireApiKey": true, "apiKeys": ["a1b2c3d4e5f6..."] },
|
|
211
|
+
"peerAuth": { "peer-name": "a1b2c3d4e5f6..." }
|
|
212
|
+
```
|
|
251
213
|
|
|
252
|
-
###
|
|
214
|
+
### Per-Peer Keys (more secure)
|
|
253
215
|
|
|
254
|
-
|
|
255
|
-
- `X-API-Key` header
|
|
256
|
-
- `Authorization: Bearer <key>` header
|
|
257
|
-
- `?apiKey=<key>` query parameter
|
|
216
|
+
For larger deployments, each agent pair can use unique keys. Agent A's outbound key to B must match B's inbound `apiKeys`, and vice versa.
|
|
258
217
|
|
|
259
|
-
|
|
218
|
+
### Relay Auth
|
|
260
219
|
|
|
261
|
-
|
|
220
|
+
Agents authenticate with the relay hub using the `relay.apiKey`. The hub rejects connections with invalid keys.
|
|
262
221
|
|
|
263
222
|
## Agent Tools
|
|
264
223
|
|
|
265
224
|
When the plugin is active, three tools are available to the agent:
|
|
266
225
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
226
|
+
| Tool | Description |
|
|
227
|
+
|---|---|
|
|
228
|
+
| `perkos_a2a_discover` | Discover all configured peer agents and their capabilities |
|
|
229
|
+
| `perkos_a2a_send` | Send a task to a named peer (direct HTTP → relay fallback) |
|
|
230
|
+
| `perkos_a2a_status` | Check the status of a previously sent task by ID |
|
|
270
231
|
|
|
271
232
|
## CLI Commands
|
|
272
233
|
|
|
273
234
|
```bash
|
|
274
235
|
openclaw perkos-a2a setup # Detect environment and show recommendations
|
|
275
|
-
openclaw perkos-a2a status # Show agent status,
|
|
236
|
+
openclaw perkos-a2a status # Show agent status, peers, and config
|
|
276
237
|
openclaw perkos-a2a discover # Discover peer agents (direct + relay)
|
|
277
238
|
openclaw perkos-a2a send <target> <message> # Send a task to a peer
|
|
278
239
|
```
|
|
279
240
|
|
|
280
|
-
##
|
|
281
|
-
|
|
282
|
-
### Option 1: Relay Hub (Recommended for NAT)
|
|
283
|
-
|
|
284
|
-
Deploy the relay hub on a VPS, configure all agents to connect to it. No port forwarding or tunnels needed.
|
|
241
|
+
## Architecture
|
|
285
242
|
|
|
286
|
-
###
|
|
243
|
+
### Direct Peer-to-Peer
|
|
287
244
|
|
|
288
|
-
Agents
|
|
245
|
+
Agents on the same network or with public IPs communicate directly via HTTP JSON-RPC 2.0.
|
|
289
246
|
|
|
290
|
-
|
|
247
|
+
```
|
|
248
|
+
Agent A Agent B
|
|
249
|
+
┌─────────────┐ ┌─────────────┐
|
|
250
|
+
│ OpenClaw GW │ │ OpenClaw GW │
|
|
251
|
+
│ └─ A2A │──── HTTP ────────│ └─ A2A │
|
|
252
|
+
│ plugin │ JSON-RPC 2.0 │ plugin │
|
|
253
|
+
│ :5050 │◄────────────────│ :5051 │
|
|
254
|
+
└─────────────┘ └─────────────┘
|
|
255
|
+
```
|
|
291
256
|
|
|
292
|
-
|
|
257
|
+
### Relay Hub (NAT Traversal)
|
|
293
258
|
|
|
294
|
-
|
|
259
|
+
Agents behind NAT connect outbound to the relay hub via WebSocket. No port forwarding needed.
|
|
295
260
|
|
|
296
|
-
|
|
261
|
+
```
|
|
262
|
+
Agent A (NAT) Relay Hub (VPS) Agent B (NAT)
|
|
263
|
+
┌──────────┐ ┌──────────────┐ ┌──────────┐
|
|
264
|
+
│ A2A │──WSS──▶│ WS Broker │◀─WSS─│ A2A │
|
|
265
|
+
│ plugin │◀──WSS──│ Msg Queue │──WSS─▶│ plugin │
|
|
266
|
+
└──────────┘ │ Agent Registry│ └──────────┘
|
|
267
|
+
│ Rate Limiter │
|
|
268
|
+
└──────────────┘
|
|
269
|
+
```
|
|
297
270
|
|
|
298
271
|
## Multi-Agent LAN Setup (Same WiFi)
|
|
299
272
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
### Step 1: Assign unique ports
|
|
273
|
+
### Step 1: Assign unique ports per agent
|
|
303
274
|
|
|
304
|
-
|
|
275
|
+
| Agent | Machine IP | Port |
|
|
276
|
+
|-------|-----------|------|
|
|
277
|
+
| alice | 192.168.10.89 | 5055 |
|
|
278
|
+
| morpheus | 192.168.10.88 | 5051 |
|
|
305
279
|
|
|
306
|
-
|
|
307
|
-
|-------|------|
|
|
308
|
-
| agent-a | 5050 |
|
|
309
|
-
| agent-b | 5051 |
|
|
310
|
-
| agent-c | 5052 |
|
|
280
|
+
### Step 2: Generate a shared API key
|
|
311
281
|
|
|
312
|
-
### Step 2: Get each agent's local IP
|
|
313
|
-
|
|
314
|
-
On each Mac, run:
|
|
315
282
|
```bash
|
|
316
|
-
|
|
283
|
+
python3 -c "import secrets; print(secrets.token_hex(32))"
|
|
317
284
|
```
|
|
318
|
-
Example output: `inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255`
|
|
319
|
-
|
|
320
|
-
### Step 3: Configure each agent's `openclaw.json`
|
|
321
285
|
|
|
322
|
-
|
|
286
|
+
### Step 3: Configure each agent
|
|
323
287
|
|
|
324
|
-
**
|
|
288
|
+
**Alice (192.168.10.89:5055):**
|
|
325
289
|
```json
|
|
326
290
|
{
|
|
327
|
-
"
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
291
|
+
"agentName": "alice",
|
|
292
|
+
"port": 5055,
|
|
293
|
+
"mode": "full",
|
|
294
|
+
"peers": {
|
|
295
|
+
"morpheus": "http://192.168.10.88:5051"
|
|
296
|
+
},
|
|
297
|
+
"peerAuth": {
|
|
298
|
+
"morpheus": "SHARED_API_KEY"
|
|
299
|
+
},
|
|
300
|
+
"auth": {
|
|
301
|
+
"requireApiKey": true,
|
|
302
|
+
"apiKeys": ["SHARED_API_KEY"]
|
|
338
303
|
}
|
|
339
304
|
}
|
|
340
305
|
```
|
|
341
306
|
|
|
342
|
-
**
|
|
307
|
+
**Morpheus (192.168.10.88:5051):**
|
|
343
308
|
```json
|
|
344
309
|
{
|
|
345
|
-
"
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
310
|
+
"agentName": "morpheus",
|
|
311
|
+
"port": 5051,
|
|
312
|
+
"mode": "full",
|
|
313
|
+
"peers": {
|
|
314
|
+
"alice": "http://192.168.10.89:5055"
|
|
315
|
+
},
|
|
316
|
+
"peerAuth": {
|
|
317
|
+
"alice": "SHARED_API_KEY"
|
|
318
|
+
},
|
|
319
|
+
"auth": {
|
|
320
|
+
"requireApiKey": true,
|
|
321
|
+
"apiKeys": ["SHARED_API_KEY"]
|
|
356
322
|
}
|
|
357
323
|
}
|
|
358
324
|
```
|
|
359
325
|
|
|
360
|
-
### Step 4: Restart
|
|
326
|
+
### Step 4: Restart gateways and test
|
|
361
327
|
|
|
362
328
|
```bash
|
|
329
|
+
# On each machine:
|
|
363
330
|
openclaw gateway restart
|
|
364
|
-
```
|
|
365
331
|
|
|
366
|
-
|
|
332
|
+
# Verify peer is reachable:
|
|
333
|
+
curl -s http://192.168.10.88:5051/.well-known/agent-card.json
|
|
367
334
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
-
|
|
335
|
+
# Send authenticated test:
|
|
336
|
+
curl -s -X POST http://192.168.10.88:5051/a2a/jsonrpc \
|
|
337
|
+
-H "Content-Type: application/json" \
|
|
338
|
+
-H "x-api-key: SHARED_API_KEY" \
|
|
372
339
|
-d '{"jsonrpc":"2.0","method":"tasks/list","id":1,"params":{}}'
|
|
373
340
|
```
|
|
374
341
|
|
|
375
|
-
|
|
342
|
+
## Running the Relay Hub
|
|
376
343
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
344
|
+
Deploy the relay hub on a VPS with a public IP for NAT traversal.
|
|
345
|
+
|
|
346
|
+
```bash
|
|
347
|
+
# Via npx
|
|
348
|
+
npx tsx bin/relay.ts --port 8787 --api-keys key1,key2
|
|
349
|
+
|
|
350
|
+
# Via environment variables
|
|
351
|
+
RELAY_PORT=8787 RELAY_API_KEYS=key1,key2 npx tsx bin/relay.ts
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
| Option | Env Var | Default | Description |
|
|
355
|
+
|---|---|---|---|
|
|
356
|
+
| `--port` | `RELAY_PORT` | 6060 | WebSocket listen port |
|
|
357
|
+
| `--api-keys` | `RELAY_API_KEYS` | — | Comma-separated accepted API keys |
|
|
358
|
+
| `--max-queue` | `RELAY_MAX_QUEUE` | 200 | Max queued messages per offline agent |
|
|
359
|
+
| `--rate-limit` | `RELAY_RATE_LIMIT` | 60 | Max messages per agent per minute |
|
|
382
360
|
|
|
383
361
|
## Troubleshooting
|
|
384
362
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
363
|
+
| Problem | Solution |
|
|
364
|
+
|---|---|
|
|
365
|
+
| **401 Unauthorized** | Ensure your `x-api-key` header matches the target's `auth.apiKeys` |
|
|
366
|
+
| **Port in use** | Change `port` in config. Run `lsof -i :5050` to find conflicts. After gateway restart, old ports may linger — do a full `stop` + `start` |
|
|
367
|
+
| **Peers offline** | Verify peer URL and port. Check firewall. Use `curl` to test reachability |
|
|
368
|
+
| **Tasks received but not processed** | Check logs for `enqueueSystemEvent` and `Wake triggered`. If missing, update to v0.8.1+ |
|
|
369
|
+
| **Relay connection failing** | Verify relay URL. Check API key matches hub config. Look for `[perkos-a2a]` log messages |
|
|
370
|
+
| **Port 5000 conflict on macOS** | AirPlay Receiver uses port 5000. Use 5050+ instead |
|
|
371
|
+
|
|
372
|
+
**View plugin logs:**
|
|
373
|
+
```bash
|
|
374
|
+
# Find log file
|
|
375
|
+
openclaw gateway status 2>&1 | grep "File logs"
|
|
376
|
+
|
|
377
|
+
# Filter A2A logs
|
|
378
|
+
grep "perkos-a2a" /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log | tail -20
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
## Changelog
|
|
382
|
+
|
|
383
|
+
### v0.8.1
|
|
384
|
+
- **Wake mechanism**: Uses `requestHeartbeatNow` from the gateway runtime for reliable immediate wake (no WebSocket auth needed)
|
|
385
|
+
- **System event injection**: Tasks are enqueued as system events via `enqueueSystemEvent` for the main session
|
|
386
|
+
- **Dual delivery**: Both system event + `before_agent_start` hook for belt-and-suspenders reliability
|
|
389
387
|
|
|
390
|
-
|
|
391
|
-
|
|
388
|
+
### v0.8.0
|
|
389
|
+
- Added `enqueueSystemEvent` integration for task delivery
|
|
390
|
+
- WebSocket-based wake (replaced in v0.8.1 due to gateway auth complexity)
|
|
392
391
|
|
|
393
|
-
|
|
394
|
-
-
|
|
395
|
-
-
|
|
396
|
-
- If using relay, verify both agents are connected to the same relay hub
|
|
392
|
+
### v0.6.1
|
|
393
|
+
- Fixed install command in README
|
|
394
|
+
- Added `peerAuth` to config schema and types
|
|
397
395
|
|
|
398
|
-
|
|
399
|
-
-
|
|
400
|
-
-
|
|
396
|
+
### v0.6.0
|
|
397
|
+
- Initial public release
|
|
398
|
+
- Direct HTTP + relay hub communication
|
|
399
|
+
- Agent tools: discover, send, status
|
|
400
|
+
- CLI commands: setup, status, discover, send
|
|
401
401
|
|
|
402
402
|
## License
|
|
403
403
|
|
|
404
|
-
MIT
|
|
404
|
+
MIT — [PerkOS](https://perkos.xyz)
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,cAAc,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,cAAc,YAAY,CAAC;AAuB3B,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,QAwZxC"}
|
package/dist/index.js
CHANGED
|
@@ -12,58 +12,19 @@ export { A2AServer, detectNetworking } from "./server.js";
|
|
|
12
12
|
export { RelayHub } from "./relay.js";
|
|
13
13
|
export { RelayClient } from "./relay-client.js";
|
|
14
14
|
export * from "./types.js";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* Since the plugin runs in-process with the gateway, we can find and call
|
|
18
|
-
* the singleton requestHeartbeatNow function to trigger an immediate agent turn.
|
|
19
|
-
*/
|
|
20
|
-
let _requestHeartbeatNow = null;
|
|
21
|
-
let _heartbeatResolved = false;
|
|
22
|
-
async function resolveHeartbeatWake(logger) {
|
|
23
|
-
if (_heartbeatResolved)
|
|
24
|
-
return;
|
|
25
|
-
_heartbeatResolved = true;
|
|
26
|
-
try {
|
|
27
|
-
// Find the gateway bundle that exports requestHeartbeatNow
|
|
28
|
-
const fs = await import("fs");
|
|
29
|
-
const path = await import("path");
|
|
30
|
-
const openclawDir = path.join(path.dirname(require.resolve("openclaw/package.json")), "dist");
|
|
31
|
-
// Look for the reply-*.js bundle which exports requestHeartbeatNow
|
|
32
|
-
const files = fs.readdirSync(openclawDir).filter((f) => f.startsWith("reply-") && f.endsWith(".js"));
|
|
33
|
-
for (const file of files) {
|
|
34
|
-
try {
|
|
35
|
-
const mod = await import(path.join(openclawDir, file));
|
|
36
|
-
// Find requestHeartbeatNow among the minified exports
|
|
37
|
-
for (const [key, value] of Object.entries(mod)) {
|
|
38
|
-
if (typeof value === "function" && value.toString().includes("pendingReason") && value.length <= 1) {
|
|
39
|
-
_requestHeartbeatNow = value;
|
|
40
|
-
logger.info(`[perkos-a2a] Found requestHeartbeatNow in gateway bundle (export: ${key})`);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
catch { }
|
|
46
|
-
}
|
|
47
|
-
logger.info("[perkos-a2a] requestHeartbeatNow not found in gateway bundle — wake will rely on system events + next turn");
|
|
48
|
-
}
|
|
49
|
-
catch (err) {
|
|
50
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
51
|
-
logger.info(`[perkos-a2a] Could not resolve heartbeat wake: ${msg}`);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
function wakeGatewayAgent(reason, logger) {
|
|
55
|
-
if (_requestHeartbeatNow) {
|
|
15
|
+
function wakeGatewayAgent(requestHeartbeatNow, reason, logger, sessionKey = "agent:main") {
|
|
16
|
+
if (typeof requestHeartbeatNow === "function") {
|
|
56
17
|
try {
|
|
57
|
-
|
|
58
|
-
logger.info(`[perkos-a2a] Wake triggered via requestHeartbeatNow: ${reason}`);
|
|
18
|
+
requestHeartbeatNow({ reason, sessionKey });
|
|
19
|
+
logger.info(`[perkos-a2a] Wake triggered via runtime.system.requestHeartbeatNow: ${reason} (session: ${sessionKey})`);
|
|
59
20
|
}
|
|
60
21
|
catch (err) {
|
|
61
22
|
const msg = err instanceof Error ? err.message : String(err);
|
|
62
|
-
logger.error(`[perkos-a2a] requestHeartbeatNow failed: ${msg}`);
|
|
23
|
+
logger.error(`[perkos-a2a] runtime.system.requestHeartbeatNow failed: ${msg}`);
|
|
63
24
|
}
|
|
64
25
|
}
|
|
65
26
|
else {
|
|
66
|
-
logger.info(
|
|
27
|
+
logger.info("[perkos-a2a] runtime.system.requestHeartbeatNow unavailable — task will process on next agent turn");
|
|
67
28
|
}
|
|
68
29
|
}
|
|
69
30
|
export default function register(api) {
|
|
@@ -77,14 +38,21 @@ export default function register(api) {
|
|
|
77
38
|
const server = new A2AServer(pluginConfig, logger);
|
|
78
39
|
// Pending tasks queue for hook-based injection
|
|
79
40
|
const pendingTasks = [];
|
|
80
|
-
// Get
|
|
41
|
+
// Get system helpers from the plugin runtime API
|
|
81
42
|
const enqueueSystemEvent = api.runtime?.system?.enqueueSystemEvent;
|
|
43
|
+
const requestHeartbeatNow = api.runtime?.system?.requestHeartbeatNow;
|
|
82
44
|
if (enqueueSystemEvent) {
|
|
83
45
|
logger.info("[perkos-a2a] enqueueSystemEvent available — will inject tasks as system events + wake");
|
|
84
46
|
}
|
|
85
47
|
else {
|
|
86
48
|
logger.info("[perkos-a2a] enqueueSystemEvent not available — falling back to before_agent_start hook only");
|
|
87
49
|
}
|
|
50
|
+
if (requestHeartbeatNow) {
|
|
51
|
+
logger.info("[perkos-a2a] runtime.system.requestHeartbeatNow available — immediate wake enabled");
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
logger.info("[perkos-a2a] runtime.system.requestHeartbeatNow unavailable — wake will rely on next agent turn");
|
|
55
|
+
}
|
|
88
56
|
// Wire up session injection
|
|
89
57
|
server.setMessageInjector((text, metadata) => {
|
|
90
58
|
const from = metadata?.fromAgent || "unknown";
|
|
@@ -113,7 +81,7 @@ export default function register(api) {
|
|
|
113
81
|
}
|
|
114
82
|
}
|
|
115
83
|
// Wake the agent immediately so it processes the task
|
|
116
|
-
wakeGatewayAgent(`[A2A] Incoming task from ${from} (${taskId}). Process it now.`, logger);
|
|
84
|
+
wakeGatewayAgent(requestHeartbeatNow, `[A2A] Incoming task from ${from} (${taskId}). Process it now.`, logger, "agent:main");
|
|
117
85
|
});
|
|
118
86
|
// Hook: inject pending A2A tasks as context before each agent turn
|
|
119
87
|
api.registerHook("before_agent_start", async () => {
|
|
@@ -133,8 +101,6 @@ export default function register(api) {
|
|
|
133
101
|
logger.info(`[perkos-a2a] Injecting ${tasks.length} task(s) into agent context via before_agent_start`);
|
|
134
102
|
return { prependContext: lines.join("\n") };
|
|
135
103
|
});
|
|
136
|
-
// Resolve heartbeat wake mechanism at startup
|
|
137
|
-
resolveHeartbeatWake(logger).catch(() => { });
|
|
138
104
|
// Start A2A server as background service
|
|
139
105
|
api.registerService({
|
|
140
106
|
id: "perkos-a2a",
|
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/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAK9B,OAAO,KAAK,EACV,SAAS,EAGT,eAAe,EACf,eAAe,EAGhB,MAAM,YAAY,CAAC;AAEpB,kFAAkF;AAClF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAK9B,OAAO,KAAK,EACV,SAAS,EAGT,eAAe,EACf,eAAe,EAGhB,MAAM,YAAY,CAAC;AAEpB,kFAAkF;AAClF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC,CA8BD;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAA8E;IAC5F,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,eAAe,CAA6E;gBAGlG,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE;IAsBtF,2EAA2E;IAC3E,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI;IAI9F,YAAY,IAAI,OAAO;IAIvB,gBAAgB,IAAI,OAAO;IAI3B,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,WAAW;YAqEL,iBAAiB;YA6BjB,WAAW;IA0EzB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;IAaxB,0EAA0E;IACpE,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC;YA6Bb,cAAc;YAqCd,gBAAgB;IAuB9B,gDAAgD;IAC1C,aAAa,IAAI,OAAO,CAC5B,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,CACrD;IAsCD,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,KAAK;IAIb,oDAAoD;IACpD,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,aAAa;IAgBf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyD5B,OAAO,CAAC,SAAS;IA6BjB,aAAa,IAAI,OAAO,CAAC,OAAO;CAGjC"}
|
package/dist/server.js
CHANGED
|
@@ -33,22 +33,10 @@ export async function detectNetworking() {
|
|
|
33
33
|
// unable to reach internet
|
|
34
34
|
}
|
|
35
35
|
const isBehindNat = publicIp !== null && !localIps.includes(publicIp);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
execSync("which tailscale", { stdio: "ignore" });
|
|
41
|
-
hasTailscale = true;
|
|
42
|
-
try {
|
|
43
|
-
tailscaleIp = execSync("tailscale ip -4", { encoding: "utf-8" }).trim();
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
// tailscale installed but not connected
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
// tailscale not installed
|
|
51
|
-
}
|
|
36
|
+
// Avoid shelling out here so the plugin passes OpenClaw's safety scanner.
|
|
37
|
+
// Tailscale presence/IP can be supplied by config or discovered externally if needed.
|
|
38
|
+
const hasTailscale = false;
|
|
39
|
+
const tailscaleIp = null;
|
|
52
40
|
return { isBehindNat, publicIp, localIps, hasTailscale, tailscaleIp };
|
|
53
41
|
}
|
|
54
42
|
export class A2AServer {
|
|
@@ -215,7 +203,7 @@ export class A2AServer {
|
|
|
215
203
|
// Fallback: write to file
|
|
216
204
|
const fs = await import("fs");
|
|
217
205
|
const taskDir = this.config.workspacePath
|
|
218
|
-
|| `${
|
|
206
|
+
|| `${homedir()}/.openclaw/workspace/memory`;
|
|
219
207
|
if (!fs.existsSync(taskDir)) {
|
|
220
208
|
fs.mkdirSync(taskDir, { recursive: true });
|
|
221
209
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAWtC,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAOpC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,mCAAmC,EAAE;YAC3D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEtE,0EAA0E;IAC1E,sFAAsF;IACtF,MAAM,YAAY,GAAG,KAAK,CAAC;IAC3B,MAAM,WAAW,GAAkB,IAAI,CAAC;IAExC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,OAAO,SAAS;IACZ,GAAG,CAAkB;IACrB,KAAK,GAAsB,IAAI,GAAG,EAAE,CAAC;IACrC,SAAS,CAAY;IACrB,MAAM,CAAkB;IACxB,MAAM,CAA8E;IACpF,UAAU,GAAG,KAAK,CAAC;IACnB,WAAW,GAAuB,IAAI,CAAC;IACvC,QAAQ,GAAoB,IAAI,CAAC;IACjC,eAAe,GAAwE,IAAI,CAAC;IAEpG,YACE,MAAuB,EACvB,MAAoF;QAEpF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QACpE,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7B,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,WAAW,EAAE,iBAAiB,MAAM,CAAC,SAAS,EAAE;YAChD,eAAe,EAAE,OAAO;YACxB,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,oBAAoB,MAAM,CAAC,IAAI,cAAc;YAClD,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,YAAY,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE;YAC1C,iBAAiB,EAAE,CAAC,MAAM,CAAC;YAC3B,kBAAkB,EAAE,CAAC,MAAM,CAAC;SAC7B,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,2EAA2E;IAC3E,kBAAkB,CAAC,QAAoE;QACrF,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;IAClD,CAAC;IAEO,cAAc;QACpB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;gBACrC,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GACV,GAAG,CAAC,OAAO,CAAC,WAAW,CAAW;gBAClC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBACvD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAY,CAAC;YAElC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YAED,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,sCAAsC;QACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACzD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACpC,GAAG,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC5B,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBACrC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBAC1B,cAAc,EAAE,IAAI,CAAC,gBAAgB,EAAE;aACxC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,sBAAsB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEnC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACrD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC;gBACH,IAAI,MAAuB,CAAC;gBAC5B,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,cAAc;wBACjB,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBAClD,MAAM;oBACR,KAAK,WAAW;wBACd,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBACxC,MAAM;oBACR,KAAK,YAAY;wBACf,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;wBAClC,MAAM;oBACR,KAAK,cAAc;wBACjB,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBAC3C,MAAM;oBACR,KAAK,YAAY;wBACf,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC1C,MAAM;oBACR;wBACE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,qBAAqB,MAAM,EAAE,CAAC,CAAC;gBACnE,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;gBACpD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACpD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,MAA+B,EAC/B,KAAa;QAEb,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkB,CAAC;QAC1C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,CAAC;QAErD,MAAM,IAAI,GAAS;YACjB,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,MAAM;YACV,SAAS;YACT,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;YACnE,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE;gBACR,SAAS,EAAG,OAAO,EAAE,QAAQ,EAAE,SAAoB,IAAI,SAAS;aACjE;SACF,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qBAAqB,MAAM,kBAAkB,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CACxE,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAU;QAClC,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAExE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ;aAC5B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,CAAC;YACH,kCAAkC;YAClC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE;oBAC9B,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS;oBACnC,MAAM,EAAE,IAAI,CAAC,EAAE;iBAChB,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,UAAU,EAAE;oBACxB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC;iBACpE,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,0BAA0B;gBAC1B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,OAAO,GAAI,IAAI,CAAC,MAAc,CAAC,aAAa;uBAC7C,GAAG,OAAO,EAAE,6BAA6B,CAAC;gBAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,MAAM,QAAQ,GAAG,GAAG,OAAO,aAAa,IAAI,CAAC,EAAE,KAAK,CAAC;gBACrD,MAAM,OAAO,GAAG;oBACd,YAAY;oBACZ,EAAE;oBACF,aAAa,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE;oBACvC,gBAAgB,IAAI,CAAC,EAAE,EAAE;oBACzB,aAAa,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;oBACvC,EAAE;oBACF,YAAY;oBACZ,EAAE;oBACF,SAAS;oBACT,EAAE;iBACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAEpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,UAAU,EAAE;oBACxB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,QAAQ,EAAE,EAAE,CAAC;iBAC5D,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,MAAM,GAAG;gBACZ,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,GAAG;gBACZ,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;iBACrC;aACF,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,MAA+B,EAC/B,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAY,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAEO,eAAe,CAAC,KAAa;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;YACtC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACzC,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAEO,gBAAgB,CACtB,MAA+B,EAC/B,KAAa;QAEb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAY,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,qBAAqB,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,QAAQ,CACZ,WAAmB,EACnB,WAAmB;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEjD,kDAAkD;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,+CAA+C;gBAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;oBACrC,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+BAA+B,WAAW,gCAAgC,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,YAAY;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAI,KAAK,CACb,gBAAgB,WAAW,sDAAsD;YACjF,gBAAgB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,WAAmB,EACnB,SAAiB,EACjB,WAAmB;QAEnB,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QAE/E,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;QAClC,CAAC;QAED,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,cAAc;YACtB,EAAE,EAAE,UAAU,EAAE;YAChB,MAAM,EAAE;gBACN,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,UAAU,EAAE;oBACvB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;oBAC5C,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;iBAC/C;aACF;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,cAAc,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,WAAmB,EACnB,WAAmB;QAEnB,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAY,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC3D,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,cAAc;YACtB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE;gBACN,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,UAAU,EAAE;oBACvB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;oBAC5C,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;iBAC/C;aACF;SACF,CAAC,CAAC;QAEH,OAAQ,MAAM,CAAC,OAAsC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/F,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,aAAa;QAGjB,MAAM,OAAO,GAAyD,EAAE,CAAC;QAEzE,wBAAwB;QACxB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,8BAA8B,EAAE;oBAC1D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;iBAClC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAc,EAAE,CAAC;YAC5E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACtD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;oBAChC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS;wBAAE,SAAS;oBACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC/C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;4BACpB,MAAM,EAAE,QAAQ;4BAChB,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,OAAO,CAAC,EAAU,EAAE,MAAe;QACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,EAAU,EAAE,IAAY,EAAE,OAAe;QACrD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,oDAAoD;IAC5C,eAAe,CAAC,GAAiB;QACvC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAc,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;QACzC,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;QAEnC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,GAAG,EAAE,QAA8C,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,MAAM,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAuC,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG;YAAE,OAAO;QAE3C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YAC1C,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACpF,CAAC;IAEO,aAAa;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAC1B;YACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;YACxC,gBAAgB,EAAE,GAAG;YACrB,kBAAkB,EAAE,EAAE;YACtB,mBAAmB,EAAE,MAAM;YAC3B,kBAAkB,EAAE,MAAM;SAC3B,EACD,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;QAExC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,yGAAyG,CAC1G,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sEAAsE,CACvE,CAAC;oBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4GAA4G,CAC7G,CAAC;oBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACzB,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mDAAmD,GAAG,CAAC,WAAW,qBAAqB,CACxF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,OAAO,GAAG,CAAC;QACzC,MAAM,WAAW,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;gBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gBAAgB,IAAI,CAAC,MAAM,CAAC,SAAS,mBAAmB,IAAI,EAAE,CAC/D,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,oBAAoB,IAAI,cAAc,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;gBAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;oBACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,mBAAmB,QAAQ,EAAE,CAAC,CAAC;oBACzE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;gBACxC,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sBAAsB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,gDAAgD,CAC/F,CAAC;oBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;CACF"}
|