@petercha90/oasis 1.3.7 → 1.3.8
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 +54 -69
- package/dist/index.d.ts +13 -0
- package/dist/index.js +80 -12
- package/dist/index.js.map +1 -1
- package/dist/patterns.js +9 -2
- package/dist/patterns.js.map +1 -1
- package/dist/slack/approval-parser.js +10 -7
- package/dist/slack/approval-parser.js.map +1 -1
- package/dist/slack/gateway-client.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
---
|
|
22
22
|
|
|
23
23
|
<p align="center">
|
|
24
|
-
<img src="https://raw.githubusercontent.com/PeterCha90/oasis/main/public/example1.png" alt="OASIS Approval Example" width="
|
|
24
|
+
<img src="https://raw.githubusercontent.com/PeterCha90/oasis/main/public/example1.png" alt="OASIS Approval Example" width="550" />
|
|
25
25
|
</p>
|
|
26
26
|
|
|
27
27
|
---
|
|
@@ -80,78 +80,62 @@ openclaw gateway restart
|
|
|
80
80
|
|
|
81
81
|
A dedicated Slack app is **required** for OASIS to work. It handles approval buttons and user interactions.
|
|
82
82
|
|
|
83
|
-
#### Step 1: Create the App
|
|
84
|
-
|
|
85
|
-
1. Go to [api.slack.com/apps](https://api.slack.com/apps)
|
|
86
|
-
2.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
#### Step 4: Subscribe to Events
|
|
126
|
-
|
|
127
|
-
1. Left sidebar → **Event Subscriptions**
|
|
128
|
-
2. Toggle **Enable Events** to ON
|
|
129
|
-
3. Scroll to **Subscribe to bot events** → **Add Bot User Event**
|
|
130
|
-
4. Add these 2 events:
|
|
131
|
-
|
|
132
|
-
| Event | Purpose |
|
|
133
|
-
|-------|---------|
|
|
134
|
-
| `message.channels` | Detect approval messages from OpenClaw agents |
|
|
135
|
-
| `reaction_added` | Detect user's Allow (✅) or Deny (🙅) reaction |
|
|
136
|
-
|
|
137
|
-
<img src="https://raw.githubusercontent.com/PeterCha90/oasis/main/public/8.png"/>
|
|
138
|
-
|
|
139
|
-
5. Click **Save Changes**
|
|
83
|
+
#### Step 1: Create the App from Manifest
|
|
84
|
+
|
|
85
|
+
1. Go to [api.slack.com/apps](https://api.slack.com/apps) → **Create New App** → **From an app manifest**
|
|
86
|
+
2. Pick your workspace
|
|
87
|
+
3. Paste the manifest below (YAML tab) and click **Next** → **Create**
|
|
88
|
+
|
|
89
|
+
<details>
|
|
90
|
+
<summary>📋 Click to copy manifest</summary>
|
|
91
|
+
|
|
92
|
+
```yaml
|
|
93
|
+
display_information:
|
|
94
|
+
name: OASIS
|
|
95
|
+
description: OpenClaw Antidote for Suspicious Injection Signals
|
|
96
|
+
background_color: "#4A154B"
|
|
97
|
+
features:
|
|
98
|
+
bot_user:
|
|
99
|
+
display_name: OASIS
|
|
100
|
+
always_online: true
|
|
101
|
+
app_home:
|
|
102
|
+
home_tab_enabled: false
|
|
103
|
+
messages_tab_enabled: true
|
|
104
|
+
messages_tab_read_only_enabled: false
|
|
105
|
+
oauth_config:
|
|
106
|
+
scopes:
|
|
107
|
+
bot:
|
|
108
|
+
- chat:write
|
|
109
|
+
- reactions:read
|
|
110
|
+
- reactions:write
|
|
111
|
+
- channels:history
|
|
112
|
+
- channels:read
|
|
113
|
+
settings:
|
|
114
|
+
event_subscriptions:
|
|
115
|
+
bot_events:
|
|
116
|
+
- message.channels
|
|
117
|
+
- reaction_added
|
|
118
|
+
interactivity:
|
|
119
|
+
is_enabled: true
|
|
120
|
+
org_deploy_enabled: false
|
|
121
|
+
socket_mode_enabled: true
|
|
122
|
+
token_rotation_enabled: false
|
|
123
|
+
```
|
|
140
124
|
|
|
141
|
-
|
|
125
|
+
</details>
|
|
142
126
|
|
|
143
|
-
|
|
144
|
-
2. Enable **Messages Tab** under **Show Tabs**
|
|
127
|
+
> The manifest pre-configures everything: bot scopes, event subscriptions, Socket Mode, interactivity, and the Messages tab. No manual clicking required.
|
|
145
128
|
|
|
146
|
-
|
|
129
|
+
#### Step 2: Generate App-Level Token
|
|
147
130
|
|
|
148
|
-
|
|
131
|
+
1. Left sidebar → **Basic Information** → **App-Level Tokens** → **Generate Token and Scopes**
|
|
132
|
+
2. Token Name: `oasis`, Scope: `connections:write` → **Generate**
|
|
133
|
+
3. Copy the `xapp-...` token — this is your **App Token**
|
|
149
134
|
|
|
150
|
-
|
|
151
|
-
2. Click **Install to Workspace** → **Allow**
|
|
152
|
-
<img src="https://raw.githubusercontent.com/PeterCha90/oasis/main/public/9.png"/>
|
|
135
|
+
#### Step 3: Install to Workspace
|
|
153
136
|
|
|
154
|
-
|
|
137
|
+
1. Left sidebar → **Install App** → **Install to Workspace** → **Allow**
|
|
138
|
+
2. Copy the `xoxb-...` **Bot User OAuth Token** — this is your **Bot Token**
|
|
155
139
|
|
|
156
140
|
### 3. Configure OASIS
|
|
157
141
|
|
|
@@ -284,10 +268,11 @@ All scoring is **deterministic pattern matching**. No LLM involved.
|
|
|
284
268
|
| `BLOCK_DESTRUCTIVE` | `rm -rf /`, fork bomb, `mkfs`, `dd if=/dev/zero` | **1.0** | 🚨 Blocked |
|
|
285
269
|
| `BLOCK_PIPE_SHELL` | `curl \| bash`, `wget \| sh` | **1.0** | 🚨 Blocked |
|
|
286
270
|
| `PROMPT_INJECTION` | `ignore previous instructions`, `you are now` | 0.9 | Ask approval |
|
|
287
|
-
| `SECRET_ACCESS` | `$AWS_SECRET`, `process.env.TOKEN`
|
|
271
|
+
| `SECRET_ACCESS` | `$AWS_SECRET`, `$SLACK_WEBHOOK`, `process.env.TOKEN` | 0.8 | Ask approval |
|
|
288
272
|
| `SUSPICIOUS_DOMAIN` | `.xyz`, `.tk`, `.ml`, `.pw`, `.top` | 0.8 | Ask approval |
|
|
289
273
|
| `DATA_EXFILTRATION` | `curl -X POST`, `nc -e`, reverse shell | 0.7 | Ask approval |
|
|
290
|
-
| `
|
|
274
|
+
| `ENV_DUMP` | `printenv`, `env \| grep`, `export -p`, `/proc/*/environ` | 0.6 | Ask approval |
|
|
275
|
+
| `SENSITIVE_FILE` | `.env`, `.ssh/id_rsa`, `.aws/credentials`, `/proc/*/environ` | 0.6 | Ask approval |
|
|
291
276
|
| `PRIVILEGE_ESCALATION` | `sudo`, `chmod 777`, `chown root` | 0.5 | Ask approval |
|
|
292
277
|
| `EXTERNAL_URL` | Non-safe-domain HTTP access | 0.3 | Ask approval |
|
|
293
278
|
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,19 @@ export declare function handleBeforeToolCall(event: {
|
|
|
19
19
|
toolName: string;
|
|
20
20
|
params: Record<string, unknown>;
|
|
21
21
|
}, config: OasisConfig): Promise<HookResult>;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve a config value that may be a string or a SecretRef object.
|
|
24
|
+
* SecretRef: { source: "env", provider: "default", id: "ENV_VAR_NAME" }
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Normalize a secret-ref id to a bare env-var key.
|
|
28
|
+
* openclaw (>=2026.5) may store the id wrapped in its `${VAR}` interpolation
|
|
29
|
+
* syntax (e.g. "${OASIS_BOT_TOKEN}"); strip the wrapper so it matches the
|
|
30
|
+
* bare key in ~/.openclaw/.env. Without this the env lookup never matches and
|
|
31
|
+
* the OASIS Slack app silently fails to start.
|
|
32
|
+
*/
|
|
33
|
+
export declare function normalizeEnvKey(id: string): string;
|
|
34
|
+
export declare function resolveSecretRef(value: unknown): string | undefined;
|
|
22
35
|
/**
|
|
23
36
|
* OpenClaw plugin entry point.
|
|
24
37
|
* Registers the before_tool_call hook for deterministic risk scoring.
|
package/dist/index.js
CHANGED
|
@@ -147,21 +147,48 @@ function injectSoulRules() {
|
|
|
147
147
|
* Resolve a config value that may be a string or a SecretRef object.
|
|
148
148
|
* SecretRef: { source: "env", provider: "default", id: "ENV_VAR_NAME" }
|
|
149
149
|
*/
|
|
150
|
-
|
|
150
|
+
/**
|
|
151
|
+
* Normalize a secret-ref id to a bare env-var key.
|
|
152
|
+
* openclaw (>=2026.5) may store the id wrapped in its `${VAR}` interpolation
|
|
153
|
+
* syntax (e.g. "${OASIS_BOT_TOKEN}"); strip the wrapper so it matches the
|
|
154
|
+
* bare key in ~/.openclaw/.env. Without this the env lookup never matches and
|
|
155
|
+
* the OASIS Slack app silently fails to start.
|
|
156
|
+
*/
|
|
157
|
+
export function normalizeEnvKey(id) {
|
|
158
|
+
return String(id).replace(/^\$\{(.+)\}$/, "$1").trim();
|
|
159
|
+
}
|
|
160
|
+
/** Build a `^KEY=value$` matcher for a .env file, escaping regex metachars in KEY. */
|
|
161
|
+
function envLineRegex(key) {
|
|
162
|
+
const esc = key.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
163
|
+
return new RegExp(`^${esc}=(.+)$`, "m");
|
|
164
|
+
}
|
|
165
|
+
export function resolveSecretRef(value) {
|
|
151
166
|
if (typeof value === "string")
|
|
152
167
|
return value || undefined;
|
|
153
168
|
if (value && typeof value === "object" && "id" in value) {
|
|
154
169
|
const ref = value;
|
|
155
170
|
if (ref.source === "env") {
|
|
156
|
-
|
|
171
|
+
const key = normalizeEnvKey(ref.id);
|
|
172
|
+
if (!key)
|
|
173
|
+
return undefined;
|
|
174
|
+
// 1. Look up the key in ~/.openclaw/.env
|
|
157
175
|
const envPath = join(homedir(), ".openclaw", ".env");
|
|
158
176
|
if (existsSync(envPath)) {
|
|
159
177
|
const content = readFileSync(envPath, "utf-8");
|
|
160
|
-
const match = content.match(
|
|
161
|
-
|
|
178
|
+
const match = content.match(envLineRegex(key));
|
|
179
|
+
if (match?.[1])
|
|
180
|
+
return match[1].trim();
|
|
162
181
|
}
|
|
163
|
-
// Fallback to process.env
|
|
164
|
-
|
|
182
|
+
// 2. Fallback to process.env
|
|
183
|
+
if (process.env[key])
|
|
184
|
+
return process.env[key];
|
|
185
|
+
// 3. openclaw >=2026.5 interpolates ${VAR} placeholders inside plugin
|
|
186
|
+
// config itself, so the SecretRef id may ALREADY be the resolved
|
|
187
|
+
// secret value rather than an env-var name. If it could not be found
|
|
188
|
+
// as a key and does not look like an UPPER_SNAKE_CASE env-var name,
|
|
189
|
+
// treat the id as the literal resolved value.
|
|
190
|
+
if (!/^[A-Z_][A-Z0-9_]*$/.test(key))
|
|
191
|
+
return key;
|
|
165
192
|
}
|
|
166
193
|
}
|
|
167
194
|
return undefined;
|
|
@@ -175,8 +202,8 @@ function loadGatewayConfig() {
|
|
|
175
202
|
let authToken;
|
|
176
203
|
if (config.gateway?.auth?.mode === "token" && config.gateway?.auth?.token?.id) {
|
|
177
204
|
const envContent = existsSync(envPath) ? readFileSync(envPath, "utf-8") : "";
|
|
178
|
-
const tokenKey = config.gateway.auth.token.id;
|
|
179
|
-
const match = envContent.match(
|
|
205
|
+
const tokenKey = normalizeEnvKey(config.gateway.auth.token.id);
|
|
206
|
+
const match = envContent.match(envLineRegex(tokenKey));
|
|
180
207
|
authToken = match?.[1]?.trim();
|
|
181
208
|
}
|
|
182
209
|
return { port, authToken };
|
|
@@ -196,11 +223,31 @@ export default definePluginEntry({
|
|
|
196
223
|
register(api) {
|
|
197
224
|
const config = loadConfig(api.pluginConfig);
|
|
198
225
|
const logger = createLogger(config, api.logger);
|
|
226
|
+
let activeSlackApp;
|
|
227
|
+
const shutdown = async () => {
|
|
228
|
+
if (activeSlackApp) {
|
|
229
|
+
logger.info("[OASIS] Stopping Slack app...");
|
|
230
|
+
try {
|
|
231
|
+
await activeSlackApp.stop();
|
|
232
|
+
activeSlackApp = undefined;
|
|
233
|
+
logger.info("[OASIS] Slack app stopped");
|
|
234
|
+
}
|
|
235
|
+
catch (err) {
|
|
236
|
+
logger.warn(`[OASIS] Failed to stop Slack app: ${err}`);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
};
|
|
199
240
|
logger.info(`[OASIS] Loaded with threshold=${config.threshold}`);
|
|
200
241
|
// ── Inject SOUL.md rules into all agent workspaces ──
|
|
201
242
|
injectSoulRules();
|
|
202
243
|
// ── CLI: setup wizard ──
|
|
203
244
|
registerOasisCli(api, config);
|
|
245
|
+
// ── Lifecycle Hooks ──
|
|
246
|
+
api.on("session_end", async () => { await shutdown(); });
|
|
247
|
+
api.on("gateway_stop", async () => { await shutdown(); });
|
|
248
|
+
// Safety net for process signals
|
|
249
|
+
process.on("SIGINT", () => { shutdown().finally(() => process.exit(0)); });
|
|
250
|
+
process.on("SIGTERM", () => { shutdown().finally(() => process.exit(0)); });
|
|
204
251
|
// ── Core Hook: before_tool_call ──
|
|
205
252
|
api.on("before_tool_call", async (event, _ctx) => {
|
|
206
253
|
const result = await handleBeforeToolCall(event, config);
|
|
@@ -216,24 +263,45 @@ export default definePluginEntry({
|
|
|
216
263
|
return result;
|
|
217
264
|
}, { priority: 10 });
|
|
218
265
|
// ── Slack App: dedicated OASIS bot ──
|
|
219
|
-
const
|
|
220
|
-
const
|
|
266
|
+
const botRef = api.pluginConfig?.oasisBotToken ?? config.oasisBotToken;
|
|
267
|
+
const appRef = api.pluginConfig?.oasisAppToken ?? config.oasisAppToken;
|
|
268
|
+
const botToken = resolveSecretRef(botRef);
|
|
269
|
+
const appToken = resolveSecretRef(appRef);
|
|
221
270
|
if (botToken && appToken) {
|
|
222
271
|
import("./slack/approval-handler.js").then(({ createOasisSlackApp }) => {
|
|
223
272
|
const gw = loadGatewayConfig();
|
|
224
|
-
|
|
273
|
+
activeSlackApp = createOasisSlackApp({
|
|
225
274
|
botToken,
|
|
226
275
|
appToken,
|
|
227
276
|
gatewayPort: gw.port,
|
|
228
277
|
gatewayAuthToken: gw.authToken,
|
|
229
278
|
});
|
|
230
|
-
|
|
279
|
+
activeSlackApp.start().then(() => {
|
|
231
280
|
logger.info("[OASIS] Slack app connected");
|
|
232
281
|
}).catch((err) => {
|
|
233
282
|
logger.warn(`[OASIS] Slack app failed: ${err}`);
|
|
234
283
|
});
|
|
284
|
+
}).catch((err) => {
|
|
285
|
+
logger.warn(`[OASIS] Slack app module load failed: ${err}`);
|
|
235
286
|
});
|
|
236
287
|
}
|
|
288
|
+
else {
|
|
289
|
+
// Don't fail silently — explain WHY no approval buttons will appear.
|
|
290
|
+
// (config id is an env-var NAME, not the secret value, so it is safe to log.)
|
|
291
|
+
const describeRef = (v) => {
|
|
292
|
+
if (v == null)
|
|
293
|
+
return "missing";
|
|
294
|
+
if (typeof v === "string")
|
|
295
|
+
return v ? "string(set)" : "empty-string";
|
|
296
|
+
if (typeof v === "object" && v !== null && "id" in v)
|
|
297
|
+
return `secretRef(source=${v.source}, id=${JSON.stringify(v.id)})`;
|
|
298
|
+
return typeof v;
|
|
299
|
+
};
|
|
300
|
+
logger.warn(`[OASIS] Slack app NOT started — tokens unresolved, so no approval buttons will appear. ` +
|
|
301
|
+
`botToken=${botToken ? "ok" : "UNRESOLVED"} (config: ${describeRef(botRef)}); ` +
|
|
302
|
+
`appToken=${appToken ? "ok" : "UNRESOLVED"} (config: ${describeRef(appRef)}). ` +
|
|
303
|
+
`Ensure OASIS_BOT_TOKEN/OASIS_APP_TOKEN exist in ~/.openclaw/.env and oasisBotToken/oasisAppToken are set in the plugin config.`);
|
|
304
|
+
}
|
|
237
305
|
},
|
|
238
306
|
});
|
|
239
307
|
//# sourceMappingURL=index.js.map
|
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/patterns.js
CHANGED
|
@@ -26,11 +26,18 @@ export const RISK_PATTERNS = [
|
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
id: "SECRET_ACCESS",
|
|
29
|
-
regex:
|
|
29
|
+
regex: /\$\{?[A-Z0-9_]*(?:SECRET|PASSWORD|PASSWD|TOKEN|API_?KEY|ACCESS_?KEY|CREDENTIAL|CRED|PRIVATE_KEY|WEBHOOK|BEARER)[A-Z0-9_]*\}?\b|process\.env\.[A-Z_]*(?:SECRET|PASSWORD|PASSWD|KEY|TOKEN|CREDENTIAL|AUTH|PRIVATE|WEBHOOK|API)[A-Z_]*/i,
|
|
30
30
|
score: 0.8,
|
|
31
31
|
description: "Secret/credential access",
|
|
32
32
|
severity: "warning",
|
|
33
33
|
},
|
|
34
|
+
{
|
|
35
|
+
id: "ENV_DUMP",
|
|
36
|
+
regex: /\bprintenv\b|(?:^|[\s;|&])env\s*(?:\||$|>|;)|cat\s+\/proc\/[^\s]*\/environ|\bexport\s+-p\b/i,
|
|
37
|
+
score: 0.6,
|
|
38
|
+
description: "Environment variable dump",
|
|
39
|
+
severity: "warning",
|
|
40
|
+
},
|
|
34
41
|
{
|
|
35
42
|
id: "SUSPICIOUS_DOMAIN",
|
|
36
43
|
regex: /\.(xyz|tk|ml|ga|cf|pw|top|click|loan|work)\b/i,
|
|
@@ -47,7 +54,7 @@ export const RISK_PATTERNS = [
|
|
|
47
54
|
},
|
|
48
55
|
{
|
|
49
56
|
id: "SENSITIVE_FILE",
|
|
50
|
-
regex: /\.env(\.[a-z0-9]+)*|\.ssh\/|id_rsa|\.aws\/credentials|\/etc\/shadow|\/etc\/passwd|\.pem\b|\.key\b|oasis-allowlist\.json/i,
|
|
57
|
+
regex: /\.env(\.[a-z0-9]+)*|\.ssh\/|id_rsa|\.aws\/credentials|\/etc\/shadow|\/etc\/passwd|\.pem\b|\.key\b|oasis-allowlist\.json|\/proc\/[^\s/]+\/environ/i,
|
|
51
58
|
score: 0.6,
|
|
52
59
|
description: "Sensitive file access",
|
|
53
60
|
severity: "warning",
|
package/dist/patterns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"AAGA,mEAAmE;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAClD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EACH,mEAAmE;QACrE,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,qBAAqB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,8EAA8E;QACrF,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,yBAAyB;QACtC,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC;AAEF,uDAAuD;AACvD,MAAM,CAAC,MAAM,aAAa,GAAuB;IAC/C;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EACH,+EAA+E;QACjF,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EACH,
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"AAGA,mEAAmE;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAClD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EACH,mEAAmE;QACrE,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,qBAAqB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,8EAA8E;QACrF,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,yBAAyB;QACtC,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC;AAEF,uDAAuD;AACvD,MAAM,CAAC,MAAM,aAAa,GAAuB;IAC/C;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EACH,+EAA+E;QACjF,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EACH,sOAAsO;QACxO,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EACH,6FAA6F;QAC/F,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,+CAA+C;QACtD,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,uBAAuB;QACpC,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EACH,qEAAqE;QACvE,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EACH,mJAAmJ;QACrJ,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,uBAAuB;QACpC,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,oDAAoD;QAC3D,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,sBAAsB;QACnC,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,qBAAqB;QAClC,QAAQ,EAAE,MAAM;KACjB;CACF,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAa;IAC5C,YAAY;IACZ,uBAAuB;IACvB,WAAW;IACX,UAAU;IACV,oBAAoB;IACpB,WAAW;IACX,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,mBAAmB;CACpB,CAAC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
export function parseApprovalMessage(text) {
|
|
2
2
|
if (!text.includes("Plugin approval required"))
|
|
3
3
|
return null;
|
|
4
|
-
|
|
4
|
+
// ID may be plain ("ID: plugin:...") or openclaw-native bold mrkdwn
|
|
5
|
+
// ("*Approval ID:* plugin:...") — tolerate asterisks/whitespace between the
|
|
6
|
+
// label and the id. (openclaw >=2026.5 switched to native Block Kit rendering.)
|
|
7
|
+
const idMatch = text.match(/ID:[\s*]*(plugin:[a-f0-9-]+)/i);
|
|
5
8
|
if (!idMatch)
|
|
6
9
|
return null;
|
|
7
|
-
const titleMatch = text.match(
|
|
8
|
-
const toolMatch = text.match(
|
|
9
|
-
const pluginMatch = text.match(
|
|
10
|
+
const titleMatch = text.match(/\**\s*Title:\**\s*(.+)/);
|
|
11
|
+
const toolMatch = text.match(/^\**\s*Tool:\**\s*(\S+)/m);
|
|
12
|
+
const pluginMatch = text.match(/\**\s*Plugin:\**\s*(\S+)/);
|
|
10
13
|
const riskMatch = text.match(/\[([\d.]+)\]/) ?? text.match(/Risk Score:\s*\*?\*?\s*[`]?([\d.]+)/);
|
|
11
14
|
const detectedMatch = text.match(/Detected:\s*\*?\*?\s*([^|\n]+)/);
|
|
12
15
|
let parameters = "";
|
|
@@ -30,17 +33,17 @@ export function parseApprovalMessage(text) {
|
|
|
30
33
|
}
|
|
31
34
|
// 2. Try Command:/File:/URL: from description (new format from formatDescription)
|
|
32
35
|
if (!parameters) {
|
|
33
|
-
const cmdMatch = text.match(
|
|
36
|
+
const cmdMatch = text.match(/^\**\s*Command:\**\s*(.+?)\**\s*$/m);
|
|
34
37
|
if (cmdMatch)
|
|
35
38
|
parameters = JSON.stringify({ command: cmdMatch[1].trim() });
|
|
36
39
|
}
|
|
37
40
|
if (!parameters) {
|
|
38
|
-
const fileMatch = text.match(
|
|
41
|
+
const fileMatch = text.match(/^\**\s*File:\**\s*(.+?)\**\s*$/m);
|
|
39
42
|
if (fileMatch)
|
|
40
43
|
parameters = JSON.stringify({ file_path: fileMatch[1].trim() });
|
|
41
44
|
}
|
|
42
45
|
if (!parameters) {
|
|
43
|
-
const urlMatch = text.match(
|
|
46
|
+
const urlMatch = text.match(/^\**\s*URL:\**\s*(.+?)\**\s*$/m);
|
|
44
47
|
if (urlMatch)
|
|
45
48
|
parameters = JSON.stringify({ url: urlMatch[1].trim() });
|
|
46
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-parser.js","sourceRoot":"","sources":["../../src/slack/approval-parser.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"approval-parser.js","sourceRoot":"","sources":["../../src/slack/approval-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ export async function resolveApprovalOneShot(port, authToken, params) {
|
|
|
45
45
|
const role = "operator";
|
|
46
46
|
const scopes = ["operator.admin", "operator.read", "operator.write", "operator.approvals"];
|
|
47
47
|
const connectParams = {
|
|
48
|
-
minProtocol: 3, maxProtocol:
|
|
48
|
+
minProtocol: 3, maxProtocol: 4,
|
|
49
49
|
client: { id: clientId, displayName: "OASIS", version: "2026.3.28", platform: process.platform, mode: clientMode },
|
|
50
50
|
role, scopes,
|
|
51
51
|
auth: authToken ? { token: authToken } : undefined,
|