log10x-mcp 1.6.6 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +14 -0
  2. package/build/index.js +118 -12
  3. package/build/index.js.map +1 -1
  4. package/build/lib/auth-api.d.ts +15 -10
  5. package/build/lib/auth-api.js +13 -9
  6. package/build/lib/auth-api.js.map +1 -1
  7. package/build/lib/auth0-device-flow.d.ts +92 -0
  8. package/build/lib/auth0-device-flow.js +143 -0
  9. package/build/lib/auth0-device-flow.js.map +1 -0
  10. package/build/lib/credentials.d.ts +0 -2
  11. package/build/lib/credentials.js +2 -2
  12. package/build/lib/credentials.js.map +1 -1
  13. package/build/lib/environments.d.ts +58 -11
  14. package/build/lib/environments.js +82 -22
  15. package/build/lib/environments.js.map +1 -1
  16. package/build/lib/tool-errors.js +1 -1
  17. package/build/lib/tool-errors.js.map +1 -1
  18. package/build/tools/doctor.js +4 -4
  19. package/build/tools/doctor.js.map +1 -1
  20. package/build/tools/login-status.d.ts +1 -1
  21. package/build/tools/login-status.js +20 -4
  22. package/build/tools/login-status.js.map +1 -1
  23. package/build/tools/rotate-api-key.js +7 -9
  24. package/build/tools/rotate-api-key.js.map +1 -1
  25. package/build/tools/signin.d.ts +41 -36
  26. package/build/tools/signin.js +203 -230
  27. package/build/tools/signin.js.map +1 -1
  28. package/build/tools/signout.d.ts +1 -1
  29. package/build/tools/signout.js +6 -8
  30. package/build/tools/signout.js.map +1 -1
  31. package/default-manifest.json +10 -5
  32. package/package.json +1 -1
  33. package/build/lib/gh-cli.d.ts +0 -6
  34. package/build/lib/gh-cli.js +0 -58
  35. package/build/lib/gh-cli.js.map +0 -1
  36. package/build/lib/github-device-flow.d.ts +0 -73
  37. package/build/lib/github-device-flow.js +0 -138
  38. package/build/lib/github-device-flow.js.map +0 -1
package/README.md CHANGED
@@ -170,6 +170,20 @@ Verify with `/mcp`.
170
170
 
171
171
  Same pattern — add an `mcpServers` entry with `"command": "npx"`, `"args": ["-y", "log10x-mcp"]`, and `LOG10X_API_KEY`.
172
172
 
173
+ ### Help your AI find the tools
174
+
175
+ Even with the MCP installed, agents sometimes miss it for natural-language questions ("am I logged in?" → `which log10x` shell probe instead of `log10x_login_status`). Project rules nudge the agent toward MCP-first tool selection. Drop a snippet that says **"the log10x MCP IS the surface; call its tools before shelling out"** plus a few trigger-phrase mappings into:
176
+
177
+ | Client | Rule file |
178
+ |---|---|
179
+ | Cursor | `.cursor/rules/log10x.mdc` (with `alwaysApply: true` frontmatter) |
180
+ | Claude Code | `CLAUDE.md` (workspace root) |
181
+ | Windsurf | `.windsurfrules` (workspace root) |
182
+ | GitHub Copilot Chat | `.github/copilot-instructions.md` |
183
+ | Claude Desktop | (no project-rule mechanism — relies on manifest descriptions) |
184
+
185
+ Full canonical text and explanation in [doc.log10x.com/install/mcp-server/#help-your-ai-find-the-tools](https://doc.log10x.com/install/mcp-server/#help-your-ai-find-the-tools).
186
+
173
187
  ## Get your credentials
174
188
 
175
189
  Two options:
package/build/index.js CHANGED
@@ -9,7 +9,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
9
9
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
10
10
  import { recordStart, withTelemetry, setEnvsProvider } from './lib/self-telemetry.js';
11
11
  import { loadManifest, applyManifestToTools, readClientVersion, getPackageDefaultTool, } from './lib/manifest.js';
12
- import { loadEnvironments, resolveEnv, EnvironmentValidationError } from './lib/environments.js';
12
+ import { loadEnvironments, resolveEnv, revalidateEnvironments, EnvironmentValidationError } from './lib/environments.js';
13
13
  import { fetchAnalyzerCost } from './lib/api.js';
14
14
  import { costDriversSchema, executeCostDrivers } from './tools/cost-drivers.js';
15
15
  import { eventLookupSchema, executeEventLookup } from './tools/event-lookup.js';
@@ -44,7 +44,7 @@ import { adviseRetrieverSchema, executeAdviseRetriever } from './tools/advise-re
44
44
  import { adviseInstallSchema, executeAdviseInstall } from './tools/advise-install.js';
45
45
  import { adviseCompactSchema, executeAdviseCompact } from './tools/advise-compact.js';
46
46
  import { loginStatusSchema, executeLoginStatus } from './tools/login-status.js';
47
- import { signinSchema, executeSignin } from './tools/signin.js';
47
+ import { signinStartSchema, signinCompleteSchema, executeSigninStart, executeSigninComplete, } from './tools/signin.js';
48
48
  import { signoutSchema, executeSignout } from './tools/signout.js';
49
49
  import { updateSettingsSchema, executeUpdateSettings } from './tools/update-settings.js';
50
50
  import { createEnvSchema, executeCreateEnv } from './tools/create-env.js';
@@ -84,14 +84,14 @@ const COST_REFRESH_MS = 3_600_000; // 1 hour
84
84
  * the raw error message is logged at debug level before `describeToolError`
85
85
  * rewrites it, so ops can see the original text when hunting root causes.
86
86
  */
87
- function wrap(toolName, fn) {
87
+ async function wrap(toolName, fn) {
88
88
  const started = Date.now();
89
- return fn()
90
- .then((text) => {
89
+ try {
90
+ const text = await runWithDemoFallbackRetry(toolName, fn);
91
91
  log.info(`tool.${toolName}.ok`, { ms: Date.now() - started });
92
92
  return { content: [{ type: 'text', text: applyDemoBanner(text) }] };
93
- })
94
- .catch((e) => {
93
+ }
94
+ catch (e) {
95
95
  const raw = e instanceof Error ? e.message : String(e);
96
96
  log.debug(`tool.${toolName}.raw_err`, { msg: raw });
97
97
  log.warn(`tool.${toolName}.err`, { ms: Date.now() - started, msg: raw });
@@ -99,7 +99,63 @@ function wrap(toolName, fn) {
99
99
  content: [{ type: 'text', text: applyDemoBanner(describeToolError(toolName, e)) }],
100
100
  isError: true,
101
101
  };
102
- });
102
+ }
103
+ }
104
+ /**
105
+ * Run the tool's inner function. If it throws an auth error (401/403)
106
+ * AND the MCP is currently in demo-fallback mode, revalidate
107
+ * credentials once and retry the tool.
108
+ *
109
+ * Why: every account-scoped EnvConfig bakes the apiKey at boot
110
+ * (`environments.ts:loadFromApi`). If the user's key was invalid at
111
+ * boot (typo, transient backend issue, rotated key whose authorizer
112
+ * cache had not yet cleared), the MCP falls back to the public demo
113
+ * key and every account-scoped tool keeps using that demo key for the
114
+ * lifetime of the process, even after the real key starts working.
115
+ * Restarting the MCP host was the only recovery path until now.
116
+ *
117
+ * This wrapper makes recovery automatic: any account-scoped tool that
118
+ * gets 401/403 while in demo-fallback triggers a single revalidation
119
+ * + retry, transparently un-sticking the user. Pure demo mode (no key
120
+ * configured at all) does NOT trigger this; only the fallback case
121
+ * where the user intended to use a real account.
122
+ *
123
+ * Tools that don't hit the gateway (resolve_batch, extract_templates)
124
+ * never produce 401/403 errors so this is a no-op for them.
125
+ */
126
+ async function runWithDemoFallbackRetry(toolName, fn) {
127
+ try {
128
+ return await fn();
129
+ }
130
+ catch (e) {
131
+ if (!isAuthRecoverableError(e))
132
+ throw e;
133
+ if (!envs || !envs.isDemoMode || !envs.demoFallbackReason)
134
+ throw e;
135
+ log.info(`tool.${toolName}.auth_retry.attempt`, {
136
+ reason: envs.demoFallbackReason.slice(0, 200),
137
+ });
138
+ try {
139
+ await revalidateEnvironments(envs);
140
+ }
141
+ catch (reloadErr) {
142
+ log.warn(`tool.${toolName}.auth_retry.reload_failed`, {
143
+ msg: reloadErr.message,
144
+ });
145
+ throw e;
146
+ }
147
+ if (envs.isDemoMode) {
148
+ // Reload still ended in demo. Original error stands.
149
+ log.info(`tool.${toolName}.auth_retry.still_demo`);
150
+ throw e;
151
+ }
152
+ log.info(`tool.${toolName}.auth_retry.recovered`);
153
+ return await fn();
154
+ }
155
+ }
156
+ function isAuthRecoverableError(e) {
157
+ const msg = e instanceof Error ? e.message : String(e);
158
+ return /HTTP 401|HTTP 403|forbidden|unauthorized/i.test(msg);
103
159
  }
104
160
  /**
105
161
  * Prepend a banner to the tool result when the MCP is in
@@ -143,6 +199,15 @@ async function getAnalyzerCost(env, override) {
143
199
  }
144
200
  // ── Server ──
145
201
  const server = new McpServer({ name: 'log10x', version: readClientVersion() }, {
202
+ // Declare the `logging` capability so calls to extra.sendNotification
203
+ // ('notifications/message', ...) inside tool handlers don't throw
204
+ // synchronously from the SDK's assertNotificationCapability guard.
205
+ // We don't currently rely on mid-tool push for the sign-in flow
206
+ // (the two-tool log10x_signin_start / log10x_signin_complete split
207
+ // sidesteps Cursor's lack of mid-tool rendering), but declaring the
208
+ // capability is correct hygiene and unblocks any other tool that
209
+ // wants to use the channel on hosts that do support it.
210
+ capabilities: { logging: {} },
146
211
  instructions: `Log10x is the observability memory for the user's logs. Every log line the pipeline
147
212
  has ever seen is fingerprinted into a stable pattern identity (field-set) that stays constant across
148
213
  deploys, restarts, pod names, timestamps, and request IDs. That identity is the key to a Prometheus
@@ -208,6 +273,26 @@ Root-cause across services (the investigate wedge):
208
273
  Datadog APM, Splunk APM, and OpenTelemetry tracing — correlation happens on the pattern-rate
209
274
  universe, not on spans that already exist.
210
275
 
276
+ Account / setup / discovery:
277
+ - "am I logged in" / "login status" / "what envs do I have" → log10x_login_status
278
+ - "log me in" / "sign me up" / "create a Log10x account" → log10x_signin_start, then log10x_signin_complete
279
+ (Two-tool chain: log10x_signin_start opens the browser and returns the device_code + user_code,
280
+ the model surfaces the code so the user can verify it matches the Auth0 page, then the model
281
+ automatically calls log10x_signin_complete with that device_code to finish the flow. The user
282
+ does NOT need to ask for the second step explicitly. For pasted-key sign-in instead of browser,
283
+ skip log10x_signin_start and call log10x_signin_complete directly with { api_key: "<key>" }.)
284
+ - "sign out" / "log out" / "remove my credentials" → log10x_signout
285
+ - "rotate my API key" / "I think my key was leaked" → log10x_rotate_api_key
286
+ - "health check" / "is the MCP set up right" / "diagnose" → log10x_doctor
287
+ - "create / rename / delete / set-default an env" → log10x_{create,update,delete}_env
288
+ - "set analyzer cost" / "switch AI provider" / "use my own key" → log10x_update_settings
289
+ - Critical: when the user asks about Log10x setup state, NEVER shell out to probe for a
290
+ CLI binary. There is no log10x shell command. The MCP IS the surface. Framings like
291
+ "is the log10x CLI installed", "log10x version", "whats my log10 status" should route
292
+ to log10x_doctor or log10x_login_status — never to "which log10x" / "log10x --version"
293
+ / env-var probes. If you find yourself reaching for shell tools to answer a Log10x
294
+ question, stop and call the matching MCP tool instead.
295
+
211
296
  NATURAL TOOL CHAINS
212
297
 
213
298
  Incident anchoring (user pastes a line during oncall):
@@ -390,8 +475,28 @@ registerLog10xTool('log10x_backfill_metric', backfillMetricSchema, (args) => wra
390
475
  registerLog10xTool('log10x_doctor', doctorSchema, (args) => wrap('log10x_doctor', async () => executeDoctor(args)));
391
476
  // ── Tool: log10x_login_status ──
392
477
  registerLog10xTool('log10x_login_status', loginStatusSchema, () => wrap('log10x_login_status', async () => executeLoginStatus({}, getEnvs())));
393
- // ── Tool: log10x_signin ──
394
- registerLog10xTool('log10x_signin', signinSchema, (args) => wrap('log10x_signin', async () => executeSignin(args, getEnvs())));
478
+ // ── Tool: log10x_signin_start ──
479
+ //
480
+ // Step 1 of the sign-in chain: requests an Auth0 device code, opens the
481
+ // user's browser, and returns the user_code + device_code immediately.
482
+ // Returns synchronously (no polling) because Cursor and most other MCP
483
+ // hosts do NOT render mid-tool `notifications/message` push, so the
484
+ // only reliable way to surface the user_code to a human is to put it
485
+ // in the tool's response markdown. The model then calls
486
+ // `log10x_signin_complete` with the device_code to finish the flow.
487
+ registerLog10xTool('log10x_signin_start', signinStartSchema, () => wrap('log10x_signin_start', async () => executeSigninStart()));
488
+ // ── Tool: log10x_signin_complete ──
489
+ //
490
+ // Step 2 of the sign-in chain. Two paths via mutually-exclusive args:
491
+ // - { device_code }: finishes a browser flow started by `_start`.
492
+ // Polls Auth0 until the user confirms in the browser, then
493
+ // exchanges the access token for a Log10x API key.
494
+ // - { api_key }: pasted-key path. Validates the key against
495
+ // /api/v1/user and persists. No browser, no IdP.
496
+ // Either path writes the resolved API key to ~/.log10x/credentials,
497
+ // hot-reloads envs in-process, and clears any overriding
498
+ // LOG10X_API_KEY env var so the new key wins the priority chain.
499
+ registerLog10xTool('log10x_signin_complete', signinCompleteSchema, (args) => wrap('log10x_signin_complete', async () => executeSigninComplete(args, getEnvs())));
395
500
  // ── Tool: log10x_signout ──
396
501
  registerLog10xTool('log10x_signout', signoutSchema, () => wrap('log10x_signout', async () => executeSignout({}, getEnvs())));
397
502
  // ── Tool: log10x_update_settings ──
@@ -513,7 +618,8 @@ const REGISTERED_TOOLS = [
513
618
  { name: 'log10x_backfill_metric', intent: 'Create a new Datadog / Prometheus metric backfilled from Retriever archive' },
514
619
  { name: 'log10x_doctor', intent: 'Startup health check — env config, gateway, tier, freshness, Retriever, paste endpoint, cross-pillar enrichment floor' },
515
620
  { name: 'log10x_login_status', intent: 'Report credential / env state — identity, env list with permissions, demo-mode upgrade guide if applicable' },
516
- { name: 'log10x_signin', intent: 'GitHub device-flow signup/signin opens browser, exchanges OAuth token for a Log10x API key, hot-reloads envs (no MCP-host restart needed)' },
621
+ { name: 'log10x_signin_start', intent: 'Step 1 of Auth0 Device Flow signup/signin: opens browser, returns the user_code + device_code so the model can surface them and chain to log10x_signin_complete' },
622
+ { name: 'log10x_signin_complete', intent: 'Step 2 of sign-in: pass back the device_code from log10x_signin_start to finish the browser flow, OR pass api_key directly for pasted-key sign-in (no browser). Hot-reloads envs (no MCP-host restart needed)' },
517
623
  { name: 'log10x_signout', intent: 'Wipe ~/.log10x/credentials and fall back to demo mode (or lower-priority config); does not revoke the key on the backend' },
518
624
  { name: 'log10x_update_settings', intent: 'Update user metadata (analyzer cost, AI provider, etc.) via POST /api/v1/user' },
519
625
  { name: 'log10x_create_env', intent: 'Create a new Log10x environment on the account; pairs with log10x_advise_install for end-to-end provision-and-install' },
@@ -579,7 +685,7 @@ async function handleCliFlags() {
579
685
  ' --help, -h Print this help and exit',
580
686
  '',
581
687
  'Environment:',
582
- ' LOG10X_API_KEY API key from console.log10x.com (or run `log10x_signin` to mint one via GitHub)',
688
+ ' LOG10X_API_KEY API key from console.log10x.com (or run `log10x_signin_start` then `log10x_signin_complete` to mint one via Auth0 Device Flow)',
583
689
  ' LOG10X_API_BASE Override Prometheus gateway URL',
584
690
  ' LOG10X_REGULATOR_RETRIEVER_URL Retriever query endpoint (optional)',
585
691
  ' LOG10X_PASTE_URL Override Log10x paste endpoint (optional)',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,19 +3,24 @@
3
3
  * because these are credential-exchange calls that don't take a
4
4
  * `LOG10X_API_KEY` (the goal IS to get one).
5
5
  */
6
- export interface GithubSigninResponse {
6
+ export interface SigninResponse {
7
7
  /** Long-lived Log10x API key. Persist this. */
8
8
  api_key: string;
9
- /** User's email used as their human-readable identity. */
9
+ /** User's email. The backend reads it from the Auth0 user record's
10
+ * email attribute. May be empty if Auth0 didn't capture one
11
+ * (e.g. a misconfigured social connection); the MCP should treat
12
+ * empty as "no email" and continue. */
10
13
  username: string;
11
- /** GitHub login (e.g. "talweiss"). */
12
- github_login: string;
13
- /** True for fresh signups, false when an existing account was matched. */
14
- is_new_account: boolean;
15
14
  }
16
15
  /**
17
- * POST /api/v1/auth/github with a verified GitHub access token. The BE
18
- * verifies the token against api.github.com, looks up or creates the
19
- * matching Log10x account, and returns an API key.
16
+ * POST /api/v1/auth/token with an Auth0 access_token (issued via the
17
+ * Device Authorization Flow against `auth.log10x.com`). The BE calls
18
+ * Auth0's `/userinfo` to resolve the `sub`, then looks up the user
19
+ * record via the Management API and returns the long-lived api_key
20
+ * stored in `app_metadata.api_key`.
21
+ *
22
+ * The Auth0 access_token is single-use from the MCP's perspective:
23
+ * we don't keep it after this exchange. The api_key is what
24
+ * authenticates every subsequent log10x call.
20
25
  */
21
- export declare function exchangeGithubTokenForApiKey(githubToken: string): Promise<GithubSigninResponse>;
26
+ export declare function exchangeAuth0TokenForApiKey(auth0AccessToken: string): Promise<SigninResponse>;
@@ -8,20 +8,26 @@ function getBase() {
8
8
  return process.env.LOG10X_API_BASE || DEFAULT_BASE;
9
9
  }
10
10
  /**
11
- * POST /api/v1/auth/github with a verified GitHub access token. The BE
12
- * verifies the token against api.github.com, looks up or creates the
13
- * matching Log10x account, and returns an API key.
11
+ * POST /api/v1/auth/token with an Auth0 access_token (issued via the
12
+ * Device Authorization Flow against `auth.log10x.com`). The BE calls
13
+ * Auth0's `/userinfo` to resolve the `sub`, then looks up the user
14
+ * record via the Management API and returns the long-lived api_key
15
+ * stored in `app_metadata.api_key`.
16
+ *
17
+ * The Auth0 access_token is single-use from the MCP's perspective:
18
+ * we don't keep it after this exchange. The api_key is what
19
+ * authenticates every subsequent log10x call.
14
20
  */
15
- export async function exchangeGithubTokenForApiKey(githubToken) {
16
- const url = new URL('/api/v1/auth/github', getBase()).toString();
21
+ export async function exchangeAuth0TokenForApiKey(auth0AccessToken) {
22
+ const url = new URL('/api/v1/auth/token', getBase()).toString();
17
23
  const res = await fetch(url, {
18
24
  method: 'POST',
19
25
  headers: { 'Content-Type': 'application/json' },
20
- body: JSON.stringify({ github_token: githubToken }),
26
+ body: JSON.stringify({ access_token: auth0AccessToken }),
21
27
  });
22
28
  if (!res.ok) {
23
29
  const body = await res.text().catch(() => '');
24
- throw new Error(`Log10x BE rejected GitHub token: HTTP ${res.status}: ${body.slice(0, 300)}`);
30
+ throw new Error(`Log10x BE rejected the Auth0 access token: HTTP ${res.status}: ${body.slice(0, 300)}`);
25
31
  }
26
32
  const json = (await res.json());
27
33
  if (!json.api_key) {
@@ -30,8 +36,6 @@ export async function exchangeGithubTokenForApiKey(githubToken) {
30
36
  return {
31
37
  api_key: json.api_key,
32
38
  username: json.username || '',
33
- github_login: json.github_login || '',
34
- is_new_account: !!json.is_new_account,
35
39
  };
36
40
  }
37
41
  //# sourceMappingURL=auth-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-api.js","sourceRoot":"","sources":["../../src/lib/auth-api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,YAAY,GAAG,+BAA+B,CAAC;AAErD,SAAS,OAAO;IACd,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,YAAY,CAAC;AACrD,CAAC;AAaD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,WAAmB;IACpE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,qBAAqB,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;KACpD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAkC,CAAC;IACjE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;QACrC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc;KACtC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"auth-api.js","sourceRoot":"","sources":["../../src/lib/auth-api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,YAAY,GAAG,+BAA+B,CAAC;AAErD,SAAS,OAAO;IACd,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,YAAY,CAAC;AACrD,CAAC;AAYD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,gBAAwB;IACxE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;KACzD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;KAC9B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Auth0 OAuth 2.0 Device Authorization Flow client (RFC 8628).
3
+ *
4
+ * Used by `log10x_signin_start` (step 1: requestDeviceCode) and
5
+ * `log10x_signin_complete` (step 2: pollForAccessToken). The flow:
6
+ *
7
+ * 1. POST `{AUTH0_DOMAIN}/oauth/device/code` with our public client_id
8
+ * → get back `device_code`, `user_code`, `verification_uri`,
9
+ * `verification_uri_complete`, `interval`, `expires_in`.
10
+ * 2. The MCP shows the user the verification URL (Auth0 already
11
+ * embeds the user_code in `verification_uri_complete`) and
12
+ * launches their browser to it.
13
+ * 3. The user lands on Auth0's universal login page where they pick
14
+ * GitHub, Google, or any other social/db connection enabled on
15
+ * our `mcp_backend` Auth0 client. They complete the chosen IdP's
16
+ * OAuth, Auth0 mints a session, then prompts them to confirm the
17
+ * device authorization.
18
+ * 4. Poll `{AUTH0_DOMAIN}/oauth/token` every `interval` seconds with
19
+ * `grant_type=urn:ietf:params:oauth:grant-type:device_code`. Auth0
20
+ * responds with `authorization_pending` (HTTP 403) until the user
21
+ * confirms, then 200 + `access_token`/`id_token`/`refresh_token`.
22
+ *
23
+ * The Auth0 client must be of `app_type=native` and have the device_code
24
+ * grant enabled. Client_id is public per RFC 8628 (appears in the
25
+ * verification URL the user sees in their browser).
26
+ *
27
+ * References:
28
+ * - https://auth0.com/docs/get-started/authentication-and-authorization-flow/device-authorization-flow
29
+ * - https://datatracker.ietf.org/doc/html/rfc8628
30
+ */
31
+ /** Auth0 custom domain. Override via env for staging/forks. */
32
+ export declare const LOG10X_AUTH0_DOMAIN: string;
33
+ /** Auth0 native client id for the MCP. Public by design (appears in
34
+ * the user's verification URL during Device Flow). Override via env to
35
+ * point an MCP build at a different tenant (e.g. staging). */
36
+ export declare const LOG10X_AUTH0_CLIENT_ID: string;
37
+ /** Scopes for the device-code request.
38
+ * - `openid` is required for Auth0 to issue an ID token at all.
39
+ * - `profile` and `email` populate the standard OIDC claims so the
40
+ * backend's /userinfo lookup returns a real email + name.
41
+ * - `offline_access` requests a refresh_token so the user could
42
+ * re-issue access tokens later without going through Device Flow
43
+ * again. The MCP itself doesn't currently use it (we exchange the
44
+ * access_token for a long-lived api_key and then forget the Auth0
45
+ * session), but it's cheap to ask for and lets future flows refresh
46
+ * without a fresh login. */
47
+ export declare const REQUESTED_SCOPES = "openid profile email offline_access";
48
+ export interface DeviceCodeResponse {
49
+ device_code: string;
50
+ user_code: string;
51
+ verification_uri: string;
52
+ /** Auth0 returns this with the user_code already embedded. Prefer
53
+ * it over manually building one. */
54
+ verification_uri_complete: string;
55
+ /** Seconds the device_code is valid; usually 900 (15 min). */
56
+ expires_in: number;
57
+ /** Minimum poll interval in seconds; usually 5. */
58
+ interval: number;
59
+ }
60
+ export interface AccessTokenResponse {
61
+ access_token: string;
62
+ id_token?: string;
63
+ refresh_token?: string;
64
+ scope?: string;
65
+ expires_in?: number;
66
+ token_type: string;
67
+ }
68
+ /**
69
+ * Step 1: ask Auth0 for a device + user code.
70
+ */
71
+ export declare function requestDeviceCode(clientId?: string, scope?: string, domain?: string): Promise<DeviceCodeResponse>;
72
+ export interface PollOptions {
73
+ deviceCode: string;
74
+ /** Seconds between polls (from `requestDeviceCode`). */
75
+ interval: number;
76
+ /** Total polling deadline in seconds. */
77
+ expiresIn: number;
78
+ clientId?: string;
79
+ domain?: string;
80
+ /** Optional callback to log/render progress on each poll. */
81
+ onTick?: (elapsedSec: number) => void;
82
+ }
83
+ /**
84
+ * Step 2/3: poll until Auth0 gives us an access token, the user
85
+ * declines, or the device_code expires. Honors the `slow_down`
86
+ * back-pressure signal by adding 5s to the interval each time.
87
+ *
88
+ * Auth0 returns these errors as HTTP 403 with a JSON body of
89
+ * `{error: ..., error_description: ...}`. We don't surface the 403
90
+ * itself as an error; we read the body and decide based on `error`.
91
+ */
92
+ export declare function pollForAccessToken(opts: PollOptions): Promise<AccessTokenResponse>;