agent-messenger 1.5.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.
- package/.claude-plugin/plugin.json +1 -1
- package/dist/package.json +1 -1
- package/dist/src/platforms/teams/cli.d.ts.map +1 -1
- package/dist/src/platforms/teams/cli.js +7 -1
- package/dist/src/platforms/teams/cli.js.map +1 -1
- package/dist/src/platforms/teams/commands/auth.d.ts +3 -0
- package/dist/src/platforms/teams/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/teams/commands/auth.js +208 -107
- package/dist/src/platforms/teams/commands/auth.js.map +1 -1
- package/dist/src/platforms/teams/commands/channel.js +9 -9
- package/dist/src/platforms/teams/commands/channel.js.map +1 -1
- package/dist/src/platforms/teams/commands/file.js +9 -9
- package/dist/src/platforms/teams/commands/file.js.map +1 -1
- package/dist/src/platforms/teams/commands/message.js +12 -12
- package/dist/src/platforms/teams/commands/message.js.map +1 -1
- package/dist/src/platforms/teams/commands/reaction.js +6 -6
- package/dist/src/platforms/teams/commands/reaction.js.map +1 -1
- package/dist/src/platforms/teams/commands/snapshot.d.ts.map +1 -1
- package/dist/src/platforms/teams/commands/snapshot.js +5 -4
- package/dist/src/platforms/teams/commands/snapshot.js.map +1 -1
- package/dist/src/platforms/teams/commands/team.d.ts.map +1 -1
- package/dist/src/platforms/teams/commands/team.js +21 -25
- package/dist/src/platforms/teams/commands/team.js.map +1 -1
- package/dist/src/platforms/teams/commands/user.js +9 -9
- package/dist/src/platforms/teams/commands/user.js.map +1 -1
- package/dist/src/platforms/teams/credential-manager.d.ts +15 -2
- package/dist/src/platforms/teams/credential-manager.d.ts.map +1 -1
- package/dist/src/platforms/teams/credential-manager.js +110 -28
- package/dist/src/platforms/teams/credential-manager.js.map +1 -1
- package/dist/src/platforms/teams/ensure-auth.d.ts.map +1 -1
- package/dist/src/platforms/teams/ensure-auth.js +46 -16
- package/dist/src/platforms/teams/ensure-auth.js.map +1 -1
- package/dist/src/platforms/teams/token-extractor.d.ts +8 -2
- package/dist/src/platforms/teams/token-extractor.d.ts.map +1 -1
- package/dist/src/platforms/teams/token-extractor.js +36 -24
- package/dist/src/platforms/teams/token-extractor.js.map +1 -1
- package/dist/src/platforms/teams/types.d.ts +121 -0
- package/dist/src/platforms/teams/types.d.ts.map +1 -1
- package/dist/src/platforms/teams/types.js +16 -0
- package/dist/src/platforms/teams/types.js.map +1 -1
- package/package.json +1 -1
- package/src/platforms/teams/cli.ts +7 -0
- package/src/platforms/teams/commands/auth.test.ts +6 -5
- package/src/platforms/teams/commands/auth.ts +283 -120
- package/src/platforms/teams/commands/channel.test.ts +10 -4
- package/src/platforms/teams/commands/channel.ts +9 -9
- package/src/platforms/teams/commands/file.test.ts +9 -3
- package/src/platforms/teams/commands/file.ts +9 -9
- package/src/platforms/teams/commands/message.test.ts +9 -3
- package/src/platforms/teams/commands/message.ts +12 -12
- package/src/platforms/teams/commands/reaction.test.ts +9 -3
- package/src/platforms/teams/commands/reaction.ts +6 -6
- package/src/platforms/teams/commands/snapshot.ts +5 -4
- package/src/platforms/teams/commands/team.test.ts +19 -12
- package/src/platforms/teams/commands/team.ts +22 -28
- package/src/platforms/teams/commands/user.ts +9 -9
- package/src/platforms/teams/credential-manager.test.ts +30 -24
- package/src/platforms/teams/credential-manager.ts +106 -31
- package/src/platforms/teams/ensure-auth.test.ts +125 -26
- package/src/platforms/teams/ensure-auth.ts +47 -15
- package/src/platforms/teams/token-extractor.test.ts +116 -85
- package/src/platforms/teams/token-extractor.ts +65 -97
- package/src/platforms/teams/types.test.ts +31 -13
- package/src/platforms/teams/types.ts +45 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-messenger",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Messaging platform interaction skills for AI agents. Interact with Slack, Discord, and Microsoft Teams - send messages, read channels, manage reactions, upload files, and more through simple CLI interfaces.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "devxoul",
|
package/dist/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/platforms/teams/cli.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/platforms/teams/cli.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAA;AA0BvD,QAAA,MAAM,OAAO,aAAgB,CAAA;AA8B7B,eAAe,OAAO,CAAA"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { Command } from 'commander';
|
|
3
3
|
import pkg from '../../../package.json' with { type: 'json' };
|
|
4
4
|
import { authCommand, channelCommand, fileCommand, messageCommand, reactionCommand, snapshotCommand, teamCommand, userCommand, } from './commands/index.js';
|
|
5
|
+
import { TeamsCredentialManager } from './credential-manager.js';
|
|
5
6
|
import { ensureTeamsAuth } from './ensure-auth.js';
|
|
6
7
|
function isAuthCommand(command) {
|
|
7
8
|
let cmd = command;
|
|
@@ -18,10 +19,15 @@ program
|
|
|
18
19
|
.description('CLI tool for Microsoft Teams communication')
|
|
19
20
|
.version(pkg.version)
|
|
20
21
|
.option('--pretty', 'Pretty-print JSON output')
|
|
21
|
-
.option('--team <id>', 'Use specific team')
|
|
22
|
+
.option('--team <id>', 'Use specific team')
|
|
23
|
+
.option('--account <type>', 'Use specific account (work or personal)');
|
|
22
24
|
program.hook('preAction', async (_thisCommand, actionCommand) => {
|
|
23
25
|
if (isAuthCommand(actionCommand))
|
|
24
26
|
return;
|
|
27
|
+
const opts = program.opts();
|
|
28
|
+
if (opts.account) {
|
|
29
|
+
TeamsCredentialManager.accountOverride = opts.account;
|
|
30
|
+
}
|
|
25
31
|
await ensureTeamsAuth();
|
|
26
32
|
});
|
|
27
33
|
program.addCommand(authCommand);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/platforms/teams/cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,GAAG,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAC7D,OAAO,EACL,WAAW,EACX,cAAc,EACd,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/platforms/teams/cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,GAAG,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAC7D,OAAO,EACL,WAAW,EACX,cAAc,EACd,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAG/C,SAAS,aAAa,CAAC,OAAoB;IACzC,IAAI,GAAG,GAAuB,OAAO,CAAA;IACrC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM;YAAE,OAAO,IAAI,CAAA;QACtC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;IAClB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,4CAA4C,CAAC;KACzD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACpB,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;KAC1C,MAAM,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,CAAA;AAExE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE;IAC9D,IAAI,aAAa,CAAC,aAAa,CAAC;QAAE,OAAM;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,sBAAsB,CAAC,eAAe,GAAG,IAAI,CAAC,OAA2B,CAAA;IAC3E,CAAC;IACD,MAAM,eAAe,EAAE,CAAA;AACzB,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAC/B,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAC/B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;AAClC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAC/B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;AAClC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;AACnC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;AACnC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAE/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAE3B,eAAe,OAAO,CAAA"}
|
|
@@ -10,5 +10,8 @@ export declare function logoutAction(options: {
|
|
|
10
10
|
export declare function statusAction(options: {
|
|
11
11
|
pretty?: boolean;
|
|
12
12
|
}): Promise<void>;
|
|
13
|
+
export declare function switchAccountAction(accountType: string, options: {
|
|
14
|
+
pretty?: boolean;
|
|
15
|
+
}): Promise<void>;
|
|
13
16
|
export declare const authCommand: Command;
|
|
14
17
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/teams/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/teams/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkJjH;AAoFD,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/E;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4D/E;AAED,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC3G;AAED,eAAO,MAAM,WAAW,SA4BrB,CAAA"}
|
|
@@ -6,112 +6,175 @@ import { TeamsCredentialManager } from '../credential-manager.js';
|
|
|
6
6
|
import { TeamsTokenExtractor } from '../token-extractor.js';
|
|
7
7
|
export async function extractAction(options) {
|
|
8
8
|
try {
|
|
9
|
-
let token;
|
|
10
9
|
if (options.token) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
console.error(`[debug] Using provided token: ${token.substring(0, 20)}...`);
|
|
14
|
-
}
|
|
10
|
+
await extractManualToken(options.token, options);
|
|
11
|
+
return;
|
|
15
12
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
console.log('');
|
|
33
|
-
}
|
|
34
|
-
if (options.debug) {
|
|
35
|
-
console.error(`[debug] Extracting Teams token...`);
|
|
36
|
-
}
|
|
37
|
-
const extracted = await extractor.extract();
|
|
38
|
-
if (!extracted) {
|
|
39
|
-
console.log(formatOutput({
|
|
40
|
-
error: 'No Teams token found. Make sure Microsoft Teams desktop app is installed and logged in.',
|
|
41
|
-
hint: 'Run with --token <token> to manually provide a token, or --debug for more info.',
|
|
42
|
-
}, options.pretty));
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
token = extracted.token;
|
|
13
|
+
const extractor = new TeamsTokenExtractor();
|
|
14
|
+
if (process.platform === 'darwin') {
|
|
15
|
+
console.log('');
|
|
16
|
+
console.log(' Extracting your Microsoft Teams credentials...');
|
|
17
|
+
console.log('');
|
|
18
|
+
console.log(' Your Mac may ask for your password to access Keychain.');
|
|
19
|
+
console.log(' This is required because Teams encrypts your login token');
|
|
20
|
+
console.log(' using macOS Keychain for security.');
|
|
21
|
+
console.log('');
|
|
22
|
+
console.log(' What happens:');
|
|
23
|
+
console.log(" 1. We read the encrypted token from Teams' cookies");
|
|
24
|
+
console.log(' 2. macOS Keychain decrypts it (requires your password)');
|
|
25
|
+
console.log(' 3. The token is stored locally in ~/.config/agent-messenger/');
|
|
26
|
+
console.log('');
|
|
27
|
+
console.log(' Your password is never stored or transmitted anywhere.');
|
|
28
|
+
console.log('');
|
|
46
29
|
}
|
|
47
30
|
if (options.debug) {
|
|
48
|
-
console.error(
|
|
31
|
+
console.error('[debug] Extracting Teams tokens from all accounts...');
|
|
49
32
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
|
|
33
|
+
const extracted = await extractor.extract();
|
|
34
|
+
if (extracted.length === 0) {
|
|
35
|
+
console.log(formatOutput({
|
|
36
|
+
error: 'No Teams token found. Make sure Microsoft Teams desktop app is installed and logged in.',
|
|
37
|
+
hint: 'Run with --token <token> to manually provide a token, or --debug for more info.',
|
|
38
|
+
}, options.pretty));
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
if (options.debug) {
|
|
42
|
+
console.error(`[debug] Found ${extracted.length} account(s)`);
|
|
43
|
+
}
|
|
44
|
+
const credManager = new TeamsCredentialManager();
|
|
45
|
+
const config = { current_account: null, accounts: {} };
|
|
46
|
+
const outputAccounts = [];
|
|
47
|
+
for (const { token, accountType } of extracted) {
|
|
61
48
|
if (options.debug) {
|
|
62
|
-
console.error(`[debug]
|
|
63
|
-
}
|
|
64
|
-
if (teams.length === 0) {
|
|
65
|
-
console.log(formatOutput({
|
|
66
|
-
error: 'No teams found. Make sure you are a member of at least one Microsoft Teams team.',
|
|
67
|
-
}, options.pretty));
|
|
68
|
-
process.exit(1);
|
|
49
|
+
console.error(`[debug] Validating ${accountType} account token...`);
|
|
69
50
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
51
|
+
try {
|
|
52
|
+
const client = new TeamsClient(token);
|
|
53
|
+
const authInfo = await client.testAuth();
|
|
54
|
+
const teams = await client.listTeams();
|
|
55
|
+
if (options.debug) {
|
|
56
|
+
console.error(`[debug] ✓ ${accountType}: ${authInfo.displayName} (${teams.length} team(s))`);
|
|
57
|
+
}
|
|
58
|
+
const teamMap = {};
|
|
59
|
+
for (const team of teams) {
|
|
60
|
+
teamMap[team.id] = { team_id: team.id, team_name: team.name };
|
|
61
|
+
}
|
|
62
|
+
const account = {
|
|
63
|
+
token,
|
|
64
|
+
token_expires_at: new Date(Date.now() + 60 * 60 * 1000).toISOString(),
|
|
65
|
+
account_type: accountType,
|
|
66
|
+
user_name: authInfo.displayName,
|
|
67
|
+
current_team: teams[0]?.id ?? null,
|
|
68
|
+
teams: teamMap,
|
|
76
69
|
};
|
|
70
|
+
config.accounts[accountType] = account;
|
|
71
|
+
if (!config.current_account) {
|
|
72
|
+
config.current_account = accountType;
|
|
73
|
+
}
|
|
74
|
+
outputAccounts.push({
|
|
75
|
+
account_type: accountType,
|
|
76
|
+
user: authInfo.displayName,
|
|
77
|
+
teams: teams.map((t) => `${t.id}/${t.name}`),
|
|
78
|
+
});
|
|
77
79
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
80
|
+
catch (error) {
|
|
81
|
+
const errorMessage = error.message;
|
|
82
|
+
const is401 = errorMessage.includes('401') || errorMessage.includes('Unauthorized');
|
|
83
|
+
if (options.debug) {
|
|
84
|
+
console.error(`[debug] ✗ ${accountType}: ${errorMessage}`);
|
|
85
|
+
}
|
|
86
|
+
if (extracted.length === 1) {
|
|
87
|
+
console.log(formatOutput({
|
|
88
|
+
error: `Token validation failed: ${errorMessage}`,
|
|
89
|
+
hint: is401
|
|
90
|
+
? 'Token expired. Open Microsoft Teams, send a message to refresh your session, then run "auth extract" again.'
|
|
91
|
+
: 'Make sure Microsoft Teams desktop app is running and you are logged in.',
|
|
92
|
+
}, options.pretty));
|
|
93
|
+
process.exit(1);
|
|
94
|
+
}
|
|
87
95
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
};
|
|
92
|
-
console.log(formatOutput(output, options.pretty));
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
const errorMessage = error.message;
|
|
96
|
-
const is401 = errorMessage.includes('401') || errorMessage.includes('Unauthorized');
|
|
97
|
-
console.log(formatOutput({
|
|
98
|
-
error: `Token validation failed: ${errorMessage}`,
|
|
99
|
-
hint: is401
|
|
100
|
-
? 'Token expired. Open Microsoft Teams, send a message to refresh your session, then run "auth extract" again.'
|
|
101
|
-
: 'Make sure Microsoft Teams desktop app is running and you are logged in.',
|
|
102
|
-
}, options.pretty));
|
|
96
|
+
}
|
|
97
|
+
if (Object.keys(config.accounts).length === 0) {
|
|
98
|
+
console.log(formatOutput({ error: 'All extracted tokens failed validation. Make sure Microsoft Teams is running and logged in.' }, options.pretty));
|
|
103
99
|
process.exit(1);
|
|
104
100
|
}
|
|
101
|
+
await credManager.saveConfig(config);
|
|
102
|
+
if (options.debug) {
|
|
103
|
+
console.error('[debug] ✓ Credentials saved');
|
|
104
|
+
}
|
|
105
|
+
console.log(formatOutput({
|
|
106
|
+
accounts: outputAccounts,
|
|
107
|
+
current_account: config.current_account,
|
|
108
|
+
}, options.pretty));
|
|
105
109
|
}
|
|
106
110
|
catch (error) {
|
|
107
111
|
handleError(error);
|
|
108
112
|
}
|
|
109
113
|
}
|
|
114
|
+
async function extractManualToken(token, options) {
|
|
115
|
+
if (options.debug) {
|
|
116
|
+
console.error(`[debug] Using provided token: ${token.substring(0, 20)}...`);
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
const client = new TeamsClient(token);
|
|
120
|
+
const authInfo = await client.testAuth();
|
|
121
|
+
const teams = await client.listTeams();
|
|
122
|
+
if (teams.length === 0) {
|
|
123
|
+
console.log(formatOutput({ error: 'No teams found. Make sure you are a member of at least one Microsoft Teams team.' }, options.pretty));
|
|
124
|
+
process.exit(1);
|
|
125
|
+
}
|
|
126
|
+
const credManager = new TeamsCredentialManager();
|
|
127
|
+
const accountType = 'work';
|
|
128
|
+
const teamMap = {};
|
|
129
|
+
for (const team of teams) {
|
|
130
|
+
teamMap[team.id] = { team_id: team.id, team_name: team.name };
|
|
131
|
+
}
|
|
132
|
+
const account = {
|
|
133
|
+
token,
|
|
134
|
+
token_expires_at: new Date(Date.now() + 60 * 60 * 1000).toISOString(),
|
|
135
|
+
account_type: accountType,
|
|
136
|
+
user_name: authInfo.displayName,
|
|
137
|
+
current_team: teams[0].id,
|
|
138
|
+
teams: teamMap,
|
|
139
|
+
};
|
|
140
|
+
const existingConfig = await credManager.loadConfig();
|
|
141
|
+
const config = existingConfig ?? { current_account: accountType, accounts: {} };
|
|
142
|
+
config.accounts[accountType] = account;
|
|
143
|
+
if (!config.current_account) {
|
|
144
|
+
config.current_account = accountType;
|
|
145
|
+
}
|
|
146
|
+
await credManager.saveConfig(config);
|
|
147
|
+
if (options.debug) {
|
|
148
|
+
console.error('[debug] ✓ Credentials saved');
|
|
149
|
+
}
|
|
150
|
+
console.log(formatOutput({
|
|
151
|
+
accounts: [
|
|
152
|
+
{
|
|
153
|
+
account_type: accountType,
|
|
154
|
+
user: authInfo.displayName,
|
|
155
|
+
teams: teams.map((t) => `${t.id}/${t.name}`),
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
current_account: accountType,
|
|
159
|
+
}, options.pretty));
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
const errorMessage = error.message;
|
|
163
|
+
const is401 = errorMessage.includes('401') || errorMessage.includes('Unauthorized');
|
|
164
|
+
console.log(formatOutput({
|
|
165
|
+
error: `Token validation failed: ${errorMessage}`,
|
|
166
|
+
hint: is401
|
|
167
|
+
? 'Token expired. Open Microsoft Teams, send a message to refresh your session, then run "auth extract" again.'
|
|
168
|
+
: 'Make sure Microsoft Teams desktop app is running and you are logged in.',
|
|
169
|
+
}, options.pretty));
|
|
170
|
+
process.exit(1);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
110
173
|
export async function logoutAction(options) {
|
|
111
174
|
try {
|
|
112
175
|
const credManager = new TeamsCredentialManager();
|
|
113
176
|
const config = await credManager.loadConfig();
|
|
114
|
-
if (!config
|
|
177
|
+
if (!config || Object.keys(config.accounts).length === 0) {
|
|
115
178
|
console.log(formatOutput({ error: 'Not authenticated. Run "auth extract" first.' }, options.pretty));
|
|
116
179
|
process.exit(1);
|
|
117
180
|
}
|
|
@@ -126,32 +189,65 @@ export async function statusAction(options) {
|
|
|
126
189
|
try {
|
|
127
190
|
const credManager = new TeamsCredentialManager();
|
|
128
191
|
const config = await credManager.loadConfig();
|
|
129
|
-
if (!config
|
|
192
|
+
if (!config || Object.keys(config.accounts).length === 0) {
|
|
130
193
|
console.log(formatOutput({ error: 'Not authenticated. Run "auth extract" first.' }, options.pretty));
|
|
131
194
|
process.exit(1);
|
|
132
195
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
196
|
+
const accountStatuses = [];
|
|
197
|
+
for (const [key, account] of Object.entries(config.accounts)) {
|
|
198
|
+
const isExpired = account.token_expires_at ? new Date(account.token_expires_at).getTime() <= Date.now() : true;
|
|
199
|
+
let displayName = account.user_name ?? null;
|
|
200
|
+
let valid = false;
|
|
201
|
+
if (!isExpired) {
|
|
202
|
+
try {
|
|
203
|
+
const client = new TeamsClient(account.token, account.token_expires_at);
|
|
204
|
+
const authInfo = await client.testAuth();
|
|
205
|
+
displayName = authInfo.displayName;
|
|
206
|
+
valid = true;
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
valid = false;
|
|
210
|
+
}
|
|
144
211
|
}
|
|
212
|
+
accountStatuses.push({
|
|
213
|
+
account_type: key,
|
|
214
|
+
authenticated: valid,
|
|
215
|
+
user: displayName,
|
|
216
|
+
teams_count: Object.keys(account.teams).length,
|
|
217
|
+
token_expires_at: account.token_expires_at ?? null,
|
|
218
|
+
token_expired: isExpired,
|
|
219
|
+
current: key === config.current_account,
|
|
220
|
+
});
|
|
145
221
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
222
|
+
console.log(formatOutput({
|
|
223
|
+
current_account: config.current_account,
|
|
224
|
+
accounts: accountStatuses,
|
|
225
|
+
}, options.pretty));
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
handleError(error);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
export async function switchAccountAction(accountType, options) {
|
|
232
|
+
try {
|
|
233
|
+
const credManager = new TeamsCredentialManager();
|
|
234
|
+
const config = await credManager.loadConfig();
|
|
235
|
+
if (!config || !config.accounts[accountType]) {
|
|
236
|
+
const available = config ? Object.keys(config.accounts).join(', ') : 'none';
|
|
237
|
+
console.log(formatOutput({
|
|
238
|
+
error: `Account not found: ${accountType}`,
|
|
239
|
+
available,
|
|
240
|
+
hint: 'Run "auth extract" to discover all accounts.',
|
|
241
|
+
}, options.pretty));
|
|
242
|
+
process.exit(1);
|
|
243
|
+
}
|
|
244
|
+
await credManager.setCurrentAccount(accountType);
|
|
245
|
+
const account = config.accounts[accountType];
|
|
246
|
+
console.log(formatOutput({
|
|
247
|
+
current_account: accountType,
|
|
248
|
+
user: account.user_name,
|
|
249
|
+
teams_count: Object.keys(account.teams).length,
|
|
250
|
+
}, options.pretty));
|
|
155
251
|
}
|
|
156
252
|
catch (error) {
|
|
157
253
|
handleError(error);
|
|
@@ -172,5 +268,10 @@ export const authCommand = new Command('auth')
|
|
|
172
268
|
.addCommand(new Command('status')
|
|
173
269
|
.description('Show authentication status')
|
|
174
270
|
.option('--pretty', 'Pretty print JSON output')
|
|
175
|
-
.action(statusAction))
|
|
271
|
+
.action(statusAction))
|
|
272
|
+
.addCommand(new Command('switch-account')
|
|
273
|
+
.description('Switch active account (work or personal)')
|
|
274
|
+
.argument('<account-type>', 'Account type: work or personal')
|
|
275
|
+
.option('--pretty', 'Pretty print JSON output')
|
|
276
|
+
.action(switchAccountAction));
|
|
176
277
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/platforms/teams/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/platforms/teams/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,12 @@ import { TeamsCredentialManager } from '../credential-manager.js';
|
|
|
6
6
|
export async function listAction(teamId, options) {
|
|
7
7
|
try {
|
|
8
8
|
const credManager = new TeamsCredentialManager();
|
|
9
|
-
const
|
|
10
|
-
if (!
|
|
9
|
+
const cred = await credManager.getTokenWithExpiry();
|
|
10
|
+
if (!cred) {
|
|
11
11
|
console.log(formatOutput({ error: 'Not authenticated. Run "auth extract" first.' }, options.pretty));
|
|
12
12
|
process.exit(1);
|
|
13
13
|
}
|
|
14
|
-
const client = new TeamsClient(
|
|
14
|
+
const client = new TeamsClient(cred.token, cred.tokenExpiresAt);
|
|
15
15
|
const channels = await client.listChannels(teamId);
|
|
16
16
|
const output = channels.map((ch) => ({
|
|
17
17
|
id: ch.id,
|
|
@@ -28,12 +28,12 @@ export async function listAction(teamId, options) {
|
|
|
28
28
|
export async function infoAction(teamId, channelId, options) {
|
|
29
29
|
try {
|
|
30
30
|
const credManager = new TeamsCredentialManager();
|
|
31
|
-
const
|
|
32
|
-
if (!
|
|
31
|
+
const cred = await credManager.getTokenWithExpiry();
|
|
32
|
+
if (!cred) {
|
|
33
33
|
console.log(formatOutput({ error: 'Not authenticated. Run "auth extract" first.' }, options.pretty));
|
|
34
34
|
process.exit(1);
|
|
35
35
|
}
|
|
36
|
-
const client = new TeamsClient(
|
|
36
|
+
const client = new TeamsClient(cred.token, cred.tokenExpiresAt);
|
|
37
37
|
const channel = await client.getChannel(teamId, channelId);
|
|
38
38
|
const output = {
|
|
39
39
|
id: channel.id,
|
|
@@ -50,12 +50,12 @@ export async function infoAction(teamId, channelId, options) {
|
|
|
50
50
|
export async function historyAction(teamId, channelId, options) {
|
|
51
51
|
try {
|
|
52
52
|
const credManager = new TeamsCredentialManager();
|
|
53
|
-
const
|
|
54
|
-
if (!
|
|
53
|
+
const cred = await credManager.getTokenWithExpiry();
|
|
54
|
+
if (!cred) {
|
|
55
55
|
console.log(formatOutput({ error: 'Not authenticated. Run "auth extract" first.' }, options.pretty));
|
|
56
56
|
process.exit(1);
|
|
57
57
|
}
|
|
58
|
-
const client = new TeamsClient(
|
|
58
|
+
const client = new TeamsClient(cred.token, cred.tokenExpiresAt);
|
|
59
59
|
const messages = await client.getMessages(teamId, channelId, options.limit || 50);
|
|
60
60
|
const output = messages.map((msg) => ({
|
|
61
61
|
id: msg.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../../../src/platforms/teams/commands/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAE9D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc,EAAE,OAA6B;IAC5E,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,sBAAsB,EAAE,CAAA;QAChD,MAAM,
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../../../src/platforms/teams/commands/channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,12 @@ import { TeamsCredentialManager } from '../credential-manager.js';
|
|
|
7
7
|
export async function uploadAction(teamId, channelId, path, options) {
|
|
8
8
|
try {
|
|
9
9
|
const credManager = new TeamsCredentialManager();
|
|
10
|
-
const
|
|
11
|
-
if (!
|
|
10
|
+
const cred = await credManager.getTokenWithExpiry();
|
|
11
|
+
if (!cred) {
|
|
12
12
|
console.log(formatOutput({ error: 'Not authenticated. Run "auth extract" first.' }, options.pretty));
|
|
13
13
|
process.exit(1);
|
|
14
14
|
}
|
|
15
|
-
const client = new TeamsClient(
|
|
15
|
+
const client = new TeamsClient(cred.token, cred.tokenExpiresAt);
|
|
16
16
|
const filePath = resolve(path);
|
|
17
17
|
const file = await client.uploadFile(teamId, channelId, filePath);
|
|
18
18
|
const output = {
|
|
@@ -31,12 +31,12 @@ export async function uploadAction(teamId, channelId, path, options) {
|
|
|
31
31
|
export async function listAction(teamId, channelId, options) {
|
|
32
32
|
try {
|
|
33
33
|
const credManager = new TeamsCredentialManager();
|
|
34
|
-
const
|
|
35
|
-
if (!
|
|
34
|
+
const cred = await credManager.getTokenWithExpiry();
|
|
35
|
+
if (!cred) {
|
|
36
36
|
console.log(formatOutput({ error: 'Not authenticated. Run "auth extract" first.' }, options.pretty));
|
|
37
37
|
process.exit(1);
|
|
38
38
|
}
|
|
39
|
-
const client = new TeamsClient(
|
|
39
|
+
const client = new TeamsClient(cred.token, cred.tokenExpiresAt);
|
|
40
40
|
const files = await client.listFiles(teamId, channelId);
|
|
41
41
|
const output = files.map((file) => ({
|
|
42
42
|
id: file.id,
|
|
@@ -54,12 +54,12 @@ export async function listAction(teamId, channelId, options) {
|
|
|
54
54
|
export async function infoAction(teamId, channelId, fileId, options) {
|
|
55
55
|
try {
|
|
56
56
|
const credManager = new TeamsCredentialManager();
|
|
57
|
-
const
|
|
58
|
-
if (!
|
|
57
|
+
const cred = await credManager.getTokenWithExpiry();
|
|
58
|
+
if (!cred) {
|
|
59
59
|
console.log(formatOutput({ error: 'Not authenticated. Run "auth extract" first.' }, options.pretty));
|
|
60
60
|
process.exit(1);
|
|
61
61
|
}
|
|
62
|
-
const client = new TeamsClient(
|
|
62
|
+
const client = new TeamsClient(cred.token, cred.tokenExpiresAt);
|
|
63
63
|
const files = await client.listFiles(teamId, channelId);
|
|
64
64
|
const fileData = files.find((f) => f.id === fileId);
|
|
65
65
|
if (!fileData) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../../src/platforms/teams/commands/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAG9D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,SAAiB,EACjB,IAAY,EACZ,OAA6B;IAE7B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,sBAAsB,EAAE,CAAA;QAChD,MAAM,
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../../src/platforms/teams/commands/file.ts"],"names":[],"mappings":"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"}
|