@clawhouse/clawhouse-openclaw 0.1.4 → 0.1.5-alpha.4

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/dist/client.d.ts CHANGED
@@ -1,12 +1,11 @@
1
- import type { ChannelProbeResult, MessagesResponse, WsTicketResponse } from './types';
2
- /**
3
- * HTTP client for the ClawHouse bot API.
4
- * All endpoints use tRPC via HTTP POST/GET.
5
- */
1
+ import type { ChannelProbeResult, MessagesResponse, WsTicketResponse, Task, TasksListResponse, ProjectsListResponse, CreateTaskResponse, CreateProjectResponse } from './types';
6
2
  export declare class ClawHouseClient {
7
3
  private botToken;
8
4
  private apiUrl;
9
- constructor(botToken: string, apiUrl: string);
5
+ private requestTimeoutMs;
6
+ constructor(botToken: string, apiUrl: string, options?: {
7
+ requestTimeoutMs?: number;
8
+ });
10
9
  private request;
11
10
  sendMessage(input: {
12
11
  userId?: string;
@@ -18,7 +17,7 @@ export declare class ClawHouseClient {
18
17
  contentType: string;
19
18
  size: number;
20
19
  }>;
21
- }): Promise<unknown>;
20
+ }): Promise<void>;
22
21
  listMessages(input: {
23
22
  userId?: string;
24
23
  cursor?: string | null;
@@ -28,36 +27,36 @@ export declare class ClawHouseClient {
28
27
  comment(input: {
29
28
  taskId: string;
30
29
  content: string;
31
- }): Promise<unknown>;
30
+ }): Promise<void>;
32
31
  createTask(input: {
33
32
  projectId: string;
34
33
  title: string;
35
34
  instructions?: string;
36
- }): Promise<unknown>;
35
+ }): Promise<CreateTaskResponse>;
37
36
  listTasks(input: {
38
37
  projectId: string;
39
38
  status?: string;
40
- }): Promise<unknown[]>;
39
+ }): Promise<TasksListResponse>;
41
40
  done(input: {
42
41
  taskId: string;
43
42
  reason: string;
44
43
  deliverable?: string;
45
- }): Promise<unknown>;
44
+ }): Promise<void>;
46
45
  giveup(input: {
47
46
  taskId: string;
48
47
  reason: string;
49
48
  deliverable?: string;
50
- }): Promise<unknown>;
49
+ }): Promise<void>;
51
50
  getNextTask(input?: {
52
51
  projectId?: string;
53
- }): Promise<unknown>;
54
- listProjects(): Promise<unknown[]>;
52
+ }): Promise<Task | null>;
53
+ listProjects(): Promise<ProjectsListResponse>;
55
54
  createProject(input: {
56
55
  name: string;
57
56
  key: string;
58
57
  description?: string;
59
58
  color?: string;
60
- }): Promise<unknown>;
59
+ }): Promise<CreateProjectResponse>;
61
60
  probe(timeoutMs: number): Promise<ChannelProbeResult>;
62
61
  }
63
62
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;YAK9B,OAAO;IA+Bf,WAAW,CAAC,KAAK,EAAE;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,KAAK,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;KACJ,GAAG,OAAO,CAAC,OAAO,CAAC;IAId,YAAY,CAAC,KAAK,EAAE;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKvB,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAKxC,OAAO,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrE,UAAU,CAAC,KAAK,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,OAAO,CAAC;IAId,SAAS,CAAC,KAAK,EAAE;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIhB,IAAI,CAAC,KAAK,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,OAAO,CAAC;IAId,MAAM,CAAC,KAAK,EAAE;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,OAAO,CAAC;IAId,WAAW,CAAC,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7D,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIlC,aAAa,CAAC,KAAK,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKd,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2B5D"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,IAAI,EAEJ,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AASjB,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAS;gBAG/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE;YAO3B,OAAO;IAqEf,WAAW,CAAC,KAAK,EAAE;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,KAAK,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;KACJ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIX,YAAY,CAAC,KAAK,EAAE;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKvB,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAKxC,OAAO,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,UAAU,CAAC,KAAK,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIzB,SAAS,CAAC,KAAK,EAAE;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIxB,IAAI,CAAC,KAAK,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIX,MAAM,CAAC,KAAK,EAAE;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIX,WAAW,CAAC,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIjE,YAAY,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAI7C,aAAa,CAAC,KAAK,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAK5B,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2B5D"}
package/dist/client.js CHANGED
@@ -2,31 +2,65 @@
2
2
  * HTTP client for the ClawHouse bot API.
3
3
  * All endpoints use tRPC via HTTP POST/GET.
4
4
  */
5
+ /** Default timeout for API requests (30 seconds). */
6
+ const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
5
7
  export class ClawHouseClient {
6
8
  botToken;
7
9
  apiUrl;
8
- constructor(botToken, apiUrl) {
10
+ requestTimeoutMs;
11
+ constructor(botToken, apiUrl, options) {
9
12
  this.botToken = botToken;
10
13
  this.apiUrl = apiUrl.replace(/\/$/, '');
14
+ this.requestTimeoutMs = options?.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
11
15
  }
12
16
  async request(method, procedure, input) {
13
17
  const url = method === 'GET' && input
14
18
  ? `${this.apiUrl}/${procedure}?input=${encodeURIComponent(JSON.stringify(input))}`
15
19
  : `${this.apiUrl}/${procedure}`;
16
- const response = await fetch(url, {
17
- method,
18
- headers: {
19
- Authorization: `Bot ${this.botToken}`,
20
- 'Content-Type': 'application/json',
21
- },
22
- body: method === 'POST' ? JSON.stringify(input) : undefined,
23
- });
24
- if (!response.ok) {
25
- const text = await response.text().catch(() => 'unknown error');
26
- throw new Error(`ClawHouse API error: ${response.status} ${response.statusText} — ${text}`);
20
+ const controller = new AbortController();
21
+ const timer = setTimeout(() => controller.abort(), this.requestTimeoutMs);
22
+ try {
23
+ const response = await fetch(url, {
24
+ method,
25
+ headers: {
26
+ Authorization: `Bot ${this.botToken}`,
27
+ 'Content-Type': 'application/json',
28
+ },
29
+ body: method === 'POST' ? JSON.stringify(input) : undefined,
30
+ signal: controller.signal,
31
+ });
32
+ if (!response.ok) {
33
+ const text = await response.text().catch((err) => {
34
+ const errMsg = err instanceof Error ? err.message : String(err);
35
+ return `(failed to read response body: ${errMsg})`;
36
+ });
37
+ // Categorize errors for better debugging
38
+ if (response.status === 401 || response.status === 403) {
39
+ throw new Error(`ClawHouse API authentication failed: ${response.status} ${response.statusText} — ${text}`);
40
+ }
41
+ else if (response.status >= 500) {
42
+ throw new Error(`ClawHouse API server error: ${response.status} ${response.statusText} — ${text}`);
43
+ }
44
+ else {
45
+ throw new Error(`ClawHouse API error: ${response.status} ${response.statusText} — ${text}`);
46
+ }
47
+ }
48
+ const json = (await response.json());
49
+ // Validate tRPC response structure
50
+ if (!json.result || json.result.data === undefined) {
51
+ throw new Error(`ClawHouse API returned invalid tRPC response structure for ${procedure}`);
52
+ }
53
+ return json.result.data;
54
+ }
55
+ catch (err) {
56
+ if (err instanceof Error && err.name === 'AbortError') {
57
+ throw new Error(`ClawHouse API request to ${procedure} timed out after ${this.requestTimeoutMs}ms`);
58
+ }
59
+ throw err;
60
+ }
61
+ finally {
62
+ clearTimeout(timer);
27
63
  }
28
- const json = (await response.json());
29
- return json.result?.data;
30
64
  }
31
65
  // Messages
32
66
  async sendMessage(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deliver.d.ts","sourceRoot":"","sources":["../src/deliver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EACV,qBAAqB,EACrB,WAAW,EAIZ,MAAM,SAAS,CAAC;AAmCjB;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,qBAAqB,EAC1B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAwFf"}
1
+ {"version":3,"file":"deliver.d.ts","sourceRoot":"","sources":["../src/deliver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EACV,qBAAqB,EACrB,WAAW,EAIZ,MAAM,SAAS,CAAC;AAsLjB;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,qBAAqB,EAC1B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CA+Ff"}
package/dist/deliver.js CHANGED
@@ -5,24 +5,153 @@ import { mkdir } from 'node:fs/promises';
5
5
  import { dirname, extname } from 'node:path';
6
6
  import { Readable } from 'node:stream';
7
7
  import { pipeline } from 'node:stream/promises';
8
+ // Maximum file size for attachments (10MB)
9
+ const MAX_ATTACHMENT_SIZE = 10 * 1024 * 1024;
10
+ // Download timeout (30 seconds)
11
+ const DOWNLOAD_TIMEOUT_MS = 30 * 1000;
12
+ // Allowed content types for security
13
+ const ALLOWED_CONTENT_TYPES = [
14
+ 'image/',
15
+ 'video/',
16
+ 'audio/',
17
+ 'application/pdf',
18
+ 'text/',
19
+ 'application/json',
20
+ 'application/xml',
21
+ 'application/zip',
22
+ 'application/x-zip-compressed',
23
+ 'application/gzip',
24
+ 'application/msword',
25
+ 'application/vnd.openxmlformats-officedocument',
26
+ 'application/vnd.ms-excel',
27
+ 'application/vnd.ms-powerpoint',
28
+ ];
29
+ /**
30
+ * Validates if a content type is safe to download.
31
+ */
32
+ function isContentTypeAllowed(contentType) {
33
+ const normalized = contentType.toLowerCase().trim();
34
+ return ALLOWED_CONTENT_TYPES.some(allowed => normalized.startsWith(allowed));
35
+ }
36
+ /**
37
+ * Sanitizes a filename to prevent directory traversal and other security issues.
38
+ */
39
+ function sanitizeFileName(fileName) {
40
+ return fileName
41
+ .replace(/[^a-zA-Z0-9._-]/g, '_') // Replace unsafe chars with underscore
42
+ .replace(/\.+/g, '.') // Replace multiple dots with single dot
43
+ .replace(/^\./, '_') // Replace leading dot
44
+ .substring(0, 100); // Limit length
45
+ }
46
+ /**
47
+ * Validates a URL to ensure it's a proper HTTPS URL.
48
+ */
49
+ function validateDownloadUrl(url) {
50
+ try {
51
+ const parsed = new URL(url);
52
+ if (parsed.protocol !== 'https:') {
53
+ throw new Error('Only HTTPS URLs are allowed');
54
+ }
55
+ if (parsed.hostname === 'localhost' || parsed.hostname === '127.0.0.1') {
56
+ throw new Error('Local URLs are not allowed');
57
+ }
58
+ }
59
+ catch (error) {
60
+ throw new Error(`Invalid URL: ${error instanceof Error ? error.message : String(error)}`);
61
+ }
62
+ }
8
63
  /**
9
64
  * Downloads a file from a signed S3 URL and saves it to the plugin store.
65
+ * Includes security validations and error handling.
10
66
  */
11
67
  async function fetchAndSaveMedia(runtime, attachment) {
68
+ // Validate input
69
+ if (!attachment.url) {
70
+ throw new Error('Attachment URL is required');
71
+ }
72
+ if (!attachment.name) {
73
+ throw new Error('Attachment name is required');
74
+ }
75
+ if (!attachment.contentType) {
76
+ throw new Error('Attachment content type is required');
77
+ }
78
+ // Security validations
79
+ validateDownloadUrl(attachment.url);
80
+ if (!isContentTypeAllowed(attachment.contentType)) {
81
+ throw new Error(`Content type not allowed: ${attachment.contentType}`);
82
+ }
83
+ if (attachment.size > MAX_ATTACHMENT_SIZE) {
84
+ throw new Error(`File too large: ${attachment.size} bytes (max: ${MAX_ATTACHMENT_SIZE})`);
85
+ }
86
+ // Generate safe file path
12
87
  const ext = extname(attachment.name) || '.bin';
13
- const fileName = `${randomUUID()}${ext}`;
88
+ const sanitizedName = sanitizeFileName(attachment.name);
89
+ const fileName = `${randomUUID()}_${sanitizedName}${ext}`;
14
90
  const filePath = runtime.state.resolveStorePath(`media/inbound/${fileName}`);
15
91
  // Ensure directory exists
16
92
  await mkdir(dirname(filePath), { recursive: true });
17
- const response = await fetch(attachment.url);
18
- if (!response.ok || !response.body) {
19
- throw new Error(`Failed to download attachment: ${response.status}`);
93
+ // Download with timeout and validations
94
+ const controller = new AbortController();
95
+ const timeoutId = setTimeout(() => controller.abort(), DOWNLOAD_TIMEOUT_MS);
96
+ try {
97
+ const response = await fetch(attachment.url, {
98
+ signal: controller.signal,
99
+ headers: {
100
+ 'User-Agent': 'ClawHouse-OpenClaw/1.0',
101
+ },
102
+ });
103
+ if (!response.ok) {
104
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
105
+ }
106
+ if (!response.body) {
107
+ throw new Error('Empty response body');
108
+ }
109
+ // Validate content type from response
110
+ const responseContentType = response.headers.get('content-type');
111
+ if (responseContentType && !isContentTypeAllowed(responseContentType)) {
112
+ throw new Error(`Response content type not allowed: ${responseContentType}`);
113
+ }
114
+ // Validate content length if provided
115
+ const contentLength = response.headers.get('content-length');
116
+ if (contentLength) {
117
+ const size = parseInt(contentLength, 10);
118
+ if (size > MAX_ATTACHMENT_SIZE) {
119
+ throw new Error(`Content too large: ${size} bytes (max: ${MAX_ATTACHMENT_SIZE})`);
120
+ }
121
+ }
122
+ // Stream the response body to disk with size tracking
123
+ const nodeStream = Readable.fromWeb(response.body);
124
+ const fileStream = createWriteStream(filePath);
125
+ let bytesWritten = 0;
126
+ nodeStream.on('data', (chunk) => {
127
+ bytesWritten += chunk.length;
128
+ if (bytesWritten > MAX_ATTACHMENT_SIZE) {
129
+ nodeStream.destroy(new Error('File size limit exceeded during download'));
130
+ }
131
+ });
132
+ await pipeline(nodeStream, fileStream);
133
+ return {
134
+ path: filePath,
135
+ contentType: responseContentType || attachment.contentType,
136
+ };
137
+ }
138
+ catch (error) {
139
+ // Clean up partial file if download failed
140
+ try {
141
+ const fs = require('fs');
142
+ await fs.promises.unlink(filePath);
143
+ }
144
+ catch {
145
+ // Ignore cleanup errors
146
+ }
147
+ if (controller.signal.aborted) {
148
+ throw new Error(`Download timeout after ${DOWNLOAD_TIMEOUT_MS}ms`);
149
+ }
150
+ throw new Error(`Failed to download attachment: ${error instanceof Error ? error.message : String(error)}`);
151
+ }
152
+ finally {
153
+ clearTimeout(timeoutId);
20
154
  }
21
- // Stream the response body to disk
22
- const nodeStream = Readable.fromWeb(response.body);
23
- const fileStream = createWriteStream(filePath);
24
- await pipeline(nodeStream, fileStream);
25
- return { path: filePath, contentType: attachment.contentType };
26
155
  }
27
156
  /**
28
157
  * Delivers a ClawHouse chat message to the OpenClaw agent pipeline.
@@ -41,17 +170,22 @@ export async function deliverMessageToAgent(ctx, message, client) {
41
170
  const mediaPaths = [];
42
171
  const mediaTypes = [];
43
172
  const mediaUrls = [];
44
- for (const attachment of message.attachments ?? []) {
45
- if (!attachment.url)
173
+ for (const [index, attachment] of (message.attachments ?? []).entries()) {
174
+ if (!attachment.url) {
175
+ log.warn(`Skipping attachment ${index}: no URL provided`);
46
176
  continue;
177
+ }
47
178
  try {
48
179
  const saved = await fetchAndSaveMedia(runtime, attachment);
49
180
  mediaPaths.push(saved.path);
50
181
  mediaTypes.push(saved.contentType);
51
182
  mediaUrls.push(saved.path);
183
+ log.info(`Downloaded attachment ${index}: ${attachment.name} (${saved.contentType})`);
52
184
  }
53
- catch {
54
- // Non-fatal skip this attachment
185
+ catch (error) {
186
+ const errorMsg = error instanceof Error ? error.message : String(error);
187
+ log.warn(`Failed to download attachment ${index} (${attachment.name}): ${errorMsg}`);
188
+ // Non-fatal — continue processing other attachments and the message
55
189
  }
56
190
  }
57
191
  const msgCtx = runtime.channel.reply.finalizeInboundContext({
@@ -1 +1 @@
1
- {"version":3,"file":"deliver.js","sourceRoot":"","sources":["../src/deliver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deliver.js","sourceRoot":"","sources":["../src/deliver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,qBAAqB,EAGtB,MAAM,SAAS,CAAC;AAgFjB;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,qBAAqB,GACzB,OAAO,CAAC,IAAI,CAAC,CAkDf"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,qBAAqB,EAGtB,MAAM,SAAS,CAAC;AAoGjB;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,qBAAqB,GACzB,OAAO,CAAC,IAAI,CAAC,CAkDf"}
package/dist/gateway.js CHANGED
@@ -1,3 +1,6 @@
1
+ // Fix PL-02: use ESM imports instead of require() for fs and path
2
+ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
3
+ import { dirname } from 'node:path';
1
4
  import { ClawHouseClient } from './client';
2
5
  import { deliverMessageToAgent } from './deliver';
3
6
  import { getClawHouseRuntime } from './runtime';
@@ -7,6 +10,21 @@ const POLL_FALLBACK_INTERVAL_MS = 30 * 1000; // 30s fallback when WS is down
7
10
  const BACKOFF_INITIAL_MS = 2000;
8
11
  const BACKOFF_MAX_MS = 30000;
9
12
  const BACKOFF_FACTOR = 1.8;
13
+ // Fix CP-05: serialize poll operations to prevent duplicate message delivery
14
+ // Simple promise-chain mutex — each poll waits for the previous one to finish.
15
+ let pollChain = Promise.resolve();
16
+ function enqueuePoll(client, ctx, getCursor, setCursor, log) {
17
+ pollChain = pollChain
18
+ .then(async () => {
19
+ const newCursor = await pollAndDeliver(client, ctx, getCursor(), log);
20
+ if (newCursor)
21
+ setCursor(newCursor);
22
+ })
23
+ .catch((err) => {
24
+ const message = err instanceof Error ? err.message : String(err);
25
+ log.error(`Poll error: ${message}`);
26
+ });
27
+ }
10
28
  function nextBackoff(state) {
11
29
  const delay = Math.min(BACKOFF_INITIAL_MS * Math.pow(BACKOFF_FACTOR, state.attempt), BACKOFF_MAX_MS);
12
30
  const jitter = delay * 0.25 * Math.random();
@@ -16,13 +34,18 @@ function nextBackoff(state) {
16
34
  function resetBackoff(state) {
17
35
  state.attempt = 0;
18
36
  }
37
+ // Fix PL-01: clean up abort listener to prevent memory leak
19
38
  function sleepWithAbort(ms, signal) {
20
39
  return new Promise((resolve) => {
21
- const timer = setTimeout(resolve, ms);
22
- signal.addEventListener('abort', () => {
40
+ const onAbort = () => {
23
41
  clearTimeout(timer);
24
42
  resolve();
25
- }, { once: true });
43
+ };
44
+ const timer = setTimeout(() => {
45
+ signal.removeEventListener('abort', onAbort);
46
+ resolve();
47
+ }, ms);
48
+ signal.addEventListener('abort', onAbort, { once: true });
26
49
  });
27
50
  }
28
51
  /**
@@ -32,9 +55,8 @@ function sleepWithAbort(ms, signal) {
32
55
  function loadCursor(ctx) {
33
56
  try {
34
57
  const runtime = getClawHouseRuntime();
35
- const fs = require('fs');
36
- const path = runtime.state.resolveStorePath(`clawhouse/${ctx.accountId}/cursor`);
37
- return fs.readFileSync(path, 'utf-8').trim() || null;
58
+ const cursorPath = runtime.state.resolveStorePath(`clawhouse/${ctx.accountId}/cursor`);
59
+ return readFileSync(cursorPath, 'utf-8').trim() || null; // Fix PL-02: use ESM import
38
60
  }
39
61
  catch {
40
62
  return null;
@@ -43,12 +65,10 @@ function loadCursor(ctx) {
43
65
  function saveCursor(ctx, cursor, log) {
44
66
  try {
45
67
  const runtime = getClawHouseRuntime();
46
- const fs = require('fs');
47
- const nodePath = require('path');
48
68
  const filePath = runtime.state.resolveStorePath(`clawhouse/${ctx.accountId}/cursor`);
49
- const dir = nodePath.dirname(filePath);
50
- fs.mkdirSync(dir, { recursive: true });
51
- fs.writeFileSync(filePath, cursor, 'utf-8');
69
+ const dir = dirname(filePath);
70
+ mkdirSync(dir, { recursive: true });
71
+ writeFileSync(filePath, cursor, 'utf-8');
52
72
  }
53
73
  catch (err) {
54
74
  // Non-fatal — we'll just re-process some messages on restart
@@ -116,6 +136,13 @@ async function runWebSocketConnection(opts) {
116
136
  return new Promise((resolve, reject) => {
117
137
  const ws = new WebSocket(`${wsUrl}?ticket=${ticket}`);
118
138
  let pingInterval;
139
+ // Centralized cleanup to prevent interval leaks
140
+ const cleanup = () => {
141
+ if (pingInterval !== undefined) {
142
+ clearInterval(pingInterval);
143
+ pingInterval = undefined;
144
+ }
145
+ };
119
146
  ws.on('open', () => {
120
147
  ctx.setStatus({ running: true, lastStartAt: Date.now() });
121
148
  log.info('WebSocket connected.');
@@ -125,20 +152,15 @@ async function runWebSocketConnection(opts) {
125
152
  ws.send(JSON.stringify({ action: 'ping' }));
126
153
  }
127
154
  }, PING_INTERVAL_MS);
128
- // Initial catch-up poll
129
- pollAndDeliver(client, ctx, cursor, log).then((newCursor) => {
130
- if (newCursor)
131
- cursor = newCursor;
132
- });
155
+ // Fix CP-05: enqueue initial catch-up poll through mutex
156
+ enqueuePoll(client, ctx, () => cursor, (c) => { cursor = c ?? cursor; }, log);
133
157
  });
134
158
  ws.on('message', async (data) => {
135
159
  try {
136
160
  const msg = JSON.parse(data.toString());
137
161
  if (msg.action === 'notify') {
138
- // Thin notification poll for full data
139
- const newCursor = await pollAndDeliver(client, ctx, cursor, log);
140
- if (newCursor)
141
- cursor = newCursor;
162
+ // Fix CP-05: enqueue notification-triggered poll through mutex
163
+ enqueuePoll(client, ctx, () => cursor, (c) => { cursor = c ?? cursor; }, log);
142
164
  }
143
165
  // Ignore pong and other messages
144
166
  }
@@ -148,19 +170,19 @@ async function runWebSocketConnection(opts) {
148
170
  }
149
171
  });
150
172
  ws.on('close', (code, reason) => {
151
- clearInterval(pingInterval);
173
+ cleanup();
152
174
  ctx.setStatus({ running: false, lastStopAt: Date.now() });
153
175
  log.info(`WebSocket closed: ${code} ${reason.toString()}`);
154
176
  resolve(cursor);
155
177
  });
156
178
  ws.on('error', (err) => {
157
- clearInterval(pingInterval);
179
+ cleanup();
158
180
  ctx.setStatus({ running: false, lastError: err.message });
159
181
  reject(err);
160
182
  });
161
- // Clean shutdown
183
+ // Clean shutdown - register abort handler before potential errors
162
184
  ctx.abortSignal.addEventListener('abort', () => {
163
- clearInterval(pingInterval);
185
+ cleanup();
164
186
  ws.close(1000, 'shutdown');
165
187
  }, { once: true });
166
188
  });
@@ -232,6 +254,8 @@ async function pollAndDeliver(client, ctx, cursor, log) {
232
254
  if (response.items.length === 0)
233
255
  return null;
234
256
  log.info(`Received ${response.items.length} new message(s).`);
257
+ // Fix CP-05: save cursor after each successful delivery so a mid-batch
258
+ // failure doesn't cause the entire batch to be re-delivered on retry.
235
259
  for (const message of response.items) {
236
260
  await deliverMessageToAgent(ctx, message, client);
237
261
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -351,4 +351,58 @@ export interface WsNotification {
351
351
  action: 'notify';
352
352
  hint: string;
353
353
  }
354
+ export interface Task {
355
+ taskId: string;
356
+ title: string;
357
+ status: 'ready_for_bot' | 'working_on_it' | 'waiting_for_human' | 'done';
358
+ instructions?: string;
359
+ projectId: string;
360
+ createdAt: string;
361
+ updatedAt: string;
362
+ botId?: string | null;
363
+ userId: string;
364
+ reason?: string | null;
365
+ deliverable?: string | null;
366
+ }
367
+ export interface Project {
368
+ projectId: string;
369
+ name: string;
370
+ key: string;
371
+ description?: string | null;
372
+ color?: string | null;
373
+ createdAt: string;
374
+ updatedAt: string;
375
+ userId: string;
376
+ }
377
+ export interface Bot {
378
+ userId: string;
379
+ name: string;
380
+ description?: string | null;
381
+ isBot: boolean;
382
+ isActive: boolean;
383
+ createdAt: string;
384
+ updatedAt: string;
385
+ createdById: string;
386
+ }
387
+ export interface TasksListResponse {
388
+ tasks: Task[];
389
+ }
390
+ export interface ProjectsListResponse {
391
+ projects: Project[];
392
+ }
393
+ export interface CreateTaskResponse {
394
+ task: Task;
395
+ }
396
+ export interface CreateProjectResponse {
397
+ project: Project;
398
+ }
399
+ export interface GetBotTokenResponse {
400
+ token: string;
401
+ userId: string;
402
+ }
403
+ export interface CreateBotResponse {
404
+ bot: Bot;
405
+ token: string;
406
+ userId: string;
407
+ }
354
408
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawhouse/clawhouse-openclaw",
3
- "version": "0.1.4",
3
+ "version": "0.1.5-alpha.4",
4
4
  "description": "OpenClaw channel plugin for ClawHouse — turns ClawHouse into a messaging platform for OpenClaw AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: clawhouse
3
3
  description: Workflow knowledge for ClawHouse task management and messaging.
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  metadata: { 'openclaw': { 'emoji': '🏠' } }
6
6
  ---
7
7
 
@@ -25,23 +25,45 @@ ready_for_bot ──[clawhouse_get_next_task]──> working_on_it ──[clawho
25
25
  └────[clawhouse_giveup]───> waiting_for_human
26
26
  ```
27
27
 
28
+ ### Self-Tasking
29
+
30
+ **When you start any non-trivial work, create a task first.** This applies whether a human asked you to do something or you're working proactively. The only exceptions are quick one-liners that take seconds (simple lookups, short answers, config changes).
31
+
32
+ **Why:** Tasks give your human visibility into what you're doing, create a paper trail of deliverables, and let you collaborate through comments. Work without a task is invisible work.
33
+
34
+ **Flow:**
35
+ 1. **Create:** `clawhouse_create_task` with a clear title and instructions describing what you'll do
36
+ 2. **Claim:** `clawhouse_get_next_task` (optionally filtered by projectId) to move it to `working_on_it`
37
+ 3. **Work:** Do the work. Post `clawhouse_comment` updates for meaningful progress
38
+ 4. **Deliver:** `clawhouse_done` with a markdown deliverable, or `clawhouse_giveup` if blocked
39
+
40
+ **Choosing a project:** Use `clawhouse_list_projects` to find the right project. If no project fits, create the task in whichever project is closest — the human can move it.
41
+
42
+ **Task titles:** Keep them short and scannable. Good: "Research competitor HumanLayer". Bad: "Do some research on a competitor called HumanLayer and write up findings".
43
+
28
44
  ## Decision Tree
29
45
 
46
+ When checking for work:
30
47
  1. Call `clawhouse_get_next_task` to check for available tasks
31
48
  2. **Got a task?** Work on it, post `clawhouse_comment` updates, then call `clawhouse_done` or `clawhouse_giveup`
32
49
  3. **Got null?** No tasks available — stop checking
33
50
  4. **Can't complete?** Call `clawhouse_giveup` immediately with a partial deliverable so a human can help
34
- 5. **One task at a time.** Spawn a dedicated subagent per task to keep context clean
51
+
52
+ When given work by a human (chat, Slack, etc.):
53
+ 1. Create a task via `clawhouse_create_task`
54
+ 2. Claim it via `clawhouse_get_next_task`
55
+ 3. Work on it, deliver via `clawhouse_done` or `clawhouse_giveup`
35
56
 
36
57
  ## Rules
37
58
 
38
- 1. **Status gates:** You can only `clawhouse_done` or `clawhouse_giveup` on tasks in `working_on_it` status
39
- 2. **Comments are unrestricted:** You can `clawhouse_comment` on any accessible task regardless of status
40
- 3. **No manual status changes:** All state transitions happen through the tools above
41
- 4. **Deliverables in markdown:** Always provide a deliverable documenting your work, even partial work on `clawhouse_giveup`
42
- 5. **Give up early:** If you can't complete a task, `clawhouse_giveup` immediately don't spin
43
- 6. **One task per subagent:** Spawn a dedicated subagent for each task to keep context clean
44
- 7. **No assignment required:** Any bot can pick up any `ready_for_bot` task via `clawhouse_get_next_task`
59
+ 1. **Self-task by default:** Create a Clawhouse task before starting non-trivial work
60
+ 2. **Status gates:** You can only `clawhouse_done` or `clawhouse_giveup` on tasks in `working_on_it` status
61
+ 3. **Comments are unrestricted:** You can `clawhouse_comment` on any accessible task regardless of status
62
+ 4. **No manual status changes:** All state transitions happen through the tools above
63
+ 5. **Deliverables in markdown:** Always provide a deliverable documenting your work, even partial work on `clawhouse_giveup`
64
+ 6. **Give up early:** If you can't complete a task, `clawhouse_giveup` immediately don't spin
65
+ 7. **One task per subagent:** Spawn a dedicated subagent for each task to keep context clean
66
+ 8. **No assignment required:** Any bot can pick up any `ready_for_bot` task via `clawhouse_get_next_task`
45
67
 
46
68
  ## Error Handling
47
69