agent-messenger 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) 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/platforms/discord/cli.d.ts.map +1 -1
  8. package/dist/src/platforms/discord/cli.js +8 -1
  9. package/dist/src/platforms/discord/cli.js.map +1 -1
  10. package/dist/src/platforms/discord/commands/file.d.ts.map +1 -1
  11. package/dist/src/platforms/discord/commands/file.js +13 -7
  12. package/dist/src/platforms/discord/commands/file.js.map +1 -1
  13. package/dist/src/platforms/discord/commands/friend.d.ts.map +1 -1
  14. package/dist/src/platforms/discord/commands/friend.js +30 -30
  15. package/dist/src/platforms/discord/commands/friend.js.map +1 -1
  16. package/dist/src/platforms/discord/commands/index.d.ts +7 -0
  17. package/dist/src/platforms/discord/commands/index.d.ts.map +1 -1
  18. package/dist/src/platforms/discord/commands/index.js +7 -0
  19. package/dist/src/platforms/discord/commands/index.js.map +1 -1
  20. package/dist/src/platforms/discord/commands/snapshot.d.ts.map +1 -1
  21. package/dist/src/platforms/discord/commands/snapshot.js +1 -2
  22. package/dist/src/platforms/discord/commands/snapshot.js.map +1 -1
  23. package/dist/src/platforms/slack/commands/file.d.ts.map +1 -1
  24. package/dist/src/platforms/slack/commands/file.js +10 -4
  25. package/dist/src/platforms/slack/commands/file.js.map +1 -1
  26. package/dist/src/platforms/slack/commands/sections.d.ts.map +1 -1
  27. package/dist/src/platforms/slack/commands/sections.js +5 -6
  28. package/dist/src/platforms/slack/commands/sections.js.map +1 -1
  29. package/dist/src/platforms/slack/commands/snapshot.d.ts.map +1 -1
  30. package/dist/src/platforms/slack/commands/snapshot.js +1 -2
  31. package/dist/src/platforms/slack/commands/snapshot.js.map +1 -1
  32. package/dist/src/platforms/slack/commands/user.js +8 -8
  33. package/dist/src/platforms/slackbot/commands/reaction.js +2 -2
  34. package/dist/src/platforms/slackbot/commands/reaction.js.map +1 -1
  35. package/dist/src/platforms/teams/cli.d.ts.map +1 -1
  36. package/dist/src/platforms/teams/cli.js +7 -1
  37. package/dist/src/platforms/teams/cli.js.map +1 -1
  38. package/dist/src/platforms/teams/commands/auth.d.ts +3 -0
  39. package/dist/src/platforms/teams/commands/auth.d.ts.map +1 -1
  40. package/dist/src/platforms/teams/commands/auth.js +208 -107
  41. package/dist/src/platforms/teams/commands/auth.js.map +1 -1
  42. package/dist/src/platforms/teams/commands/channel.js +9 -9
  43. package/dist/src/platforms/teams/commands/channel.js.map +1 -1
  44. package/dist/src/platforms/teams/commands/file.js +21 -21
  45. package/dist/src/platforms/teams/commands/file.js.map +1 -1
  46. package/dist/src/platforms/teams/commands/message.js +12 -12
  47. package/dist/src/platforms/teams/commands/message.js.map +1 -1
  48. package/dist/src/platforms/teams/commands/reaction.js +6 -6
  49. package/dist/src/platforms/teams/commands/reaction.js.map +1 -1
  50. package/dist/src/platforms/teams/commands/snapshot.d.ts.map +1 -1
  51. package/dist/src/platforms/teams/commands/snapshot.js +6 -6
  52. package/dist/src/platforms/teams/commands/snapshot.js.map +1 -1
  53. package/dist/src/platforms/teams/commands/team.d.ts.map +1 -1
  54. package/dist/src/platforms/teams/commands/team.js +21 -25
  55. package/dist/src/platforms/teams/commands/team.js.map +1 -1
  56. package/dist/src/platforms/teams/commands/user.js +9 -9
  57. package/dist/src/platforms/teams/commands/user.js.map +1 -1
  58. package/dist/src/platforms/teams/credential-manager.d.ts +15 -2
  59. package/dist/src/platforms/teams/credential-manager.d.ts.map +1 -1
  60. package/dist/src/platforms/teams/credential-manager.js +110 -28
  61. package/dist/src/platforms/teams/credential-manager.js.map +1 -1
  62. package/dist/src/platforms/teams/ensure-auth.d.ts.map +1 -1
  63. package/dist/src/platforms/teams/ensure-auth.js +46 -16
  64. package/dist/src/platforms/teams/ensure-auth.js.map +1 -1
  65. package/dist/src/platforms/teams/token-extractor.d.ts +8 -2
  66. package/dist/src/platforms/teams/token-extractor.d.ts.map +1 -1
  67. package/dist/src/platforms/teams/token-extractor.js +36 -24
  68. package/dist/src/platforms/teams/token-extractor.js.map +1 -1
  69. package/dist/src/platforms/teams/types.d.ts +121 -0
  70. package/dist/src/platforms/teams/types.d.ts.map +1 -1
  71. package/dist/src/platforms/teams/types.js +16 -0
  72. package/dist/src/platforms/teams/types.js.map +1 -1
  73. package/e2e/README.md +1 -1
  74. package/package.json +1 -1
  75. package/skills/agent-discord/SKILL.md +5 -0
  76. package/skills/agent-slack/SKILL.md +11 -17
  77. package/skills/agent-teams/SKILL.md +21 -24
  78. package/skills/agent-teams/references/common-patterns.md +63 -49
  79. package/src/platforms/discord/cli.ts +14 -0
  80. package/src/platforms/discord/commands/file.ts +13 -7
  81. package/src/platforms/discord/commands/friend.ts +34 -34
  82. package/src/platforms/discord/commands/index.ts +7 -0
  83. package/src/platforms/discord/commands/snapshot.ts +1 -2
  84. package/src/platforms/slack/commands/file.ts +12 -4
  85. package/src/platforms/slack/commands/sections.ts +8 -9
  86. package/src/platforms/slack/commands/snapshot.ts +1 -2
  87. package/src/platforms/slack/commands/user.ts +8 -8
  88. package/src/platforms/slackbot/commands/reaction.ts +2 -2
  89. package/src/platforms/teams/cli.ts +7 -0
  90. package/src/platforms/teams/commands/auth.test.ts +6 -5
  91. package/src/platforms/teams/commands/auth.ts +283 -120
  92. package/src/platforms/teams/commands/channel.test.ts +10 -4
  93. package/src/platforms/teams/commands/channel.ts +9 -9
  94. package/src/platforms/teams/commands/file.test.ts +9 -3
  95. package/src/platforms/teams/commands/file.ts +21 -21
  96. package/src/platforms/teams/commands/message.test.ts +9 -3
  97. package/src/platforms/teams/commands/message.ts +12 -12
  98. package/src/platforms/teams/commands/reaction.test.ts +9 -3
  99. package/src/platforms/teams/commands/reaction.ts +6 -6
  100. package/src/platforms/teams/commands/snapshot.ts +6 -6
  101. package/src/platforms/teams/commands/team.test.ts +19 -12
  102. package/src/platforms/teams/commands/team.ts +22 -28
  103. package/src/platforms/teams/commands/user.ts +9 -9
  104. package/src/platforms/teams/credential-manager.test.ts +30 -24
  105. package/src/platforms/teams/credential-manager.ts +106 -31
  106. package/src/platforms/teams/ensure-auth.test.ts +125 -26
  107. package/src/platforms/teams/ensure-auth.ts +47 -15
  108. package/src/platforms/teams/token-extractor.test.ts +116 -85
  109. package/src/platforms/teams/token-extractor.ts +65 -97
  110. package/src/platforms/teams/types.test.ts +31 -13
  111. package/src/platforms/teams/types.ts +45 -0
@@ -3,6 +3,7 @@ import { mkdir, readFile, rm, writeFile } from 'node:fs/promises';
3
3
  import { homedir } from 'node:os';
4
4
  import { join } from 'node:path';
5
5
  export class TeamsCredentialManager {
6
+ static accountOverride;
6
7
  configDir;
7
8
  credentialsPath;
8
9
  constructor(configDir) {
@@ -15,7 +16,8 @@ export class TeamsCredentialManager {
15
16
  }
16
17
  try {
17
18
  const content = await readFile(this.credentialsPath, 'utf-8');
18
- return JSON.parse(content);
19
+ const raw = JSON.parse(content);
20
+ return this.migrateIfNeeded(raw);
19
21
  }
20
22
  catch {
21
23
  return null;
@@ -25,45 +27,115 @@ export class TeamsCredentialManager {
25
27
  await mkdir(this.configDir, { recursive: true });
26
28
  await writeFile(this.credentialsPath, JSON.stringify(config, null, 2), { mode: 0o600 });
27
29
  }
30
+ migrateIfNeeded(raw) {
31
+ if ('accounts' in raw && raw.accounts) {
32
+ return raw;
33
+ }
34
+ const legacy = raw;
35
+ const account = {
36
+ token: legacy.token,
37
+ token_expires_at: legacy.token_expires_at,
38
+ account_type: 'work',
39
+ current_team: legacy.current_team,
40
+ teams: legacy.teams,
41
+ };
42
+ return {
43
+ current_account: 'work',
44
+ accounts: { work: account },
45
+ };
46
+ }
47
+ resolveAccountKey(config) {
48
+ return TeamsCredentialManager.accountOverride ?? config.current_account;
49
+ }
50
+ async getCurrentAccount() {
51
+ const config = await this.loadConfig();
52
+ if (!config)
53
+ return null;
54
+ const key = this.resolveAccountKey(config);
55
+ if (!key)
56
+ return null;
57
+ return config.accounts[key] ?? null;
58
+ }
59
+ resolveCurrentAccount(config) {
60
+ const key = this.resolveAccountKey(config);
61
+ if (!key)
62
+ return null;
63
+ return config.accounts[key] ?? null;
64
+ }
28
65
  async getToken() {
29
66
  const config = await this.loadConfig();
30
- return config?.token ?? null;
67
+ if (!config)
68
+ return null;
69
+ return this.resolveCurrentAccount(config)?.token ?? null;
70
+ }
71
+ async getTokenWithExpiry() {
72
+ const config = await this.loadConfig();
73
+ if (!config)
74
+ return null;
75
+ const account = this.resolveCurrentAccount(config);
76
+ if (!account?.token)
77
+ return null;
78
+ return { token: account.token, tokenExpiresAt: account.token_expires_at };
31
79
  }
32
- async setToken(token, expiresAt) {
80
+ async setToken(token, accountType, expiresAt) {
33
81
  let config = await this.loadConfig();
34
82
  if (!config) {
35
- config = {
36
- token,
37
- current_team: null,
38
- teams: {},
39
- };
83
+ config = { current_account: accountType, accounts: {} };
40
84
  }
41
- config.token = token;
42
- if (expiresAt !== undefined) {
43
- config.token_expires_at = expiresAt;
85
+ const existing = config.accounts[accountType];
86
+ config.accounts[accountType] = {
87
+ token,
88
+ token_expires_at: expiresAt,
89
+ account_type: accountType,
90
+ user_name: existing?.user_name,
91
+ current_team: existing?.current_team ?? null,
92
+ teams: existing?.teams ?? {},
93
+ };
94
+ if (!config.current_account) {
95
+ config.current_account = accountType;
44
96
  }
45
97
  await this.saveConfig(config);
46
98
  }
47
99
  async getCurrentTeam() {
48
100
  const config = await this.loadConfig();
49
- if (!config?.current_team) {
101
+ if (!config)
50
102
  return null;
51
- }
52
- return config.teams[config.current_team] ?? null;
103
+ const account = this.resolveCurrentAccount(config);
104
+ if (!account?.current_team)
105
+ return null;
106
+ return account.teams[account.current_team] ?? null;
53
107
  }
54
108
  async setCurrentTeam(teamId, teamName) {
55
- let config = await this.loadConfig();
56
- if (!config) {
57
- config = {
58
- token: '',
59
- current_team: null,
60
- teams: {},
61
- };
62
- }
63
- config.current_team = teamId;
64
- config.teams[teamId] = { team_id: teamId, team_name: teamName };
109
+ const config = await this.loadConfig();
110
+ if (!config)
111
+ return;
112
+ const account = this.resolveCurrentAccount(config);
113
+ if (!account)
114
+ return;
115
+ account.current_team = teamId;
116
+ account.teams[teamId] = { team_id: teamId, team_name: teamName };
117
+ await this.saveConfig(config);
118
+ }
119
+ async getCurrentAccountType() {
120
+ const config = await this.loadConfig();
121
+ if (!config)
122
+ return null;
123
+ const key = this.resolveAccountKey(config);
124
+ return key ?? null;
125
+ }
126
+ async setCurrentAccount(accountType) {
127
+ const config = await this.loadConfig();
128
+ if (!config)
129
+ return;
130
+ if (!config.accounts[accountType])
131
+ return;
132
+ config.current_account = accountType;
65
133
  await this.saveConfig(config);
66
134
  }
135
+ async getAccounts() {
136
+ const config = await this.loadConfig();
137
+ return config?.accounts ?? {};
138
+ }
67
139
  async clearCredentials() {
68
140
  if (existsSync(this.credentialsPath)) {
69
141
  await rm(this.credentialsPath);
@@ -71,11 +143,21 @@ export class TeamsCredentialManager {
71
143
  }
72
144
  async isTokenExpired() {
73
145
  const config = await this.loadConfig();
74
- if (!config?.token_expires_at) {
146
+ if (!config)
75
147
  return true;
76
- }
77
- const expiresAt = new Date(config.token_expires_at);
78
- return expiresAt.getTime() <= Date.now();
148
+ const account = this.resolveCurrentAccount(config);
149
+ if (!account?.token_expires_at)
150
+ return true;
151
+ return new Date(account.token_expires_at).getTime() <= Date.now();
152
+ }
153
+ async isAccountTokenExpired(accountType) {
154
+ const config = await this.loadConfig();
155
+ if (!config)
156
+ return true;
157
+ const account = config.accounts[accountType];
158
+ if (!account?.token_expires_at)
159
+ return true;
160
+ return new Date(account.token_expires_at).getTime() <= Date.now();
79
161
  }
80
162
  }
81
163
  //# sourceMappingURL=credential-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential-manager.js","sourceRoot":"","sources":["../../../../src/platforms/teams/credential-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-manager.js","sourceRoot":"","sources":["../../../../src/platforms/teams/credential-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
1
+ {"version":3,"file":"ensure-auth.d.ts","sourceRoot":"","sources":["../../../../src/platforms/teams/ensure-auth.ts"],"names":[],"mappings":"AAKA,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAoDrD"}
@@ -5,28 +5,58 @@ export async function ensureTeamsAuth() {
5
5
  try {
6
6
  const credManager = new TeamsCredentialManager();
7
7
  const config = await credManager.loadConfig();
8
- if (config?.token && !(await credManager.isTokenExpired()))
8
+ if (config && hasValidToken(config))
9
9
  return;
10
10
  const extractor = new TeamsTokenExtractor();
11
11
  const extracted = await extractor.extract();
12
- if (!extracted)
12
+ if (extracted.length === 0)
13
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 };
14
+ const newConfig = {
15
+ current_account: config?.current_account ?? null,
16
+ accounts: { ...config?.accounts },
17
+ };
18
+ for (const { token, accountType } of extracted) {
19
+ try {
20
+ const client = new TeamsClient(token);
21
+ await client.testAuth();
22
+ const teams = await client.listTeams();
23
+ if (teams.length === 0)
24
+ continue;
25
+ const teamMap = {};
26
+ for (const team of teams) {
27
+ teamMap[team.id] = { team_id: team.id, team_name: team.name };
28
+ }
29
+ const existing = newConfig.accounts[accountType];
30
+ const account = {
31
+ token,
32
+ token_expires_at: new Date(Date.now() + 60 * 60 * 1000).toISOString(),
33
+ account_type: accountType,
34
+ user_name: existing?.user_name,
35
+ current_team: existing?.current_team ?? teams[0].id,
36
+ teams: teamMap,
37
+ };
38
+ newConfig.accounts[accountType] = account;
39
+ if (!newConfig.current_account) {
40
+ newConfig.current_account = accountType;
41
+ }
42
+ }
43
+ catch (error) {
44
+ console.error(`[agent-teams] Skipping ${accountType} account: ${error.message}`);
45
+ }
46
+ }
47
+ if (Object.keys(newConfig.accounts).length > 0) {
48
+ await credManager.saveConfig(newConfig);
22
49
  }
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
50
  }
30
51
  catch { }
31
52
  }
53
+ function hasValidToken(config) {
54
+ const key = TeamsCredentialManager.accountOverride ?? config.current_account;
55
+ if (!key)
56
+ return false;
57
+ const account = config.accounts[key];
58
+ if (!account?.token || !account.token_expires_at)
59
+ return false;
60
+ return new Date(account.token_expires_at).getTime() > Date.now();
61
+ }
32
62
  //# sourceMappingURL=ensure-auth.js.map
@@ -1 +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"}
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;AAGvD,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,IAAI,aAAa,CAAC,MAAM,CAAC;YAAE,OAAM;QAE3C,MAAM,SAAS,GAAG,IAAI,mBAAmB,EAAE,CAAA;QAC3C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;QAC3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAElC,MAAM,SAAS,GAAgB;YAC7B,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,IAAI;YAChD,QAAQ,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE;SAClC,CAAA;QAED,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,CAAA;gBACrC,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAEvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;gBACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAQ;gBAEhC,MAAM,OAAO,GAA2D,EAAE,CAAA;gBAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;gBAC/D,CAAC;gBAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;gBAChD,MAAM,OAAO,GAAiB;oBAC5B,KAAK;oBACL,gBAAgB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;oBACrE,YAAY,EAAE,WAAW;oBACzB,SAAS,EAAE,QAAQ,EAAE,SAAS;oBAC9B,YAAY,EAAE,QAAQ,EAAE,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;oBACnD,KAAK,EAAE,OAAO;iBACf,CAAA;gBAED,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,OAAO,CAAA;gBACzC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;oBAC/B,SAAS,CAAC,eAAe,GAAG,WAAW,CAAA;gBACzC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,WAAW,aAAc,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;YAC7F,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,MAAmB;IACxC,MAAM,GAAG,GAAG,sBAAsB,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAA;IAC5E,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAA;IAC9D,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;AAClE,CAAC"}
@@ -1,6 +1,12 @@
1
1
  import { DerivedKeyCache } from '../../shared/utils/derived-key-cache.js';
2
+ import type { TeamsAccountType } from './types.js';
2
3
  export interface ExtractedTeamsToken {
3
4
  token: string;
5
+ accountType: TeamsAccountType;
6
+ }
7
+ interface TeamsCookiePath {
8
+ path: string;
9
+ accountType: TeamsAccountType;
4
10
  }
5
11
  interface KeychainVariant {
6
12
  service: string;
@@ -11,12 +17,12 @@ export declare class TeamsTokenExtractor {
11
17
  private keyCache;
12
18
  private cachedKey;
13
19
  constructor(platform?: NodeJS.Platform, keyCache?: DerivedKeyCache);
14
- getTeamsCookiesPaths(): string[];
20
+ getTeamsCookiesPaths(): TeamsCookiePath[];
15
21
  getLocalStatePath(): string;
16
22
  getKeychainVariants(): KeychainVariant[];
17
23
  isValidSkypeToken(token: string): boolean;
18
24
  isEncryptedValue(value: Buffer): boolean;
19
- extract(): Promise<ExtractedTeamsToken | null>;
25
+ extract(): Promise<ExtractedTeamsToken[]>;
20
26
  private loadCachedKey;
21
27
  clearKeyCache(): Promise<void>;
22
28
  private extractFromCookiesDB;
@@ -1 +1 @@
1
- {"version":3,"file":"token-extractor.d.ts","sourceRoot":"","sources":["../../../../src/platforms/teams/token-extractor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAiBD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAAsB;gBAE3B,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,eAAe;IAKlE,oBAAoB,IAAI,MAAM,EAAE;IAiGhC,iBAAiB,IAAI,MAAM;IA2B3B,mBAAmB,IAAI,eAAe,EAAE;IAgBxC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMzC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMlC,OAAO,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAWtC,aAAa;IASrB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;YAKtB,oBAAoB;YAcpB,cAAc;IAe5B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,eAAe;YAUT,iBAAiB;IAwC/B,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,aAAa;IAmBf,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAKxC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,mBAAmB;CAiB5B"}
1
+ {"version":3,"file":"token-extractor.d.ts","sourceRoot":"","sources":["../../../../src/platforms/teams/token-extractor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI/C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,gBAAgB,CAAA;CAC9B;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,gBAAgB,CAAA;CAC9B;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAiBD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAAsB;gBAE3B,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,eAAe;IAKlE,oBAAoB,IAAI,eAAe,EAAE;IAwDzC,iBAAiB,IAAI,MAAM;IA2B3B,mBAAmB,IAAI,eAAe,EAAE;IAgBxC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMzC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMlC,OAAO,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAKjC,aAAa;IASrB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;YAKtB,oBAAoB;YAoBpB,cAAc;IAc5B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,eAAe;YAUT,iBAAiB;IAwC/B,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,aAAa;IAmBf,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAKxC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,mBAAmB;CAiB5B"}
@@ -1,9 +1,11 @@
1
1
  import { execSync } from 'node:child_process';
2
2
  import { createDecipheriv, pbkdf2Sync } from 'node:crypto';
3
3
  import { copyFileSync, existsSync, readFileSync, unlinkSync } from 'node:fs';
4
+ import { createRequire } from 'node:module';
4
5
  import { homedir, tmpdir } from 'node:os';
5
6
  import { join } from 'node:path';
6
7
  import { DerivedKeyCache } from '../../shared/utils/derived-key-cache.js';
8
+ const require = createRequire(import.meta.url);
7
9
  const TEAMS_PROCESS_NAMES = {
8
10
  darwin: 'Microsoft Teams',
9
11
  win32: 'Teams.exe',
@@ -27,25 +29,34 @@ export class TeamsTokenExtractor {
27
29
  }
28
30
  getTeamsCookiesPaths() {
29
31
  switch (this.platform) {
30
- case 'darwin':
32
+ case 'darwin': {
33
+ const ebWebViewBase = join(homedir(), 'Library', 'Containers', 'com.microsoft.teams2', 'Data', 'Library', 'Application Support', 'Microsoft', 'MSTeams', 'EBWebView');
31
34
  return [
32
- join(homedir(), 'Library', 'Containers', 'com.microsoft.teams2', 'Data', 'Library', 'Application Support', 'Microsoft', 'MSTeams', 'EBWebView', 'WV2Profile_tfw', 'Cookies'),
33
- join(homedir(), 'Library', 'Containers', 'com.microsoft.teams2', 'Data', 'Library', 'Application Support', 'Microsoft', 'MSTeams', 'EBWebView', 'WV2Profile_tfl', 'Cookies'),
34
- join(homedir(), 'Library', 'Containers', 'com.microsoft.teams2', 'Data', 'Library', 'Application Support', 'Microsoft', 'MSTeams', 'EBWebView', 'Default', 'Cookies'),
35
- join(homedir(), 'Library', 'Application Support', 'Microsoft', 'Teams', 'Cookies'),
35
+ { path: join(ebWebViewBase, 'WV2Profile_tfw', 'Cookies'), accountType: 'work' },
36
+ { path: join(ebWebViewBase, 'WV2Profile_tfl', 'Cookies'), accountType: 'personal' },
37
+ { path: join(ebWebViewBase, 'Default', 'Cookies'), accountType: 'work' },
38
+ {
39
+ path: join(homedir(), 'Library', 'Application Support', 'Microsoft', 'Teams', 'Cookies'),
40
+ accountType: 'work',
41
+ },
36
42
  ];
43
+ }
37
44
  case 'linux':
38
- return [join(homedir(), '.config', 'Microsoft', 'Microsoft Teams', 'Cookies')];
45
+ return [
46
+ {
47
+ path: join(homedir(), '.config', 'Microsoft', 'Microsoft Teams', 'Cookies'),
48
+ accountType: 'work',
49
+ },
50
+ ];
39
51
  case 'win32': {
40
52
  const localAppData = process.env.LOCALAPPDATA || join(homedir(), 'AppData', 'Local');
41
53
  const appdata = process.env.APPDATA || join(homedir(), 'AppData', 'Roaming');
54
+ const ebWebViewBase = join(localAppData, 'Packages', 'MSTeams_8wekyb3d8bbwe', 'LocalCache', 'Microsoft', 'MSTeams', 'EBWebView');
42
55
  return [
43
- // New Teams (MSIX/Store) - WebView2 profile paths
44
- join(localAppData, 'Packages', 'MSTeams_8wekyb3d8bbwe', 'LocalCache', 'Microsoft', 'MSTeams', 'EBWebView', 'WV2Profile_tfw', 'Cookies'),
45
- join(localAppData, 'Packages', 'MSTeams_8wekyb3d8bbwe', 'LocalCache', 'Microsoft', 'MSTeams', 'EBWebView', 'WV2Profile_tfl', 'Cookies'),
46
- join(localAppData, 'Packages', 'MSTeams_8wekyb3d8bbwe', 'LocalCache', 'Microsoft', 'MSTeams', 'EBWebView', 'Default', 'Cookies'),
47
- // Classic Teams fallback
48
- join(appdata, 'Microsoft', 'Teams', 'Cookies'),
56
+ { path: join(ebWebViewBase, 'WV2Profile_tfw', 'Cookies'), accountType: 'work' },
57
+ { path: join(ebWebViewBase, 'WV2Profile_tfl', 'Cookies'), accountType: 'personal' },
58
+ { path: join(ebWebViewBase, 'Default', 'Cookies'), accountType: 'work' },
59
+ { path: join(appdata, 'Microsoft', 'Teams', 'Cookies'), accountType: 'work' },
49
60
  ];
50
61
  }
51
62
  default:
@@ -99,11 +110,7 @@ export class TeamsTokenExtractor {
99
110
  }
100
111
  async extract() {
101
112
  await this.loadCachedKey();
102
- const cookieToken = await this.extractFromCookiesDB();
103
- if (cookieToken && this.isValidSkypeToken(cookieToken)) {
104
- return { token: cookieToken };
105
- }
106
- return null;
113
+ return this.extractFromCookiesDB();
107
114
  }
108
115
  async loadCachedKey() {
109
116
  if (this.platform !== 'darwin')
@@ -118,16 +125,22 @@ export class TeamsTokenExtractor {
118
125
  this.cachedKey = null;
119
126
  }
120
127
  async extractFromCookiesDB() {
121
- const dbPaths = this.getTeamsCookiesPaths();
122
- for (const dbPath of dbPaths) {
128
+ const cookiePaths = this.getTeamsCookiesPaths();
129
+ const results = [];
130
+ const seenAccountTypes = new Set();
131
+ for (const { path: dbPath, accountType } of cookiePaths) {
123
132
  if (!dbPath || !existsSync(dbPath))
124
133
  continue;
125
- // Try copy-first strategy to handle file locking
134
+ // Skip fallback paths if we already have a token for this account type
135
+ if (seenAccountTypes.has(accountType))
136
+ continue;
126
137
  const token = await this.copyAndExtract(dbPath);
127
- if (token)
128
- return token;
138
+ if (token && this.isValidSkypeToken(token)) {
139
+ results.push({ token, accountType });
140
+ seenAccountTypes.add(accountType);
141
+ }
129
142
  }
130
- return null;
143
+ return results;
131
144
  }
132
145
  async copyAndExtract(dbPath) {
133
146
  const tempPath = join(tmpdir(), `teams-cookies-${Date.now()}`);
@@ -138,7 +151,6 @@ export class TeamsTokenExtractor {
138
151
  return token;
139
152
  }
140
153
  catch {
141
- // File locked or copy failed
142
154
  this.cleanupTempFile(tempPath);
143
155
  return null;
144
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token-extractor.js","sourceRoot":"","sources":["../../../../src/platforms/teams/token-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-extractor.js","sourceRoot":"","sources":["../../../../src/platforms/teams/token-extractor.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,24 @@ export interface TeamsCredentials {
44
44
  token: string;
45
45
  cookie?: string;
46
46
  }
47
+ export type TeamsAccountType = 'work' | 'personal';
48
+ export interface TeamsAccount {
49
+ token: string;
50
+ token_expires_at?: string;
51
+ account_type: TeamsAccountType;
52
+ user_name?: string;
53
+ current_team: string | null;
54
+ teams: Record<string, {
55
+ team_id: string;
56
+ team_name: string;
57
+ }>;
58
+ }
47
59
  export interface TeamsConfig {
60
+ current_account: string | null;
61
+ accounts: Record<string, TeamsAccount>;
62
+ }
63
+ /** @deprecated Legacy single-account config format for migration */
64
+ export interface TeamsConfigLegacy {
48
65
  current_team: string | null;
49
66
  token: string;
50
67
  token_expires_at?: string;
@@ -171,7 +188,111 @@ export declare const TeamsCredentialsSchema: z.ZodObject<{
171
188
  token: string;
172
189
  cookie?: string | undefined;
173
190
  }>;
191
+ export declare const TeamsAccountTypeSchema: z.ZodEnum<["work", "personal"]>;
192
+ export declare const TeamsAccountSchema: z.ZodObject<{
193
+ token: z.ZodString;
194
+ token_expires_at: z.ZodOptional<z.ZodString>;
195
+ account_type: z.ZodEnum<["work", "personal"]>;
196
+ user_name: z.ZodOptional<z.ZodString>;
197
+ current_team: z.ZodNullable<z.ZodString>;
198
+ teams: z.ZodRecord<z.ZodString, z.ZodObject<{
199
+ team_id: z.ZodString;
200
+ team_name: z.ZodString;
201
+ }, "strip", z.ZodTypeAny, {
202
+ team_id: string;
203
+ team_name: string;
204
+ }, {
205
+ team_id: string;
206
+ team_name: string;
207
+ }>>;
208
+ }, "strip", z.ZodTypeAny, {
209
+ teams: Record<string, {
210
+ team_id: string;
211
+ team_name: string;
212
+ }>;
213
+ token: string;
214
+ account_type: "work" | "personal";
215
+ current_team: string | null;
216
+ token_expires_at?: string | undefined;
217
+ user_name?: string | undefined;
218
+ }, {
219
+ teams: Record<string, {
220
+ team_id: string;
221
+ team_name: string;
222
+ }>;
223
+ token: string;
224
+ account_type: "work" | "personal";
225
+ current_team: string | null;
226
+ token_expires_at?: string | undefined;
227
+ user_name?: string | undefined;
228
+ }>;
174
229
  export declare const TeamsConfigSchema: z.ZodObject<{
230
+ current_account: z.ZodNullable<z.ZodString>;
231
+ accounts: z.ZodRecord<z.ZodString, z.ZodObject<{
232
+ token: z.ZodString;
233
+ token_expires_at: z.ZodOptional<z.ZodString>;
234
+ account_type: z.ZodEnum<["work", "personal"]>;
235
+ user_name: z.ZodOptional<z.ZodString>;
236
+ current_team: z.ZodNullable<z.ZodString>;
237
+ teams: z.ZodRecord<z.ZodString, z.ZodObject<{
238
+ team_id: z.ZodString;
239
+ team_name: z.ZodString;
240
+ }, "strip", z.ZodTypeAny, {
241
+ team_id: string;
242
+ team_name: string;
243
+ }, {
244
+ team_id: string;
245
+ team_name: string;
246
+ }>>;
247
+ }, "strip", z.ZodTypeAny, {
248
+ teams: Record<string, {
249
+ team_id: string;
250
+ team_name: string;
251
+ }>;
252
+ token: string;
253
+ account_type: "work" | "personal";
254
+ current_team: string | null;
255
+ token_expires_at?: string | undefined;
256
+ user_name?: string | undefined;
257
+ }, {
258
+ teams: Record<string, {
259
+ team_id: string;
260
+ team_name: string;
261
+ }>;
262
+ token: string;
263
+ account_type: "work" | "personal";
264
+ current_team: string | null;
265
+ token_expires_at?: string | undefined;
266
+ user_name?: string | undefined;
267
+ }>>;
268
+ }, "strip", z.ZodTypeAny, {
269
+ current_account: string | null;
270
+ accounts: Record<string, {
271
+ teams: Record<string, {
272
+ team_id: string;
273
+ team_name: string;
274
+ }>;
275
+ token: string;
276
+ account_type: "work" | "personal";
277
+ current_team: string | null;
278
+ token_expires_at?: string | undefined;
279
+ user_name?: string | undefined;
280
+ }>;
281
+ }, {
282
+ current_account: string | null;
283
+ accounts: Record<string, {
284
+ teams: Record<string, {
285
+ team_id: string;
286
+ team_name: string;
287
+ }>;
288
+ token: string;
289
+ account_type: "work" | "personal";
290
+ current_team: string | null;
291
+ token_expires_at?: string | undefined;
292
+ user_name?: string | undefined;
293
+ }>;
294
+ }>;
295
+ export declare const TeamsConfigLegacySchema: z.ZodObject<{
175
296
  current_team: z.ZodNullable<z.ZodString>;
176
297
  token: z.ZodString;
177
298
  token_expires_at: z.ZodOptional<z.ZodString>;