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.
- package/build/index.js +104 -13
- package/build/index.js.map +1 -1
- package/build/lib/auth-api.d.ts +15 -10
- package/build/lib/auth-api.js +13 -9
- package/build/lib/auth-api.js.map +1 -1
- package/build/lib/auth0-device-flow.d.ts +92 -0
- package/build/lib/auth0-device-flow.js +143 -0
- package/build/lib/auth0-device-flow.js.map +1 -0
- package/build/lib/credentials.d.ts +0 -2
- package/build/lib/credentials.js +2 -2
- package/build/lib/credentials.js.map +1 -1
- package/build/lib/environments.d.ts +58 -11
- package/build/lib/environments.js +82 -22
- package/build/lib/environments.js.map +1 -1
- package/build/lib/tool-errors.js +1 -1
- package/build/lib/tool-errors.js.map +1 -1
- package/build/tools/doctor.js +4 -4
- package/build/tools/doctor.js.map +1 -1
- package/build/tools/login-status.d.ts +1 -1
- package/build/tools/login-status.js +20 -4
- package/build/tools/login-status.js.map +1 -1
- package/build/tools/rotate-api-key.js +7 -9
- package/build/tools/rotate-api-key.js.map +1 -1
- package/build/tools/signin.d.ts +41 -36
- package/build/tools/signin.js +203 -230
- package/build/tools/signin.js.map +1 -1
- package/build/tools/signout.d.ts +1 -1
- package/build/tools/signout.js +6 -8
- package/build/tools/signout.js.map +1 -1
- package/default-manifest.json +10 -5
- package/package.json +1 -1
- package/build/lib/gh-cli.d.ts +0 -6
- package/build/lib/gh-cli.js +0 -58
- package/build/lib/gh-cli.js.map +0 -1
- package/build/lib/github-device-flow.d.ts +0 -73
- package/build/lib/github-device-flow.js +0 -138
- 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 {
|
|
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
|
-
|
|
90
|
-
|
|
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
|
-
|
|
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" →
|
|
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:
|
|
409
|
-
|
|
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: '
|
|
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 `
|
|
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)',
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAuB,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAqC,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACpI,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,iCAAiC;AACjC,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,uEAAuE;AACvE,qEAAqE;AACrE,sEAAsE;AACtE,sDAAsD;AAEtD,IAAI,IAA8B,CAAC;AAEnC,KAAK,UAAU,QAAQ;IACrB,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,OAAO;IACd,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+C,CAAC;AACzE,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,SAAS;AAE5C;;;;;;;;;;;GAWG;AACH,SAAS,IAAI,CACX,QAAgB,EAChB,EAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,OAAO,EAAE,EAAE;SACR,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,GAAG,CAAC,IAAI,CAAC,QAAQ,QAAQ,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC9D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/E,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,GAAG,CAAC,KAAK,CAAC,QAAQ,QAAQ,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,QAAQ,QAAQ,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACzE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC,IAAI,EAAE,UAAU;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpE,OAAO,CACL,6DAA6D;YAC7D,qHAAqH;YACrH,sEAAsE;YACtE,WAAW,MAAM,GAAG;YACpB,iDAAiD;YACjD,IAAI,CACL,CAAC;IACJ,CAAC;IACD,qEAAqE;IACrE,OAAO,IAAI,GAAG,kIAAkI,CAAC;AACnJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAc,EAAE,QAAiB;IAC9D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAE5C,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;IACtB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,IAAI,MAAM,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,eAAe,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe;AAEf,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAChD;IACE,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EAoIwD;CACvE,CACF,CAAC;AAEF,gDAAgD;AAChD,6EAA6E;AAC7E,qFAAqF;AACrF,8EAA8E;AAC9E,sEAAsE;AACtE,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,0CAA0C;AAC1C,WAAW,EAAE,CAAC;AACd,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;AAC1D,MAAM,qBAAqB,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAA+B,CAAC;AAC5F,MAAc,CAAC,YAAY,GAAG,CAAC,CAAC,IAAY,EAAE,MAAW,EAAE,OAAY,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtC,OAAO,UAAU,CAAC;AACpB,CAAC,CAAQ,CAAC;AAEV;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CACzB,IAAY,EACZ,WAAoC,EACpC,OAAiG;IAEjG,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,YAAoB,CAC1B,IAAI,EACJ;QACE,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW;QACX,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAED,kCAAkC;AAElC,kBAAkB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACpE,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC,CAAC,CACH,CAAC;AAEF,kCAAkC;AAElC,kBAAkB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACpE,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC,CAAC,CACH,CAAC;AAEF,6BAA6B;AAE7B,kBAAkB,CAAC,gBAAgB,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAC3D,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;IAChC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,cAAc,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC,CAAC,CACH,CAAC;AAEF,mCAAmC;AAEnC,kBAAkB,CAAC,sBAAsB,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/D,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC,CAAC,CACH,CAAC;AAEF,8BAA8B;AAE9B,kBAAkB,CAAC,iBAAiB,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAC7D,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC,CAAC,CACH,CAAC;AAEF,sCAAsC;AAEtC,kBAAkB,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5E,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAC1E,CAAC;AAEF,sCAAsC;AAEtC,kBAAkB,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5E,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAC1E,CAAC;AAEF,qCAAqC;AAErC,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;IACxC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC,CACH,CAAC;AAEF,kCAAkC;AAElC,kBAAkB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACpE,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC,CAAC,CACH,CAAC;AAEF,mCAAmC;AAEnC,kBAAkB,CAAC,sBAAsB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACrE,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,OAAO,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC,CAAC,CACH,CAAC;AAEF,iCAAiC;AAEjC,kBAAkB,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACnE,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC,CACH,CAAC;AAEF,uCAAuC;AAEvC,kBAAkB,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC9E,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAC5E,CAAC;AAEF,mCAAmC;AAEnC,kBAAkB,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CACtE,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;AAEF,uCAAuC;AAEvC,kBAAkB,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC9E,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAC5E,CAAC;AAEF,qCAAqC;AAErC,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;IACxC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC,CACH,CAAC;AAEF,4CAA4C;AAC5C,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,gEAAgE;AAChE,0DAA0D;AAE1D,kBAAkB,CAAC,+BAA+B,EAAE,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CACvF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,2BAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC,CAAC,CACH,CAAC;AAEF,sCAAsC;AAEtC,kBAAkB,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5E,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC,CAAC,CACH,CAAC;AAEF,qCAAqC;AAErC,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;IACxC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC,CACH,CAAC;AAEF,4BAA4B;AAE5B,kBAAkB,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CACzD,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;AAEF,kCAAkC;AAElC,kBAAkB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAChE,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAC3E,CAAC;AAEF,4BAA4B;AAE5B,kBAAkB,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CACzD,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAClE,CAAC;AAEF,6BAA6B;AAE7B,kBAAkB,CAAC,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAE,CACvD,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAClE,CAAC;AAEF,qCAAqC;AAErC,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CACnF,CAAC;AAEF,gCAAgC;AAEhC,kBAAkB,CAAC,mBAAmB,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAChE,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CACzE,CAAC;AAEF,gCAAgC;AAEhC,kBAAkB,CAAC,mBAAmB,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAChE,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CACzE,CAAC;AAEF,gCAAgC;AAEhC,kBAAkB,CAAC,mBAAmB,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAChE,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CACzE,CAAC;AAEF,oCAAoC;AAEpC,kBAAkB,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CACvE,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAChF,CAAC;AAEF,mDAAmD;AAEnD,kBAAkB,CAAC,+BAA+B,EAAE,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CACvF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CACrF,CAAC;AAEF,0CAA0C;AAE1C,kBAAkB,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CACtE,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC,CAAC,CACH,CAAC;AAEF,mDAAmD;AAEnD,kBAAkB,CAAC,+BAA+B,EAAE,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CACvF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,2BAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC,CAAC,CACH,CAAC;AAEF,yDAAyD;AAEzD,kBAAkB,CAAC,qCAAqC,EAAE,+BAA+B,EAAE,CAAC,IAAI,EAAE,EAAE,CAClG,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,gCAAgC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC,CAAC,CACH,CAAC;AAEF,oDAAoD;AACpD,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AAEzE,kBAAkB,CAAC,6BAA6B,EAAE,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAClF,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE,CAC7C,gBAAgB,CAAC;IACf,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;IAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,OAAO;IACtD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,CAAC;IAC5C,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;IACvC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;IACrC,cAAc,EAAE,IAAI,CAAC,cAAc;IACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;IACvC,eAAe,EAAE,IAAI,CAAC,eAAe;IACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI;IACnD,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;IAC/C,WAAW,EAAE,IAAI,CAAC,WAAW;IAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;IACvC,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;IAC7D,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;IACzD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;IACzD,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;CAC5D,CAAC,CACH,CACF,CAAC;AAEF,kBAAkB,CAAC,6BAA6B,EAAE,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAClF,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CACxE,CAAC;AAEF,oCAAoC;AACpC,EAAE;AACF,oEAAoE;AACpE,8DAA8D;AAC9D,+DAA+D;AAC/D,8DAA8D;AAC9D,oEAAoE;AACpE,gEAAgE;AAChE,yCAAyC;AACzC,iEAAiE;AACjE,oEAAoE;AACpE,uEAAuE;AACvE,sEAAsE;AACtE,qEAAqE;AACrE,4CAA4C;AAE5C,kBAAkB,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CACvE,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE,CACvC,mBAAmB,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;IAChC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS;IACtC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;IAC3B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;IACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;IAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;CACxC,CAAC,CACH,CACF,CAAC;AAEF,oDAAoD;AAEpD,kBAAkB,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CACpE,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAC5D,CAAC;AAEF,uDAAuD;AAEvD,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAClE,CAAC;AAEF,uDAAuD;AAEvD,kBAAkB,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5E,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;AAEF,uDAAuD;AAEvD,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1E,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAClE,CAAC;AAEF,wEAAwE;AAExE,kBAAkB,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CACxE,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAChE,CAAC;AAEF,+DAA+D;AAE/D,kBAAkB,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CACxE,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAChE,CAAC;AAEF,kCAAkC;AAElC,MAAM,CAAC,QAAQ,CACb,iBAAiB,EACjB,iBAAiB,EACjB,EAAE,WAAW,EAAE,4CAA4C,EAAE,QAAQ,EAAE,YAAY,EAAE,EACrF,KAAK,IAAI,EAAE;IACT,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,OAAO,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAClF,CAAC,CACF,CAAC;AAEF,0BAA0B;AAE1B,MAAM,gBAAgB,GAA4C;IAChE,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,uFAAuF,EAAE;IAChI,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,sFAAsF,EAAE;IAC/H,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,gFAAgF,EAAE;IACpH,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,+EAA+E,EAAE;IACzH,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,4CAA4C,EAAE;IACjF,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,0DAA0D,EAAE;IACvG,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,mFAAmF,EAAE;IAChI,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,sEAAsE,EAAE;IAClH,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,yDAAyD,EAAE;IAClG,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,4EAA4E,EAAE;IACtH,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,4EAA4E,EAAE;IACpH,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,oEAAoE,EAAE;IAClH,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,yEAAyE,EAAE;IACnH,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,kHAAkH,EAAE;IAChK,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,qEAAqE,EAAE;IACjH,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,sFAAsF,EAAE;IACzI,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,oGAAoG,EAAE;IACjJ,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,4EAA4E,EAAE;IACxH,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,uHAAuH,EAAE;IAC1J,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,4GAA4G,EAAE;IACrJ,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,6IAA6I,EAAE;IAChL,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,0HAA0H,EAAE;IAC9J,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,+EAA+E,EAAE;IAC3H,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,uHAAuH,EAAE;IAC9J,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,uFAAuF,EAAE;IAC9H,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,6FAA6F,EAAE;IACpI,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,uHAAuH,EAAE;IAClK,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,yGAAyG,EAAE;IAC5J,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,oHAAoH,EAAE;IAC9J,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,mIAAmI,EAAE;IACtL,EAAE,IAAI,EAAE,qCAAqC,EAAE,MAAM,EAAE,mHAAmH,EAAE;IAC5K,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,yGAAyG,EAAE;IAC1J,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,0EAA0E,EAAE;IAC3H,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,sHAAsH,EAAE;IACjK,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,iFAAiF,EAAE;IAC1H,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,gHAAgH,EAAE;IAC3J,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,iGAAiG,EAAE;IAC7I,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,qGAAqG,EAAE;IACjJ,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,8EAA8E,EAAE;IAC3H,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,kKAAkK,EAAE;CAC9M,CAAC;AAEF,KAAK,UAAU,cAAc;IAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,cAAc,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACjC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;YACvC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,yBAA0B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,sCAAsC;QACtC,OAAO,CAAC,GAAG,CACT;YACE,gCAAgC;YAChC,EAAE;YACF,0BAA0B;YAC1B,EAAE;YACF,yFAAyF;YACzF,EAAE;YACF,QAAQ;YACR,kDAAkD;YAClD,2DAA2D;YAC3D,mEAAmE;YACnE,gDAAgD;YAChD,EAAE;YACF,cAAc;YACd,6GAA6G;YAC7G,6DAA6D;YAC7D,4EAA4E;YAC5E,uEAAuE;YACvE,4FAA4F;YAC5F,uFAAuF;YACvF,6GAA6G;YAC7G,gFAAgF;YAChF,qFAAqF;YACrF,6EAA6E;YAC7E,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,cAAc;AAEd,KAAK,UAAU,IAAI;IACjB,IAAI,MAAM,cAAc,EAAE;QAAE,OAAO;IACnC,gEAAgE;IAChE,6DAA6D;IAC7D,mEAAmE;IACnE,sEAAsE;IACtE,IAAI,CAAC;QACH,MAAM,QAAQ,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,0BAA0B,EAAE,CAAC;YAC5C,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;IACD,kEAAkE;IAClE,yEAAyE;IACzE,sEAAsE;IACtE,kDAAkD;IAClD,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,wEAAwE;IACxE,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACzD,IAAI,QAAQ;QAAE,oBAAoB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE;QACnB,OAAO,EAAE,iBAAiB,EAAE;QAC5B,KAAK,EAAE,gBAAgB,CAAC,MAAM;QAC9B,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM;QACvB,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;QACpC,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,eAAe,EAAE,QAAQ,KAAK,IAAI;KACnC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/lib/auth-api.d.ts
CHANGED
|
@@ -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
|
|
6
|
+
export interface SigninResponse {
|
|
7
7
|
/** Long-lived Log10x API key. Persist this. */
|
|
8
8
|
api_key: string;
|
|
9
|
-
/** User's email
|
|
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/
|
|
18
|
-
*
|
|
19
|
-
*
|
|
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
|
|
26
|
+
export declare function exchangeAuth0TokenForApiKey(auth0AccessToken: string): Promise<SigninResponse>;
|
package/build/lib/auth-api.js
CHANGED
|
@@ -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/
|
|
12
|
-
*
|
|
13
|
-
*
|
|
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
|
|
16
|
-
const url = new URL('/api/v1/auth/
|
|
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({
|
|
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
|
|
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;
|
|
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
|
}
|