@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 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
- session.deleted
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
- ### OpenCode Plugin Configuration
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**: When a CLI/tool creates an OpenCode session and wants a callback, it sends a POST request to the plugin's `/register` endpoint with the session ID and callback configuration.
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. **Callback Trigger**: When a registered session's status changes to `completed` or `failed`, the plugin automatically sends a webhook to the configured OpenClaw endpoint.
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. **Cleanup**: After sending the callback (or when a session is deleted), the plugin removes the registration from memory.
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
- ### `message.part.updated`
122
-
123
- Triggered when a message part is created or updated. The plugin accumulates text content and tool outputs from these events to build the complete session result.
124
-
125
- ### `message.part.delta`
126
-
127
- Triggered during streaming text generation. The plugin appends streaming deltas to the accumulated content.
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
- ### Payload Format
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 `openclaw-opencode-cli`:
154
+ This plugin is designed to work with `@laceletho/openclaw-opencode-cli`.
176
155
 
177
- ```bash
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
- # 2. From another terminal, dispatch a task with CLI
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
- openclaw-opencode task "Write a Python function"
160
+ The plugin outputs structured logs to stdout for Railway Dashboard visibility:
187
161
 
188
- # 3. Plugin automatically sends callback when session completes
189
- ```
162
+ ### Log Levels
190
163
 
191
- ## OpenClaw Configuration
164
+ Set `LOG_LEVEL` environment variable:
192
165
 
193
- To receive webhook callbacks, OpenClaw must have its **hooks system enabled**. Add this to your OpenClaw configuration:
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
 
@@ -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;AAwGD,wBAA8B,cAAc,CAAC,EAAE,EAAE,WAAW;kBAoEpC;QAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE;oCAOX,GAAG;kCAyCL,GAAG;+BAcN,GAAG;6BAiBL,GAAG;+BAWD,GAAG;;GAcvC"}
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
- console.error(`[openclaw] Callback failed for session ${sessionId}: ${res.status} ${res.statusText}`);
102
+ logger.error("Callback failed", {
103
+ sessionId,
104
+ status: res.status,
105
+ statusText: res.statusText,
106
+ duration,
107
+ });
65
108
  }
66
109
  else {
67
- console.log(`[openclaw] Callback sent for session: ${sessionId}`);
110
+ logger.info("Callback sent successfully", {
111
+ sessionId,
112
+ status: res.status,
113
+ duration,
114
+ });
68
115
  }
69
116
  }
70
117
  catch (err) {
71
- console.error(`[openclaw] Failed to send callback for session ${sessionId}:`, err);
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
- console.log(`[openclaw] Session ${sessionId} ${state.hasError ? "failed" : "completed"}, sending callback...`);
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
- console.log(`[openclaw] Registered callback for session: ${sessionId} -> ${callbackConfig.url}`);
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
- console.error("[openclaw] Failed to register callback:", err);
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
- console.log(`[openclaw] Plugin HTTP server listening on port ${pluginConfig.port}`);
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", reject);
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
- console.log("[openclaw] Configuration updated");
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
- console.log(`[openclaw] Session ${sessionId} deleted, removing callback registration`);
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
- console.log("[openclaw] Plugin disposed");
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": "0.2.0",
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
+ }