golembot 0.36.0 → 0.37.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.
|
@@ -22,5 +22,10 @@ export declare class WeixinAdapter implements ChannelAdapter {
|
|
|
22
22
|
private headers;
|
|
23
23
|
private pollLoop;
|
|
24
24
|
private parseMessage;
|
|
25
|
+
/**
|
|
26
|
+
* Download and decrypt an image from WeChat CDN.
|
|
27
|
+
* Images are AES-128-ECB encrypted on the CDN.
|
|
28
|
+
*/
|
|
29
|
+
private downloadImage;
|
|
25
30
|
}
|
|
26
31
|
//# sourceMappingURL=weixin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weixin.d.ts","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"weixin.d.ts","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAI3D;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,gBAAgB,QAAQ;IAEjC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAO;IACvC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,mBAAmB,CAAgC;gBAE/C,MAAM,EAAE,mBAAmB;IAKjC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9D,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgChF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,CAAC,OAAO;YASD,QAAQ;YA6ER,YAAY;IAqE1B;;;OAGG;YACW,aAAa;CAwC5B"}
|
package/dist/channels/weixin.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { randomUUID } from 'node:crypto';
|
|
1
|
+
import { createDecipheriv, randomUUID } from 'node:crypto';
|
|
2
|
+
const CDN_BASE = 'https://novac2c.cdn.weixin.qq.com/c2c';
|
|
2
3
|
/**
|
|
3
4
|
* WeChat (个人微信) adapter using Tencent iLink Bot API.
|
|
4
5
|
* Pure HTTP long-polling — no external SDK dependency.
|
|
@@ -101,7 +102,7 @@ export class WeixinAdapter {
|
|
|
101
102
|
consecutiveErrors = 0;
|
|
102
103
|
const msgs = data.msgs || [];
|
|
103
104
|
for (const update of msgs) {
|
|
104
|
-
const parsed = this.parseMessage(update);
|
|
105
|
+
const parsed = await this.parseMessage(update);
|
|
105
106
|
if (!parsed)
|
|
106
107
|
continue;
|
|
107
108
|
// Dedup
|
|
@@ -136,7 +137,7 @@ export class WeixinAdapter {
|
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
}
|
|
139
|
-
parseMessage(update) {
|
|
140
|
+
async parseMessage(update) {
|
|
140
141
|
const raw = update;
|
|
141
142
|
// Only process user messages (message_type 1); skip bot messages (2+)
|
|
142
143
|
if (raw.message_type !== undefined && raw.message_type !== 1)
|
|
@@ -146,8 +147,9 @@ export class WeixinAdapter {
|
|
|
146
147
|
return null;
|
|
147
148
|
const messageId = raw.client_id || '';
|
|
148
149
|
const itemList = raw.item_list || [];
|
|
149
|
-
// Extract text from item_list
|
|
150
|
+
// Extract text and images from item_list
|
|
150
151
|
let text = '';
|
|
152
|
+
const images = [];
|
|
151
153
|
for (const item of itemList) {
|
|
152
154
|
switch (item.type) {
|
|
153
155
|
case 1: {
|
|
@@ -155,9 +157,22 @@ export class WeixinAdapter {
|
|
|
155
157
|
text += textItem?.text || '';
|
|
156
158
|
break;
|
|
157
159
|
}
|
|
158
|
-
case 2:
|
|
159
|
-
|
|
160
|
+
case 2: {
|
|
161
|
+
const imageItem = item.image_item;
|
|
162
|
+
if (imageItem) {
|
|
163
|
+
try {
|
|
164
|
+
const img = await this.downloadImage(imageItem);
|
|
165
|
+
if (img)
|
|
166
|
+
images.push(img);
|
|
167
|
+
}
|
|
168
|
+
catch (e) {
|
|
169
|
+
console.error('[weixin] Failed to download image:', e.message);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
if (images.length === 0)
|
|
173
|
+
text += '(image)';
|
|
160
174
|
break;
|
|
175
|
+
}
|
|
161
176
|
case 3: {
|
|
162
177
|
const voiceItem = item.voice_item;
|
|
163
178
|
text += voiceItem?.text || '(voice)';
|
|
@@ -176,8 +191,10 @@ export class WeixinAdapter {
|
|
|
176
191
|
break;
|
|
177
192
|
}
|
|
178
193
|
}
|
|
179
|
-
if (!text)
|
|
194
|
+
if (!text && images.length === 0)
|
|
180
195
|
return null;
|
|
196
|
+
if (!text && images.length > 0)
|
|
197
|
+
text = '(image)';
|
|
181
198
|
return {
|
|
182
199
|
channelType: 'weixin',
|
|
183
200
|
senderId,
|
|
@@ -185,8 +202,56 @@ export class WeixinAdapter {
|
|
|
185
202
|
chatType: 'dm',
|
|
186
203
|
text,
|
|
187
204
|
messageId,
|
|
205
|
+
images: images.length > 0 ? images : undefined,
|
|
188
206
|
raw: update,
|
|
189
207
|
};
|
|
190
208
|
}
|
|
209
|
+
/**
|
|
210
|
+
* Download and decrypt an image from WeChat CDN.
|
|
211
|
+
* Images are AES-128-ECB encrypted on the CDN.
|
|
212
|
+
*/
|
|
213
|
+
async downloadImage(imageItem) {
|
|
214
|
+
const media = imageItem.media;
|
|
215
|
+
const encryptQueryParam = media?.encrypt_query_param;
|
|
216
|
+
if (!encryptQueryParam)
|
|
217
|
+
return null;
|
|
218
|
+
// 1. Download encrypted bytes from CDN (no auth needed)
|
|
219
|
+
const cdnUrl = `${CDN_BASE}/download?encrypted_query_param=${encodeURIComponent(encryptQueryParam)}`;
|
|
220
|
+
const resp = await fetch(cdnUrl);
|
|
221
|
+
if (!resp.ok)
|
|
222
|
+
throw new Error(`CDN download failed: HTTP ${resp.status}`);
|
|
223
|
+
const encrypted = Buffer.from(await resp.arrayBuffer());
|
|
224
|
+
if (encrypted.length === 0)
|
|
225
|
+
return null;
|
|
226
|
+
// 2. Parse AES key
|
|
227
|
+
const aesKeyHex = imageItem.aeskey;
|
|
228
|
+
let key;
|
|
229
|
+
if (aesKeyHex && aesKeyHex.length === 32) {
|
|
230
|
+
key = Buffer.from(aesKeyHex, 'hex');
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
const aesKeyB64 = media?.aes_key;
|
|
234
|
+
if (!aesKeyB64)
|
|
235
|
+
return null;
|
|
236
|
+
const decoded = Buffer.from(aesKeyB64, 'base64');
|
|
237
|
+
if (decoded.length === 16) {
|
|
238
|
+
key = decoded;
|
|
239
|
+
}
|
|
240
|
+
else if (decoded.length === 32 && /^[0-9a-fA-F]{32}$/.test(decoded.toString('ascii'))) {
|
|
241
|
+
key = Buffer.from(decoded.toString('ascii'), 'hex');
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
return null;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
// 3. Decrypt AES-128-ECB
|
|
248
|
+
const decipher = createDecipheriv('aes-128-ecb', key, null);
|
|
249
|
+
const data = Buffer.concat([decipher.update(encrypted), decipher.final()]);
|
|
250
|
+
// 4. Detect format from magic bytes
|
|
251
|
+
const isPng = data[0] === 0x89 && data[1] === 0x50;
|
|
252
|
+
const mimeType = isPng ? 'image/png' : 'image/jpeg';
|
|
253
|
+
const ext = isPng ? 'png' : 'jpg';
|
|
254
|
+
return { mimeType, data, fileName: `weixin-image.${ext}` };
|
|
255
|
+
}
|
|
191
256
|
}
|
|
192
257
|
//# sourceMappingURL=weixin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weixin.js","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"weixin.js","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI3D,MAAM,QAAQ,GAAG,uCAAuC,CAAC;AAEzD;;;GAGG;AACH,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,QAAQ,CAAC;IAChB,gBAAgB,GAAG,IAAI,CAAC;IAEzB,MAAM,CAAsB;IAC5B,OAAO,CAAS;IAChB,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,CAAU,QAAQ,GAAG,GAAG,CAAC;IAC/B,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,UAAU,GAAG,EAAE,CAAC;IAChB,OAAO,GAAG,KAAK,CAAC;IAChB,mBAAmB,GAA2B,IAAI,CAAC;IAE3D,YAAY,MAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,+BAA+B,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAwC;QAClD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;QAClH,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAmB,EAAE,IAAY,EAAE,QAAuB;QACpE,MAAM,GAAG,GAAG,GAAG,CAAC,GAA0C,CAAC;QAC3D,MAAM,YAAY,GAAI,GAAG,EAAE,aAAwB,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5F,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,CAAC,QAAQ,8BAA8B,CAAC,CAAC;YACtF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG;YACX,GAAG,EAAE;gBACH,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,GAAG,CAAC,QAAQ;gBACxB,SAAS,EAAE,UAAU,EAAE;gBACvB,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,CAAC;gBAChB,aAAa,EAAE,YAAY;gBAC3B,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;aAC9C;YACD,SAAS,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE;SACxC,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,wBAAwB,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,8EAA8E;IAEtE,OAAO;QACb,OAAO;YACL,cAAc,EAAE,kBAAkB;YAClC,iBAAiB,EAAE,iBAAiB;YACpC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YAC5C,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC;SAClE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,SAAwC;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,SAAS,GAAG,MAAM,CAAC;QACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,mBAAmB,GAAG,IAAI,eAAe,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,uBAAuB,EAAE;oBAC/D,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;oBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,eAAe,EAAE,IAAI,CAAC,UAAU;wBAChC,SAAS,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE;qBACxC,CAAC;oBACF,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM;iBACxC,CAAC,CAAC;gBAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACb,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBACxB,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;wBAC7F,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;wBACrB,OAAO;oBACT,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAI9B,CAAC;gBAEF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;gBACzC,CAAC;gBAED,iBAAiB,GAAG,CAAC,CAAC;gBAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;oBAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC/C,IAAI,CAAC,MAAM;wBAAE,SAAS;oBAEtB,QAAQ;oBACR,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBACxE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;wBAClD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;wBACrC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChE,CAAC;oBAED,sCAAsC;oBACtC,MAAM,GAAG,GAAG,MAAiC,CAAC;oBAC9C,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;wBACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAuB,CAAC,CAAC;oBACvE,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;oBAC1B,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAK,CAAW,CAAC,IAAI,KAAK,YAAY;oBAAE,MAAM;gBAC9C,iBAAiB,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC7E,OAAO,CAAC,KAAK,CACX,gCAAgC,iBAAiB,MAAO,CAAW,CAAC,OAAO,iBAAiB,KAAK,IAAI,CACtG,CAAC;gBACF,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAAe;QACxC,MAAM,GAAG,GAAG,MAAiC,CAAC;QAE9C,sEAAsE;QACtE,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1E,MAAM,QAAQ,GAAI,GAAG,CAAC,YAAuB,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,SAAS,GAAI,GAAG,CAAC,SAAoB,IAAI,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAI,GAAG,CAAC,SAA4C,IAAI,EAAE,CAAC;QAEzE,yCAAyC;QACzC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,CAAC,CAAC,CAAC,CAAC;oBACP,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAgD,CAAC;oBACvE,IAAI,IAAK,QAAQ,EAAE,IAAe,IAAI,EAAE,CAAC;oBACzC,MAAM;gBACR,CAAC;gBACD,KAAK,CAAC,CAAC,CAAC,CAAC;oBACP,MAAM,SAAS,GAAG,IAAI,CAAC,UAAiD,CAAC;oBACzE,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,CAAC;4BACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;4BAChD,IAAI,GAAG;gCAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC5B,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;wBAC5E,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;wBAAE,IAAI,IAAI,SAAS,CAAC;oBAC3C,MAAM;gBACR,CAAC;gBACD,KAAK,CAAC,CAAC,CAAC,CAAC;oBACP,MAAM,SAAS,GAAG,IAAI,CAAC,UAAiD,CAAC;oBACzE,IAAI,IAAK,SAAS,EAAE,IAAe,IAAI,SAAS,CAAC;oBACjD,MAAM;gBACR,CAAC;gBACD,KAAK,CAAC,CAAC,CAAC,CAAC;oBACP,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAgD,CAAC;oBACvE,MAAM,QAAQ,GAAI,QAAQ,EAAE,QAAmB,IAAI,EAAE,CAAC;oBACtD,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAU,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACpD,MAAM;gBACR,CAAC;gBACD,KAAK,CAAC;oBACJ,IAAI,IAAI,SAAS,CAAC;oBAClB,MAAM;gBACR;oBACE,MAAM;YACV,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,GAAG,SAAS,CAAC;QAEjD,OAAO;YACL,WAAW,EAAE,QAAQ;YACrB,QAAQ;YACR,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,IAAI;YACd,IAAI;YACJ,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC9C,GAAG,EAAE,MAAM;SACZ,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAAC,SAAkC;QAC5D,MAAM,KAAK,GAAG,SAAS,CAAC,KAA4C,CAAC;QACrE,MAAM,iBAAiB,GAAG,KAAK,EAAE,mBAAyC,CAAC;QAC3E,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAEpC,wDAAwD;QACxD,MAAM,MAAM,GAAG,GAAG,QAAQ,mCAAmC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrG,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACxD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,mBAAmB;QACnB,MAAM,SAAS,GAAG,SAAS,CAAC,MAA4B,CAAC;QACzD,IAAI,GAAW,CAAC;QAChB,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACzC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,KAAK,EAAE,OAA6B,CAAC;YACvD,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjD,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBAC1B,GAAG,GAAG,OAAO,CAAC;YAChB,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACxF,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE3E,oCAAoC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;QACpD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,GAAG,EAAE,EAAE,CAAC;IAC7D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "golembot",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0",
|
|
4
4
|
"description": "GolemBot - Local-first AI assistant powered by Coding Agent CLI engines. Connect to Slack, Telegram, Discord, Feishu, DingTalk, WeCom, WeChat.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|