teams-api 0.12.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 CHANGED
@@ -169,7 +169,7 @@ Manual token usage, debug-session auth, and programmatic Node.js usage are cover
169
169
  | **Auto-login (FIDO2)** | Full support | Not supported |
170
170
  | **Debug session** | Full support | Full support |
171
171
  | **Direct token** | Full support | Full support |
172
- | **Token caching** | macOS Keychain | Not available |
172
+ | **Token caching** | macOS Keychain | Windows DPAPI / Linux secret-tool |
173
173
  | **CLI & MCP server** | Full support | Full support |
174
174
  | **Programmatic API** | Full support | Full support |
175
175
 
@@ -211,7 +211,7 @@ teams-api auth --login --email you@example.com
211
211
  ```
212
212
 
213
213
  > [!NOTE]
214
- > Interactive login uses Playwright's bundled Chromium. No system Chrome installation is required.
214
+ > Interactive login prefers an installed browser (Edge or Chrome) when available, and falls back to Playwright's bundled Chromium.
215
215
 
216
216
  ### Advanced / manual methods
217
217
 
@@ -397,7 +397,6 @@ The Teams Chat Service URL varies by region. Login-based and debug-session auth
397
397
  - Token lifetime is ~24 hours. After expiry, you must re-acquire.
398
398
  - The Teams Chat Service REST API is undocumented and may change without notice.
399
399
  - Auto-login requires macOS, system Chrome, a platform authenticator, and a FIDO2 passkey. On other platforms, use interactive login (`--login`) instead.
400
- - Token caching (macOS Keychain) is only available on macOS. On other platforms, pass the token directly or re-run interactive login each time.
401
400
  - The members API returns empty display names for 1:1 chat participants. Use `findOneOnOneConversation()` to resolve names from message history.
402
401
  - Reaction actor identities come from the `emotions` field in message payloads. Parsing handles both JSON-string and array formats.
403
402
 
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/auth/interactive.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAavE;;;;;;;;;;GAUG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,UAAU,CAAC,CA2FrB"}
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/auth/interactive.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAcvE;;;;;;;;;;GAUG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,UAAU,CAAC,CA2FrB"}
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.acquireTokenViaInteractiveLogin = acquireTokenViaInteractiveLogin;
11
11
  const region_js_1 = require("../region.js");
12
12
  const page_diagnostics_js_1 = require("./page-diagnostics.js");
13
+ const browser_runtime_js_1 = require("../browser-runtime.js");
13
14
  const token_capture_js_1 = require("./token-capture.js");
14
15
  const TEAMS_URL = "https://teams.cloud.microsoft/";
15
16
  const INTERACTIVE_LOGIN_TIMEOUT = 5 * 60 * 1_000;
@@ -30,7 +31,7 @@ async function acquireTokenViaInteractiveLogin(options) {
30
31
  ? console.log.bind(console)
31
32
  : () => { };
32
33
  log("Launching browser for interactive login...");
33
- const browser = await chromium.launch({ headless: false });
34
+ const browser = await (0, browser_runtime_js_1.launchInteractiveBrowser)(chromium, log);
34
35
  const context = await browser.newContext();
35
36
  const page = await context.newPage();
36
37
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/auth/interactive.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA0BH,0EA6FC;AApHD,4CAAkD;AAClD,+DAA0D;AAC1D,yDAK4B;AAE5B,MAAM,SAAS,GAAG,gCAAgC,CAAC;AACnD,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;AAEjD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,+BAA+B,CACnD,OAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,GAAG,GAAgB,OAAO,EAAE,OAAO;QACvC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IAEb,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAErC,IAAI,CAAC;QACH,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACzB,SAAS,EAAE,kBAAkB;YAC7B,OAAO,EAAE,yBAAyB;SACnC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CACnB,mDAAmD,EACnD,EAAE,OAAO,EAAE,MAAM,EAAE,CACpB,CAAC;gBAEF,MAAM,UAAU,GAAG,MAAM,IAAI;qBAC1B,eAAe,CACd,qDAAqD,EACrD,EAAE,OAAO,EAAE,MAAM,EAAE,CACpB;qBACA,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAErB,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACrC,GAAG,CAAC,qBAAqB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,wDAAwD,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB,CAAC;QAC7D,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,IAAA,uCAAiB,EAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,KAAK,KAAK,cAAc,IAAI,KAAK,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;gBACtE,GAAG,CAAC,kBAAkB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtC,MAAM;YACR,CAAC;YACD,GAAG,CAAC,mBAAmB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACvC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5B,UAAU,CAAC,OAAO,EAAE,2CAAwB,CAAC,CAC9C,CAAC;QACJ,CAAC;QAED,IACE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC7C,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAC3C,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAA,uCAAiB,EAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,iCAAiC,yBAAyB,GAAG,KAAK,KAAK;gBACrE,kBAAkB,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,MAAM,UAAU,KAAK,CAAC,GAAG,GAAG,CACxE,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAE1C,MAAM,EACJ,UAAU,EACV,MAAM,EACN,WAAW,EACX,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,GAAG,MAAM,IAAA,wCAAqB,EAAC,IAAI,EAAE,GAAG,EAAE,0CAAuB,CAAC,CAAC;QAEpE,OAAO;YACL,UAAU;YACV,MAAM,EAAE,IAAA,8BAAkB,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;YACnD,WAAW;YACX,cAAc;YACd,QAAQ;YACR,eAAe;SAChB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/auth/interactive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Browser runtime helpers for interactive login.
3
+ *
4
+ * Interactive login depends on Chromium DevTools Protocol interception,
5
+ * so we prefer installed Chromium-based browsers (Edge/Chrome) and
6
+ * fall back to Playwright's bundled Chromium when needed.
7
+ */
8
+ import type { Browser } from "playwright";
9
+ type LogFunction = (...arguments_: unknown[]) => void;
10
+ type InteractiveBrowserChannel = "chrome" | "msedge";
11
+ export interface ChromiumBrowserLauncher {
12
+ launch(options: {
13
+ headless: false;
14
+ channel?: InteractiveBrowserChannel;
15
+ }): Promise<Browser>;
16
+ }
17
+ export declare function getInteractiveBrowserChannels(platform?: NodeJS.Platform): InteractiveBrowserChannel[];
18
+ export declare function isMissingPlaywrightBrowserError(error: unknown): boolean;
19
+ export declare function installBundledChromium(log: LogFunction): void;
20
+ export declare function launchInteractiveBrowser(chromium: ChromiumBrowserLauncher, log: LogFunction, options?: {
21
+ platform?: NodeJS.Platform;
22
+ installBundledChromium?: (log: LogFunction) => void;
23
+ }): Promise<Browser>;
24
+ export {};
25
+ //# sourceMappingURL=browser-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-runtime.d.ts","sourceRoot":"","sources":["../src/browser-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,KAAK,WAAW,GAAG,CAAC,GAAG,UAAU,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACtD,KAAK,yBAAyB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,OAAO,EAAE;QACd,QAAQ,EAAE,KAAK,CAAC;QAChB,OAAO,CAAC,EAAE,yBAAyB,CAAC;KACrC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAmBD,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,yBAAyB,EAAE,CAE7B;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIvE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAgC7D;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,uBAAuB,EACjC,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,sBAAsB,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CACrD,GACA,OAAO,CAAC,OAAO,CAAC,CAoClB"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /**
3
+ * Browser runtime helpers for interactive login.
4
+ *
5
+ * Interactive login depends on Chromium DevTools Protocol interception,
6
+ * so we prefer installed Chromium-based browsers (Edge/Chrome) and
7
+ * fall back to Playwright's bundled Chromium when needed.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getInteractiveBrowserChannels = getInteractiveBrowserChannels;
11
+ exports.isMissingPlaywrightBrowserError = isMissingPlaywrightBrowserError;
12
+ exports.installBundledChromium = installBundledChromium;
13
+ exports.launchInteractiveBrowser = launchInteractiveBrowser;
14
+ const node_child_process_1 = require("node:child_process");
15
+ const node_module_1 = require("node:module");
16
+ const node_path_1 = require("node:path");
17
+ const requireFromHere = (0, node_module_1.createRequire)(__filename);
18
+ const INTERACTIVE_BROWSER_CHANNELS = {
19
+ darwin: ["chrome"],
20
+ win32: ["msedge", "chrome"],
21
+ linux: ["chrome", "msedge"],
22
+ };
23
+ function formatChannelName(channel) {
24
+ switch (channel) {
25
+ case "msedge":
26
+ return "Microsoft Edge";
27
+ case "chrome":
28
+ return "Google Chrome";
29
+ }
30
+ }
31
+ function getInteractiveBrowserChannels(platform = process.platform) {
32
+ return INTERACTIVE_BROWSER_CHANNELS[platform] ?? ["chrome", "msedge"];
33
+ }
34
+ function isMissingPlaywrightBrowserError(error) {
35
+ return (error instanceof Error && error.message.includes("Executable doesn't exist"));
36
+ }
37
+ function installBundledChromium(log) {
38
+ const playwrightPackageJson = requireFromHere.resolve("playwright/package.json");
39
+ const playwrightCliPath = (0, node_path_1.join)((0, node_path_1.dirname)(playwrightPackageJson), "cli.js");
40
+ log("Playwright Chromium is not installed. Downloading it now (one-time setup)...");
41
+ const result = (0, node_child_process_1.spawnSync)(process.execPath, [playwrightCliPath, "install", "chromium"], {
42
+ encoding: "utf-8",
43
+ });
44
+ if (result.status === 0) {
45
+ log("Playwright Chromium installed successfully.");
46
+ return;
47
+ }
48
+ const detail = result.error?.message ||
49
+ result.stderr?.trim() ||
50
+ result.stdout?.trim() ||
51
+ "Unknown error";
52
+ throw new Error(`Failed to install Playwright Chromium automatically. ${detail}`);
53
+ }
54
+ async function launchInteractiveBrowser(chromium, log, options) {
55
+ for (const channel of getInteractiveBrowserChannels(options?.platform)) {
56
+ try {
57
+ log(`Trying installed ${formatChannelName(channel)}...`);
58
+ const browser = await chromium.launch({
59
+ headless: false,
60
+ channel,
61
+ });
62
+ log(`Using installed ${formatChannelName(channel)} for interactive login.`);
63
+ return browser;
64
+ }
65
+ catch (error) {
66
+ log(`Could not launch ${formatChannelName(channel)}: ${error.message}`);
67
+ }
68
+ }
69
+ try {
70
+ log("Trying Playwright bundled Chromium...");
71
+ const browser = await chromium.launch({ headless: false });
72
+ log("Using Playwright bundled Chromium for interactive login.");
73
+ return browser;
74
+ }
75
+ catch (error) {
76
+ if (!isMissingPlaywrightBrowserError(error)) {
77
+ throw error;
78
+ }
79
+ const installChromium = options?.installBundledChromium ?? installBundledChromium;
80
+ installChromium(log);
81
+ log("Retrying Playwright bundled Chromium after install...");
82
+ return chromium.launch({ headless: false });
83
+ }
84
+ }
85
+ //# sourceMappingURL=browser-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-runtime.js","sourceRoot":"","sources":["../src/browser-runtime.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -28,6 +28,7 @@ function addAuthOptions(command) {
28
28
  return command
29
29
  .option("--auto", "Auto-acquire token via FIDO2 passkey (macOS)")
30
30
  .option("--login", "Interactive browser login (all platforms, no FIDO2 needed)")
31
+ .option("--debug", "Use Chrome debug session for token capture")
31
32
  .option("--email <email>", "Corporate email (required with --auto, optional with --login)")
32
33
  .option("--token <token>", "Use an existing skype token directly")
33
34
  .option("--bearer-token <token>", "Optional middle-tier bearer token for profile/member resolution")
@@ -72,11 +73,23 @@ async function createClient(flags) {
72
73
  }
73
74
  return client;
74
75
  }
75
- const manualOptions = {
76
- debugPort: Number(flags.debugPort),
76
+ if (flags.debug) {
77
+ const manualOptions = {
78
+ debugPort: Number(flags.debugPort),
79
+ region: flags.region,
80
+ };
81
+ return teams_client_js_1.TeamsClient.fromDebugSession(manualOptions);
82
+ }
83
+ // Default: smart login (cross-platform, zero-config)
84
+ const client = await teams_client_js_1.TeamsClient.connect({
85
+ email: flags.email,
77
86
  region: flags.region,
78
- };
79
- return teams_client_js_1.TeamsClient.fromDebugSession(manualOptions);
87
+ verbose: true,
88
+ });
89
+ if (flags.email) {
90
+ client.setEmail(flags.email);
91
+ }
92
+ return client;
80
93
  }
81
94
  // ── Helpers ────────────────────────────────────────────────────────────
82
95
  function camelToKebab(name) {
@@ -191,7 +204,7 @@ addAuthOptions(program
191
204
  // ── logout command (special — clears cached token) ────────────────────
192
205
  program
193
206
  .command("logout")
194
- .description("Clear cached token from the macOS Keychain")
207
+ .description("Clear cached token from the credential store")
195
208
  .requiredOption("--email <email>", "Email whose cached token to clear")
196
209
  .action((flags) => {
197
210
  teams_client_js_1.TeamsClient.clearCachedToken(flags.email);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AACA;;;;;;;;;GASG;;AAEH,qCAAwC;AACxC,yCAAoC;AACpC,yCAAoC;AACpC,uDAAgD;AAChD,6DAAmD;AACnD,2DAAuD;AAEvD,qEAA8D;AAO9D,MAAM,aAAa,GAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAErE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC,CAAC;AAgBpB,SAAS,cAAc,CAAC,OAAgB;IACtC,OAAO,OAAO;SACX,MAAM,CAAC,QAAQ,EAAE,8CAA8C,CAAC;SAChE,MAAM,CACL,SAAS,EACT,4DAA4D,CAC7D;SACA,MAAM,CACL,SAAS,EACT,4CAA4C,CAC7C;SACA,MAAM,CACL,iBAAiB,EACjB,+DAA+D,CAChE;SACA,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;SACjE,MAAM,CACL,wBAAwB,EACxB,iEAAiE,CAClE;SACA,MAAM,CACL,2BAA2B,EAC3B,wDAAwD,CACzD;SACA,MAAM,CACL,qBAAqB,EACrB,4CAA4C,EAC5C,MAAM,CACP;SACA,MAAM,CACL,mBAAmB,EACnB,mEAAmE,CACpE,CAAC;AACN,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAgB;IAC1C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,6BAAW,CAAC,SAAS,CAClC,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,cAAc,CACrB,CAAC;QACF,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,gBAAgB,GAAqB;YACzC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd,CAAC;QACF,OAAO,6BAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,uBAAuB,GAA4B;YACvD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,6BAAW,CAAC,oBAAoB,CACnD,uBAAuB,CACxB,CAAC;QACF,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,aAAa,GAAuB;YACxC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YAClC,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC;QACF,OAAO,6BAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,qDAAqD;IACrD,MAAM,MAAM,GAAG,MAAM,6BAAW,CAAC,OAAO,CAAC;QACvC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,0EAA0E;AAE1E,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CACtB,KAA8C,EAC9C,IAA6B;IAE7B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,SAAS;YACZ,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC;QAC5C,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,yEAAyE;AAEzE,KAAK,MAAM,MAAM,IAAI,wBAAO,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEzE,cAAc,CAAC,OAAO,CAAC,CAAC;IAExB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC/B,2DAA2D;gBAC3D,+DAA+D;gBAC/D,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,YAAY,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CACZ,KAAK,IAAI,UAAU,EACnB,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sCAAsC,CAAC,CAAC;IAC5E,OAAO,CAAC,MAAM,CACZ,iBAAiB,EACjB,4CAA4C,CAC7C,CAAC;IAEF,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,KAA8B,EAAE,EAAE;QACtD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAA6B,CAAC,CAAC;QAEjE,MAAM,gBAAgB,GAA4B,EAAE,CAAC;QACrD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,eAAe,CAChD,KAAK,CAAC,SAAS,CAAC,IAAI,CAA4C,EAChE,SAAS,CAAC,IAAI,CACf,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACnC,gBAAgB,CAAC,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,sBAAsB,CAAC,CAAC;QAC7D,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,MAA4B,CAAC;QACrD,IAAI,SAAS,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAyB,CAAC,EAAE,CAAC;YACpE,OAAO,CAAC,KAAK,CACX,0BAA0B,SAAS,qBAAqB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,YAA0B,CAAC;QAC/B,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,GAAG,SAAyB,CAAC;QAC3C,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,MAAM,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAE9D,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,4BAAY,EAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAE1D,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,UAAU,GAAG,IAAA,mBAAO,EAAC,KAAK,CAAC,MAAgB,CAAC,CAAC;gBACnD,IAAA,uBAAa,EAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,yEAAyE;AAEzE,cAAc,CACZ,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8CAA8C,CAAC,CAC/D,CAAC,MAAM,CAAC,KAAK,EAAE,KAAgB,EAAE,EAAE;IAClC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,yEAAyE;AAEzE,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,cAAc,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;KACtE,MAAM,CAAC,CAAC,KAAwB,EAAE,EAAE;IACnC,6BAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,KAAK,WAAW,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEL,yEAAyE;AAEzE,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CACV,kFAAkF,CACnF;KACA,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,2CAAkB,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -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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"}
@@ -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) {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
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"}