@clawhouse/clawhouse-openclaw 0.1.3 → 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 +14 -15
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +49 -15
- package/dist/client.js.map +1 -1
- package/dist/deliver.d.ts.map +1 -1
- package/dist/deliver.js +147 -13
- package/dist/deliver.js.map +1 -1
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +78 -41
- package/dist/gateway.js.map +1 -1
- package/dist/types.d.ts +54 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/skills/clawhouse/SKILL.md +31 -9
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
|
-
|
|
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<
|
|
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<
|
|
30
|
+
}): Promise<void>;
|
|
32
31
|
createTask(input: {
|
|
33
32
|
projectId: string;
|
|
34
33
|
title: string;
|
|
35
34
|
instructions?: string;
|
|
36
|
-
}): Promise<
|
|
35
|
+
}): Promise<CreateTaskResponse>;
|
|
37
36
|
listTasks(input: {
|
|
38
37
|
projectId: string;
|
|
39
38
|
status?: string;
|
|
40
|
-
}): Promise<
|
|
39
|
+
}): Promise<TasksListResponse>;
|
|
41
40
|
done(input: {
|
|
42
41
|
taskId: string;
|
|
43
42
|
reason: string;
|
|
44
43
|
deliverable?: string;
|
|
45
|
-
}): Promise<
|
|
44
|
+
}): Promise<void>;
|
|
46
45
|
giveup(input: {
|
|
47
46
|
taskId: string;
|
|
48
47
|
reason: string;
|
|
49
48
|
deliverable?: string;
|
|
50
|
-
}): Promise<
|
|
49
|
+
}): Promise<void>;
|
|
51
50
|
getNextTask(input?: {
|
|
52
51
|
projectId?: string;
|
|
53
|
-
}): Promise<
|
|
54
|
-
listProjects(): Promise<
|
|
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<
|
|
59
|
+
}): Promise<CreateProjectResponse>;
|
|
61
60
|
probe(timeoutMs: number): Promise<ChannelProbeResult>;
|
|
62
61
|
}
|
|
63
62
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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) {
|
|
@@ -56,7 +90,7 @@ export class ClawHouseClient {
|
|
|
56
90
|
return this.request('POST', 'tasks.giveup', input);
|
|
57
91
|
}
|
|
58
92
|
async getNextTask(input) {
|
|
59
|
-
return this.request('
|
|
93
|
+
return this.request('POST', 'tasks.getNextTask', input ?? {});
|
|
60
94
|
}
|
|
61
95
|
async listProjects() {
|
|
62
96
|
return this.request('GET', 'projects.list', {});
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,qDAAqD;AACrD,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAE1C,MAAM,OAAO,eAAe;IAClB,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,gBAAgB,CAAS;IAEjC,YACE,QAAgB,EAChB,MAAc,EACd,OAAuC;QAEvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,OAAO,EAAE,gBAAgB,IAAI,0BAA0B,CAAC;IAClF,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAsB,EACtB,SAAiB,EACjB,KAAe;QAEf,MAAM,GAAG,GACP,MAAM,KAAK,KAAK,IAAI,KAAK;YACvB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,UAAU,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;YAClF,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAEpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE1E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM;gBACN,OAAO,EAAE;oBACP,aAAa,EAAE,OAAO,IAAI,CAAC,QAAQ,EAAE;oBACrC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3D,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC/C,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChE,OAAO,kCAAkC,MAAM,GAAG,CAAC;gBACrD,CAAC,CAAC,CAAC;gBAEH,yCAAyC;gBACzC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvD,MAAM,IAAI,KAAK,CACb,wCAAwC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,IAAI,EAAE,CAC3F,CAAC;gBACJ,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,IAAI,EAAE,CAClF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,IAAI,EAAE,CAC3E,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA8B,CAAC;YAElE,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CACb,8DAA8D,SAAS,EAAE,CAC1E,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,oBAAoB,IAAI,CAAC,gBAAgB,IAAI,CACnF,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,WAAW;IACX,KAAK,CAAC,WAAW,CAAC,KAUjB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAIlB;QACC,OAAO,IAAI,CAAC,OAAO,CAAmB,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,mBAAmB;IACnB,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAmB,MAAM,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,QAAQ;IACR,KAAK,CAAC,OAAO,CAAC,KAA0C;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAIhB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAGf;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAIV;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAIZ;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA8B;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAKnB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,KAAK,CAAC,SAAiB;QAC3B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,MAAM,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,EAC9E;gBACE,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,aAAa,EAAE,OAAO,IAAI,CAAC,QAAQ,EAAE;oBACrC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CACF,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACvC,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
|
package/dist/deliver.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
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({
|
package/dist/deliver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliver.js","sourceRoot":"","sources":["../src/deliver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAQhD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,OAAsB,EACtB,UAAiC;IAEjC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IAC/C,MAAM,QAAQ,GAAG,GAAG,UAAU,EAAE,GAAG,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"deliver.js","sourceRoot":"","sources":["../src/deliver.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"
|
|
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
|
|
22
|
-
signal.addEventListener('abort', () => {
|
|
40
|
+
const onAbort = () => {
|
|
23
41
|
clearTimeout(timer);
|
|
24
42
|
resolve();
|
|
25
|
-
}
|
|
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,26 +55,25 @@ function sleepWithAbort(ms, signal) {
|
|
|
32
55
|
function loadCursor(ctx) {
|
|
33
56
|
try {
|
|
34
57
|
const runtime = getClawHouseRuntime();
|
|
35
|
-
const
|
|
36
|
-
|
|
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;
|
|
41
63
|
}
|
|
42
64
|
}
|
|
43
|
-
function saveCursor(ctx, cursor) {
|
|
65
|
+
function saveCursor(ctx, cursor, log) {
|
|
44
66
|
try {
|
|
45
67
|
const runtime = getClawHouseRuntime();
|
|
46
|
-
const fs = require('fs');
|
|
47
|
-
const path = require('path');
|
|
48
68
|
const filePath = runtime.state.resolveStorePath(`clawhouse/${ctx.accountId}/cursor`);
|
|
49
|
-
const dir =
|
|
50
|
-
|
|
51
|
-
|
|
69
|
+
const dir = dirname(filePath);
|
|
70
|
+
mkdirSync(dir, { recursive: true });
|
|
71
|
+
writeFileSync(filePath, cursor, 'utf-8');
|
|
52
72
|
}
|
|
53
|
-
catch {
|
|
73
|
+
catch (err) {
|
|
54
74
|
// Non-fatal — we'll just re-process some messages on restart
|
|
75
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
76
|
+
log?.warn(`Failed to persist cursor: ${message}`);
|
|
55
77
|
}
|
|
56
78
|
}
|
|
57
79
|
/**
|
|
@@ -114,6 +136,13 @@ async function runWebSocketConnection(opts) {
|
|
|
114
136
|
return new Promise((resolve, reject) => {
|
|
115
137
|
const ws = new WebSocket(`${wsUrl}?ticket=${ticket}`);
|
|
116
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
|
+
};
|
|
117
146
|
ws.on('open', () => {
|
|
118
147
|
ctx.setStatus({ running: true, lastStartAt: Date.now() });
|
|
119
148
|
log.info('WebSocket connected.');
|
|
@@ -123,20 +152,15 @@ async function runWebSocketConnection(opts) {
|
|
|
123
152
|
ws.send(JSON.stringify({ action: 'ping' }));
|
|
124
153
|
}
|
|
125
154
|
}, PING_INTERVAL_MS);
|
|
126
|
-
//
|
|
127
|
-
|
|
128
|
-
if (newCursor)
|
|
129
|
-
cursor = newCursor;
|
|
130
|
-
});
|
|
155
|
+
// Fix CP-05: enqueue initial catch-up poll through mutex
|
|
156
|
+
enqueuePoll(client, ctx, () => cursor, (c) => { cursor = c ?? cursor; }, log);
|
|
131
157
|
});
|
|
132
158
|
ws.on('message', async (data) => {
|
|
133
159
|
try {
|
|
134
160
|
const msg = JSON.parse(data.toString());
|
|
135
161
|
if (msg.action === 'notify') {
|
|
136
|
-
//
|
|
137
|
-
|
|
138
|
-
if (newCursor)
|
|
139
|
-
cursor = newCursor;
|
|
162
|
+
// Fix CP-05: enqueue notification-triggered poll through mutex
|
|
163
|
+
enqueuePoll(client, ctx, () => cursor, (c) => { cursor = c ?? cursor; }, log);
|
|
140
164
|
}
|
|
141
165
|
// Ignore pong and other messages
|
|
142
166
|
}
|
|
@@ -146,19 +170,19 @@ async function runWebSocketConnection(opts) {
|
|
|
146
170
|
}
|
|
147
171
|
});
|
|
148
172
|
ws.on('close', (code, reason) => {
|
|
149
|
-
|
|
173
|
+
cleanup();
|
|
150
174
|
ctx.setStatus({ running: false, lastStopAt: Date.now() });
|
|
151
175
|
log.info(`WebSocket closed: ${code} ${reason.toString()}`);
|
|
152
176
|
resolve(cursor);
|
|
153
177
|
});
|
|
154
178
|
ws.on('error', (err) => {
|
|
155
|
-
|
|
179
|
+
cleanup();
|
|
156
180
|
ctx.setStatus({ running: false, lastError: err.message });
|
|
157
181
|
reject(err);
|
|
158
182
|
});
|
|
159
|
-
// Clean shutdown
|
|
183
|
+
// Clean shutdown - register abort handler before potential errors
|
|
160
184
|
ctx.abortSignal.addEventListener('abort', () => {
|
|
161
|
-
|
|
185
|
+
cleanup();
|
|
162
186
|
ws.close(1000, 'shutdown');
|
|
163
187
|
}, { once: true });
|
|
164
188
|
});
|
|
@@ -193,38 +217,51 @@ async function runPollingFallback(opts) {
|
|
|
193
217
|
*/
|
|
194
218
|
async function pollAndDeliver(client, ctx, cursor, log) {
|
|
195
219
|
try {
|
|
196
|
-
|
|
220
|
+
// SEED is a sentinel value indicating we've completed the first-run
|
|
221
|
+
// flow but had no real cursor (empty inbox). Don't send it to the API
|
|
222
|
+
// since it's not a valid datetime cursor.
|
|
223
|
+
const isFirstRun = !cursor || cursor === 'SEED';
|
|
224
|
+
const apiCursor = cursor && cursor !== 'SEED' ? cursor : undefined;
|
|
197
225
|
const response = await client.listMessages({
|
|
198
|
-
...(
|
|
226
|
+
...(apiCursor ? { cursor: apiCursor } : {}),
|
|
199
227
|
});
|
|
200
228
|
// On first run, don't deliver old messages — just seed the cursor
|
|
201
229
|
// and send a welcome message so the user knows the connection is live.
|
|
202
230
|
if (isFirstRun) {
|
|
203
231
|
if (response.cursor) {
|
|
204
232
|
log.info(`First run: skipping ${response.items.length} existing message(s), seeding cursor.`);
|
|
205
|
-
saveCursor(ctx, response.cursor);
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
233
|
+
saveCursor(ctx, response.cursor, log);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
log.info('First run: no messages yet (empty inbox).');
|
|
237
|
+
}
|
|
238
|
+
try {
|
|
239
|
+
await client.sendMessage({
|
|
240
|
+
content: '🟢 Connected to ClawHouse. Ready to receive messages and tasks.',
|
|
241
|
+
});
|
|
242
|
+
log.info('Sent welcome message.');
|
|
243
|
+
}
|
|
244
|
+
catch (err) {
|
|
245
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
246
|
+
log.warn(`Failed to send welcome message: ${errMsg}`);
|
|
216
247
|
}
|
|
217
|
-
|
|
248
|
+
// Return the API cursor, or empty string as sentinel when API returns
|
|
249
|
+
// null (empty inbox) so subsequent polls don't re-trigger first-run flow.
|
|
250
|
+
// Empty string is falsy for cursor != null check but won't be sent to
|
|
251
|
+
// the API since we only include cursor when it's non-null and non-empty.
|
|
252
|
+
return response.cursor ?? '';
|
|
218
253
|
}
|
|
219
254
|
if (response.items.length === 0)
|
|
220
255
|
return null;
|
|
221
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.
|
|
222
259
|
for (const message of response.items) {
|
|
223
260
|
await deliverMessageToAgent(ctx, message, client);
|
|
224
261
|
}
|
|
225
262
|
// Persist cursor
|
|
226
263
|
if (response.cursor) {
|
|
227
|
-
saveCursor(ctx, response.cursor);
|
|
264
|
+
saveCursor(ctx, response.cursor, log);
|
|
228
265
|
}
|
|
229
266
|
return response.cursor;
|
|
230
267
|
}
|
package/dist/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAMhD,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,2CAA2C;AACnF,MAAM,yBAAyB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,+BAA+B;AAC5E,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,cAAc,GAAG,GAAG,CAAC;
|
|
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
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
-
|
|
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. **
|
|
39
|
-
2. **
|
|
40
|
-
3. **
|
|
41
|
-
4. **
|
|
42
|
-
5. **
|
|
43
|
-
6. **
|
|
44
|
-
7. **
|
|
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
|
|