agent-messenger 2.3.0 → 2.4.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.
Files changed (202) hide show
  1. package/.claude-plugin/README.md +16 -16
  2. package/.claude-plugin/marketplace.json +29 -29
  3. package/.claude-plugin/plugin.json +5 -5
  4. package/CONTRIBUTING.md +1 -1
  5. package/README.md +8 -5
  6. package/bun.lock +70 -110
  7. package/bunfig.toml +3 -0
  8. package/dist/package.json +11 -3
  9. package/dist/src/platforms/discordbot/client.js +2 -2
  10. package/dist/src/platforms/discordbot/client.js.map +1 -1
  11. package/dist/src/platforms/kakaotalk/cli.d.ts.map +1 -1
  12. package/dist/src/platforms/kakaotalk/cli.js +2 -1
  13. package/dist/src/platforms/kakaotalk/cli.js.map +1 -1
  14. package/dist/src/platforms/kakaotalk/client.d.ts +2 -1
  15. package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -1
  16. package/dist/src/platforms/kakaotalk/client.js +52 -2
  17. package/dist/src/platforms/kakaotalk/client.js.map +1 -1
  18. package/dist/src/platforms/kakaotalk/commands/index.d.ts +1 -0
  19. package/dist/src/platforms/kakaotalk/commands/index.d.ts.map +1 -1
  20. package/dist/src/platforms/kakaotalk/commands/index.js +1 -0
  21. package/dist/src/platforms/kakaotalk/commands/index.js.map +1 -1
  22. package/dist/src/platforms/kakaotalk/commands/profile.d.ts +3 -0
  23. package/dist/src/platforms/kakaotalk/commands/profile.d.ts.map +1 -0
  24. package/dist/src/platforms/kakaotalk/commands/profile.js +19 -0
  25. package/dist/src/platforms/kakaotalk/commands/profile.js.map +1 -0
  26. package/dist/src/platforms/kakaotalk/index.d.ts +2 -2
  27. package/dist/src/platforms/kakaotalk/index.d.ts.map +1 -1
  28. package/dist/src/platforms/kakaotalk/index.js +1 -1
  29. package/dist/src/platforms/kakaotalk/index.js.map +1 -1
  30. package/dist/src/platforms/kakaotalk/protocol/session.d.ts.map +1 -1
  31. package/dist/src/platforms/kakaotalk/protocol/session.js +2 -1
  32. package/dist/src/platforms/kakaotalk/protocol/session.js.map +1 -1
  33. package/dist/src/platforms/kakaotalk/types.d.ts +16 -0
  34. package/dist/src/platforms/kakaotalk/types.d.ts.map +1 -1
  35. package/dist/src/platforms/kakaotalk/types.js +8 -0
  36. package/dist/src/platforms/kakaotalk/types.js.map +1 -1
  37. package/dist/src/platforms/line/client.d.ts.map +1 -1
  38. package/dist/src/platforms/line/client.js +9 -36
  39. package/dist/src/platforms/line/client.js.map +1 -1
  40. package/dist/src/platforms/line/commands/auth.d.ts.map +1 -1
  41. package/dist/src/platforms/line/commands/auth.js +32 -20
  42. package/dist/src/platforms/line/commands/auth.js.map +1 -1
  43. package/dist/src/platforms/teams/commands/reaction.d.ts.map +1 -1
  44. package/dist/src/platforms/teams/commands/reaction.js +2 -0
  45. package/dist/src/platforms/teams/commands/reaction.js.map +1 -1
  46. package/dist/src/platforms/wechatbot/cli.d.ts +5 -0
  47. package/dist/src/platforms/wechatbot/cli.d.ts.map +1 -0
  48. package/dist/src/platforms/wechatbot/cli.js +18 -0
  49. package/dist/src/platforms/wechatbot/cli.js.map +1 -0
  50. package/dist/src/platforms/wechatbot/client.d.ts +36 -0
  51. package/dist/src/platforms/wechatbot/client.d.ts.map +1 -0
  52. package/dist/src/platforms/wechatbot/client.js +208 -0
  53. package/dist/src/platforms/wechatbot/client.js.map +1 -0
  54. package/dist/src/platforms/wechatbot/commands/auth.d.ts +28 -0
  55. package/dist/src/platforms/wechatbot/commands/auth.d.ts.map +1 -0
  56. package/dist/src/platforms/wechatbot/commands/auth.js +164 -0
  57. package/dist/src/platforms/wechatbot/commands/auth.js.map +1 -0
  58. package/dist/src/platforms/wechatbot/commands/index.d.ts +5 -0
  59. package/dist/src/platforms/wechatbot/commands/index.d.ts.map +1 -0
  60. package/dist/src/platforms/wechatbot/commands/index.js +5 -0
  61. package/dist/src/platforms/wechatbot/commands/index.js.map +1 -0
  62. package/dist/src/platforms/wechatbot/commands/message.d.ts +18 -0
  63. package/dist/src/platforms/wechatbot/commands/message.d.ts.map +1 -0
  64. package/dist/src/platforms/wechatbot/commands/message.js +80 -0
  65. package/dist/src/platforms/wechatbot/commands/message.js.map +1 -0
  66. package/dist/src/platforms/wechatbot/commands/shared.d.ts +9 -0
  67. package/dist/src/platforms/wechatbot/commands/shared.d.ts.map +1 -0
  68. package/dist/src/platforms/wechatbot/commands/shared.js +13 -0
  69. package/dist/src/platforms/wechatbot/commands/shared.js.map +1 -0
  70. package/dist/src/platforms/wechatbot/commands/template.d.ts +19 -0
  71. package/dist/src/platforms/wechatbot/commands/template.d.ts.map +1 -0
  72. package/dist/src/platforms/wechatbot/commands/template.js +76 -0
  73. package/dist/src/platforms/wechatbot/commands/template.js.map +1 -0
  74. package/dist/src/platforms/wechatbot/commands/user.d.ts +20 -0
  75. package/dist/src/platforms/wechatbot/commands/user.d.ts.map +1 -0
  76. package/dist/src/platforms/wechatbot/commands/user.js +53 -0
  77. package/dist/src/platforms/wechatbot/commands/user.js.map +1 -0
  78. package/dist/src/platforms/wechatbot/credential-manager.d.ts +17 -0
  79. package/dist/src/platforms/wechatbot/credential-manager.d.ts.map +1 -0
  80. package/dist/src/platforms/wechatbot/credential-manager.js +121 -0
  81. package/dist/src/platforms/wechatbot/credential-manager.js.map +1 -0
  82. package/dist/src/platforms/wechatbot/index.d.ts +5 -0
  83. package/dist/src/platforms/wechatbot/index.d.ts.map +1 -0
  84. package/dist/src/platforms/wechatbot/index.js +4 -0
  85. package/dist/src/platforms/wechatbot/index.js.map +1 -0
  86. package/dist/src/platforms/wechatbot/types.d.ts +94 -0
  87. package/dist/src/platforms/wechatbot/types.d.ts.map +1 -0
  88. package/dist/src/platforms/wechatbot/types.js +54 -0
  89. package/dist/src/platforms/wechatbot/types.js.map +1 -0
  90. package/dist/src/platforms/whatsapp/client.d.ts +1 -0
  91. package/dist/src/platforms/whatsapp/client.d.ts.map +1 -1
  92. package/dist/src/platforms/whatsapp/client.js +27 -13
  93. package/dist/src/platforms/whatsapp/client.js.map +1 -1
  94. package/dist/src/platforms/whatsapp/commands/auth.d.ts.map +1 -1
  95. package/dist/src/platforms/whatsapp/commands/auth.js +21 -18
  96. package/dist/src/platforms/whatsapp/commands/auth.js.map +1 -1
  97. package/dist/src/platforms/whatsapp/credential-manager.d.ts.map +1 -1
  98. package/dist/src/platforms/whatsapp/credential-manager.js +14 -8
  99. package/dist/src/platforms/whatsapp/credential-manager.js.map +1 -1
  100. package/docs/content/docs/agent-skills.mdx +4 -4
  101. package/docs/content/docs/cli/channeltalk.mdx +1 -1
  102. package/docs/content/docs/cli/channeltalkbot.mdx +1 -1
  103. package/docs/content/docs/cli/discord.mdx +1 -1
  104. package/docs/content/docs/cli/discordbot.mdx +1 -1
  105. package/docs/content/docs/cli/instagram.mdx +1 -1
  106. package/docs/content/docs/cli/kakaotalk.mdx +1 -1
  107. package/docs/content/docs/cli/line.mdx +1 -1
  108. package/docs/content/docs/cli/meta.json +1 -0
  109. package/docs/content/docs/cli/slack.mdx +1 -1
  110. package/docs/content/docs/cli/slackbot.mdx +1 -1
  111. package/docs/content/docs/cli/teams.mdx +1 -1
  112. package/docs/content/docs/cli/webex.mdx +1 -1
  113. package/docs/content/docs/cli/wechatbot.mdx +179 -0
  114. package/docs/content/docs/cli/whatsapp.mdx +1 -1
  115. package/docs/content/docs/cli/whatsappbot.mdx +1 -1
  116. package/docs/content/docs/sdk/meta.json +1 -1
  117. package/docs/content/docs/sdk/wechatbot.mdx +282 -0
  118. package/docs/content/docs/tui.mdx +1 -1
  119. package/docs/src/app/page.tsx +5 -5
  120. package/package.json +11 -3
  121. package/skills/agent-channeltalk/SKILL.md +1 -1
  122. package/skills/agent-channeltalkbot/SKILL.md +1 -1
  123. package/skills/agent-discord/SKILL.md +1 -1
  124. package/skills/agent-discordbot/SKILL.md +1 -1
  125. package/skills/agent-instagram/SKILL.md +1 -1
  126. package/skills/agent-kakaotalk/SKILL.md +24 -1
  127. package/skills/agent-line/SKILL.md +7 -11
  128. package/skills/agent-line/references/authentication.md +13 -4
  129. package/skills/agent-slack/SKILL.md +1 -1
  130. package/skills/agent-slackbot/SKILL.md +1 -1
  131. package/skills/agent-teams/SKILL.md +1 -1
  132. package/skills/agent-telegram/SKILL.md +1 -1
  133. package/skills/agent-webex/SKILL.md +1 -1
  134. package/skills/agent-wechatbot/SKILL.md +385 -0
  135. package/skills/agent-whatsapp/SKILL.md +12 -1
  136. package/skills/agent-whatsappbot/SKILL.md +1 -1
  137. package/src/platforms/discord/credential-manager.test.ts +18 -1
  138. package/src/platforms/discordbot/client.ts +2 -2
  139. package/src/platforms/instagram/commands/auth.test.ts +216 -0
  140. package/src/platforms/instagram/commands/chat.test.ts +127 -0
  141. package/src/platforms/instagram/commands/message.test.ts +178 -0
  142. package/src/platforms/kakaotalk/cli.ts +2 -1
  143. package/src/platforms/kakaotalk/client.test.ts +157 -0
  144. package/src/platforms/kakaotalk/client.ts +57 -3
  145. package/src/platforms/kakaotalk/commands/auth.test.ts +299 -0
  146. package/src/platforms/kakaotalk/commands/chat.test.ts +97 -0
  147. package/src/platforms/kakaotalk/commands/index.ts +1 -0
  148. package/src/platforms/kakaotalk/commands/message.test.ts +113 -0
  149. package/src/platforms/kakaotalk/commands/profile.test.ts +84 -0
  150. package/src/platforms/kakaotalk/commands/profile.ts +21 -0
  151. package/src/platforms/kakaotalk/index.test.ts +5 -0
  152. package/src/platforms/kakaotalk/index.ts +2 -0
  153. package/src/platforms/kakaotalk/protocol/session.ts +2 -0
  154. package/src/platforms/kakaotalk/types.ts +18 -0
  155. package/src/platforms/line/client.ts +14 -39
  156. package/src/platforms/line/commands/auth.test.ts +141 -0
  157. package/src/platforms/line/commands/auth.ts +28 -19
  158. package/src/platforms/line/commands/chat.test.ts +110 -0
  159. package/src/platforms/line/commands/friend.test.ts +98 -0
  160. package/src/platforms/line/commands/message.test.ts +119 -0
  161. package/src/platforms/line/commands/profile.test.ts +85 -0
  162. package/src/platforms/slackbot/commands/channel.test.ts +139 -0
  163. package/src/platforms/slackbot/commands/message.test.ts +226 -0
  164. package/src/platforms/slackbot/commands/reaction.test.ts +90 -0
  165. package/src/platforms/slackbot/commands/user.test.ts +143 -0
  166. package/src/platforms/teams/commands/reaction.test.ts +45 -61
  167. package/src/platforms/teams/commands/reaction.ts +2 -0
  168. package/src/platforms/telegram/commands/chat.test.ts +125 -0
  169. package/src/platforms/telegram/commands/message.test.ts +92 -0
  170. package/src/platforms/webex/commands/member.test.ts +65 -58
  171. package/src/platforms/webex/commands/message.test.ts +78 -121
  172. package/src/platforms/webex/commands/snapshot.test.ts +59 -46
  173. package/src/platforms/webex/commands/space.test.ts +49 -48
  174. package/src/platforms/wechatbot/cli.ts +24 -0
  175. package/src/platforms/wechatbot/client.test.ts +497 -0
  176. package/src/platforms/wechatbot/client.ts +268 -0
  177. package/src/platforms/wechatbot/commands/auth.test.ts +211 -0
  178. package/src/platforms/wechatbot/commands/auth.ts +203 -0
  179. package/src/platforms/wechatbot/commands/index.ts +4 -0
  180. package/src/platforms/wechatbot/commands/message.test.ts +155 -0
  181. package/src/platforms/wechatbot/commands/message.ts +104 -0
  182. package/src/platforms/wechatbot/commands/shared.ts +22 -0
  183. package/src/platforms/wechatbot/commands/template.test.ts +199 -0
  184. package/src/platforms/wechatbot/commands/template.ts +102 -0
  185. package/src/platforms/wechatbot/commands/user.test.ts +165 -0
  186. package/src/platforms/wechatbot/commands/user.ts +75 -0
  187. package/src/platforms/wechatbot/credential-manager.test.ts +255 -0
  188. package/src/platforms/wechatbot/credential-manager.ts +148 -0
  189. package/src/platforms/wechatbot/index.test.ts +49 -0
  190. package/src/platforms/wechatbot/index.ts +19 -0
  191. package/src/platforms/wechatbot/types.test.ts +223 -0
  192. package/src/platforms/wechatbot/types.ts +107 -0
  193. package/src/platforms/whatsapp/client.ts +24 -13
  194. package/src/platforms/whatsapp/commands/auth.test.ts +311 -0
  195. package/src/platforms/whatsapp/commands/auth.ts +21 -17
  196. package/src/platforms/whatsapp/commands/chat.test.ts +198 -0
  197. package/src/platforms/whatsapp/commands/message.test.ts +231 -0
  198. package/src/platforms/whatsapp/credential-manager.test.ts +20 -0
  199. package/src/platforms/whatsapp/credential-manager.ts +17 -8
  200. package/src/platforms/whatsappbot/commands/auth.test.ts +217 -0
  201. package/src/platforms/whatsappbot/commands/message.test.ts +198 -0
  202. package/src/platforms/whatsappbot/commands/template.test.ts +112 -0
@@ -543,7 +543,7 @@ const HOW_IT_WORKS = [
543
543
  {
544
544
  step: 3,
545
545
  title: 'Teach Your Agent',
546
- code: 'npx skills add devxoul/agent-messenger',
546
+ code: 'npx skills add agent-messenger/agent-messenger',
547
547
  description: 'Install Agent Skills via Skills CLI, Claude Code, OpenCode, or SkillPad — your agent learns every command and starts messaging on its own.',
548
548
  },
549
549
  ]
@@ -617,7 +617,7 @@ export default function Home() {
617
617
  docs
618
618
  </Link>
619
619
  <a
620
- href="https://github.com/devxoul/agent-messenger"
620
+ href="https://github.com/agent-messenger/agent-messenger"
621
621
  target="_blank"
622
622
  rel="noopener noreferrer"
623
623
  className="rounded-lg px-3 py-2 font-mono text-xs text-zinc-500 transition-colors hover:text-zinc-900 dark:text-zinc-400 dark:hover:text-zinc-100"
@@ -661,7 +661,7 @@ export default function Home() {
661
661
  Get Started
662
662
  </Link>
663
663
  <a
664
- href="https://github.com/devxoul/agent-messenger"
664
+ href="https://github.com/agent-messenger/agent-messenger"
665
665
  target="_blank"
666
666
  rel="noopener noreferrer"
667
667
  className="inline-flex items-center justify-center rounded-xl border border-zinc-300 px-6 py-3 text-sm font-medium text-zinc-700 transition-all duration-300 hover:bg-zinc-50 dark:border-white/[0.06] dark:text-zinc-300 dark:hover:border-white/15 dark:hover:bg-white/[0.05]"
@@ -1002,7 +1002,7 @@ export default function Home() {
1002
1002
  Read the Docs
1003
1003
  </Link>
1004
1004
  <a
1005
- href="https://github.com/devxoul/agent-messenger"
1005
+ href="https://github.com/agent-messenger/agent-messenger"
1006
1006
  target="_blank"
1007
1007
  rel="noopener noreferrer"
1008
1008
  className="inline-flex items-center justify-center rounded-xl border border-zinc-300 px-6 py-3 text-sm font-medium text-zinc-700 transition-all duration-300 hover:bg-white dark:border-white/[0.06] dark:text-zinc-300 dark:hover:border-white/15 dark:hover:bg-white/[0.05]"
@@ -1024,7 +1024,7 @@ export default function Home() {
1024
1024
  docs
1025
1025
  </Link>
1026
1026
  <a
1027
- href="https://github.com/devxoul/agent-messenger"
1027
+ href="https://github.com/agent-messenger/agent-messenger"
1028
1028
  target="_blank"
1029
1029
  rel="noopener noreferrer"
1030
1030
  className="transition-colors duration-300 hover:text-zinc-700 dark:hover:text-zinc-300"
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "agent-messenger",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Multi-platform messaging CLI for AI agents (Slack, Discord, Teams, Webex, Telegram, WhatsApp, LINE, Instagram, KakaoTalk, Channel Talk)",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "https://github.com/devxoul/agent-messenger"
7
+ "url": "https://github.com/agent-messenger/agent-messenger"
8
8
  },
9
9
  "bin": {
10
10
  "agent-messenger": "dist/src/cli.js",
@@ -19,6 +19,7 @@
19
19
  "agent-whatsapp": "dist/src/platforms/whatsapp/cli.js",
20
20
  "agent-whatsappbot": "dist/src/platforms/whatsappbot/cli.js",
21
21
  "agent-line": "dist/src/platforms/line/cli.js",
22
+ "agent-wechatbot": "dist/src/platforms/wechatbot/cli.js",
22
23
  "agent-instagram": "dist/src/platforms/instagram/cli.js",
23
24
  "agent-kakaotalk": "dist/src/platforms/kakaotalk/cli.js",
24
25
  "agent-channeltalk": "dist/src/platforms/channeltalk/cli.js",
@@ -58,6 +59,10 @@
58
59
  "types": "./dist/src/platforms/line/index.d.ts",
59
60
  "default": "./dist/src/platforms/line/index.js"
60
61
  },
62
+ "./wechatbot": {
63
+ "types": "./dist/src/platforms/wechatbot/index.d.ts",
64
+ "default": "./dist/src/platforms/wechatbot/index.js"
65
+ },
61
66
  "./instagram": {
62
67
  "types": "./dist/src/platforms/instagram/index.d.ts",
63
68
  "default": "./dist/src/platforms/instagram/index.js"
@@ -101,6 +106,9 @@
101
106
  "line": [
102
107
  "./dist/src/platforms/line/index.d.ts"
103
108
  ],
109
+ "wechatbot": [
110
+ "./dist/src/platforms/wechatbot/index.d.ts"
111
+ ],
104
112
  "instagram": [
105
113
  "./dist/src/platforms/instagram/index.d.ts"
106
114
  ],
@@ -129,6 +137,7 @@
129
137
  "postpublish": "git checkout package.json"
130
138
  },
131
139
  "dependencies": {
140
+ "@evex/linejs": "https://npm.jsr.io/~/11/@jsr/evex__linejs/2.3.7.tgz",
132
141
  "@hapi/boom": "^10.0.1",
133
142
  "@slack/web-api": "^6.9.0",
134
143
  "@whiskeysockets/baileys": "^7.0.0-rc.9",
@@ -144,7 +153,6 @@
144
153
  "zod": "^4.3.6"
145
154
  },
146
155
  "optionalDependencies": {
147
- "@evex/linejs": "npm:@jsr/evex__linejs",
148
156
  "koffi": "^2.15.2",
149
157
  "prebuilt-tdlib": "0.1008062.2"
150
158
  },
@@ -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.3.0
4
+ version: 2.4.0
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.3.0
4
+ version: 2.4.0
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.3.0
4
+ version: 2.4.0
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.3.0
4
+ version: 2.4.0
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.3.0
4
+ version: 2.4.0
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.3.0
4
+ version: 2.4.0
5
5
  allowed-tools: Bash(agent-kakaotalk:*)
6
6
  metadata:
7
7
  openclaw:
@@ -46,6 +46,9 @@ agent-kakaotalk message send <chat-id> "Hello from AI agent!"
46
46
 
47
47
  # List messages in a chat
48
48
  agent-kakaotalk message list <chat-id>
49
+
50
+ # Show your profile
51
+ agent-kakaotalk profile
49
52
  ```
50
53
 
51
54
  ## Authentication
@@ -285,6 +288,23 @@ agent-kakaotalk auth status --account <account-id>
285
288
  agent-kakaotalk auth logout --account <account-id>
286
289
  ```
287
290
 
291
+ ### Profile Command
292
+
293
+ ```bash
294
+ # Show your KakaoTalk profile
295
+ agent-kakaotalk profile
296
+ agent-kakaotalk profile --pretty
297
+ agent-kakaotalk profile --account <account-id>
298
+ ```
299
+
300
+ Output includes:
301
+ - `user_id` — your KakaoTalk user ID
302
+ - `nickname` — your display name
303
+ - `profile_image_url` — profile image thumbnail URL
304
+ - `original_profile_image_url` — original profile image URL
305
+ - `status_message` — your status message
306
+ - `account_display_id` — your KakaoTalk ID (may be null if not set)
307
+
288
308
  ### Chat Commands
289
309
 
290
310
  ```bash
@@ -468,6 +488,9 @@ const client = await new KakaoTalkClient().login({ oauthToken: account.oauth_tok
468
488
 
469
489
  ```typescript
470
490
  try {
491
+ // Get your profile
492
+ const profile = await client.getProfile()
493
+
471
494
  // List chats
472
495
  const chats = await client.getChats()
473
496
 
@@ -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.3.0
4
+ version: 2.4.0
5
5
  allowed-tools: Bash(agent-line:*)
6
6
  metadata:
7
7
  openclaw:
@@ -117,18 +117,14 @@ agent-line auth login
117
117
 
118
118
  Possible responses:
119
119
 
120
- - `{"authenticated": true, ...}` -> Success. Retry original command.
121
- - `{"next_action": "run_interactive", "message": "..."}` -> QR login requires an interactive terminal. **Tell the user** to run `agent-line auth login` in their own terminal and scan the QR code with the LINE mobile app. Then retry `auth status` to check completion.
122
- - `{"error": "not_connected", ...}` -> Network issue. Check connectivity and retry.
123
- - `{"error": "not_authenticated", ...}` -> Credentials expired. Re-run `auth login`.
120
+ - `{"authenticated": true, ...}` Success. Retry original command.
121
+ - `{"next_action": "scan_qr", "qr_url": "...", "qr_html_path": "/tmp/line-qr-xxx.html", ...}` QR code has been generated. The CLI attempts to open it in the user's browser automatically. If it didn't open, run `open <qr_html_path>` (macOS) to show the QR code. Tell the user to scan the QR code with the LINE mobile app. The command blocks until the user scans — once scanned, it outputs `{"authenticated": true, ...}`.
122
+ - `{"error": "not_connected", ...}` Network issue. Check connectivity and retry.
123
+ - `{"error": "not_authenticated", ...}` Credentials expired. Re-run `auth login`.
124
124
 
125
- **Important**: QR login renders a QR code in the terminal that must be scanned by the LINE mobile app. It only works in interactive terminals (TTY). When running as an AI agent, the CLI detects non-interactive mode and returns a `next_action` response instead of blocking.
125
+ **Important**: QR login works in both interactive and non-interactive (agent) sessions. The CLI generates an HTML page with the QR code and opens it in the user's default browser. No TTY is required.
126
126
 
127
- **Step 3: If `next_action` was returned, ask the user to login manually**
128
-
129
- Tell the user: "Please run `agent-line auth login` in your terminal and scan the QR code with your LINE app." Then periodically check `agent-line auth status` until credentials appear.
130
-
131
- **Step 4: Retry the original command**
127
+ **Step 3: Retry the original command**
132
128
 
133
129
  After successful auth, immediately execute whatever the user originally asked for.
134
130
 
@@ -33,16 +33,25 @@ The CLI opens the QR code in your default browser and prints an ASCII version in
33
33
 
34
34
  ### Non-Interactive Mode (AI Agents)
35
35
 
36
- QR code login requires a TTY. When running outside an interactive terminal, the CLI returns:
36
+ QR code login works in both interactive and non-interactive sessions. In non-interactive mode (e.g., AI agent), the CLI:
37
+
38
+ 1. Generates an HTML page with the QR code
39
+ 2. Attempts to open it in the user's default browser
40
+ 3. Outputs the QR URL and HTML file path to stdout:
37
41
 
38
42
  ```json
39
43
  {
40
- "next_action": "run_interactive",
41
- "message": "QR code login requires an interactive terminal. Run agent-line auth login in a terminal with TTY support."
44
+ "next_action": "scan_qr",
45
+ "qr_url": "https://line.me/R/au/q/...",
46
+ "qr_html_path": "/tmp/line-qr-1234567890.html",
47
+ "message": "QR code opened in browser. Scan with LINE mobile app to complete login."
42
48
  }
43
49
  ```
44
50
 
45
- For non-interactive environments, use email/password or token login instead.
51
+ 4. Blocks until the user scans the QR code with the LINE mobile app
52
+ 5. Outputs the final authentication result
53
+
54
+ If the browser did not open automatically, the agent can open the HTML file manually (e.g., `open <qr_html_path>` on macOS).
46
55
 
47
56
  ## Method 2: Email/Password Login
48
57
 
@@ -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.3.0
4
+ version: 2.4.0
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.3.0
4
+ version: 2.4.0
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.3.0
4
+ version: 2.4.0
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.3.0
4
+ version: 2.4.0
5
5
  allowed-tools: Bash(agent-telegram:*)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agent-webex
3
3
  description: Interact with Cisco Webex - send messages, read spaces, manage memberships
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  allowed-tools: Bash(agent-webex:*)
6
6
  metadata:
7
7
  openclaw: