agent-messenger 1.15.0 → 2.0.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 (931) hide show
  1. package/.claude-plugin/README.md +73 -13
  2. package/.claude-plugin/marketplace.json +51 -12
  3. package/.claude-plugin/plugin.json +14 -3
  4. package/CONTRIBUTING.md +24 -3
  5. package/README.md +209 -52
  6. package/bun.lock +350 -2
  7. package/cubic.yaml +69 -0
  8. package/dist/package.json +118 -9
  9. package/dist/src/cli.d.ts.map +1 -1
  10. package/dist/src/cli.js +27 -6
  11. package/dist/src/cli.js.map +1 -1
  12. package/dist/src/platforms/channeltalk/client.d.ts +5 -1
  13. package/dist/src/platforms/channeltalk/client.d.ts.map +1 -1
  14. package/dist/src/platforms/channeltalk/client.js +23 -6
  15. package/dist/src/platforms/channeltalk/client.js.map +1 -1
  16. package/dist/src/platforms/channeltalk/commands/auth.d.ts +1 -1
  17. package/dist/src/platforms/channeltalk/commands/auth.d.ts.map +1 -1
  18. package/dist/src/platforms/channeltalk/commands/auth.js +4 -4
  19. package/dist/src/platforms/channeltalk/commands/auth.js.map +1 -1
  20. package/dist/src/platforms/channeltalk/commands/shared.js +1 -1
  21. package/dist/src/platforms/channeltalk/commands/shared.js.map +1 -1
  22. package/dist/src/platforms/channeltalk/ensure-auth.d.ts +2 -2
  23. package/dist/src/platforms/channeltalk/ensure-auth.d.ts.map +1 -1
  24. package/dist/src/platforms/channeltalk/ensure-auth.js +4 -4
  25. package/dist/src/platforms/channeltalk/ensure-auth.js.map +1 -1
  26. package/dist/src/platforms/channeltalk/index.d.ts +2 -2
  27. package/dist/src/platforms/channeltalk/index.d.ts.map +1 -1
  28. package/dist/src/platforms/channeltalk/index.js +1 -2
  29. package/dist/src/platforms/channeltalk/index.js.map +1 -1
  30. package/dist/src/platforms/channeltalk/token-extractor.d.ts +8 -0
  31. package/dist/src/platforms/channeltalk/token-extractor.d.ts.map +1 -1
  32. package/dist/src/platforms/channeltalk/token-extractor.js +127 -13
  33. package/dist/src/platforms/channeltalk/token-extractor.js.map +1 -1
  34. package/dist/src/platforms/channeltalk/types.d.ts +52 -949
  35. package/dist/src/platforms/channeltalk/types.d.ts.map +1 -1
  36. package/dist/src/platforms/channeltalk/types.js +1 -1
  37. package/dist/src/platforms/channeltalk/types.js.map +1 -1
  38. package/dist/src/platforms/channeltalkbot/client.d.ts +5 -1
  39. package/dist/src/platforms/channeltalkbot/client.d.ts.map +1 -1
  40. package/dist/src/platforms/channeltalkbot/client.js +24 -9
  41. package/dist/src/platforms/channeltalkbot/client.js.map +1 -1
  42. package/dist/src/platforms/channeltalkbot/commands/auth.js +2 -2
  43. package/dist/src/platforms/channeltalkbot/commands/auth.js.map +1 -1
  44. package/dist/src/platforms/channeltalkbot/commands/shared.js +1 -1
  45. package/dist/src/platforms/channeltalkbot/commands/shared.js.map +1 -1
  46. package/dist/src/platforms/channeltalkbot/index.d.ts +2 -1
  47. package/dist/src/platforms/channeltalkbot/index.d.ts.map +1 -1
  48. package/dist/src/platforms/channeltalkbot/index.js.map +1 -1
  49. package/dist/src/platforms/channeltalkbot/types.d.ts +24 -186
  50. package/dist/src/platforms/channeltalkbot/types.d.ts.map +1 -1
  51. package/dist/src/platforms/discord/client.d.ts +7 -1
  52. package/dist/src/platforms/discord/client.d.ts.map +1 -1
  53. package/dist/src/platforms/discord/client.js +27 -6
  54. package/dist/src/platforms/discord/client.js.map +1 -1
  55. package/dist/src/platforms/discord/commands/auth.js +2 -2
  56. package/dist/src/platforms/discord/commands/auth.js.map +1 -1
  57. package/dist/src/platforms/discord/commands/channel.js +3 -3
  58. package/dist/src/platforms/discord/commands/channel.js.map +1 -1
  59. package/dist/src/platforms/discord/commands/dm.js +2 -2
  60. package/dist/src/platforms/discord/commands/dm.js.map +1 -1
  61. package/dist/src/platforms/discord/commands/file.js +3 -3
  62. package/dist/src/platforms/discord/commands/file.js.map +1 -1
  63. package/dist/src/platforms/discord/commands/friend.js +1 -1
  64. package/dist/src/platforms/discord/commands/friend.js.map +1 -1
  65. package/dist/src/platforms/discord/commands/member.js +1 -1
  66. package/dist/src/platforms/discord/commands/member.js.map +1 -1
  67. package/dist/src/platforms/discord/commands/mention.js +1 -1
  68. package/dist/src/platforms/discord/commands/mention.js.map +1 -1
  69. package/dist/src/platforms/discord/commands/message.js +6 -6
  70. package/dist/src/platforms/discord/commands/message.js.map +1 -1
  71. package/dist/src/platforms/discord/commands/note.js +2 -2
  72. package/dist/src/platforms/discord/commands/note.js.map +1 -1
  73. package/dist/src/platforms/discord/commands/profile.js +1 -1
  74. package/dist/src/platforms/discord/commands/profile.js.map +1 -1
  75. package/dist/src/platforms/discord/commands/reaction.js +3 -3
  76. package/dist/src/platforms/discord/commands/reaction.js.map +1 -1
  77. package/dist/src/platforms/discord/commands/server.js +1 -1
  78. package/dist/src/platforms/discord/commands/server.js.map +1 -1
  79. package/dist/src/platforms/discord/commands/snapshot.js +1 -1
  80. package/dist/src/platforms/discord/commands/snapshot.js.map +1 -1
  81. package/dist/src/platforms/discord/commands/thread.js +2 -2
  82. package/dist/src/platforms/discord/commands/thread.js.map +1 -1
  83. package/dist/src/platforms/discord/commands/user.js +3 -3
  84. package/dist/src/platforms/discord/commands/user.js.map +1 -1
  85. package/dist/src/platforms/discord/ensure-auth.js +1 -1
  86. package/dist/src/platforms/discord/ensure-auth.js.map +1 -1
  87. package/dist/src/platforms/discord/index.d.ts +6 -0
  88. package/dist/src/platforms/discord/index.d.ts.map +1 -0
  89. package/dist/src/platforms/discord/index.js +5 -0
  90. package/dist/src/platforms/discord/index.js.map +1 -0
  91. package/dist/src/platforms/discord/listener.d.ts +41 -0
  92. package/dist/src/platforms/discord/listener.d.ts.map +1 -0
  93. package/dist/src/platforms/discord/listener.js +262 -0
  94. package/dist/src/platforms/discord/listener.js.map +1 -0
  95. package/dist/src/platforms/discord/types.d.ts +150 -352
  96. package/dist/src/platforms/discord/types.d.ts.map +1 -1
  97. package/dist/src/platforms/discord/types.js +28 -0
  98. package/dist/src/platforms/discord/types.js.map +1 -1
  99. package/dist/src/platforms/discordbot/client.d.ts +4 -1
  100. package/dist/src/platforms/discordbot/client.d.ts.map +1 -1
  101. package/dist/src/platforms/discordbot/client.js +23 -7
  102. package/dist/src/platforms/discordbot/client.js.map +1 -1
  103. package/dist/src/platforms/discordbot/commands/auth.js +2 -2
  104. package/dist/src/platforms/discordbot/commands/auth.js.map +1 -1
  105. package/dist/src/platforms/discordbot/commands/shared.js +1 -1
  106. package/dist/src/platforms/discordbot/commands/shared.js.map +1 -1
  107. package/dist/src/platforms/discordbot/types.d.ts +15 -203
  108. package/dist/src/platforms/discordbot/types.d.ts.map +1 -1
  109. package/dist/src/platforms/instagram/cli.d.ts +5 -0
  110. package/dist/src/platforms/instagram/cli.d.ts.map +1 -0
  111. package/dist/src/platforms/instagram/cli.js +30 -0
  112. package/dist/src/platforms/instagram/cli.js.map +1 -0
  113. package/dist/src/platforms/instagram/client.d.ts +65 -0
  114. package/dist/src/platforms/instagram/client.d.ts.map +1 -0
  115. package/dist/src/platforms/instagram/client.js +524 -0
  116. package/dist/src/platforms/instagram/client.js.map +1 -0
  117. package/dist/src/platforms/instagram/commands/auth.d.ts +3 -0
  118. package/dist/src/platforms/instagram/commands/auth.d.ts.map +1 -0
  119. package/dist/src/platforms/instagram/commands/auth.js +330 -0
  120. package/dist/src/platforms/instagram/commands/auth.js.map +1 -0
  121. package/dist/src/platforms/instagram/commands/chat.d.ts +3 -0
  122. package/dist/src/platforms/instagram/commands/chat.d.ts.map +1 -0
  123. package/dist/src/platforms/instagram/commands/chat.js +42 -0
  124. package/dist/src/platforms/instagram/commands/chat.js.map +1 -0
  125. package/dist/src/platforms/instagram/commands/index.d.ts +4 -0
  126. package/dist/src/platforms/instagram/commands/index.d.ts.map +1 -0
  127. package/dist/src/platforms/instagram/commands/index.js +4 -0
  128. package/dist/src/platforms/instagram/commands/index.js.map +1 -0
  129. package/dist/src/platforms/instagram/commands/message.d.ts +3 -0
  130. package/dist/src/platforms/instagram/commands/message.d.ts.map +1 -0
  131. package/dist/src/platforms/instagram/commands/message.js +102 -0
  132. package/dist/src/platforms/instagram/commands/message.js.map +1 -0
  133. package/dist/src/platforms/instagram/commands/shared.d.ts +8 -0
  134. package/dist/src/platforms/instagram/commands/shared.d.ts.map +1 -0
  135. package/dist/src/platforms/instagram/commands/shared.js +31 -0
  136. package/dist/src/platforms/instagram/commands/shared.js.map +1 -0
  137. package/dist/src/platforms/instagram/credential-manager.d.ts +20 -0
  138. package/dist/src/platforms/instagram/credential-manager.d.ts.map +1 -0
  139. package/dist/src/platforms/instagram/credential-manager.js +104 -0
  140. package/dist/src/platforms/instagram/credential-manager.js.map +1 -0
  141. package/dist/src/platforms/instagram/ensure-auth.d.ts +2 -0
  142. package/dist/src/platforms/instagram/ensure-auth.d.ts.map +1 -0
  143. package/dist/src/platforms/instagram/ensure-auth.js +21 -0
  144. package/dist/src/platforms/instagram/ensure-auth.js.map +1 -0
  145. package/dist/src/platforms/instagram/index.d.ts +5 -0
  146. package/dist/src/platforms/instagram/index.d.ts.map +1 -0
  147. package/dist/src/platforms/instagram/index.js +5 -0
  148. package/dist/src/platforms/instagram/index.js.map +1 -0
  149. package/dist/src/platforms/instagram/listener.d.ts +32 -0
  150. package/dist/src/platforms/instagram/listener.d.ts.map +1 -0
  151. package/dist/src/platforms/instagram/listener.js +87 -0
  152. package/dist/src/platforms/instagram/listener.js.map +1 -0
  153. package/dist/src/platforms/instagram/types.d.ts +61 -0
  154. package/dist/src/platforms/instagram/types.d.ts.map +1 -0
  155. package/dist/src/platforms/instagram/types.js +89 -0
  156. package/dist/src/platforms/instagram/types.js.map +1 -0
  157. package/dist/src/platforms/kakaotalk/auth/kakao-login.d.ts +27 -0
  158. package/dist/src/platforms/kakaotalk/auth/kakao-login.d.ts.map +1 -0
  159. package/dist/src/platforms/kakaotalk/auth/kakao-login.js +213 -0
  160. package/dist/src/platforms/kakaotalk/auth/kakao-login.js.map +1 -0
  161. package/dist/src/platforms/kakaotalk/cli.d.ts +5 -0
  162. package/dist/src/platforms/kakaotalk/cli.d.ts.map +1 -0
  163. package/dist/src/platforms/kakaotalk/cli.js +30 -0
  164. package/dist/src/platforms/kakaotalk/cli.js.map +1 -0
  165. package/dist/src/platforms/kakaotalk/client.d.ts +40 -0
  166. package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -0
  167. package/dist/src/platforms/kakaotalk/client.js +290 -0
  168. package/dist/src/platforms/kakaotalk/client.js.map +1 -0
  169. package/dist/src/platforms/kakaotalk/commands/auth.d.ts +3 -0
  170. package/dist/src/platforms/kakaotalk/commands/auth.d.ts.map +1 -0
  171. package/dist/src/platforms/kakaotalk/commands/auth.js +515 -0
  172. package/dist/src/platforms/kakaotalk/commands/auth.js.map +1 -0
  173. package/dist/src/platforms/kakaotalk/commands/chat.d.ts +3 -0
  174. package/dist/src/platforms/kakaotalk/commands/chat.d.ts.map +1 -0
  175. package/dist/src/platforms/kakaotalk/commands/chat.js +23 -0
  176. package/dist/src/platforms/kakaotalk/commands/chat.js.map +1 -0
  177. package/dist/src/platforms/kakaotalk/commands/index.d.ts +4 -0
  178. package/dist/src/platforms/kakaotalk/commands/index.d.ts.map +1 -0
  179. package/dist/src/platforms/kakaotalk/commands/index.js +4 -0
  180. package/dist/src/platforms/kakaotalk/commands/index.js.map +1 -0
  181. package/dist/src/platforms/kakaotalk/commands/message.d.ts +3 -0
  182. package/dist/src/platforms/kakaotalk/commands/message.d.ts.map +1 -0
  183. package/dist/src/platforms/kakaotalk/commands/message.js +41 -0
  184. package/dist/src/platforms/kakaotalk/commands/message.js.map +1 -0
  185. package/dist/src/platforms/kakaotalk/commands/shared.d.ts +7 -0
  186. package/dist/src/platforms/kakaotalk/commands/shared.d.ts.map +1 -0
  187. package/dist/src/platforms/kakaotalk/commands/shared.js +24 -0
  188. package/dist/src/platforms/kakaotalk/commands/shared.js.map +1 -0
  189. package/dist/src/platforms/kakaotalk/credential-manager.d.ts +27 -0
  190. package/dist/src/platforms/kakaotalk/credential-manager.d.ts.map +1 -0
  191. package/dist/src/platforms/kakaotalk/credential-manager.js +82 -0
  192. package/dist/src/platforms/kakaotalk/credential-manager.js.map +1 -0
  193. package/dist/src/platforms/kakaotalk/ensure-auth.d.ts +3 -0
  194. package/dist/src/platforms/kakaotalk/ensure-auth.d.ts.map +1 -0
  195. package/dist/src/platforms/kakaotalk/ensure-auth.js +11 -0
  196. package/dist/src/platforms/kakaotalk/ensure-auth.js.map +1 -0
  197. package/dist/src/platforms/kakaotalk/index.d.ts +7 -0
  198. package/dist/src/platforms/kakaotalk/index.d.ts.map +1 -0
  199. package/dist/src/platforms/kakaotalk/index.js +5 -0
  200. package/dist/src/platforms/kakaotalk/index.js.map +1 -0
  201. package/dist/src/platforms/kakaotalk/listener.d.ts +24 -0
  202. package/dist/src/platforms/kakaotalk/listener.d.ts.map +1 -0
  203. package/dist/src/platforms/kakaotalk/listener.js +171 -0
  204. package/dist/src/platforms/kakaotalk/listener.js.map +1 -0
  205. package/dist/src/platforms/kakaotalk/protocol/config.d.ts +14 -0
  206. package/dist/src/platforms/kakaotalk/protocol/config.d.ts.map +1 -0
  207. package/dist/src/platforms/kakaotalk/protocol/config.js +23 -0
  208. package/dist/src/platforms/kakaotalk/protocol/config.js.map +1 -0
  209. package/dist/src/platforms/kakaotalk/protocol/connection.d.ts +25 -0
  210. package/dist/src/platforms/kakaotalk/protocol/connection.d.ts.map +1 -0
  211. package/dist/src/platforms/kakaotalk/protocol/connection.js +144 -0
  212. package/dist/src/platforms/kakaotalk/protocol/connection.js.map +1 -0
  213. package/dist/src/platforms/kakaotalk/protocol/crypto.d.ts +8 -0
  214. package/dist/src/platforms/kakaotalk/protocol/crypto.d.ts.map +1 -0
  215. package/dist/src/platforms/kakaotalk/protocol/crypto.js +51 -0
  216. package/dist/src/platforms/kakaotalk/protocol/crypto.js.map +1 -0
  217. package/dist/src/platforms/kakaotalk/protocol/packet.d.ts +7 -0
  218. package/dist/src/platforms/kakaotalk/protocol/packet.d.ts.map +1 -0
  219. package/dist/src/platforms/kakaotalk/protocol/packet.js +38 -0
  220. package/dist/src/platforms/kakaotalk/protocol/packet.js.map +1 -0
  221. package/dist/src/platforms/kakaotalk/protocol/session.d.ts +18 -0
  222. package/dist/src/platforms/kakaotalk/protocol/session.d.ts.map +1 -0
  223. package/dist/src/platforms/kakaotalk/protocol/session.js +127 -0
  224. package/dist/src/platforms/kakaotalk/protocol/session.js.map +1 -0
  225. package/dist/src/platforms/kakaotalk/protocol/types.d.ts +41 -0
  226. package/dist/src/platforms/kakaotalk/protocol/types.d.ts.map +1 -0
  227. package/dist/src/platforms/kakaotalk/protocol/types.js +8 -0
  228. package/dist/src/platforms/kakaotalk/protocol/types.js.map +1 -0
  229. package/dist/src/platforms/kakaotalk/token-extractor.d.ts +17 -0
  230. package/dist/src/platforms/kakaotalk/token-extractor.d.ts.map +1 -0
  231. package/dist/src/platforms/kakaotalk/token-extractor.js +273 -0
  232. package/dist/src/platforms/kakaotalk/token-extractor.js.map +1 -0
  233. package/dist/src/platforms/kakaotalk/types.d.ts +198 -0
  234. package/dist/src/platforms/kakaotalk/types.d.ts.map +1 -0
  235. package/dist/src/platforms/kakaotalk/types.js +74 -0
  236. package/dist/src/platforms/kakaotalk/types.js.map +1 -0
  237. package/dist/src/platforms/line/cli.d.ts +5 -0
  238. package/dist/src/platforms/line/cli.d.ts.map +1 -0
  239. package/dist/src/platforms/line/cli.js +32 -0
  240. package/dist/src/platforms/line/cli.js.map +1 -0
  241. package/dist/src/platforms/line/client.d.ts +31 -0
  242. package/dist/src/platforms/line/client.d.ts.map +1 -0
  243. package/dist/src/platforms/line/client.js +296 -0
  244. package/dist/src/platforms/line/client.js.map +1 -0
  245. package/dist/src/platforms/line/commands/auth.d.ts +3 -0
  246. package/dist/src/platforms/line/commands/auth.d.ts.map +1 -0
  247. package/dist/src/platforms/line/commands/auth.js +199 -0
  248. package/dist/src/platforms/line/commands/auth.js.map +1 -0
  249. package/dist/src/platforms/line/commands/chat.d.ts +3 -0
  250. package/dist/src/platforms/line/commands/chat.d.ts.map +1 -0
  251. package/dist/src/platforms/line/commands/chat.js +28 -0
  252. package/dist/src/platforms/line/commands/chat.js.map +1 -0
  253. package/dist/src/platforms/line/commands/friend.d.ts +3 -0
  254. package/dist/src/platforms/line/commands/friend.d.ts.map +1 -0
  255. package/dist/src/platforms/line/commands/friend.js +25 -0
  256. package/dist/src/platforms/line/commands/friend.js.map +1 -0
  257. package/dist/src/platforms/line/commands/index.d.ts +6 -0
  258. package/dist/src/platforms/line/commands/index.d.ts.map +1 -0
  259. package/dist/src/platforms/line/commands/index.js +6 -0
  260. package/dist/src/platforms/line/commands/index.js.map +1 -0
  261. package/dist/src/platforms/line/commands/message.d.ts +3 -0
  262. package/dist/src/platforms/line/commands/message.d.ts.map +1 -0
  263. package/dist/src/platforms/line/commands/message.js +48 -0
  264. package/dist/src/platforms/line/commands/message.js.map +1 -0
  265. package/dist/src/platforms/line/commands/profile.d.ts +3 -0
  266. package/dist/src/platforms/line/commands/profile.d.ts.map +1 -0
  267. package/dist/src/platforms/line/commands/profile.js +23 -0
  268. package/dist/src/platforms/line/commands/profile.js.map +1 -0
  269. package/dist/src/platforms/line/credential-manager.d.ts +22 -0
  270. package/dist/src/platforms/line/credential-manager.d.ts.map +1 -0
  271. package/dist/src/platforms/line/credential-manager.js +71 -0
  272. package/dist/src/platforms/line/credential-manager.js.map +1 -0
  273. package/dist/src/platforms/line/ensure-auth.d.ts +3 -0
  274. package/dist/src/platforms/line/ensure-auth.d.ts.map +1 -0
  275. package/dist/src/platforms/line/ensure-auth.js +10 -0
  276. package/dist/src/platforms/line/ensure-auth.js.map +1 -0
  277. package/dist/src/platforms/line/index.d.ts +7 -0
  278. package/dist/src/platforms/line/index.d.ts.map +1 -0
  279. package/dist/src/platforms/line/index.js +6 -0
  280. package/dist/src/platforms/line/index.js.map +1 -0
  281. package/dist/src/platforms/line/listener.d.ts +22 -0
  282. package/dist/src/platforms/line/listener.d.ts.map +1 -0
  283. package/dist/src/platforms/line/listener.js +121 -0
  284. package/dist/src/platforms/line/listener.js.map +1 -0
  285. package/dist/src/platforms/line/types.d.ts +165 -0
  286. package/dist/src/platforms/line/types.d.ts.map +1 -0
  287. package/dist/src/platforms/line/types.js +79 -0
  288. package/dist/src/platforms/line/types.js.map +1 -0
  289. package/dist/src/platforms/slack/cli.d.ts.map +1 -1
  290. package/dist/src/platforms/slack/cli.js +6 -1
  291. package/dist/src/platforms/slack/cli.js.map +1 -1
  292. package/dist/src/platforms/slack/client.d.ts +81 -3
  293. package/dist/src/platforms/slack/client.d.ts.map +1 -1
  294. package/dist/src/platforms/slack/client.js +568 -41
  295. package/dist/src/platforms/slack/client.js.map +1 -1
  296. package/dist/src/platforms/slack/commands/activity.js +1 -1
  297. package/dist/src/platforms/slack/commands/activity.js.map +1 -1
  298. package/dist/src/platforms/slack/commands/auth.js +2 -2
  299. package/dist/src/platforms/slack/commands/auth.js.map +1 -1
  300. package/dist/src/platforms/slack/commands/bookmark.d.ts +3 -0
  301. package/dist/src/platforms/slack/commands/bookmark.d.ts.map +1 -0
  302. package/dist/src/platforms/slack/commands/bookmark.js +116 -0
  303. package/dist/src/platforms/slack/commands/bookmark.js.map +1 -0
  304. package/dist/src/platforms/slack/commands/channel.d.ts.map +1 -1
  305. package/dist/src/platforms/slack/commands/channel.js +178 -6
  306. package/dist/src/platforms/slack/commands/channel.js.map +1 -1
  307. package/dist/src/platforms/slack/commands/drafts.js +1 -1
  308. package/dist/src/platforms/slack/commands/drafts.js.map +1 -1
  309. package/dist/src/platforms/slack/commands/emoji.d.ts +3 -0
  310. package/dist/src/platforms/slack/commands/emoji.d.ts.map +1 -0
  311. package/dist/src/platforms/slack/commands/emoji.js +27 -0
  312. package/dist/src/platforms/slack/commands/emoji.js.map +1 -0
  313. package/dist/src/platforms/slack/commands/file.d.ts.map +1 -1
  314. package/dist/src/platforms/slack/commands/file.js +26 -5
  315. package/dist/src/platforms/slack/commands/file.js.map +1 -1
  316. package/dist/src/platforms/slack/commands/index.d.ts +5 -0
  317. package/dist/src/platforms/slack/commands/index.d.ts.map +1 -1
  318. package/dist/src/platforms/slack/commands/index.js +5 -0
  319. package/dist/src/platforms/slack/commands/index.js.map +1 -1
  320. package/dist/src/platforms/slack/commands/message.d.ts.map +1 -1
  321. package/dist/src/platforms/slack/commands/message.js +134 -8
  322. package/dist/src/platforms/slack/commands/message.js.map +1 -1
  323. package/dist/src/platforms/slack/commands/pin.d.ts +3 -0
  324. package/dist/src/platforms/slack/commands/pin.d.ts.map +1 -0
  325. package/dist/src/platforms/slack/commands/pin.js +76 -0
  326. package/dist/src/platforms/slack/commands/pin.js.map +1 -0
  327. package/dist/src/platforms/slack/commands/reaction.js +3 -3
  328. package/dist/src/platforms/slack/commands/reaction.js.map +1 -1
  329. package/dist/src/platforms/slack/commands/reminder.d.ts +3 -0
  330. package/dist/src/platforms/slack/commands/reminder.d.ts.map +1 -0
  331. package/dist/src/platforms/slack/commands/reminder.js +98 -0
  332. package/dist/src/platforms/slack/commands/reminder.js.map +1 -0
  333. package/dist/src/platforms/slack/commands/saved.js +1 -1
  334. package/dist/src/platforms/slack/commands/saved.js.map +1 -1
  335. package/dist/src/platforms/slack/commands/sections.js +1 -1
  336. package/dist/src/platforms/slack/commands/sections.js.map +1 -1
  337. package/dist/src/platforms/slack/commands/snapshot.d.ts.map +1 -1
  338. package/dist/src/platforms/slack/commands/snapshot.js +12 -1
  339. package/dist/src/platforms/slack/commands/snapshot.js.map +1 -1
  340. package/dist/src/platforms/slack/commands/unread.js +3 -3
  341. package/dist/src/platforms/slack/commands/unread.js.map +1 -1
  342. package/dist/src/platforms/slack/commands/user.d.ts.map +1 -1
  343. package/dist/src/platforms/slack/commands/user.js +78 -1
  344. package/dist/src/platforms/slack/commands/user.js.map +1 -1
  345. package/dist/src/platforms/slack/commands/usergroup.d.ts +3 -0
  346. package/dist/src/platforms/slack/commands/usergroup.d.ts.map +1 -0
  347. package/dist/src/platforms/slack/commands/usergroup.js +190 -0
  348. package/dist/src/platforms/slack/commands/usergroup.js.map +1 -0
  349. package/dist/src/platforms/slack/credential-manager.d.ts +2 -1
  350. package/dist/src/platforms/slack/credential-manager.d.ts.map +1 -1
  351. package/dist/src/platforms/slack/credential-manager.js +2 -1
  352. package/dist/src/platforms/slack/credential-manager.js.map +1 -1
  353. package/dist/src/platforms/slack/ensure-auth.js +4 -4
  354. package/dist/src/platforms/slack/ensure-auth.js.map +1 -1
  355. package/dist/src/platforms/slack/index.d.ts +4 -1
  356. package/dist/src/platforms/slack/index.d.ts.map +1 -1
  357. package/dist/src/platforms/slack/index.js +3 -1
  358. package/dist/src/platforms/slack/index.js.map +1 -1
  359. package/dist/src/platforms/slack/listener.d.ts +30 -0
  360. package/dist/src/platforms/slack/listener.d.ts.map +1 -0
  361. package/dist/src/platforms/slack/listener.js +157 -0
  362. package/dist/src/platforms/slack/listener.js.map +1 -0
  363. package/dist/src/platforms/slack/types.d.ts +198 -275
  364. package/dist/src/platforms/slack/types.d.ts.map +1 -1
  365. package/dist/src/platforms/slack/types.js +22 -0
  366. package/dist/src/platforms/slack/types.js.map +1 -1
  367. package/dist/src/platforms/slackbot/client.d.ts +4 -1
  368. package/dist/src/platforms/slackbot/client.d.ts.map +1 -1
  369. package/dist/src/platforms/slackbot/client.js +40 -21
  370. package/dist/src/platforms/slackbot/client.js.map +1 -1
  371. package/dist/src/platforms/slackbot/commands/auth.js +2 -2
  372. package/dist/src/platforms/slackbot/commands/auth.js.map +1 -1
  373. package/dist/src/platforms/slackbot/commands/shared.js +1 -1
  374. package/dist/src/platforms/slackbot/commands/shared.js.map +1 -1
  375. package/dist/src/platforms/slackbot/types.d.ts +20 -282
  376. package/dist/src/platforms/slackbot/types.d.ts.map +1 -1
  377. package/dist/src/platforms/teams/client.d.ts +5 -1
  378. package/dist/src/platforms/teams/client.d.ts.map +1 -1
  379. package/dist/src/platforms/teams/client.js +27 -9
  380. package/dist/src/platforms/teams/client.js.map +1 -1
  381. package/dist/src/platforms/teams/commands/auth.js +3 -3
  382. package/dist/src/platforms/teams/commands/auth.js.map +1 -1
  383. package/dist/src/platforms/teams/commands/channel.js +3 -3
  384. package/dist/src/platforms/teams/commands/channel.js.map +1 -1
  385. package/dist/src/platforms/teams/commands/file.js +3 -3
  386. package/dist/src/platforms/teams/commands/file.js.map +1 -1
  387. package/dist/src/platforms/teams/commands/message.js +4 -4
  388. package/dist/src/platforms/teams/commands/message.js.map +1 -1
  389. package/dist/src/platforms/teams/commands/reaction.js +2 -2
  390. package/dist/src/platforms/teams/commands/reaction.js.map +1 -1
  391. package/dist/src/platforms/teams/commands/snapshot.js +1 -1
  392. package/dist/src/platforms/teams/commands/snapshot.js.map +1 -1
  393. package/dist/src/platforms/teams/commands/team.js +1 -1
  394. package/dist/src/platforms/teams/commands/team.js.map +1 -1
  395. package/dist/src/platforms/teams/commands/user.js +3 -3
  396. package/dist/src/platforms/teams/commands/user.js.map +1 -1
  397. package/dist/src/platforms/teams/ensure-auth.js +1 -1
  398. package/dist/src/platforms/teams/ensure-auth.js.map +1 -1
  399. package/dist/src/platforms/teams/index.d.ts +6 -0
  400. package/dist/src/platforms/teams/index.d.ts.map +1 -0
  401. package/dist/src/platforms/teams/index.js +5 -0
  402. package/dist/src/platforms/teams/index.js.map +1 -0
  403. package/dist/src/platforms/teams/types.d.ts +26 -193
  404. package/dist/src/platforms/teams/types.d.ts.map +1 -1
  405. package/dist/src/platforms/telegram/app-config.d.ts +7 -0
  406. package/dist/src/platforms/telegram/app-config.d.ts.map +1 -0
  407. package/dist/src/platforms/telegram/app-config.js +39 -0
  408. package/dist/src/platforms/telegram/app-config.js.map +1 -0
  409. package/dist/src/platforms/telegram/chat-utils.d.ts +5 -0
  410. package/dist/src/platforms/telegram/chat-utils.d.ts.map +1 -0
  411. package/dist/src/platforms/telegram/chat-utils.js +33 -0
  412. package/dist/src/platforms/telegram/chat-utils.js.map +1 -0
  413. package/dist/src/platforms/telegram/cli.d.ts +5 -0
  414. package/dist/src/platforms/telegram/cli.d.ts.map +1 -0
  415. package/dist/src/platforms/telegram/cli.js +15 -0
  416. package/dist/src/platforms/telegram/cli.js.map +1 -0
  417. package/dist/src/platforms/telegram/client.d.ts +47 -0
  418. package/dist/src/platforms/telegram/client.d.ts.map +1 -0
  419. package/dist/src/platforms/telegram/client.js +481 -0
  420. package/dist/src/platforms/telegram/client.js.map +1 -0
  421. package/dist/src/platforms/telegram/commands/auth.d.ts +44 -0
  422. package/dist/src/platforms/telegram/commands/auth.d.ts.map +1 -0
  423. package/dist/src/platforms/telegram/commands/auth.js +522 -0
  424. package/dist/src/platforms/telegram/commands/auth.js.map +1 -0
  425. package/dist/src/platforms/telegram/commands/chat.d.ts +3 -0
  426. package/dist/src/platforms/telegram/commands/chat.d.ts.map +1 -0
  427. package/dist/src/platforms/telegram/commands/chat.js +55 -0
  428. package/dist/src/platforms/telegram/commands/chat.js.map +1 -0
  429. package/dist/src/platforms/telegram/commands/index.d.ts +4 -0
  430. package/dist/src/platforms/telegram/commands/index.d.ts.map +1 -0
  431. package/dist/src/platforms/telegram/commands/index.js +4 -0
  432. package/dist/src/platforms/telegram/commands/index.js.map +1 -0
  433. package/dist/src/platforms/telegram/commands/message.d.ts +3 -0
  434. package/dist/src/platforms/telegram/commands/message.d.ts.map +1 -0
  435. package/dist/src/platforms/telegram/commands/message.js +40 -0
  436. package/dist/src/platforms/telegram/commands/message.js.map +1 -0
  437. package/dist/src/platforms/telegram/commands/shared.d.ts +10 -0
  438. package/dist/src/platforms/telegram/commands/shared.d.ts.map +1 -0
  439. package/dist/src/platforms/telegram/commands/shared.js +32 -0
  440. package/dist/src/platforms/telegram/commands/shared.js.map +1 -0
  441. package/dist/src/platforms/telegram/credential-manager.d.ts +25 -0
  442. package/dist/src/platforms/telegram/credential-manager.d.ts.map +1 -0
  443. package/dist/src/platforms/telegram/credential-manager.js +159 -0
  444. package/dist/src/platforms/telegram/credential-manager.js.map +1 -0
  445. package/dist/src/platforms/telegram/my-telegram-org.d.ts +14 -0
  446. package/dist/src/platforms/telegram/my-telegram-org.d.ts.map +1 -0
  447. package/dist/src/platforms/telegram/my-telegram-org.js +164 -0
  448. package/dist/src/platforms/telegram/my-telegram-org.js.map +1 -0
  449. package/dist/src/platforms/telegram/tdlib.d.ts +11 -0
  450. package/dist/src/platforms/telegram/tdlib.d.ts.map +1 -0
  451. package/dist/src/platforms/telegram/tdlib.js +113 -0
  452. package/dist/src/platforms/telegram/tdlib.js.map +1 -0
  453. package/dist/src/platforms/telegram/types.d.ts +192 -0
  454. package/dist/src/platforms/telegram/types.d.ts.map +1 -0
  455. package/dist/src/platforms/telegram/types.js +183 -0
  456. package/dist/src/platforms/telegram/types.js.map +1 -0
  457. package/dist/src/platforms/whatsapp/cli.d.ts +6 -0
  458. package/dist/src/platforms/whatsapp/cli.d.ts.map +1 -0
  459. package/dist/src/platforms/whatsapp/cli.js +31 -0
  460. package/dist/src/platforms/whatsapp/cli.js.map +1 -0
  461. package/dist/src/platforms/whatsapp/client.d.ts +39 -0
  462. package/dist/src/platforms/whatsapp/client.d.ts.map +1 -0
  463. package/dist/src/platforms/whatsapp/client.js +436 -0
  464. package/dist/src/platforms/whatsapp/client.js.map +1 -0
  465. package/dist/src/platforms/whatsapp/commands/auth.d.ts +3 -0
  466. package/dist/src/platforms/whatsapp/commands/auth.d.ts.map +1 -0
  467. package/dist/src/platforms/whatsapp/commands/auth.js +170 -0
  468. package/dist/src/platforms/whatsapp/commands/auth.js.map +1 -0
  469. package/dist/src/platforms/whatsapp/commands/chat.d.ts +3 -0
  470. package/dist/src/platforms/whatsapp/commands/chat.d.ts.map +1 -0
  471. package/dist/src/platforms/whatsapp/commands/chat.js +42 -0
  472. package/dist/src/platforms/whatsapp/commands/chat.js.map +1 -0
  473. package/dist/src/platforms/whatsapp/commands/index.d.ts +4 -0
  474. package/dist/src/platforms/whatsapp/commands/index.d.ts.map +1 -0
  475. package/dist/src/platforms/whatsapp/commands/index.js +4 -0
  476. package/dist/src/platforms/whatsapp/commands/index.js.map +1 -0
  477. package/dist/src/platforms/whatsapp/commands/message.d.ts +3 -0
  478. package/dist/src/platforms/whatsapp/commands/message.d.ts.map +1 -0
  479. package/dist/src/platforms/whatsapp/commands/message.js +61 -0
  480. package/dist/src/platforms/whatsapp/commands/message.js.map +1 -0
  481. package/dist/src/platforms/whatsapp/commands/shared.d.ts +8 -0
  482. package/dist/src/platforms/whatsapp/commands/shared.d.ts.map +1 -0
  483. package/dist/src/platforms/whatsapp/commands/shared.js +37 -0
  484. package/dist/src/platforms/whatsapp/commands/shared.js.map +1 -0
  485. package/dist/src/platforms/whatsapp/credential-manager.d.ts +20 -0
  486. package/dist/src/platforms/whatsapp/credential-manager.d.ts.map +1 -0
  487. package/dist/src/platforms/whatsapp/credential-manager.js +104 -0
  488. package/dist/src/platforms/whatsapp/credential-manager.js.map +1 -0
  489. package/dist/src/platforms/whatsapp/ensure-auth.d.ts +2 -0
  490. package/dist/src/platforms/whatsapp/ensure-auth.d.ts.map +1 -0
  491. package/dist/src/platforms/whatsapp/ensure-auth.js +23 -0
  492. package/dist/src/platforms/whatsapp/ensure-auth.js.map +1 -0
  493. package/dist/src/platforms/whatsapp/index.d.ts +4 -0
  494. package/dist/src/platforms/whatsapp/index.d.ts.map +1 -0
  495. package/dist/src/platforms/whatsapp/index.js +4 -0
  496. package/dist/src/platforms/whatsapp/index.js.map +1 -0
  497. package/dist/src/platforms/whatsapp/suppress-ws-warnings.d.ts +11 -0
  498. package/dist/src/platforms/whatsapp/suppress-ws-warnings.d.ts.map +1 -0
  499. package/dist/src/platforms/whatsapp/suppress-ws-warnings.js +24 -0
  500. package/dist/src/platforms/whatsapp/suppress-ws-warnings.js.map +1 -0
  501. package/dist/src/platforms/whatsapp/types.d.ts +42 -0
  502. package/dist/src/platforms/whatsapp/types.d.ts.map +1 -0
  503. package/dist/src/platforms/whatsapp/types.js +75 -0
  504. package/dist/src/platforms/whatsapp/types.js.map +1 -0
  505. package/dist/src/platforms/whatsappbot/cli.d.ts +5 -0
  506. package/dist/src/platforms/whatsappbot/cli.d.ts.map +1 -0
  507. package/dist/src/platforms/whatsappbot/cli.js +17 -0
  508. package/dist/src/platforms/whatsappbot/cli.js.map +1 -0
  509. package/dist/src/platforms/whatsappbot/client.d.ts +31 -0
  510. package/dist/src/platforms/whatsappbot/client.d.ts.map +1 -0
  511. package/dist/src/platforms/whatsappbot/client.js +202 -0
  512. package/dist/src/platforms/whatsappbot/client.js.map +1 -0
  513. package/dist/src/platforms/whatsappbot/commands/auth.d.ts +28 -0
  514. package/dist/src/platforms/whatsappbot/commands/auth.d.ts.map +1 -0
  515. package/dist/src/platforms/whatsappbot/commands/auth.js +163 -0
  516. package/dist/src/platforms/whatsappbot/commands/auth.js.map +1 -0
  517. package/dist/src/platforms/whatsappbot/commands/index.d.ts +4 -0
  518. package/dist/src/platforms/whatsappbot/commands/index.d.ts.map +1 -0
  519. package/dist/src/platforms/whatsappbot/commands/index.js +4 -0
  520. package/dist/src/platforms/whatsappbot/commands/index.js.map +1 -0
  521. package/dist/src/platforms/whatsappbot/commands/message.d.ts +27 -0
  522. package/dist/src/platforms/whatsappbot/commands/message.d.ts.map +1 -0
  523. package/dist/src/platforms/whatsappbot/commands/message.js +122 -0
  524. package/dist/src/platforms/whatsappbot/commands/message.js.map +1 -0
  525. package/dist/src/platforms/whatsappbot/commands/shared.d.ts +9 -0
  526. package/dist/src/platforms/whatsappbot/commands/shared.d.ts.map +1 -0
  527. package/dist/src/platforms/whatsappbot/commands/shared.js +13 -0
  528. package/dist/src/platforms/whatsappbot/commands/shared.js.map +1 -0
  529. package/dist/src/platforms/whatsappbot/commands/template.d.ts +16 -0
  530. package/dist/src/platforms/whatsappbot/commands/template.d.ts.map +1 -0
  531. package/dist/src/platforms/whatsappbot/commands/template.js +51 -0
  532. package/dist/src/platforms/whatsappbot/commands/template.js.map +1 -0
  533. package/dist/src/platforms/whatsappbot/credential-manager.d.ts +17 -0
  534. package/dist/src/platforms/whatsappbot/credential-manager.d.ts.map +1 -0
  535. package/dist/src/platforms/whatsappbot/credential-manager.js +121 -0
  536. package/dist/src/platforms/whatsappbot/credential-manager.js.map +1 -0
  537. package/dist/src/platforms/whatsappbot/index.d.ts +5 -0
  538. package/dist/src/platforms/whatsappbot/index.d.ts.map +1 -0
  539. package/dist/src/platforms/whatsappbot/index.js +4 -0
  540. package/dist/src/platforms/whatsappbot/index.js.map +1 -0
  541. package/dist/src/platforms/whatsappbot/types.d.ts +66 -0
  542. package/dist/src/platforms/whatsappbot/types.d.ts.map +1 -0
  543. package/dist/src/platforms/whatsappbot/types.js +28 -0
  544. package/dist/src/platforms/whatsappbot/types.js.map +1 -0
  545. package/dist/src/tui/adapters/channeltalk-adapter.d.ts +19 -0
  546. package/dist/src/tui/adapters/channeltalk-adapter.d.ts.map +1 -0
  547. package/dist/src/tui/adapters/channeltalk-adapter.js +88 -0
  548. package/dist/src/tui/adapters/channeltalk-adapter.js.map +1 -0
  549. package/dist/src/tui/adapters/discord-adapter.d.ts +22 -0
  550. package/dist/src/tui/adapters/discord-adapter.d.ts.map +1 -0
  551. package/dist/src/tui/adapters/discord-adapter.js +100 -0
  552. package/dist/src/tui/adapters/discord-adapter.js.map +1 -0
  553. package/dist/src/tui/adapters/instagram-adapter.d.ts +18 -0
  554. package/dist/src/tui/adapters/instagram-adapter.d.ts.map +1 -0
  555. package/dist/src/tui/adapters/instagram-adapter.js +115 -0
  556. package/dist/src/tui/adapters/instagram-adapter.js.map +1 -0
  557. package/dist/src/tui/adapters/kakaotalk-adapter.d.ts +18 -0
  558. package/dist/src/tui/adapters/kakaotalk-adapter.d.ts.map +1 -0
  559. package/dist/src/tui/adapters/kakaotalk-adapter.js +146 -0
  560. package/dist/src/tui/adapters/kakaotalk-adapter.js.map +1 -0
  561. package/dist/src/tui/adapters/line-adapter.d.ts +18 -0
  562. package/dist/src/tui/adapters/line-adapter.d.ts.map +1 -0
  563. package/dist/src/tui/adapters/line-adapter.js +92 -0
  564. package/dist/src/tui/adapters/line-adapter.js.map +1 -0
  565. package/dist/src/tui/adapters/slack-adapter.d.ts +23 -0
  566. package/dist/src/tui/adapters/slack-adapter.d.ts.map +1 -0
  567. package/dist/src/tui/adapters/slack-adapter.js +111 -0
  568. package/dist/src/tui/adapters/slack-adapter.js.map +1 -0
  569. package/dist/src/tui/adapters/teams-adapter.d.ts +20 -0
  570. package/dist/src/tui/adapters/teams-adapter.d.ts.map +1 -0
  571. package/dist/src/tui/adapters/teams-adapter.js +85 -0
  572. package/dist/src/tui/adapters/teams-adapter.js.map +1 -0
  573. package/dist/src/tui/adapters/telegram-adapter.d.ts +18 -0
  574. package/dist/src/tui/adapters/telegram-adapter.d.ts.map +1 -0
  575. package/dist/src/tui/adapters/telegram-adapter.js +183 -0
  576. package/dist/src/tui/adapters/telegram-adapter.js.map +1 -0
  577. package/dist/src/tui/adapters/types.d.ts +41 -0
  578. package/dist/src/tui/adapters/types.d.ts.map +1 -0
  579. package/dist/src/tui/adapters/types.js +2 -0
  580. package/dist/src/tui/adapters/types.js.map +1 -0
  581. package/dist/src/tui/adapters/whatsapp-adapter.d.ts +18 -0
  582. package/dist/src/tui/adapters/whatsapp-adapter.d.ts.map +1 -0
  583. package/dist/src/tui/adapters/whatsapp-adapter.js +120 -0
  584. package/dist/src/tui/adapters/whatsapp-adapter.js.map +1 -0
  585. package/dist/src/tui/app.d.ts +2 -0
  586. package/dist/src/tui/app.d.ts.map +1 -0
  587. package/dist/src/tui/app.js +652 -0
  588. package/dist/src/tui/app.js.map +1 -0
  589. package/dist/src/tui/cli.d.ts +3 -0
  590. package/dist/src/tui/cli.d.ts.map +1 -0
  591. package/dist/src/tui/cli.js +14 -0
  592. package/dist/src/tui/cli.js.map +1 -0
  593. package/dist/src/tui/utils.d.ts +5 -0
  594. package/dist/src/tui/utils.d.ts.map +1 -0
  595. package/dist/src/tui/utils.js +54 -0
  596. package/dist/src/tui/utils.js.map +1 -0
  597. package/dist/src/tui/views/channel-picker.d.ts +18 -0
  598. package/dist/src/tui/views/channel-picker.d.ts.map +1 -0
  599. package/dist/src/tui/views/channel-picker.js +131 -0
  600. package/dist/src/tui/views/channel-picker.js.map +1 -0
  601. package/dist/src/tui/views/workspace-picker.d.ts +18 -0
  602. package/dist/src/tui/views/workspace-picker.d.ts.map +1 -0
  603. package/dist/src/tui/views/workspace-picker.js +131 -0
  604. package/dist/src/tui/views/workspace-picker.js.map +1 -0
  605. package/docs/bun.lock +2 -666
  606. package/docs/content/docs/agent-skills.mdx +1 -1
  607. package/docs/content/docs/{integrations → cli}/channeltalk.mdx +9 -5
  608. package/docs/content/docs/{integrations → cli}/channeltalkbot.mdx +1 -1
  609. package/docs/content/docs/cli/instagram.mdx +211 -0
  610. package/docs/content/docs/cli/kakaotalk.mdx +286 -0
  611. package/docs/content/docs/cli/line.mdx +306 -0
  612. package/docs/content/docs/cli/meta.json +18 -0
  613. package/docs/content/docs/cli/slack.mdx +395 -0
  614. package/docs/content/docs/{integrations → cli}/slackbot.mdx +1 -1
  615. package/docs/content/docs/{integrations → cli}/teams.mdx +2 -2
  616. package/docs/content/docs/cli/telegram.mdx +107 -0
  617. package/docs/content/docs/cli/whatsapp.mdx +163 -0
  618. package/docs/content/docs/cli/whatsappbot.mdx +169 -0
  619. package/docs/content/docs/index.mdx +21 -15
  620. package/docs/content/docs/meta.json +9 -1
  621. package/docs/content/docs/quick-start.mdx +24 -8
  622. package/docs/content/docs/sdk/channeltalk.mdx +384 -0
  623. package/docs/content/docs/sdk/channeltalkbot.mdx +395 -0
  624. package/docs/content/docs/sdk/discord.mdx +535 -0
  625. package/docs/content/docs/sdk/instagram.mdx +367 -0
  626. package/docs/content/docs/sdk/kakaotalk.mdx +290 -0
  627. package/docs/content/docs/sdk/line.mdx +347 -0
  628. package/docs/content/docs/sdk/meta.json +4 -0
  629. package/docs/content/docs/sdk/slack.mdx +671 -0
  630. package/docs/content/docs/sdk/teams.mdx +350 -0
  631. package/docs/content/docs/sdk/whatsapp.mdx +293 -0
  632. package/docs/content/docs/sdk/whatsappbot.mdx +266 -0
  633. package/docs/content/docs/tui.mdx +137 -0
  634. package/docs/public/tui.png +0 -0
  635. package/docs/src/app/page.tsx +885 -308
  636. package/e2e/discordbot.e2e.test.ts +1 -1
  637. package/examples/discord-listen.ts +56 -0
  638. package/examples/kakaotalk-listen.ts +49 -0
  639. package/examples/slack-listen.ts +60 -0
  640. package/package.json +118 -9
  641. package/scripts/postbuild.ts +1 -0
  642. package/scripts/prepublish.ts +21 -1
  643. package/skills/agent-channeltalk/SKILL.md +18 -6
  644. package/skills/agent-channeltalkbot/SKILL.md +1 -1
  645. package/skills/agent-discord/SKILL.md +77 -2
  646. package/skills/agent-discord/references/common-patterns.md +1 -1
  647. package/skills/agent-discordbot/SKILL.md +1 -1
  648. package/skills/agent-instagram/SKILL.md +383 -0
  649. package/skills/agent-instagram/references/authentication.md +256 -0
  650. package/skills/agent-instagram/references/common-patterns.md +362 -0
  651. package/skills/agent-instagram/templates/chat-summary.sh +124 -0
  652. package/skills/agent-instagram/templates/monitor-chat.sh +143 -0
  653. package/skills/agent-instagram/templates/post-message.sh +130 -0
  654. package/skills/agent-kakaotalk/SKILL.md +587 -0
  655. package/skills/agent-kakaotalk/references/authentication.md +343 -0
  656. package/skills/agent-kakaotalk/references/common-patterns.md +403 -0
  657. package/skills/agent-kakaotalk/templates/chat-summary.sh +121 -0
  658. package/skills/agent-kakaotalk/templates/monitor-chat.sh +160 -0
  659. package/skills/agent-kakaotalk/templates/post-message.sh +123 -0
  660. package/skills/agent-line/SKILL.md +490 -0
  661. package/skills/agent-line/references/authentication.md +297 -0
  662. package/skills/agent-line/references/common-patterns.md +355 -0
  663. package/skills/agent-line/templates/chat-summary.sh +63 -0
  664. package/skills/agent-line/templates/monitor-chat.sh +76 -0
  665. package/skills/agent-line/templates/post-message.sh +123 -0
  666. package/skills/agent-slack/SKILL.md +259 -7
  667. package/skills/agent-slack/references/common-patterns.md +105 -39
  668. package/skills/agent-slackbot/SKILL.md +1 -1
  669. package/skills/agent-slackbot/references/common-patterns.md +52 -0
  670. package/skills/agent-teams/SKILL.md +49 -1
  671. package/skills/agent-telegram/SKILL.md +123 -0
  672. package/skills/agent-whatsapp/SKILL.md +382 -0
  673. package/skills/agent-whatsapp/references/authentication.md +191 -0
  674. package/skills/agent-whatsapp/references/common-patterns.md +336 -0
  675. package/skills/agent-whatsapp/templates/chat-summary.sh +122 -0
  676. package/skills/agent-whatsapp/templates/monitor-chat.sh +157 -0
  677. package/skills/agent-whatsapp/templates/post-message.sh +120 -0
  678. package/skills/agent-whatsappbot/SKILL.md +371 -0
  679. package/skills/agent-whatsappbot/references/authentication.md +216 -0
  680. package/skills/agent-whatsappbot/references/common-patterns.md +331 -0
  681. package/skills/agent-whatsappbot/templates/account-summary.sh +127 -0
  682. package/skills/agent-whatsappbot/templates/post-message.sh +120 -0
  683. package/skills/agent-whatsappbot/templates/send-template.sh +153 -0
  684. package/src/cli.ts +34 -6
  685. package/src/platforms/channeltalk/client.test.ts +30 -28
  686. package/src/platforms/channeltalk/client.ts +29 -8
  687. package/src/platforms/channeltalk/commands/auth.ts +9 -7
  688. package/src/platforms/channeltalk/commands/shared.ts +1 -1
  689. package/src/platforms/channeltalk/ensure-auth.ts +10 -8
  690. package/src/platforms/channeltalk/index.test.ts +114 -0
  691. package/src/platforms/channeltalk/index.ts +27 -14
  692. package/src/platforms/channeltalk/token-extractor.test.ts +227 -65
  693. package/src/platforms/channeltalk/token-extractor.ts +146 -25
  694. package/src/platforms/channeltalk/types.ts +3 -1
  695. package/src/platforms/channeltalkbot/client.test.ts +12 -12
  696. package/src/platforms/channeltalkbot/client.ts +31 -11
  697. package/src/platforms/channeltalkbot/commands/auth.test.ts +1 -5
  698. package/src/platforms/channeltalkbot/commands/auth.ts +2 -2
  699. package/src/platforms/channeltalkbot/commands/shared.ts +1 -1
  700. package/src/platforms/channeltalkbot/index.test.ts +76 -0
  701. package/src/platforms/channeltalkbot/index.ts +14 -11
  702. package/src/platforms/discord/client.test.ts +30 -30
  703. package/src/platforms/discord/client.ts +33 -6
  704. package/src/platforms/discord/commands/auth.test.ts +2 -2
  705. package/src/platforms/discord/commands/auth.ts +2 -2
  706. package/src/platforms/discord/commands/channel.test.ts +6 -6
  707. package/src/platforms/discord/commands/channel.ts +3 -3
  708. package/src/platforms/discord/commands/dm.ts +2 -2
  709. package/src/platforms/discord/commands/file.ts +3 -3
  710. package/src/platforms/discord/commands/friend.test.ts +5 -5
  711. package/src/platforms/discord/commands/friend.ts +1 -1
  712. package/src/platforms/discord/commands/member.test.ts +4 -4
  713. package/src/platforms/discord/commands/member.ts +1 -1
  714. package/src/platforms/discord/commands/mention.test.ts +4 -4
  715. package/src/platforms/discord/commands/mention.ts +1 -1
  716. package/src/platforms/discord/commands/message.ts +6 -6
  717. package/src/platforms/discord/commands/note.ts +2 -2
  718. package/src/platforms/discord/commands/profile.ts +1 -1
  719. package/src/platforms/discord/commands/reaction.ts +3 -3
  720. package/src/platforms/discord/commands/server.test.ts +2 -2
  721. package/src/platforms/discord/commands/server.ts +1 -1
  722. package/src/platforms/discord/commands/snapshot.ts +1 -1
  723. package/src/platforms/discord/commands/thread.test.ts +5 -5
  724. package/src/platforms/discord/commands/thread.ts +2 -2
  725. package/src/platforms/discord/commands/user.ts +3 -3
  726. package/src/platforms/discord/ensure-auth.ts +1 -1
  727. package/src/platforms/discord/index.test.ts +84 -0
  728. package/src/platforms/discord/index.ts +51 -0
  729. package/src/platforms/discord/listener.test.ts +782 -0
  730. package/src/platforms/discord/listener.ts +297 -0
  731. package/src/platforms/discord/types.ts +133 -0
  732. package/src/platforms/discordbot/client.test.ts +33 -33
  733. package/src/platforms/discordbot/client.ts +28 -7
  734. package/src/platforms/discordbot/commands/auth.test.ts +1 -5
  735. package/src/platforms/discordbot/commands/auth.ts +2 -2
  736. package/src/platforms/discordbot/commands/channel.test.ts +1 -5
  737. package/src/platforms/discordbot/commands/message.test.ts +1 -3
  738. package/src/platforms/discordbot/commands/server.test.ts +1 -5
  739. package/src/platforms/discordbot/commands/shared.ts +1 -1
  740. package/src/platforms/discordbot/commands/snapshot.test.ts +1 -3
  741. package/src/platforms/discordbot/commands/thread.test.ts +1 -3
  742. package/src/platforms/discordbot/commands/user.test.ts +1 -5
  743. package/src/platforms/instagram/cli.ts +37 -0
  744. package/src/platforms/instagram/client.test.ts +396 -0
  745. package/src/platforms/instagram/client.ts +655 -0
  746. package/src/platforms/instagram/commands/auth.ts +401 -0
  747. package/src/platforms/instagram/commands/chat.ts +49 -0
  748. package/src/platforms/instagram/commands/index.ts +3 -0
  749. package/src/platforms/instagram/commands/message.ts +134 -0
  750. package/src/platforms/instagram/commands/shared.test.ts +51 -0
  751. package/src/platforms/instagram/commands/shared.ts +55 -0
  752. package/src/platforms/instagram/credential-manager.test.ts +277 -0
  753. package/src/platforms/instagram/credential-manager.ts +134 -0
  754. package/src/platforms/instagram/ensure-auth.test.ts +84 -0
  755. package/src/platforms/instagram/ensure-auth.ts +24 -0
  756. package/src/platforms/instagram/index.test.ts +44 -0
  757. package/src/platforms/instagram/index.ts +16 -0
  758. package/src/platforms/instagram/listener.test.ts +130 -0
  759. package/src/platforms/instagram/listener.ts +106 -0
  760. package/src/platforms/instagram/types.test.ts +228 -0
  761. package/src/platforms/instagram/types.ts +153 -0
  762. package/src/platforms/kakaotalk/auth/kakao-login.ts +296 -0
  763. package/src/platforms/kakaotalk/cli.ts +37 -0
  764. package/src/platforms/kakaotalk/client.test.ts +490 -0
  765. package/src/platforms/kakaotalk/client.ts +328 -0
  766. package/src/platforms/kakaotalk/commands/auth.ts +569 -0
  767. package/src/platforms/kakaotalk/commands/chat.ts +34 -0
  768. package/src/platforms/kakaotalk/commands/index.ts +3 -0
  769. package/src/platforms/kakaotalk/commands/message.ts +56 -0
  770. package/src/platforms/kakaotalk/commands/shared.ts +38 -0
  771. package/src/platforms/kakaotalk/credential-manager.test.ts +231 -0
  772. package/src/platforms/kakaotalk/credential-manager.ts +110 -0
  773. package/src/platforms/kakaotalk/ensure-auth.ts +16 -0
  774. package/src/platforms/kakaotalk/index.test.ts +68 -0
  775. package/src/platforms/kakaotalk/index.ts +30 -0
  776. package/src/platforms/kakaotalk/listener.test.ts +370 -0
  777. package/src/platforms/kakaotalk/listener.ts +203 -0
  778. package/src/platforms/kakaotalk/protocol/NOTICE.md +51 -0
  779. package/src/platforms/kakaotalk/protocol/config.ts +28 -0
  780. package/src/platforms/kakaotalk/protocol/connection.ts +159 -0
  781. package/src/platforms/kakaotalk/protocol/crypto.ts +71 -0
  782. package/src/platforms/kakaotalk/protocol/packet.ts +47 -0
  783. package/src/platforms/kakaotalk/protocol/session.ts +156 -0
  784. package/src/platforms/kakaotalk/protocol/types.ts +42 -0
  785. package/src/platforms/kakaotalk/token-extractor.ts +320 -0
  786. package/src/platforms/kakaotalk/types.ts +212 -0
  787. package/src/platforms/line/cli.ts +39 -0
  788. package/src/platforms/line/client.test.ts +162 -0
  789. package/src/platforms/line/client.ts +352 -0
  790. package/src/platforms/line/commands/auth.ts +219 -0
  791. package/src/platforms/line/commands/chat.ts +34 -0
  792. package/src/platforms/line/commands/friend.ts +28 -0
  793. package/src/platforms/line/commands/index.ts +5 -0
  794. package/src/platforms/line/commands/message.ts +59 -0
  795. package/src/platforms/line/commands/profile.ts +24 -0
  796. package/src/platforms/line/credential-manager.test.ts +163 -0
  797. package/src/platforms/line/credential-manager.ts +99 -0
  798. package/src/platforms/line/ensure-auth.ts +13 -0
  799. package/src/platforms/line/index.test.ts +48 -0
  800. package/src/platforms/line/index.ts +27 -0
  801. package/src/platforms/line/listener.test.ts +341 -0
  802. package/src/platforms/line/listener.ts +138 -0
  803. package/src/platforms/line/types.test.ts +157 -0
  804. package/src/platforms/line/types.ts +181 -0
  805. package/src/platforms/slack/cli.ts +10 -0
  806. package/src/platforms/slack/client.test.ts +703 -69
  807. package/src/platforms/slack/client.ts +653 -44
  808. package/src/platforms/slack/commands/activity.ts +1 -1
  809. package/src/platforms/slack/commands/auth.ts +2 -2
  810. package/src/platforms/slack/commands/bookmark.test.ts +91 -0
  811. package/src/platforms/slack/commands/bookmark.ts +148 -0
  812. package/src/platforms/slack/commands/channel.test.ts +1 -1
  813. package/src/platforms/slack/commands/channel.ts +230 -5
  814. package/src/platforms/slack/commands/drafts.ts +1 -1
  815. package/src/platforms/slack/commands/emoji.test.ts +32 -0
  816. package/src/platforms/slack/commands/emoji.ts +33 -0
  817. package/src/platforms/slack/commands/file.ts +30 -4
  818. package/src/platforms/slack/commands/index.ts +5 -0
  819. package/src/platforms/slack/commands/message.ts +173 -7
  820. package/src/platforms/slack/commands/pin.test.ts +72 -0
  821. package/src/platforms/slack/commands/pin.ts +93 -0
  822. package/src/platforms/slack/commands/reaction.ts +3 -3
  823. package/src/platforms/slack/commands/reminder.test.ts +86 -0
  824. package/src/platforms/slack/commands/reminder.ts +125 -0
  825. package/src/platforms/slack/commands/saved.ts +1 -1
  826. package/src/platforms/slack/commands/sections.ts +1 -1
  827. package/src/platforms/slack/commands/snapshot.test.ts +4 -4
  828. package/src/platforms/slack/commands/snapshot.ts +14 -1
  829. package/src/platforms/slack/commands/unread.test.ts +3 -3
  830. package/src/platforms/slack/commands/unread.ts +3 -3
  831. package/src/platforms/slack/commands/user.ts +90 -1
  832. package/src/platforms/slack/commands/usergroup.test.ts +157 -0
  833. package/src/platforms/slack/commands/usergroup.ts +242 -0
  834. package/src/platforms/slack/credential-manager.ts +3 -1
  835. package/src/platforms/slack/ensure-auth.ts +4 -4
  836. package/src/platforms/slack/index.test.ts +59 -0
  837. package/src/platforms/slack/index.ts +46 -1
  838. package/src/platforms/slack/listener.test.ts +370 -0
  839. package/src/platforms/slack/listener.ts +181 -0
  840. package/src/platforms/slack/types.ts +187 -0
  841. package/src/platforms/slackbot/client.test.ts +26 -26
  842. package/src/platforms/slackbot/client.ts +40 -22
  843. package/src/platforms/slackbot/commands/auth.test.ts +1 -5
  844. package/src/platforms/slackbot/commands/auth.ts +2 -2
  845. package/src/platforms/slackbot/commands/shared.ts +1 -1
  846. package/src/platforms/teams/client.test.ts +34 -34
  847. package/src/platforms/teams/client.ts +32 -9
  848. package/src/platforms/teams/commands/auth.test.ts +2 -2
  849. package/src/platforms/teams/commands/auth.ts +3 -3
  850. package/src/platforms/teams/commands/channel.test.ts +6 -6
  851. package/src/platforms/teams/commands/channel.ts +3 -3
  852. package/src/platforms/teams/commands/file.ts +3 -3
  853. package/src/platforms/teams/commands/message.ts +4 -4
  854. package/src/platforms/teams/commands/reaction.ts +2 -2
  855. package/src/platforms/teams/commands/snapshot.ts +1 -1
  856. package/src/platforms/teams/commands/team.test.ts +2 -2
  857. package/src/platforms/teams/commands/team.ts +1 -1
  858. package/src/platforms/teams/commands/user.ts +3 -3
  859. package/src/platforms/teams/ensure-auth.ts +1 -1
  860. package/src/platforms/teams/index.test.ts +74 -0
  861. package/src/platforms/teams/index.ts +30 -0
  862. package/src/platforms/telegram/app-config.test.ts +44 -0
  863. package/src/platforms/telegram/app-config.ts +53 -0
  864. package/src/platforms/telegram/chat-utils.test.ts +71 -0
  865. package/src/platforms/telegram/chat-utils.ts +39 -0
  866. package/src/platforms/telegram/cli.ts +20 -0
  867. package/src/platforms/telegram/client.test.ts +90 -0
  868. package/src/platforms/telegram/client.ts +623 -0
  869. package/src/platforms/telegram/commands/auth.test.ts +113 -0
  870. package/src/platforms/telegram/commands/auth.ts +662 -0
  871. package/src/platforms/telegram/commands/chat.ts +65 -0
  872. package/src/platforms/telegram/commands/index.ts +3 -0
  873. package/src/platforms/telegram/commands/message.ts +51 -0
  874. package/src/platforms/telegram/commands/shared.test.ts +15 -0
  875. package/src/platforms/telegram/commands/shared.ts +50 -0
  876. package/src/platforms/telegram/credential-manager.test.ts +152 -0
  877. package/src/platforms/telegram/credential-manager.ts +203 -0
  878. package/src/platforms/telegram/my-telegram-org.ts +206 -0
  879. package/src/platforms/telegram/tdlib.ts +159 -0
  880. package/src/platforms/telegram/types.test.ts +74 -0
  881. package/src/platforms/telegram/types.ts +417 -0
  882. package/src/platforms/whatsapp/cli.ts +38 -0
  883. package/src/platforms/whatsapp/client.ts +526 -0
  884. package/src/platforms/whatsapp/commands/auth.ts +205 -0
  885. package/src/platforms/whatsapp/commands/chat.ts +49 -0
  886. package/src/platforms/whatsapp/commands/index.ts +3 -0
  887. package/src/platforms/whatsapp/commands/message.ts +79 -0
  888. package/src/platforms/whatsapp/commands/shared.ts +61 -0
  889. package/src/platforms/whatsapp/credential-manager.test.ts +278 -0
  890. package/src/platforms/whatsapp/credential-manager.ts +134 -0
  891. package/src/platforms/whatsapp/ensure-auth.test.ts +85 -0
  892. package/src/platforms/whatsapp/ensure-auth.ts +26 -0
  893. package/src/platforms/whatsapp/index.test.ts +39 -0
  894. package/src/platforms/whatsapp/index.ts +16 -0
  895. package/src/platforms/whatsapp/suppress-ws-warnings.ts +21 -0
  896. package/src/platforms/whatsapp/types.test.ts +190 -0
  897. package/src/platforms/whatsapp/types.ts +95 -0
  898. package/src/platforms/whatsappbot/cli.ts +23 -0
  899. package/src/platforms/whatsappbot/client.test.ts +411 -0
  900. package/src/platforms/whatsappbot/client.ts +256 -0
  901. package/src/platforms/whatsappbot/commands/auth.ts +206 -0
  902. package/src/platforms/whatsappbot/commands/index.ts +3 -0
  903. package/src/platforms/whatsappbot/commands/message.ts +148 -0
  904. package/src/platforms/whatsappbot/commands/shared.ts +22 -0
  905. package/src/platforms/whatsappbot/commands/template.ts +69 -0
  906. package/src/platforms/whatsappbot/credential-manager.test.ts +303 -0
  907. package/src/platforms/whatsappbot/credential-manager.ts +148 -0
  908. package/src/platforms/whatsappbot/index.test.ts +34 -0
  909. package/src/platforms/whatsappbot/index.ts +18 -0
  910. package/src/platforms/whatsappbot/types.test.ts +141 -0
  911. package/src/platforms/whatsappbot/types.ts +71 -0
  912. package/src/tui/adapters/channeltalk-adapter.ts +102 -0
  913. package/src/tui/adapters/discord-adapter.ts +112 -0
  914. package/src/tui/adapters/instagram-adapter.ts +132 -0
  915. package/src/tui/adapters/kakaotalk-adapter.ts +163 -0
  916. package/src/tui/adapters/line-adapter.ts +109 -0
  917. package/src/tui/adapters/slack-adapter.ts +128 -0
  918. package/src/tui/adapters/teams-adapter.ts +95 -0
  919. package/src/tui/adapters/telegram-adapter.ts +203 -0
  920. package/src/tui/adapters/types.ts +43 -0
  921. package/src/tui/adapters/whatsapp-adapter.ts +138 -0
  922. package/src/tui/app.ts +689 -0
  923. package/src/tui/cli.ts +18 -0
  924. package/src/tui/utils.test.ts +149 -0
  925. package/src/tui/utils.ts +58 -0
  926. package/src/tui/views/channel-picker.ts +146 -0
  927. package/src/tui/views/workspace-picker.ts +146 -0
  928. package/docs/content/docs/integrations/meta.json +0 -5
  929. package/docs/content/docs/integrations/slack.mdx +0 -218
  930. package/docs/content/docs/{integrations → cli}/discord.mdx +19 -19
  931. package/docs/content/docs/{integrations → cli}/discordbot.mdx +8 -8
@@ -53,20 +53,20 @@ describe('TeamsClient', () => {
53
53
  )
54
54
  }
55
55
 
56
- describe('constructor', () => {
57
- test('requires token', () => {
58
- expect(() => new TeamsClient('')).toThrow(TeamsError)
59
- expect(() => new TeamsClient('')).toThrow('Token is required')
56
+ describe('login', () => {
57
+ test('requires token', async () => {
58
+ await expect(new TeamsClient().login({ token: '' })).rejects.toThrow(TeamsError)
59
+ await expect(new TeamsClient().login({ token: '' })).rejects.toThrow('Token is required')
60
60
  })
61
61
 
62
- test('accepts valid token', () => {
63
- const client = new TeamsClient('test-token')
62
+ test('accepts valid token', async () => {
63
+ const client = await new TeamsClient().login({ token: 'test-token' })
64
64
  expect(client).toBeInstanceOf(TeamsClient)
65
65
  })
66
66
 
67
- test('accepts token with expiry time', () => {
67
+ test('accepts token with expiry time', async () => {
68
68
  const expiresAt = new Date(Date.now() + 3600000).toISOString()
69
- const client = new TeamsClient('test-token', expiresAt)
69
+ const client = await new TeamsClient().login({ token: 'test-token', tokenExpiresAt: expiresAt })
70
70
  expect(client).toBeInstanceOf(TeamsClient)
71
71
  })
72
72
  })
@@ -74,7 +74,7 @@ describe('TeamsClient', () => {
74
74
  describe('token expiry', () => {
75
75
  test('throws when token is expired', async () => {
76
76
  const expiredAt = new Date(Date.now() - 1000).toISOString()
77
- const client = new TeamsClient('expired-token', expiredAt)
77
+ const client = await new TeamsClient().login({ token: 'expired-token', tokenExpiresAt: expiredAt })
78
78
 
79
79
  await expect(client.testAuth()).rejects.toThrow(TeamsError)
80
80
  await expect(client.testAuth()).rejects.toThrow('Token has expired')
@@ -87,7 +87,7 @@ describe('TeamsClient', () => {
87
87
  locale: 'en-us',
88
88
  })
89
89
 
90
- const client = new TeamsClient('valid-token', expiresAt)
90
+ const client = await new TeamsClient().login({ token: 'valid-token', tokenExpiresAt: expiresAt })
91
91
  const user = await client.testAuth()
92
92
 
93
93
  expect(user.id).toBe('ME')
@@ -102,7 +102,7 @@ describe('TeamsClient', () => {
102
102
  locale: 'en-us',
103
103
  })
104
104
 
105
- const client = new TeamsClient('test-token')
105
+ const client = await new TeamsClient().login({ token: 'test-token' })
106
106
  const user = await client.testAuth()
107
107
 
108
108
  expect(user.id).toBe('ME')
@@ -117,7 +117,7 @@ describe('TeamsClient', () => {
117
117
  test('throws TeamsError on API error', async () => {
118
118
  mockResponse({ message: 'Unauthorized', code: 'unauthorized' }, 401)
119
119
 
120
- const client = new TeamsClient('bad-token')
120
+ const client = await new TeamsClient().login({ token: 'bad-token' })
121
121
  await expect(client.testAuth()).rejects.toThrow(TeamsError)
122
122
  })
123
123
  })
@@ -153,7 +153,7 @@ describe('TeamsClient', () => {
153
153
  ],
154
154
  })
155
155
 
156
- const client = new TeamsClient('test-token')
156
+ const client = await new TeamsClient().login({ token: 'test-token' })
157
157
  const teams = await client.listTeams()
158
158
 
159
159
  expect(teams).toHaveLength(2)
@@ -169,7 +169,7 @@ describe('TeamsClient', () => {
169
169
  test('returns team info', async () => {
170
170
  mockResponse({ id: '111', name: 'Test Team', description: 'A test team' })
171
171
 
172
- const client = new TeamsClient('test-token')
172
+ const client = await new TeamsClient().login({ token: 'test-token' })
173
173
  const team = await client.getTeam('111')
174
174
 
175
175
  expect(team.id).toBe('111')
@@ -185,7 +185,7 @@ describe('TeamsClient', () => {
185
185
  { id: 'ch2', team_id: '111', name: 'Random', type: 'standard' },
186
186
  ])
187
187
 
188
- const client = new TeamsClient('test-token')
188
+ const client = await new TeamsClient().login({ token: 'test-token' })
189
189
  const channels = await client.listChannels('111')
190
190
 
191
191
  expect(channels).toHaveLength(2)
@@ -198,7 +198,7 @@ describe('TeamsClient', () => {
198
198
  test('returns channel info', async () => {
199
199
  mockResponse({ id: 'ch1', team_id: '111', name: 'General', type: 'standard' })
200
200
 
201
- const client = new TeamsClient('test-token')
201
+ const client = await new TeamsClient().login({ token: 'test-token' })
202
202
  const channel = await client.getChannel('111', 'ch1')
203
203
 
204
204
  expect(channel.id).toBe('ch1')
@@ -217,7 +217,7 @@ describe('TeamsClient', () => {
217
217
  timestamp: '2024-01-01T00:00:00.000Z',
218
218
  })
219
219
 
220
- const client = new TeamsClient('test-token')
220
+ const client = await new TeamsClient().login({ token: 'test-token' })
221
221
  const message = await client.sendMessage('111', 'ch1', 'Hello world')
222
222
 
223
223
  expect(message.content).toBe('Hello world')
@@ -239,7 +239,7 @@ describe('TeamsClient', () => {
239
239
  },
240
240
  ])
241
241
 
242
- const client = new TeamsClient('test-token')
242
+ const client = await new TeamsClient().login({ token: 'test-token' })
243
243
  const messages = await client.getMessages('111', 'ch1', 50)
244
244
 
245
245
  expect(messages).toHaveLength(1)
@@ -252,7 +252,7 @@ describe('TeamsClient', () => {
252
252
  test('uses default limit of 50', async () => {
253
253
  mockResponse([])
254
254
 
255
- const client = new TeamsClient('test-token')
255
+ const client = await new TeamsClient().login({ token: 'test-token' })
256
256
  await client.getMessages('111', 'ch1')
257
257
 
258
258
  expect(fetchCalls[0].url).toBe(
@@ -271,7 +271,7 @@ describe('TeamsClient', () => {
271
271
  timestamp: '2024-01-01T00:00:00.000Z',
272
272
  })
273
273
 
274
- const client = new TeamsClient('test-token')
274
+ const client = await new TeamsClient().login({ token: 'test-token' })
275
275
  const message = await client.getMessage('111', 'ch1', 'msg1')
276
276
 
277
277
  expect(message.id).toBe('msg1')
@@ -285,7 +285,7 @@ describe('TeamsClient', () => {
285
285
  test('deletes message', async () => {
286
286
  mockResponse(null, 204)
287
287
 
288
- const client = new TeamsClient('test-token')
288
+ const client = await new TeamsClient().login({ token: 'test-token' })
289
289
  await client.deleteMessage('111', 'ch1', 'msg1')
290
290
 
291
291
  expect(fetchCalls[0].url).toBe(
@@ -299,7 +299,7 @@ describe('TeamsClient', () => {
299
299
  test('adds reaction to message', async () => {
300
300
  mockResponse(null, 204)
301
301
 
302
- const client = new TeamsClient('test-token')
302
+ const client = await new TeamsClient().login({ token: 'test-token' })
303
303
  await client.addReaction('111', 'ch1', 'msg1', 'like')
304
304
 
305
305
  expect(fetchCalls[0].url).toBe(
@@ -314,7 +314,7 @@ describe('TeamsClient', () => {
314
314
  test('removes reaction from message', async () => {
315
315
  mockResponse(null, 204)
316
316
 
317
- const client = new TeamsClient('test-token')
317
+ const client = await new TeamsClient().login({ token: 'test-token' })
318
318
  await client.removeReaction('111', 'ch1', 'msg1', 'like')
319
319
 
320
320
  expect(fetchCalls[0].url).toBe(
@@ -331,7 +331,7 @@ describe('TeamsClient', () => {
331
331
  { id: 'u2', displayName: 'User 2', email: 'user2@example.com' },
332
332
  ])
333
333
 
334
- const client = new TeamsClient('test-token')
334
+ const client = await new TeamsClient().login({ token: 'test-token' })
335
335
  const users = await client.listUsers('111')
336
336
 
337
337
  expect(users).toHaveLength(2)
@@ -344,7 +344,7 @@ describe('TeamsClient', () => {
344
344
  test('returns user info', async () => {
345
345
  mockResponse({ id: 'u1', displayName: 'Test User', email: 'test@example.com' })
346
346
 
347
- const client = new TeamsClient('test-token')
347
+ const client = await new TeamsClient().login({ token: 'test-token' })
348
348
  const user = await client.getUser('u1')
349
349
 
350
350
  expect(user.id).toBe('u1')
@@ -365,7 +365,7 @@ describe('TeamsClient', () => {
365
365
  url: 'https://teams.microsoft.com/files/file1',
366
366
  })
367
367
 
368
- const client = new TeamsClient('test-token')
368
+ const client = await new TeamsClient().login({ token: 'test-token' })
369
369
  const file = await client.uploadFile('111', 'ch1', tempFile)
370
370
 
371
371
  expect(file.name).toBe('test-teams-upload.txt')
@@ -381,7 +381,7 @@ describe('TeamsClient', () => {
381
381
  { id: 'file2', name: 'image.png', size: 2048, url: 'https://example.com/image.png' },
382
382
  ])
383
383
 
384
- const client = new TeamsClient('test-token')
384
+ const client = await new TeamsClient().login({ token: 'test-token' })
385
385
  const files = await client.listFiles('111', 'ch1')
386
386
 
387
387
  expect(files).toHaveLength(2)
@@ -401,7 +401,7 @@ describe('TeamsClient', () => {
401
401
  'X-RateLimit-Reset': String(Date.now() / 1000 + 60),
402
402
  })
403
403
 
404
- const client = new TeamsClient('test-token')
404
+ const client = await new TeamsClient().login({ token: 'test-token' })
405
405
  await client.testAuth()
406
406
 
407
407
  const startTime = Date.now()
@@ -416,7 +416,7 @@ describe('TeamsClient', () => {
416
416
  mockResponse({ message: 'Rate limited' }, 429, { 'Retry-After': '0.1' })
417
417
  mockResponse({ userDetails: JSON.stringify({ name: 'User' }), locale: 'en-us' })
418
418
 
419
- const client = new TeamsClient('test-token')
419
+ const client = await new TeamsClient().login({ token: 'test-token' })
420
420
  const user = await client.testAuth()
421
421
 
422
422
  expect(user.id).toBe('ME')
@@ -428,7 +428,7 @@ describe('TeamsClient', () => {
428
428
  mockResponse({ message: 'Rate limited' }, 429, { 'Retry-After': '0.01' })
429
429
  }
430
430
 
431
- const client = new TeamsClient('test-token')
431
+ const client = await new TeamsClient().login({ token: 'test-token' })
432
432
  await expect(client.testAuth()).rejects.toThrow(TeamsError)
433
433
  expect(fetchCalls.length).toBeLessThanOrEqual(4)
434
434
  })
@@ -439,7 +439,7 @@ describe('TeamsClient', () => {
439
439
  mockResponse({ message: 'Internal Server Error' }, 500)
440
440
  mockResponse({ userDetails: JSON.stringify({ name: 'User' }), locale: 'en-us' })
441
441
 
442
- const client = new TeamsClient('test-token')
442
+ const client = await new TeamsClient().login({ token: 'test-token' })
443
443
  const user = await client.testAuth()
444
444
 
445
445
  expect(user.id).toBe('ME')
@@ -449,7 +449,7 @@ describe('TeamsClient', () => {
449
449
  test('does not retry on 4xx client errors (except 429)', async () => {
450
450
  mockResponse({ message: 'Not Found' }, 404)
451
451
 
452
- const client = new TeamsClient('test-token')
452
+ const client = await new TeamsClient().login({ token: 'test-token' })
453
453
  await expect(client.testAuth()).rejects.toThrow(TeamsError)
454
454
  expect(fetchCalls.length).toBe(1)
455
455
  })
@@ -459,7 +459,7 @@ describe('TeamsClient', () => {
459
459
  mockResponse({ message: 'Error' }, 500)
460
460
  mockResponse({ userDetails: JSON.stringify({ name: 'User' }), locale: 'en-us' })
461
461
 
462
- const client = new TeamsClient('test-token')
462
+ const client = await new TeamsClient().login({ token: 'test-token' })
463
463
  const startTime = Date.now()
464
464
  await client.testAuth()
465
465
  const elapsed = Date.now() - startTime
@@ -474,7 +474,7 @@ describe('TeamsClient', () => {
474
474
  mockResponse([])
475
475
  mockResponse([])
476
476
 
477
- const client = new TeamsClient('test-token')
477
+ const client = await new TeamsClient().login({ token: 'test-token' })
478
478
  await client.getMessages('team1', 'ch1')
479
479
  await client.getMessages('team2', 'ch2')
480
480
 
@@ -3,6 +3,7 @@ import { basename } from 'node:path'
3
3
 
4
4
  import type { TeamsChannel, TeamsFile, TeamsMessage, TeamsTeam, TeamsUser } from './types'
5
5
  import { TeamsError } from './types'
6
+ import { TeamsCredentialManager } from './credential-manager'
6
7
 
7
8
  interface RateLimitBucket {
8
9
  remaining: number
@@ -15,19 +16,41 @@ const MAX_RETRIES = 3
15
16
  const BASE_BACKOFF_MS = 100
16
17
 
17
18
  export class TeamsClient {
18
- private token: string
19
+ private token: string | null = null
19
20
  private tokenExpiresAt?: Date
20
21
  private buckets: Map<string, RateLimitBucket> = new Map()
21
22
  private globalRateLimitUntil: number = 0
22
23
 
23
- constructor(token: string, tokenExpiresAt?: string) {
24
- if (!token) {
25
- throw new TeamsError('Token is required', 'missing_token')
24
+ async login(credentials?: { token: string; tokenExpiresAt?: string }): Promise<this> {
25
+ if (credentials) {
26
+ if (!credentials.token) {
27
+ throw new TeamsError('Token is required', 'missing_token')
28
+ }
29
+ this.token = credentials.token
30
+ if (credentials.tokenExpiresAt) {
31
+ this.tokenExpiresAt = new Date(credentials.tokenExpiresAt)
32
+ }
33
+ return this
34
+ }
35
+
36
+ const { ensureTeamsAuth } = await import('./ensure-auth')
37
+ await ensureTeamsAuth()
38
+ const credManager = new TeamsCredentialManager()
39
+ const creds = await credManager.getTokenWithExpiry()
40
+ if (!creds) {
41
+ throw new TeamsError(
42
+ 'No Teams credentials found. Make sure Microsoft Teams desktop app is installed and logged in.',
43
+ 'no_credentials',
44
+ )
26
45
  }
27
- this.token = token
28
- if (tokenExpiresAt) {
29
- this.tokenExpiresAt = new Date(tokenExpiresAt)
46
+ return this.login({ token: creds.token, tokenExpiresAt: creds.tokenExpiresAt })
47
+ }
48
+
49
+ private ensureAuth(): string {
50
+ if (this.token === null) {
51
+ throw new TeamsError('Not authenticated. Call .login() first.', 'not_authenticated')
30
52
  }
53
+ return this.token
31
54
  }
32
55
 
33
56
  private isTokenExpired(): boolean {
@@ -97,7 +120,7 @@ export class TeamsClient {
97
120
  await this.waitForRateLimit(bucketKey)
98
121
 
99
122
  const headers: Record<string, string> = {
100
- 'X-Skypetoken': this.token,
123
+ 'X-Skypetoken': this.ensureAuth(),
101
124
  'Content-Type': 'application/json',
102
125
  }
103
126
 
@@ -163,7 +186,7 @@ export class TeamsClient {
163
186
  const response = await fetch(url, {
164
187
  method: 'POST',
165
188
  headers: {
166
- 'X-Skypetoken': this.token,
189
+ 'X-Skypetoken': this.ensureAuth(),
167
190
  },
168
191
  body: formData,
169
192
  })
@@ -58,7 +58,7 @@ test('extract: calls TeamsTokenExtractor', async () => {
58
58
  })
59
59
 
60
60
  test('extract: validates token with TeamsClient', async () => {
61
- const client = new TeamsClient('test-skype-token-123')
61
+ const client = await new TeamsClient().login({ token: 'test-skype-token-123' })
62
62
  const authInfo = await client.testAuth()
63
63
  expect(authInfo).toBeDefined()
64
64
  expect(authInfo.id).toBe('user-123')
@@ -66,7 +66,7 @@ test('extract: validates token with TeamsClient', async () => {
66
66
  })
67
67
 
68
68
  test('extract: discovers teams', async () => {
69
- const client = new TeamsClient('test-skype-token-123')
69
+ const client = await new TeamsClient().login({ token: 'test-skype-token-123' })
70
70
  const teams = await client.listTeams()
71
71
  expect(teams).toHaveLength(2)
72
72
  expect(teams[0].id).toBe('team-1')
@@ -71,7 +71,7 @@ export async function extractAction(options: { pretty?: boolean; debug?: boolean
71
71
  }
72
72
 
73
73
  try {
74
- const client = new TeamsClient(token)
74
+ const client = await new TeamsClient().login({ token })
75
75
  const authInfo = await client.testAuth()
76
76
  const teams = await client.listTeams()
77
77
 
@@ -162,7 +162,7 @@ async function extractManualToken(token: string, options: { pretty?: boolean; de
162
162
  }
163
163
 
164
164
  try {
165
- const client = new TeamsClient(token)
165
+ const client = await new TeamsClient().login({ token })
166
166
  const authInfo = await client.testAuth()
167
167
  const teams = await client.listTeams()
168
168
 
@@ -284,7 +284,7 @@ export async function statusAction(options: { pretty?: boolean }): Promise<void>
284
284
 
285
285
  if (!isExpired) {
286
286
  try {
287
- const client = new TeamsClient(account.token, account.token_expires_at)
287
+ const client = await new TeamsClient().login({ token: account.token, tokenExpiresAt: account.token_expires_at ?? undefined })
288
288
  const authInfo = await client.testAuth()
289
289
  displayName = authInfo.displayName
290
290
  valid = true
@@ -67,7 +67,7 @@ afterEach(() => {
67
67
 
68
68
  test('list: returns channels from team', async () => {
69
69
  // given
70
- const client = new TeamsClient('test-token')
70
+ const client = await new TeamsClient().login({ token: 'test-token' })
71
71
 
72
72
  // when
73
73
  const channels = await client.listChannels('team-1')
@@ -80,7 +80,7 @@ test('list: returns channels from team', async () => {
80
80
 
81
81
  test('list: includes channel metadata', async () => {
82
82
  // given
83
- const client = new TeamsClient('test-token')
83
+ const client = await new TeamsClient().login({ token: 'test-token' })
84
84
  const channels = await client.listChannels('team-1')
85
85
 
86
86
  // when
@@ -95,7 +95,7 @@ test('list: includes channel metadata', async () => {
95
95
 
96
96
  test('info: returns channel details', async () => {
97
97
  // given
98
- const client = new TeamsClient('test-token')
98
+ const client = await new TeamsClient().login({ token: 'test-token' })
99
99
 
100
100
  // when
101
101
  const channel = await client.getChannel('team-1', 'ch-1')
@@ -108,7 +108,7 @@ test('info: returns channel details', async () => {
108
108
 
109
109
  test('info: throws error for non-existent channel', async () => {
110
110
  // given
111
- const client = new TeamsClient('test-token')
111
+ const client = await new TeamsClient().login({ token: 'test-token' })
112
112
 
113
113
  // when/then
114
114
  try {
@@ -121,7 +121,7 @@ test('info: throws error for non-existent channel', async () => {
121
121
 
122
122
  test('history: returns messages', async () => {
123
123
  // given
124
- const client = new TeamsClient('test-token')
124
+ const client = await new TeamsClient().login({ token: 'test-token' })
125
125
 
126
126
  // when
127
127
  const messages = await client.getMessages('team-1', 'ch-1', 50)
@@ -136,7 +136,7 @@ test('history: returns messages', async () => {
136
136
 
137
137
  test('history: includes message metadata', async () => {
138
138
  // given
139
- const client = new TeamsClient('test-token')
139
+ const client = await new TeamsClient().login({ token: 'test-token' })
140
140
  const messages = await client.getMessages('team-1', 'ch-1', 50)
141
141
 
142
142
  // when
@@ -16,7 +16,7 @@ export async function listAction(teamId: string, options: { pretty?: boolean }):
16
16
  process.exit(1)
17
17
  }
18
18
 
19
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
19
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
20
20
  const channels = await client.listChannels(teamId)
21
21
 
22
22
  const output = channels.map((ch) => ({
@@ -42,7 +42,7 @@ export async function infoAction(teamId: string, channelId: string, options: { p
42
42
  process.exit(1)
43
43
  }
44
44
 
45
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
45
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
46
46
  const channel = await client.getChannel(teamId, channelId)
47
47
 
48
48
  const output = {
@@ -72,7 +72,7 @@ export async function historyAction(
72
72
  process.exit(1)
73
73
  }
74
74
 
75
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
75
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
76
76
  const messages = await client.getMessages(teamId, channelId, options.limit || 50)
77
77
 
78
78
  const output = messages.map((msg) => ({
@@ -24,7 +24,7 @@ export async function uploadAction(
24
24
  process.exit(1)
25
25
  }
26
26
 
27
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
27
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
28
28
  const filePath = resolve(path)
29
29
  const file = await client.uploadFile(teamId, channelId, filePath)
30
30
 
@@ -52,7 +52,7 @@ export async function listAction(teamId: string, channelId: string, options: { p
52
52
  process.exit(1)
53
53
  }
54
54
 
55
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
55
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
56
56
  const files = await client.listFiles(teamId, channelId)
57
57
 
58
58
  const output = files.map((file: TeamsFile) => ({
@@ -84,7 +84,7 @@ export async function infoAction(
84
84
  process.exit(1)
85
85
  }
86
86
 
87
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
87
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
88
88
  const files = await client.listFiles(teamId, channelId)
89
89
  const fileData = files.find((f) => f.id === fileId)
90
90
 
@@ -22,7 +22,7 @@ export async function sendAction(
22
22
  process.exit(1)
23
23
  }
24
24
 
25
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
25
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
26
26
  const message = await client.sendMessage(teamId, channelId, content)
27
27
 
28
28
  const output = {
@@ -52,7 +52,7 @@ export async function listAction(
52
52
  process.exit(1)
53
53
  }
54
54
 
55
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
55
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
56
56
  const limit = options.limit || 50
57
57
  const messages = await client.getMessages(teamId, channelId, limit)
58
58
 
@@ -84,7 +84,7 @@ export async function getAction(
84
84
  process.exit(1)
85
85
  }
86
86
 
87
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
87
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
88
88
  const message = await client.getMessage(teamId, channelId, messageId)
89
89
 
90
90
  if (!message) {
@@ -125,7 +125,7 @@ export async function deleteAction(
125
125
  process.exit(0)
126
126
  }
127
127
 
128
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
128
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
129
129
  await client.deleteMessage(teamId, channelId, messageId)
130
130
 
131
131
  console.log(formatOutput({ deleted: messageId }, options.pretty))
@@ -22,7 +22,7 @@ export async function addAction(
22
22
  process.exit(1)
23
23
  }
24
24
 
25
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
25
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
26
26
  await client.addReaction(teamId, channelId, messageId, emoji)
27
27
 
28
28
  console.log(
@@ -58,7 +58,7 @@ export async function removeAction(
58
58
  process.exit(1)
59
59
  }
60
60
 
61
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
61
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
62
62
  await client.removeReaction(teamId, channelId, messageId, emoji)
63
63
 
64
64
  console.log(
@@ -33,7 +33,7 @@ export async function snapshotAction(options: {
33
33
  process.exit(1)
34
34
  }
35
35
 
36
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
36
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
37
37
  const messageLimit = options.limit || 20
38
38
 
39
39
  const snapshot: Record<string, unknown> = {}
@@ -90,7 +90,7 @@ test('list: marks current team', async () => {
90
90
 
91
91
  test('info: returns team details', async () => {
92
92
  // given: teams client with team data
93
- const client = new TeamsClient('test-token')
93
+ const client = await new TeamsClient().login({ token: 'test-token' })
94
94
  const team = await client.getTeam('team-1')
95
95
 
96
96
  // when: getting team info
@@ -104,7 +104,7 @@ test('info: returns team details', async () => {
104
104
 
105
105
  test('info: throws error for non-existent team', async () => {
106
106
  // given: teams client
107
- const client = new TeamsClient('test-token')
107
+ const client = await new TeamsClient().login({ token: 'test-token' })
108
108
 
109
109
  // when: getting non-existent team
110
110
  // then: error is thrown
@@ -34,7 +34,7 @@ export async function infoAction(teamId: string, options: { pretty?: boolean }):
34
34
  process.exit(1)
35
35
  }
36
36
 
37
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
37
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
38
38
  const team = await client.getTeam(teamId)
39
39
 
40
40
  const output = {
@@ -16,7 +16,7 @@ async function listAction(teamId: string, options: { pretty?: boolean }): Promis
16
16
  process.exit(1)
17
17
  }
18
18
 
19
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
19
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
20
20
  const users = await client.listUsers(teamId)
21
21
 
22
22
  const output = users.map((user) => ({
@@ -42,7 +42,7 @@ async function infoAction(userId: string, options: { pretty?: boolean }): Promis
42
42
  process.exit(1)
43
43
  }
44
44
 
45
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
45
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
46
46
  const user = await client.getUser(userId)
47
47
 
48
48
  const output = {
@@ -68,7 +68,7 @@ async function meAction(options: { pretty?: boolean }): Promise<void> {
68
68
  process.exit(1)
69
69
  }
70
70
 
71
- const client = new TeamsClient(cred.token, cred.tokenExpiresAt)
71
+ const client = await new TeamsClient().login({ token: cred.token, tokenExpiresAt: cred.tokenExpiresAt })
72
72
  const user = await client.testAuth()
73
73
 
74
74
  const output = {
@@ -21,7 +21,7 @@ export async function ensureTeamsAuth(): Promise<void> {
21
21
 
22
22
  for (const { token, accountType } of extracted) {
23
23
  try {
24
- const client = new TeamsClient(token)
24
+ const client = await new TeamsClient().login({ token })
25
25
  await client.testAuth()
26
26
 
27
27
  const teams = await client.listTeams()