agent-messenger 1.3.6 → 1.5.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 (127) hide show
  1. package/.claude-plugin/README.md +38 -14
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.github/workflows/ci.yml +3 -0
  4. package/CONTRIBUTING.md +24 -1
  5. package/README.md +12 -8
  6. package/dist/package.json +1 -1
  7. package/dist/src/cli.d.ts.map +1 -1
  8. package/dist/src/cli.js +3 -0
  9. package/dist/src/cli.js.map +1 -1
  10. package/dist/src/platforms/discord/cli.d.ts +2 -2
  11. package/dist/src/platforms/discord/cli.d.ts.map +1 -1
  12. package/dist/src/platforms/discord/cli.js +23 -1
  13. package/dist/src/platforms/discord/cli.js.map +1 -1
  14. package/dist/src/platforms/discord/commands/file.d.ts.map +1 -1
  15. package/dist/src/platforms/discord/commands/file.js +13 -7
  16. package/dist/src/platforms/discord/commands/file.js.map +1 -1
  17. package/dist/src/platforms/discord/commands/friend.d.ts.map +1 -1
  18. package/dist/src/platforms/discord/commands/friend.js +30 -30
  19. package/dist/src/platforms/discord/commands/friend.js.map +1 -1
  20. package/dist/src/platforms/discord/commands/index.d.ts +7 -0
  21. package/dist/src/platforms/discord/commands/index.d.ts.map +1 -1
  22. package/dist/src/platforms/discord/commands/index.js +7 -0
  23. package/dist/src/platforms/discord/commands/index.js.map +1 -1
  24. package/dist/src/platforms/discord/commands/snapshot.d.ts.map +1 -1
  25. package/dist/src/platforms/discord/commands/snapshot.js +1 -2
  26. package/dist/src/platforms/discord/commands/snapshot.js.map +1 -1
  27. package/dist/src/platforms/discord/ensure-auth.d.ts +2 -0
  28. package/dist/src/platforms/discord/ensure-auth.d.ts.map +1 -0
  29. package/dist/src/platforms/discord/ensure-auth.js +31 -0
  30. package/dist/src/platforms/discord/ensure-auth.js.map +1 -0
  31. package/dist/src/platforms/slack/cli.d.ts +2 -2
  32. package/dist/src/platforms/slack/cli.d.ts.map +1 -1
  33. package/dist/src/platforms/slack/cli.js +15 -0
  34. package/dist/src/platforms/slack/cli.js.map +1 -1
  35. package/dist/src/platforms/slack/client.d.ts +1 -0
  36. package/dist/src/platforms/slack/client.d.ts.map +1 -1
  37. package/dist/src/platforms/slack/client.js +13 -0
  38. package/dist/src/platforms/slack/client.js.map +1 -1
  39. package/dist/src/platforms/slack/commands/channel.d.ts.map +1 -1
  40. package/dist/src/platforms/slack/commands/channel.js +2 -0
  41. package/dist/src/platforms/slack/commands/channel.js.map +1 -1
  42. package/dist/src/platforms/slack/commands/file.d.ts.map +1 -1
  43. package/dist/src/platforms/slack/commands/file.js +13 -5
  44. package/dist/src/platforms/slack/commands/file.js.map +1 -1
  45. package/dist/src/platforms/slack/commands/message.d.ts.map +1 -1
  46. package/dist/src/platforms/slack/commands/message.js +12 -6
  47. package/dist/src/platforms/slack/commands/message.js.map +1 -1
  48. package/dist/src/platforms/slack/commands/reaction.d.ts.map +1 -1
  49. package/dist/src/platforms/slack/commands/reaction.js +3 -0
  50. package/dist/src/platforms/slack/commands/reaction.js.map +1 -1
  51. package/dist/src/platforms/slack/commands/sections.d.ts.map +1 -1
  52. package/dist/src/platforms/slack/commands/sections.js +5 -6
  53. package/dist/src/platforms/slack/commands/sections.js.map +1 -1
  54. package/dist/src/platforms/slack/commands/snapshot.d.ts.map +1 -1
  55. package/dist/src/platforms/slack/commands/snapshot.js +1 -2
  56. package/dist/src/platforms/slack/commands/snapshot.js.map +1 -1
  57. package/dist/src/platforms/slack/commands/unread.d.ts.map +1 -1
  58. package/dist/src/platforms/slack/commands/unread.js +2 -0
  59. package/dist/src/platforms/slack/commands/unread.js.map +1 -1
  60. package/dist/src/platforms/slack/commands/user.js +8 -8
  61. package/dist/src/platforms/slack/ensure-auth.d.ts +2 -0
  62. package/dist/src/platforms/slack/ensure-auth.d.ts.map +1 -0
  63. package/dist/src/platforms/slack/ensure-auth.js +30 -0
  64. package/dist/src/platforms/slack/ensure-auth.js.map +1 -0
  65. package/dist/src/platforms/slackbot/client.d.ts +1 -0
  66. package/dist/src/platforms/slackbot/client.d.ts.map +1 -1
  67. package/dist/src/platforms/slackbot/client.js +13 -0
  68. package/dist/src/platforms/slackbot/client.js.map +1 -1
  69. package/dist/src/platforms/slackbot/commands/channel.d.ts.map +1 -1
  70. package/dist/src/platforms/slackbot/commands/channel.js +3 -2
  71. package/dist/src/platforms/slackbot/commands/channel.js.map +1 -1
  72. package/dist/src/platforms/slackbot/commands/message.d.ts.map +1 -1
  73. package/dist/src/platforms/slackbot/commands/message.js +18 -12
  74. package/dist/src/platforms/slackbot/commands/message.js.map +1 -1
  75. package/dist/src/platforms/slackbot/commands/reaction.d.ts.map +1 -1
  76. package/dist/src/platforms/slackbot/commands/reaction.js +8 -6
  77. package/dist/src/platforms/slackbot/commands/reaction.js.map +1 -1
  78. package/dist/src/platforms/teams/cli.d.ts +2 -2
  79. package/dist/src/platforms/teams/cli.d.ts.map +1 -1
  80. package/dist/src/platforms/teams/cli.js +15 -0
  81. package/dist/src/platforms/teams/cli.js.map +1 -1
  82. package/dist/src/platforms/teams/commands/file.js +12 -12
  83. package/dist/src/platforms/teams/commands/file.js.map +1 -1
  84. package/dist/src/platforms/teams/commands/snapshot.d.ts.map +1 -1
  85. package/dist/src/platforms/teams/commands/snapshot.js +1 -2
  86. package/dist/src/platforms/teams/commands/snapshot.js.map +1 -1
  87. package/dist/src/platforms/teams/ensure-auth.d.ts +2 -0
  88. package/dist/src/platforms/teams/ensure-auth.d.ts.map +1 -0
  89. package/dist/src/platforms/teams/ensure-auth.js +32 -0
  90. package/dist/src/platforms/teams/ensure-auth.js.map +1 -0
  91. package/e2e/README.md +1 -1
  92. package/package.json +1 -1
  93. package/skills/agent-discord/SKILL.md +22 -22
  94. package/skills/agent-slack/SKILL.md +28 -40
  95. package/skills/agent-teams/SKILL.md +41 -65
  96. package/skills/agent-teams/references/common-patterns.md +63 -49
  97. package/src/cli.ts +4 -0
  98. package/src/platforms/discord/cli.ts +30 -0
  99. package/src/platforms/discord/commands/file.ts +13 -7
  100. package/src/platforms/discord/commands/friend.ts +34 -34
  101. package/src/platforms/discord/commands/index.ts +7 -0
  102. package/src/platforms/discord/commands/snapshot.ts +1 -2
  103. package/src/platforms/discord/ensure-auth.test.ts +123 -0
  104. package/src/platforms/discord/ensure-auth.ts +31 -0
  105. package/src/platforms/slack/cli.ts +16 -0
  106. package/src/platforms/slack/client.test.ts +101 -0
  107. package/src/platforms/slack/client.ts +22 -0
  108. package/src/platforms/slack/commands/channel.ts +2 -0
  109. package/src/platforms/slack/commands/file.ts +15 -5
  110. package/src/platforms/slack/commands/message.ts +17 -6
  111. package/src/platforms/slack/commands/reaction.ts +3 -0
  112. package/src/platforms/slack/commands/sections.ts +8 -9
  113. package/src/platforms/slack/commands/snapshot.ts +1 -2
  114. package/src/platforms/slack/commands/unread.ts +2 -0
  115. package/src/platforms/slack/commands/user.ts +8 -8
  116. package/src/platforms/slack/ensure-auth.test.ts +186 -0
  117. package/src/platforms/slack/ensure-auth.ts +30 -0
  118. package/src/platforms/slackbot/client.test.ts +87 -0
  119. package/src/platforms/slackbot/client.ts +21 -0
  120. package/src/platforms/slackbot/commands/channel.ts +3 -2
  121. package/src/platforms/slackbot/commands/message.ts +18 -12
  122. package/src/platforms/slackbot/commands/reaction.ts +8 -6
  123. package/src/platforms/teams/cli.ts +16 -0
  124. package/src/platforms/teams/commands/file.ts +12 -12
  125. package/src/platforms/teams/commands/snapshot.ts +1 -2
  126. package/src/platforms/teams/ensure-auth.test.ts +167 -0
  127. package/src/platforms/teams/ensure-auth.ts +34 -0
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../src/platforms/teams/commands/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../src/platforms/teams/commands/snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function ensureTeamsAuth(): Promise<void>;
2
+ //# sourceMappingURL=ensure-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-auth.d.ts","sourceRoot":"","sources":["../../../../src/platforms/teams/ensure-auth.ts"],"names":[],"mappings":"AAIA,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BrD"}
@@ -0,0 +1,32 @@
1
+ import { TeamsClient } from './client.js';
2
+ import { TeamsCredentialManager } from './credential-manager.js';
3
+ import { TeamsTokenExtractor } from './token-extractor.js';
4
+ export async function ensureTeamsAuth() {
5
+ try {
6
+ const credManager = new TeamsCredentialManager();
7
+ const config = await credManager.loadConfig();
8
+ if (config?.token && !(await credManager.isTokenExpired()))
9
+ return;
10
+ const extractor = new TeamsTokenExtractor();
11
+ const extracted = await extractor.extract();
12
+ if (!extracted)
13
+ return;
14
+ const client = new TeamsClient(extracted.token);
15
+ await client.testAuth();
16
+ const teams = await client.listTeams();
17
+ if (teams.length === 0)
18
+ return;
19
+ const teamMap = {};
20
+ for (const team of teams) {
21
+ teamMap[team.id] = { team_id: team.id, team_name: team.name };
22
+ }
23
+ await credManager.saveConfig({
24
+ token: extracted.token,
25
+ current_team: teams[0].id,
26
+ teams: teamMap,
27
+ token_expires_at: new Date(Date.now() + 60 * 60 * 1000).toISOString(),
28
+ });
29
+ }
30
+ catch { }
31
+ }
32
+ //# sourceMappingURL=ensure-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-auth.js","sourceRoot":"","sources":["../../../../src/platforms/teams/ensure-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAEvD,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,sBAAsB,EAAE,CAAA;QAChD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,CAAA;QAE7C,IAAI,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;YAAE,OAAM;QAElE,MAAM,SAAS,GAAG,IAAI,mBAAmB,EAAE,CAAA;QAC3C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;QAC3C,IAAI,CAAC,SAAS;YAAE,OAAM;QAEtB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;QAEvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAE9B,MAAM,OAAO,GAA2D,EAAE,CAAA;QAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;QAC/D,CAAC;QAED,MAAM,WAAW,CAAC,UAAU,CAAC;YAC3B,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACzB,KAAK,EAAE,OAAO;YACd,gBAAgB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;SACtE,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC"}
package/e2e/README.md CHANGED
@@ -253,7 +253,7 @@ If tests crash before cleanup, you may have leftover messages in the `e2e-test`
253
253
  agent-slack message list e2e-test --limit 20 --pretty
254
254
 
255
255
  # Delete specific message
256
- agent-slack message delete e2e-test <timestamp> --force
256
+ agent-slack message delete e2e-test <ts> --force
257
257
  ```
258
258
 
259
259
  ### CI Environment Variables Not Working
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-messenger",
3
- "version": "1.3.6",
3
+ "version": "1.5.0",
4
4
  "description": "Multi-platform messaging CLI for AI agents (Slack, Discord, Teams)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,10 +11,7 @@ A TypeScript CLI tool that enables AI agents and humans to interact with Discord
11
11
  ## Quick Start
12
12
 
13
13
  ```bash
14
- # Extract credentials from Discord desktop app (zero-config)
15
- agent-discord auth extract
16
-
17
- # Get server snapshot
14
+ # Get server snapshot (credentials are extracted automatically)
18
15
  agent-discord snapshot
19
16
 
20
17
  # Send a message
@@ -26,24 +23,9 @@ agent-discord channel list
26
23
 
27
24
  ## Authentication
28
25
 
29
- ### Seamless Token Extraction
30
-
31
- agent-discord automatically extracts your Discord credentials from the desktop app:
32
-
33
- ```bash
34
- # Just run this - no manual token copying needed
35
- agent-discord auth extract
36
-
37
- # Use --debug for troubleshooting
38
- agent-discord auth extract --debug
39
- ```
26
+ Credentials are extracted automatically from the Discord desktop app on first use. No manual setup required — just run any command and authentication happens silently in the background.
40
27
 
41
- This command:
42
- - Auto-detects your platform (macOS/Linux/Windows)
43
- - Extracts user token from Discord desktop app's LevelDB storage
44
- - Validates token against Discord API before saving
45
- - Discovers ALL joined servers
46
- - Stores credentials securely in `~/.config/agent-messenger/`
28
+ On macOS, the system may prompt for your Keychain password the first time (required to decrypt Discord's stored token). This is a one-time prompt.
47
29
 
48
30
  ### Multi-Server Support
49
31
 
@@ -83,6 +65,11 @@ agent-discord message delete <channel-id> <message-id> --force
83
65
 
84
66
  # Acknowledge/mark a message as read
85
67
  agent-discord message ack <channel-id> <message-id>
68
+
69
+ # Search messages in current server
70
+ agent-discord message search <query>
71
+ agent-discord message search "project update" --limit 10
72
+ agent-discord message search "hello" --channel <channel-id> --author <user-id>
86
73
  ```
87
74
 
88
75
  ### Channel Commands
@@ -298,7 +285,7 @@ All commands return consistent error format:
298
285
  ```
299
286
 
300
287
  Common errors:
301
- - `Not authenticated`: No valid token - run `auth extract`
288
+ - `Not authenticated`: No valid token (auto-extraction failed see Troubleshooting)
302
289
  - `No current server set`: Run `server switch <id>` first
303
290
  - `Message not found`: Invalid message ID
304
291
  - `Unknown Channel`: Invalid channel ID
@@ -335,6 +322,19 @@ Format:
335
322
 
336
323
  ## Troubleshooting
337
324
 
325
+ ### Authentication fails or no token found
326
+
327
+ Credentials are normally extracted automatically. If auto-extraction fails, run it manually with debug output:
328
+
329
+ ```bash
330
+ agent-discord auth extract --debug
331
+ ```
332
+
333
+ Common causes:
334
+ - Discord desktop app is not installed or not logged in
335
+ - macOS Keychain access was denied (re-run and approve the prompt)
336
+ - Discord is not running and LevelDB files are stale
337
+
338
338
  ### `agent-discord: command not found`
339
339
 
340
340
  **`agent-discord` is NOT the npm package name.** The npm package is `agent-messenger`.
@@ -11,10 +11,7 @@ A TypeScript CLI tool that enables AI agents and humans to interact with Slack w
11
11
  ## Quick Start
12
12
 
13
13
  ```bash
14
- # Extract credentials from Slack desktop app (zero-config)
15
- agent-slack auth extract
16
-
17
- # Get workspace snapshot
14
+ # Get workspace snapshot (credentials are extracted automatically)
18
15
  agent-slack snapshot
19
16
 
20
17
  # Send a message
@@ -26,25 +23,9 @@ agent-slack channel list
26
23
 
27
24
  ## Authentication
28
25
 
29
- ### Seamless Token Extraction
30
-
31
- agent-slack automatically extracts your Slack credentials from the desktop app:
32
-
33
- ```bash
34
- # Just run this - no manual token copying needed
35
- agent-slack auth extract
36
-
37
- # Use --debug for troubleshooting
38
- agent-slack auth extract --debug
39
- ```
26
+ Credentials are extracted automatically from the Slack desktop app on first use. No manual setup required — just run any command and authentication happens silently in the background.
40
27
 
41
- This command:
42
- - Auto-detects your platform (macOS/Linux/Windows)
43
- - Supports both direct download and App Store versions of Slack on macOS
44
- - Extracts xoxc token and xoxd cookie (with v10 decryption for sandboxed apps)
45
- - Validates tokens against Slack API before saving
46
- - Discovers ALL logged-in workspaces
47
- - Stores credentials securely in `~/.config/agent-messenger/`
28
+ On macOS, the system may prompt for your Keychain password the first time (required to decrypt Slack's stored token). This is a one-time prompt.
48
29
 
49
30
  ### Multi-Workspace Support
50
31
 
@@ -165,16 +146,14 @@ agent-slack file info <file-id>
165
146
  ### Unread Commands
166
147
 
167
148
  ```bash
168
- # List unread channels
169
- agent-slack unread list
170
- agent-slack unread list --pretty
149
+ # Get unread counts for all channels
150
+ agent-slack unread counts
171
151
 
172
- # Get unread counts summary
173
- agent-slack unread count
152
+ # Get thread subscription details
153
+ agent-slack unread threads <channel> <thread_ts>
174
154
 
175
- # Mark channel as read
176
- agent-slack mark read <channel>
177
- agent-slack mark read general
155
+ # Mark channel as read up to timestamp
156
+ agent-slack unread mark <channel> <ts>
178
157
  ```
179
158
 
180
159
  ### Activity Commands
@@ -183,6 +162,8 @@ agent-slack mark read general
183
162
  # List activity feed (mentions, reactions, replies)
184
163
  agent-slack activity list
185
164
  agent-slack activity list --limit 50
165
+ agent-slack activity list --unread
166
+ agent-slack activity list --types thread_reply,message_reaction
186
167
  ```
187
168
 
188
169
  ### Saved Items Commands
@@ -190,13 +171,7 @@ agent-slack activity list --limit 50
190
171
  ```bash
191
172
  # List saved items
192
173
  agent-slack saved list
193
-
194
- # Add item to saved
195
- agent-slack saved add <channel> <ts>
196
- agent-slack saved add general 1234567890.123456
197
-
198
- # Remove item from saved
199
- agent-slack saved remove <channel> <ts>
174
+ agent-slack saved list --limit 10
200
175
  ```
201
176
 
202
177
  ### Drafts Commands
@@ -211,8 +186,8 @@ agent-slack drafts list --pretty
211
186
 
212
187
  ```bash
213
188
  # List channel sections (sidebar organization)
214
- agent-slack section list
215
- agent-slack section list --pretty
189
+ agent-slack sections list
190
+ agent-slack sections list --pretty
216
191
  ```
217
192
 
218
193
  ### Snapshot Command
@@ -281,7 +256,7 @@ All commands return consistent error format:
281
256
  ```
282
257
 
283
258
  Common errors:
284
- - `NO_WORKSPACE`: No authenticated workspace
259
+ - `NO_WORKSPACE`: No authenticated workspace (auto-extraction failed — see Troubleshooting)
285
260
  - `SLACK_API_ERROR`: Slack API returned an error
286
261
  - `RATE_LIMIT`: Hit Slack rate limit (auto-retries with backoff)
287
262
 
@@ -317,6 +292,19 @@ Format:
317
292
 
318
293
  ## Troubleshooting
319
294
 
295
+ ### Authentication fails or no workspace found
296
+
297
+ Credentials are normally extracted automatically. If auto-extraction fails, run it manually with debug output:
298
+
299
+ ```bash
300
+ agent-slack auth extract --debug
301
+ ```
302
+
303
+ Common causes:
304
+ - Slack desktop app is not installed or not logged in
305
+ - macOS Keychain access was denied (re-run and approve the prompt)
306
+ - Slack was installed via a method that uses a different storage path
307
+
320
308
  ### `agent-slack: command not found`
321
309
 
322
310
  **`agent-slack` is NOT the npm package name.** The npm package is `agent-messenger`.
@@ -8,58 +8,24 @@ allowed-tools: Bash(agent-teams:*)
8
8
 
9
9
  A TypeScript CLI tool that enables AI agents and humans to interact with Microsoft Teams through a simple command interface. Features seamless token extraction from the Teams desktop app and multi-team support.
10
10
 
11
- ## TOKEN EXPIRY WARNING
12
-
13
- **CRITICAL**: Microsoft Teams tokens expire in **60-90 minutes**! Unlike Discord/Slack, Teams tokens have a short lifespan. You MUST:
14
-
15
- 1. Check token validity before operations
16
- 2. Re-extract credentials when tokens expire
17
- 3. Handle `401 Unauthorized` errors gracefully
18
-
19
- ```bash
20
- # Always check auth status first
21
- agent-teams auth status
22
-
23
- # If expired, re-extract
24
- agent-teams auth extract
25
- ```
26
-
27
11
  ## Quick Start
28
12
 
29
13
  ```bash
30
- # Extract credentials from Teams desktop app (zero-config)
31
- agent-teams auth extract
32
-
33
- # Get team snapshot
14
+ # Get team snapshot (credentials are extracted automatically)
34
15
  agent-teams snapshot
35
16
 
36
17
  # Send a message
37
- agent-teams message send <channel-id> "Hello from AI agent!"
18
+ agent-teams message send <team-id> <channel-id> "Hello from AI agent!"
38
19
 
39
20
  # List channels
40
- agent-teams channel list
21
+ agent-teams channel list <team-id>
41
22
  ```
42
23
 
43
24
  ## Authentication
44
25
 
45
- ### Seamless Token Extraction
26
+ Credentials are extracted automatically from the Teams desktop app on first use. No manual setup required — just run any command and authentication happens silently in the background.
46
27
 
47
- agent-teams automatically extracts your Teams credentials from the desktop app:
48
-
49
- ```bash
50
- # Just run this - no manual token copying needed
51
- agent-teams auth extract
52
-
53
- # Use --debug for troubleshooting
54
- agent-teams auth extract --debug
55
- ```
56
-
57
- This command:
58
- - Auto-detects your platform (macOS/Linux/Windows)
59
- - Extracts skypetoken_asm from Teams desktop app's Cookies SQLite database
60
- - Validates token against Teams API before saving
61
- - Discovers ALL joined teams
62
- - Stores credentials securely in `~/.config/agent-messenger/`
28
+ Teams tokens expire in 60-90 minutes. The CLI automatically re-extracts a fresh token when the current one expires, so you don't need to manage token lifecycle manually.
63
29
 
64
30
  ### Multi-Team Support
65
31
 
@@ -83,32 +49,32 @@ agent-teams auth status
83
49
 
84
50
  ```bash
85
51
  # Send a message
86
- agent-teams message send <channel-id> <content>
87
- agent-teams message send 19:abc123@thread.tacv2 "Hello world"
52
+ agent-teams message send <team-id> <channel-id> <content>
53
+ agent-teams message send <team-id> 19:abc123@thread.tacv2 "Hello world"
88
54
 
89
55
  # List messages
90
- agent-teams message list <channel-id>
91
- agent-teams message list 19:abc123@thread.tacv2 --limit 50
56
+ agent-teams message list <team-id> <channel-id>
57
+ agent-teams message list <team-id> 19:abc123@thread.tacv2 --limit 50
92
58
 
93
59
  # Get a single message by ID
94
- agent-teams message get <channel-id> <message-id>
60
+ agent-teams message get <team-id> <channel-id> <message-id>
95
61
 
96
62
  # Delete a message
97
- agent-teams message delete <channel-id> <message-id> --force
63
+ agent-teams message delete <team-id> <channel-id> <message-id> --force
98
64
  ```
99
65
 
100
66
  ### Channel Commands
101
67
 
102
68
  ```bash
103
- # List channels in current team
104
- agent-teams channel list
69
+ # List channels in a team
70
+ agent-teams channel list <team-id>
105
71
 
106
72
  # Get channel info
107
- agent-teams channel info <channel-id>
108
- agent-teams channel info 19:abc123@thread.tacv2
73
+ agent-teams channel info <team-id> <channel-id>
74
+ agent-teams channel info <team-id> 19:abc123@thread.tacv2
109
75
 
110
76
  # Get channel history (alias for message list)
111
- agent-teams channel history <channel-id> --limit 100
77
+ agent-teams channel history <team-id> <channel-id> --limit 100
112
78
  ```
113
79
 
114
80
  ### Team Commands
@@ -131,7 +97,7 @@ agent-teams team current
131
97
 
132
98
  ```bash
133
99
  # List team members
134
- agent-teams user list
100
+ agent-teams user list <team-id>
135
101
 
136
102
  # Get user info
137
103
  agent-teams user info <user-id>
@@ -144,28 +110,25 @@ agent-teams user me
144
110
 
145
111
  ```bash
146
112
  # Add reaction (use emoji name)
147
- agent-teams reaction add <channel-id> <message-id> <emoji>
148
- agent-teams reaction add 19:abc123@thread.tacv2 1234567890 like
113
+ agent-teams reaction add <team-id> <channel-id> <message-id> <emoji>
114
+ agent-teams reaction add <team-id> 19:abc123@thread.tacv2 1234567890 like
149
115
 
150
116
  # Remove reaction
151
- agent-teams reaction remove <channel-id> <message-id> <emoji>
152
-
153
- # List reactions on a message
154
- agent-teams reaction list <channel-id> <message-id>
117
+ agent-teams reaction remove <team-id> <channel-id> <message-id> <emoji>
155
118
  ```
156
119
 
157
120
  ### File Commands
158
121
 
159
122
  ```bash
160
123
  # Upload file
161
- agent-teams file upload <channel-id> <path>
162
- agent-teams file upload 19:abc123@thread.tacv2 ./report.pdf
124
+ agent-teams file upload <team-id> <channel-id> <path>
125
+ agent-teams file upload <team-id> 19:abc123@thread.tacv2 ./report.pdf
163
126
 
164
127
  # List files in channel
165
- agent-teams file list <channel-id>
128
+ agent-teams file list <team-id> <channel-id>
166
129
 
167
130
  # Get file info
168
- agent-teams file info <channel-id> <file-id>
131
+ agent-teams file info <team-id> <channel-id> <file-id>
169
132
  ```
170
133
 
171
134
  ### Snapshot Command
@@ -247,12 +210,12 @@ All commands return consistent error format:
247
210
  ```
248
211
 
249
212
  Common errors:
250
- - `Not authenticated`: No valid token - run `auth extract`
251
- - `Token expired`: Token has expired (60-90 min limit) - run `auth extract` again
213
+ - `Not authenticated`: No valid token (auto-extraction failed see Troubleshooting)
214
+ - `Token expired`: Token has expired and auto-refresh failed see Troubleshooting
252
215
  - `No current team set`: Run `team switch <id>` first
253
216
  - `Message not found`: Invalid message ID
254
217
  - `Channel not found`: Invalid channel ID
255
- - `401 Unauthorized`: Token expired - re-authenticate immediately
218
+ - `401 Unauthorized`: Token expired and auto-refresh failed — see Troubleshooting
256
219
 
257
220
  ## Configuration
258
221
 
@@ -284,10 +247,23 @@ Format:
284
247
  - No webhook support
285
248
  - Plain text messages only (no adaptive cards in v1)
286
249
  - User tokens only (no app tokens)
287
- - **Token expires in 60-90 minutes** - must re-authenticate frequently
250
+ - **Token expires in 60-90 minutes** - auto-refreshed, but requires Teams desktop app to be logged in
288
251
 
289
252
  ## Troubleshooting
290
253
 
254
+ ### Authentication fails or token expired
255
+
256
+ Credentials and token refresh are normally handled automatically. If auto-extraction fails, run it manually with debug output:
257
+
258
+ ```bash
259
+ agent-teams auth extract --debug
260
+ ```
261
+
262
+ Common causes:
263
+ - Teams desktop app is not installed or not logged in
264
+ - Teams Cookies database is locked or inaccessible
265
+ - Token expired and Teams desktop app session also expired (re-login to Teams)
266
+
291
267
  ### `agent-teams: command not found`
292
268
 
293
269
  **`agent-teams` is NOT the npm package name.** The npm package is `agent-messenger`.