agent-messenger 2.19.1 → 2.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/package.json +1 -1
  3. package/dist/src/platforms/line/client.d.ts +27 -0
  4. package/dist/src/platforms/line/client.d.ts.map +1 -1
  5. package/dist/src/platforms/line/client.js +85 -7
  6. package/dist/src/platforms/line/client.js.map +1 -1
  7. package/dist/src/platforms/line/listener.d.ts +3 -0
  8. package/dist/src/platforms/line/listener.d.ts.map +1 -1
  9. package/dist/src/platforms/line/listener.js +57 -47
  10. package/dist/src/platforms/line/listener.js.map +1 -1
  11. package/docs/content/docs/cli/line.mdx +10 -9
  12. package/package.json +1 -1
  13. package/skills/agent-channeltalk/SKILL.md +1 -1
  14. package/skills/agent-channeltalkbot/SKILL.md +1 -1
  15. package/skills/agent-discord/SKILL.md +1 -1
  16. package/skills/agent-discordbot/SKILL.md +1 -1
  17. package/skills/agent-instagram/SKILL.md +1 -1
  18. package/skills/agent-kakaotalk/SKILL.md +1 -1
  19. package/skills/agent-line/SKILL.md +2 -1
  20. package/skills/agent-slack/SKILL.md +1 -1
  21. package/skills/agent-slackbot/SKILL.md +1 -1
  22. package/skills/agent-teams/SKILL.md +1 -1
  23. package/skills/agent-telegram/SKILL.md +1 -1
  24. package/skills/agent-telegrambot/SKILL.md +1 -1
  25. package/skills/agent-webex/SKILL.md +1 -1
  26. package/skills/agent-wechatbot/SKILL.md +1 -1
  27. package/skills/agent-whatsapp/SKILL.md +1 -1
  28. package/skills/agent-whatsappbot/SKILL.md +1 -1
  29. package/src/platforms/line/client.test.ts +174 -1
  30. package/src/platforms/line/client.ts +105 -7
  31. package/src/platforms/line/listener.test.ts +106 -31
  32. package/src/platforms/line/listener.ts +56 -51
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-messenger",
3
- "version": "2.19.1",
3
+ "version": "2.19.2",
4
4
  "description": "Messaging platform interaction skills for AI agents. Interact with Slack, Discord, Microsoft Teams, Webex, Telegram, Telegram Bot, WhatsApp, LINE, Instagram, KakaoTalk, and Channel Talk - send messages, read channels, manage reactions, upload files, and more through simple CLI interfaces.",
5
5
  "author": {
6
6
  "name": "agent-messenger",
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-messenger",
3
- "version": "2.19.1",
3
+ "version": "2.19.2",
4
4
  "description": "Multi-platform messaging CLI for AI agents (Slack, Discord, Teams, Webex, Telegram, Telegram Bot, WhatsApp, LINE, Instagram, KakaoTalk, Channel Talk)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,5 +1,31 @@
1
+ import type { Operation as LineOperation } from '@jsr/evex__linejs-types';
1
2
  import { LineCredentialManager } from './credential-manager.js';
2
3
  import type { LineAccountCredentials, LineChat, LineDevice, LineFriend, LineLoginResult, LineMessage, LineProfile, LineSendResult } from './types.js';
4
+ export interface LineRawMessage {
5
+ raw: {
6
+ id: unknown;
7
+ contentType?: unknown;
8
+ createdTime?: unknown;
9
+ toType?: unknown;
10
+ to?: unknown;
11
+ from?: unknown;
12
+ };
13
+ to: {
14
+ id: unknown;
15
+ };
16
+ from: {
17
+ id: unknown;
18
+ };
19
+ isMyMessage: boolean;
20
+ text: string | null;
21
+ }
22
+ export type LineRawEvent = {
23
+ kind: 'message';
24
+ message: LineRawMessage;
25
+ } | {
26
+ kind: 'event';
27
+ op: LineOperation;
28
+ };
3
29
  export declare class LineClient {
4
30
  private client;
5
31
  private credManager;
@@ -25,6 +51,7 @@ export declare class LineClient {
25
51
  count?: number;
26
52
  }): Promise<LineMessage[]>;
27
53
  sendMessage(chatId: string, text: string): Promise<LineSendResult>;
54
+ streamEvents(signal: AbortSignal): AsyncGenerator<LineRawEvent, void, unknown>;
28
55
  close(): void;
29
56
  private ensureClient;
30
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/platforms/line/client.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,WAAW,EACX,cAAc,EACf,MAAM,SAAS,CAAA;AA0BhB,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,WAAW,CAAuB;gBAE9B,WAAW,CAAC,EAAE,qBAAqB;IAIzC,WAAW,CAAC,OAAO,EAAE;QACzB,MAAM,CAAC,EAAE,UAAU,CAAA;QACnB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;QAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KACjC,GAAG,OAAO,CAAC,eAAe,CAAC;IAsCtB,cAAc,CAAC,OAAO,EAAE;QAC5B,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,UAAU,CAAA;QACnB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KACjC,GAAG,OAAO,CAAC,eAAe,CAAC;IAuCtB,KAAK,CAAC,WAAW,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1D,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAclC,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAkBnC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAiF3D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA8BjF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA2BxE,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,YAAY;CAMrB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/platforms/line/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAWzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,WAAW,EACX,cAAc,EACf,MAAM,SAAS,CAAA;AAGhB,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,EAAE,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAClH,EAAE,EAAE;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAA;IACnB,IAAI,EAAE;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,aAAa,CAAA;CAAE,CAAA;AA0C9G,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,WAAW,CAAuB;gBAE9B,WAAW,CAAC,EAAE,qBAAqB;IAIzC,WAAW,CAAC,OAAO,EAAE;QACzB,MAAM,CAAC,EAAE,UAAU,CAAA;QACnB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;QAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KACjC,GAAG,OAAO,CAAC,eAAe,CAAC;IAsCtB,cAAc,CAAC,OAAO,EAAE;QAC5B,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,UAAU,CAAA;QACnB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KACjC,GAAG,OAAO,CAAC,eAAe,CAAC;IAuCtB,KAAK,CAAC,WAAW,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1D,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAclC,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAkBnC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAwF3D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAiCjF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA+CjE,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC;IAuCrF,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,YAAY;CAMrB"}
@@ -5,12 +5,25 @@ import { FileStorage } from '../../vendor/linejs/base/storage/mod.js';
5
5
  import { loginWithQR as linejsLoginWithQR, loginWithPassword as linejsLoginWithPassword, loginWithAuthToken as linejsLoginWithAuthToken, } from '../../vendor/linejs/client/mod.js';
6
6
  import { LineCredentialManager } from './credential-manager.js';
7
7
  import { LineError } from './types.js';
8
+ const MAX_MESSAGE_ID = 9223372036854775807n;
8
9
  function wrapError(error, code) {
9
10
  if (error instanceof LineError)
10
11
  return error;
11
12
  const message = error instanceof Error ? error.message : String(error);
12
13
  return new LineError(code, message);
13
14
  }
15
+ function isE2EEUnavailableError(message) {
16
+ return /E2EE|e2ee|KeyNotFound|saveE2EE/.test(message);
17
+ }
18
+ function requiresEncryption(message) {
19
+ return /RETRY_ENCRYPT|can not send using plain mode|cannot send using plain mode/i.test(message);
20
+ }
21
+ // Writes to stderr so partial-result degradation stays visible without
22
+ // corrupting the JSON the CLI prints to stdout.
23
+ function warnDegraded(action, error) {
24
+ const message = error instanceof Error ? error.message : String(error);
25
+ console.warn(`[line] could not ${action}: ${message}`);
26
+ }
14
27
  function mapChatType(rawType) {
15
28
  if (rawType === 'GROUP' || rawType === 0)
16
29
  return 'group';
@@ -161,7 +174,10 @@ export class LineClient {
161
174
  },
162
175
  syncReason: 'INTERNAL',
163
176
  }),
164
- client.fetchJoinedChats().catch(() => []),
177
+ client.fetchJoinedChats().catch((error) => {
178
+ warnDegraded('fetch joined group/room chats', error);
179
+ return [];
180
+ }),
165
181
  ]);
166
182
  for (const chat of joinedChats) {
167
183
  if (seen.has(chat.mid))
@@ -186,7 +202,9 @@ export class LineClient {
186
202
  nameMap.set(c.mid, { name: c.displayName, type: 'user' });
187
203
  }
188
204
  }
189
- catch { }
205
+ catch (error) {
206
+ warnDegraded('resolve user display names', error);
207
+ }
190
208
  }
191
209
  if (groupMids.length > 0) {
192
210
  try {
@@ -200,7 +218,9 @@ export class LineClient {
200
218
  });
201
219
  }
202
220
  }
203
- catch { }
221
+ catch (error) {
222
+ warnDegraded('resolve group/room names', error);
223
+ }
204
224
  }
205
225
  for (const box of messageBoxes) {
206
226
  if (seen.has(box.id))
@@ -224,13 +244,16 @@ export class LineClient {
224
244
  try {
225
245
  const client = this.ensureClient();
226
246
  const count = options?.count ?? 20;
247
+ // getPreviousMessagesV2WithRequest pages backward from endMessageId. A
248
+ // messageId:0 sentinel returns nothing; the max int64 id acts as "from the
249
+ // latest message" and works for any chat regardless of message-box position.
227
250
  const serverTime = await client.base.talk.getServerTime();
228
251
  const rawMessages = await client.base.talk.getPreviousMessagesV2WithRequest({
229
252
  request: {
230
253
  messageBoxId: chatId,
231
254
  endMessageId: {
232
255
  deliveredTime: BigInt(serverTime),
233
- messageId: BigInt(0),
256
+ messageId: MAX_MESSAGE_ID,
234
257
  },
235
258
  messagesCount: count,
236
259
  },
@@ -257,11 +280,20 @@ export class LineClient {
257
280
  }
258
281
  catch (e2eeError) {
259
282
  const msg = e2eeError instanceof Error ? e2eeError.message : String(e2eeError);
260
- if (msg.includes('E2EE') || msg.includes('e2ee') || msg.includes('KeyNotFound') || msg.includes('saveE2EE')) {
283
+ if (!isE2EEUnavailableError(msg))
284
+ throw e2eeError;
285
+ try {
261
286
  sent = await client.base.talk.sendMessage({ to: chatId, text, e2ee: false });
262
287
  }
263
- else {
264
- throw e2eeError;
288
+ catch (plainError) {
289
+ const plainMsg = plainError instanceof Error ? plainError.message : String(plainError);
290
+ // Some chats force Letter Sealing and reject plain mode. This session
291
+ // authenticated via auth token and has no local E2EE private key, so it
292
+ // cannot encrypt. Surface a clear error and keep the original cause.
293
+ if (requiresEncryption(plainMsg)) {
294
+ throw new LineError('e2ee_required', `This chat requires end-to-end encryption (Letter Sealing), which this auth-token session cannot provide. Original error: ${msg}`);
295
+ }
296
+ throw plainError;
265
297
  }
266
298
  }
267
299
  return {
@@ -275,6 +307,52 @@ export class LineClient {
275
307
  throw wrapError(error, 'send_message_failed');
276
308
  }
277
309
  }
310
+ // Drives the vendor polling generator (talk.sync()) instead of Client.listen().
311
+ // Client.listen() uses a LEGY HTTP/2 push connection (duplex:'half' streaming
312
+ // fetch) that yields zero bytes under Bun and dies immediately, so no events
313
+ // ever arrive (evex-dev/linejs#117). The upstream "fix" (linejs#134, v2.7.0+)
314
+ // only adds an undici+allowH2 path for Node.js and explicitly skips Bun
315
+ // ("Bun" in globalThis -> return false), falling back to Bun's native fetch,
316
+ // which still can't stream duplex:'half' HTTP/2 (oven-sh/bun#30342, #31881).
317
+ // Polling works on every runtime. Messages are normalized like Client.listen().
318
+ async *streamEvents(signal) {
319
+ const client = this.ensureClient();
320
+ const polling = client.base.createPolling();
321
+ const selfMid = client.base.profile?.mid;
322
+ for await (const op of polling._listenTalkEvents({
323
+ signal,
324
+ onError: (error) => {
325
+ throw error instanceof Error ? error : new Error(String(error));
326
+ },
327
+ })) {
328
+ yield { kind: 'event', op };
329
+ if (op.type === 'SEND_MESSAGE' || op.type === 'RECEIVE_MESSAGE') {
330
+ // A single undecryptable message must not kill the stream: the failing
331
+ // op stays in the sync window and would be re-fetched every poll, causing
332
+ // an endless decrypt-fail -> reconnect loop. Fall back to the raw op and
333
+ // surface the message with null text, since its text is unreadable.
334
+ let raw = op.message;
335
+ let decrypted = true;
336
+ try {
337
+ raw = await client.base.e2ee.decryptE2EEMessage(op.message);
338
+ }
339
+ catch {
340
+ raw = op.message;
341
+ decrypted = false;
342
+ }
343
+ yield {
344
+ kind: 'message',
345
+ message: {
346
+ raw,
347
+ to: { id: raw.to },
348
+ from: { id: raw.from },
349
+ isMyMessage: selfMid === raw.from,
350
+ text: decrypted ? (raw.text ?? null) : null,
351
+ },
352
+ };
353
+ }
354
+ }
355
+ }
278
356
  close() {
279
357
  this.client = null;
280
358
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/platforms/line/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/platforms/line/client.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,9 @@ export declare class LineListener {
15
15
  off<K extends EventKey>(event: K, listener: (...args: LineListenerEventMap[K]) => void): this;
16
16
  once<K extends EventKey>(event: K, listener: (...args: LineListenerEventMap[K]) => void): this;
17
17
  private connect;
18
+ private pump;
19
+ private emitMessage;
20
+ private emitOperation;
18
21
  private scheduleReconnect;
19
22
  private clearTimers;
20
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../src/platforms/line/listener.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAA8C,MAAM,SAAS,CAAA;AAM/F,KAAK,QAAQ,GAAG,MAAM,oBAAoB,CAAA;AAE1C,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,eAAe,CAA+B;gBAE1C,MAAM,EAAE,UAAU;IAMxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,IAAI,IAAI,IAAI;IASZ,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAK5F,GAAG,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAK7F,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;YAKhF,OAAO;IAoErB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,WAAW;CAMpB"}
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../src/platforms/line/listener.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAA8C,MAAM,SAAS,CAAA;AAK/F,KAAK,QAAQ,GAAG,MAAM,oBAAoB,CAAA;AAE1C,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,eAAe,CAA+B;gBAE1C,MAAM,EAAE,UAAU;IAMxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,IAAI,IAAI,IAAI;IASZ,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAK5F,GAAG,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAK7F,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;YAKhF,OAAO;YAsBP,IAAI;IAmBlB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,WAAW;CAMpB"}
@@ -1,5 +1,4 @@
1
1
  import { EventEmitter } from 'events';
2
- import { LineError } from './types.js';
3
2
  const RECONNECT_BASE_DELAY = 1_000;
4
3
  const RECONNECT_MAX_DELAY = 30_000;
5
4
  export class LineListener {
@@ -48,55 +47,13 @@ export class LineListener {
48
47
  await this.lineClient.login();
49
48
  if (!this.running)
50
49
  return;
51
- const internalClient = this.lineClient.client;
52
- if (!internalClient) {
53
- throw new LineError('not_connected', 'Failed to get internal LINE client');
54
- }
50
+ const profile = await this.lineClient.getProfile();
51
+ if (!this.running)
52
+ return;
55
53
  this.abortController = new AbortController();
56
- internalClient.on('message', (msg) => {
57
- try {
58
- const toType = msg.raw.toType;
59
- const isGroupOrRoom = toType === 'GROUP' || toType === 'ROOM' || toType === 0 || toType === 1;
60
- const chatId = isGroupOrRoom ? msg.to.id : msg.isMyMessage ? msg.to.id : msg.from.id;
61
- const event = {
62
- type: 'message',
63
- chat_id: chatId,
64
- message_id: String(msg.raw.id),
65
- author_id: msg.from.id,
66
- text: msg.text ?? null,
67
- content_type: String(msg.raw.contentType ?? 'NONE'),
68
- sent_at: new Date(Number(msg.raw.createdTime)).toISOString(),
69
- };
70
- this.emitter.emit('message', event);
71
- this.emitter.emit('line_event', { ...event });
72
- }
73
- catch (error) {
74
- this.emitter.emit('error', error instanceof Error ? error : new Error(String(error)));
75
- }
76
- });
77
- internalClient.on('event', (op) => {
78
- const event = {
79
- type: String(op.type ?? 'unknown'),
80
- ...(op.revision !== undefined && { revision: String(op.revision) }),
81
- ...(op.createdTime !== undefined && {
82
- created_time: new Date(Number(op.createdTime)).toISOString(),
83
- }),
84
- };
85
- this.emitter.emit('line_event', event);
86
- });
87
- internalClient.listen({ signal: this.abortController.signal })?.catch((error) => {
88
- if (!this.running)
89
- return;
90
- const err = error instanceof Error ? error : new Error(String(error));
91
- if (err.name === 'AbortError')
92
- return;
93
- this.emitter.emit('error', err);
94
- this.emitter.emit('disconnected');
95
- this.scheduleReconnect();
96
- });
97
54
  this.reconnectAttempts = 0;
98
- const profile = await internalClient.base.talk.getProfile();
99
55
  this.emitter.emit('connected', { account_id: profile.mid });
56
+ void this.pump(this.abortController.signal);
100
57
  }
101
58
  catch (error) {
102
59
  this.emitter.emit('error', error instanceof Error ? error : new Error(String(error)));
@@ -105,6 +62,59 @@ export class LineListener {
105
62
  }
106
63
  }
107
64
  }
65
+ async pump(signal) {
66
+ try {
67
+ for await (const event of this.lineClient.streamEvents(signal)) {
68
+ if (event.kind === 'message') {
69
+ this.emitMessage(event.message);
70
+ }
71
+ else {
72
+ this.emitOperation(event.op);
73
+ }
74
+ }
75
+ }
76
+ catch (error) {
77
+ if (!this.running || signal.aborted)
78
+ return;
79
+ const err = error instanceof Error ? error : new Error(String(error));
80
+ if (err.name === 'AbortError')
81
+ return;
82
+ this.emitter.emit('error', err);
83
+ this.emitter.emit('disconnected');
84
+ this.scheduleReconnect();
85
+ }
86
+ }
87
+ emitMessage(msg) {
88
+ try {
89
+ const toType = msg.raw.toType;
90
+ const isGroupOrRoom = toType === 'GROUP' || toType === 'ROOM' || toType === 0 || toType === 1;
91
+ const chatId = isGroupOrRoom ? msg.to.id : msg.isMyMessage ? msg.to.id : msg.from.id;
92
+ const event = {
93
+ type: 'message',
94
+ chat_id: chatId,
95
+ message_id: String(msg.raw.id),
96
+ author_id: msg.from.id,
97
+ text: msg.text ?? null,
98
+ content_type: String(msg.raw.contentType ?? 'NONE'),
99
+ sent_at: new Date(Number(msg.raw.createdTime)).toISOString(),
100
+ };
101
+ this.emitter.emit('message', event);
102
+ this.emitter.emit('line_event', { ...event });
103
+ }
104
+ catch (error) {
105
+ this.emitter.emit('error', error instanceof Error ? error : new Error(String(error)));
106
+ }
107
+ }
108
+ emitOperation(op) {
109
+ const event = {
110
+ type: String(op.type ?? 'unknown'),
111
+ ...(op.revision !== undefined && { revision: String(op.revision) }),
112
+ ...(op.createdTime !== undefined && {
113
+ created_time: new Date(Number(op.createdTime)).toISOString(),
114
+ }),
115
+ };
116
+ this.emitter.emit('line_event', event);
117
+ }
108
118
  scheduleReconnect() {
109
119
  this.clearTimers();
110
120
  const delay = Math.min(RECONNECT_BASE_DELAY * 2 ** this.reconnectAttempts, RECONNECT_MAX_DELAY);
@@ -1 +1 @@
1
- {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../../src/platforms/line/listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../../src/platforms/line/listener.ts"],"names":[],"mappings":"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"}
@@ -9,14 +9,14 @@ description: Complete reference for the agent-line CLI.
9
9
 
10
10
  Before diving in, a few things about LINE's architecture:
11
11
 
12
- | Term | Description |
13
- | ------------------------- | ---------------------------------------------------------------------------------------------------------------- |
14
- | **MID** | LINE's unique identifier for users, chats, and rooms. Prefixed with `u` (user), `c` (group chat), or `r` (room). |
15
- | **QR code login** | The primary authentication method. Scan a QR code with the LINE mobile app to authorize the CLI. |
16
- | **ANDROIDSECONDARY** | The default device type. Registers as a secondary Android device so your phone and desktop sessions stay active. |
17
- | **E2EE (Letter Sealing)** | LINE's end-to-end encryption. The CLI attempts E2EE first and falls back to plaintext if keys aren't available. |
18
- | **Device types** | Controls which device slot the CLI occupies. Secondary devices coexist with your other sessions. |
19
- | **PIN verification** | During login, LINE may display a PIN that you confirm on your phone to authorize the new device. |
12
+ | Term | Description |
13
+ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
14
+ | **MID** | LINE's unique identifier for users, chats, and rooms. Prefixed with `u` (user), `c` (group chat), or `r` (room). |
15
+ | **QR code login** | The primary authentication method. Scan a QR code with the LINE mobile app to authorize the CLI. |
16
+ | **ANDROIDSECONDARY** | The default device type. Registers as a secondary Android device so your phone and desktop sessions stay active. |
17
+ | **E2EE (Letter Sealing)** | LINE's end-to-end encryption. The CLI attempts E2EE first and falls back to plaintext if keys aren't available. Chats that require E2EE reject the fallback and fail with `e2ee_required`. |
18
+ | **Device types** | Controls which device slot the CLI occupies. Secondary devices coexist with your other sessions. |
19
+ | **PIN verification** | During login, LINE may display a PIN that you confirm on your phone to authorize the new device. |
20
20
 
21
21
  ## Quick Start
22
22
 
@@ -230,6 +230,7 @@ agent-line message list c7a8b9c0d1e2f3a4b5c6d7e8 -n 200
230
230
  - No message editing or deletion
231
231
  - No search across chats
232
232
  - Plain text messages only (no photos, videos, or rich content)
233
+ - Sending to chats that **require** E2EE (Letter Sealing) is not supported on auth-token sessions; such sends fail with `e2ee_required`
233
234
  - Chat IDs are MID strings, not human-readable — use `chat list` to discover them
234
235
 
235
236
  ## Troubleshooting
@@ -266,7 +267,7 @@ If the QR code doesn't open in your browser:
266
267
 
267
268
  ### E2EE errors
268
269
 
269
- The CLI tries E2EE (Letter Sealing) first and falls back automatically. If you see E2EE-related warnings, messages are still sent successfully without encryption.
270
+ The CLI tries E2EE (Letter Sealing) first and falls back to plaintext when possible, so most messages still send. Chats that **require** E2EE reject the plaintext fallback, and the send fails with `e2ee_required` — auth-token sessions have no local E2EE key and cannot encrypt for those chats.
270
271
 
271
272
  ### PIN verification timeout
272
273
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-messenger",
3
- "version": "2.19.1",
3
+ "version": "2.19.2",
4
4
  "description": "Multi-platform messaging CLI for AI agents (Slack, Discord, Teams, Webex, Telegram, Telegram Bot, WhatsApp, LINE, Instagram, KakaoTalk, Channel Talk)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-channeltalk
3
3
  description: Interact with Channel Talk using extracted desktop app or browser credentials - read chats, send messages, search messages, manage groups
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  allowed-tools: Bash(agent-channeltalk:*)
6
6
  metadata:
7
7
  openclaw:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-channeltalkbot
3
3
  description: Interact with Channel Talk workspaces using API credentials - send messages, read chats, manage groups and bots
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  allowed-tools: Bash(agent-channeltalkbot:*)
6
6
  metadata:
7
7
  openclaw:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-discord
3
3
  description: Interact with Discord servers - send messages, read channels, manage reactions
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  allowed-tools: Bash(agent-discord:*)
6
6
  metadata:
7
7
  openclaw:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-discordbot
3
3
  description: Interact with Discord servers using bot tokens - send messages, read channels, manage reactions
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  allowed-tools: Bash(agent-discordbot:*)
6
6
  metadata:
7
7
  openclaw:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-instagram
3
3
  description: Interact with Instagram DMs - send messages, read conversations, manage accounts
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  allowed-tools: Bash(agent-instagram:*)
6
6
  metadata:
7
7
  openclaw:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-kakaotalk
3
3
  description: Interact with KakaoTalk - send messages, read chats, manage conversations
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  allowed-tools: Bash(agent-kakaotalk:*)
6
6
  metadata:
7
7
  openclaw:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-line
3
3
  description: Interact with LINE - send messages, read chats, manage conversations
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  allowed-tools: Bash(agent-line:*)
6
6
  metadata:
7
7
  openclaw:
@@ -429,6 +429,7 @@ See the [LINE SDK documentation](https://agent-messenger.dev/docs/sdk/line) for
429
429
 
430
430
  - No auto-extraction of credentials (requires interactive login via QR code or email/password)
431
431
  - E2EE (Letter Sealing) may prevent reading some message content
432
+ - Sending to chats that **require** E2EE (Letter Sealing) is not supported on auth-token sessions; such sends fail with `e2ee_required`
432
433
  - No file upload support yet
433
434
  - No sticker or rich message sending (text only)
434
435
  - No group creation or management
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-slack
3
3
  description: Interact with Slack workspaces - send messages, read channels, manage reactions
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  allowed-tools: Bash(agent-slack:*)
6
6
  metadata:
7
7
  openclaw:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-slackbot
3
3
  description: Interact with Slack workspaces using bot tokens - send messages, read channels, manage reactions
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  allowed-tools: Bash(agent-slackbot:*)
6
6
  metadata:
7
7
  openclaw:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-teams
3
3
  description: Interact with Microsoft Teams - send messages, read channels, manage reactions
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  allowed-tools: Bash(agent-teams:*)
6
6
  metadata:
7
7
  openclaw:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-telegram
3
3
  description: Interact with Telegram through TDLib - authenticate, inspect chats, and send messages
4
- version: 2.19.1
4
+ version: 2.19.2
5
5
  allowed-tools: Bash(agent-telegram:*)
6
6
  ---
7
7