@extentos/mcp-server 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -12
- package/dist/index.js +39 -2
- package/dist/index.js.map +1 -1
- package/dist/telemetry/installRegistry.d.ts +12 -0
- package/dist/telemetry/installRegistry.d.ts.map +1 -1
- package/dist/telemetry/installRegistry.js +29 -0
- package/dist/telemetry/installRegistry.js.map +1 -1
- package/dist/tools/definitions.js +1 -1
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/docs/index.d.ts.map +1 -1
- package/dist/tools/docs/index.js +70 -1
- package/dist/tools/docs/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @extentos/mcp-server
|
|
2
2
|
|
|
3
3
|
MCP server for building Meta-glasses-connected apps with Claude Code and other
|
|
4
|
-
MCP-aware agents. Exposes
|
|
4
|
+
MCP-aware agents. Exposes 19 deterministic tools covering planning, spec
|
|
5
5
|
authoring, code generation, permissions, credential guidance, validation, and
|
|
6
6
|
a browser-based simulator for testing without physical hardware.
|
|
7
7
|
|
|
@@ -18,32 +18,59 @@ Restart Claude Code. `/mcp` should list `extentos` with all tools available.
|
|
|
18
18
|
Prerequisites: Node.js 20+ on `PATH`. That's it — `npx` fetches the package on
|
|
19
19
|
first run and caches it.
|
|
20
20
|
|
|
21
|
-
##
|
|
21
|
+
## Getting started (for the agent)
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
If an AI agent is using this server, the canonical first step is
|
|
24
|
+
**`planIntegration(goal: "<what the dev wants to build>")`**. That tool
|
|
25
|
+
returns the tool sequence to follow, plus suggested blocks/streams/triggers
|
|
26
|
+
derived from the goal. Don't guess — call it first.
|
|
24
27
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
When in doubt about a concept, **`searchDocs(query: "<natural language>")`**
|
|
29
|
+
is the escape hatch. The corpus covers blocks, streams, triggers, actions,
|
|
30
|
+
auto-bind lifecycle, the local-bridge probe, voice UX rules, and more.
|
|
31
|
+
|
|
32
|
+
The standard flow:
|
|
33
|
+
|
|
34
|
+
1. `planIntegration` — first call, maps the goal to a tool sequence
|
|
35
|
+
2. `generateConnectionModule` — bootstrap module, Gradle/SPM wiring, empty spec
|
|
36
|
+
3. `initSpec` — first populated spec + callback handler dispatch template
|
|
37
|
+
4. `generateConsumer(kind: "callback")` — handler stubs the dev fills in
|
|
38
|
+
5. `getPermissions` / `validateIntegration` — check wiring before testing
|
|
30
39
|
6. `createSimulatorSession` — provision a browser-hosted glasses surrogate
|
|
31
|
-
7. `
|
|
32
|
-
|
|
40
|
+
7. `inspectIntegration` / `updateSpec` — iterate (always inspect for the
|
|
41
|
+
`basedOn` freshness token before updating)
|
|
42
|
+
8. `getEventLog` / `getSimulatorStatus` — debug a running session
|
|
43
|
+
9. `getProductionChecklist` — walk through ship-readiness
|
|
33
44
|
|
|
34
45
|
See the full tool reference and example flow in the repo:
|
|
35
46
|
|
|
36
47
|
- [MCP tool catalog](https://github.com/Asgermolgaard/vibe-hardware/blob/master/docs/mcp/MCP_TOOLS.md)
|
|
37
48
|
- [12-step example flow](https://github.com/Asgermolgaard/vibe-hardware/blob/master/docs/mcp/EXAMPLE_FLOW.md)
|
|
38
49
|
- [Authentication model](https://github.com/Asgermolgaard/vibe-hardware/blob/master/docs/mcp/AUTHENTICATION.md)
|
|
50
|
+
- [Auto-bind dev loop](https://github.com/Asgermolgaard/vibe-hardware/blob/master/docs/mcp/PERSISTENT_DEV_SESSION.md)
|
|
51
|
+
|
|
52
|
+
## Features
|
|
53
|
+
|
|
54
|
+
- **Anonymous-first.** First simulator session needs no signup. 500-event
|
|
55
|
+
anonymous meter; account linking via device-code flow when exhausted.
|
|
56
|
+
- **Auto-bind dev loop (Android).** Once the library is in your app, the
|
|
57
|
+
MCP and library coordinate via a `127.0.0.1:31337/whoami` localhost
|
|
58
|
+
bridge. Subsequent `createSimulatorSession` calls auto-attach the
|
|
59
|
+
running app to the new session — no rebuild, no URL paste, no typed
|
|
60
|
+
code in the happy path. Calling the tool while a session is already
|
|
61
|
+
active supersedes silently. iOS auto-bind: in progress.
|
|
62
|
+
- **Browser simulator surrogate.** Camera, mic, hardware alerts,
|
|
63
|
+
notifications, replay — all browser-side; no physical glasses needed
|
|
64
|
+
for the bulk of the dev loop.
|
|
39
65
|
|
|
40
66
|
## Platforms
|
|
41
67
|
|
|
42
68
|
- **Android** — primary target for the current pre-release. Library resolves
|
|
43
69
|
from `mavenLocal()` during Phase 7a; Maven Central promotion is on the
|
|
44
|
-
Phase 7b roadmap.
|
|
70
|
+
Phase 7b roadmap. Auto-bind is fully shipped on this platform.
|
|
45
71
|
- **iOS** — supported via SPM. Same MCP tool surface, different generated
|
|
46
|
-
artifacts.
|
|
72
|
+
artifacts. Auto-bind in progress; iOS apps still use the URL-bake path
|
|
73
|
+
via `extentos.session.plist` until that lands.
|
|
47
74
|
|
|
48
75
|
## Status
|
|
49
76
|
|
package/dist/index.js
CHANGED
|
@@ -10,9 +10,46 @@ import { toolDefinitions } from "./tools/definitions.js";
|
|
|
10
10
|
import { handlers } from "./tools/registry.js";
|
|
11
11
|
import { mcpErrorResponse } from "./stub.js";
|
|
12
12
|
import { drainTelemetry, emitInstalledOnce, emitToolCalled, } from "./telemetry/index.js";
|
|
13
|
+
import { claimFirstPrivacyNotice } from "./telemetry/installRegistry.js";
|
|
13
14
|
import { startLocalBridge, stopLocalBridge } from "./localBridge.js";
|
|
15
|
+
const PRIVACY_NOTICE = {
|
|
16
|
+
url: "https://extentos.com/privacy",
|
|
17
|
+
version: "2026-04",
|
|
18
|
+
note: "First call on this install — Extentos collects anonymous usage telemetry by default to improve the tool. " +
|
|
19
|
+
"Your installId tags telemetry events; no source code or personal data is collected. " +
|
|
20
|
+
"Opt out: run `npx @extentos/mcp-server@latest decline-privacy`, or set EXTENTOS_TELEMETRY=0. " +
|
|
21
|
+
"This note is shown once per install.",
|
|
22
|
+
};
|
|
23
|
+
// Inject privacyPolicy into the first successful tool response on a fresh
|
|
24
|
+
// install. AUTHENTICATION.md § Consent handling defines this contract; the
|
|
25
|
+
// notice is dismissed-by-continuing per industry pattern (Vercel CLI,
|
|
26
|
+
// Astro, Vite, etc.). Runs once per install, persisted via
|
|
27
|
+
// claimFirstPrivacyNotice.
|
|
28
|
+
function maybeInjectPrivacyNotice(result) {
|
|
29
|
+
if (result.isError)
|
|
30
|
+
return result;
|
|
31
|
+
if (!claimFirstPrivacyNotice())
|
|
32
|
+
return result;
|
|
33
|
+
const text = result.content[0]?.text;
|
|
34
|
+
if (typeof text !== "string")
|
|
35
|
+
return result;
|
|
36
|
+
let parsed;
|
|
37
|
+
try {
|
|
38
|
+
parsed = JSON.parse(text);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
if (!parsed || typeof parsed !== "object")
|
|
44
|
+
return result;
|
|
45
|
+
const enriched = { ...parsed, privacyPolicy: PRIVACY_NOTICE };
|
|
46
|
+
return {
|
|
47
|
+
...result,
|
|
48
|
+
content: [{ type: "text", text: JSON.stringify(enriched, null, 2) }],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
14
51
|
const SERVER_NAME = "@extentos/mcp-server";
|
|
15
|
-
const SERVER_VERSION = "0.0.
|
|
52
|
+
const SERVER_VERSION = "0.0.10";
|
|
16
53
|
async function main() {
|
|
17
54
|
const server = new Server({ name: SERVER_NAME, version: SERVER_VERSION }, { capabilities: { tools: {} } });
|
|
18
55
|
// First-run install event (no-op if already fired or consent declined).
|
|
@@ -48,7 +85,7 @@ async function main() {
|
|
|
48
85
|
const result = await handler(request.params.arguments ?? {});
|
|
49
86
|
const outcome = result.isError ? "error" : "success";
|
|
50
87
|
emitToolCalled({ toolName: name, durationMs: Date.now() - start, outcome });
|
|
51
|
-
return result;
|
|
88
|
+
return maybeInjectPrivacyNotice(result);
|
|
52
89
|
}
|
|
53
90
|
catch (err) {
|
|
54
91
|
emitToolCalled({ toolName: name, durationMs: Date.now() - start, outcome: "error" });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,2CAA2C;AAC3C,wEAAwE;AACxE,sEAAsE;AACtE,uDAAuD;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,cAAc,GAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,18 @@ export declare function resolveInstallId(): string;
|
|
|
9
9
|
* so the event does not fire again on subsequent runs.
|
|
10
10
|
*/
|
|
11
11
|
export declare function claimFirstRun(): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Returns true the first time it's called per install. Used to inject the
|
|
14
|
+
* one-shot privacyPolicy note into a tool response. Subsequent calls
|
|
15
|
+
* (across MCP process restarts) return false. Persists by writing
|
|
16
|
+
* `privacyNoticeShownAt` to `~/.extentos/install.json`.
|
|
17
|
+
*
|
|
18
|
+
* Distinct from `claimFirstRun` (which gates the `mcp.installed` telemetry
|
|
19
|
+
* event) — that flag fires inside the MCP boot sequence before any tool
|
|
20
|
+
* call happens, so it's already consumed by the time we'd want to inject
|
|
21
|
+
* the user-visible notice.
|
|
22
|
+
*/
|
|
23
|
+
export declare function claimFirstPrivacyNotice(): boolean;
|
|
12
24
|
/**
|
|
13
25
|
* Millis since the install file was first created. Used for `account.linked`
|
|
14
26
|
* as `timeSinceInstallMs`. Returns null if the install file is missing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installRegistry.d.ts","sourceRoot":"","sources":["../../src/telemetry/installRegistry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"installRegistry.d.ts","sourceRoot":"","sources":["../../src/telemetry/installRegistry.ts"],"names":[],"mappings":"AAyEA;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAUzC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAUvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAajD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAM9C"}
|
|
@@ -35,6 +35,9 @@ function readInstall() {
|
|
|
35
35
|
installId: parsed.installId,
|
|
36
36
|
createdAt: parsed.createdAt,
|
|
37
37
|
installedEventEmitted: parsed.installedEventEmitted === true,
|
|
38
|
+
privacyNoticeShownAt: typeof parsed.privacyNoticeShownAt === "string"
|
|
39
|
+
? parsed.privacyNoticeShownAt
|
|
40
|
+
: undefined,
|
|
38
41
|
};
|
|
39
42
|
}
|
|
40
43
|
return null;
|
|
@@ -85,6 +88,32 @@ export function claimFirstRun() {
|
|
|
85
88
|
writeInstall(updated);
|
|
86
89
|
return true;
|
|
87
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Returns true the first time it's called per install. Used to inject the
|
|
93
|
+
* one-shot privacyPolicy note into a tool response. Subsequent calls
|
|
94
|
+
* (across MCP process restarts) return false. Persists by writing
|
|
95
|
+
* `privacyNoticeShownAt` to `~/.extentos/install.json`.
|
|
96
|
+
*
|
|
97
|
+
* Distinct from `claimFirstRun` (which gates the `mcp.installed` telemetry
|
|
98
|
+
* event) — that flag fires inside the MCP boot sequence before any tool
|
|
99
|
+
* call happens, so it's already consumed by the time we'd want to inject
|
|
100
|
+
* the user-visible notice.
|
|
101
|
+
*/
|
|
102
|
+
export function claimFirstPrivacyNotice() {
|
|
103
|
+
const file = readInstall() ?? {
|
|
104
|
+
installId: `inst_${randomBytes(16).toString("hex")}`,
|
|
105
|
+
createdAt: new Date().toISOString(),
|
|
106
|
+
installedEventEmitted: false,
|
|
107
|
+
};
|
|
108
|
+
if (file.privacyNoticeShownAt)
|
|
109
|
+
return false;
|
|
110
|
+
const updated = {
|
|
111
|
+
...file,
|
|
112
|
+
privacyNoticeShownAt: new Date().toISOString(),
|
|
113
|
+
};
|
|
114
|
+
writeInstall(updated);
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
88
117
|
/**
|
|
89
118
|
* Millis since the install file was first created. Used for `account.linked`
|
|
90
119
|
* as `timeSinceInstallMs`. Returns null if the install file is missing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installRegistry.js","sourceRoot":"","sources":["../../src/telemetry/installRegistry.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,qCAAqC;AACrC,4EAA4E;AAC5E,qEAAqE;AACrE,wDAAwD;AACxD,EAAE;AACF,yEAAyE;AAEzE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"installRegistry.js","sourceRoot":"","sources":["../../src/telemetry/installRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -190,7 +190,7 @@ export const toolDefinitions = [
|
|
|
190
190
|
},
|
|
191
191
|
{
|
|
192
192
|
name: "inspectIntegration",
|
|
193
|
-
description: "Read-only snapshot of current Extentos integration
|
|
193
|
+
description: "Read-only snapshot of current Extentos integration. Returns the manifest snapshot, spec snapshot, generated-file hashes, dependency list, AND a `basedOn: { hash, timestamp }` freshness token that updateSpec / generateConsumer require to detect stale concurrent edits. USE before every updateSpec or generateConsumer call. DON'T USE for correctness checking (use validateIntegration).",
|
|
194
194
|
inputSchema: {
|
|
195
195
|
type: "object",
|
|
196
196
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAiHD,eAAO,MAAM,SAAS,EAAE,QAAQ,EA8S/B,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAuB/E"}
|
package/dist/tools/docs/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// Bundled documentation index for searchDocs.
|
|
2
|
-
// 26 topics per MCP_TOOLS.md § searchDocs.
|
|
3
2
|
// Content is curated summary + key rules — not full verbatim doc bodies.
|
|
4
3
|
// Authoritative sources live in /docs/mcp/*.md; update both together.
|
|
4
|
+
// Topic count: count entries in DOC_INDEX rather than maintaining a magic
|
|
5
|
+
// number — the 26→28→31 drift cost more in audit time than the count
|
|
6
|
+
// statement was worth.
|
|
5
7
|
// Per-placement code snippets surfaced by topic 'connection_ui_placement'.
|
|
6
8
|
// Mirrored in docs/mcp/LIBRARY_API.md § Connection UI § Placement.
|
|
7
9
|
// Five Android (Compose) + five iOS (SwiftUI) options.
|
|
@@ -318,6 +320,73 @@ export const DOC_INDEX = [
|
|
|
318
320
|
],
|
|
319
321
|
relatedTools: ["generateConnectionModule"],
|
|
320
322
|
},
|
|
323
|
+
{
|
|
324
|
+
topic: "auto_bind_session_lifecycle",
|
|
325
|
+
title: "Auto-Bind Session Lifecycle (Track B+)",
|
|
326
|
+
content: "createSimulatorSession's preferred outcome is autoBind:'attached' — the dev's running app is auto-attached to the new session over its already-open WebSocket, no rebuild required. Two paths: (1) Auto-bind via MCP local bridge: library probes localhost:31337/whoami at connect, sends mcp_install_id in session_init on /ws/pending, backend looks up by installId and fires session_attached. (2) Supersede: calling createSimulatorSession again while the dev's device is bound to a previous session moves the app's WebSocket directly to the new session via fresh session_attached, marks the old session expired. Fallback (autoBind:'no_device'): emits androidBuildConfigPatch (Android) or extentos.session.plist (iOS) for the URL-bake path. The library only consults BuildConfig.EXTENTOS_SESSION_URL when its value is non-null. After Track B+, generateConnectionModule emits the field with null default — non-null is the URL-bake fallback only. Pending row TTLs: 24h MCP-bound, 5min typed-code.",
|
|
327
|
+
keywords: [
|
|
328
|
+
"auto-bind",
|
|
329
|
+
"auto_bind",
|
|
330
|
+
"autoBind",
|
|
331
|
+
"attached",
|
|
332
|
+
"supersede",
|
|
333
|
+
"session_attached",
|
|
334
|
+
"awaiting_session",
|
|
335
|
+
"rebuild",
|
|
336
|
+
"no rebuild",
|
|
337
|
+
"track b+",
|
|
338
|
+
"persistent",
|
|
339
|
+
"pending",
|
|
340
|
+
"/ws/pending",
|
|
341
|
+
"mcp_install_id",
|
|
342
|
+
"device_install_id",
|
|
343
|
+
],
|
|
344
|
+
relatedTools: ["createSimulatorSession", "getSimulatorStatus", "generateConnectionModule"],
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
topic: "local_bridge_discovery",
|
|
348
|
+
title: "MCP Local Bridge (127.0.0.1:31337/whoami)",
|
|
349
|
+
content: "MCP server starts an HTTP listener on 127.0.0.1:31337 at boot. GET /whoami returns { mcpInstallId, version: 1 }. The library on the dev's testing device probes this at connect-time to discover which MCP install owns it, then forwards mcp_install_id in /ws/pending session_init so the backend can auto-bind. Reach paths: Android emulator → http://10.0.2.2:31337/whoami (NAT alias for host loopback). iOS Simulator → http://localhost:31337/whoami (shares host network namespace). USB-tethered phone → run `adb reverse tcp:31337 tcp:31337` first. Cellular phone or cloud-hosted agent → probe times out, library falls back to typed pairing code. Probe budget is 1.5s, runs off the main thread; failure is silent. The Android library ships a network_security_config.xml allowing cleartext to 10.0.2.2 / localhost / 127.0.0.1; iOS apps need an NSAppTransportSecurity exception for localhost to allow the probe over plaintext.",
|
|
350
|
+
keywords: [
|
|
351
|
+
"localhost",
|
|
352
|
+
"10.0.2.2",
|
|
353
|
+
"127.0.0.1",
|
|
354
|
+
"31337",
|
|
355
|
+
"whoami",
|
|
356
|
+
"local bridge",
|
|
357
|
+
"localBridge",
|
|
358
|
+
"probe",
|
|
359
|
+
"discovery",
|
|
360
|
+
"adb reverse",
|
|
361
|
+
"ats",
|
|
362
|
+
"network security config",
|
|
363
|
+
"cleartext",
|
|
364
|
+
"loopback",
|
|
365
|
+
],
|
|
366
|
+
relatedTools: ["createSimulatorSession"],
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
topic: "device_code_flow",
|
|
370
|
+
title: "Device-Code Auth Flow (Anonymous → Linked)",
|
|
371
|
+
content: "First simulator session works with no signup — anonymous tier, 500-event meter keyed on installId. When the meter exhausts, createSimulatorSession returns status:'auth_required' with userCode + verificationUrl + deviceCode + expiresInSeconds. Three-call agent-driven choreography: (1) agent surfaces userCode + verificationUrl to the dev (auto-open already attempted by MCP); (2) agent calls completeAuthLink(deviceCode), which polls backend until the dev finishes signup at the verification page (up to 600s), writes ~/.extentos/auth.json on success; (3) agent re-invokes createSimulatorSession with the same spec — the new bearer token is picked up automatically and the happy-path response returns. No background work between calls — the agent holds the deviceCode. Why not server-driven: MCP tool calls are request/response, no cross-call state, agents can't show progress on a 10-minute blocking call. Tier transitions: anonymous (500) → free_account (1000) → paid (unlimited). Meter is net-of-anonymous-consumption (early linking preserves more of the free budget).",
|
|
372
|
+
keywords: [
|
|
373
|
+
"auth",
|
|
374
|
+
"device code",
|
|
375
|
+
"deviceCode",
|
|
376
|
+
"userCode",
|
|
377
|
+
"completeAuthLink",
|
|
378
|
+
"auth_required",
|
|
379
|
+
"meter",
|
|
380
|
+
"exhausted",
|
|
381
|
+
"signup",
|
|
382
|
+
"verification",
|
|
383
|
+
"anonymous",
|
|
384
|
+
"linked",
|
|
385
|
+
"tier",
|
|
386
|
+
"polling",
|
|
387
|
+
],
|
|
388
|
+
relatedTools: ["createSimulatorSession", "completeAuthLink"],
|
|
389
|
+
},
|
|
321
390
|
];
|
|
322
391
|
export function searchDocsIndex(query, topicFilter) {
|
|
323
392
|
const q = query.trim().toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"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"}
|