squad-openclaw 2026.2.2019 → 2026.2.2021
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 +11 -3
- package/dist/index.d.ts +0 -34
- package/dist/index.js +2386 -2291
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,6 +10,7 @@ OpenClaw gateway plugin for [Squad](https://squad.ceo) — provides entity regis
|
|
|
10
10
|
| `fs_read`, `fs_write`, `fs_list`, `fs_delete`, `fs_rename`, `fs_mkdir` | Remote filesystem access for browser clients (subject to security restrictions below) |
|
|
11
11
|
| `sql_query` | Restricted SQLite query tool — `sqlite3` only, scoped to `~/.openclaw/squad-ceo-data/` |
|
|
12
12
|
| `squad.version.check`, `squad.version.update` | Plugin version management and self-update |
|
|
13
|
+
| `squad.agents.set-identity`, `squad.agents.patch-config` | Gateway-native, surgical agent config updates (identity/tools/skills/default/model only) |
|
|
13
14
|
| `tools.invoke` | RPC-based tool invocation for relay mode — **only invokes this plugin's own tools**, each with its own security restrictions (see below) |
|
|
14
15
|
| Cloud relay client | Connects outbound to `relay.squad.ceo` for remote browser access. **Only activates when a claim token or room ID exists** (see Relay Security below) |
|
|
15
16
|
|
|
@@ -101,15 +102,22 @@ Filesystem operations are restricted to configured root directories. By default,
|
|
|
101
102
|
|
|
102
103
|
Operators can customize via the `fs.allowedRoots` config option.
|
|
103
104
|
|
|
104
|
-
### Layer 4: Write Protection
|
|
105
|
+
### Layer 4: Filesystem Write Protection + Surgical Gateway Mutations
|
|
105
106
|
|
|
106
|
-
These files/directories cannot be written
|
|
107
|
+
These files/directories cannot be written via filesystem tools (`fs_write`, `fs_rename`, etc.), even if they fall within `allowedRoots`:
|
|
107
108
|
|
|
108
|
-
- `~/.openclaw/openclaw.json` — operator configuration (read-only with redaction)
|
|
109
|
+
- `~/.openclaw/openclaw.json` — operator configuration (tool-level read-only with redaction)
|
|
109
110
|
- `~/.openclaw/squad-ceo-data/relay/squad-relay.json` — relay device private key
|
|
110
111
|
- All blocked directories above (credentials, devices, identity)
|
|
111
112
|
- All `.bak` files at `~/.openclaw/` top level
|
|
112
113
|
|
|
114
|
+
For agent editing UX, this plugin also exposes **whitelisted gateway RPC mutators** that call `config.get` + `config.patch` inside the gateway process (single-writer path):
|
|
115
|
+
|
|
116
|
+
- `squad.agents.set-identity` — writes only `agents.list[].identity.{name,emoji,theme}`
|
|
117
|
+
- `squad.agents.patch-config` — writes only `agents.list[].{tools,skills,default,model}`
|
|
118
|
+
|
|
119
|
+
These methods do **not** permit arbitrary file writes and do not expose credentials. They are intentionally narrow so the UI can update agent metadata safely without direct `openclaw.json` filesystem writes.
|
|
120
|
+
|
|
113
121
|
## Relay Security
|
|
114
122
|
|
|
115
123
|
The cloud relay enables remote browser access to the gateway through `relay.squad.ceo`. This section explains the full architecture for security reviewers.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,37 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* squad-openclaw — OpenClaw gateway plugin for Squad
|
|
3
|
-
*
|
|
4
|
-
* Provides:
|
|
5
|
-
* - In-memory entity registry with filesystem watching (entity_list, entity_search, entity_sync)
|
|
6
|
-
* - Filesystem tools for remote clients (fs_read, fs_write, fs_list, fs_delete, fs_rename)
|
|
7
|
-
* - Restricted SQL query tool (sql_query) — sqlite3 only, squad-ceo-data/ only
|
|
8
|
-
* - Version check and self-update gateway methods (squad.version.*)
|
|
9
|
-
* - Cloud relay client for remote browser access (relay-client)
|
|
10
|
-
*
|
|
11
|
-
* ┌──────────────────────────────────────────────────────────────────────────┐
|
|
12
|
-
* │ SECURITY POLICY — Credential Protection │
|
|
13
|
-
* │ │
|
|
14
|
-
* │ This plugin enforces hard-coded security rules in filesystem.ts: │
|
|
15
|
-
* │ │
|
|
16
|
-
* │ BLOCKED directories (no read, write, list, delete, or rename): │
|
|
17
|
-
* │ • ~/.openclaw/credentials/ │
|
|
18
|
-
* │ • ~/.openclaw/devices/ │
|
|
19
|
-
* │ • ~/.openclaw/identity/ │
|
|
20
|
-
* │ │
|
|
21
|
-
* │ REDACTED on read (sensitive fields replaced with "[REDACTED]"): │
|
|
22
|
-
* │ • ~/.openclaw/openclaw.json → channel.*.botToken │
|
|
23
|
-
* │ • ~/.openclaw/openclaw.json → gateway.auth.* │
|
|
24
|
-
* │ • squad-ceo-data/relay/squad-relay.json → deviceKeys.privateKeyPem │
|
|
25
|
-
* │ │
|
|
26
|
-
* │ WRITE-PROTECTED (no writes, deletes, or renames): │
|
|
27
|
-
* │ • ~/.openclaw/openclaw.json │
|
|
28
|
-
* │ • squad-ceo-data/relay/squad-relay.json │
|
|
29
|
-
* │ • All blocked directories above │
|
|
30
|
-
* │ │
|
|
31
|
-
* │ The bundle is NOT minified to allow security auditing of the │
|
|
32
|
-
* │ distributed code. See tsup.config.ts for build configuration. │
|
|
33
|
-
* └──────────────────────────────────────────────────────────────────────────┘
|
|
34
|
-
*/
|
|
35
1
|
declare function squadAppPlugin(api: any): void;
|
|
36
2
|
|
|
37
3
|
export { squadAppPlugin as default };
|