agent-messenger 2.7.0 → 2.9.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 (553) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.github/workflows/ci.yml +6 -0
  3. package/.oxfmtrc.json +13 -1
  4. package/.oxlintrc.json +10 -1
  5. package/README.md +1 -12
  6. package/dist/package.json +59 -58
  7. package/dist/src/platforms/channeltalk/client.d.ts.map +1 -1
  8. package/dist/src/platforms/channeltalk/client.js +2 -2
  9. package/dist/src/platforms/channeltalk/client.js.map +1 -1
  10. package/dist/src/platforms/channeltalk/commands/auth.d.ts.map +1 -1
  11. package/dist/src/platforms/channeltalk/commands/auth.js.map +1 -1
  12. package/dist/src/platforms/channeltalk/commands/message.d.ts.map +1 -1
  13. package/dist/src/platforms/channeltalk/commands/message.js.map +1 -1
  14. package/dist/src/platforms/channeltalk/commands/snapshot.d.ts +4 -2
  15. package/dist/src/platforms/channeltalk/commands/snapshot.d.ts.map +1 -1
  16. package/dist/src/platforms/channeltalk/commands/snapshot.js +86 -31
  17. package/dist/src/platforms/channeltalk/commands/snapshot.js.map +1 -1
  18. package/dist/src/platforms/channeltalk/ensure-auth.d.ts.map +1 -1
  19. package/dist/src/platforms/channeltalk/ensure-auth.js.map +1 -1
  20. package/dist/src/platforms/channeltalk/token-extractor.d.ts +9 -23
  21. package/dist/src/platforms/channeltalk/token-extractor.d.ts.map +1 -1
  22. package/dist/src/platforms/channeltalk/token-extractor.js +109 -341
  23. package/dist/src/platforms/channeltalk/token-extractor.js.map +1 -1
  24. package/dist/src/platforms/channeltalkbot/client.d.ts +1 -1
  25. package/dist/src/platforms/channeltalkbot/client.d.ts.map +1 -1
  26. package/dist/src/platforms/channeltalkbot/client.js +4 -4
  27. package/dist/src/platforms/channeltalkbot/client.js.map +1 -1
  28. package/dist/src/platforms/channeltalkbot/commands/auth.d.ts.map +1 -1
  29. package/dist/src/platforms/channeltalkbot/commands/auth.js +4 -1
  30. package/dist/src/platforms/channeltalkbot/commands/auth.js.map +1 -1
  31. package/dist/src/platforms/channeltalkbot/commands/shared.d.ts.map +1 -1
  32. package/dist/src/platforms/channeltalkbot/commands/shared.js.map +1 -1
  33. package/dist/src/platforms/channeltalkbot/commands/snapshot.d.ts +3 -1
  34. package/dist/src/platforms/channeltalkbot/commands/snapshot.d.ts.map +1 -1
  35. package/dist/src/platforms/channeltalkbot/commands/snapshot.js +110 -60
  36. package/dist/src/platforms/channeltalkbot/commands/snapshot.js.map +1 -1
  37. package/dist/src/platforms/discord/commands/auth.js.map +1 -1
  38. package/dist/src/platforms/discord/commands/snapshot.d.ts +1 -0
  39. package/dist/src/platforms/discord/commands/snapshot.d.ts.map +1 -1
  40. package/dist/src/platforms/discord/commands/snapshot.js +48 -34
  41. package/dist/src/platforms/discord/commands/snapshot.js.map +1 -1
  42. package/dist/src/platforms/discord/commands/whoami.d.ts.map +1 -1
  43. package/dist/src/platforms/discord/commands/whoami.js.map +1 -1
  44. package/dist/src/platforms/discord/token-extractor.d.ts +2 -10
  45. package/dist/src/platforms/discord/token-extractor.d.ts.map +1 -1
  46. package/dist/src/platforms/discord/token-extractor.js +38 -172
  47. package/dist/src/platforms/discord/token-extractor.js.map +1 -1
  48. package/dist/src/platforms/discordbot/client.d.ts.map +1 -1
  49. package/dist/src/platforms/discordbot/client.js.map +1 -1
  50. package/dist/src/platforms/discordbot/commands/snapshot.d.ts +2 -0
  51. package/dist/src/platforms/discordbot/commands/snapshot.d.ts.map +1 -1
  52. package/dist/src/platforms/discordbot/commands/snapshot.js +46 -34
  53. package/dist/src/platforms/discordbot/commands/snapshot.js.map +1 -1
  54. package/dist/src/platforms/instagram/cli.d.ts.map +1 -1
  55. package/dist/src/platforms/instagram/cli.js +1 -4
  56. package/dist/src/platforms/instagram/cli.js.map +1 -1
  57. package/dist/src/platforms/instagram/client.d.ts.map +1 -1
  58. package/dist/src/platforms/instagram/client.js +8 -7
  59. package/dist/src/platforms/instagram/client.js.map +1 -1
  60. package/dist/src/platforms/instagram/commands/auth.d.ts.map +1 -1
  61. package/dist/src/platforms/instagram/commands/auth.js.map +1 -1
  62. package/dist/src/platforms/instagram/commands/chat.d.ts.map +1 -1
  63. package/dist/src/platforms/instagram/commands/chat.js.map +1 -1
  64. package/dist/src/platforms/instagram/commands/message.d.ts.map +1 -1
  65. package/dist/src/platforms/instagram/commands/message.js.map +1 -1
  66. package/dist/src/platforms/instagram/commands/shared.d.ts.map +1 -1
  67. package/dist/src/platforms/instagram/commands/shared.js.map +1 -1
  68. package/dist/src/platforms/instagram/credential-manager.d.ts.map +1 -1
  69. package/dist/src/platforms/instagram/credential-manager.js +1 -1
  70. package/dist/src/platforms/instagram/credential-manager.js.map +1 -1
  71. package/dist/src/platforms/instagram/ensure-auth.d.ts.map +1 -1
  72. package/dist/src/platforms/instagram/ensure-auth.js.map +1 -1
  73. package/dist/src/platforms/instagram/token-extractor.d.ts +7 -19
  74. package/dist/src/platforms/instagram/token-extractor.d.ts.map +1 -1
  75. package/dist/src/platforms/instagram/token-extractor.js +44 -270
  76. package/dist/src/platforms/instagram/token-extractor.js.map +1 -1
  77. package/dist/src/platforms/instagram/types.d.ts.map +1 -1
  78. package/dist/src/platforms/instagram/types.js +4 -2
  79. package/dist/src/platforms/instagram/types.js.map +1 -1
  80. package/dist/src/platforms/kakaotalk/auth/kakao-login.d.ts.map +1 -1
  81. package/dist/src/platforms/kakaotalk/auth/kakao-login.js +18 -4
  82. package/dist/src/platforms/kakaotalk/auth/kakao-login.js.map +1 -1
  83. package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -1
  84. package/dist/src/platforms/kakaotalk/client.js +3 -3
  85. package/dist/src/platforms/kakaotalk/client.js.map +1 -1
  86. package/dist/src/platforms/kakaotalk/commands/auth.d.ts.map +1 -1
  87. package/dist/src/platforms/kakaotalk/commands/auth.js +15 -9
  88. package/dist/src/platforms/kakaotalk/commands/auth.js.map +1 -1
  89. package/dist/src/platforms/kakaotalk/commands/shared.d.ts.map +1 -1
  90. package/dist/src/platforms/kakaotalk/commands/shared.js.map +1 -1
  91. package/dist/src/platforms/kakaotalk/protocol/connection.d.ts.map +1 -1
  92. package/dist/src/platforms/kakaotalk/protocol/connection.js.map +1 -1
  93. package/dist/src/platforms/kakaotalk/protocol/crypto.js +1 -1
  94. package/dist/src/platforms/kakaotalk/protocol/crypto.js.map +1 -1
  95. package/dist/src/platforms/kakaotalk/protocol/session.d.ts.map +1 -1
  96. package/dist/src/platforms/kakaotalk/protocol/session.js +1 -3
  97. package/dist/src/platforms/kakaotalk/protocol/session.js.map +1 -1
  98. package/dist/src/platforms/kakaotalk/token-extractor.js +5 -2
  99. package/dist/src/platforms/kakaotalk/token-extractor.js.map +1 -1
  100. package/dist/src/platforms/kakaotalk/types.d.ts.map +1 -1
  101. package/dist/src/platforms/kakaotalk/types.js +4 -2
  102. package/dist/src/platforms/kakaotalk/types.js.map +1 -1
  103. package/dist/src/platforms/line/cli.d.ts.map +1 -1
  104. package/dist/src/platforms/line/cli.js +1 -4
  105. package/dist/src/platforms/line/cli.js.map +1 -1
  106. package/dist/src/platforms/line/client.d.ts.map +1 -1
  107. package/dist/src/platforms/line/client.js +5 -13
  108. package/dist/src/platforms/line/client.js.map +1 -1
  109. package/dist/src/platforms/line/commands/chat.d.ts.map +1 -1
  110. package/dist/src/platforms/line/commands/chat.js.map +1 -1
  111. package/dist/src/platforms/line/commands/message.d.ts.map +1 -1
  112. package/dist/src/platforms/line/commands/message.js.map +1 -1
  113. package/dist/src/platforms/line/listener.js +1 -1
  114. package/dist/src/platforms/line/listener.js.map +1 -1
  115. package/dist/src/platforms/slack/cli.d.ts.map +1 -1
  116. package/dist/src/platforms/slack/cli.js.map +1 -1
  117. package/dist/src/platforms/slack/client-mappers.d.ts +14 -0
  118. package/dist/src/platforms/slack/client-mappers.d.ts.map +1 -0
  119. package/dist/src/platforms/slack/client-mappers.js +245 -0
  120. package/dist/src/platforms/slack/client-mappers.js.map +1 -0
  121. package/dist/src/platforms/slack/client.d.ts +0 -1
  122. package/dist/src/platforms/slack/client.d.ts.map +1 -1
  123. package/dist/src/platforms/slack/client.js +41 -455
  124. package/dist/src/platforms/slack/client.js.map +1 -1
  125. package/dist/src/platforms/slack/commands/channel.d.ts.map +1 -1
  126. package/dist/src/platforms/slack/commands/channel.js.map +1 -1
  127. package/dist/src/platforms/slack/commands/emoji.d.ts.map +1 -1
  128. package/dist/src/platforms/slack/commands/emoji.js +1 -3
  129. package/dist/src/platforms/slack/commands/emoji.js.map +1 -1
  130. package/dist/src/platforms/slack/commands/message.d.ts.map +1 -1
  131. package/dist/src/platforms/slack/commands/message.js.map +1 -1
  132. package/dist/src/platforms/slack/commands/reminder.d.ts.map +1 -1
  133. package/dist/src/platforms/slack/commands/reminder.js.map +1 -1
  134. package/dist/src/platforms/slack/commands/snapshot.d.ts.map +1 -1
  135. package/dist/src/platforms/slack/commands/snapshot.js +75 -55
  136. package/dist/src/platforms/slack/commands/snapshot.js.map +1 -1
  137. package/dist/src/platforms/slack/commands/user.d.ts.map +1 -1
  138. package/dist/src/platforms/slack/commands/user.js.map +1 -1
  139. package/dist/src/platforms/slack/commands/usergroup.d.ts.map +1 -1
  140. package/dist/src/platforms/slack/commands/usergroup.js.map +1 -1
  141. package/dist/src/platforms/slack/commands/whoami.d.ts.map +1 -1
  142. package/dist/src/platforms/slack/commands/whoami.js.map +1 -1
  143. package/dist/src/platforms/slack/token-extractor.d.ts +2 -6
  144. package/dist/src/platforms/slack/token-extractor.d.ts.map +1 -1
  145. package/dist/src/platforms/slack/token-extractor.js +35 -229
  146. package/dist/src/platforms/slack/token-extractor.js.map +1 -1
  147. package/dist/src/platforms/slackbot/cli.d.ts.map +1 -1
  148. package/dist/src/platforms/slackbot/cli.js +1 -1
  149. package/dist/src/platforms/slackbot/cli.js.map +1 -1
  150. package/dist/src/platforms/teams/client.d.ts.map +1 -1
  151. package/dist/src/platforms/teams/client.js +1 -1
  152. package/dist/src/platforms/teams/client.js.map +1 -1
  153. package/dist/src/platforms/teams/commands/auth.d.ts.map +1 -1
  154. package/dist/src/platforms/teams/commands/auth.js +4 -1
  155. package/dist/src/platforms/teams/commands/auth.js.map +1 -1
  156. package/dist/src/platforms/teams/commands/snapshot.d.ts +1 -0
  157. package/dist/src/platforms/teams/commands/snapshot.d.ts.map +1 -1
  158. package/dist/src/platforms/teams/commands/snapshot.js +44 -31
  159. package/dist/src/platforms/teams/commands/snapshot.js.map +1 -1
  160. package/dist/src/platforms/teams/commands/whoami.d.ts.map +1 -1
  161. package/dist/src/platforms/teams/commands/whoami.js.map +1 -1
  162. package/dist/src/platforms/teams/token-extractor.d.ts +6 -18
  163. package/dist/src/platforms/teams/token-extractor.d.ts.map +1 -1
  164. package/dist/src/platforms/teams/token-extractor.js +71 -324
  165. package/dist/src/platforms/teams/token-extractor.js.map +1 -1
  166. package/dist/src/platforms/telegram/cli.d.ts.map +1 -1
  167. package/dist/src/platforms/telegram/cli.js +1 -4
  168. package/dist/src/platforms/telegram/cli.js.map +1 -1
  169. package/dist/src/platforms/telegram/client.d.ts.map +1 -1
  170. package/dist/src/platforms/telegram/client.js.map +1 -1
  171. package/dist/src/platforms/telegram/commands/auth.d.ts.map +1 -1
  172. package/dist/src/platforms/telegram/commands/auth.js +1 -1
  173. package/dist/src/platforms/telegram/commands/auth.js.map +1 -1
  174. package/dist/src/platforms/telegram/commands/chat.d.ts.map +1 -1
  175. package/dist/src/platforms/telegram/commands/chat.js.map +1 -1
  176. package/dist/src/platforms/telegram/commands/message.d.ts.map +1 -1
  177. package/dist/src/platforms/telegram/commands/message.js.map +1 -1
  178. package/dist/src/platforms/telegram/commands/whoami.js +1 -1
  179. package/dist/src/platforms/telegram/commands/whoami.js.map +1 -1
  180. package/dist/src/platforms/telegram/credential-manager.d.ts.map +1 -1
  181. package/dist/src/platforms/telegram/credential-manager.js +6 -2
  182. package/dist/src/platforms/telegram/credential-manager.js.map +1 -1
  183. package/dist/src/platforms/telegram/my-telegram-org.js.map +1 -1
  184. package/dist/src/platforms/webex/cli.d.ts.map +1 -1
  185. package/dist/src/platforms/webex/cli.js +1 -4
  186. package/dist/src/platforms/webex/cli.js.map +1 -1
  187. package/dist/src/platforms/webex/client.d.ts.map +1 -1
  188. package/dist/src/platforms/webex/client.js +3 -7
  189. package/dist/src/platforms/webex/client.js.map +1 -1
  190. package/dist/src/platforms/webex/commands/auth.d.ts.map +1 -1
  191. package/dist/src/platforms/webex/commands/auth.js +1 -3
  192. package/dist/src/platforms/webex/commands/auth.js.map +1 -1
  193. package/dist/src/platforms/webex/commands/member.d.ts.map +1 -1
  194. package/dist/src/platforms/webex/commands/member.js +1 -3
  195. package/dist/src/platforms/webex/commands/member.js.map +1 -1
  196. package/dist/src/platforms/webex/commands/message.d.ts.map +1 -1
  197. package/dist/src/platforms/webex/commands/message.js.map +1 -1
  198. package/dist/src/platforms/webex/commands/snapshot.d.ts +1 -0
  199. package/dist/src/platforms/webex/commands/snapshot.d.ts.map +1 -1
  200. package/dist/src/platforms/webex/commands/snapshot.js +14 -7
  201. package/dist/src/platforms/webex/commands/snapshot.js.map +1 -1
  202. package/dist/src/platforms/webex/commands/space.d.ts.map +1 -1
  203. package/dist/src/platforms/webex/commands/space.js.map +1 -1
  204. package/dist/src/platforms/webex/commands/whoami.d.ts.map +1 -1
  205. package/dist/src/platforms/webex/commands/whoami.js.map +1 -1
  206. package/dist/src/platforms/webex/credential-manager.d.ts.map +1 -1
  207. package/dist/src/platforms/webex/credential-manager.js.map +1 -1
  208. package/dist/src/platforms/webex/ensure-auth.d.ts.map +1 -1
  209. package/dist/src/platforms/webex/ensure-auth.js +1 -3
  210. package/dist/src/platforms/webex/ensure-auth.js.map +1 -1
  211. package/dist/src/platforms/webex/index.d.ts +1 -1
  212. package/dist/src/platforms/webex/index.d.ts.map +1 -1
  213. package/dist/src/platforms/webex/index.js.map +1 -1
  214. package/dist/src/platforms/webex/markdown-to-html.js.map +1 -1
  215. package/dist/src/platforms/webex/token-extractor.d.ts.map +1 -1
  216. package/dist/src/platforms/webex/token-extractor.js +5 -14
  217. package/dist/src/platforms/webex/token-extractor.js.map +1 -1
  218. package/dist/src/platforms/wechatbot/client.d.ts.map +1 -1
  219. package/dist/src/platforms/wechatbot/client.js.map +1 -1
  220. package/dist/src/platforms/wechatbot/commands/message.d.ts.map +1 -1
  221. package/dist/src/platforms/wechatbot/commands/message.js.map +1 -1
  222. package/dist/src/platforms/whatsapp/cli.d.ts.map +1 -1
  223. package/dist/src/platforms/whatsapp/cli.js +1 -4
  224. package/dist/src/platforms/whatsapp/cli.js.map +1 -1
  225. package/dist/src/platforms/whatsapp/commands/chat.d.ts.map +1 -1
  226. package/dist/src/platforms/whatsapp/commands/chat.js.map +1 -1
  227. package/dist/src/platforms/whatsapp/commands/message.d.ts.map +1 -1
  228. package/dist/src/platforms/whatsapp/commands/message.js.map +1 -1
  229. package/dist/src/platforms/whatsapp/commands/shared.d.ts.map +1 -1
  230. package/dist/src/platforms/whatsapp/commands/shared.js.map +1 -1
  231. package/dist/src/platforms/whatsapp/credential-manager.d.ts.map +1 -1
  232. package/dist/src/platforms/whatsapp/credential-manager.js +1 -1
  233. package/dist/src/platforms/whatsapp/credential-manager.js.map +1 -1
  234. package/dist/src/platforms/whatsapp/ensure-auth.d.ts.map +1 -1
  235. package/dist/src/platforms/whatsapp/ensure-auth.js.map +1 -1
  236. package/dist/src/platforms/whatsappbot/client.d.ts.map +1 -1
  237. package/dist/src/platforms/whatsappbot/client.js +2 -2
  238. package/dist/src/platforms/whatsappbot/client.js.map +1 -1
  239. package/dist/src/platforms/whatsappbot/commands/auth.d.ts.map +1 -1
  240. package/dist/src/platforms/whatsappbot/commands/auth.js +4 -1
  241. package/dist/src/platforms/whatsappbot/commands/auth.js.map +1 -1
  242. package/dist/src/platforms/whatsappbot/commands/message.d.ts.map +1 -1
  243. package/dist/src/platforms/whatsappbot/commands/message.js.map +1 -1
  244. package/dist/src/platforms/whatsappbot/commands/shared.d.ts.map +1 -1
  245. package/dist/src/platforms/whatsappbot/commands/shared.js.map +1 -1
  246. package/dist/src/shared/chromium/browsers.d.ts +7 -0
  247. package/dist/src/shared/chromium/browsers.d.ts.map +1 -0
  248. package/dist/src/shared/chromium/browsers.js +89 -0
  249. package/dist/src/shared/chromium/browsers.js.map +1 -0
  250. package/dist/src/shared/chromium/cookie-reader.d.ts +20 -0
  251. package/dist/src/shared/chromium/cookie-reader.d.ts.map +1 -0
  252. package/dist/src/shared/chromium/cookie-reader.js +99 -0
  253. package/dist/src/shared/chromium/cookie-reader.js.map +1 -0
  254. package/dist/src/shared/chromium/decryptor.d.ts +42 -0
  255. package/dist/src/shared/chromium/decryptor.d.ts.map +1 -0
  256. package/dist/src/shared/chromium/decryptor.js +205 -0
  257. package/dist/src/shared/chromium/decryptor.js.map +1 -0
  258. package/dist/src/shared/chromium/index.d.ts +6 -0
  259. package/dist/src/shared/chromium/index.d.ts.map +1 -0
  260. package/dist/src/shared/chromium/index.js +4 -0
  261. package/dist/src/shared/chromium/index.js.map +1 -0
  262. package/dist/src/shared/chromium/types.d.ts +11 -0
  263. package/dist/src/shared/chromium/types.d.ts.map +1 -0
  264. package/dist/src/shared/chromium/types.js +2 -0
  265. package/dist/src/shared/chromium/types.js.map +1 -0
  266. package/dist/src/shared/utils/derived-key-cache.d.ts +1 -1
  267. package/dist/src/shared/utils/derived-key-cache.d.ts.map +1 -1
  268. package/dist/src/shared/utils/linux-keyring.js +4 -1
  269. package/dist/src/shared/utils/linux-keyring.js.map +1 -1
  270. package/dist/src/tui/adapters/kakaotalk-adapter.d.ts.map +1 -1
  271. package/dist/src/tui/adapters/kakaotalk-adapter.js +6 -1
  272. package/dist/src/tui/adapters/kakaotalk-adapter.js.map +1 -1
  273. package/dist/src/tui/adapters/telegram-adapter.js +1 -1
  274. package/dist/src/tui/adapters/telegram-adapter.js.map +1 -1
  275. package/dist/src/tui/adapters/webex-adapter.js +1 -1
  276. package/dist/src/tui/adapters/webex-adapter.js.map +1 -1
  277. package/dist/src/tui/app.d.ts.map +1 -1
  278. package/dist/src/tui/app.js +112 -23
  279. package/dist/src/tui/app.js.map +1 -1
  280. package/dist/src/tui/utils.d.ts.map +1 -1
  281. package/dist/src/tui/utils.js +11 -13
  282. package/dist/src/tui/utils.js.map +1 -1
  283. package/dist/src/tui/views/channel-picker.d.ts.map +1 -1
  284. package/dist/src/tui/views/channel-picker.js.map +1 -1
  285. package/dist/src/tui/views/workspace-picker.d.ts.map +1 -1
  286. package/dist/src/tui/views/workspace-picker.js.map +1 -1
  287. package/docs/content/docs/agent-skills.mdx +0 -10
  288. package/docs/content/docs/cli/channeltalk.mdx +42 -30
  289. package/docs/content/docs/cli/channeltalkbot.mdx +23 -13
  290. package/docs/content/docs/cli/discord.mdx +23 -7
  291. package/docs/content/docs/cli/discordbot.mdx +23 -7
  292. package/docs/content/docs/cli/instagram.mdx +4 -4
  293. package/docs/content/docs/cli/kakaotalk.mdx +9 -8
  294. package/docs/content/docs/cli/line.mdx +14 -14
  295. package/docs/content/docs/cli/slack.mdx +24 -7
  296. package/docs/content/docs/cli/teams.mdx +24 -8
  297. package/docs/content/docs/cli/webex.mdx +34 -21
  298. package/docs/content/docs/cli/wechatbot.mdx +12 -11
  299. package/docs/content/docs/cli/whatsapp.mdx +5 -4
  300. package/docs/content/docs/cli/whatsappbot.mdx +11 -11
  301. package/docs/content/docs/index.mdx +7 -7
  302. package/docs/content/docs/meta.json +1 -9
  303. package/docs/content/docs/sdk/channeltalk.mdx +5 -6
  304. package/docs/content/docs/sdk/channeltalkbot.mdx +6 -12
  305. package/docs/content/docs/sdk/discord.mdx +36 -43
  306. package/docs/content/docs/sdk/instagram.mdx +18 -18
  307. package/docs/content/docs/sdk/kakaotalk.mdx +27 -18
  308. package/docs/content/docs/sdk/line.mdx +8 -13
  309. package/docs/content/docs/sdk/meta.json +14 -1
  310. package/docs/content/docs/sdk/slack.mdx +36 -42
  311. package/docs/content/docs/sdk/teams.mdx +2 -8
  312. package/docs/content/docs/sdk/webex.mdx +2 -12
  313. package/docs/content/docs/sdk/wechatbot.mdx +1 -5
  314. package/docs/content/docs/sdk/whatsapp.mdx +10 -19
  315. package/docs/content/docs/sdk/whatsappbot.mdx +2 -10
  316. package/docs/content/docs/tui.mdx +23 -23
  317. package/docs/src/app/page.tsx +353 -108
  318. package/e2e/channeltalkbot.e2e.test.ts +1 -5
  319. package/e2e/config.ts +6 -2
  320. package/package.json +59 -58
  321. package/scripts/prepublish.ts +1 -3
  322. package/skills/agent-channeltalk/SKILL.md +19 -9
  323. package/skills/agent-channeltalk/references/common-patterns.md +10 -9
  324. package/skills/agent-channeltalkbot/SKILL.md +19 -9
  325. package/skills/agent-channeltalkbot/references/common-patterns.md +10 -9
  326. package/skills/agent-discord/SKILL.md +18 -9
  327. package/skills/agent-discord/references/common-patterns.md +8 -7
  328. package/skills/agent-discordbot/SKILL.md +18 -9
  329. package/skills/agent-instagram/SKILL.md +1 -1
  330. package/skills/agent-kakaotalk/SKILL.md +1 -1
  331. package/skills/agent-line/SKILL.md +1 -1
  332. package/skills/agent-slack/SKILL.md +19 -10
  333. package/skills/agent-slack/references/common-patterns.md +4 -7
  334. package/skills/agent-slackbot/SKILL.md +1 -1
  335. package/skills/agent-teams/SKILL.md +18 -9
  336. package/skills/agent-teams/references/common-patterns.md +9 -7
  337. package/skills/agent-telegram/SKILL.md +1 -1
  338. package/skills/agent-webex/SKILL.md +13 -4
  339. package/skills/agent-webex/references/common-patterns.md +8 -2
  340. package/skills/agent-wechatbot/SKILL.md +1 -1
  341. package/skills/agent-whatsapp/SKILL.md +1 -1
  342. package/skills/agent-whatsappbot/SKILL.md +1 -1
  343. package/src/platforms/channeltalk/client.test.ts +116 -29
  344. package/src/platforms/channeltalk/client.ts +26 -6
  345. package/src/platforms/channeltalk/commands/auth.test.ts +5 -5
  346. package/src/platforms/channeltalk/commands/auth.ts +19 -5
  347. package/src/platforms/channeltalk/commands/message.test.ts +2 -6
  348. package/src/platforms/channeltalk/commands/message.ts +5 -1
  349. package/src/platforms/channeltalk/commands/snapshot.test.ts +77 -30
  350. package/src/platforms/channeltalk/commands/snapshot.ts +112 -34
  351. package/src/platforms/channeltalk/ensure-auth.test.ts +20 -17
  352. package/src/platforms/channeltalk/ensure-auth.ts +6 -7
  353. package/src/platforms/channeltalk/index.ts +0 -1
  354. package/src/platforms/channeltalk/token-extractor.test.ts +33 -25
  355. package/src/platforms/channeltalk/token-extractor.ts +120 -372
  356. package/src/platforms/channeltalkbot/client.test.ts +1 -3
  357. package/src/platforms/channeltalkbot/client.ts +39 -13
  358. package/src/platforms/channeltalkbot/commands/auth.test.ts +3 -1
  359. package/src/platforms/channeltalkbot/commands/auth.ts +4 -1
  360. package/src/platforms/channeltalkbot/commands/bot.test.ts +13 -5
  361. package/src/platforms/channeltalkbot/commands/message.test.ts +12 -6
  362. package/src/platforms/channeltalkbot/commands/shared.ts +6 -2
  363. package/src/platforms/channeltalkbot/commands/snapshot.test.ts +43 -13
  364. package/src/platforms/channeltalkbot/commands/snapshot.ts +131 -64
  365. package/src/platforms/channeltalkbot/credential-manager.test.ts +1 -1
  366. package/src/platforms/channeltalkbot/index.test.ts +0 -2
  367. package/src/platforms/channeltalkbot/index.ts +0 -1
  368. package/src/platforms/discord/commands/auth.test.ts +6 -4
  369. package/src/platforms/discord/commands/auth.ts +14 -14
  370. package/src/platforms/discord/commands/snapshot.test.ts +1 -1
  371. package/src/platforms/discord/commands/snapshot.ts +58 -42
  372. package/src/platforms/discord/commands/whoami.test.ts +2 -4
  373. package/src/platforms/discord/commands/whoami.ts +2 -0
  374. package/src/platforms/discord/ensure-auth.test.ts +5 -3
  375. package/src/platforms/discord/index.ts +0 -1
  376. package/src/platforms/discord/listener.test.ts +7 -1
  377. package/src/platforms/discord/token-extractor.test.ts +18 -12
  378. package/src/platforms/discord/token-extractor.ts +46 -190
  379. package/src/platforms/discordbot/client.ts +1 -4
  380. package/src/platforms/discordbot/commands/auth.test.ts +3 -1
  381. package/src/platforms/discordbot/commands/channel.test.ts +3 -1
  382. package/src/platforms/discordbot/commands/message.test.ts +3 -1
  383. package/src/platforms/discordbot/commands/server.test.ts +3 -1
  384. package/src/platforms/discordbot/commands/snapshot.test.ts +43 -19
  385. package/src/platforms/discordbot/commands/snapshot.ts +54 -37
  386. package/src/platforms/discordbot/commands/thread.test.ts +3 -1
  387. package/src/platforms/discordbot/commands/user.test.ts +3 -1
  388. package/src/platforms/instagram/cli.ts +1 -4
  389. package/src/platforms/instagram/client.test.ts +3 -8
  390. package/src/platforms/instagram/client.ts +39 -34
  391. package/src/platforms/instagram/commands/auth.test.ts +13 -12
  392. package/src/platforms/instagram/commands/auth.ts +136 -71
  393. package/src/platforms/instagram/commands/chat.test.ts +21 -24
  394. package/src/platforms/instagram/commands/chat.ts +2 -0
  395. package/src/platforms/instagram/commands/message.test.ts +29 -24
  396. package/src/platforms/instagram/commands/message.ts +3 -4
  397. package/src/platforms/instagram/commands/shared.ts +2 -5
  398. package/src/platforms/instagram/commands/whoami.test.ts +4 -6
  399. package/src/platforms/instagram/credential-manager.ts +2 -6
  400. package/src/platforms/instagram/ensure-auth.test.ts +1 -4
  401. package/src/platforms/instagram/ensure-auth.ts +6 -3
  402. package/src/platforms/instagram/listener.test.ts +7 -3
  403. package/src/platforms/instagram/token-extractor.test.ts +4 -16
  404. package/src/platforms/instagram/token-extractor.ts +55 -309
  405. package/src/platforms/instagram/types.test.ts +2 -6
  406. package/src/platforms/instagram/types.ts +4 -2
  407. package/src/platforms/kakaotalk/auth/kakao-login.ts +30 -8
  408. package/src/platforms/kakaotalk/client.test.ts +37 -25
  409. package/src/platforms/kakaotalk/client.ts +23 -12
  410. package/src/platforms/kakaotalk/commands/auth.test.ts +6 -18
  411. package/src/platforms/kakaotalk/commands/auth.ts +101 -47
  412. package/src/platforms/kakaotalk/commands/chat.test.ts +8 -11
  413. package/src/platforms/kakaotalk/commands/message.test.ts +15 -24
  414. package/src/platforms/kakaotalk/commands/shared.ts +1 -0
  415. package/src/platforms/kakaotalk/commands/whoami.test.ts +6 -10
  416. package/src/platforms/kakaotalk/credential-manager.test.ts +1 -4
  417. package/src/platforms/kakaotalk/index.test.ts +1 -0
  418. package/src/platforms/kakaotalk/index.ts +0 -2
  419. package/src/platforms/kakaotalk/listener.test.ts +7 -1
  420. package/src/platforms/kakaotalk/protocol/connection.ts +4 -1
  421. package/src/platforms/kakaotalk/protocol/crypto.ts +1 -1
  422. package/src/platforms/kakaotalk/protocol/session.ts +12 -6
  423. package/src/platforms/kakaotalk/token-extractor.ts +5 -5
  424. package/src/platforms/kakaotalk/types.ts +8 -7
  425. package/src/platforms/line/cli.ts +1 -4
  426. package/src/platforms/line/client.ts +12 -20
  427. package/src/platforms/line/commands/auth.test.ts +2 -1
  428. package/src/platforms/line/commands/chat.test.ts +2 -1
  429. package/src/platforms/line/commands/chat.ts +1 -4
  430. package/src/platforms/line/commands/friend.test.ts +2 -1
  431. package/src/platforms/line/commands/message.test.ts +2 -1
  432. package/src/platforms/line/commands/message.ts +2 -9
  433. package/src/platforms/line/commands/whoami.test.ts +2 -1
  434. package/src/platforms/line/credential-manager.test.ts +1 -2
  435. package/src/platforms/line/index.test.ts +1 -0
  436. package/src/platforms/line/listener.ts +1 -1
  437. package/src/platforms/line/types.test.ts +1 -0
  438. package/src/platforms/slack/cli.ts +3 -1
  439. package/src/platforms/slack/client-mappers.ts +297 -0
  440. package/src/platforms/slack/client.test.ts +532 -17
  441. package/src/platforms/slack/client.ts +69 -458
  442. package/src/platforms/slack/commands/channel.ts +1 -4
  443. package/src/platforms/slack/commands/emoji.test.ts +6 -4
  444. package/src/platforms/slack/commands/emoji.ts +20 -22
  445. package/src/platforms/slack/commands/message.ts +6 -1
  446. package/src/platforms/slack/commands/pin.test.ts +14 -12
  447. package/src/platforms/slack/commands/reminder.ts +7 -6
  448. package/src/platforms/slack/commands/snapshot.test.ts +63 -8
  449. package/src/platforms/slack/commands/snapshot.ts +98 -66
  450. package/src/platforms/slack/commands/user.ts +6 -1
  451. package/src/platforms/slack/commands/usergroup.test.ts +3 -3
  452. package/src/platforms/slack/commands/usergroup.ts +10 -7
  453. package/src/platforms/slack/commands/whoami.test.ts +1 -1
  454. package/src/platforms/slack/commands/whoami.ts +2 -0
  455. package/src/platforms/slack/index.ts +0 -2
  456. package/src/platforms/slack/listener.test.ts +1 -0
  457. package/src/platforms/slack/token-extractor.test.ts +7 -12
  458. package/src/platforms/slack/token-extractor.ts +47 -255
  459. package/src/platforms/slackbot/cli.ts +8 -1
  460. package/src/platforms/slackbot/commands/auth.test.ts +3 -1
  461. package/src/platforms/teams/client.ts +1 -1
  462. package/src/platforms/teams/commands/auth.test.ts +1 -1
  463. package/src/platforms/teams/commands/auth.ts +4 -1
  464. package/src/platforms/teams/commands/snapshot.test.ts +1 -1
  465. package/src/platforms/teams/commands/snapshot.ts +53 -38
  466. package/src/platforms/teams/commands/whoami.test.ts +2 -4
  467. package/src/platforms/teams/commands/whoami.ts +2 -0
  468. package/src/platforms/teams/index.ts +0 -1
  469. package/src/platforms/teams/token-extractor.ts +82 -350
  470. package/src/platforms/telegram/app-config.test.ts +1 -0
  471. package/src/platforms/telegram/chat-utils.test.ts +5 -1
  472. package/src/platforms/telegram/cli.ts +2 -4
  473. package/src/platforms/telegram/client.test.ts +16 -3
  474. package/src/platforms/telegram/client.ts +14 -4
  475. package/src/platforms/telegram/commands/auth.test.ts +1 -0
  476. package/src/platforms/telegram/commands/auth.ts +3 -4
  477. package/src/platforms/telegram/commands/chat.test.ts +2 -5
  478. package/src/platforms/telegram/commands/chat.ts +1 -0
  479. package/src/platforms/telegram/commands/message.test.ts +2 -5
  480. package/src/platforms/telegram/commands/message.ts +1 -0
  481. package/src/platforms/telegram/commands/shared.test.ts +1 -0
  482. package/src/platforms/telegram/commands/whoami.test.ts +5 -7
  483. package/src/platforms/telegram/commands/whoami.ts +1 -1
  484. package/src/platforms/telegram/credential-manager.test.ts +1 -0
  485. package/src/platforms/telegram/credential-manager.ts +11 -2
  486. package/src/platforms/telegram/my-telegram-org.ts +6 -2
  487. package/src/platforms/telegram/types.test.ts +1 -0
  488. package/src/platforms/webex/app-config.test.ts +1 -0
  489. package/src/platforms/webex/cli.ts +1 -4
  490. package/src/platforms/webex/client.test.ts +4 -12
  491. package/src/platforms/webex/client.ts +14 -52
  492. package/src/platforms/webex/commands/auth.test.ts +7 -1
  493. package/src/platforms/webex/commands/auth.ts +12 -15
  494. package/src/platforms/webex/commands/member.test.ts +1 -3
  495. package/src/platforms/webex/commands/member.ts +14 -19
  496. package/src/platforms/webex/commands/message.ts +4 -15
  497. package/src/platforms/webex/commands/snapshot.test.ts +42 -4
  498. package/src/platforms/webex/commands/snapshot.ts +19 -11
  499. package/src/platforms/webex/commands/space.test.ts +3 -3
  500. package/src/platforms/webex/commands/space.ts +2 -9
  501. package/src/platforms/webex/commands/whoami.test.ts +12 -5
  502. package/src/platforms/webex/commands/whoami.ts +2 -0
  503. package/src/platforms/webex/credential-manager.ts +11 -2
  504. package/src/platforms/webex/ensure-auth.ts +1 -3
  505. package/src/platforms/webex/index.ts +1 -7
  506. package/src/platforms/webex/markdown-to-html.test.ts +6 -18
  507. package/src/platforms/webex/markdown-to-html.ts +8 -8
  508. package/src/platforms/webex/token-extractor.ts +6 -29
  509. package/src/platforms/wechatbot/client.test.ts +6 -2
  510. package/src/platforms/wechatbot/client.ts +6 -1
  511. package/src/platforms/wechatbot/commands/auth.test.ts +3 -7
  512. package/src/platforms/wechatbot/commands/message.test.ts +1 -4
  513. package/src/platforms/wechatbot/commands/message.ts +5 -1
  514. package/src/platforms/wechatbot/commands/template.test.ts +1 -4
  515. package/src/platforms/wechatbot/commands/user.test.ts +2 -7
  516. package/src/platforms/whatsapp/cli.ts +1 -4
  517. package/src/platforms/whatsapp/commands/auth.test.ts +19 -22
  518. package/src/platforms/whatsapp/commands/chat.test.ts +21 -24
  519. package/src/platforms/whatsapp/commands/chat.ts +2 -0
  520. package/src/platforms/whatsapp/commands/message.test.ts +22 -24
  521. package/src/platforms/whatsapp/commands/message.ts +3 -5
  522. package/src/platforms/whatsapp/commands/shared.ts +2 -5
  523. package/src/platforms/whatsapp/commands/whoami.test.ts +2 -2
  524. package/src/platforms/whatsapp/credential-manager.ts +2 -6
  525. package/src/platforms/whatsapp/ensure-auth.test.ts +1 -4
  526. package/src/platforms/whatsapp/ensure-auth.ts +14 -6
  527. package/src/platforms/whatsapp/index.ts +0 -2
  528. package/src/platforms/whatsappbot/client.test.ts +13 -7
  529. package/src/platforms/whatsappbot/client.ts +18 -4
  530. package/src/platforms/whatsappbot/commands/auth.ts +4 -1
  531. package/src/platforms/whatsappbot/commands/message.test.ts +12 -2
  532. package/src/platforms/whatsappbot/commands/message.ts +16 -3
  533. package/src/platforms/whatsappbot/commands/shared.ts +3 -1
  534. package/src/platforms/whatsappbot/commands/whoami.test.ts +1 -3
  535. package/src/platforms/whatsappbot/index.ts +0 -2
  536. package/src/shared/chromium/browsers.test.ts +274 -0
  537. package/src/shared/chromium/browsers.ts +86 -0
  538. package/src/shared/chromium/cookie-reader.test.ts +274 -0
  539. package/src/shared/chromium/cookie-reader.ts +111 -0
  540. package/src/shared/chromium/decryptor.test.ts +449 -0
  541. package/src/shared/chromium/decryptor.ts +227 -0
  542. package/src/shared/chromium/index.ts +11 -0
  543. package/src/shared/chromium/types.ts +11 -0
  544. package/src/shared/utils/derived-key-cache.ts +1 -1
  545. package/src/shared/utils/linux-keyring.ts +4 -4
  546. package/src/tui/adapters/kakaotalk-adapter.ts +6 -1
  547. package/src/tui/adapters/telegram-adapter.ts +1 -1
  548. package/src/tui/adapters/webex-adapter.ts +1 -1
  549. package/src/tui/app.ts +149 -59
  550. package/src/tui/utils.test.ts +144 -145
  551. package/src/tui/utils.ts +27 -29
  552. package/src/tui/views/channel-picker.ts +1 -1
  553. package/src/tui/views/workspace-picker.ts +1 -1
@@ -10,10 +10,7 @@ npm install agent-messenger
10
10
  ```
11
11
 
12
12
  ```typescript
13
- import {
14
- KakaoTalkClient,
15
- KakaoCredentialManager,
16
- } from 'agent-messenger/kakaotalk'
13
+ import { KakaoTalkClient, KakaoCredentialManager } from 'agent-messenger/kakaotalk'
17
14
  ```
18
15
 
19
16
  ## KakaoTalkClient
@@ -119,16 +116,16 @@ await listener.start()
119
116
 
120
117
  ### Events
121
118
 
122
- | Event | Payload | Description |
123
- |-------|---------|-------------|
124
- | `message` | `KakaoTalkPushMessageEvent` | New message received |
125
- | `member_joined` | `KakaoTalkPushMemberEvent` | Member joined a chat |
126
- | `member_left` | `KakaoTalkPushMemberEvent` | Member left a chat |
127
- | `read` | `KakaoTalkPushReadEvent` | Read receipt (unread count decreased) |
128
- | `kakaotalk_event` | `KakaoTalkPushGenericEvent` | Catch-all for all push events |
129
- | `connected` | `{ userId: string }` | Connected to LOCO server |
130
- | `disconnected` | — | Disconnected (will auto-reconnect) |
131
- | `error` | `Error` | Connection or protocol error |
119
+ | Event | Payload | Description |
120
+ | ----------------- | --------------------------- | ------------------------------------- |
121
+ | `message` | `KakaoTalkPushMessageEvent` | New message received |
122
+ | `member_joined` | `KakaoTalkPushMemberEvent` | Member joined a chat |
123
+ | `member_left` | `KakaoTalkPushMemberEvent` | Member left a chat |
124
+ | `read` | `KakaoTalkPushReadEvent` | Read receipt (unread count decreased) |
125
+ | `kakaotalk_event` | `KakaoTalkPushGenericEvent` | Catch-all for all push events |
126
+ | `connected` | `{ userId: string }` | Connected to LOCO server |
127
+ | `disconnected` | — | Disconnected (will auto-reconnect) |
128
+ | `error` | `Error` | Connection or protocol error |
132
129
 
133
130
  ### Reconnection
134
131
 
@@ -211,11 +208,15 @@ const manager = new KakaoCredentialManager()
211
208
  const account = await manager.getAccount()
212
209
  if (!account) throw new Error('Not authenticated')
213
210
 
214
- const client = await new KakaoTalkClient().login({ oauthToken: account.oauth_token, userId: account.user_id, deviceUuid: account.device_uuid })
211
+ const client = await new KakaoTalkClient().login({
212
+ oauthToken: account.oauth_token,
213
+ userId: account.user_id,
214
+ deviceUuid: account.device_uuid,
215
+ })
215
216
 
216
217
  try {
217
218
  const chats = await client.getChats({ all: true })
218
- const unread = chats.filter(c => c.unread_count > 0)
219
+ const unread = chats.filter((c) => c.unread_count > 0)
219
220
  console.log(`${unread.length} chats with unread messages:`)
220
221
  for (const chat of unread) {
221
222
  console.log(` ${chat.display_name} — ${chat.unread_count} unread`)
@@ -236,7 +237,11 @@ const manager = new KakaoCredentialManager()
236
237
  const account = await manager.getAccount()
237
238
  if (!account) throw new Error('Not authenticated')
238
239
 
239
- const client = await new KakaoTalkClient().login({ oauthToken: account.oauth_token, userId: account.user_id, deviceUuid: account.device_uuid })
240
+ const client = await new KakaoTalkClient().login({
241
+ oauthToken: account.oauth_token,
242
+ userId: account.user_id,
243
+ deviceUuid: account.device_uuid,
244
+ })
240
245
 
241
246
  try {
242
247
  const chats = await client.getChats({ search: 'Team' })
@@ -262,7 +267,11 @@ const manager = new KakaoCredentialManager()
262
267
  const account = await manager.getAccount()
263
268
  if (!account) throw new Error('Not authenticated')
264
269
 
265
- const client = await new KakaoTalkClient().login({ oauthToken: account.oauth_token, userId: account.user_id, deviceUuid: account.device_uuid })
270
+ const client = await new KakaoTalkClient().login({
271
+ oauthToken: account.oauth_token,
272
+ userId: account.user_id,
273
+ deviceUuid: account.device_uuid,
274
+ })
266
275
  const chatId = '9876543210'
267
276
 
268
277
  let lastLogId: string | undefined
@@ -10,12 +10,7 @@ npm install agent-messenger
10
10
  ```
11
11
 
12
12
  ```typescript
13
- import {
14
- LineClient,
15
- LineListener,
16
- LineError,
17
- LineCredentialManager,
18
- } from 'agent-messenger/line'
13
+ import { LineClient, LineListener, LineError, LineCredentialManager } from 'agent-messenger/line'
19
14
  ```
20
15
 
21
16
  ## LineClient
@@ -164,13 +159,13 @@ await listener.start()
164
159
 
165
160
  ### Events
166
161
 
167
- | Event | Payload | Description |
168
- |-------|---------|-------------|
169
- | `message` | `LinePushMessageEvent` | New message received |
170
- | `line_event` | `LinePushGenericEvent` | Catch-all for all LINE events |
171
- | `connected` | `{ account_id: string }` | Connected to LINE server |
172
- | `disconnected` | — | Disconnected (will auto-reconnect) |
173
- | `error` | `Error` | Connection or protocol error |
162
+ | Event | Payload | Description |
163
+ | -------------- | ------------------------ | ---------------------------------- |
164
+ | `message` | `LinePushMessageEvent` | New message received |
165
+ | `line_event` | `LinePushGenericEvent` | Catch-all for all LINE events |
166
+ | `connected` | `{ account_id: string }` | Connected to LINE server |
167
+ | `disconnected` | — | Disconnected (will auto-reconnect) |
168
+ | `error` | `Error` | Connection or protocol error |
174
169
 
175
170
  ### Reconnection
176
171
 
@@ -1,4 +1,17 @@
1
1
  {
2
2
  "title": "TypeScript SDK",
3
- "pages": ["slack", "discord", "teams", "webex", "whatsapp", "whatsappbot", "line", "wechatbot", "instagram", "kakaotalk", "channeltalk", "channeltalkbot"]
3
+ "pages": [
4
+ "slack",
5
+ "discord",
6
+ "teams",
7
+ "webex",
8
+ "whatsapp",
9
+ "whatsappbot",
10
+ "line",
11
+ "wechatbot",
12
+ "instagram",
13
+ "kakaotalk",
14
+ "channeltalk",
15
+ "channeltalkbot"
16
+ ]
4
17
  }
@@ -10,12 +10,7 @@ npm install agent-messenger
10
10
  ```
11
11
 
12
12
  ```typescript
13
- import {
14
- SlackClient,
15
- SlackListener,
16
- SlackError,
17
- SlackCredentialManager,
18
- } from 'agent-messenger/slack'
13
+ import { SlackClient, SlackListener, SlackError, SlackCredentialManager } from 'agent-messenger/slack'
19
14
  ```
20
15
 
21
16
  ## SlackClient
@@ -81,8 +76,8 @@ const url = await client.getPermalink(channel, ts)
81
76
 
82
77
  // Search messages across workspace
83
78
  const results = await client.searchMessages('keyword', {
84
- sort: 'timestamp', // 'score' | 'timestamp'
85
- sortDir: 'desc', // 'asc' | 'desc'
79
+ sort: 'timestamp', // 'score' | 'timestamp'
80
+ sortDir: 'desc', // 'asc' | 'desc'
86
81
  count: 20,
87
82
  })
88
83
  // → SlackSearchResult[]
@@ -122,7 +117,7 @@ const channel = await client.getChannel(channelId)
122
117
 
123
118
  // Resolve channel name to ID (passes IDs through unchanged)
124
119
  const id = await client.resolveChannel('general')
125
- const id = await client.resolveChannel('C0ABC123') // returned as-is
120
+ const id = await client.resolveChannel('C0ABC123') // returned as-is
126
121
 
127
122
  // Open a DM (or group DM) — returns existing channel if already open
128
123
  const dm = await client.openConversation('U0ABC123')
@@ -384,25 +379,26 @@ listener.on('slack_event', (event) => {
384
379
 
385
380
  listener.on('error', (err) => console.error(err))
386
381
 
387
- await listener.start() // connects via RTM WebSocket
382
+ await listener.start() // connects via RTM WebSocket
388
383
  // listener.stop() // clean shutdown
389
384
  ```
390
385
 
391
386
  ### Available Events
392
387
 
393
- | Event | Description |
394
- |-------|-------------|
395
- | `message` | New message, edit, delete, thread reply |
396
- | `reaction_added` / `reaction_removed` | Reaction changes |
397
- | `member_joined_channel` / `member_left_channel` | Member changes |
398
- | `user_typing` | Typing indicator |
399
- | `presence_change` | User active/away status |
400
- | `channel_created` / `channel_deleted` / `channel_rename` / `channel_archive` / `channel_unarchive` | Channel lifecycle |
401
- | `slack_event` | Catch-all for every RTM event |
402
- | `connected` / `disconnected` | Connection lifecycle |
403
- | `error` | Connection or API error |
388
+ | Event | Description |
389
+ | -------------------------------------------------------------------------------------------------- | --------------------------------------- |
390
+ | `message` | New message, edit, delete, thread reply |
391
+ | `reaction_added` / `reaction_removed` | Reaction changes |
392
+ | `member_joined_channel` / `member_left_channel` | Member changes |
393
+ | `user_typing` | Typing indicator |
394
+ | `presence_change` | User active/away status |
395
+ | `channel_created` / `channel_deleted` / `channel_rename` / `channel_archive` / `channel_unarchive` | Channel lifecycle |
396
+ | `slack_event` | Catch-all for every RTM event |
397
+ | `connected` / `disconnected` | Connection lifecycle |
398
+ | `error` | Connection or API error |
404
399
 
405
400
  Features:
401
+
406
402
  - No channel subscription needed — receives all workspace events
407
403
  - Auto-reconnect with exponential backoff
408
404
  - Ping/pong keepalive
@@ -514,13 +510,16 @@ await client.addBookmark(channel.id, 'Figma Designs', 'https://figma.com/file/ab
514
510
  })
515
511
 
516
512
  // Pin welcome message
517
- const welcome = await client.sendMessage(channel.id, [
518
- 'Welcome to *Project Alpha*! 🎉',
519
- '',
520
- '📋 *Resources* check the bookmarks above',
521
- '🧵 *Discussions* — use threads to keep things organized',
522
- '📌 *Decisions* — pin important messages',
523
- ].join('\n'))
513
+ const welcome = await client.sendMessage(
514
+ channel.id,
515
+ [
516
+ 'Welcome to *Project Alpha*! 🎉',
517
+ '',
518
+ '📋 *Resources* — check the bookmarks above',
519
+ '🧵 *Discussions* — use threads to keep things organized',
520
+ '📌 *Decisions* — pin important messages',
521
+ ].join('\n'),
522
+ )
524
523
  await client.pinMessage(channel.id, welcome.ts)
525
524
  ```
526
525
 
@@ -549,11 +548,7 @@ listener.on('message', async (event) => {
549
548
 
550
549
  listener.on('reaction_added', async (event) => {
551
550
  if (event.reaction === 'ticket' && event.user !== auth.user_id) {
552
- await client.sendMessage(
553
- event.item.channel,
554
- `Ticket created for <@${event.user}>'s message.`,
555
- event.item.ts,
556
- )
551
+ await client.sendMessage(event.item.channel, `Ticket created for <@${event.user}>'s message.`, event.item.ts)
557
552
  }
558
553
  })
559
554
 
@@ -626,11 +621,7 @@ for (const result of results) {
626
621
  await client.addReaction(result.channel.id, result.ts, 'eyes')
627
622
 
628
623
  // Reply in thread
629
- await client.sendMessage(
630
- result.channel.id,
631
- 'Flagged for review — will follow up shortly.',
632
- result.ts,
633
- )
624
+ await client.sendMessage(result.channel.id, 'Flagged for review — will follow up shortly.', result.ts)
634
625
 
635
626
  // Schedule a follow-up reminder
636
627
  const inOneHour = Math.floor(Date.now() / 1000) + 3600
@@ -663,9 +654,12 @@ for (const file of files.slice(0, 5)) {
663
654
  // Re-upload to archive
664
655
  const uploaded = await client.uploadFile([target], buffer, file.name)
665
656
 
666
- await client.sendMessage(target, [
667
- `📎 Archived *${file.name}* from <#${source}>`,
668
- `Original uploader: <@${file.user}> · ${(file.size / 1024).toFixed(0)} KB`,
669
- ].join('\n'))
657
+ await client.sendMessage(
658
+ target,
659
+ [
660
+ `📎 Archived *${file.name}* from <#${source}>`,
661
+ `Original uploader: <@${file.user}> · ${(file.size / 1024).toFixed(0)} KB`,
662
+ ].join('\n'),
663
+ )
670
664
  }
671
665
  ```
@@ -10,11 +10,7 @@ npm install agent-messenger
10
10
  ```
11
11
 
12
12
  ```typescript
13
- import {
14
- TeamsClient,
15
- TeamsCredentialManager,
16
- TeamsError,
17
- } from 'agent-messenger/teams'
13
+ import { TeamsClient, TeamsCredentialManager, TeamsError } from 'agent-messenger/teams'
18
14
  ```
19
15
 
20
16
  ## TeamsClient
@@ -306,9 +302,7 @@ for (const channel of channels.slice(0, 5)) {
306
302
  const messages = await client.getMessages(teamId, channel.id, 1)
307
303
  const latest = messages[0]
308
304
  if (latest) {
309
- console.log(
310
- `#${channel.name}: "${latest.content.slice(0, 60)}" — ${latest.author.displayName}`,
311
- )
305
+ console.log(`#${channel.name}: "${latest.content.slice(0, 60)}" — ${latest.author.displayName}`)
312
306
  } else {
313
307
  console.log(`#${channel.name}: (no messages)`)
314
308
  }
@@ -10,11 +10,7 @@ npm install agent-messenger
10
10
  ```
11
11
 
12
12
  ```typescript
13
- import {
14
- WebexClient,
15
- WebexCredentialManager,
16
- WebexError,
17
- } from 'agent-messenger/webex'
13
+ import { WebexClient, WebexCredentialManager, WebexError } from 'agent-messenger/webex'
18
14
  ```
19
15
 
20
16
  ## WebexClient
@@ -150,13 +146,7 @@ await manager.clearCredentials()
150
146
  ## Types
151
147
 
152
148
  ```typescript
153
- import type {
154
- WebexSpace,
155
- WebexMessage,
156
- WebexPerson,
157
- WebexMembership,
158
- WebexConfig,
159
- } from 'agent-messenger/webex'
149
+ import type { WebexSpace, WebexMessage, WebexPerson, WebexMembership, WebexConfig } from 'agent-messenger/webex'
160
150
  ```
161
151
 
162
152
  ### Zod Schemas
@@ -10,11 +10,7 @@ npm install agent-messenger
10
10
  ```
11
11
 
12
12
  ```typescript
13
- import {
14
- WeChatBotClient,
15
- WeChatBotCredentialManager,
16
- WeChatBotError,
17
- } from 'agent-messenger/wechatbot'
13
+ import { WeChatBotClient, WeChatBotCredentialManager, WeChatBotError } from 'agent-messenger/wechatbot'
18
14
  ```
19
15
 
20
16
  ## WeChatBotClient
@@ -10,10 +10,7 @@ npm install agent-messenger
10
10
  ```
11
11
 
12
12
  ```typescript
13
- import {
14
- WhatsAppClient,
15
- WhatsAppCredentialManager,
16
- } from 'agent-messenger/whatsapp'
13
+ import { WhatsAppClient, WhatsAppCredentialManager } from 'agent-messenger/whatsapp'
17
14
  ```
18
15
 
19
16
  ## WhatsAppClient
@@ -195,22 +192,16 @@ import type {
195
192
  ## Exported Utilities
196
193
 
197
194
  ```typescript
198
- import {
199
- createAccountId,
200
- extractMessageText,
201
- getMessageType,
202
- jidToType,
203
- WhatsAppError,
204
- } from 'agent-messenger/whatsapp'
195
+ import { createAccountId, extractMessageText, getMessageType, jidToType, WhatsAppError } from 'agent-messenger/whatsapp'
205
196
  ```
206
197
 
207
- | Export | Description |
208
- |--------|-------------|
209
- | `createAccountId(input)` | Normalizes a phone number or string into a safe account ID |
210
- | `extractMessageText(message)` | Pulls the text content from a Baileys `proto.IMessage` |
211
- | `getMessageType(message)` | Returns the message type (`text`, `image`, `video`, etc.) from a Baileys `proto.IMessage` |
212
- | `jidToType(jid)` | Maps a JID to its chat type: `individual`, `group`, `broadcast`, or `status` |
213
- | `WhatsAppError` | Error class with a `code` property for programmatic error handling |
198
+ | Export | Description |
199
+ | ----------------------------- | ----------------------------------------------------------------------------------------- |
200
+ | `createAccountId(input)` | Normalizes a phone number or string into a safe account ID |
201
+ | `extractMessageText(message)` | Pulls the text content from a Baileys `proto.IMessage` |
202
+ | `getMessageType(message)` | Returns the message type (`text`, `image`, `video`, etc.) from a Baileys `proto.IMessage` |
203
+ | `jidToType(jid)` | Maps a JID to its chat type: `individual`, `group`, `broadcast`, or `status` |
204
+ | `WhatsAppError` | Error class with a `code` property for programmatic error handling |
214
205
 
215
206
  ## Examples
216
207
 
@@ -226,7 +217,7 @@ await client.connect()
226
217
 
227
218
  try {
228
219
  const chats = await client.listChats()
229
- const unread = chats.filter(c => c.unread_count > 0)
220
+ const unread = chats.filter((c) => c.unread_count > 0)
230
221
  console.log(`${unread.length} chats with unread messages:`)
231
222
  for (const chat of unread) {
232
223
  console.log(` ${chat.name} (${chat.type}) — ${chat.unread_count} unread`)
@@ -10,11 +10,7 @@ npm install agent-messenger
10
10
  ```
11
11
 
12
12
  ```typescript
13
- import {
14
- WhatsAppBotClient,
15
- WhatsAppBotCredentialManager,
16
- WhatsAppBotError,
17
- } from 'agent-messenger/whatsappbot'
13
+ import { WhatsAppBotClient, WhatsAppBotCredentialManager, WhatsAppBotError } from 'agent-messenger/whatsappbot'
18
14
  ```
19
15
 
20
16
  ## WhatsAppBotClient
@@ -66,11 +62,7 @@ const reaction = await client.sendReaction('12025551234', 'wamid.abc123', '\u{1F
66
62
 
67
63
  // Send an image message
68
64
  const image = await client.sendImageMessage('12025551234', 'https://example.com/photo.jpg')
69
- const captioned = await client.sendImageMessage(
70
- '12025551234',
71
- 'https://example.com/photo.jpg',
72
- 'Product screenshot',
73
- )
65
+ const captioned = await client.sendImageMessage('12025551234', 'https://example.com/photo.jpg', 'Product screenshot')
74
66
  // → WhatsAppBotMessageResponse
75
67
 
76
68
  // Send a document message
@@ -28,35 +28,35 @@ The TUI has three navigation levels and three input modes.
28
28
 
29
29
  ### Navigation Levels
30
30
 
31
- | Level | What it shows | How to enter |
32
- | --- | --- | --- |
33
- | **Platform** | All 10 platforms with online/offline status | Launch or press `Esc` from workspace level |
34
- | **Workspace** | Workspaces for the selected platform (skipped if only one) | Select a platform |
35
- | **Channel** | Channels in the current workspace | Select a workspace |
31
+ | Level | What it shows | How to enter |
32
+ | ------------- | ---------------------------------------------------------- | ------------------------------------------ |
33
+ | **Platform** | All 10 platforms with online/offline status | Launch or press `Esc` from workspace level |
34
+ | **Workspace** | Workspaces for the selected platform (skipped if only one) | Select a platform |
35
+ | **Channel** | Channels in the current workspace | Select a workspace |
36
36
 
37
37
  ### Input Modes
38
38
 
39
- | Mode | Focus | What you can do |
40
- | --- | --- | --- |
41
- | **Selection** | Sidebar | Navigate platforms, workspaces, and channels |
42
- | **Read** | Message log | Scroll through messages, switch to write mode |
43
- | **Write** | Input box | Type and send messages |
39
+ | Mode | Focus | What you can do |
40
+ | ------------- | ----------- | --------------------------------------------- |
41
+ | **Selection** | Sidebar | Navigate platforms, workspaces, and channels |
42
+ | **Read** | Message log | Scroll through messages, switch to write mode |
43
+ | **Write** | Input box | Type and send messages |
44
44
 
45
45
  ## Keybindings
46
46
 
47
- | Key | Context | Action |
48
- | --- | --- | --- |
49
- | `↑` `↓` | Sidebar | Navigate items |
50
- | `Enter` / `→` | Sidebar | Drill into selected item |
51
- | `←` / `Esc` | Sidebar | Go back one level |
52
- | `Enter` | Read mode | Switch to write mode |
53
- | `Esc` | Read mode | Switch to selection mode |
54
- | `Enter` | Write mode | Send message |
55
- | `Esc` / `Tab` | Write mode | Switch to read mode |
56
- | `Tab` / `Shift+Tab` | Read/Write | Toggle between read and write |
57
- | `Ctrl+K` | Any (non-auth) | Fuzzy channel picker |
58
- | `Ctrl+W` | Read/Write | Fuzzy workspace picker |
59
- | `Ctrl+C` | Any | Quit |
47
+ | Key | Context | Action |
48
+ | ------------------- | -------------- | ----------------------------- |
49
+ | `↑` `↓` | Sidebar | Navigate items |
50
+ | `Enter` / `→` | Sidebar | Drill into selected item |
51
+ | `←` / `Esc` | Sidebar | Go back one level |
52
+ | `Enter` | Read mode | Switch to write mode |
53
+ | `Esc` | Read mode | Switch to selection mode |
54
+ | `Enter` | Write mode | Send message |
55
+ | `Esc` / `Tab` | Write mode | Switch to read mode |
56
+ | `Tab` / `Shift+Tab` | Read/Write | Toggle between read and write |
57
+ | `Ctrl+K` | Any (non-auth) | Fuzzy channel picker |
58
+ | `Ctrl+W` | Read/Write | Fuzzy workspace picker |
59
+ | `Ctrl+C` | Any | Quit |
60
60
 
61
61
  ## Features
62
62