@laceletho/plugin-openclaw 1.1.0 → 1.1.2

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
@@ -61,6 +61,7 @@ Add to your `opencode.json`:
61
61
  |----------|-------------|---------|
62
62
  | `OPENCLAW_PORT` | Plugin HTTP server port | `9090` |
63
63
  | `OPENCLAW_API_KEY` | Default OpenClaw hooks token | - |
64
+ | `LOG_LEVEL` | Log verbosity: `debug`, `info`, `warn`, `error` | `info` |
64
65
 
65
66
  ## How It Works
66
67
 
@@ -154,6 +155,39 @@ This plugin is designed to work with `@laceletho/openclaw-opencode-cli`.
154
155
 
155
156
  **See the [CLI documentation](https://github.com/LaceLetho/openclaw-opencode-cli) for usage instructions.**
156
157
 
158
+ ## Logging
159
+
160
+ The plugin outputs structured logs to stdout for Railway Dashboard visibility:
161
+
162
+ ### Log Levels
163
+
164
+ Set `LOG_LEVEL` environment variable:
165
+
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
178
+
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.
190
+
157
191
  ## Testing
158
192
 
159
193
  Test the plugin health:
package/dist/index.d.ts CHANGED
@@ -8,11 +8,9 @@ export default function OpenclawPlugin({}: PluginInput): Promise<{
8
8
  config: (cfg: {
9
9
  openclaw?: OpenclawConfig;
10
10
  }) => Promise<void>;
11
- "message.part.updated": (event: any) => Promise<void>;
12
- "message.part.delta": (event: any) => Promise<void>;
13
- "session.updated": (event: any) => Promise<void>;
14
- "session.error": (event: any) => Promise<void>;
15
- "session.deleted": (event: any) => Promise<void>;
11
+ event: ({ event }: {
12
+ event: any;
13
+ }) => Promise<void>;
16
14
  dispose: () => Promise<void>;
17
15
  }>;
18
16
  //# sourceMappingURL=index.d.ts.map
@@ -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;uBAWxB;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE;;GAkK1C"}
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,124 +177,199 @@ 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
- "message.part.updated": async (event) => {
142
- const part = event.part;
143
- if (!part?.sessionID)
225
+ // Use 'event' hook to receive all events, then filter by type
226
+ event: async ({ event }) => {
227
+ const eventType = event?.type;
228
+ if (!eventType)
144
229
  return;
145
- const state = sessionRegistry.get(part.sessionID);
146
- if (!state)
147
- return;
148
- switch (part.type) {
149
- case "text": {
150
- if (part.text) {
151
- state.textParts.push(part.text);
230
+ // Log all session and message events for debugging
231
+ if (eventType.includes("session") || eventType.includes("message")) {
232
+ logger.info(`Received event: ${eventType}`, {
233
+ sessionID: event.sessionID,
234
+ propertiesKeys: event.properties ? Object.keys(event.properties) : null,
235
+ });
236
+ }
237
+ switch (eventType) {
238
+ case "message.part.updated": {
239
+ const part = event.part;
240
+ if (!part?.sessionID)
241
+ return;
242
+ const state = sessionRegistry.get(part.sessionID);
243
+ if (!state)
244
+ return;
245
+ logger.debug("Message part updated", {
246
+ sessionId: part.sessionID,
247
+ partType: part.type,
248
+ partId: part.id,
249
+ });
250
+ switch (part.type) {
251
+ case "text": {
252
+ if (part.text) {
253
+ state.textParts.push(part.text);
254
+ logger.debug("Text part accumulated", {
255
+ sessionId: part.sessionID,
256
+ textLength: part.text.length,
257
+ totalParts: state.textParts.length,
258
+ });
259
+ }
260
+ break;
261
+ }
262
+ case "tool": {
263
+ if (part.state) {
264
+ switch (part.state.status) {
265
+ case "completed":
266
+ state.toolOutputs.push({
267
+ tool: part.tool,
268
+ output: part.state.output || "(no output)",
269
+ });
270
+ logger.debug("Tool execution completed", {
271
+ sessionId: part.sessionID,
272
+ tool: part.tool,
273
+ totalTools: state.toolOutputs.length,
274
+ });
275
+ break;
276
+ case "error":
277
+ state.hasError = true;
278
+ state.toolOutputs.push({
279
+ tool: part.tool,
280
+ output: "",
281
+ error: part.state.error || "Unknown error",
282
+ });
283
+ logger.warn("Tool execution failed", {
284
+ sessionId: part.sessionID,
285
+ tool: part.tool,
286
+ error: part.state.error,
287
+ });
288
+ break;
289
+ }
290
+ }
291
+ break;
292
+ }
293
+ case "reasoning": {
294
+ logger.debug("Reasoning part received", { sessionId: part.sessionID });
295
+ break;
296
+ }
152
297
  }
153
298
  break;
154
299
  }
155
- case "tool": {
156
- if (part.state) {
157
- switch (part.state.status) {
158
- case "completed":
159
- state.toolOutputs.push({
160
- tool: part.tool,
161
- output: part.state.output || "(no output)",
162
- });
163
- break;
164
- case "error":
165
- state.hasError = true;
166
- state.toolOutputs.push({
167
- tool: part.tool,
168
- output: "",
169
- error: part.state.error || "Unknown error",
170
- });
171
- break;
172
- }
300
+ case "message.part.delta": {
301
+ const { sessionID, field, delta } = event;
302
+ if (!sessionID || field !== "text" || !delta)
303
+ return;
304
+ const state = sessionRegistry.get(sessionID);
305
+ if (!state)
306
+ return;
307
+ if (state.textParts.length > 0) {
308
+ state.textParts[state.textParts.length - 1] += delta;
309
+ }
310
+ else {
311
+ state.textParts.push(delta);
173
312
  }
313
+ logger.debug("Text delta received", {
314
+ sessionId: sessionID,
315
+ deltaLength: delta.length,
316
+ totalLength: state.textParts.join("").length,
317
+ });
174
318
  break;
175
319
  }
176
- case "reasoning": {
320
+ case "session.idle": {
321
+ logger.info("Received session.idle event", { event: JSON.stringify(event) });
322
+ const sessionID = event.sessionID || event.properties?.sessionID;
323
+ if (!sessionID) {
324
+ logger.warn("No sessionID in session.idle event", { event });
325
+ return;
326
+ }
327
+ const state = sessionRegistry.get(sessionID);
328
+ if (!state) {
329
+ logger.warn("No registered state for session", { sessionID, registeredSessions: Array.from(sessionRegistry.keys()) });
330
+ return;
331
+ }
332
+ logger.info("Session idle, triggering callback", {
333
+ sessionId: sessionID,
334
+ hasText: state.textParts.length > 0,
335
+ hasTools: state.toolOutputs.length > 0,
336
+ });
337
+ await handleSessionComplete(sessionID, state);
177
338
  break;
178
339
  }
179
- }
180
- },
181
- "message.part.delta": async (event) => {
182
- const { sessionID, field, delta } = event;
183
- if (!sessionID || field !== "text" || !delta)
184
- return;
185
- const state = sessionRegistry.get(sessionID);
186
- if (!state)
187
- return;
188
- if (state.textParts.length > 0) {
189
- state.textParts[state.textParts.length - 1] += delta;
190
- }
191
- else {
192
- state.textParts.push(delta);
193
- }
194
- },
195
- "session.updated": async (event) => {
196
- const info = event.info;
197
- if (!info?.id)
198
- return;
199
- const state = sessionRegistry.get(info.id);
200
- if (!state)
201
- return;
202
- state.status = info.status;
203
- if (info.status === "completed" || info.status === "failed") {
204
- if (info.status === "failed") {
340
+ case "session.error": {
341
+ const { sessionID, error } = event;
342
+ if (!sessionID)
343
+ return;
344
+ const state = sessionRegistry.get(sessionID);
345
+ if (!state)
346
+ return;
205
347
  state.hasError = true;
348
+ state.errorMessage = error?.message || String(error);
349
+ logger.error("Session error received", {
350
+ sessionId: sessionID,
351
+ error: state.errorMessage,
352
+ });
353
+ break;
354
+ }
355
+ case "session.deleted": {
356
+ const sessionId = event.info?.id || event.sessionId;
357
+ if (sessionId && sessionRegistry.has(sessionId)) {
358
+ logger.info("Session deleted, removing callback registration", {
359
+ sessionId,
360
+ wasTracked: true,
361
+ });
362
+ sessionRegistry.delete(sessionId);
363
+ }
364
+ break;
206
365
  }
207
- await handleSessionComplete(info.id, state);
208
- }
209
- },
210
- "session.error": async (event) => {
211
- const { sessionID, error } = event;
212
- if (!sessionID)
213
- return;
214
- const state = sessionRegistry.get(sessionID);
215
- if (!state)
216
- return;
217
- state.hasError = true;
218
- state.errorMessage = error?.message || String(error);
219
- },
220
- "session.deleted": async (event) => {
221
- const sessionId = event.info?.id || event.sessionId;
222
- if (sessionId && sessionRegistry.has(sessionId)) {
223
- console.log(`[openclaw] Session ${sessionId} deleted, removing callback registration`);
224
- sessionRegistry.delete(sessionId);
225
366
  }
226
367
  },
227
368
  dispose: async () => {
369
+ logger.info("Plugin disposing", { registeredSessions: sessionRegistry.size });
228
370
  server.close();
229
371
  sessionRegistry.clear();
230
- console.log("[openclaw] Plugin disposed");
372
+ logger.info("Plugin disposed");
231
373
  },
232
374
  };
233
375
  }
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": "1.1.0",
3
+ "version": "1.1.2",
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
+ }