agent-messenger 2.4.0 → 2.6.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 (359) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.github/workflows/ci.yml +35 -0
  3. package/.github/workflows/release.yml +0 -12
  4. package/README.md +3 -3
  5. package/bun.lock +10 -2
  6. package/dist/package.json +3 -1
  7. package/dist/src/platforms/channeltalk/cli.d.ts.map +1 -1
  8. package/dist/src/platforms/channeltalk/cli.js +2 -1
  9. package/dist/src/platforms/channeltalk/cli.js.map +1 -1
  10. package/dist/src/platforms/channeltalk/commands/index.d.ts +1 -0
  11. package/dist/src/platforms/channeltalk/commands/index.d.ts.map +1 -1
  12. package/dist/src/platforms/channeltalk/commands/index.js +1 -0
  13. package/dist/src/platforms/channeltalk/commands/index.js.map +1 -1
  14. package/dist/src/platforms/channeltalk/commands/whoami.d.ts +22 -0
  15. package/dist/src/platforms/channeltalk/commands/whoami.d.ts.map +1 -0
  16. package/dist/src/platforms/channeltalk/commands/whoami.js +40 -0
  17. package/dist/src/platforms/channeltalk/commands/whoami.js.map +1 -0
  18. package/dist/src/platforms/channeltalkbot/cli.d.ts.map +1 -1
  19. package/dist/src/platforms/channeltalkbot/cli.js +2 -1
  20. package/dist/src/platforms/channeltalkbot/cli.js.map +1 -1
  21. package/dist/src/platforms/channeltalkbot/commands/index.d.ts +1 -0
  22. package/dist/src/platforms/channeltalkbot/commands/index.d.ts.map +1 -1
  23. package/dist/src/platforms/channeltalkbot/commands/index.js +1 -0
  24. package/dist/src/platforms/channeltalkbot/commands/index.js.map +1 -1
  25. package/dist/src/platforms/channeltalkbot/commands/whoami.d.ts +13 -0
  26. package/dist/src/platforms/channeltalkbot/commands/whoami.d.ts.map +1 -0
  27. package/dist/src/platforms/channeltalkbot/commands/whoami.js +31 -0
  28. package/dist/src/platforms/channeltalkbot/commands/whoami.js.map +1 -0
  29. package/dist/src/platforms/discord/cli.d.ts.map +1 -1
  30. package/dist/src/platforms/discord/cli.js +2 -1
  31. package/dist/src/platforms/discord/cli.js.map +1 -1
  32. package/dist/src/platforms/discord/commands/index.d.ts +1 -0
  33. package/dist/src/platforms/discord/commands/index.d.ts.map +1 -1
  34. package/dist/src/platforms/discord/commands/index.js +1 -0
  35. package/dist/src/platforms/discord/commands/index.js.map +1 -1
  36. package/dist/src/platforms/discord/commands/whoami.d.ts +6 -0
  37. package/dist/src/platforms/discord/commands/whoami.d.ts.map +1 -0
  38. package/dist/src/platforms/discord/commands/whoami.js +33 -0
  39. package/dist/src/platforms/discord/commands/whoami.js.map +1 -0
  40. package/dist/src/platforms/discordbot/cli.d.ts.map +1 -1
  41. package/dist/src/platforms/discordbot/cli.js +2 -1
  42. package/dist/src/platforms/discordbot/cli.js.map +1 -1
  43. package/dist/src/platforms/discordbot/commands/index.d.ts +1 -0
  44. package/dist/src/platforms/discordbot/commands/index.d.ts.map +1 -1
  45. package/dist/src/platforms/discordbot/commands/index.js +1 -0
  46. package/dist/src/platforms/discordbot/commands/index.js.map +1 -1
  47. package/dist/src/platforms/discordbot/commands/whoami.d.ts +14 -0
  48. package/dist/src/platforms/discordbot/commands/whoami.d.ts.map +1 -0
  49. package/dist/src/platforms/discordbot/commands/whoami.js +32 -0
  50. package/dist/src/platforms/discordbot/commands/whoami.js.map +1 -0
  51. package/dist/src/platforms/instagram/cli.d.ts.map +1 -1
  52. package/dist/src/platforms/instagram/cli.js +2 -1
  53. package/dist/src/platforms/instagram/cli.js.map +1 -1
  54. package/dist/src/platforms/instagram/client.d.ts +6 -0
  55. package/dist/src/platforms/instagram/client.d.ts.map +1 -1
  56. package/dist/src/platforms/instagram/client.js +12 -0
  57. package/dist/src/platforms/instagram/client.js.map +1 -1
  58. package/dist/src/platforms/instagram/commands/index.d.ts +1 -0
  59. package/dist/src/platforms/instagram/commands/index.d.ts.map +1 -1
  60. package/dist/src/platforms/instagram/commands/index.js +1 -0
  61. package/dist/src/platforms/instagram/commands/index.js.map +1 -1
  62. package/dist/src/platforms/instagram/commands/whoami.d.ts +7 -0
  63. package/dist/src/platforms/instagram/commands/whoami.d.ts.map +1 -0
  64. package/dist/src/platforms/instagram/commands/whoami.js +19 -0
  65. package/dist/src/platforms/instagram/commands/whoami.js.map +1 -0
  66. package/dist/src/platforms/kakaotalk/cli.js +2 -2
  67. package/dist/src/platforms/kakaotalk/cli.js.map +1 -1
  68. package/dist/src/platforms/kakaotalk/client.d.ts +4 -1
  69. package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -1
  70. package/dist/src/platforms/kakaotalk/client.js +193 -27
  71. package/dist/src/platforms/kakaotalk/client.js.map +1 -1
  72. package/dist/src/platforms/kakaotalk/commands/auth.d.ts.map +1 -1
  73. package/dist/src/platforms/kakaotalk/commands/auth.js +24 -55
  74. package/dist/src/platforms/kakaotalk/commands/auth.js.map +1 -1
  75. package/dist/src/platforms/kakaotalk/commands/index.d.ts +1 -1
  76. package/dist/src/platforms/kakaotalk/commands/index.d.ts.map +1 -1
  77. package/dist/src/platforms/kakaotalk/commands/index.js +1 -1
  78. package/dist/src/platforms/kakaotalk/commands/index.js.map +1 -1
  79. package/dist/src/platforms/kakaotalk/commands/whoami.d.ts +3 -0
  80. package/dist/src/platforms/kakaotalk/commands/whoami.d.ts.map +1 -0
  81. package/dist/src/platforms/kakaotalk/commands/{profile.js → whoami.js} +5 -5
  82. package/dist/src/platforms/kakaotalk/commands/whoami.js.map +1 -0
  83. package/dist/src/platforms/kakaotalk/credential-manager.d.ts.map +1 -1
  84. package/dist/src/platforms/kakaotalk/credential-manager.js +1 -0
  85. package/dist/src/platforms/kakaotalk/credential-manager.js.map +1 -1
  86. package/dist/src/platforms/kakaotalk/index.d.ts +1 -1
  87. package/dist/src/platforms/kakaotalk/index.d.ts.map +1 -1
  88. package/dist/src/platforms/kakaotalk/index.js.map +1 -1
  89. package/dist/src/platforms/kakaotalk/listener.js +2 -2
  90. package/dist/src/platforms/kakaotalk/listener.js.map +1 -1
  91. package/dist/src/platforms/kakaotalk/protocol/config.d.ts +8 -2
  92. package/dist/src/platforms/kakaotalk/protocol/config.d.ts.map +1 -1
  93. package/dist/src/platforms/kakaotalk/protocol/config.js +15 -2
  94. package/dist/src/platforms/kakaotalk/protocol/config.js.map +1 -1
  95. package/dist/src/platforms/kakaotalk/protocol/session.d.ts +6 -2
  96. package/dist/src/platforms/kakaotalk/protocol/session.d.ts.map +1 -1
  97. package/dist/src/platforms/kakaotalk/protocol/session.js +37 -15
  98. package/dist/src/platforms/kakaotalk/protocol/session.js.map +1 -1
  99. package/dist/src/platforms/kakaotalk/protocol/types.d.ts +17 -0
  100. package/dist/src/platforms/kakaotalk/protocol/types.d.ts.map +1 -1
  101. package/dist/src/platforms/kakaotalk/protocol/types.js.map +1 -1
  102. package/dist/src/platforms/kakaotalk/types.d.ts +22 -0
  103. package/dist/src/platforms/kakaotalk/types.d.ts.map +1 -1
  104. package/dist/src/platforms/kakaotalk/types.js +7 -0
  105. package/dist/src/platforms/kakaotalk/types.js.map +1 -1
  106. package/dist/src/platforms/line/cli.js +2 -2
  107. package/dist/src/platforms/line/cli.js.map +1 -1
  108. package/dist/src/platforms/line/commands/auth.d.ts.map +1 -1
  109. package/dist/src/platforms/line/commands/auth.js +9 -59
  110. package/dist/src/platforms/line/commands/auth.js.map +1 -1
  111. package/dist/src/platforms/line/commands/index.d.ts +1 -1
  112. package/dist/src/platforms/line/commands/index.d.ts.map +1 -1
  113. package/dist/src/platforms/line/commands/index.js +1 -1
  114. package/dist/src/platforms/line/commands/index.js.map +1 -1
  115. package/dist/src/platforms/line/commands/whoami.d.ts +3 -0
  116. package/dist/src/platforms/line/commands/whoami.d.ts.map +1 -0
  117. package/dist/src/platforms/line/commands/{profile.js → whoami.js} +5 -5
  118. package/dist/src/platforms/line/commands/whoami.js.map +1 -0
  119. package/dist/src/platforms/slack/cli.d.ts.map +1 -1
  120. package/dist/src/platforms/slack/cli.js +2 -1
  121. package/dist/src/platforms/slack/cli.js.map +1 -1
  122. package/dist/src/platforms/slack/commands/index.d.ts +1 -0
  123. package/dist/src/platforms/slack/commands/index.d.ts.map +1 -1
  124. package/dist/src/platforms/slack/commands/index.js +1 -0
  125. package/dist/src/platforms/slack/commands/index.js.map +1 -1
  126. package/dist/src/platforms/slack/commands/whoami.d.ts +6 -0
  127. package/dist/src/platforms/slack/commands/whoami.d.ts.map +1 -0
  128. package/dist/src/platforms/slack/commands/whoami.js +39 -0
  129. package/dist/src/platforms/slack/commands/whoami.js.map +1 -0
  130. package/dist/src/platforms/slackbot/cli.d.ts.map +1 -1
  131. package/dist/src/platforms/slackbot/cli.js +2 -1
  132. package/dist/src/platforms/slackbot/cli.js.map +1 -1
  133. package/dist/src/platforms/slackbot/commands/index.d.ts +1 -0
  134. package/dist/src/platforms/slackbot/commands/index.d.ts.map +1 -1
  135. package/dist/src/platforms/slackbot/commands/index.js +1 -0
  136. package/dist/src/platforms/slackbot/commands/index.js.map +1 -1
  137. package/dist/src/platforms/slackbot/commands/whoami.d.ts +14 -0
  138. package/dist/src/platforms/slackbot/commands/whoami.d.ts.map +1 -0
  139. package/dist/src/platforms/slackbot/commands/whoami.js +32 -0
  140. package/dist/src/platforms/slackbot/commands/whoami.js.map +1 -0
  141. package/dist/src/platforms/teams/cli.d.ts.map +1 -1
  142. package/dist/src/platforms/teams/cli.js +2 -1
  143. package/dist/src/platforms/teams/cli.js.map +1 -1
  144. package/dist/src/platforms/teams/commands/index.d.ts +1 -0
  145. package/dist/src/platforms/teams/commands/index.d.ts.map +1 -1
  146. package/dist/src/platforms/teams/commands/index.js +1 -0
  147. package/dist/src/platforms/teams/commands/index.js.map +1 -1
  148. package/dist/src/platforms/teams/commands/whoami.d.ts +6 -0
  149. package/dist/src/platforms/teams/commands/whoami.d.ts.map +1 -0
  150. package/dist/src/platforms/teams/commands/whoami.js +30 -0
  151. package/dist/src/platforms/teams/commands/whoami.js.map +1 -0
  152. package/dist/src/platforms/telegram/cli.d.ts.map +1 -1
  153. package/dist/src/platforms/telegram/cli.js +2 -1
  154. package/dist/src/platforms/telegram/cli.js.map +1 -1
  155. package/dist/src/platforms/telegram/commands/index.d.ts +1 -0
  156. package/dist/src/platforms/telegram/commands/index.d.ts.map +1 -1
  157. package/dist/src/platforms/telegram/commands/index.js +1 -0
  158. package/dist/src/platforms/telegram/commands/index.js.map +1 -1
  159. package/dist/src/platforms/telegram/commands/whoami.d.ts +7 -0
  160. package/dist/src/platforms/telegram/commands/whoami.d.ts.map +1 -0
  161. package/dist/src/platforms/telegram/commands/whoami.js +27 -0
  162. package/dist/src/platforms/telegram/commands/whoami.js.map +1 -0
  163. package/dist/src/platforms/webex/cli.d.ts.map +1 -1
  164. package/dist/src/platforms/webex/cli.js +2 -1
  165. package/dist/src/platforms/webex/cli.js.map +1 -1
  166. package/dist/src/platforms/webex/commands/index.d.ts +1 -0
  167. package/dist/src/platforms/webex/commands/index.d.ts.map +1 -1
  168. package/dist/src/platforms/webex/commands/index.js +1 -0
  169. package/dist/src/platforms/webex/commands/index.js.map +1 -1
  170. package/dist/src/platforms/webex/commands/message.js +1 -1
  171. package/dist/src/platforms/webex/commands/message.js.map +1 -1
  172. package/dist/src/platforms/webex/commands/whoami.d.ts +6 -0
  173. package/dist/src/platforms/webex/commands/whoami.d.ts.map +1 -0
  174. package/dist/src/platforms/webex/commands/whoami.js +30 -0
  175. package/dist/src/platforms/webex/commands/whoami.js.map +1 -0
  176. package/dist/src/platforms/wechatbot/cli.d.ts.map +1 -1
  177. package/dist/src/platforms/wechatbot/cli.js +2 -1
  178. package/dist/src/platforms/wechatbot/cli.js.map +1 -1
  179. package/dist/src/platforms/wechatbot/commands/index.d.ts +1 -0
  180. package/dist/src/platforms/wechatbot/commands/index.d.ts.map +1 -1
  181. package/dist/src/platforms/wechatbot/commands/index.js +1 -0
  182. package/dist/src/platforms/wechatbot/commands/index.js.map +1 -1
  183. package/dist/src/platforms/wechatbot/commands/whoami.d.ts +12 -0
  184. package/dist/src/platforms/wechatbot/commands/whoami.d.ts.map +1 -0
  185. package/dist/src/platforms/wechatbot/commands/whoami.js +33 -0
  186. package/dist/src/platforms/wechatbot/commands/whoami.js.map +1 -0
  187. package/dist/src/platforms/whatsapp/cli.d.ts.map +1 -1
  188. package/dist/src/platforms/whatsapp/cli.js +2 -1
  189. package/dist/src/platforms/whatsapp/cli.js.map +1 -1
  190. package/dist/src/platforms/whatsapp/client.d.ts +8 -0
  191. package/dist/src/platforms/whatsapp/client.d.ts.map +1 -1
  192. package/dist/src/platforms/whatsapp/client.js +116 -8
  193. package/dist/src/platforms/whatsapp/client.js.map +1 -1
  194. package/dist/src/platforms/whatsapp/commands/auth.d.ts.map +1 -1
  195. package/dist/src/platforms/whatsapp/commands/auth.js +115 -45
  196. package/dist/src/platforms/whatsapp/commands/auth.js.map +1 -1
  197. package/dist/src/platforms/whatsapp/commands/index.d.ts +1 -0
  198. package/dist/src/platforms/whatsapp/commands/index.d.ts.map +1 -1
  199. package/dist/src/platforms/whatsapp/commands/index.js +1 -0
  200. package/dist/src/platforms/whatsapp/commands/index.js.map +1 -1
  201. package/dist/src/platforms/whatsapp/commands/shared.js +2 -2
  202. package/dist/src/platforms/whatsapp/commands/shared.js.map +1 -1
  203. package/dist/src/platforms/whatsapp/commands/whoami.d.ts +7 -0
  204. package/dist/src/platforms/whatsapp/commands/whoami.d.ts.map +1 -0
  205. package/dist/src/platforms/whatsapp/commands/whoami.js +19 -0
  206. package/dist/src/platforms/whatsapp/commands/whoami.js.map +1 -0
  207. package/dist/src/platforms/whatsapp/ensure-auth.js +2 -2
  208. package/dist/src/platforms/whatsapp/ensure-auth.js.map +1 -1
  209. package/dist/src/platforms/whatsappbot/cli.d.ts.map +1 -1
  210. package/dist/src/platforms/whatsappbot/cli.js +2 -1
  211. package/dist/src/platforms/whatsappbot/cli.js.map +1 -1
  212. package/dist/src/platforms/whatsappbot/commands/index.d.ts +1 -0
  213. package/dist/src/platforms/whatsappbot/commands/index.d.ts.map +1 -1
  214. package/dist/src/platforms/whatsappbot/commands/index.js +1 -0
  215. package/dist/src/platforms/whatsappbot/commands/index.js.map +1 -1
  216. package/dist/src/platforms/whatsappbot/commands/whoami.d.ts +17 -0
  217. package/dist/src/platforms/whatsappbot/commands/whoami.d.ts.map +1 -0
  218. package/dist/src/platforms/whatsappbot/commands/whoami.js +39 -0
  219. package/dist/src/platforms/whatsappbot/commands/whoami.js.map +1 -0
  220. package/dist/src/shared/utils/qr.d.ts +15 -0
  221. package/dist/src/shared/utils/qr.d.ts.map +1 -0
  222. package/dist/src/shared/utils/qr.js +74 -0
  223. package/dist/src/shared/utils/qr.js.map +1 -0
  224. package/dist/src/tui/adapters/kakaotalk-adapter.d.ts.map +1 -1
  225. package/dist/src/tui/adapters/kakaotalk-adapter.js +5 -2
  226. package/dist/src/tui/adapters/kakaotalk-adapter.js.map +1 -1
  227. package/dist/src/tui/adapters/whatsapp-adapter.d.ts.map +1 -1
  228. package/dist/src/tui/adapters/whatsapp-adapter.js +20 -15
  229. package/dist/src/tui/adapters/whatsapp-adapter.js.map +1 -1
  230. package/docs/content/docs/cli/channeltalk.mdx +11 -0
  231. package/docs/content/docs/cli/channeltalkbot.mdx +9 -0
  232. package/docs/content/docs/cli/discord.mdx +10 -0
  233. package/docs/content/docs/cli/discordbot.mdx +9 -0
  234. package/docs/content/docs/cli/instagram.mdx +11 -0
  235. package/docs/content/docs/cli/kakaotalk.mdx +27 -39
  236. package/docs/content/docs/cli/line.mdx +4 -4
  237. package/docs/content/docs/cli/slack.mdx +10 -0
  238. package/docs/content/docs/cli/slackbot.mdx +9 -0
  239. package/docs/content/docs/cli/teams.mdx +10 -0
  240. package/docs/content/docs/cli/telegram.mdx +11 -0
  241. package/docs/content/docs/cli/webex.mdx +10 -0
  242. package/docs/content/docs/cli/wechatbot.mdx +9 -0
  243. package/docs/content/docs/cli/whatsapp.mdx +36 -7
  244. package/docs/content/docs/cli/whatsappbot.mdx +9 -0
  245. package/e2e/config.ts +1 -1
  246. package/package.json +3 -1
  247. package/skills/agent-channeltalk/SKILL.md +12 -1
  248. package/skills/agent-channeltalkbot/SKILL.md +10 -1
  249. package/skills/agent-discord/SKILL.md +11 -1
  250. package/skills/agent-discordbot/SKILL.md +10 -1
  251. package/skills/agent-instagram/SKILL.md +12 -1
  252. package/skills/agent-kakaotalk/SKILL.md +24 -70
  253. package/skills/agent-kakaotalk/references/authentication.md +4 -69
  254. package/skills/agent-kakaotalk/references/common-patterns.md +14 -1
  255. package/skills/agent-line/SKILL.md +5 -5
  256. package/skills/agent-slack/SKILL.md +11 -1
  257. package/skills/agent-slackbot/SKILL.md +10 -1
  258. package/skills/agent-teams/SKILL.md +11 -1
  259. package/skills/agent-telegram/SKILL.md +6 -1
  260. package/skills/agent-webex/SKILL.md +11 -1
  261. package/skills/agent-wechatbot/SKILL.md +10 -1
  262. package/skills/agent-whatsapp/SKILL.md +52 -15
  263. package/skills/agent-whatsapp/references/authentication.md +36 -6
  264. package/skills/agent-whatsappbot/SKILL.md +10 -1
  265. package/src/platforms/channeltalk/cli.ts +2 -0
  266. package/src/platforms/channeltalk/commands/index.ts +1 -0
  267. package/src/platforms/channeltalk/commands/whoami.test.ts +64 -0
  268. package/src/platforms/channeltalk/commands/whoami.ts +62 -0
  269. package/src/platforms/channeltalkbot/cli.ts +2 -0
  270. package/src/platforms/channeltalkbot/commands/index.ts +1 -0
  271. package/src/platforms/channeltalkbot/commands/whoami.test.ts +104 -0
  272. package/src/platforms/channeltalkbot/commands/whoami.ts +42 -0
  273. package/src/platforms/discord/cli.ts +2 -0
  274. package/src/platforms/discord/commands/index.ts +1 -0
  275. package/src/platforms/discord/commands/whoami.test.ts +91 -0
  276. package/src/platforms/discord/commands/whoami.ts +36 -0
  277. package/src/platforms/discordbot/cli.ts +2 -0
  278. package/src/platforms/discordbot/commands/index.ts +1 -0
  279. package/src/platforms/discordbot/commands/whoami.test.ts +96 -0
  280. package/src/platforms/discordbot/commands/whoami.ts +44 -0
  281. package/src/platforms/instagram/cli.ts +2 -1
  282. package/src/platforms/instagram/client.ts +13 -0
  283. package/src/platforms/instagram/commands/chat.test.ts +1 -5
  284. package/src/platforms/instagram/commands/index.ts +1 -0
  285. package/src/platforms/instagram/commands/message.test.ts +1 -5
  286. package/src/platforms/instagram/commands/whoami.test.ts +60 -0
  287. package/src/platforms/instagram/commands/whoami.ts +21 -0
  288. package/src/platforms/kakaotalk/cli.ts +2 -2
  289. package/src/platforms/kakaotalk/client.test.ts +25 -14
  290. package/src/platforms/kakaotalk/client.ts +228 -33
  291. package/src/platforms/kakaotalk/commands/auth.ts +22 -73
  292. package/src/platforms/kakaotalk/commands/index.ts +1 -1
  293. package/src/platforms/kakaotalk/commands/{profile.test.ts → whoami.test.ts} +37 -5
  294. package/src/platforms/kakaotalk/commands/{profile.ts → whoami.ts} +4 -4
  295. package/src/platforms/kakaotalk/credential-manager.ts +1 -0
  296. package/src/platforms/kakaotalk/index.ts +1 -0
  297. package/src/platforms/kakaotalk/listener.test.ts +2 -2
  298. package/src/platforms/kakaotalk/listener.ts +2 -2
  299. package/src/platforms/kakaotalk/protocol/config.ts +26 -2
  300. package/src/platforms/kakaotalk/protocol/session.ts +42 -16
  301. package/src/platforms/kakaotalk/protocol/types.ts +9 -0
  302. package/src/platforms/kakaotalk/types.ts +16 -0
  303. package/src/platforms/line/cli.ts +2 -2
  304. package/src/platforms/line/commands/auth.ts +37 -70
  305. package/src/platforms/line/commands/index.ts +1 -1
  306. package/src/platforms/line/commands/{profile.test.ts → whoami.test.ts} +11 -11
  307. package/src/platforms/line/commands/{profile.ts → whoami.ts} +4 -4
  308. package/src/platforms/slack/cli.ts +2 -0
  309. package/src/platforms/slack/commands/index.ts +1 -0
  310. package/src/platforms/slack/commands/whoami.test.ts +126 -0
  311. package/src/platforms/slack/commands/whoami.ts +40 -0
  312. package/src/platforms/slackbot/cli.ts +2 -1
  313. package/src/platforms/slackbot/commands/index.ts +1 -0
  314. package/src/platforms/slackbot/commands/whoami.test.ts +102 -0
  315. package/src/platforms/slackbot/commands/whoami.ts +44 -0
  316. package/src/platforms/teams/cli.ts +2 -0
  317. package/src/platforms/teams/commands/index.ts +1 -0
  318. package/src/platforms/teams/commands/whoami.test.ts +83 -0
  319. package/src/platforms/teams/commands/whoami.ts +33 -0
  320. package/src/platforms/telegram/cli.ts +2 -1
  321. package/src/platforms/telegram/commands/index.ts +1 -0
  322. package/src/platforms/telegram/commands/whoami.test.ts +75 -0
  323. package/src/platforms/telegram/commands/whoami.ts +29 -0
  324. package/src/platforms/webex/cli.ts +2 -1
  325. package/src/platforms/webex/commands/auth.test.ts +58 -46
  326. package/src/platforms/webex/commands/index.ts +1 -0
  327. package/src/platforms/webex/commands/member.test.ts +1 -5
  328. package/src/platforms/webex/commands/message.test.ts +1 -5
  329. package/src/platforms/webex/commands/message.ts +1 -1
  330. package/src/platforms/webex/commands/snapshot.test.ts +1 -5
  331. package/src/platforms/webex/commands/space.test.ts +1 -5
  332. package/src/platforms/webex/commands/whoami.test.ts +113 -0
  333. package/src/platforms/webex/commands/whoami.ts +31 -0
  334. package/src/platforms/webex/credential-manager.test.ts +0 -1
  335. package/src/platforms/wechatbot/cli.ts +2 -1
  336. package/src/platforms/wechatbot/commands/index.ts +1 -0
  337. package/src/platforms/wechatbot/commands/whoami.test.ts +109 -0
  338. package/src/platforms/wechatbot/commands/whoami.ts +43 -0
  339. package/src/platforms/whatsapp/cli.ts +2 -1
  340. package/src/platforms/whatsapp/client.ts +156 -24
  341. package/src/platforms/whatsapp/commands/auth.ts +176 -70
  342. package/src/platforms/whatsapp/commands/index.ts +1 -0
  343. package/src/platforms/whatsapp/commands/shared.ts +2 -2
  344. package/src/platforms/whatsapp/commands/whoami.test.ts +59 -0
  345. package/src/platforms/whatsapp/commands/whoami.ts +21 -0
  346. package/src/platforms/whatsapp/ensure-auth.ts +2 -2
  347. package/src/platforms/whatsappbot/cli.ts +2 -1
  348. package/src/platforms/whatsappbot/commands/index.ts +1 -0
  349. package/src/platforms/whatsappbot/commands/whoami.test.ts +100 -0
  350. package/src/platforms/whatsappbot/commands/whoami.ts +57 -0
  351. package/src/shared/utils/qr.ts +92 -0
  352. package/src/tui/adapters/kakaotalk-adapter.ts +5 -2
  353. package/src/tui/adapters/whatsapp-adapter.ts +19 -16
  354. package/dist/src/platforms/kakaotalk/commands/profile.d.ts +0 -3
  355. package/dist/src/platforms/kakaotalk/commands/profile.d.ts.map +0 -1
  356. package/dist/src/platforms/kakaotalk/commands/profile.js.map +0 -1
  357. package/dist/src/platforms/line/commands/profile.d.ts +0 -3
  358. package/dist/src/platforms/line/commands/profile.d.ts.map +0 -1
  359. package/dist/src/platforms/line/commands/profile.js.map +0 -1
@@ -0,0 +1,74 @@
1
+ import { execSync } from 'node:child_process';
2
+ import { writeFileSync, unlinkSync } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import QRCode from 'qrcode';
6
+ import { info } from './stderr.js';
7
+ export async function createQRHtmlFile(url, options) {
8
+ try {
9
+ const svgString = await QRCode.toString(url, { type: 'svg', margin: 2 });
10
+ const html = `<!DOCTYPE html>
11
+ <html><head><meta charset="utf-8"><title>${options.platform} QR Login</title>
12
+ <style>body{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;margin:0;font-family:-apple-system,system-ui,sans-serif;background:${options.brandColor}}
13
+ .card{background:#fff;border-radius:16px;padding:40px;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.15)}
14
+ h1{margin:0 0 8px;font-size:22px;color:#111}p{margin:0 0 24px;color:#666;font-size:14px}
15
+ svg{width:280px;height:280px}</style></head>
16
+ <body><div class="card"><h1>${options.platform} Login</h1><p>${options.scanInstruction}</p>${svgString}</div></body></html>`;
17
+ const htmlPath = join(tmpdir(), `${options.platform.toLowerCase()}-qr-${Date.now()}.html`);
18
+ writeFileSync(htmlPath, html);
19
+ setTimeout(() => {
20
+ try {
21
+ unlinkSync(htmlPath);
22
+ }
23
+ catch { }
24
+ }, 300_000).unref();
25
+ return htmlPath;
26
+ }
27
+ catch {
28
+ return null;
29
+ }
30
+ }
31
+ export function openInBrowser(filePath) {
32
+ try {
33
+ if (process.platform === 'darwin') {
34
+ execSync(`open "${filePath}"`, { stdio: 'ignore' });
35
+ }
36
+ else if (process.platform === 'win32') {
37
+ execSync(`start "" "${filePath}"`, { stdio: 'ignore' });
38
+ }
39
+ else {
40
+ execSync(`xdg-open "${filePath}"`, { stdio: 'ignore' });
41
+ }
42
+ }
43
+ catch { }
44
+ }
45
+ export async function renderTerminalQR(data) {
46
+ return QRCode.toString(data, { type: 'terminal', small: true });
47
+ }
48
+ export async function displayQR(data, options) {
49
+ const shouldOpenBrowser = options.openBrowser ?? options.interactive;
50
+ const htmlPath = await createQRHtmlFile(data, options);
51
+ if (htmlPath && shouldOpenBrowser)
52
+ openInBrowser(htmlPath);
53
+ if (options.interactive) {
54
+ try {
55
+ const qrAscii = await renderTerminalQR(data);
56
+ info(`\n${options.scanInstruction}:\n`);
57
+ info(qrAscii);
58
+ }
59
+ catch {
60
+ info(`\nOpen the QR code in the browser window, or scan this URL:\n${data}\n`);
61
+ }
62
+ }
63
+ else {
64
+ console.log(options.formatOutput({
65
+ next_action: 'scan_qr',
66
+ qr_url: data,
67
+ qr_html_path: htmlPath,
68
+ message: htmlPath
69
+ ? `QR code opened in browser. ${options.scanInstruction}`
70
+ : `QR code generated. Open qr_url to scan.`,
71
+ }, options.pretty));
72
+ }
73
+ }
74
+ //# sourceMappingURL=qr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr.js","sourceRoot":"","sources":["../../../../src/shared/utils/qr.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kakaotalk-adapter.d.ts","sourceRoot":"","sources":["../../../../src/tui/adapters/kakaotalk-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE3G,qBAAa,gBAAiB,YAAW,eAAe;IACtD,QAAQ,CAAC,IAAI,eAAc;IAE3B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,cAAc,CAAyB;IAEzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IActB,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IASxC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAYrE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAQrC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvD,mBAAmB,IAAI,SAAS,GAAG,IAAI;IAIvC,WAAW,IAAI,QAAQ;IAOjB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0E7C,OAAO,CAAC,YAAY;CAMrB"}
1
+ {"version":3,"file":"kakaotalk-adapter.d.ts","sourceRoot":"","sources":["../../../../src/tui/adapters/kakaotalk-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE3G,qBAAa,gBAAiB,YAAW,eAAe;IACtD,QAAQ,CAAC,IAAI,eAAc;IAE3B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,cAAc,CAAyB;IAEzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IActB,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IASxC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAYrE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAQrC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvD,mBAAmB,IAAI,SAAS,GAAG,IAAI;IAIvC,WAAW,IAAI,QAAQ;IAOjB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6E7C,OAAO,CAAC,YAAY;CAMrB"}
@@ -53,7 +53,7 @@ export class KakaoTalkAdapter {
53
53
  if (!creds)
54
54
  throw new Error(`Account ${accountId} not found`);
55
55
  const client = new KakaoTalkClient();
56
- await client.login({ oauthToken: creds.oauth_token, userId: creds.user_id, deviceUuid: creds.device_uuid });
56
+ await client.login({ oauthToken: creds.oauth_token, userId: creds.user_id, deviceUuid: creds.device_uuid, deviceType: creds.device_type });
57
57
  this.client = client;
58
58
  this.currentAccount = { id: creds.account_id, name: creds.account_id };
59
59
  }
@@ -71,7 +71,8 @@ export class KakaoTalkAdapter {
71
71
  const { KakaoTokenExtractor } = await import('../../platforms/kakaotalk/token-extractor.js');
72
72
  const existing = await this.credManager.getAccount();
73
73
  const pendingState = await this.credManager.loadPendingLogin();
74
- const savedDeviceUuid = pendingState?.device_uuid ?? existing?.device_uuid ?? generateDeviceUuid();
74
+ const existingUuid = existing?.auth_method === 'login' ? existing?.device_uuid : undefined;
75
+ const savedDeviceUuid = pendingState?.device_uuid ?? existingUuid ?? generateDeviceUuid();
75
76
  let email;
76
77
  let password;
77
78
  io.print('Checking for cached credentials...');
@@ -123,6 +124,7 @@ export class KakaoTalkAdapter {
123
124
  refresh_token: result.credentials.refresh_token,
124
125
  device_uuid: result.credentials.device_uuid,
125
126
  device_type: result.credentials.device_type,
127
+ auth_method: 'login',
126
128
  created_at: now,
127
129
  updated_at: now,
128
130
  });
@@ -132,6 +134,7 @@ export class KakaoTalkAdapter {
132
134
  oauthToken: result.credentials.access_token,
133
135
  userId: result.credentials.user_id,
134
136
  deviceUuid: result.credentials.device_uuid,
137
+ deviceType: result.credentials.device_type,
135
138
  });
136
139
  this.client = client;
137
140
  this.currentAccount = { id: result.credentials.user_id, name: email };
@@ -1 +1 @@
1
- {"version":3,"file":"kakaotalk-adapter.js","sourceRoot":"","sources":["../../../../src/tui/adapters/kakaotalk-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kakaotalk-adapter.js","sourceRoot":"","sources":["../../../../src/tui/adapters/kakaotalk-adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp-adapter.d.ts","sourceRoot":"","sources":["../../../../src/tui/adapters/whatsapp-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE3G,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,cAAa;IAE1B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,cAAc,CAAyB;IAEzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IASxC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAYrE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAQrC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD,mBAAmB,IAAI,SAAS,GAAG,IAAI;IAIvC,WAAW,IAAI,QAAQ;IAOjB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C7C,OAAO,CAAC,YAAY;CAMrB"}
1
+ {"version":3,"file":"whatsapp-adapter.d.ts","sourceRoot":"","sources":["../../../../src/tui/adapters/whatsapp-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE3G,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,cAAa;IAE1B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,cAAc,CAAyB;IAEzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IASxC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAYrE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAQrC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD,mBAAmB,IAAI,SAAS,GAAG,IAAI;IAIvC,WAAW,IAAI,QAAQ;IAOjB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C7C,OAAO,CAAC,YAAY;CAMrB"}
@@ -1,5 +1,6 @@
1
1
  import { WhatsAppClient } from '../../platforms/whatsapp/client.js';
2
2
  import { WhatsAppCredentialManager } from '../../platforms/whatsapp/credential-manager.js';
3
+ import { renderTerminalQR } from '../../shared/utils/qr.js';
3
4
  export class WhatsAppAdapter {
4
5
  name = 'WhatsApp';
5
6
  client = null;
@@ -66,32 +67,37 @@ export class WhatsAppAdapter {
66
67
  }
67
68
  getAuthHint() {
68
69
  return {
69
- command: 'agent-whatsapp auth login',
70
- description: 'Run the command below and link your WhatsApp account using the pairing code.',
70
+ command: 'agent-whatsapp auth login --qr',
71
+ description: 'Run the command below and scan the QR code with WhatsApp on your phone.',
71
72
  };
72
73
  }
73
74
  async authenticate(io) {
74
- const { createAccountId } = await import('../../platforms/whatsapp/types.js');
75
- const phone = await io.prompt('Phone number (e.g. +12025551234)');
76
- if (!phone)
77
- throw new Error('Phone number is required');
78
- io.print('Connecting...');
79
- const accountId = createAccountId(phone);
75
+ io.print('Generating QR code...');
76
+ const accountId = 'qr-default';
77
+ const existingPaths = this.credManager.getAccountPaths(accountId);
78
+ const { rm } = await import('node:fs/promises');
79
+ await rm(existingPaths.auth_dir, { recursive: true, force: true });
80
80
  const paths = await this.credManager.ensureAccountPaths(accountId);
81
81
  const client = await new WhatsAppClient().login({ authDir: paths.auth_dir });
82
82
  let waitForAuth;
83
83
  try {
84
- const result = await client.connectForPairing(phone);
84
+ const result = await client.connectForQR(async (qr) => {
85
+ io.print('Scan this QR code with WhatsApp on your phone:');
86
+ try {
87
+ const rendered = await renderTerminalQR(qr);
88
+ io.print(rendered);
89
+ }
90
+ catch {
91
+ io.print(qr);
92
+ }
93
+ });
85
94
  waitForAuth = result.waitForAuth;
86
- const formatted = result.code.length === 8 ? `${result.code.slice(0, 4)}-${result.code.slice(4)}` : result.code;
87
- io.print(`Pairing code: ${formatted}`);
88
- io.print('Enter this code in WhatsApp > Linked Devices > Link with phone number');
89
95
  }
90
96
  catch (err) {
91
97
  await client.close();
92
98
  throw err;
93
99
  }
94
- io.print('Waiting for confirmation...');
100
+ io.print('Waiting for QR code scan...');
95
101
  try {
96
102
  await waitForAuth();
97
103
  }
@@ -102,13 +108,12 @@ export class WhatsAppAdapter {
102
108
  const now = new Date().toISOString();
103
109
  await this.credManager.setAccount({
104
110
  account_id: accountId,
105
- phone_number: phone,
106
111
  created_at: now,
107
112
  updated_at: now,
108
113
  });
109
114
  await this.credManager.setCurrent(accountId);
110
115
  this.client = client;
111
- this.currentAccount = { id: accountId, name: phone };
116
+ this.currentAccount = { id: accountId, name: accountId };
112
117
  }
113
118
  ensureClient() {
114
119
  if (!this.client) {
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp-adapter.js","sourceRoot":"","sources":["../../../../src/tui/adapters/whatsapp-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whatsapp-adapter.js","sourceRoot":"","sources":["../../../../src/tui/adapters/whatsapp-adapter.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,17 @@ agent-channeltalk auth remove <workspace-id>
97
97
 
98
98
  ## Commands
99
99
 
100
+ ### Whoami Command
101
+
102
+ ```bash
103
+ # Show current authenticated user
104
+ agent-channeltalk whoami
105
+ agent-channeltalk whoami --pretty
106
+ agent-channeltalk whoami --workspace <workspace-id>
107
+ ```
108
+
109
+ Output includes the authenticated user's identity information.
110
+
100
111
  ### Message Commands
101
112
 
102
113
  ```bash
@@ -108,6 +108,15 @@ agent-channeltalkbot auth bot <name>
108
108
 
109
109
  ## Commands
110
110
 
111
+ ### Whoami Command
112
+
113
+ ```bash
114
+ # Show current authenticated bot
115
+ agent-channeltalkbot whoami
116
+ agent-channeltalkbot whoami --pretty
117
+ agent-channeltalkbot whoami --workspace <workspace-id>
118
+ ```
119
+
111
120
  ### Message Commands
112
121
 
113
122
  ```bash
@@ -69,6 +69,16 @@ agent-discord server info <server-id>
69
69
 
70
70
  ## Commands
71
71
 
72
+ ### Whoami Command
73
+
74
+ ```bash
75
+ # Show current authenticated user
76
+ agent-discord whoami
77
+ agent-discord whoami --pretty
78
+ ```
79
+
80
+ Output includes the authenticated user's identity information.
81
+
72
82
  ### Message Commands
73
83
 
74
84
  ```bash
@@ -124,6 +124,15 @@ export E2E_DISCORDBOT_SERVER_NAME="My Server"
124
124
 
125
125
  ## Commands
126
126
 
127
+ ### Whoami Command
128
+
129
+ ```bash
130
+ # Show current authenticated bot
131
+ agent-discordbot whoami
132
+ agent-discordbot whoami --pretty
133
+ agent-discordbot whoami --bot <bot-id>
134
+ ```
135
+
127
136
  ### Server Commands
128
137
 
129
138
  ```bash
@@ -113,6 +113,17 @@ agent-instagram auth logout --account <id>
113
113
 
114
114
  ## Commands
115
115
 
116
+ ### Whoami Command
117
+
118
+ ```bash
119
+ # Show current authenticated user
120
+ agent-instagram whoami
121
+ agent-instagram whoami --pretty
122
+ agent-instagram whoami --account <account-id>
123
+ ```
124
+
125
+ Output includes the authenticated user's identity information.
126
+
116
127
  ### Chat Commands
117
128
 
118
129
  ```bash
@@ -36,9 +36,9 @@ agent-kakaotalk message list <chat-id>
36
36
 
37
37
  ## Authentication
38
38
 
39
- KakaoTalk offers two authentication methods. **Login** is recommended because it registers the CLI as a sub-device and keeps your desktop app running.
39
+ The CLI authenticates by registering as a sub-device (tablet slot by default). Your desktop app keeps running.
40
40
 
41
- ### Method 1: Login (Recommended)
41
+ ### Login
42
42
 
43
43
  Registers the CLI as a sub-device using the **tablet** slot by default. Your desktop app keeps running.
44
44
 
@@ -57,15 +57,6 @@ On first login, KakaoTalk requires device verification:
57
57
  3. Enter the code on your phone when prompted
58
58
  4. The CLI polls until you confirm — login completes automatically
59
59
 
60
- ### Method 2: Extract from Desktop App
61
-
62
- Extracts OAuth tokens directly from the KakaoTalk desktop app's cache. This **kicks the desktop session** because it reuses the desktop's credentials.
63
-
64
- ```bash
65
- agent-kakaotalk auth extract
66
- agent-kakaotalk auth extract --debug
67
- ```
68
-
69
60
  ### Device Slots
70
61
 
71
62
  KakaoTalk allows these simultaneous sessions:
@@ -105,7 +96,7 @@ agent-kakaotalk auth logout --account <account-id>
105
96
 
106
97
  ## Multi-Account
107
98
 
108
- KakaoTalk supports multiple accounts. Each login or extraction stores credentials separately, keyed by user ID.
99
+ KakaoTalk supports multiple accounts. Each login stores credentials separately, keyed by user ID.
109
100
 
110
101
  ```bash
111
102
  # List all stored accounts
@@ -192,6 +183,30 @@ agent-kakaotalk message list 9876543210 -n 200
192
183
  agent-kakaotalk message list 9876543210 --from 123456789
193
184
  ```
194
185
 
186
+ ### Whoami Command
187
+
188
+ ```bash
189
+ # Show current authenticated user
190
+ agent-kakaotalk whoami
191
+ agent-kakaotalk whoami --pretty
192
+ agent-kakaotalk whoami --account <account-id>
193
+ ```
194
+
195
+ Output includes:
196
+
197
+ - `user_id` — your KakaoTalk user ID
198
+ - `nickname` — your display name
199
+ - `profile_image_url` — profile image thumbnail URL
200
+ - `original_profile_image_url` — original profile image URL
201
+ - `status_message` — your status message
202
+ - `account_display_id` — your KakaoTalk ID (may be null if not set)
203
+ - `background_image_url` — background image URL
204
+ - `original_background_image_url` — original background image URL
205
+ - `fullname` — real name (may be null)
206
+ - `account_email` — account email (may be null)
207
+ - `pstn_number` — phone number (may be null)
208
+ - `email_verified` — whether email is verified (may be null)
209
+
195
210
  ## Global Options
196
211
 
197
212
  | Option | Description |
@@ -202,13 +217,8 @@ agent-kakaotalk message list 9876543210 --from 123456789
202
217
  ## Storage
203
218
 
204
219
  - Credentials stored in `~/.config/agent-messenger/kakaotalk-credentials.json` (0600 permissions)
205
- - macOS extraction reads from `~/Library/Containers/com.kakao.KakaoTalkMac/Data/Library/Caches/Cache.db`
206
- - Windows extraction reads from the registry and `%LocalAppData%\Kakao\login_list.dat`
207
220
 
208
221
  ## Limitations
209
-
210
- - `auth extract` requires macOS or Windows (reads from the KakaoTalk desktop app)
211
- - `auth login` works on any platform (email + password, no desktop app needed)
212
222
  - No file upload or download
213
223
  - No channel/chat room creation or management
214
224
  - No friend list management
@@ -236,14 +246,6 @@ npx -y --package agent-messenger agent-kakaotalk chat list --pretty
236
246
 
237
247
  **NEVER run `npx agent-kakaotalk`** without `--package agent-messenger`. It will fail or install a wrong package.
238
248
 
239
- ### No credentials found
240
-
241
- If `auth extract` fails:
242
-
243
- 1. Make sure the KakaoTalk desktop app is installed and you're logged in
244
- 2. Run `agent-kakaotalk auth extract --debug` for detailed diagnostics
245
- 3. If extraction still fails, use `agent-kakaotalk auth login` instead (recommended)
246
-
247
249
  ### Device slot occupied
248
250
 
249
251
  If login fails because the tablet slot is occupied:
@@ -264,20 +266,6 @@ If the passcode expires before you confirm on your phone:
264
266
  2. Confirm the code on your phone within the time limit
265
267
  3. The CLI automatically completes login after confirmation
266
268
 
267
- ### Cache.db not found (macOS)
268
-
269
- The CLI looks for KakaoTalk's cache at:
270
-
271
- ```
272
- ~/Library/Containers/com.kakao.KakaoTalkMac/Data/Library/Caches/Cache.db
273
- ```
274
-
275
- If this file doesn't exist:
276
-
277
- 1. Install KakaoTalk from the Mac App Store
278
- 2. Log in and send at least one message (to populate the cache)
279
- 3. Run `agent-kakaotalk auth extract` again
280
-
281
269
  ## AI Agent Integration
282
270
 
283
271
  See [`skills/agent-kakaotalk/`](https://github.com/agent-messenger/agent-messenger/tree/main/skills/agent-kakaotalk) for:
@@ -126,12 +126,12 @@ agent-line auth logout <account-id>
126
126
 
127
127
  ## Commands
128
128
 
129
- ### Profile Command
129
+ ### Whoami Command
130
130
 
131
131
  ```bash
132
- # Get your LINE profile
133
- agent-line profile
134
- agent-line profile --pretty
132
+ # Show current authenticated user
133
+ agent-line whoami
134
+ agent-line whoami --pretty
135
135
  ```
136
136
 
137
137
  Output includes:
@@ -65,6 +65,16 @@ agent-slack auth logout <workspace-id>
65
65
 
66
66
  ## Commands
67
67
 
68
+ ### Whoami Command
69
+
70
+ ```bash
71
+ # Show current authenticated user
72
+ agent-slack whoami
73
+ agent-slack whoami --pretty
74
+ ```
75
+
76
+ Output includes the authenticated user's identity information.
77
+
68
78
  ### Message Commands
69
79
 
70
80
  ```bash
@@ -131,6 +131,15 @@ export E2E_SLACKBOT_WORKSPACE_NAME="My Workspace"
131
131
 
132
132
  ## Commands
133
133
 
134
+ ### Whoami Command
135
+
136
+ ```bash
137
+ # Show current authenticated bot
138
+ agent-slackbot whoami
139
+ agent-slackbot whoami --pretty
140
+ agent-slackbot whoami --bot <bot-id>
141
+ ```
142
+
134
143
  ### Message Commands
135
144
 
136
145
  ```bash
@@ -118,6 +118,16 @@ agent-teams team remove <team-id>
118
118
 
119
119
  ## Commands
120
120
 
121
+ ### Whoami Command
122
+
123
+ ```bash
124
+ # Show current authenticated user
125
+ agent-teams whoami
126
+ agent-teams whoami --pretty
127
+ ```
128
+
129
+ Output includes the authenticated user's identity information.
130
+
121
131
  ### Message Commands
122
132
 
123
133
  ```bash
@@ -70,6 +70,17 @@ agent-telegram auth remove <account-id>
70
70
 
71
71
  ## Commands
72
72
 
73
+ ### Whoami Command
74
+
75
+ ```bash
76
+ # Show current authenticated user
77
+ agent-telegram whoami
78
+ agent-telegram whoami --pretty
79
+ agent-telegram whoami --account <account-id>
80
+ ```
81
+
82
+ Output includes the authenticated user's identity information.
83
+
73
84
  ### Chat Commands
74
85
 
75
86
  ```bash
@@ -110,6 +110,16 @@ Both must be set together. When set, `auth login` (without `--token`) uses these
110
110
 
111
111
  ## Commands
112
112
 
113
+ ### Whoami Command
114
+
115
+ ```bash
116
+ # Show current authenticated user
117
+ agent-webex whoami
118
+ agent-webex whoami --pretty
119
+ ```
120
+
121
+ Output includes the authenticated user's identity information.
122
+
113
123
  ### Space Commands
114
124
 
115
125
  Webex organizes conversations into "spaces" (group spaces and direct messages).
@@ -75,6 +75,15 @@ agent-wechatbot auth remove <account-id>
75
75
 
76
76
  ## Commands
77
77
 
78
+ ### Whoami Command
79
+
80
+ ```bash
81
+ # Show current authenticated bot
82
+ agent-wechatbot whoami
83
+ agent-wechatbot whoami --pretty
84
+ agent-wechatbot whoami --account <account-id>
85
+ ```
86
+
78
87
  ### Message Commands
79
88
 
80
89
  ```bash