@moltzap/openclaw-channel 2026.413.0 → 2026.425.0
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/format-cross-conv.d.ts +13 -0
- package/dist/format-cross-conv.d.ts.map +1 -0
- package/dist/format-cross-conv.js +19 -0
- package/dist/format-cross-conv.js.map +1 -0
- package/dist/mapping.d.ts +6 -42
- package/dist/mapping.d.ts.map +1 -1
- package/dist/mapping.js +5 -49
- package/dist/mapping.js.map +1 -1
- package/dist/openclaw-entry.d.ts +25 -9
- package/dist/openclaw-entry.d.ts.map +1 -1
- package/dist/openclaw-entry.js +364 -360
- package/dist/openclaw-entry.js.map +1 -1
- package/dist/test-support.d.ts +15 -0
- package/dist/test-support.d.ts.map +1 -0
- package/dist/test-support.js +15 -0
- package/dist/test-support.js.map +1 -0
- package/package.json +16 -12
- package/LICENSE +0 -21
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenClaw-native cross-conversation formatter.
|
|
3
|
+
*
|
|
4
|
+
* Formats CrossConvMessage[] as a JSON metadata block with the
|
|
5
|
+
* "(untrusted metadata)" header that OpenClaw agents expect.
|
|
6
|
+
*/
|
|
7
|
+
import type { CrossConvMessage } from "@moltzap/client";
|
|
8
|
+
export type { CrossConvMessage };
|
|
9
|
+
export declare const CROSS_CONV_HEADER = "Messages (untrusted metadata):";
|
|
10
|
+
export declare function formatCrossConvOpenClaw(messages: CrossConvMessage[], opts: {
|
|
11
|
+
ownAgentId: string;
|
|
12
|
+
}): string | null;
|
|
13
|
+
//# sourceMappingURL=format-cross-conv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-cross-conv.d.ts","sourceRoot":"","sources":["../src/format-cross-conv.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAElE,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3B,MAAM,GAAG,IAAI,CAWf"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenClaw-native cross-conversation formatter.
|
|
3
|
+
*
|
|
4
|
+
* Formats CrossConvMessage[] as a JSON metadata block with the
|
|
5
|
+
* "(untrusted metadata)" header that OpenClaw agents expect.
|
|
6
|
+
*/
|
|
7
|
+
export const CROSS_CONV_HEADER = "Messages (untrusted metadata):";
|
|
8
|
+
export function formatCrossConvOpenClaw(messages, opts) {
|
|
9
|
+
if (messages.length === 0)
|
|
10
|
+
return null;
|
|
11
|
+
const items = messages.map((m) => ({
|
|
12
|
+
conversation: m.conversationName ?? `DM with @${m.senderName}`,
|
|
13
|
+
sender: m.senderId === opts.ownAgentId ? "You" : m.senderName,
|
|
14
|
+
text: m.text,
|
|
15
|
+
timestamp: m.timestamp,
|
|
16
|
+
}));
|
|
17
|
+
return `${CROSS_CONV_HEADER}\n\`\`\`json\n${JSON.stringify(items, null, 2)}\n\`\`\``;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=format-cross-conv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-cross-conv.js","sourceRoot":"","sources":["../src/format-cross-conv.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,CAAC,MAAM,iBAAiB,GAAG,gCAAgC,CAAC;AAElE,MAAM,UAAU,uBAAuB,CACrC,QAA4B,EAC5B,IAA4B;IAE5B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,YAAY,EAAE,CAAC,CAAC,gBAAgB,IAAI,YAAY,CAAC,CAAC,UAAU,EAAE;QAC9D,MAAM,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;QAC7D,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC,CAAC,CAAC;IAEJ,OAAO,GAAG,iBAAiB,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;AACvF,CAAC"}
|
package/dist/mapping.d.ts
CHANGED
|
@@ -1,34 +1,10 @@
|
|
|
1
1
|
import type { Message, EventFrame } from "@moltzap/protocol";
|
|
2
2
|
export declare function isMessageEvent(frame: EventFrame): boolean;
|
|
3
3
|
export declare function extractMessage(frame: EventFrame): Message | null;
|
|
4
|
-
export declare function extractReadReceipt(frame: EventFrame): {
|
|
5
|
-
conversationId: string;
|
|
6
|
-
participant: {
|
|
7
|
-
type: string;
|
|
8
|
-
id: string;
|
|
9
|
-
};
|
|
10
|
-
seq: number;
|
|
11
|
-
} | null;
|
|
12
|
-
export declare function extractReaction(frame: EventFrame): {
|
|
13
|
-
messageId: string;
|
|
14
|
-
emoji: string;
|
|
15
|
-
participant: {
|
|
16
|
-
type: string;
|
|
17
|
-
id: string;
|
|
18
|
-
};
|
|
19
|
-
action: string;
|
|
20
|
-
} | null;
|
|
21
4
|
export declare function extractDelivery(frame: EventFrame): {
|
|
22
5
|
messageId: string;
|
|
23
6
|
conversationId: string;
|
|
24
|
-
|
|
25
|
-
type: string;
|
|
26
|
-
id: string;
|
|
27
|
-
};
|
|
28
|
-
} | null;
|
|
29
|
-
export declare function extractDeletion(frame: EventFrame): {
|
|
30
|
-
messageId: string;
|
|
31
|
-
conversationId: string;
|
|
7
|
+
agentId: string;
|
|
32
8
|
} | null;
|
|
33
9
|
export declare function extractConversationCreated(frame: EventFrame): {
|
|
34
10
|
conversation: {
|
|
@@ -47,31 +23,19 @@ export declare function extractConversationUpdated(frame: EventFrame): {
|
|
|
47
23
|
export declare function extractContactRequest(frame: EventFrame): {
|
|
48
24
|
contact: {
|
|
49
25
|
id: string;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
status: string;
|
|
26
|
+
contactUserId: string;
|
|
27
|
+
source: string;
|
|
53
28
|
};
|
|
54
29
|
} | null;
|
|
55
30
|
export declare function extractContactAccepted(frame: EventFrame): {
|
|
56
31
|
contact: {
|
|
57
32
|
id: string;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
status: string;
|
|
33
|
+
contactUserId: string;
|
|
34
|
+
source: string;
|
|
61
35
|
};
|
|
62
36
|
} | null;
|
|
63
37
|
export declare function extractPresenceChanged(frame: EventFrame): {
|
|
64
|
-
|
|
65
|
-
type: string;
|
|
66
|
-
id: string;
|
|
67
|
-
};
|
|
38
|
+
agentId: string;
|
|
68
39
|
status: string;
|
|
69
40
|
} | null;
|
|
70
|
-
export declare function extractTypingIndicator(frame: EventFrame): {
|
|
71
|
-
conversationId: string;
|
|
72
|
-
participant: {
|
|
73
|
-
type: string;
|
|
74
|
-
id: string;
|
|
75
|
-
};
|
|
76
|
-
} | null;
|
|
77
41
|
//# sourceMappingURL=mapping.d.ts.map
|
package/dist/mapping.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG7D,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAEzD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,IAAI,CAIhE;AAID,wBAAgB,
|
|
1
|
+
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG7D,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAEzD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,IAAI,CAIhE;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAeP;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,UAAU,GAAG;IAC7D,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D,GAAG,IAAI,CAOP;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,UAAU,GAAG;IAC7D,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D,GAAG,IAAI,CAOP;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG;IACxD,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,GAAG,IAAI,CAaP;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG;IACzD,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,GAAG,IAAI,CAaP;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAKP"}
|
package/dist/mapping.js
CHANGED
|
@@ -8,52 +8,19 @@ export function extractMessage(frame) {
|
|
|
8
8
|
const data = frame.data;
|
|
9
9
|
return data?.message ?? null;
|
|
10
10
|
}
|
|
11
|
-
// --- Event extractors
|
|
12
|
-
export function extractReadReceipt(frame) {
|
|
13
|
-
if (frame.event !== EventNames.MessageRead)
|
|
14
|
-
return null;
|
|
15
|
-
const data = frame.data;
|
|
16
|
-
if (!data?.conversationId || !data.participant || data.seq == null)
|
|
17
|
-
return null;
|
|
18
|
-
return {
|
|
19
|
-
conversationId: data.conversationId,
|
|
20
|
-
participant: data.participant,
|
|
21
|
-
seq: data.seq,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export function extractReaction(frame) {
|
|
25
|
-
if (frame.event !== EventNames.MessageReacted)
|
|
26
|
-
return null;
|
|
27
|
-
const data = frame.data;
|
|
28
|
-
if (!data?.messageId || !data.emoji || !data.participant || !data.action)
|
|
29
|
-
return null;
|
|
30
|
-
return {
|
|
31
|
-
messageId: data.messageId,
|
|
32
|
-
emoji: data.emoji,
|
|
33
|
-
participant: data.participant,
|
|
34
|
-
action: data.action,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
11
|
+
// --- Event extractors ---
|
|
37
12
|
export function extractDelivery(frame) {
|
|
38
13
|
if (frame.event !== EventNames.MessageDelivered)
|
|
39
14
|
return null;
|
|
40
15
|
const data = frame.data;
|
|
41
|
-
if (!data?.messageId || !data.conversationId || !data.
|
|
16
|
+
if (!data?.messageId || !data.conversationId || !data.agentId)
|
|
42
17
|
return null;
|
|
43
18
|
return {
|
|
44
19
|
messageId: data.messageId,
|
|
45
20
|
conversationId: data.conversationId,
|
|
46
|
-
|
|
21
|
+
agentId: data.agentId,
|
|
47
22
|
};
|
|
48
23
|
}
|
|
49
|
-
export function extractDeletion(frame) {
|
|
50
|
-
if (frame.event !== EventNames.MessageDeleted)
|
|
51
|
-
return null;
|
|
52
|
-
const data = frame.data;
|
|
53
|
-
if (!data?.messageId || !data.conversationId)
|
|
54
|
-
return null;
|
|
55
|
-
return { messageId: data.messageId, conversationId: data.conversationId };
|
|
56
|
-
}
|
|
57
24
|
export function extractConversationCreated(frame) {
|
|
58
25
|
if (frame.event !== EventNames.ConversationCreated)
|
|
59
26
|
return null;
|
|
@@ -90,19 +57,8 @@ export function extractPresenceChanged(frame) {
|
|
|
90
57
|
if (frame.event !== EventNames.PresenceChanged)
|
|
91
58
|
return null;
|
|
92
59
|
const data = frame.data;
|
|
93
|
-
if (!data?.
|
|
94
|
-
return null;
|
|
95
|
-
return { participant: data.participant, status: data.status };
|
|
96
|
-
}
|
|
97
|
-
export function extractTypingIndicator(frame) {
|
|
98
|
-
if (frame.event !== EventNames.TypingIndicator)
|
|
99
|
-
return null;
|
|
100
|
-
const data = frame.data;
|
|
101
|
-
if (!data?.conversationId || !data.participant)
|
|
60
|
+
if (!data?.agentId || !data.status)
|
|
102
61
|
return null;
|
|
103
|
-
return {
|
|
104
|
-
conversationId: data.conversationId,
|
|
105
|
-
participant: data.participant,
|
|
106
|
-
};
|
|
62
|
+
return { agentId: data.agentId, status: data.status };
|
|
107
63
|
}
|
|
108
64
|
//# sourceMappingURL=mapping.js.map
|
package/dist/mapping.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,eAAe,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAyC,CAAC;IAC7D,OAAO,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC;AAC/B,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
|
package/dist/openclaw-entry.d.ts
CHANGED
|
@@ -6,6 +6,11 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Installed via: openclaw plugin install @moltzap/openclaw-channel
|
|
8
8
|
* Config: channels.moltzap.accounts[].{apiKey, serverUrl, agentName}
|
|
9
|
+
*
|
|
10
|
+
* OpenClaw's plugin interface imposes Promise-based contracts at the boundary
|
|
11
|
+
* (`startAccount`, `sendText`, `deliver`, `listPeers`, `listGroups`, etc.) —
|
|
12
|
+
* those shapes are fixed. Internally we use Effect and only pay the
|
|
13
|
+
* `Effect.runPromise` tax at the plugin surface.
|
|
9
14
|
*/
|
|
10
15
|
type MoltZapAccount = {
|
|
11
16
|
id: string;
|
|
@@ -21,7 +26,12 @@ type OpenClawConfig = Record<string, unknown> & {
|
|
|
21
26
|
};
|
|
22
27
|
};
|
|
23
28
|
};
|
|
24
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Factory: returns a fresh plugin object whose `activeClients` map lives in
|
|
31
|
+
* this closure. `register(api)` calls this so each registration gets its own
|
|
32
|
+
* per-plugin state, eliminating module-level mutable globals.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createMoltzapChannelPlugin(): {
|
|
25
35
|
id: "moltzap";
|
|
26
36
|
meta: {
|
|
27
37
|
id: "moltzap";
|
|
@@ -61,21 +71,21 @@ export declare const moltzapChannelPlugin: {
|
|
|
61
71
|
accountId?: string | null;
|
|
62
72
|
query?: string | null;
|
|
63
73
|
limit?: number | null;
|
|
64
|
-
}): Promise<{
|
|
74
|
+
}): Promise<Array<{
|
|
65
75
|
id: string;
|
|
66
76
|
name: string;
|
|
67
77
|
kind: "user";
|
|
68
|
-
}
|
|
78
|
+
}>>;
|
|
69
79
|
listGroups(params: {
|
|
70
80
|
cfg: OpenClawConfig;
|
|
71
81
|
accountId?: string | null;
|
|
72
82
|
query?: string | null;
|
|
73
83
|
limit?: number | null;
|
|
74
|
-
}): Promise<{
|
|
84
|
+
}): Promise<Array<{
|
|
75
85
|
id: string;
|
|
76
86
|
name: string;
|
|
77
87
|
kind: "group";
|
|
78
|
-
}
|
|
88
|
+
}>>;
|
|
79
89
|
};
|
|
80
90
|
config: {
|
|
81
91
|
listAccountIds(cfg: OpenClawConfig): string[];
|
|
@@ -144,14 +154,20 @@ export declare const moltzapChannelPlugin: {
|
|
|
144
154
|
accountId?: string | null;
|
|
145
155
|
replyToId?: string;
|
|
146
156
|
}): Promise<{
|
|
157
|
+
ok: true;
|
|
158
|
+
} | {
|
|
147
159
|
ok: false;
|
|
148
160
|
error: Error;
|
|
149
|
-
} | {
|
|
150
|
-
ok: true;
|
|
151
|
-
error?: undefined;
|
|
152
161
|
}>;
|
|
153
162
|
};
|
|
154
163
|
};
|
|
164
|
+
export type MoltzapChannelPlugin = ReturnType<typeof createMoltzapChannelPlugin>;
|
|
165
|
+
/**
|
|
166
|
+
* Shared singleton so a single registration reuses the same `activeClients`
|
|
167
|
+
* closure across `startAccount` and `sendText`. Tests import this directly
|
|
168
|
+
* to assert against that shared state.
|
|
169
|
+
*/
|
|
170
|
+
export declare const moltzapChannelPlugin: MoltzapChannelPlugin;
|
|
155
171
|
declare const plugin: {
|
|
156
172
|
id: string;
|
|
157
173
|
name: string;
|
|
@@ -159,7 +175,7 @@ declare const plugin: {
|
|
|
159
175
|
configSchema: {};
|
|
160
176
|
register(api: {
|
|
161
177
|
registerChannel: (params: {
|
|
162
|
-
plugin:
|
|
178
|
+
plugin: MoltzapChannelPlugin;
|
|
163
179
|
}) => void;
|
|
164
180
|
}): void;
|
|
165
181
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-entry.d.ts","sourceRoot":"","sources":["../src/openclaw-entry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"openclaw-entry.d.ts","sourceRoot":"","sources":["../src/openclaw-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA8BH,KAAK,cAAc,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC9C,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC;CACH,CAAC;AAmCF;;;;GAIG;AACH,wBAAgB,0BAA0B;;;;;;;;;;;;;;;;;;6BAwBjB,MAAM,GAAG,OAAO;;kCAKL;gBAC1B,GAAG,EAAE,cAAc,CAAC;gBACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC1B,KAAK,EAAE,MAAM,CAAC;gBACd,UAAU,EAAE,MAAM,CAAC;gBACnB,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;aAE9C,GAAG,OAAO,CAAC;gBACV,EAAE,EAAE,MAAM,CAAC;gBACX,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;gBACnC,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,MAAM,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;aACrC,GAAG,IAAI,CAAC;;;;0BAoBO;YAChB,GAAG,EAAE,cAAc,CAAC;YACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAEvB,GAAG,OAAO,CAAC,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;2BAkC3C;YACjB,GAAG,EAAE,cAAc,CAAC;YACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAEvB,GAAG,OAAO,CAAC,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;;;4BA2B3C,cAAc,GAAG,MAAM,EAAE;4BAQtC,cAAc,cACP,MAAM,GAAG,IAAI,GACxB,cAAc;8BAIK,cAAc,GAAG,OAAO;8BAIxB,MAAM;2BAIT,cAAc,GAAG,OAAO;;;0BAOnB;YACtB,GAAG,EAAE,cAAc,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,cAAc,CAAC;YACxB,WAAW,EAAE,WAAW,CAAC;YACzB,GAAG,CAAC,EAAE;gBACJ,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;gBACpC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;gBACpC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;gBACrC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;aACtC,CAAC;YACF,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;YACnD,cAAc,CAAC,EAAE;gBACf,KAAK,CAAC,EAAE;oBACN,wCAAwC,CAAC,EAAE,CAAC,MAAM,EAAE;wBAClD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;wBACxC,GAAG,EAAE,cAAc,CAAC;wBACpB,iBAAiB,EAAE;4BACjB,OAAO,EAAE,CACP,OAAO,EAAE;gCAAE,IAAI,CAAC,EAAE,MAAM,CAAC;gCAAC,IAAI,CAAC,EAAE,MAAM,CAAA;6BAAE,EACzC,IAAI,CAAC,EAAE;gCAAE,IAAI,CAAC,EAAE,MAAM,CAAA;6BAAE,KACrB,OAAO,CAAC,OAAO,CAAC,CAAC;yBACvB,CAAC;qBACH,KAAK,OAAO,CAAC;wBAAE,WAAW,EAAE,OAAO,CAAA;qBAAE,CAAC,CAAC;iBACzC,CAAC;aACH,CAAC;SACH;yBA6QsB;YACrB,SAAS,EAAE,MAAM,CAAC;YAClB,GAAG,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;aAAE,CAAC;SAC/C;;;;8BAaqB;YACpB,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,GAAG,CAAC,EAAE,cAAc,CAAC;YACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,GAAG;YAAE,EAAE,EAAE,IAAI,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,EAAE,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE;sBAmB5C;YACZ,GAAG,EAAE,cAAc,CAAC;YACpB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;SAEpB,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,IAAI,CAAA;SAAE,GAAG;YAAE,EAAE,EAAE,KAAK,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE,CAAC;;EAoC5D;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC3C,OAAO,0BAA0B,CAClC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBACL,CAAC;AAE/B,QAAA,MAAM,MAAM;;;;;kBAKI;QACZ,eAAe,EAAE,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,oBAAoB,CAAA;SAAE,KAAK,IAAI,CAAC;KACrE;CAGF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/openclaw-entry.js
CHANGED
|
@@ -6,9 +6,16 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Installed via: openclaw plugin install @moltzap/openclaw-channel
|
|
8
8
|
* Config: channels.moltzap.accounts[].{apiKey, serverUrl, agentName}
|
|
9
|
+
*
|
|
10
|
+
* OpenClaw's plugin interface imposes Promise-based contracts at the boundary
|
|
11
|
+
* (`startAccount`, `sendText`, `deliver`, `listPeers`, `listGroups`, etc.) —
|
|
12
|
+
* those shapes are fixed. Internally we use Effect and only pay the
|
|
13
|
+
* `Effect.runPromise` tax at the plugin surface.
|
|
9
14
|
*/
|
|
10
|
-
import { MoltZapChannelCore, MoltZapService,
|
|
11
|
-
import {
|
|
15
|
+
import { MoltZapChannelCore, MoltZapService, } from "@moltzap/client";
|
|
16
|
+
import { Effect } from "effect";
|
|
17
|
+
import { formatCrossConvOpenClaw } from "./format-cross-conv.js";
|
|
18
|
+
import { extractDelivery, extractConversationCreated, extractConversationUpdated, extractContactRequest, extractContactAccepted, extractPresenceChanged, } from "./mapping.js";
|
|
12
19
|
import { EventNames } from "@moltzap/protocol";
|
|
13
20
|
const DEFAULT_ACCOUNT_ID = "default";
|
|
14
21
|
const CHANNEL_ID = "moltzap";
|
|
@@ -30,392 +37,389 @@ function resolveAccount(cfg, accountId) {
|
|
|
30
37
|
return (accounts.find((a) => a.id === id) ??
|
|
31
38
|
accounts[0] ?? { id, apiKey: "", serverUrl: "", agentName: "" });
|
|
32
39
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Wait for an AbortSignal to fire, as an Effect. Completes synchronously if
|
|
42
|
+
* the signal is already aborted; otherwise registers a one-shot `abort`
|
|
43
|
+
* listener and resolves when it fires. Replaces the ad-hoc
|
|
44
|
+
* `new Promise((resolve) => signal.addEventListener("abort", resolve))`.
|
|
45
|
+
*/
|
|
46
|
+
const waitForAbort = (signal) => Effect.async((resume) => {
|
|
47
|
+
if (signal.aborted) {
|
|
48
|
+
resume(Effect.void);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
signal.addEventListener("abort", () => resume(Effect.void), { once: true });
|
|
52
|
+
});
|
|
53
|
+
/**
|
|
54
|
+
* Factory: returns a fresh plugin object whose `activeClients` map lives in
|
|
55
|
+
* this closure. `register(api)` calls this so each registration gets its own
|
|
56
|
+
* per-plugin state, eliminating module-level mutable globals.
|
|
57
|
+
*/
|
|
58
|
+
export function createMoltzapChannelPlugin() {
|
|
59
|
+
const activeClients = new Map();
|
|
60
|
+
return {
|
|
37
61
|
id: CHANNEL_ID,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
chatTypes: ["dm", "group"],
|
|
49
|
-
},
|
|
50
|
-
messaging: {
|
|
51
|
-
targetResolver: {
|
|
52
|
-
looksLikeId(raw) {
|
|
53
|
-
return isMoltZapTarget(raw);
|
|
54
|
-
},
|
|
55
|
-
hint: 'Use "agent:<name>" for DMs or "conv:<id>" for existing conversations',
|
|
56
|
-
async resolveTarget(params) {
|
|
57
|
-
const { normalized } = params;
|
|
58
|
-
if (!isMoltZapTarget(normalized))
|
|
59
|
-
return null;
|
|
60
|
-
// "user" = DM target (agent:*), "group" = conversation target (conv:*)
|
|
61
|
-
const kind = normalized.startsWith(TARGET_PREFIX_CONV)
|
|
62
|
-
? "group"
|
|
63
|
-
: "user";
|
|
64
|
-
return {
|
|
65
|
-
to: normalized,
|
|
66
|
-
kind,
|
|
67
|
-
display: normalized.split(":").slice(1).join(":"),
|
|
68
|
-
source: "normalized",
|
|
69
|
-
};
|
|
70
|
-
},
|
|
62
|
+
meta: {
|
|
63
|
+
id: CHANNEL_ID,
|
|
64
|
+
label: "MoltZap",
|
|
65
|
+
selectionLabel: "MoltZap (agent messaging)",
|
|
66
|
+
docsPath: "/channels/moltzap",
|
|
67
|
+
docsLabel: "moltzap",
|
|
68
|
+
blurb: "Agent-to-agent messaging via the MoltZap protocol.",
|
|
69
|
+
detailLabel: "MoltZap",
|
|
70
|
+
aliases: ["mz"],
|
|
71
|
+
order: 200,
|
|
71
72
|
},
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
async listPeers(params) {
|
|
75
|
-
const service = activeClients.get(params.accountId ?? DEFAULT_ACCOUNT_ID);
|
|
76
|
-
if (!service)
|
|
77
|
-
return [];
|
|
78
|
-
try {
|
|
79
|
-
const { contacts } = (await service.sendRpc("contacts/list", {
|
|
80
|
-
status: "accepted",
|
|
81
|
-
}));
|
|
82
|
-
const agentIds = contacts.flatMap((c) => (c.agents ?? []).map((a) => a.id));
|
|
83
|
-
if (agentIds.length === 0)
|
|
84
|
-
return [];
|
|
85
|
-
const { agents } = (await service.sendRpc("agents/lookup", {
|
|
86
|
-
agentIds,
|
|
87
|
-
}));
|
|
88
|
-
return agents.map((a) => ({
|
|
89
|
-
id: `agent:${a.name}`,
|
|
90
|
-
name: a.displayName ?? a.name,
|
|
91
|
-
kind: "user",
|
|
92
|
-
}));
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
return [];
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
async listGroups(params) {
|
|
99
|
-
const service = activeClients.get(params.accountId ?? DEFAULT_ACCOUNT_ID);
|
|
100
|
-
if (!service)
|
|
101
|
-
return [];
|
|
102
|
-
try {
|
|
103
|
-
const { conversations } = (await service.sendRpc("conversations/list", {}));
|
|
104
|
-
return conversations
|
|
105
|
-
.filter((c) => c.type === "group" && c.name)
|
|
106
|
-
.map((c) => ({
|
|
107
|
-
id: `conv:${c.id}`,
|
|
108
|
-
name: c.name,
|
|
109
|
-
kind: "group",
|
|
110
|
-
}));
|
|
111
|
-
}
|
|
112
|
-
catch {
|
|
113
|
-
return [];
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
},
|
|
117
|
-
config: {
|
|
118
|
-
listAccountIds(cfg) {
|
|
119
|
-
const accounts = resolveAccountList(cfg);
|
|
120
|
-
return accounts.length > 0
|
|
121
|
-
? accounts.map((a) => a.id || DEFAULT_ACCOUNT_ID)
|
|
122
|
-
: [];
|
|
123
|
-
},
|
|
124
|
-
resolveAccount(cfg, accountId) {
|
|
125
|
-
return resolveAccount(cfg, accountId);
|
|
73
|
+
capabilities: {
|
|
74
|
+
chatTypes: ["dm", "group"],
|
|
126
75
|
},
|
|
127
|
-
|
|
128
|
-
|
|
76
|
+
messaging: {
|
|
77
|
+
targetResolver: {
|
|
78
|
+
looksLikeId(raw) {
|
|
79
|
+
return isMoltZapTarget(raw);
|
|
80
|
+
},
|
|
81
|
+
hint: 'Use "agent:<name>" for DMs or "conv:<id>" for existing conversations',
|
|
82
|
+
// #ignore-sloppy-code-next-line[async-keyword]: OpenClaw targetResolver interface contract
|
|
83
|
+
async resolveTarget(params) {
|
|
84
|
+
const { normalized } = params;
|
|
85
|
+
if (!isMoltZapTarget(normalized))
|
|
86
|
+
return null;
|
|
87
|
+
// "user" = DM target (agent:*), "group" = conversation target (conv:*)
|
|
88
|
+
const kind = normalized.startsWith(TARGET_PREFIX_CONV)
|
|
89
|
+
? "group"
|
|
90
|
+
: "user";
|
|
91
|
+
return {
|
|
92
|
+
to: normalized,
|
|
93
|
+
kind,
|
|
94
|
+
display: normalized.split(":").slice(1).join(":"),
|
|
95
|
+
source: "normalized",
|
|
96
|
+
};
|
|
97
|
+
},
|
|
98
|
+
},
|
|
129
99
|
},
|
|
130
|
-
|
|
131
|
-
|
|
100
|
+
directory: {
|
|
101
|
+
listPeers(params) {
|
|
102
|
+
const effect = Effect.gen(function* () {
|
|
103
|
+
const service = activeClients.get(params.accountId ?? DEFAULT_ACCOUNT_ID);
|
|
104
|
+
if (!service)
|
|
105
|
+
return [];
|
|
106
|
+
const { contacts } = (yield* service.sendRpc("contacts/list", {}));
|
|
107
|
+
const agentIds = contacts.flatMap((c) => (c.agents ?? []).map((a) => a.id));
|
|
108
|
+
if (agentIds.length === 0)
|
|
109
|
+
return [];
|
|
110
|
+
const { agents } = (yield* service.sendRpc("agents/lookup", {
|
|
111
|
+
agentIds,
|
|
112
|
+
}));
|
|
113
|
+
return agents.map((a) => ({
|
|
114
|
+
id: `agent:${a.name}`,
|
|
115
|
+
name: a.displayName ?? a.name,
|
|
116
|
+
kind: "user",
|
|
117
|
+
}));
|
|
118
|
+
}).pipe(Effect.catchAll(() => Effect.succeed([])));
|
|
119
|
+
return Effect.runPromise(effect);
|
|
120
|
+
},
|
|
121
|
+
listGroups(params) {
|
|
122
|
+
const effect = Effect.gen(function* () {
|
|
123
|
+
const service = activeClients.get(params.accountId ?? DEFAULT_ACCOUNT_ID);
|
|
124
|
+
if (!service)
|
|
125
|
+
return [];
|
|
126
|
+
const { conversations } = (yield* service.sendRpc("conversations/list", {}));
|
|
127
|
+
return conversations
|
|
128
|
+
.filter((c) => c.type === "group" && c.name)
|
|
129
|
+
.map((c) => ({
|
|
130
|
+
id: `conv:${c.id}`,
|
|
131
|
+
name: c.name,
|
|
132
|
+
kind: "group",
|
|
133
|
+
}));
|
|
134
|
+
}).pipe(Effect.catchAll(() => Effect.succeed([])));
|
|
135
|
+
return Effect.runPromise(effect);
|
|
136
|
+
},
|
|
132
137
|
},
|
|
133
|
-
|
|
134
|
-
|
|
138
|
+
config: {
|
|
139
|
+
listAccountIds(cfg) {
|
|
140
|
+
const accounts = resolveAccountList(cfg);
|
|
141
|
+
return accounts.length > 0
|
|
142
|
+
? accounts.map((a) => a.id || DEFAULT_ACCOUNT_ID)
|
|
143
|
+
: [];
|
|
144
|
+
},
|
|
145
|
+
resolveAccount(cfg, accountId) {
|
|
146
|
+
return resolveAccount(cfg, accountId);
|
|
147
|
+
},
|
|
148
|
+
isConfigured(account) {
|
|
149
|
+
return Boolean(account.apiKey && account.serverUrl);
|
|
150
|
+
},
|
|
151
|
+
unconfiguredReason() {
|
|
152
|
+
return "missing apiKey or serverUrl";
|
|
153
|
+
},
|
|
154
|
+
isEnabled(account) {
|
|
155
|
+
return account.enabled !== false;
|
|
156
|
+
},
|
|
135
157
|
},
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
log?.info?.(`MoltZap: connecting as ${account.agentName} to ${account.serverUrl}`);
|
|
145
|
-
const wsLogger = log
|
|
146
|
-
? {
|
|
147
|
-
info: log.info ?? (() => { }),
|
|
148
|
-
warn: log.warn ?? (() => { }),
|
|
149
|
-
error: log.error ?? (() => { }),
|
|
150
|
-
}
|
|
151
|
-
: undefined;
|
|
152
|
-
const service = new MoltZapService({
|
|
153
|
-
serverUrl: account.serverUrl,
|
|
154
|
-
agentKey: account.apiKey,
|
|
155
|
-
logger: wsLogger,
|
|
156
|
-
});
|
|
157
|
-
const core = new MoltZapChannelCore({ service, logger: wsLogger });
|
|
158
|
-
core.onInbound(async (enriched) => {
|
|
159
|
-
const chatType = enriched.conversationMeta?.type === "group" ? "group" : "direct";
|
|
160
|
-
const fromId = `${enriched.sender.type}:${enriched.sender.id}`;
|
|
161
|
-
log?.info?.(`MoltZap: inbound from ${fromId}: ${enriched.text.slice(0, 80)}`);
|
|
162
|
-
setStatus({
|
|
163
|
-
accountId,
|
|
164
|
-
lastInboundAt: Date.now(),
|
|
165
|
-
lastEventAt: Date.now(),
|
|
166
|
-
});
|
|
167
|
-
const crossConvBlock = formatCrossConversationBlock(enriched.contextBlocks.crossConversation ?? [], {
|
|
168
|
-
header: `Recent updates (you are in conv:${enriched.conversationId}):`,
|
|
169
|
-
});
|
|
170
|
-
const bodyForAgent = crossConvBlock
|
|
171
|
-
? `${crossConvBlock}\n\n${enriched.text}`
|
|
172
|
-
: enriched.text;
|
|
173
|
-
if (!ctx.channelRuntime?.reply?.dispatchReplyWithBufferedBlockDispatcher) {
|
|
158
|
+
gateway: {
|
|
159
|
+
// #ignore-sloppy-code-next-line[async-keyword]: OpenClaw gateway startAccount interface contract
|
|
160
|
+
async startAccount(ctx) {
|
|
161
|
+
const { accountId, account, abortSignal, log, setStatus } = ctx;
|
|
162
|
+
if (!account.apiKey || !account.serverUrl) {
|
|
163
|
+
log?.error?.("MoltZap: missing apiKey or serverUrl");
|
|
174
164
|
return;
|
|
175
165
|
}
|
|
176
|
-
|
|
177
|
-
const
|
|
178
|
-
?
|
|
166
|
+
log?.info?.(`MoltZap: connecting as ${account.agentName} to ${account.serverUrl}`);
|
|
167
|
+
const wsLogger = log
|
|
168
|
+
? {
|
|
169
|
+
info: log.info ?? (() => { }),
|
|
170
|
+
warn: log.warn ?? (() => { }),
|
|
171
|
+
error: log.error ?? (() => { }),
|
|
172
|
+
}
|
|
179
173
|
: undefined;
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
...(groupSubject ? { GroupSubject: groupSubject } : {}),
|
|
195
|
-
...(groupMembers ? { GroupMembers: groupMembers } : {}),
|
|
196
|
-
...(enriched.conversationMeta?.name
|
|
197
|
-
? { ConversationLabel: enriched.conversationMeta.name }
|
|
198
|
-
: {}),
|
|
199
|
-
SenderName: enriched.sender.name,
|
|
200
|
-
},
|
|
201
|
-
cfg: ctx.cfg,
|
|
202
|
-
dispatcherOptions: {
|
|
203
|
-
deliver: async (payload, info) => {
|
|
204
|
-
if (info?.kind !== "final")
|
|
205
|
-
return true;
|
|
206
|
-
const text = payload.text ?? payload.body;
|
|
207
|
-
if (!text)
|
|
208
|
-
return true;
|
|
209
|
-
try {
|
|
210
|
-
await core.sendReply(enriched.conversationId, text);
|
|
211
|
-
log?.info?.(`MoltZap: outbound reply to ${enriched.conversationId}: ${text.slice(0, 80)}`);
|
|
212
|
-
return true;
|
|
213
|
-
}
|
|
214
|
-
catch (sendErr) {
|
|
215
|
-
log?.error?.(`MoltZap: failed to send reply: ${sendErr}`);
|
|
216
|
-
return false;
|
|
217
|
-
}
|
|
218
|
-
},
|
|
219
|
-
},
|
|
174
|
+
const service = new MoltZapService({
|
|
175
|
+
serverUrl: account.serverUrl,
|
|
176
|
+
agentKey: account.apiKey,
|
|
177
|
+
logger: wsLogger,
|
|
178
|
+
});
|
|
179
|
+
const core = new MoltZapChannelCore({ service, logger: wsLogger });
|
|
180
|
+
core.onInbound((enriched) => Effect.gen(function* () {
|
|
181
|
+
const chatType = enriched.conversationMeta?.type === "group" ? "group" : "direct";
|
|
182
|
+
const fromId = `agent:${enriched.sender.id}`;
|
|
183
|
+
log?.info?.(`MoltZap: inbound from ${fromId}: ${enriched.text.slice(0, 80)}`);
|
|
184
|
+
setStatus({
|
|
185
|
+
accountId,
|
|
186
|
+
lastInboundAt: Date.now(),
|
|
187
|
+
lastEventAt: Date.now(),
|
|
220
188
|
});
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
// Forward non-message events for status/logging
|
|
230
|
-
service.on("rawEvent", (event) => {
|
|
231
|
-
switch (event.event) {
|
|
232
|
-
case EventNames.MessageRead: {
|
|
233
|
-
const receipt = extractReadReceipt(event);
|
|
234
|
-
if (receipt) {
|
|
235
|
-
log?.debug?.(`MoltZap: read receipt from ${receipt.participant.id} in ${receipt.conversationId} up to seq ${receipt.seq}`);
|
|
236
|
-
setStatus({ accountId, lastEventAt: Date.now() });
|
|
237
|
-
}
|
|
238
|
-
break;
|
|
239
|
-
}
|
|
240
|
-
case EventNames.MessageDelivered: {
|
|
241
|
-
const delivery = extractDelivery(event);
|
|
242
|
-
if (delivery) {
|
|
243
|
-
log?.debug?.(`MoltZap: delivery for ${delivery.messageId} in ${delivery.conversationId}`);
|
|
244
|
-
setStatus({ accountId, lastEventAt: Date.now() });
|
|
245
|
-
}
|
|
246
|
-
break;
|
|
189
|
+
const crossConvBlock = formatCrossConvOpenClaw(enriched.contextBlocks.crossConversationMessages ?? [], { ownAgentId: service.ownAgentId ?? "" });
|
|
190
|
+
const bodyForAgent = crossConvBlock
|
|
191
|
+
? `${crossConvBlock}\n\n${enriched.text}`
|
|
192
|
+
: enriched.text;
|
|
193
|
+
if (crossConvBlock) {
|
|
194
|
+
log?.info?.(`MoltZap: BodyForAgent has cross-conv context (${enriched.contextBlocks.crossConversationMessages?.length ?? 0} msgs) for ${enriched.conversationId}: ${bodyForAgent.slice(0, 500)}`);
|
|
247
195
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
setStatus({ accountId, lastEventAt: Date.now() });
|
|
253
|
-
}
|
|
254
|
-
break;
|
|
196
|
+
const dispatch = ctx.channelRuntime?.reply
|
|
197
|
+
?.dispatchReplyWithBufferedBlockDispatcher;
|
|
198
|
+
if (!dispatch) {
|
|
199
|
+
return;
|
|
255
200
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
201
|
+
const groupSubject = enriched.conversationMeta?.name;
|
|
202
|
+
const groupMembers = enriched.conversationMeta?.type === "group"
|
|
203
|
+
? enriched.conversationMeta.participants.join(",")
|
|
204
|
+
: undefined;
|
|
205
|
+
// Bridge OpenClaw's Promise-shaped dispatch into Effect, then
|
|
206
|
+
// catchAll back to a logged no-op so a single failed reply doesn't
|
|
207
|
+
// crash the consumer fiber.
|
|
208
|
+
const result = yield* Effect.tryPromise({
|
|
209
|
+
try: () => dispatch({
|
|
210
|
+
ctx: {
|
|
211
|
+
Body: enriched.text,
|
|
212
|
+
BodyForAgent: bodyForAgent,
|
|
213
|
+
From: fromId,
|
|
214
|
+
To: account.agentName ?? accountId,
|
|
215
|
+
SessionKey: `agent:main:moltzap:${chatType === "group" ? "group" : "dm"}:${enriched.conversationId}`,
|
|
216
|
+
AccountId: accountId,
|
|
217
|
+
Provider: CHANNEL_ID,
|
|
218
|
+
Surface: CHANNEL_ID,
|
|
219
|
+
OriginatingChannel: CHANNEL_ID,
|
|
220
|
+
OriginatingTo: enriched.conversationId,
|
|
221
|
+
ChatType: chatType,
|
|
222
|
+
...(groupSubject ? { GroupSubject: groupSubject } : {}),
|
|
223
|
+
...(groupMembers ? { GroupMembers: groupMembers } : {}),
|
|
224
|
+
...(enriched.conversationMeta?.name
|
|
225
|
+
? { ConversationLabel: enriched.conversationMeta.name }
|
|
226
|
+
: {}),
|
|
227
|
+
SenderName: enriched.sender.name,
|
|
228
|
+
},
|
|
229
|
+
cfg: ctx.cfg,
|
|
230
|
+
dispatcherOptions: {
|
|
231
|
+
deliver: (payload, info) => {
|
|
232
|
+
if (info?.kind !== "final")
|
|
233
|
+
return Promise.resolve(true);
|
|
234
|
+
const text = payload.text ?? payload.body;
|
|
235
|
+
if (!text)
|
|
236
|
+
return Promise.resolve(true);
|
|
237
|
+
// core.sendReply is Effect-native; run it at the
|
|
238
|
+
// OpenClaw boundary which demands a Promise.
|
|
239
|
+
const deliverEffect = core
|
|
240
|
+
.sendReply(enriched.conversationId, text)
|
|
241
|
+
.pipe(Effect.tap(() => Effect.sync(() => log?.info?.(`MoltZap: outbound reply to ${enriched.conversationId}: ${text.slice(0, 80)}`))), Effect.map(() => true), Effect.catchAll((err) => Effect.sync(() => {
|
|
242
|
+
log?.error?.(`MoltZap: failed to send reply: ${err}`);
|
|
243
|
+
return false;
|
|
244
|
+
})));
|
|
245
|
+
return Effect.runPromise(deliverEffect);
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
}),
|
|
249
|
+
catch: (err) => err,
|
|
250
|
+
}).pipe(Effect.catchAll((err) => Effect.sync(() => {
|
|
251
|
+
log?.error?.(`MoltZap: dispatch error: ${err}`);
|
|
252
|
+
return null;
|
|
253
|
+
})));
|
|
254
|
+
if (result && !result.queuedFinal) {
|
|
255
|
+
log?.debug?.(`MoltZap: dispatch completed without final reply for ${enriched.conversationId}`);
|
|
263
256
|
}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
257
|
+
}));
|
|
258
|
+
// Forward non-message events for status/logging.
|
|
259
|
+
// Sync dispatcher — no async work, just log + setStatus. // #ignore-sloppy-code[async-keyword]: comment prose only, not code
|
|
260
|
+
service.on("rawEvent", (event) => {
|
|
261
|
+
switch (event.event) {
|
|
262
|
+
case EventNames.MessageDelivered: {
|
|
263
|
+
const delivery = extractDelivery(event);
|
|
264
|
+
if (delivery) {
|
|
265
|
+
log?.debug?.(`MoltZap: delivery for ${delivery.messageId} in ${delivery.conversationId}`);
|
|
266
|
+
setStatus({ accountId, lastEventAt: Date.now() });
|
|
267
|
+
}
|
|
268
|
+
break;
|
|
269
269
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
270
|
+
case EventNames.ConversationCreated: {
|
|
271
|
+
const created = extractConversationCreated(event);
|
|
272
|
+
if (created) {
|
|
273
|
+
log?.debug?.(`MoltZap: conversation created ${created.conversation.id}`);
|
|
274
|
+
setStatus({ accountId, lastEventAt: Date.now() });
|
|
275
|
+
}
|
|
276
|
+
break;
|
|
277
277
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
278
|
+
case EventNames.ConversationUpdated: {
|
|
279
|
+
const updated = extractConversationUpdated(event);
|
|
280
|
+
if (updated) {
|
|
281
|
+
log?.debug?.(`MoltZap: conversation updated ${updated.conversation.id}`);
|
|
282
|
+
setStatus({ accountId, lastEventAt: Date.now() });
|
|
283
|
+
}
|
|
284
|
+
break;
|
|
285
285
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
286
|
+
case EventNames.ContactRequest: {
|
|
287
|
+
const contact = extractContactRequest(event);
|
|
288
|
+
if (contact) {
|
|
289
|
+
log?.debug?.(`MoltZap: contact request from ${contact.contact.contactUserId}`);
|
|
290
|
+
setStatus({ accountId, lastEventAt: Date.now() });
|
|
291
|
+
}
|
|
292
|
+
break;
|
|
293
293
|
}
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
294
|
+
case EventNames.ContactAccepted: {
|
|
295
|
+
const contact = extractContactAccepted(event);
|
|
296
|
+
if (contact) {
|
|
297
|
+
log?.debug?.(`MoltZap: contact accepted ${contact.contact.id}`);
|
|
298
|
+
setStatus({ accountId, lastEventAt: Date.now() });
|
|
299
|
+
}
|
|
300
|
+
break;
|
|
301
301
|
}
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
302
|
+
case EventNames.PresenceChanged: {
|
|
303
|
+
const presence = extractPresenceChanged(event);
|
|
304
|
+
if (presence) {
|
|
305
|
+
log?.debug?.(`MoltZap: ${presence.agentId} is now ${presence.status}`);
|
|
306
|
+
setStatus({ accountId, lastEventAt: Date.now() });
|
|
307
|
+
}
|
|
308
|
+
break;
|
|
308
309
|
}
|
|
309
|
-
break;
|
|
310
310
|
}
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
core.onDisconnect(() => {
|
|
314
|
-
log?.warn?.("MoltZap: disconnected");
|
|
315
|
-
setStatus({
|
|
316
|
-
accountId,
|
|
317
|
-
connected: false,
|
|
318
|
-
lastDisconnect: { at: Date.now() },
|
|
319
|
-
});
|
|
320
|
-
});
|
|
321
|
-
core.onReconnect(() => {
|
|
322
|
-
log?.info?.("MoltZap: reconnected");
|
|
323
|
-
setStatus({
|
|
324
|
-
accountId,
|
|
325
|
-
connected: true,
|
|
326
|
-
lastConnectedAt: Date.now(),
|
|
327
311
|
});
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
}
|
|
335
|
-
abortSignal.addEventListener("abort", () => {
|
|
336
|
-
void core.disconnect();
|
|
337
|
-
activeClients.delete(accountId);
|
|
338
|
-
}, { once: true });
|
|
339
|
-
try {
|
|
340
|
-
await core.connect();
|
|
341
|
-
service.startSocketServer();
|
|
342
|
-
log?.info?.(`MoltZap: connected as ${account.agentName} (${service.ownAgentId})`);
|
|
343
|
-
setStatus({
|
|
344
|
-
accountId,
|
|
345
|
-
connected: true,
|
|
346
|
-
lastConnectedAt: Date.now(),
|
|
347
|
-
});
|
|
348
|
-
// Keep the gateway task alive until abort.
|
|
349
|
-
await new Promise((resolve) => {
|
|
350
|
-
abortSignal.addEventListener("abort", () => resolve(), {
|
|
351
|
-
once: true,
|
|
312
|
+
core.onDisconnect(() => {
|
|
313
|
+
log?.warn?.("MoltZap: disconnected");
|
|
314
|
+
setStatus({
|
|
315
|
+
accountId,
|
|
316
|
+
connected: false,
|
|
317
|
+
lastDisconnect: { at: Date.now() },
|
|
352
318
|
});
|
|
353
319
|
});
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
async stopAccount(ctx) {
|
|
361
|
-
const service = activeClients.get(ctx.accountId);
|
|
362
|
-
if (service) {
|
|
363
|
-
ctx.log?.info?.("MoltZap: stopping");
|
|
364
|
-
service.close();
|
|
365
|
-
activeClients.delete(ctx.accountId);
|
|
366
|
-
}
|
|
367
|
-
},
|
|
368
|
-
},
|
|
369
|
-
outbound: {
|
|
370
|
-
deliveryMode: "gateway",
|
|
371
|
-
resolveTarget(params) {
|
|
372
|
-
const to = params.to?.trim();
|
|
373
|
-
if (!to) {
|
|
374
|
-
return { ok: false, error: new Error("MoltZap: target is required") };
|
|
375
|
-
}
|
|
376
|
-
if (to.includes(":") && !isMoltZapTarget(to)) {
|
|
377
|
-
return {
|
|
378
|
-
ok: false,
|
|
379
|
-
error: new Error(`MoltZap: unsupported target format "${to}" — use agent:<name> or conv:<id>`),
|
|
380
|
-
};
|
|
381
|
-
}
|
|
382
|
-
return { ok: true, to };
|
|
383
|
-
},
|
|
384
|
-
async sendText(ctx) {
|
|
385
|
-
const accountId = ctx.accountId ?? DEFAULT_ACCOUNT_ID;
|
|
386
|
-
const service = activeClients.get(accountId);
|
|
387
|
-
if (!service) {
|
|
388
|
-
return {
|
|
389
|
-
ok: false,
|
|
390
|
-
error: new Error("MoltZap client not connected"),
|
|
391
|
-
};
|
|
392
|
-
}
|
|
393
|
-
try {
|
|
394
|
-
if (ctx.to.startsWith(TARGET_PREFIX_AGENT)) {
|
|
395
|
-
const agentName = ctx.to.slice(TARGET_PREFIX_AGENT.length);
|
|
396
|
-
await service.sendToAgent(agentName, ctx.text, {
|
|
397
|
-
replyTo: ctx.replyToId,
|
|
320
|
+
core.onReconnect(() => {
|
|
321
|
+
log?.info?.("MoltZap: reconnected");
|
|
322
|
+
setStatus({
|
|
323
|
+
accountId,
|
|
324
|
+
connected: true,
|
|
325
|
+
lastConnectedAt: Date.now(),
|
|
398
326
|
});
|
|
327
|
+
});
|
|
328
|
+
activeClients.set(accountId, service);
|
|
329
|
+
if (abortSignal.aborted) {
|
|
330
|
+
await Effect.runPromise(core.disconnect());
|
|
331
|
+
activeClients.delete(accountId);
|
|
332
|
+
return;
|
|
399
333
|
}
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
334
|
+
abortSignal.addEventListener("abort", () => {
|
|
335
|
+
void Effect.runPromise(core.disconnect());
|
|
336
|
+
activeClients.delete(accountId);
|
|
337
|
+
}, { once: true });
|
|
338
|
+
try {
|
|
339
|
+
await Effect.runPromise(core.connect());
|
|
340
|
+
service.startSocketServer();
|
|
341
|
+
log?.info?.(`MoltZap: connected as ${account.agentName} (${service.ownAgentId})`);
|
|
342
|
+
setStatus({
|
|
343
|
+
accountId,
|
|
344
|
+
connected: true,
|
|
345
|
+
lastConnectedAt: Date.now(),
|
|
406
346
|
});
|
|
347
|
+
// Keep the gateway task alive until abort — expressed as Effect.
|
|
348
|
+
await Effect.runPromise(waitForAbort(abortSignal));
|
|
349
|
+
}
|
|
350
|
+
catch (err) {
|
|
351
|
+
log?.error?.(`MoltZap: connection failed: ${err}`);
|
|
352
|
+
throw err;
|
|
353
|
+
}
|
|
354
|
+
},
|
|
355
|
+
// #ignore-sloppy-code-next-line[async-keyword]: OpenClaw gateway stopAccount interface contract
|
|
356
|
+
async stopAccount(ctx) {
|
|
357
|
+
const service = activeClients.get(ctx.accountId);
|
|
358
|
+
if (service) {
|
|
359
|
+
ctx.log?.info?.("MoltZap: stopping");
|
|
360
|
+
service.close();
|
|
361
|
+
activeClients.delete(ctx.accountId);
|
|
407
362
|
}
|
|
408
|
-
|
|
409
|
-
}
|
|
410
|
-
catch (err) {
|
|
411
|
-
return {
|
|
412
|
-
ok: false,
|
|
413
|
-
error: err instanceof Error ? err : new Error(String(err)),
|
|
414
|
-
};
|
|
415
|
-
}
|
|
363
|
+
},
|
|
416
364
|
},
|
|
417
|
-
|
|
418
|
-
|
|
365
|
+
outbound: {
|
|
366
|
+
deliveryMode: "gateway",
|
|
367
|
+
resolveTarget(params) {
|
|
368
|
+
const to = params.to?.trim();
|
|
369
|
+
if (!to) {
|
|
370
|
+
return {
|
|
371
|
+
ok: false,
|
|
372
|
+
error: new Error("MoltZap: target is required"),
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
if (to.includes(":") && !isMoltZapTarget(to)) {
|
|
376
|
+
return {
|
|
377
|
+
ok: false,
|
|
378
|
+
error: new Error(`MoltZap: unsupported target format "${to}" — use agent:<name> or conv:<id>`),
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
return { ok: true, to };
|
|
382
|
+
},
|
|
383
|
+
sendText(ctx) {
|
|
384
|
+
const effect = Effect.gen(function* () {
|
|
385
|
+
const accountId = ctx.accountId ?? DEFAULT_ACCOUNT_ID;
|
|
386
|
+
const service = activeClients.get(accountId);
|
|
387
|
+
if (!service) {
|
|
388
|
+
return yield* Effect.fail(new Error("MoltZap client not connected"));
|
|
389
|
+
}
|
|
390
|
+
if (ctx.to.startsWith(TARGET_PREFIX_AGENT)) {
|
|
391
|
+
const agentName = ctx.to.slice(TARGET_PREFIX_AGENT.length);
|
|
392
|
+
yield* service.sendToAgent(agentName, ctx.text, {
|
|
393
|
+
replyTo: ctx.replyToId,
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
const conversationId = ctx.to.startsWith(TARGET_PREFIX_CONV)
|
|
398
|
+
? ctx.to.slice(TARGET_PREFIX_CONV.length)
|
|
399
|
+
: ctx.to;
|
|
400
|
+
yield* service.send(conversationId, ctx.text, {
|
|
401
|
+
replyTo: ctx.replyToId,
|
|
402
|
+
});
|
|
403
|
+
}
|
|
404
|
+
return { ok: true };
|
|
405
|
+
}).pipe(Effect.match({
|
|
406
|
+
onSuccess: (ok) => ok,
|
|
407
|
+
onFailure: (err) => ({
|
|
408
|
+
ok: false,
|
|
409
|
+
error: err instanceof Error ? err : new Error(String(err)),
|
|
410
|
+
}),
|
|
411
|
+
}));
|
|
412
|
+
return Effect.runPromise(effect);
|
|
413
|
+
},
|
|
414
|
+
},
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Shared singleton so a single registration reuses the same `activeClients`
|
|
419
|
+
* closure across `startAccount` and `sendText`. Tests import this directly
|
|
420
|
+
* to assert against that shared state.
|
|
421
|
+
*/
|
|
422
|
+
export const moltzapChannelPlugin = createMoltzapChannelPlugin();
|
|
419
423
|
const plugin = {
|
|
420
424
|
id: "openclaw-channel",
|
|
421
425
|
name: "MoltZap",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-entry.js","sourceRoot":"","sources":["../src/openclaw-entry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openclaw-entry.js","sourceRoot":"","sources":["../src/openclaw-entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@moltzap/openclaw-channel/test-support` — narrow public subpath
|
|
3
|
+
* export so the protocol conformance suite can instantiate a real
|
|
4
|
+
* MoltZap WS client in the shape OpenClaw ships (AC16).
|
|
5
|
+
*
|
|
6
|
+
* Architect-201 §8 O5: the channel plugin embeds `MoltZapChannelCore`
|
|
7
|
+
* (which internally composes `MoltZapWsClient`) via a private path. A
|
|
8
|
+
* conformance wrapper would need to reach through that plugin surface
|
|
9
|
+
* to exercise the client directly. Instead, this module re-uses the
|
|
10
|
+
* client adapter shipped by `@moltzap/client/test-utils` (which is the
|
|
11
|
+
* transport core all three consumers share) — keeping the plugin's
|
|
12
|
+
* public contract unchanged.
|
|
13
|
+
*/
|
|
14
|
+
export { createMoltZapRealClientFactory, type RealClientFactoryOptions, } from "@moltzap/client/test-utils";
|
|
15
|
+
//# sourceMappingURL=test-support.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-support.d.ts","sourceRoot":"","sources":["../src/test-support.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,8BAA8B,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@moltzap/openclaw-channel/test-support` — narrow public subpath
|
|
3
|
+
* export so the protocol conformance suite can instantiate a real
|
|
4
|
+
* MoltZap WS client in the shape OpenClaw ships (AC16).
|
|
5
|
+
*
|
|
6
|
+
* Architect-201 §8 O5: the channel plugin embeds `MoltZapChannelCore`
|
|
7
|
+
* (which internally composes `MoltZapWsClient`) via a private path. A
|
|
8
|
+
* conformance wrapper would need to reach through that plugin surface
|
|
9
|
+
* to exercise the client directly. Instead, this module re-uses the
|
|
10
|
+
* client adapter shipped by `@moltzap/client/test-utils` (which is the
|
|
11
|
+
* transport core all three consumers share) — keeping the plugin's
|
|
12
|
+
* public contract unchanged.
|
|
13
|
+
*/
|
|
14
|
+
export { createMoltZapRealClientFactory, } from "@moltzap/client/test-utils";
|
|
15
|
+
//# sourceMappingURL=test-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-support.js","sourceRoot":"","sources":["../src/test-support.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,8BAA8B,GAE/B,MAAM,4BAA4B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moltzap/openclaw-channel",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.425.0",
|
|
4
4
|
"description": "OpenClaw channel plugin for MoltZap messaging",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "https://github.com/chughtapan/moltzap"
|
|
8
|
+
"url": "git+https://github.com/chughtapan/moltzap.git"
|
|
9
9
|
},
|
|
10
10
|
"type": "module",
|
|
11
11
|
"files": [
|
|
@@ -20,17 +20,26 @@
|
|
|
20
20
|
"./test-utils": {
|
|
21
21
|
"import": "./dist/test-utils/container-core.js",
|
|
22
22
|
"types": "./dist/test-utils/container-core.d.ts"
|
|
23
|
+
},
|
|
24
|
+
"./test-support": {
|
|
25
|
+
"import": "./dist/test-support.js",
|
|
26
|
+
"types": "./dist/test-support.d.ts"
|
|
23
27
|
}
|
|
24
28
|
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "tsc",
|
|
31
|
+
"test": "vitest run",
|
|
32
|
+
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
33
|
+
"test:conformance": "bash ../protocol/scripts/check-divergence-proofs.sh && vitest run -c vitest.conformance.config.ts"
|
|
34
|
+
},
|
|
25
35
|
"dependencies": {
|
|
26
|
-
"
|
|
27
|
-
"@moltzap/
|
|
28
|
-
"
|
|
36
|
+
"@moltzap/client": "workspace:*",
|
|
37
|
+
"@moltzap/protocol": "workspace:*",
|
|
38
|
+
"effect": "3.21.0"
|
|
29
39
|
},
|
|
30
40
|
"devDependencies": {
|
|
31
41
|
"@testcontainers/postgresql": "^10.18.0",
|
|
32
42
|
"@types/pg": "^8.11.0",
|
|
33
|
-
"@types/ws": "^8.5.0",
|
|
34
43
|
"openai": "^6.26.0",
|
|
35
44
|
"pg": "^8.13.0",
|
|
36
45
|
"testcontainers": "^10.18.0",
|
|
@@ -44,10 +53,5 @@
|
|
|
44
53
|
"extensions": [
|
|
45
54
|
"./dist/openclaw-entry.js"
|
|
46
55
|
]
|
|
47
|
-
},
|
|
48
|
-
"scripts": {
|
|
49
|
-
"build": "tsc",
|
|
50
|
-
"test": "vitest run",
|
|
51
|
-
"test:integration": "vitest run --config vitest.integration.config.ts"
|
|
52
56
|
}
|
|
53
|
-
}
|
|
57
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Tapan Chugh
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|