@laceletho/plugin-openclaw 0.2.0 → 1.1.1
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 +47 -62
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +138 -11
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -11,6 +11,8 @@ OpenCode plugin for session callback support with OpenClaw. Subscribes to OpenCo
|
|
|
11
11
|
|
|
12
12
|
## Architecture
|
|
13
13
|
|
|
14
|
+
This plugin runs inside **OpenCode** and provides an HTTP server for callback registration:
|
|
15
|
+
|
|
14
16
|
```
|
|
15
17
|
┌─────────────────┐ POST /register ┌─────────────────────┐
|
|
16
18
|
│ CLI/Tool │ ──────────────────────> │ OpenclawPlugin │
|
|
@@ -24,7 +26,7 @@ OpenCode plugin for session callback support with OpenClaw. Subscribes to OpenCo
|
|
|
24
26
|
┌─────────────────────┐
|
|
25
27
|
│ Subscribe to │
|
|
26
28
|
│ session.updated │
|
|
27
|
-
│
|
|
29
|
+
│ message.part.* │
|
|
28
30
|
└──────────┬──────────┘
|
|
29
31
|
│
|
|
30
32
|
│ session completes
|
|
@@ -43,17 +45,13 @@ npm install @laceletho/plugin-openclaw
|
|
|
43
45
|
|
|
44
46
|
## Configuration
|
|
45
47
|
|
|
46
|
-
###
|
|
48
|
+
### Enable Plugin
|
|
47
49
|
|
|
48
50
|
Add to your `opencode.json`:
|
|
49
51
|
|
|
50
52
|
```json
|
|
51
53
|
{
|
|
52
54
|
"plugins": ["@laceletho/plugin-openclaw"],
|
|
53
|
-
"openclaw": {
|
|
54
|
-
"port": 9090,
|
|
55
|
-
"openclawApiKey": "your-openclaw-hooks-token"
|
|
56
|
-
}
|
|
57
55
|
}
|
|
58
56
|
```
|
|
59
57
|
|
|
@@ -63,16 +61,19 @@ Add to your `opencode.json`:
|
|
|
63
61
|
|----------|-------------|---------|
|
|
64
62
|
| `OPENCLAW_PORT` | Plugin HTTP server port | `9090` |
|
|
65
63
|
| `OPENCLAW_API_KEY` | Default OpenClaw hooks token | - |
|
|
64
|
+
| `LOG_LEVEL` | Log verbosity: `debug`, `info`, `warn`, `error` | `info` |
|
|
66
65
|
|
|
67
66
|
## How It Works
|
|
68
67
|
|
|
69
|
-
1. **Registration**:
|
|
68
|
+
1. **Registration**: A CLI/tool creates an OpenCode session and sends a POST request to the plugin's `/register` endpoint with the session ID and callback configuration.
|
|
70
69
|
|
|
71
|
-
2. **Event Subscription**: The plugin subscribes to OpenCode's `session.updated` and `session.deleted` events.
|
|
70
|
+
2. **Event Subscription**: The plugin subscribes to OpenCode's `session.updated`, `message.part.*`, and `session.deleted` events.
|
|
72
71
|
|
|
73
|
-
3. **
|
|
72
|
+
3. **Content Accumulation**: The plugin accumulates text content and tool outputs from `message.part.updated` and `message.part.delta` events.
|
|
74
73
|
|
|
75
|
-
4. **
|
|
74
|
+
4. **Callback Trigger**: When a registered session's status changes to `completed` or `failed`, the plugin sends a webhook to the configured OpenClaw endpoint with the accumulated content.
|
|
75
|
+
|
|
76
|
+
5. **Cleanup**: After sending the callback (or when a session is deleted), the plugin removes the registration from memory.
|
|
76
77
|
|
|
77
78
|
## API Endpoints
|
|
78
79
|
|
|
@@ -118,41 +119,19 @@ Health check endpoint.
|
|
|
118
119
|
|
|
119
120
|
The plugin subscribes to the following OpenCode events:
|
|
120
121
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
### `session.updated`
|
|
130
|
-
|
|
131
|
-
Triggered when session metadata is updated. The plugin monitors the session status and sends the callback when the status becomes `completed` or `failed`.
|
|
132
|
-
|
|
133
|
-
### `session.error`
|
|
134
|
-
|
|
135
|
-
Triggered when a session encounters an error. The plugin marks the session as failed and includes error information in the callback.
|
|
136
|
-
|
|
137
|
-
### `session.deleted`
|
|
138
|
-
|
|
139
|
-
Triggered when a session is deleted. The plugin removes the session from the callback registry.
|
|
140
|
-
|
|
141
|
-
### Important: Event Data Limitations
|
|
142
|
-
|
|
143
|
-
**`session.updated` events do NOT contain message content**. They only include session metadata (id, status, timestamps, etc.). The actual content is delivered through separate `message.part.*` events.
|
|
144
|
-
|
|
145
|
-
The plugin automatically handles this by:
|
|
146
|
-
1. Listening to `message.part.updated` and `message.part.delta` events
|
|
147
|
-
2. Accumulating text and tool outputs in memory
|
|
148
|
-
3. Including the accumulated content when sending the callback on `session.updated`
|
|
122
|
+
| Event | Purpose |
|
|
123
|
+
|-------|---------|
|
|
124
|
+
| `message.part.updated` | Accumulate text content and tool outputs |
|
|
125
|
+
| `message.part.delta` | Append streaming text deltas |
|
|
126
|
+
| `session.updated` | Monitor session status for completion |
|
|
127
|
+
| `session.error` | Track session errors |
|
|
128
|
+
| `session.deleted` | Clean up registry on session deletion |
|
|
149
129
|
|
|
150
130
|
## Callback to OpenClaw
|
|
151
131
|
|
|
152
132
|
When a registered session completes, the plugin sends a POST request to the configured URL:
|
|
153
133
|
|
|
154
|
-
|
|
155
|
-
|
|
134
|
+
**Payload:**
|
|
156
135
|
```json
|
|
157
136
|
{
|
|
158
137
|
"message": "Task completed: sess_abc123\n\nResult:\nHere's the code...",
|
|
@@ -172,36 +151,42 @@ Content-Type: application/json
|
|
|
172
151
|
|
|
173
152
|
## Usage with CLI
|
|
174
153
|
|
|
175
|
-
This plugin is designed to work with
|
|
154
|
+
This plugin is designed to work with `@laceletho/openclaw-opencode-cli`.
|
|
176
155
|
|
|
177
|
-
|
|
178
|
-
# 1. Start OpenCode with the plugin
|
|
179
|
-
opencode serve
|
|
156
|
+
**See the [CLI documentation](https://github.com/LaceLetho/openclaw-opencode-cli) for usage instructions.**
|
|
180
157
|
|
|
181
|
-
|
|
182
|
-
export OPENCODE_URL=http://localhost:4096
|
|
183
|
-
export OPENCODE_PASSWORD=your-password
|
|
184
|
-
export OPENCLAW_CALLBACK_URL=http://localhost:18789/hooks/agent
|
|
158
|
+
## Logging
|
|
185
159
|
|
|
186
|
-
|
|
160
|
+
The plugin outputs structured logs to stdout for Railway Dashboard visibility:
|
|
187
161
|
|
|
188
|
-
|
|
189
|
-
```
|
|
162
|
+
### Log Levels
|
|
190
163
|
|
|
191
|
-
|
|
164
|
+
Set `LOG_LEVEL` environment variable:
|
|
192
165
|
|
|
193
|
-
|
|
166
|
+
```bash
|
|
167
|
+
# Debug mode - detailed event tracking
|
|
168
|
+
LOG_LEVEL=debug opencode serve
|
|
169
|
+
|
|
170
|
+
# Info mode (default) - key events only
|
|
171
|
+
LOG_LEVEL=info opencode serve
|
|
172
|
+
|
|
173
|
+
# Error mode - errors only
|
|
174
|
+
LOG_LEVEL=error opencode serve
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Log Format
|
|
194
178
|
|
|
195
|
-
```json
|
|
196
|
-
{
|
|
197
|
-
"hooks": {
|
|
198
|
-
"enabled": true,
|
|
199
|
-
"token": "your-openclaw-hooks-token",
|
|
200
|
-
"path": "/hooks",
|
|
201
|
-
"allowedAgentIds": ["main", "hooks"]
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
179
|
```
|
|
180
|
+
2025-03-13T10:30:45.123Z [openclaw-plugin] [INFO] Plugin HTTP server started {"port":9090}
|
|
181
|
+
2025-03-13T10:30:50.456Z [openclaw-plugin] [INFO] Callback registered successfully {"sessionId":"sess_abc123","totalRegistered":1}
|
|
182
|
+
2025-03-13T10:31:15.789Z [openclaw-plugin] [INFO] Session status updated {"sessionId":"sess_abc123","previousStatus":"running","currentStatus":"completed"}
|
|
183
|
+
2025-03-13T10:31:15.890Z [openclaw-plugin] [INFO] Sending callback to OpenClaw {"sessionId":"sess_abc123","callbackUrl":"http://localhost:18789/hooks/agent"}
|
|
184
|
+
2025-03-13T10:31:16.012Z [openclaw-plugin] [INFO] Callback sent successfully {"sessionId":"sess_abc123","status":200,"duration":122}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Railway Dashboard
|
|
188
|
+
|
|
189
|
+
Logs are automatically captured. View them in your project's **Observability** tab.
|
|
205
190
|
|
|
206
191
|
## Testing
|
|
207
192
|
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAoKD,wBAA8B,cAAc,CAAC,EAAE,EAAE,WAAW;kBAgGpC;QAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE;oCAUX,GAAG;kCA+DL,GAAG;+BAoBN,GAAG;6BA2BL,GAAG;+BAgBD,GAAG;;GAkBvC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,34 @@ let pluginConfig = {
|
|
|
5
5
|
openclawWebhookUrl: "",
|
|
6
6
|
openclawApiKey: "",
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* Logger utility for structured logging to stdout
|
|
10
|
+
* Railway Dashboard captures stdout/stderr for log visibility
|
|
11
|
+
*/
|
|
12
|
+
const log = (level, message, meta) => {
|
|
13
|
+
const timestamp = new Date().toISOString();
|
|
14
|
+
const metaStr = meta ? ` ${JSON.stringify(meta)}` : "";
|
|
15
|
+
const logLine = `${timestamp} [openclaw-plugin] [${level}] ${message}${metaStr}`;
|
|
16
|
+
if (level === "ERROR") {
|
|
17
|
+
console.error(logLine);
|
|
18
|
+
}
|
|
19
|
+
else if (level === "WARN") {
|
|
20
|
+
console.warn(logLine);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
console.log(logLine);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const logger = {
|
|
27
|
+
debug: (message, meta) => {
|
|
28
|
+
if (process.env.LOG_LEVEL?.toLowerCase() === "debug") {
|
|
29
|
+
log("DEBUG", message, meta);
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
info: (message, meta) => log("INFO", message, meta),
|
|
33
|
+
warn: (message, meta) => log("WARN", message, meta),
|
|
34
|
+
error: (message, meta) => log("ERROR", message, meta),
|
|
35
|
+
};
|
|
8
36
|
const readBody = (req) => {
|
|
9
37
|
return new Promise((resolve, reject) => {
|
|
10
38
|
const chunks = [];
|
|
@@ -51,6 +79,15 @@ const sendCallback = async (sessionId, state) => {
|
|
|
51
79
|
deliver: state.config.deliver ?? true,
|
|
52
80
|
channel: state.config.channel || "last",
|
|
53
81
|
};
|
|
82
|
+
logger.info("Sending callback to OpenClaw", {
|
|
83
|
+
sessionId,
|
|
84
|
+
callbackUrl: state.config.url,
|
|
85
|
+
agentId: payload.agentId,
|
|
86
|
+
hasError: state.hasError,
|
|
87
|
+
textParts: state.textParts.length,
|
|
88
|
+
toolOutputs: state.toolOutputs.length,
|
|
89
|
+
});
|
|
90
|
+
const startTime = Date.now();
|
|
54
91
|
try {
|
|
55
92
|
const res = await fetch(state.config.url, {
|
|
56
93
|
method: "POST",
|
|
@@ -60,40 +97,70 @@ const sendCallback = async (sessionId, state) => {
|
|
|
60
97
|
},
|
|
61
98
|
body: JSON.stringify(payload),
|
|
62
99
|
});
|
|
100
|
+
const duration = Date.now() - startTime;
|
|
63
101
|
if (!res.ok) {
|
|
64
|
-
|
|
102
|
+
logger.error("Callback failed", {
|
|
103
|
+
sessionId,
|
|
104
|
+
status: res.status,
|
|
105
|
+
statusText: res.statusText,
|
|
106
|
+
duration,
|
|
107
|
+
});
|
|
65
108
|
}
|
|
66
109
|
else {
|
|
67
|
-
|
|
110
|
+
logger.info("Callback sent successfully", {
|
|
111
|
+
sessionId,
|
|
112
|
+
status: res.status,
|
|
113
|
+
duration,
|
|
114
|
+
});
|
|
68
115
|
}
|
|
69
116
|
}
|
|
70
117
|
catch (err) {
|
|
71
|
-
|
|
118
|
+
logger.error("Failed to send callback", {
|
|
119
|
+
sessionId,
|
|
120
|
+
error: err instanceof Error ? err.message : String(err),
|
|
121
|
+
duration: Date.now() - startTime,
|
|
122
|
+
});
|
|
72
123
|
}
|
|
73
124
|
};
|
|
74
125
|
const handleSessionComplete = async (sessionId, state) => {
|
|
75
|
-
|
|
126
|
+
logger.info("Session completed, triggering callback", {
|
|
127
|
+
sessionId,
|
|
128
|
+
status: state.status,
|
|
129
|
+
hasError: state.hasError,
|
|
130
|
+
});
|
|
76
131
|
await sendCallback(sessionId, state);
|
|
77
132
|
sessionRegistry.delete(sessionId);
|
|
133
|
+
logger.info("Session removed from registry", { sessionId, remainingSessions: sessionRegistry.size });
|
|
78
134
|
};
|
|
79
135
|
export default async function OpenclawPlugin({}) {
|
|
136
|
+
logger.info("Initializing OpenClaw plugin", { port: pluginConfig.port });
|
|
80
137
|
const server = createServer(async (req, res) => {
|
|
81
138
|
const url = req.url || "/";
|
|
82
139
|
const method = req.method || "GET";
|
|
140
|
+
const startTime = Date.now();
|
|
83
141
|
res.setHeader("Content-Type", "application/json");
|
|
142
|
+
// Log all HTTP requests
|
|
143
|
+
logger.debug("HTTP request received", { method, url, userAgent: req.headers["user-agent"] });
|
|
84
144
|
if (url === "/health" && method === "GET") {
|
|
85
145
|
res.writeHead(200);
|
|
86
146
|
res.end(JSON.stringify({
|
|
87
147
|
status: "ok",
|
|
88
148
|
registeredSessions: sessionRegistry.size,
|
|
89
149
|
}));
|
|
150
|
+
logger.debug("Health check served", { duration: Date.now() - startTime });
|
|
90
151
|
return;
|
|
91
152
|
}
|
|
92
153
|
if (url === "/register" && method === "POST") {
|
|
93
154
|
try {
|
|
94
155
|
const body = await readBody(req);
|
|
95
156
|
const { sessionId, callbackConfig } = JSON.parse(body);
|
|
157
|
+
logger.info("Callback registration request", {
|
|
158
|
+
sessionId,
|
|
159
|
+
callbackUrl: callbackConfig?.url,
|
|
160
|
+
agentId: callbackConfig?.agentId,
|
|
161
|
+
});
|
|
96
162
|
if (!sessionId || !callbackConfig?.url) {
|
|
163
|
+
logger.warn("Invalid callback registration - missing fields", { sessionId, hasUrl: !!callbackConfig?.url });
|
|
97
164
|
res.writeHead(400);
|
|
98
165
|
res.end(JSON.stringify({ error: "Missing required fields: sessionId, callbackConfig.url" }));
|
|
99
166
|
return;
|
|
@@ -110,32 +177,49 @@ export default async function OpenclawPlugin({}) {
|
|
|
110
177
|
toolOutputs: [],
|
|
111
178
|
hasError: false,
|
|
112
179
|
});
|
|
113
|
-
|
|
180
|
+
logger.info("Callback registered successfully", {
|
|
181
|
+
sessionId,
|
|
182
|
+
callbackUrl: callbackConfig.url,
|
|
183
|
+
agentId: callbackConfig.agentId || "main",
|
|
184
|
+
totalRegistered: sessionRegistry.size,
|
|
185
|
+
});
|
|
114
186
|
res.writeHead(200);
|
|
115
187
|
res.end(JSON.stringify({ ok: true, sessionId }));
|
|
116
188
|
}
|
|
117
189
|
catch (err) {
|
|
118
|
-
|
|
190
|
+
logger.error("Failed to register callback", {
|
|
191
|
+
error: err instanceof Error ? err.message : String(err),
|
|
192
|
+
});
|
|
119
193
|
res.writeHead(500);
|
|
120
194
|
res.end(JSON.stringify({ error: "Internal server error" }));
|
|
121
195
|
}
|
|
122
196
|
return;
|
|
123
197
|
}
|
|
198
|
+
logger.warn("Unknown endpoint accessed", { method, url });
|
|
124
199
|
res.writeHead(404);
|
|
125
200
|
res.end(JSON.stringify({ error: "Not found" }));
|
|
126
201
|
});
|
|
127
202
|
await new Promise((resolve, reject) => {
|
|
128
203
|
server.listen(pluginConfig.port, () => {
|
|
129
|
-
|
|
204
|
+
logger.info("Plugin HTTP server started", {
|
|
205
|
+
port: pluginConfig.port,
|
|
206
|
+
logLevel: process.env.LOG_LEVEL || "info",
|
|
207
|
+
});
|
|
130
208
|
resolve();
|
|
131
209
|
});
|
|
132
|
-
server.on("error",
|
|
210
|
+
server.on("error", (err) => {
|
|
211
|
+
logger.error("Failed to start HTTP server", { error: err.message });
|
|
212
|
+
reject(err);
|
|
213
|
+
});
|
|
133
214
|
});
|
|
134
215
|
return {
|
|
135
216
|
config: async (cfg) => {
|
|
136
217
|
if (cfg.openclaw) {
|
|
137
218
|
Object.assign(pluginConfig, cfg.openclaw);
|
|
138
|
-
|
|
219
|
+
logger.info("Configuration updated", {
|
|
220
|
+
port: pluginConfig.port,
|
|
221
|
+
hasApiKey: !!pluginConfig.openclawApiKey,
|
|
222
|
+
});
|
|
139
223
|
}
|
|
140
224
|
},
|
|
141
225
|
"message.part.updated": async (event) => {
|
|
@@ -145,10 +229,20 @@ export default async function OpenclawPlugin({}) {
|
|
|
145
229
|
const state = sessionRegistry.get(part.sessionID);
|
|
146
230
|
if (!state)
|
|
147
231
|
return;
|
|
232
|
+
logger.debug("Message part updated", {
|
|
233
|
+
sessionId: part.sessionID,
|
|
234
|
+
partType: part.type,
|
|
235
|
+
partId: part.id,
|
|
236
|
+
});
|
|
148
237
|
switch (part.type) {
|
|
149
238
|
case "text": {
|
|
150
239
|
if (part.text) {
|
|
151
240
|
state.textParts.push(part.text);
|
|
241
|
+
logger.debug("Text part accumulated", {
|
|
242
|
+
sessionId: part.sessionID,
|
|
243
|
+
textLength: part.text.length,
|
|
244
|
+
totalParts: state.textParts.length,
|
|
245
|
+
});
|
|
152
246
|
}
|
|
153
247
|
break;
|
|
154
248
|
}
|
|
@@ -160,6 +254,11 @@ export default async function OpenclawPlugin({}) {
|
|
|
160
254
|
tool: part.tool,
|
|
161
255
|
output: part.state.output || "(no output)",
|
|
162
256
|
});
|
|
257
|
+
logger.debug("Tool execution completed", {
|
|
258
|
+
sessionId: part.sessionID,
|
|
259
|
+
tool: part.tool,
|
|
260
|
+
totalTools: state.toolOutputs.length,
|
|
261
|
+
});
|
|
163
262
|
break;
|
|
164
263
|
case "error":
|
|
165
264
|
state.hasError = true;
|
|
@@ -168,12 +267,18 @@ export default async function OpenclawPlugin({}) {
|
|
|
168
267
|
output: "",
|
|
169
268
|
error: part.state.error || "Unknown error",
|
|
170
269
|
});
|
|
270
|
+
logger.warn("Tool execution failed", {
|
|
271
|
+
sessionId: part.sessionID,
|
|
272
|
+
tool: part.tool,
|
|
273
|
+
error: part.state.error,
|
|
274
|
+
});
|
|
171
275
|
break;
|
|
172
276
|
}
|
|
173
277
|
}
|
|
174
278
|
break;
|
|
175
279
|
}
|
|
176
280
|
case "reasoning": {
|
|
281
|
+
logger.debug("Reasoning part received", { sessionId: part.sessionID });
|
|
177
282
|
break;
|
|
178
283
|
}
|
|
179
284
|
}
|
|
@@ -191,6 +296,11 @@ export default async function OpenclawPlugin({}) {
|
|
|
191
296
|
else {
|
|
192
297
|
state.textParts.push(delta);
|
|
193
298
|
}
|
|
299
|
+
logger.debug("Text delta received", {
|
|
300
|
+
sessionId: sessionID,
|
|
301
|
+
deltaLength: delta.length,
|
|
302
|
+
totalLength: state.textParts.join("").length,
|
|
303
|
+
});
|
|
194
304
|
},
|
|
195
305
|
"session.updated": async (event) => {
|
|
196
306
|
const info = event.info;
|
|
@@ -199,10 +309,19 @@ export default async function OpenclawPlugin({}) {
|
|
|
199
309
|
const state = sessionRegistry.get(info.id);
|
|
200
310
|
if (!state)
|
|
201
311
|
return;
|
|
312
|
+
const previousStatus = state.status;
|
|
202
313
|
state.status = info.status;
|
|
314
|
+
logger.info("Session status updated", {
|
|
315
|
+
sessionId: info.id,
|
|
316
|
+
previousStatus,
|
|
317
|
+
currentStatus: info.status,
|
|
318
|
+
hasText: state.textParts.length > 0,
|
|
319
|
+
hasTools: state.toolOutputs.length > 0,
|
|
320
|
+
});
|
|
203
321
|
if (info.status === "completed" || info.status === "failed") {
|
|
204
322
|
if (info.status === "failed") {
|
|
205
323
|
state.hasError = true;
|
|
324
|
+
logger.warn("Session failed, triggering error callback", { sessionId: info.id });
|
|
206
325
|
}
|
|
207
326
|
await handleSessionComplete(info.id, state);
|
|
208
327
|
}
|
|
@@ -216,18 +335,26 @@ export default async function OpenclawPlugin({}) {
|
|
|
216
335
|
return;
|
|
217
336
|
state.hasError = true;
|
|
218
337
|
state.errorMessage = error?.message || String(error);
|
|
338
|
+
logger.error("Session error received", {
|
|
339
|
+
sessionId: sessionID,
|
|
340
|
+
error: state.errorMessage,
|
|
341
|
+
});
|
|
219
342
|
},
|
|
220
343
|
"session.deleted": async (event) => {
|
|
221
344
|
const sessionId = event.info?.id || event.sessionId;
|
|
222
345
|
if (sessionId && sessionRegistry.has(sessionId)) {
|
|
223
|
-
|
|
346
|
+
logger.info("Session deleted, removing callback registration", {
|
|
347
|
+
sessionId,
|
|
348
|
+
wasTracked: true,
|
|
349
|
+
});
|
|
224
350
|
sessionRegistry.delete(sessionId);
|
|
225
351
|
}
|
|
226
352
|
},
|
|
227
353
|
dispose: async () => {
|
|
354
|
+
logger.info("Plugin disposing", { registeredSessions: sessionRegistry.size });
|
|
228
355
|
server.close();
|
|
229
356
|
sessionRegistry.clear();
|
|
230
|
-
|
|
357
|
+
logger.info("Plugin disposed");
|
|
231
358
|
},
|
|
232
359
|
};
|
|
233
360
|
}
|
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@laceletho/plugin-openclaw",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "OpenCode plugin for async task execution with OpenClaw callback",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,4 +29,4 @@
|
|
|
29
29
|
"typescript": "^5.3.0",
|
|
30
30
|
"@types/node": "^20.0.0"
|
|
31
31
|
}
|
|
32
|
-
}
|
|
32
|
+
}
|