log10x-mcp 1.6.7 → 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 (37) hide show
  1. package/build/index.js +104 -13
  2. package/build/index.js.map +1 -1
  3. package/build/lib/auth-api.d.ts +15 -10
  4. package/build/lib/auth-api.js +13 -9
  5. package/build/lib/auth-api.js.map +1 -1
  6. package/build/lib/auth0-device-flow.d.ts +92 -0
  7. package/build/lib/auth0-device-flow.js +143 -0
  8. package/build/lib/auth0-device-flow.js.map +1 -0
  9. package/build/lib/credentials.d.ts +0 -2
  10. package/build/lib/credentials.js +2 -2
  11. package/build/lib/credentials.js.map +1 -1
  12. package/build/lib/environments.d.ts +58 -11
  13. package/build/lib/environments.js +82 -22
  14. package/build/lib/environments.js.map +1 -1
  15. package/build/lib/tool-errors.js +1 -1
  16. package/build/lib/tool-errors.js.map +1 -1
  17. package/build/tools/doctor.js +4 -4
  18. package/build/tools/doctor.js.map +1 -1
  19. package/build/tools/login-status.d.ts +1 -1
  20. package/build/tools/login-status.js +20 -4
  21. package/build/tools/login-status.js.map +1 -1
  22. package/build/tools/rotate-api-key.js +7 -9
  23. package/build/tools/rotate-api-key.js.map +1 -1
  24. package/build/tools/signin.d.ts +41 -36
  25. package/build/tools/signin.js +203 -230
  26. package/build/tools/signin.js.map +1 -1
  27. package/build/tools/signout.d.ts +1 -1
  28. package/build/tools/signout.js +6 -8
  29. package/build/tools/signout.js.map +1 -1
  30. package/default-manifest.json +10 -5
  31. package/package.json +1 -1
  32. package/build/lib/gh-cli.d.ts +0 -6
  33. package/build/lib/gh-cli.js +0 -58
  34. package/build/lib/gh-cli.js.map +0 -1
  35. package/build/lib/github-device-flow.d.ts +0 -73
  36. package/build/lib/github-device-flow.js +0 -138
  37. package/build/lib/github-device-flow.js.map +0 -1
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
@@ -210,7 +275,12 @@ Root-cause across services (the investigate wedge):
210
275
 
211
276
  Account / setup / discovery:
212
277
  - "am I logged in" / "login status" / "what envs do I have" → log10x_login_status
213
- - "log me in" / "sign me up" / "create a Log10x account" → log10x_signin
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>" }.)
214
284
  - "sign out" / "log out" / "remove my credentials" → log10x_signout
215
285
  - "rotate my API key" / "I think my key was leaked" → log10x_rotate_api_key
216
286
  - "health check" / "is the MCP set up right" / "diagnose" → log10x_doctor
@@ -405,8 +475,28 @@ registerLog10xTool('log10x_backfill_metric', backfillMetricSchema, (args) => wra
405
475
  registerLog10xTool('log10x_doctor', doctorSchema, (args) => wrap('log10x_doctor', async () => executeDoctor(args)));
406
476
  // ── Tool: log10x_login_status ──
407
477
  registerLog10xTool('log10x_login_status', loginStatusSchema, () => wrap('log10x_login_status', async () => executeLoginStatus({}, getEnvs())));
408
- // ── Tool: log10x_signin ──
409
- 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())));
410
500
  // ── Tool: log10x_signout ──
411
501
  registerLog10xTool('log10x_signout', signoutSchema, () => wrap('log10x_signout', async () => executeSignout({}, getEnvs())));
412
502
  // ── Tool: log10x_update_settings ──
@@ -528,7 +618,8 @@ const REGISTERED_TOOLS = [
528
618
  { name: 'log10x_backfill_metric', intent: 'Create a new Datadog / Prometheus metric backfilled from Retriever archive' },
529
619
  { name: 'log10x_doctor', intent: 'Startup health check — env config, gateway, tier, freshness, Retriever, paste endpoint, cross-pillar enrichment floor' },
530
620
  { name: 'log10x_login_status', intent: 'Report credential / env state — identity, env list with permissions, demo-mode upgrade guide if applicable' },
531
- { 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)' },
532
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' },
533
624
  { name: 'log10x_update_settings', intent: 'Update user metadata (analyzer cost, AI provider, etc.) via POST /api/v1/user' },
534
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' },
@@ -594,7 +685,7 @@ async function handleCliFlags() {
594
685
  ' --help, -h Print this help and exit',
595
686
  '',
596
687
  'Environment:',
597
- ' 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)',
598
689
  ' LOG10X_API_BASE Override Prometheus gateway URL',
599
690
  ' LOG10X_REGULATOR_RETRIEVER_URL Retriever query endpoint (optional)',
600
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>;
@@ -0,0 +1,143 @@
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 const LOG10X_AUTH0_DOMAIN = process.env.LOG10X_AUTH0_DOMAIN || 'auth.log10x.com';
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 const LOG10X_AUTH0_CLIENT_ID = process.env.LOG10X_AUTH0_CLIENT_ID || 'GfMSX6pk0GVXlsZSMp0cEEGPtMTjLeQo';
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 const REQUESTED_SCOPES = 'openid profile email offline_access';
48
+ /**
49
+ * Step 1: ask Auth0 for a device + user code.
50
+ */
51
+ export async function requestDeviceCode(clientId = LOG10X_AUTH0_CLIENT_ID, scope = REQUESTED_SCOPES, domain = LOG10X_AUTH0_DOMAIN) {
52
+ const url = `https://${domain}/oauth/device/code`;
53
+ const res = await fetch(url, {
54
+ method: 'POST',
55
+ headers: { 'Accept': 'application/json', 'Content-Type': 'application/x-www-form-urlencoded' },
56
+ body: new URLSearchParams({ client_id: clientId, scope }).toString(),
57
+ });
58
+ if (!res.ok) {
59
+ const body = await res.text().catch(() => '');
60
+ throw new Error(`Auth0 device-code request failed: HTTP ${res.status}: ${body.slice(0, 300)}`);
61
+ }
62
+ const json = (await res.json());
63
+ if (json.error) {
64
+ throw new Error(`Auth0 device-code error: ${json.error}${json.error_description ? `: ${json.error_description}` : ''}`);
65
+ }
66
+ if (!json.device_code || !json.user_code || !json.verification_uri_complete) {
67
+ throw new Error('Auth0 device-code response is missing required fields');
68
+ }
69
+ return json;
70
+ }
71
+ /**
72
+ * Step 2/3: poll until Auth0 gives us an access token, the user
73
+ * declines, or the device_code expires. Honors the `slow_down`
74
+ * back-pressure signal by adding 5s to the interval each time.
75
+ *
76
+ * Auth0 returns these errors as HTTP 403 with a JSON body of
77
+ * `{error: ..., error_description: ...}`. We don't surface the 403
78
+ * itself as an error; we read the body and decide based on `error`.
79
+ */
80
+ export async function pollForAccessToken(opts) {
81
+ const clientId = opts.clientId || LOG10X_AUTH0_CLIENT_ID;
82
+ const domain = opts.domain || LOG10X_AUTH0_DOMAIN;
83
+ const url = `https://${domain}/oauth/token`;
84
+ const startedAt = Date.now();
85
+ let interval = Math.max(1, opts.interval);
86
+ while (true) {
87
+ const elapsed = Math.floor((Date.now() - startedAt) / 1000);
88
+ if (elapsed >= opts.expiresIn) {
89
+ throw new Error('Auth0 device code expired before authorization completed. Run sign-in again.');
90
+ }
91
+ if (opts.onTick)
92
+ opts.onTick(elapsed);
93
+ await sleep(interval * 1000);
94
+ const res = await fetch(url, {
95
+ method: 'POST',
96
+ headers: { 'Accept': 'application/json', 'Content-Type': 'application/x-www-form-urlencoded' },
97
+ body: new URLSearchParams({
98
+ client_id: clientId,
99
+ device_code: opts.deviceCode,
100
+ grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
101
+ }).toString(),
102
+ });
103
+ let json;
104
+ try {
105
+ json = (await res.json());
106
+ }
107
+ catch {
108
+ const body = await res.text().catch(() => '');
109
+ throw new Error(`Auth0 token poll returned non-JSON: HTTP ${res.status}: ${body.slice(0, 300)}`);
110
+ }
111
+ if (res.ok && json.access_token) {
112
+ return {
113
+ access_token: json.access_token,
114
+ id_token: json.id_token,
115
+ refresh_token: json.refresh_token,
116
+ scope: json.scope,
117
+ expires_in: json.expires_in,
118
+ token_type: json.token_type || 'Bearer',
119
+ };
120
+ }
121
+ switch (json.error) {
122
+ case 'authorization_pending':
123
+ // User has not confirmed yet. Keep polling.
124
+ continue;
125
+ case 'slow_down':
126
+ // Auth0 asks us to back off. Add 5s per RFC 8628.
127
+ interval += 5;
128
+ continue;
129
+ case 'expired_token':
130
+ throw new Error('Auth0 device code expired. Run sign-in again.');
131
+ case 'access_denied':
132
+ throw new Error('Authorization was denied. Re-run sign-in if that was a mistake.');
133
+ case 'invalid_grant':
134
+ throw new Error('Auth0 rejected the device_code (invalid_grant). The code may already have been used or has expired. Run sign-in again.');
135
+ default:
136
+ throw new Error(`Unexpected Auth0 token response: HTTP ${res.status}: ${json.error || 'no error and no token'}${json.error_description ? `: ${json.error_description}` : ''}`);
137
+ }
138
+ }
139
+ }
140
+ function sleep(ms) {
141
+ return new Promise((r) => setTimeout(r, ms));
142
+ }
143
+ //# sourceMappingURL=auth0-device-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth0-device-flow.js","sourceRoot":"","sources":["../../src/lib/auth0-device-flow.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  export interface Credentials {
2
2
  /** Long-lived Log10x API key minted by the BE. */
3
3
  apiKey: string;
4
- /** GitHub login at the time of sign-in (cosmetic — for status messages). */
5
- githubLogin?: string;
6
4
  /** ISO-8601 timestamp when these credentials were written. */
7
5
  signedInAt?: string;
8
6
  }