agent-messenger 2.10.0 → 2.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/package.json +1 -1
  3. package/dist/src/platforms/teams/token-extractor.d.ts.map +1 -1
  4. package/dist/src/platforms/teams/token-extractor.js +15 -2
  5. package/dist/src/platforms/teams/token-extractor.js.map +1 -1
  6. package/dist/src/shared/chromium/decryptor.d.ts +6 -0
  7. package/dist/src/shared/chromium/decryptor.d.ts.map +1 -1
  8. package/dist/src/shared/chromium/decryptor.js +26 -6
  9. package/dist/src/shared/chromium/decryptor.js.map +1 -1
  10. package/e2e/channeltalk.e2e.test.ts +13 -13
  11. package/e2e/channeltalkbot.e2e.test.ts +13 -13
  12. package/e2e/discord.e2e.test.ts +24 -24
  13. package/e2e/discordbot.e2e.test.ts +16 -16
  14. package/e2e/instagram.e2e.test.ts +10 -10
  15. package/e2e/kakaotalk.e2e.test.ts +7 -7
  16. package/e2e/line.e2e.test.ts +8 -8
  17. package/e2e/slack.e2e.test.ts +34 -34
  18. package/e2e/slackbot.e2e.test.ts +14 -14
  19. package/e2e/teams.e2e.test.ts +23 -23
  20. package/e2e/telegram.e2e.test.ts +8 -8
  21. package/e2e/webex.e2e.test.ts +14 -14
  22. package/e2e/whatsapp.e2e.test.ts +8 -8
  23. package/e2e/whatsappbot.e2e.test.ts +6 -6
  24. package/package.json +1 -1
  25. package/skills/agent-channeltalk/SKILL.md +1 -1
  26. package/skills/agent-channeltalkbot/SKILL.md +1 -1
  27. package/skills/agent-discord/SKILL.md +1 -1
  28. package/skills/agent-discordbot/SKILL.md +1 -1
  29. package/skills/agent-instagram/SKILL.md +1 -1
  30. package/skills/agent-kakaotalk/SKILL.md +1 -1
  31. package/skills/agent-line/SKILL.md +1 -1
  32. package/skills/agent-slack/SKILL.md +1 -1
  33. package/skills/agent-slackbot/SKILL.md +1 -1
  34. package/skills/agent-teams/SKILL.md +1 -1
  35. package/skills/agent-telegram/SKILL.md +1 -1
  36. package/skills/agent-webex/SKILL.md +1 -1
  37. package/skills/agent-wechatbot/SKILL.md +1 -1
  38. package/skills/agent-whatsapp/SKILL.md +1 -1
  39. package/skills/agent-whatsappbot/SKILL.md +1 -1
  40. package/src/platforms/channeltalk/client.test.ts +26 -26
  41. package/src/platforms/channeltalk/commands/auth.test.ts +16 -16
  42. package/src/platforms/channeltalk/commands/bot.test.ts +2 -2
  43. package/src/platforms/channeltalk/commands/chat.test.ts +3 -3
  44. package/src/platforms/channeltalk/commands/group.test.ts +4 -4
  45. package/src/platforms/channeltalk/commands/manager.test.ts +2 -2
  46. package/src/platforms/channeltalk/commands/message.test.ts +17 -17
  47. package/src/platforms/channeltalk/commands/snapshot.test.ts +7 -7
  48. package/src/platforms/channeltalk/commands/whoami.test.ts +3 -3
  49. package/src/platforms/channeltalk/credential-manager.test.ts +18 -18
  50. package/src/platforms/channeltalk/ensure-auth.test.ts +5 -5
  51. package/src/platforms/channeltalk/index.test.ts +23 -23
  52. package/src/platforms/channeltalk/token-extractor.test.ts +21 -21
  53. package/src/platforms/channeltalk/types.test.ts +12 -12
  54. package/src/platforms/channeltalkbot/client.test.ts +14 -14
  55. package/src/platforms/channeltalkbot/commands/auth.test.ts +16 -16
  56. package/src/platforms/channeltalkbot/commands/bot.test.ts +6 -6
  57. package/src/platforms/channeltalkbot/commands/chat.test.ts +9 -9
  58. package/src/platforms/channeltalkbot/commands/group.test.ts +6 -6
  59. package/src/platforms/channeltalkbot/commands/manager.test.ts +3 -3
  60. package/src/platforms/channeltalkbot/commands/message.test.ts +10 -10
  61. package/src/platforms/channeltalkbot/commands/snapshot.test.ts +7 -7
  62. package/src/platforms/channeltalkbot/commands/whoami.test.ts +4 -4
  63. package/src/platforms/channeltalkbot/credential-manager.test.ts +27 -27
  64. package/src/platforms/channeltalkbot/index.test.ts +15 -15
  65. package/src/platforms/discord/client.test.ts +28 -28
  66. package/src/platforms/discord/commands/auth.test.ts +7 -7
  67. package/src/platforms/discord/commands/channel.test.ts +7 -7
  68. package/src/platforms/discord/commands/dm.test.ts +4 -4
  69. package/src/platforms/discord/commands/file.test.ts +4 -4
  70. package/src/platforms/discord/commands/friend.test.ts +6 -6
  71. package/src/platforms/discord/commands/member.test.ts +5 -5
  72. package/src/platforms/discord/commands/mention.test.ts +5 -5
  73. package/src/platforms/discord/commands/message.test.ts +9 -9
  74. package/src/platforms/discord/commands/note.test.ts +6 -6
  75. package/src/platforms/discord/commands/profile.test.ts +4 -4
  76. package/src/platforms/discord/commands/reaction.test.ts +5 -5
  77. package/src/platforms/discord/commands/server.test.ts +7 -7
  78. package/src/platforms/discord/commands/snapshot.test.ts +6 -6
  79. package/src/platforms/discord/commands/thread.test.ts +6 -6
  80. package/src/platforms/discord/commands/user.test.ts +5 -5
  81. package/src/platforms/discord/commands/whoami.test.ts +6 -6
  82. package/src/platforms/discord/credential-manager.test.ts +16 -16
  83. package/src/platforms/discord/ensure-auth.test.ts +8 -8
  84. package/src/platforms/discord/index.test.ts +17 -17
  85. package/src/platforms/discord/listener.test.ts +33 -33
  86. package/src/platforms/discord/token-extractor.test.ts +53 -53
  87. package/src/platforms/discord/types.test.ts +26 -26
  88. package/src/platforms/discordbot/client.test.ts +31 -31
  89. package/src/platforms/discordbot/commands/auth.test.ts +18 -18
  90. package/src/platforms/discordbot/commands/channel.test.ts +11 -11
  91. package/src/platforms/discordbot/commands/file.test.ts +7 -7
  92. package/src/platforms/discordbot/commands/message.test.ts +25 -25
  93. package/src/platforms/discordbot/commands/reaction.test.ts +6 -6
  94. package/src/platforms/discordbot/commands/server.test.ts +12 -12
  95. package/src/platforms/discordbot/commands/snapshot.test.ts +13 -13
  96. package/src/platforms/discordbot/commands/thread.test.ts +10 -10
  97. package/src/platforms/discordbot/commands/user.test.ts +9 -9
  98. package/src/platforms/discordbot/commands/whoami.test.ts +4 -4
  99. package/src/platforms/discordbot/credential-manager.test.ts +28 -28
  100. package/src/platforms/instagram/client.test.ts +18 -18
  101. package/src/platforms/instagram/commands/auth.test.ts +11 -11
  102. package/src/platforms/instagram/commands/chat.test.ts +6 -6
  103. package/src/platforms/instagram/commands/message.test.ts +11 -11
  104. package/src/platforms/instagram/commands/shared.test.ts +12 -12
  105. package/src/platforms/instagram/commands/whoami.test.ts +3 -3
  106. package/src/platforms/instagram/credential-manager.test.ts +21 -21
  107. package/src/platforms/instagram/ensure-auth.test.ts +4 -4
  108. package/src/platforms/instagram/index.test.ts +9 -9
  109. package/src/platforms/instagram/listener.test.ts +8 -8
  110. package/src/platforms/instagram/token-extractor.test.ts +35 -35
  111. package/src/platforms/kakaotalk/client.test.ts +33 -33
  112. package/src/platforms/kakaotalk/commands/auth.test.ts +11 -11
  113. package/src/platforms/kakaotalk/commands/chat.test.ts +6 -6
  114. package/src/platforms/kakaotalk/commands/message.test.ts +7 -7
  115. package/src/platforms/kakaotalk/commands/whoami.test.ts +5 -5
  116. package/src/platforms/kakaotalk/credential-manager.test.ts +15 -15
  117. package/src/platforms/kakaotalk/index.test.ts +15 -15
  118. package/src/platforms/kakaotalk/listener.test.ts +17 -17
  119. package/src/platforms/line/client.test.ts +17 -17
  120. package/src/platforms/line/commands/auth.test.ts +8 -8
  121. package/src/platforms/line/commands/chat.test.ts +7 -7
  122. package/src/platforms/line/commands/friend.test.ts +6 -6
  123. package/src/platforms/line/commands/message.test.ts +7 -7
  124. package/src/platforms/line/commands/whoami.test.ts +6 -6
  125. package/src/platforms/line/credential-manager.test.ts +17 -17
  126. package/src/platforms/line/index.test.ts +10 -10
  127. package/src/platforms/line/listener.test.ts +15 -15
  128. package/src/platforms/line/types.test.ts +14 -14
  129. package/src/platforms/slack/cli.test.ts +8 -8
  130. package/src/platforms/slack/client.test.ts +151 -151
  131. package/src/platforms/slack/commands/activity.test.ts +13 -13
  132. package/src/platforms/slack/commands/auth.test.ts +34 -34
  133. package/src/platforms/slack/commands/bookmark.test.ts +9 -9
  134. package/src/platforms/slack/commands/channel.test.ts +17 -17
  135. package/src/platforms/slack/commands/drafts.test.ts +7 -7
  136. package/src/platforms/slack/commands/emoji.test.ts +3 -3
  137. package/src/platforms/slack/commands/file.test.ts +12 -12
  138. package/src/platforms/slack/commands/message.test.ts +19 -19
  139. package/src/platforms/slack/commands/pin.test.ts +7 -7
  140. package/src/platforms/slack/commands/reaction.test.ts +10 -10
  141. package/src/platforms/slack/commands/reminder.test.ts +9 -9
  142. package/src/platforms/slack/commands/saved.test.ts +7 -7
  143. package/src/platforms/slack/commands/sections.test.ts +5 -5
  144. package/src/platforms/slack/commands/snapshot.test.ts +13 -13
  145. package/src/platforms/slack/commands/unread.test.ts +6 -6
  146. package/src/platforms/slack/commands/user.test.ts +10 -10
  147. package/src/platforms/slack/commands/usergroup.test.ts +15 -15
  148. package/src/platforms/slack/commands/whoami.test.ts +6 -6
  149. package/src/platforms/slack/commands/workspace.test.ts +26 -26
  150. package/src/platforms/slack/credential-manager.test.ts +14 -14
  151. package/src/platforms/slack/ensure-auth.test.ts +21 -21
  152. package/src/platforms/slack/index.test.ts +12 -12
  153. package/src/platforms/slack/listener.test.ts +17 -17
  154. package/src/platforms/slack/token-extractor-node.test.ts +2 -2
  155. package/src/platforms/slack/token-extractor.test.ts +37 -37
  156. package/src/platforms/slack/types.test.ts +21 -21
  157. package/src/platforms/slackbot/client.test.ts +22 -22
  158. package/src/platforms/slackbot/commands/auth.test.ts +14 -14
  159. package/src/platforms/slackbot/commands/channel.test.ts +7 -7
  160. package/src/platforms/slackbot/commands/message.test.ts +13 -13
  161. package/src/platforms/slackbot/commands/reaction.test.ts +6 -6
  162. package/src/platforms/slackbot/commands/user.test.ts +7 -7
  163. package/src/platforms/slackbot/commands/whoami.test.ts +4 -4
  164. package/src/platforms/slackbot/credential-manager.test.ts +22 -22
  165. package/src/platforms/slackbot/types.test.ts +7 -7
  166. package/src/platforms/teams/client.test.ts +30 -30
  167. package/src/platforms/teams/commands/auth.test.ts +8 -8
  168. package/src/platforms/teams/commands/channel.test.ts +7 -7
  169. package/src/platforms/teams/commands/file.test.ts +4 -4
  170. package/src/platforms/teams/commands/message.test.ts +5 -5
  171. package/src/platforms/teams/commands/reaction.test.ts +4 -4
  172. package/src/platforms/teams/commands/snapshot.test.ts +7 -7
  173. package/src/platforms/teams/commands/team.test.ts +8 -8
  174. package/src/platforms/teams/commands/user.test.ts +4 -4
  175. package/src/platforms/teams/commands/whoami.test.ts +6 -6
  176. package/src/platforms/teams/credential-manager.test.ts +17 -17
  177. package/src/platforms/teams/ensure-auth.test.ts +13 -13
  178. package/src/platforms/teams/index.test.ts +15 -15
  179. package/src/platforms/teams/token-extractor.test.ts +219 -145
  180. package/src/platforms/teams/token-extractor.ts +13 -2
  181. package/src/platforms/teams/types.test.ts +26 -26
  182. package/src/platforms/telegram/app-config.test.ts +4 -4
  183. package/src/platforms/telegram/chat-utils.test.ts +12 -12
  184. package/src/platforms/telegram/client.test.ts +4 -4
  185. package/src/platforms/telegram/commands/auth.test.ts +16 -16
  186. package/src/platforms/telegram/commands/chat.test.ts +9 -9
  187. package/src/platforms/telegram/commands/message.test.ts +6 -6
  188. package/src/platforms/telegram/commands/shared.test.ts +3 -3
  189. package/src/platforms/telegram/commands/whoami.test.ts +3 -3
  190. package/src/platforms/telegram/credential-manager.test.ts +10 -10
  191. package/src/platforms/telegram/types.test.ts +6 -6
  192. package/src/platforms/webex/app-config.test.ts +8 -8
  193. package/src/platforms/webex/cli.test.ts +5 -5
  194. package/src/platforms/webex/client.test.ts +65 -65
  195. package/src/platforms/webex/commands/auth.test.ts +18 -18
  196. package/src/platforms/webex/commands/member.test.ts +5 -5
  197. package/src/platforms/webex/commands/message.test.ts +12 -12
  198. package/src/platforms/webex/commands/snapshot.test.ts +5 -5
  199. package/src/platforms/webex/commands/space.test.ts +10 -10
  200. package/src/platforms/webex/commands/whoami.test.ts +6 -6
  201. package/src/platforms/webex/credential-manager.test.ts +22 -22
  202. package/src/platforms/webex/encryption.test.ts +4 -4
  203. package/src/platforms/webex/ensure-auth.test.ts +5 -5
  204. package/src/platforms/webex/index.test.ts +5 -5
  205. package/src/platforms/webex/markdown-to-html.test.ts +33 -33
  206. package/src/platforms/webex/token-extractor.test.ts +23 -23
  207. package/src/platforms/webex/types.test.ts +27 -27
  208. package/src/platforms/wechatbot/client.test.ts +27 -27
  209. package/src/platforms/wechatbot/commands/auth.test.ts +15 -15
  210. package/src/platforms/wechatbot/commands/message.test.ts +8 -8
  211. package/src/platforms/wechatbot/commands/template.test.ts +9 -9
  212. package/src/platforms/wechatbot/commands/user.test.ts +7 -7
  213. package/src/platforms/wechatbot/commands/whoami.test.ts +5 -5
  214. package/src/platforms/wechatbot/credential-manager.test.ts +18 -18
  215. package/src/platforms/wechatbot/index.test.ts +10 -10
  216. package/src/platforms/wechatbot/types.test.ts +25 -25
  217. package/src/platforms/whatsapp/commands/auth.test.ts +13 -13
  218. package/src/platforms/whatsapp/commands/chat.test.ts +8 -8
  219. package/src/platforms/whatsapp/commands/message.test.ts +10 -10
  220. package/src/platforms/whatsapp/commands/whoami.test.ts +3 -3
  221. package/src/platforms/whatsapp/credential-manager.test.ts +23 -23
  222. package/src/platforms/whatsapp/ensure-auth.test.ts +4 -4
  223. package/src/platforms/whatsapp/index.test.ts +8 -8
  224. package/src/platforms/whatsapp/types.test.ts +42 -42
  225. package/src/platforms/whatsappbot/client.test.ts +27 -27
  226. package/src/platforms/whatsappbot/commands/auth.test.ts +14 -14
  227. package/src/platforms/whatsappbot/commands/message.test.ts +16 -16
  228. package/src/platforms/whatsappbot/commands/template.test.ts +9 -9
  229. package/src/platforms/whatsappbot/commands/whoami.test.ts +5 -5
  230. package/src/platforms/whatsappbot/credential-manager.test.ts +18 -18
  231. package/src/platforms/whatsappbot/index.test.ts +7 -7
  232. package/src/platforms/whatsappbot/types.test.ts +18 -18
  233. package/src/shared/chromium/browsers.test.ts +22 -22
  234. package/src/shared/chromium/cookie-reader.test.ts +13 -13
  235. package/src/shared/chromium/decryptor.test.ts +97 -32
  236. package/src/shared/chromium/decryptor.ts +27 -6
  237. package/src/shared/utils/concurrency.test.ts +6 -6
  238. package/src/shared/utils/derived-key-cache.test.ts +11 -11
  239. package/src/tui/utils.test.ts +31 -31
@@ -1,4 +1,4 @@
1
- import { describe, test, expect, beforeAll, afterEach } from 'bun:test'
1
+ import { describe, it, expect, beforeAll, afterEach } from 'bun:test'
2
2
 
3
3
  import { DISCORD_TEST_CHANNEL_ID, DISCORD_TEST_SERVER_ID, validateDiscordEnvironment } from './config'
4
4
  import {
@@ -28,7 +28,7 @@ describe('Discord E2E Tests', () => {
28
28
  })
29
29
 
30
30
  describe('auth', () => {
31
- test('auth status returns authenticated status', async () => {
31
+ it('auth status returns authenticated status', async () => {
32
32
  const result = await runCLI('discord', ['auth', 'status'])
33
33
  expect(result.exitCode).toBe(0)
34
34
 
@@ -38,7 +38,7 @@ describe('Discord E2E Tests', () => {
38
38
  })
39
39
 
40
40
  describe('server', () => {
41
- test('server list returns array', async () => {
41
+ it('server list returns array', async () => {
42
42
  const result = await runCLI('discord', ['server', 'list'])
43
43
  expect(result.exitCode).toBe(0)
44
44
 
@@ -46,7 +46,7 @@ describe('Discord E2E Tests', () => {
46
46
  expect(Array.isArray(data)).toBe(true)
47
47
  })
48
48
 
49
- test('server current returns current server', async () => {
49
+ it('server current returns current server', async () => {
50
50
  const result = await runCLI('discord', ['server', 'current'])
51
51
  expect(result.exitCode).toBe(0)
52
52
 
@@ -54,7 +54,7 @@ describe('Discord E2E Tests', () => {
54
54
  expect(data?.server_id).toBe(DISCORD_TEST_SERVER_ID)
55
55
  })
56
56
 
57
- test('server info returns server details', async () => {
57
+ it('server info returns server details', async () => {
58
58
  const result = await runCLI('discord', ['server', 'info', DISCORD_TEST_SERVER_ID])
59
59
  expect(result.exitCode).toBe(0)
60
60
 
@@ -64,7 +64,7 @@ describe('Discord E2E Tests', () => {
64
64
  })
65
65
 
66
66
  describe('message', () => {
67
- test('message send creates message', async () => {
67
+ it('message send creates message', async () => {
68
68
  const testId = generateTestId()
69
69
  const result = await runCLI('discord', ['message', 'send', DISCORD_TEST_CHANNEL_ID, `Test message ${testId}`])
70
70
  expect(result.exitCode).toBe(0)
@@ -75,7 +75,7 @@ describe('Discord E2E Tests', () => {
75
75
  if (data?.id) testMessages.push(data.id)
76
76
  })
77
77
 
78
- test('message list returns messages array', async () => {
78
+ it('message list returns messages array', async () => {
79
79
  const result = await runCLI('discord', ['message', 'list', DISCORD_TEST_CHANNEL_ID, '--limit', '5'])
80
80
  expect(result.exitCode).toBe(0)
81
81
 
@@ -83,7 +83,7 @@ describe('Discord E2E Tests', () => {
83
83
  expect(Array.isArray(data)).toBe(true)
84
84
  })
85
85
 
86
- test.skip('message get retrieves specific message (requires bot token)', async () => {
86
+ it.skip('message get retrieves specific message (requires bot token)', async () => {
87
87
  const testId = generateTestId()
88
88
  const { id } = await createTestMessage('discord', DISCORD_TEST_CHANNEL_ID, `Get test ${testId}`)
89
89
  testMessages.push(id)
@@ -97,7 +97,7 @@ describe('Discord E2E Tests', () => {
97
97
  expect(data?.content).toContain(testId)
98
98
  })
99
99
 
100
- test('message delete removes message', async () => {
100
+ it('message delete removes message', async () => {
101
101
  const testId = generateTestId()
102
102
  const { id } = await createTestMessage('discord', DISCORD_TEST_CHANNEL_ID, `Delete me ${testId}`)
103
103
 
@@ -107,7 +107,7 @@ describe('Discord E2E Tests', () => {
107
107
  expect(result.exitCode).toBe(0)
108
108
  })
109
109
 
110
- test('message ack acknowledges message', async () => {
110
+ it('message ack acknowledges message', async () => {
111
111
  const testId = generateTestId()
112
112
  const { id } = await createTestMessage('discord', DISCORD_TEST_CHANNEL_ID, `Ack test ${testId}`)
113
113
  testMessages.push(id)
@@ -121,7 +121,7 @@ describe('Discord E2E Tests', () => {
121
121
  expect(data?.acknowledged).toBe(id)
122
122
  })
123
123
 
124
- test('message search finds messages', async () => {
124
+ it('message search finds messages', async () => {
125
125
  const result = await runCLI('discord', ['message', 'search', 'test', '--limit', '5'])
126
126
  expect(result.exitCode).toBe(0)
127
127
 
@@ -132,7 +132,7 @@ describe('Discord E2E Tests', () => {
132
132
  })
133
133
 
134
134
  describe('channel', () => {
135
- test('channel list returns channels array', async () => {
135
+ it('channel list returns channels array', async () => {
136
136
  const result = await runCLI('discord', ['channel', 'list'])
137
137
  expect(result.exitCode).toBe(0)
138
138
 
@@ -140,7 +140,7 @@ describe('Discord E2E Tests', () => {
140
140
  expect(Array.isArray(data)).toBe(true)
141
141
  })
142
142
 
143
- test('channel info returns channel details', async () => {
143
+ it('channel info returns channel details', async () => {
144
144
  const result = await runCLI('discord', ['channel', 'info', DISCORD_TEST_CHANNEL_ID])
145
145
  expect(result.exitCode).toBe(0)
146
146
 
@@ -148,7 +148,7 @@ describe('Discord E2E Tests', () => {
148
148
  expect(data?.id).toBe(DISCORD_TEST_CHANNEL_ID)
149
149
  })
150
150
 
151
- test('channel history returns messages', async () => {
151
+ it('channel history returns messages', async () => {
152
152
  const result = await runCLI('discord', ['channel', 'history', DISCORD_TEST_CHANNEL_ID, '--limit', '5'])
153
153
  expect(result.exitCode).toBe(0)
154
154
 
@@ -158,7 +158,7 @@ describe('Discord E2E Tests', () => {
158
158
  })
159
159
 
160
160
  describe('user', () => {
161
- test.skip('user list returns users array (requires bot token)', async () => {
161
+ it.skip('user list returns users array (requires bot token)', async () => {
162
162
  const result = await runCLI('discord', ['user', 'list'])
163
163
  expect(result.exitCode).toBe(0)
164
164
 
@@ -166,7 +166,7 @@ describe('Discord E2E Tests', () => {
166
166
  expect(Array.isArray(data)).toBe(true)
167
167
  })
168
168
 
169
- test('user me returns current user', async () => {
169
+ it('user me returns current user', async () => {
170
170
  const result = await runCLI('discord', ['user', 'me'])
171
171
  expect(result.exitCode).toBe(0)
172
172
 
@@ -175,7 +175,7 @@ describe('Discord E2E Tests', () => {
175
175
  expect(data?.username).toBeTruthy()
176
176
  })
177
177
 
178
- test('user info returns user details', async () => {
178
+ it('user info returns user details', async () => {
179
179
  // First get current user ID
180
180
  const meResult = await runCLI('discord', ['user', 'me'])
181
181
  expect(meResult.exitCode).toBe(0)
@@ -194,7 +194,7 @@ describe('Discord E2E Tests', () => {
194
194
  })
195
195
 
196
196
  describe('reaction', () => {
197
- test.skip('reaction add/list/remove lifecycle (requires bot token)', async () => {
197
+ it.skip('reaction add/list/remove lifecycle (requires bot token)', async () => {
198
198
  const testId = generateTestId()
199
199
  const { id } = await createTestMessage('discord', DISCORD_TEST_CHANNEL_ID, `Reaction test ${testId}`)
200
200
  testMessages.push(id)
@@ -220,7 +220,7 @@ describe('Discord E2E Tests', () => {
220
220
  })
221
221
 
222
222
  describe('file', () => {
223
- test('file list returns files array', async () => {
223
+ it('file list returns files array', async () => {
224
224
  const result = await runCLI('discord', ['file', 'list', DISCORD_TEST_CHANNEL_ID])
225
225
  expect(result.exitCode).toBe(0)
226
226
 
@@ -228,7 +228,7 @@ describe('Discord E2E Tests', () => {
228
228
  expect(Array.isArray(data)).toBe(true)
229
229
  })
230
230
 
231
- test('file upload uploads file and file info retrieves it', async () => {
231
+ it('file upload uploads file and file info retrieves it', async () => {
232
232
  const testId = generateTestId()
233
233
  const testFilePath = `/tmp/discord-e2e-${testId}.txt`
234
234
  await Bun.write(testFilePath, `Discord E2E test file ${testId}`)
@@ -254,7 +254,7 @@ describe('Discord E2E Tests', () => {
254
254
  }
255
255
  })
256
256
 
257
- test('file info retrieves file details', async () => {
257
+ it('file info retrieves file details', async () => {
258
258
  // List files first to get a file ID
259
259
  const listResult = await runCLI('discord', ['file', 'list', DISCORD_TEST_CHANNEL_ID])
260
260
  expect(listResult.exitCode).toBe(0)
@@ -273,7 +273,7 @@ describe('Discord E2E Tests', () => {
273
273
  })
274
274
 
275
275
  describe('snapshot', () => {
276
- test.skip('snapshot returns full server data (requires bot token)', async () => {
276
+ it.skip('snapshot returns full server data (requires bot token)', async () => {
277
277
  const result = await runCLI('discord', ['snapshot', '--limit', '2'])
278
278
  expect(result.exitCode).toBe(0)
279
279
 
@@ -282,7 +282,7 @@ describe('Discord E2E Tests', () => {
282
282
  expect(data?.users).toBeDefined()
283
283
  })
284
284
 
285
- test('snapshot --channels-only returns only channels', async () => {
285
+ it('snapshot --channels-only returns only channels', async () => {
286
286
  const result = await runCLI('discord', ['snapshot', '--channels-only'])
287
287
  expect(result.exitCode).toBe(0)
288
288
 
@@ -290,7 +290,7 @@ describe('Discord E2E Tests', () => {
290
290
  expect(data?.channels).toBeDefined()
291
291
  })
292
292
 
293
- test.skip('snapshot --users-only returns only users (requires bot token)', async () => {
293
+ it.skip('snapshot --users-only returns only users (requires bot token)', async () => {
294
294
  const result = await runCLI('discord', ['snapshot', '--users-only'])
295
295
  expect(result.exitCode).toBe(0)
296
296
 
@@ -1,4 +1,4 @@
1
- import { describe, test, expect, beforeAll, afterEach } from 'bun:test'
1
+ import { describe, it, expect, beforeAll, afterEach } from 'bun:test'
2
2
 
3
3
  import { DiscordBotClient } from '../src/platforms/discordbot/client'
4
4
  import { DiscordBotCredentialManager } from '../src/platforms/discordbot/credential-manager'
@@ -55,7 +55,7 @@ describe('DiscordBot E2E Tests', () => {
55
55
  })
56
56
 
57
57
  describe('auth', () => {
58
- test('auth status returns valid bot info', async () => {
58
+ it('auth status returns valid bot info', async () => {
59
59
  const result = await runCLI('discordbot', ['auth', 'status'])
60
60
  expect(result.exitCode).toBe(0)
61
61
 
@@ -72,7 +72,7 @@ describe('DiscordBot E2E Tests', () => {
72
72
  })
73
73
 
74
74
  describe('message', () => {
75
- test('message send creates message and returns id', async () => {
75
+ it('message send creates message and returns id', async () => {
76
76
  const testId = generateTestId()
77
77
  const result = await runCLI('discordbot', ['message', 'send', DISCORDBOT_TEST_CHANNEL_ID, `Bot test ${testId}`])
78
78
  expect(result.exitCode).toBe(0)
@@ -84,7 +84,7 @@ describe('DiscordBot E2E Tests', () => {
84
84
  if (data?.id) trackMessage(data.id)
85
85
  })
86
86
 
87
- test('message list returns messages array', async () => {
87
+ it('message list returns messages array', async () => {
88
88
  const result = await runCLI('discordbot', ['message', 'list', DISCORDBOT_TEST_CHANNEL_ID, '--limit', '5'])
89
89
  expect(result.exitCode).toBe(0)
90
90
 
@@ -92,7 +92,7 @@ describe('DiscordBot E2E Tests', () => {
92
92
  expect(Array.isArray(data?.messages)).toBe(true)
93
93
  })
94
94
 
95
- test('message get retrieves specific message', async () => {
95
+ it('message get retrieves specific message', async () => {
96
96
  const testId = generateTestId()
97
97
  const sendResult = await runCLI('discordbot', [
98
98
  'message',
@@ -114,7 +114,7 @@ describe('DiscordBot E2E Tests', () => {
114
114
  expect(data?.id).toBe(sent!.id)
115
115
  })
116
116
 
117
- test('message update modifies message', async () => {
117
+ it('message update modifies message', async () => {
118
118
  const testId = generateTestId()
119
119
  const sendResult = await runCLI('discordbot', [
120
120
  'message',
@@ -144,7 +144,7 @@ describe('DiscordBot E2E Tests', () => {
144
144
  expect(data?.content).toContain('Updated')
145
145
  })
146
146
 
147
- test('message delete removes message', async () => {
147
+ it('message delete removes message', async () => {
148
148
  const testId = generateTestId()
149
149
  const sendResult = await runCLI('discordbot', [
150
150
  'message',
@@ -161,7 +161,7 @@ describe('DiscordBot E2E Tests', () => {
161
161
  expect(result.exitCode).toBe(0)
162
162
  })
163
163
 
164
- test('message send with --thread creates reply', async () => {
164
+ it('message send with --thread creates reply', async () => {
165
165
  const testId = generateTestId()
166
166
  const sendResult = await runCLI('discordbot', ['message', 'send', DISCORDBOT_TEST_CHANNEL_ID, `Parent ${testId}`])
167
167
  const parent = parseJSON<{ id: string }>(sendResult.stdout)
@@ -187,7 +187,7 @@ describe('DiscordBot E2E Tests', () => {
187
187
  if (reply?.id) trackMessage(reply.id, replyChannel)
188
188
  }, 30000)
189
189
 
190
- test('message replies gets thread messages', async () => {
190
+ it('message replies gets thread messages', async () => {
191
191
  const testId = generateTestId()
192
192
 
193
193
  // given: create a real thread channel
@@ -226,7 +226,7 @@ describe('DiscordBot E2E Tests', () => {
226
226
  })
227
227
 
228
228
  describe('channel', () => {
229
- test('channel list returns channels array', async () => {
229
+ it('channel list returns channels array', async () => {
230
230
  const result = await runCLI('discordbot', ['channel', 'list'])
231
231
  expect(result.exitCode).toBe(0)
232
232
 
@@ -235,7 +235,7 @@ describe('DiscordBot E2E Tests', () => {
235
235
  expect(data!.channels.length).toBeGreaterThan(0)
236
236
  })
237
237
 
238
- test('channel info returns channel details', async () => {
238
+ it('channel info returns channel details', async () => {
239
239
  const result = await runCLI('discordbot', ['channel', 'info', DISCORDBOT_TEST_CHANNEL_ID])
240
240
  expect(result.exitCode).toBe(0)
241
241
 
@@ -246,7 +246,7 @@ describe('DiscordBot E2E Tests', () => {
246
246
  })
247
247
 
248
248
  describe('user', () => {
249
- test('user list returns users array', async () => {
249
+ it('user list returns users array', async () => {
250
250
  const result = await runCLI('discordbot', ['user', 'list'])
251
251
  expect(result.exitCode).toBe(0)
252
252
 
@@ -255,7 +255,7 @@ describe('DiscordBot E2E Tests', () => {
255
255
  expect(data!.users.length).toBeGreaterThan(0)
256
256
  })
257
257
 
258
- test('user info returns user details', async () => {
258
+ it('user info returns user details', async () => {
259
259
  // given: get the bot's own user_id via auth status
260
260
  const statusResult = await runCLI('discordbot', ['auth', 'status'])
261
261
  const status = parseJSON<{ bot_id: string }>(statusResult.stdout)
@@ -273,7 +273,7 @@ describe('DiscordBot E2E Tests', () => {
273
273
  })
274
274
 
275
275
  describe('reaction', () => {
276
- test('reaction add and remove lifecycle', async () => {
276
+ it('reaction add and remove lifecycle', async () => {
277
277
  // given: a message to react to
278
278
  const testId = generateTestId()
279
279
  const sendResult = await runCLI('discordbot', [
@@ -313,7 +313,7 @@ describe('DiscordBot E2E Tests', () => {
313
313
  })
314
314
 
315
315
  describe('server', () => {
316
- test('server list returns servers array', async () => {
316
+ it('server list returns servers array', async () => {
317
317
  const result = await runCLI('discordbot', ['server', 'list'])
318
318
  expect(result.exitCode).toBe(0)
319
319
 
@@ -322,7 +322,7 @@ describe('DiscordBot E2E Tests', () => {
322
322
  expect(data!.servers.length).toBeGreaterThan(0)
323
323
  })
324
324
 
325
- test('server current returns current server', async () => {
325
+ it('server current returns current server', async () => {
326
326
  const result = await runCLI('discordbot', ['server', 'current'])
327
327
  expect(result.exitCode).toBe(0)
328
328
 
@@ -1,4 +1,4 @@
1
- import { afterEach, beforeAll, describe, expect, test } from 'bun:test'
1
+ import { afterEach, beforeAll, describe, expect, it } from 'bun:test'
2
2
 
3
3
  import { INSTAGRAM_TEST_THREAD_ID, INSTAGRAM_TEST_USERNAME, validateInstagramEnvironment } from './config'
4
4
  import { generateTestId, parseJSON, runCLI, waitForRateLimit } from './helpers'
@@ -15,14 +15,14 @@ describe('Instagram E2E Tests', () => {
15
15
  })
16
16
 
17
17
  describe('auth', () => {
18
- test('auth status returns exit code 0', async () => {
18
+ it('auth status returns exit code 0', async () => {
19
19
  if (!instagramAvailable) return
20
20
 
21
21
  const result = await runCLI('instagram', ['auth', 'status'])
22
22
  expect(result.exitCode).toBe(0)
23
23
  })
24
24
 
25
- test('auth list returns accounts array', async () => {
25
+ it('auth list returns accounts array', async () => {
26
26
  if (!instagramAvailable) return
27
27
 
28
28
  const result = await runCLI('instagram', ['auth', 'list'])
@@ -34,7 +34,7 @@ describe('Instagram E2E Tests', () => {
34
34
  })
35
35
 
36
36
  describe('chat', () => {
37
- test('chat list returns chats', async () => {
37
+ it('chat list returns chats', async () => {
38
38
  if (!instagramAvailable) return
39
39
 
40
40
  const result = await runCLI('instagram', ['chat', 'list', '--limit', '5'])
@@ -44,7 +44,7 @@ describe('Instagram E2E Tests', () => {
44
44
  expect(data).toBeDefined()
45
45
  })
46
46
 
47
- test('chat search returns results', async () => {
47
+ it('chat search returns results', async () => {
48
48
  if (!instagramAvailable) return
49
49
 
50
50
  const result = await runCLI('instagram', ['chat', 'search', 'test', '--limit', '5'])
@@ -53,7 +53,7 @@ describe('Instagram E2E Tests', () => {
53
53
  })
54
54
 
55
55
  describe('message', () => {
56
- test('message send sends a message to thread', async () => {
56
+ it('message send sends a message to thread', async () => {
57
57
  if (!instagramAvailable) return
58
58
 
59
59
  const testId = generateTestId()
@@ -61,7 +61,7 @@ describe('Instagram E2E Tests', () => {
61
61
  expect(result.exitCode).toBe(0)
62
62
  })
63
63
 
64
- test('message list returns messages from thread', async () => {
64
+ it('message list returns messages from thread', async () => {
65
65
  if (!instagramAvailable) return
66
66
 
67
67
  const result = await runCLI('instagram', ['message', 'list', INSTAGRAM_TEST_THREAD_ID, '--limit', '5'])
@@ -71,7 +71,7 @@ describe('Instagram E2E Tests', () => {
71
71
  expect(data).toBeDefined()
72
72
  })
73
73
 
74
- test('message send-to sends a message to username', async () => {
74
+ it('message send-to sends a message to username', async () => {
75
75
  if (!instagramAvailable) return
76
76
  if (!INSTAGRAM_TEST_USERNAME) return
77
77
 
@@ -80,14 +80,14 @@ describe('Instagram E2E Tests', () => {
80
80
  expect(result.exitCode).toBe(0)
81
81
  })
82
82
 
83
- test('message search returns results', async () => {
83
+ it('message search returns results', async () => {
84
84
  if (!instagramAvailable) return
85
85
 
86
86
  const result = await runCLI('instagram', ['message', 'search', 'test', '--limit', '5'])
87
87
  expect(result.exitCode).toBe(0)
88
88
  })
89
89
 
90
- test('message search-users returns results', async () => {
90
+ it('message search-users returns results', async () => {
91
91
  if (!instagramAvailable) return
92
92
 
93
93
  const result = await runCLI('instagram', ['message', 'search-users', 'test'])
@@ -1,4 +1,4 @@
1
- import { afterEach, beforeAll, describe, expect, test } from 'bun:test'
1
+ import { afterEach, beforeAll, describe, expect, it } from 'bun:test'
2
2
 
3
3
  import { KAKAOTALK_TEST_CHAT_ID, validateKakaoTalkEnvironment } from './config'
4
4
  import { generateTestId, parseJSON, runCLI, waitForRateLimit } from './helpers'
@@ -15,14 +15,14 @@ describe('KakaoTalk E2E Tests', () => {
15
15
  })
16
16
 
17
17
  describe('auth', () => {
18
- test('auth status returns valid auth info', async () => {
18
+ it('auth status returns valid auth info', async () => {
19
19
  if (!kakaotalkAvailable) return
20
20
 
21
21
  const result = await runCLI('kakaotalk', ['auth', 'status'])
22
22
  expect(result.exitCode).toBe(0)
23
23
  })
24
24
 
25
- test('auth list returns accounts array', async () => {
25
+ it('auth list returns accounts array', async () => {
26
26
  if (!kakaotalkAvailable) return
27
27
 
28
28
  const result = await runCLI('kakaotalk', ['auth', 'list'])
@@ -34,7 +34,7 @@ describe('KakaoTalk E2E Tests', () => {
34
34
  })
35
35
 
36
36
  describe('chat', () => {
37
- test('chat list returns chats', async () => {
37
+ it('chat list returns chats', async () => {
38
38
  if (!kakaotalkAvailable) return
39
39
 
40
40
  const result = await runCLI('kakaotalk', ['chat', 'list'])
@@ -44,7 +44,7 @@ describe('KakaoTalk E2E Tests', () => {
44
44
  expect(data).toBeDefined()
45
45
  })
46
46
 
47
- test('chat list with search filter returns chats', async () => {
47
+ it('chat list with search filter returns chats', async () => {
48
48
  if (!kakaotalkAvailable) return
49
49
 
50
50
  const result = await runCLI('kakaotalk', ['chat', 'list', '--search', 'test'])
@@ -53,7 +53,7 @@ describe('KakaoTalk E2E Tests', () => {
53
53
  })
54
54
 
55
55
  describe('message', () => {
56
- test('message send sends a message to the test chat', async () => {
56
+ it('message send sends a message to the test chat', async () => {
57
57
  if (!kakaotalkAvailable) return
58
58
 
59
59
  const testId = generateTestId()
@@ -61,7 +61,7 @@ describe('KakaoTalk E2E Tests', () => {
61
61
  expect(result.exitCode).toBe(0)
62
62
  })
63
63
 
64
- test('message list returns messages from the test chat', async () => {
64
+ it('message list returns messages from the test chat', async () => {
65
65
  if (!kakaotalkAvailable) return
66
66
 
67
67
  const result = await runCLI('kakaotalk', ['message', 'list', KAKAOTALK_TEST_CHAT_ID, '-n', '5'])
@@ -1,4 +1,4 @@
1
- import { afterEach, beforeAll, describe, expect, test } from 'bun:test'
1
+ import { afterEach, beforeAll, describe, expect, it } from 'bun:test'
2
2
 
3
3
  import { LINE_TEST_CHAT_ID, validateLineEnvironment } from './config'
4
4
  import { generateTestId, parseJSON, runCLI, waitForRateLimit } from './helpers'
@@ -15,14 +15,14 @@ describe('LINE E2E Tests', () => {
15
15
  })
16
16
 
17
17
  describe('auth', () => {
18
- test('auth status returns valid auth info', async () => {
18
+ it('auth status returns valid auth info', async () => {
19
19
  if (!lineAvailable) return
20
20
 
21
21
  const result = await runCLI('line', ['auth', 'status'])
22
22
  expect(result.exitCode).toBe(0)
23
23
  })
24
24
 
25
- test('auth list returns accounts array', async () => {
25
+ it('auth list returns accounts array', async () => {
26
26
  if (!lineAvailable) return
27
27
 
28
28
  const result = await runCLI('line', ['auth', 'list'])
@@ -34,7 +34,7 @@ describe('LINE E2E Tests', () => {
34
34
  })
35
35
 
36
36
  describe('chat', () => {
37
- test('chat list returns chats', async () => {
37
+ it('chat list returns chats', async () => {
38
38
  if (!lineAvailable) return
39
39
 
40
40
  const result = await runCLI('line', ['chat', 'list', '--limit', '5'])
@@ -46,7 +46,7 @@ describe('LINE E2E Tests', () => {
46
46
  })
47
47
 
48
48
  describe('friend', () => {
49
- test('friend list returns friends', async () => {
49
+ it('friend list returns friends', async () => {
50
50
  if (!lineAvailable) return
51
51
 
52
52
  const result = await runCLI('line', ['friend', 'list'])
@@ -58,7 +58,7 @@ describe('LINE E2E Tests', () => {
58
58
  })
59
59
 
60
60
  describe('message', () => {
61
- test('message send sends a message to the test chat', async () => {
61
+ it('message send sends a message to the test chat', async () => {
62
62
  if (!lineAvailable) return
63
63
 
64
64
  const testId = generateTestId()
@@ -66,7 +66,7 @@ describe('LINE E2E Tests', () => {
66
66
  expect(result.exitCode).toBe(0)
67
67
  })
68
68
 
69
- test('message list returns messages from the test chat', async () => {
69
+ it('message list returns messages from the test chat', async () => {
70
70
  if (!lineAvailable) return
71
71
 
72
72
  const result = await runCLI('line', ['message', 'list', LINE_TEST_CHAT_ID, '-n', '5'])
@@ -78,7 +78,7 @@ describe('LINE E2E Tests', () => {
78
78
  })
79
79
 
80
80
  describe('profile', () => {
81
- test('profile returns current user profile', async () => {
81
+ it('profile returns current user profile', async () => {
82
82
  if (!lineAvailable) return
83
83
 
84
84
  const result = await runCLI('line', ['profile'])