teams-api 0.11.0 → 0.13.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/README.md +2 -3
- package/dist/actions/message-actions.d.ts.map +1 -1
- package/dist/actions/message-actions.js +13 -1
- package/dist/actions/message-actions.js.map +1 -1
- package/dist/api/attachments.d.ts +43 -1
- package/dist/api/attachments.d.ts.map +1 -1
- package/dist/api/attachments.js +63 -3
- package/dist/api/attachments.js.map +1 -1
- package/dist/auth/interactive.d.ts.map +1 -1
- package/dist/auth/interactive.js +2 -1
- package/dist/auth/interactive.js.map +1 -1
- package/dist/browser-runtime.d.ts +25 -0
- package/dist/browser-runtime.d.ts.map +1 -0
- package/dist/browser-runtime.js +85 -0
- package/dist/browser-runtime.js.map +1 -0
- package/dist/cli.js +18 -5
- package/dist/cli.js.map +1 -1
- package/dist/credential-store.d.ts +20 -0
- package/dist/credential-store.d.ts.map +1 -0
- package/dist/credential-store.js +238 -0
- package/dist/credential-store.js.map +1 -0
- package/dist/mcp-server.js +13 -1
- package/dist/mcp-server.js.map +1 -1
- package/dist/platform.d.ts +17 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +43 -0
- package/dist/platform.js.map +1 -0
- package/dist/smart-login.d.ts +13 -0
- package/dist/smart-login.d.ts.map +1 -0
- package/dist/smart-login.js +44 -0
- package/dist/smart-login.js.map +1 -0
- package/dist/teams-client.d.ts +38 -10
- package/dist/teams-client.d.ts.map +1 -1
- package/dist/teams-client.js +129 -11
- package/dist/teams-client.js.map +1 -1
- package/dist/token-store.d.ts +3 -4
- package/dist/token-store.d.ts.map +1 -1
- package/dist/token-store.js +9 -33
- package/dist/token-store.js.map +1 -1
- package/dist/types.d.ts +22 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-platform credential storage.
|
|
3
|
+
*
|
|
4
|
+
* Provides a unified interface for securely storing and retrieving
|
|
5
|
+
* credentials across macOS, Windows, and Linux.
|
|
6
|
+
*
|
|
7
|
+
* | Platform | Mechanism |
|
|
8
|
+
* |----------|--------------------------------------------------------|
|
|
9
|
+
* | macOS | System Keychain via `security` CLI |
|
|
10
|
+
* | Windows | DPAPI encryption → file in %APPDATA%/teams-api/ |
|
|
11
|
+
* | Linux | `secret-tool` (libsecret) if available, else file with |
|
|
12
|
+
* | | 0o600 perms at ~/.config/teams-api/ |
|
|
13
|
+
*/
|
|
14
|
+
export interface CredentialStore {
|
|
15
|
+
save(account: string, data: string): void;
|
|
16
|
+
load(account: string): string | null;
|
|
17
|
+
clear(account: string): void;
|
|
18
|
+
}
|
|
19
|
+
export declare function createCredentialStore(): CredentialStore;
|
|
20
|
+
//# sourceMappingURL=credential-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../src/credential-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAcH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AA6PD,wBAAgB,qBAAqB,IAAI,eAAe,CASvD"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cross-platform credential storage.
|
|
4
|
+
*
|
|
5
|
+
* Provides a unified interface for securely storing and retrieving
|
|
6
|
+
* credentials across macOS, Windows, and Linux.
|
|
7
|
+
*
|
|
8
|
+
* | Platform | Mechanism |
|
|
9
|
+
* |----------|--------------------------------------------------------|
|
|
10
|
+
* | macOS | System Keychain via `security` CLI |
|
|
11
|
+
* | Windows | DPAPI encryption → file in %APPDATA%/teams-api/ |
|
|
12
|
+
* | Linux | `secret-tool` (libsecret) if available, else file with |
|
|
13
|
+
* | | 0o600 perms at ~/.config/teams-api/ |
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.createCredentialStore = createCredentialStore;
|
|
17
|
+
const node_child_process_1 = require("node:child_process");
|
|
18
|
+
const node_fs_1 = require("node:fs");
|
|
19
|
+
const node_os_1 = require("node:os");
|
|
20
|
+
const node_path_1 = require("node:path");
|
|
21
|
+
const node_crypto_1 = require("node:crypto");
|
|
22
|
+
// ── macOS: System Keychain ────────────────────────────────────────────
|
|
23
|
+
const KEYCHAIN_SERVICE = "teams-api";
|
|
24
|
+
class KeychainStore {
|
|
25
|
+
save(account, data) {
|
|
26
|
+
(0, node_child_process_1.execFileSync)("security", [
|
|
27
|
+
"add-generic-password",
|
|
28
|
+
"-a",
|
|
29
|
+
account,
|
|
30
|
+
"-s",
|
|
31
|
+
KEYCHAIN_SERVICE,
|
|
32
|
+
"-w",
|
|
33
|
+
data,
|
|
34
|
+
"-U",
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
load(account) {
|
|
38
|
+
try {
|
|
39
|
+
return (0, node_child_process_1.execFileSync)("security", ["find-generic-password", "-a", account, "-s", KEYCHAIN_SERVICE, "-w"], { encoding: "utf-8" }).trim();
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
clear(account) {
|
|
46
|
+
try {
|
|
47
|
+
(0, node_child_process_1.execFileSync)("security", [
|
|
48
|
+
"delete-generic-password",
|
|
49
|
+
"-a",
|
|
50
|
+
account,
|
|
51
|
+
"-s",
|
|
52
|
+
KEYCHAIN_SERVICE,
|
|
53
|
+
]);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Entry may not exist, that's fine
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// ── Windows: DPAPI encryption → file ─────────────────────────────────
|
|
61
|
+
function getWindowsStorePath() {
|
|
62
|
+
const appData = process.env.APPDATA ??
|
|
63
|
+
(0, node_path_1.join)(process.env.USERPROFILE ?? (0, node_os_1.homedir)(), "AppData", "Roaming");
|
|
64
|
+
return (0, node_path_1.join)(appData, "teams-api");
|
|
65
|
+
}
|
|
66
|
+
function accountToFileName(account) {
|
|
67
|
+
return (0, node_crypto_1.createHash)("sha256").update(account).digest("hex") + ".dat";
|
|
68
|
+
}
|
|
69
|
+
class WinCredStore {
|
|
70
|
+
getFilePath(account) {
|
|
71
|
+
const dir = getWindowsStorePath();
|
|
72
|
+
return (0, node_path_1.join)(dir, accountToFileName(account));
|
|
73
|
+
}
|
|
74
|
+
ensureDir() {
|
|
75
|
+
const dir = getWindowsStorePath();
|
|
76
|
+
if (!(0, node_fs_1.existsSync)(dir)) {
|
|
77
|
+
(0, node_fs_1.mkdirSync)(dir, { recursive: true });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
save(account, data) {
|
|
81
|
+
this.ensureDir();
|
|
82
|
+
const base64Input = Buffer.from(data, "utf-8").toString("base64");
|
|
83
|
+
// Use DPAPI to encrypt data tied to the current Windows user account
|
|
84
|
+
const encrypted = (0, node_child_process_1.execFileSync)("powershell", [
|
|
85
|
+
"-NoProfile",
|
|
86
|
+
"-Command",
|
|
87
|
+
`Add-Type -AssemblyName System.Security; ` +
|
|
88
|
+
`$bytes = [System.Convert]::FromBase64String('${base64Input}'); ` +
|
|
89
|
+
`$encrypted = [System.Security.Cryptography.ProtectedData]::Protect($bytes, $null, [System.Security.Cryptography.DataProtectionScope]::CurrentUser); ` +
|
|
90
|
+
`[System.Convert]::ToBase64String($encrypted)`,
|
|
91
|
+
], { encoding: "utf-8" }).trim();
|
|
92
|
+
(0, node_fs_1.writeFileSync)(this.getFilePath(account), encrypted, { encoding: "utf-8" });
|
|
93
|
+
}
|
|
94
|
+
load(account) {
|
|
95
|
+
const filePath = this.getFilePath(account);
|
|
96
|
+
if (!(0, node_fs_1.existsSync)(filePath)) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
const encrypted = (0, node_fs_1.readFileSync)(filePath, { encoding: "utf-8" }).trim();
|
|
101
|
+
const decrypted = (0, node_child_process_1.execFileSync)("powershell", [
|
|
102
|
+
"-NoProfile",
|
|
103
|
+
"-Command",
|
|
104
|
+
`Add-Type -AssemblyName System.Security; ` +
|
|
105
|
+
`$encrypted = [System.Convert]::FromBase64String('${encrypted}'); ` +
|
|
106
|
+
`$bytes = [System.Security.Cryptography.ProtectedData]::Unprotect($encrypted, $null, [System.Security.Cryptography.DataProtectionScope]::CurrentUser); ` +
|
|
107
|
+
`[System.Text.Encoding]::UTF8.GetString($bytes)`,
|
|
108
|
+
], { encoding: "utf-8" }).trim();
|
|
109
|
+
return decrypted;
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
// Encrypted data may be corrupted or from a different user
|
|
113
|
+
this.clear(account);
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
clear(account) {
|
|
118
|
+
const filePath = this.getFilePath(account);
|
|
119
|
+
try {
|
|
120
|
+
(0, node_fs_1.unlinkSync)(filePath);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// File may not exist, that's fine
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// ── Linux: secret-tool or file-based fallback ────────────────────────
|
|
128
|
+
function getLinuxStorePath() {
|
|
129
|
+
const configDir = process.env.XDG_CONFIG_HOME ?? (0, node_path_1.join)(process.env.HOME ?? (0, node_os_1.homedir)(), ".config");
|
|
130
|
+
return (0, node_path_1.join)(configDir, "teams-api");
|
|
131
|
+
}
|
|
132
|
+
function hasSecretTool() {
|
|
133
|
+
try {
|
|
134
|
+
(0, node_child_process_1.execFileSync)("which", ["secret-tool"], { stdio: "pipe" });
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
class LinuxStore {
|
|
142
|
+
useSecretTool;
|
|
143
|
+
constructor() {
|
|
144
|
+
this.useSecretTool = hasSecretTool();
|
|
145
|
+
}
|
|
146
|
+
getFilePath(account) {
|
|
147
|
+
const dir = getLinuxStorePath();
|
|
148
|
+
return (0, node_path_1.join)(dir, accountToFileName(account));
|
|
149
|
+
}
|
|
150
|
+
ensureDir() {
|
|
151
|
+
const dir = getLinuxStorePath();
|
|
152
|
+
if (!(0, node_fs_1.existsSync)(dir)) {
|
|
153
|
+
(0, node_fs_1.mkdirSync)(dir, { recursive: true, mode: 0o700 });
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
save(account, data) {
|
|
157
|
+
if (this.useSecretTool) {
|
|
158
|
+
try {
|
|
159
|
+
(0, node_child_process_1.execFileSync)("secret-tool", [
|
|
160
|
+
"store",
|
|
161
|
+
"--label",
|
|
162
|
+
"teams-api",
|
|
163
|
+
"service",
|
|
164
|
+
KEYCHAIN_SERVICE,
|
|
165
|
+
"account",
|
|
166
|
+
account,
|
|
167
|
+
], { input: data, encoding: "utf-8" });
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
// Fall through to file-based storage
|
|
172
|
+
this.useSecretTool = false;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
this.ensureDir();
|
|
176
|
+
(0, node_fs_1.writeFileSync)(this.getFilePath(account), data, {
|
|
177
|
+
encoding: "utf-8",
|
|
178
|
+
mode: 0o600,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
load(account) {
|
|
182
|
+
if (this.useSecretTool) {
|
|
183
|
+
try {
|
|
184
|
+
return (0, node_child_process_1.execFileSync)("secret-tool", ["lookup", "service", KEYCHAIN_SERVICE, "account", account], { encoding: "utf-8" }).trim();
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
// Secret not found or secret-tool failed
|
|
188
|
+
return null;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
const filePath = this.getFilePath(account);
|
|
192
|
+
if (!(0, node_fs_1.existsSync)(filePath)) {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
try {
|
|
196
|
+
return (0, node_fs_1.readFileSync)(filePath, { encoding: "utf-8" }).trim();
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
return null;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
clear(account) {
|
|
203
|
+
if (this.useSecretTool) {
|
|
204
|
+
try {
|
|
205
|
+
(0, node_child_process_1.execFileSync)("secret-tool", [
|
|
206
|
+
"clear",
|
|
207
|
+
"service",
|
|
208
|
+
KEYCHAIN_SERVICE,
|
|
209
|
+
"account",
|
|
210
|
+
account,
|
|
211
|
+
]);
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
// Entry may not exist
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
// Also clean up the file-based fallback
|
|
218
|
+
const filePath = this.getFilePath(account);
|
|
219
|
+
try {
|
|
220
|
+
(0, node_fs_1.unlinkSync)(filePath);
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
// File may not exist
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
// ── Factory ──────────────────────────────────────────────────────────
|
|
228
|
+
function createCredentialStore() {
|
|
229
|
+
switch (process.platform) {
|
|
230
|
+
case "darwin":
|
|
231
|
+
return new KeychainStore();
|
|
232
|
+
case "win32":
|
|
233
|
+
return new WinCredStore();
|
|
234
|
+
default:
|
|
235
|
+
return new LinuxStore();
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=credential-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../src/credential-store.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -58,6 +58,7 @@ async function getClient(toolEmail) {
|
|
|
58
58
|
const email = process.env.TEAMS_EMAIL || toolEmail;
|
|
59
59
|
const envAuto = process.env.TEAMS_AUTO === "true";
|
|
60
60
|
const envLogin = process.env.TEAMS_LOGIN === "true";
|
|
61
|
+
const envDebug = process.env.TEAMS_DEBUG === "true";
|
|
61
62
|
const envDebugPort = process.env.TEAMS_DEBUG_PORT
|
|
62
63
|
? Number(process.env.TEAMS_DEBUG_PORT)
|
|
63
64
|
: 9222;
|
|
@@ -91,12 +92,23 @@ async function getClient(toolEmail) {
|
|
|
91
92
|
clientInstance.setEmail(email);
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
|
-
else {
|
|
95
|
+
else if (envDebug) {
|
|
95
96
|
clientInstance = await teams_client_js_1.TeamsClient.fromDebugSession({
|
|
96
97
|
debugPort: envDebugPort,
|
|
97
98
|
region: envRegion,
|
|
98
99
|
});
|
|
99
100
|
}
|
|
101
|
+
else {
|
|
102
|
+
// Default: smart login (cross-platform, zero-config)
|
|
103
|
+
clientInstance = await teams_client_js_1.TeamsClient.connect({
|
|
104
|
+
email,
|
|
105
|
+
region: envRegion,
|
|
106
|
+
verbose: false,
|
|
107
|
+
});
|
|
108
|
+
if (email) {
|
|
109
|
+
clientInstance.setEmail(email);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
100
112
|
return clientInstance;
|
|
101
113
|
}
|
|
102
114
|
function parameterToZod(parameter) {
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;AAEH,oEAAoE;AACpE,wEAAiF;AAEjF,6BAAwB;AACxB,uDAAgD;AAChD,6DAAmD;AACnD,2DAAuD;AAGvD,qEAA8D;AAE9D,IAAI,cAAc,GAAuB,IAAI,CAAC;AAE9C,MAAM,eAAgB,SAAQ,KAAK;IACjC;QACE,KAAK,CACH,yDAAyD;YACvD,qDAAqD,CACxD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,KAAK,UAAU,SAAS,CAAC,SAAkB;IACzC,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACzC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACtD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,SAAS,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC/C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,cAAc,GAAG,6BAAW,CAAC,SAAS,CACpC,QAAQ,EACR,SAAS,EACT,cAAc,EACd,iBAAiB,CAClB,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC;QACD,cAAc,GAAG,MAAM,6BAAW,CAAC,MAAM,CAAC;YACxC,KAAK;YACL,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,cAAc,GAAG,MAAM,6BAAW,CAAC,oBAAoB,CAAC;YACtD,MAAM,EAAE,SAAS;YACjB,KAAK;YACL,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;SAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform detection utilities for smart login flow.
|
|
3
|
+
*
|
|
4
|
+
* Determines the current platform and whether auto-login prerequisites
|
|
5
|
+
* are met (macOS + system Chrome installed).
|
|
6
|
+
*/
|
|
7
|
+
export type Platform = "macos" | "windows" | "linux";
|
|
8
|
+
export declare function detectPlatform(): Platform;
|
|
9
|
+
/**
|
|
10
|
+
* Check whether auto-login prerequisites are met:
|
|
11
|
+
* macOS + system Chrome exists at the expected path.
|
|
12
|
+
*
|
|
13
|
+
* Does NOT check for FIDO2 passkey enrollment — auto-login will
|
|
14
|
+
* simply fail and the smart login flow will fall back to interactive.
|
|
15
|
+
*/
|
|
16
|
+
export declare function canAttemptAutoLogin(chromePath?: string): boolean;
|
|
17
|
+
//# sourceMappingURL=platform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD,wBAAgB,cAAc,IAAI,QAAQ,CASzC;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAYhE"}
|
package/dist/platform.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Platform detection utilities for smart login flow.
|
|
4
|
+
*
|
|
5
|
+
* Determines the current platform and whether auto-login prerequisites
|
|
6
|
+
* are met (macOS + system Chrome installed).
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.detectPlatform = detectPlatform;
|
|
10
|
+
exports.canAttemptAutoLogin = canAttemptAutoLogin;
|
|
11
|
+
const node_fs_1 = require("node:fs");
|
|
12
|
+
const DEFAULT_SYSTEM_CHROME_PATH = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome";
|
|
13
|
+
function detectPlatform() {
|
|
14
|
+
switch (process.platform) {
|
|
15
|
+
case "darwin":
|
|
16
|
+
return "macos";
|
|
17
|
+
case "win32":
|
|
18
|
+
return "windows";
|
|
19
|
+
default:
|
|
20
|
+
return "linux";
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Check whether auto-login prerequisites are met:
|
|
25
|
+
* macOS + system Chrome exists at the expected path.
|
|
26
|
+
*
|
|
27
|
+
* Does NOT check for FIDO2 passkey enrollment — auto-login will
|
|
28
|
+
* simply fail and the smart login flow will fall back to interactive.
|
|
29
|
+
*/
|
|
30
|
+
function canAttemptAutoLogin(chromePath) {
|
|
31
|
+
if (detectPlatform() !== "macos") {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
const chromeExecutable = chromePath ?? DEFAULT_SYSTEM_CHROME_PATH;
|
|
35
|
+
try {
|
|
36
|
+
(0, node_fs_1.accessSync)(chromeExecutable, node_fs_1.constants.X_OK);
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AASH,wCASC;AASD,kDAYC;AArCD,qCAAgD;AAEhD,MAAM,0BAA0B,GAC9B,8DAA8D,CAAC;AAIjE,SAAgB,cAAc;IAC5B,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,UAAmB;IACrD,IAAI,cAAc,EAAE,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,gBAAgB,GAAG,UAAU,IAAI,0BAA0B,CAAC;IAClE,IAAI,CAAC;QACH,IAAA,oBAAU,EAAC,gBAAgB,EAAE,mBAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smart login — the zero-config default authentication strategy.
|
|
3
|
+
*
|
|
4
|
+
* Strategy:
|
|
5
|
+
* 1. If on macOS + email provided + system Chrome exists → try auto-login
|
|
6
|
+
* 2. If auto-login fails or prerequisites not met → interactive login
|
|
7
|
+
*
|
|
8
|
+
* Auto-login errors are caught and logged, then we immediately fall back
|
|
9
|
+
* to interactive. Only if interactive also fails does the user see an error.
|
|
10
|
+
*/
|
|
11
|
+
import type { TeamsToken, SmartLoginOptions } from "./types.js";
|
|
12
|
+
export declare function acquireTokenViaSmartLogin(options?: SmartLoginOptions): Promise<TeamsToken>;
|
|
13
|
+
//# sourceMappingURL=smart-login.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-login.d.ts","sourceRoot":"","sources":["../src/smart-login.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAOhE,wBAAsB,yBAAyB,CAC7C,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,CAAC,CA6BrB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Smart login — the zero-config default authentication strategy.
|
|
4
|
+
*
|
|
5
|
+
* Strategy:
|
|
6
|
+
* 1. If on macOS + email provided + system Chrome exists → try auto-login
|
|
7
|
+
* 2. If auto-login fails or prerequisites not met → interactive login
|
|
8
|
+
*
|
|
9
|
+
* Auto-login errors are caught and logged, then we immediately fall back
|
|
10
|
+
* to interactive. Only if interactive also fails does the user see an error.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.acquireTokenViaSmartLogin = acquireTokenViaSmartLogin;
|
|
14
|
+
const platform_js_1 = require("./platform.js");
|
|
15
|
+
const auto_login_js_1 = require("./auth/auto-login.js");
|
|
16
|
+
const interactive_js_1 = require("./auth/interactive.js");
|
|
17
|
+
async function acquireTokenViaSmartLogin(options) {
|
|
18
|
+
const log = options?.verbose
|
|
19
|
+
? console.error.bind(console)
|
|
20
|
+
: () => { };
|
|
21
|
+
// Try auto-login if prerequisites are met
|
|
22
|
+
if (options?.email && (0, platform_js_1.canAttemptAutoLogin)()) {
|
|
23
|
+
log("Auto-login prerequisites met (macOS + Chrome), attempting...");
|
|
24
|
+
try {
|
|
25
|
+
return await (0, auto_login_js_1.acquireTokenViaAutoLogin)({
|
|
26
|
+
email: options.email,
|
|
27
|
+
region: options.region,
|
|
28
|
+
headless: true,
|
|
29
|
+
verbose: options.verbose,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
log(`Auto-login failed: ${error.message}. Falling back to interactive login...`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Fall back to interactive login (works everywhere)
|
|
37
|
+
log("Using interactive browser login...");
|
|
38
|
+
return (0, interactive_js_1.acquireTokenViaInteractiveLogin)({
|
|
39
|
+
region: options?.region,
|
|
40
|
+
email: options?.email,
|
|
41
|
+
verbose: options?.verbose,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=smart-login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-login.js","sourceRoot":"","sources":["../src/smart-login.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AASH,8DA+BC;AArCD,+CAAoD;AACpD,wDAAgE;AAChE,0DAAwE;AAIjE,KAAK,UAAU,yBAAyB,CAC7C,OAA2B;IAE3B,MAAM,GAAG,GAAgB,OAAO,EAAE,OAAO;QACvC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IAEb,0CAA0C;IAC1C,IAAI,OAAO,EAAE,KAAK,IAAI,IAAA,iCAAmB,GAAE,EAAE,CAAC;QAC5C,GAAG,CAAC,8DAA8D,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,OAAO,MAAM,IAAA,wCAAwB,EAAC;gBACpC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CACD,sBAAuB,KAAe,CAAC,OAAO,wCAAwC,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAC1C,OAAO,IAAA,gDAA+B,EAAC;QACrC,MAAM,EAAE,OAAO,EAAE,MAAM;QACvB,KAAK,EAAE,OAAO,EAAE,KAAK;QACrB,OAAO,EAAE,OAAO,EAAE,OAAO;KAC1B,CAAC,CAAC;AACL,CAAC"}
|
package/dist/teams-client.d.ts
CHANGED
|
@@ -29,11 +29,12 @@
|
|
|
29
29
|
* "optional-substrate-token",
|
|
30
30
|
* );
|
|
31
31
|
*/
|
|
32
|
-
import type { TeamsToken, AutoLoginOptions, InteractiveLoginOptions, ManualTokenOptions, Conversation, Message, MessageFormat, Member, SentMessage, EditedMessage, DeletedMessage, ScheduledMessage, GetMessagesOptions, ListConversationsOptions, OneOnOneSearchResult, PersonSearchResult, ChatSearchResult, MessagesPage, TranscriptResult, MessageContentPart } from "./types.js";
|
|
32
|
+
import type { TeamsToken, AutoLoginOptions, InteractiveLoginOptions, ManualTokenOptions, SmartLoginOptions, Conversation, Message, MessageFormat, Member, SentMessage, EditedMessage, DeletedMessage, ScheduledMessage, GetMessagesOptions, ListConversationsOptions, OneOnOneSearchResult, PersonSearchResult, ChatSearchResult, MessagesPage, TranscriptResult, MessageContentPart, FileSharingScope } from "./types.js";
|
|
33
33
|
export { acquireTokenViaAutoLogin } from "./auth/auto-login.js";
|
|
34
34
|
export { acquireTokenViaInteractiveLogin } from "./auth/interactive.js";
|
|
35
35
|
export { acquireTokenViaDebugSession } from "./auth/debug-session.js";
|
|
36
|
-
export
|
|
36
|
+
export { acquireTokenViaSmartLogin } from "./smart-login.js";
|
|
37
|
+
export type { TeamsToken, AutoLoginOptions, InteractiveLoginOptions, ManualTokenOptions, SmartLoginOptions, Conversation, Message, MessageFormat, Member, SentMessage, EditedMessage, DeletedMessage, GetMessagesOptions, ListConversationsOptions, OneOnOneSearchResult, MessagesPage, Mention, Reaction, Follower, UserProfile, PersonSearchResult, ChatSearchResult, TranscriptEntry, TranscriptResult, ImageAttachment, FileAttachment, MessageContentPart, FileSharingScope, } from "./types.js";
|
|
37
38
|
export { SYSTEM_STREAM_TYPES } from "./types.js";
|
|
38
39
|
export { isTextMessageType } from "./constants.js";
|
|
39
40
|
export { parseRawMessage } from "./api/chat-service.js";
|
|
@@ -41,7 +42,7 @@ export { ApiAuthError, ApiRateLimitError } from "./api/common.js";
|
|
|
41
42
|
export { fetchProfiles } from "./api/middle-tier.js";
|
|
42
43
|
export { searchPeople, searchChats } from "./api/substrate.js";
|
|
43
44
|
export { fetchTranscript, fetchTranscriptVtt, parseVtt, extractTranscriptUrl, extractMeetingTitle, isSuccessfulRecording, } from "./api/transcripts.js";
|
|
44
|
-
export { fetchAmsImage, uploadAmsImage, buildAmsImageTag, parseInlineImages, parseFileAttachments, uploadSharePointFile, buildFilesPropertyJson, } from "./api/attachments.js";
|
|
45
|
+
export { fetchAmsImage, uploadAmsImage, buildAmsImageTag, parseInlineImages, parseFileAttachments, uploadSharePointFile, buildFilesPropertyJson, createSharePointSharingLink, } from "./api/attachments.js";
|
|
45
46
|
export type { SharePointUploadResult } from "./api/attachments.js";
|
|
46
47
|
export { saveToken, loadToken, clearToken } from "./token-store.js";
|
|
47
48
|
export { actions } from "./actions/definitions.js";
|
|
@@ -50,6 +51,7 @@ export type { ActionDefinition, ActionParameter, OutputFormat, } from "./actions
|
|
|
50
51
|
export declare class TeamsClient {
|
|
51
52
|
private token;
|
|
52
53
|
private autoLoginOptions;
|
|
54
|
+
private smartLoginOptions;
|
|
53
55
|
private cachedDisplayName;
|
|
54
56
|
private cachedUserPrincipalName;
|
|
55
57
|
private userEmail;
|
|
@@ -66,6 +68,17 @@ export declare class TeamsClient {
|
|
|
66
68
|
* Token lifetime is ~24 hours. Cached tokens are reused within 23 hours.
|
|
67
69
|
*/
|
|
68
70
|
static create(options: AutoLoginOptions): Promise<TeamsClient>;
|
|
71
|
+
/**
|
|
72
|
+
* Create a client with smart cross-platform login.
|
|
73
|
+
*
|
|
74
|
+
* Zero-config default: automatically picks the best auth strategy:
|
|
75
|
+
* - macOS with Chrome + email: tries auto-login (FIDO2), falls back to interactive
|
|
76
|
+
* - All other cases: interactive browser login (works everywhere)
|
|
77
|
+
*
|
|
78
|
+
* Tokens are cached in the platform credential store and reused
|
|
79
|
+
* until they expire (~23 hours).
|
|
80
|
+
*/
|
|
81
|
+
static connect(options?: SmartLoginOptions): Promise<TeamsClient>;
|
|
69
82
|
/**
|
|
70
83
|
* Create a client by automatically logging in via FIDO2 passkey.
|
|
71
84
|
*
|
|
@@ -98,9 +111,9 @@ export declare class TeamsClient {
|
|
|
98
111
|
*/
|
|
99
112
|
static fromToken(skypeToken: string, region?: string, bearerToken?: string, substrateToken?: string, amsToken?: string, sharePointToken?: string, sharePointHost?: string): TeamsClient;
|
|
100
113
|
/**
|
|
101
|
-
* Clear a cached token from the
|
|
114
|
+
* Clear a cached token from the platform credential store.
|
|
102
115
|
*
|
|
103
|
-
* Use this to force a fresh login on the next `create()` call.
|
|
116
|
+
* Use this to force a fresh login on the next `create()` or `connect()` call.
|
|
104
117
|
*/
|
|
105
118
|
static clearCachedToken(email: string): void;
|
|
106
119
|
/** Get the underlying token (for persistence or debugging). */
|
|
@@ -266,8 +279,14 @@ export declare class TeamsClient {
|
|
|
266
279
|
* { type: "text", text: "Here's the document:" },
|
|
267
280
|
* { type: "file", data: fileBuffer, fileName: "report.md" },
|
|
268
281
|
* ]);
|
|
282
|
+
*
|
|
283
|
+
* @param fileSharingScope - Default sharing scope for all files in this message.
|
|
284
|
+
* Individual files can override this via `part.sharingScope`.
|
|
285
|
+
* - `"chat"` (default) — share with chat participants only.
|
|
286
|
+
* - `"organization"` — anyone in the org with the link.
|
|
287
|
+
* - `"none"` — no sharing link; only the uploader can access.
|
|
269
288
|
*/
|
|
270
|
-
sendMessageWithFiles(conversationId: string, contentParts: MessageContentPart[]): Promise<SentMessage>;
|
|
289
|
+
sendMessageWithFiles(conversationId: string, contentParts: MessageContentPart[], fileSharingScope?: FileSharingScope): Promise<SentMessage>;
|
|
271
290
|
/**
|
|
272
291
|
* Get members of a conversation.
|
|
273
292
|
*
|
|
@@ -283,23 +302,32 @@ export declare class TeamsClient {
|
|
|
283
302
|
* transcript URL, fetches the VTT, and parses it into structured entries.
|
|
284
303
|
*/
|
|
285
304
|
getTranscript(conversationId: string): Promise<TranscriptResult>;
|
|
305
|
+
/**
|
|
306
|
+
* Resolve emails of all members in a conversation (for user-scoped sharing).
|
|
307
|
+
*/
|
|
308
|
+
private resolveMemberEmails;
|
|
309
|
+
/**
|
|
310
|
+
* Convert a per-file or default sharing scope into SharingLinkOptions.
|
|
311
|
+
*/
|
|
312
|
+
private resolveFileSharingOptions;
|
|
286
313
|
/**
|
|
287
314
|
* Get the display name of the currently authenticated user.
|
|
288
315
|
*/
|
|
289
316
|
getCurrentUserDisplayName(): Promise<string>;
|
|
290
317
|
private resolveCurrentUserIdentity;
|
|
291
318
|
/**
|
|
292
|
-
* Re-acquire the token
|
|
319
|
+
* Re-acquire the token and update the cached version.
|
|
293
320
|
*
|
|
294
321
|
* Called automatically by `withTokenRefresh` on 401 errors.
|
|
322
|
+
* Supports both auto-login and smart login paths.
|
|
295
323
|
*/
|
|
296
324
|
private refreshToken;
|
|
297
325
|
/**
|
|
298
326
|
* Wrap an operation with automatic token refresh on 401.
|
|
299
327
|
*
|
|
300
|
-
* If the operation throws an `ApiAuthError` and auto-login
|
|
301
|
-
* are configured, the token is re-acquired
|
|
302
|
-
* exactly once.
|
|
328
|
+
* If the operation throws an `ApiAuthError` and auto-login or
|
|
329
|
+
* smart-login options are configured, the token is re-acquired
|
|
330
|
+
* and the operation retried exactly once.
|
|
303
331
|
*/
|
|
304
332
|
private withTokenRefresh;
|
|
305
333
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams-client.d.ts","sourceRoot":"","sources":["../src/teams-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACP,aAAa,EACb,MAAM,EACN,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAGhB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"teams-client.d.ts","sourceRoot":"","sources":["../src/teams-client.ts"],"names":[],"mappings":"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"}
|