@extentos/mcp-server 0.0.16 → 0.0.17
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/dist/generated/schemas.js +7 -7
- package/dist/generated/schemas.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/tools/data/capabilities.js +1 -1
- package/dist/tools/data/capabilities.js.map +1 -1
- package/dist/tools/data/version.d.ts.map +1 -1
- package/dist/tools/data/version.js +6 -1
- package/dist/tools/data/version.js.map +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +23 -4
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/docs/index.d.ts.map +1 -1
- package/dist/tools/docs/index.js +51 -19
- package/dist/tools/docs/index.js.map +1 -1
- package/dist/tools/handlers/createSimulatorSession.js +2 -2
- package/dist/tools/handlers/createSimulatorSession.js.map +1 -1
- package/dist/tools/handlers/generateConnectionModule.d.ts.map +1 -1
- package/dist/tools/handlers/generateConnectionModule.js +146 -34
- package/dist/tools/handlers/generateConnectionModule.js.map +1 -1
- package/dist/tools/handlers/generateConsumer.d.ts.map +1 -1
- package/dist/tools/handlers/generateConsumer.js +30 -5
- package/dist/tools/handlers/generateConsumer.js.map +1 -1
- package/dist/tools/handlers/getPlatformInfo.d.ts.map +1 -1
- package/dist/tools/handlers/getPlatformInfo.js +129 -20
- package/dist/tools/handlers/getPlatformInfo.js.map +1 -1
- package/dist/tools/handlers/getVoiceCommandGuidance.js +1 -1
- package/dist/tools/handlers/getVoiceCommandGuidance.js.map +1 -1
- package/dist/tools/handlers/initSpec.d.ts.map +1 -1
- package/dist/tools/handlers/initSpec.js +2 -1
- package/dist/tools/handlers/initSpec.js.map +1 -1
- package/dist/tools/handlers/inspectIntegration.d.ts.map +1 -1
- package/dist/tools/handlers/inspectIntegration.js +5 -35
- package/dist/tools/handlers/inspectIntegration.js.map +1 -1
- package/dist/tools/handlers/updateSpec.d.ts +1 -1
- package/dist/tools/handlers/updateSpec.d.ts.map +1 -1
- package/dist/tools/handlers/updateSpec.js +49 -1
- package/dist/tools/handlers/updateSpec.js.map +1 -1
- package/dist/tools/handlers/validateIntegration.d.ts.map +1 -1
- package/dist/tools/handlers/validateIntegration.js +5 -26
- package/dist/tools/handlers/validateIntegration.js.map +1 -1
- package/dist/tools/templates/androidBootstrap.js +67 -67
- package/dist/tools/templates/callbackHandler.d.ts.map +1 -1
- package/dist/tools/templates/callbackHandler.js +22 -6
- package/dist/tools/templates/callbackHandler.js.map +1 -1
- package/dist/tools/templates/iosBootstrap.js +64 -64
- package/dist/tools/templates/streamConsumer.js +16 -4
- package/dist/tools/templates/streamConsumer.js.map +1 -1
- package/dist/tools/util/dependency.d.ts +7 -0
- package/dist/tools/util/dependency.d.ts.map +1 -0
- package/dist/tools/util/dependency.js +61 -0
- package/dist/tools/util/dependency.js.map +1 -0
- package/dist/tools/util/generatedHash.d.ts +13 -0
- package/dist/tools/util/generatedHash.d.ts.map +1 -0
- package/dist/tools/util/generatedHash.js +37 -0
- package/dist/tools/util/generatedHash.js.map +1 -0
- package/dist/tools/util/permissions.d.ts.map +1 -1
- package/dist/tools/util/permissions.js +26 -5
- package/dist/tools/util/permissions.js.map +1 -1
- package/dist/tools/validation/validateSpec.js +1 -1
- package/dist/tools/validation/validateSpec.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/docs/index.js
CHANGED
|
@@ -11,16 +11,31 @@ const PLACEMENT_SNIPPETS_CONTENT = `Five placements for ExtentosConnectionPage.
|
|
|
11
11
|
|
|
12
12
|
ANDROID — Jetpack Compose
|
|
13
13
|
|
|
14
|
-
(1) Dedicated route — single-purpose route, navigate from any button.
|
|
14
|
+
(1) Dedicated route — single-purpose route, navigate from any button. ExtentosConnectionPage uses fillMaxSize() and is unopinionated about navigation, so wrap it in a Scaffold + TopAppBar with a back arrow.
|
|
15
15
|
|
|
16
16
|
// build.gradle.kts: implementation("androidx.navigation:navigation-compose:2.8.4")
|
|
17
17
|
val navController = rememberNavController()
|
|
18
18
|
NavHost(navController, startDestination = "home") {
|
|
19
19
|
composable("home") { HomeScreen(onOpenGlasses = { navController.navigate("glasses") }) }
|
|
20
|
-
composable("glasses") {
|
|
20
|
+
composable("glasses") {
|
|
21
|
+
Scaffold(
|
|
22
|
+
topBar = {
|
|
23
|
+
TopAppBar(
|
|
24
|
+
title = { Text("Glasses") },
|
|
25
|
+
navigationIcon = {
|
|
26
|
+
IconButton(onClick = { navController.popBackStack() }) {
|
|
27
|
+
Icon(Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Back")
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
)
|
|
31
|
+
},
|
|
32
|
+
) { padding ->
|
|
33
|
+
ExtentosConnectionPage(glasses, modifier = Modifier.padding(padding))
|
|
34
|
+
}
|
|
35
|
+
}
|
|
21
36
|
}
|
|
22
37
|
|
|
23
|
-
(2) Settings subscreen — pushed onto the back stack from a Settings list row.
|
|
38
|
+
(2) Settings subscreen — pushed onto the back stack from a Settings list row. Same Scaffold wrap as (1) so the dev can return to Settings.
|
|
24
39
|
|
|
25
40
|
composable("settings") {
|
|
26
41
|
Column {
|
|
@@ -30,7 +45,22 @@ ANDROID — Jetpack Compose
|
|
|
30
45
|
)
|
|
31
46
|
}
|
|
32
47
|
}
|
|
33
|
-
composable("glasses") {
|
|
48
|
+
composable("glasses") {
|
|
49
|
+
Scaffold(
|
|
50
|
+
topBar = {
|
|
51
|
+
TopAppBar(
|
|
52
|
+
title = { Text("Smart glasses") },
|
|
53
|
+
navigationIcon = {
|
|
54
|
+
IconButton(onClick = { navController.popBackStack() }) {
|
|
55
|
+
Icon(Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Back")
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
)
|
|
59
|
+
},
|
|
60
|
+
) { padding ->
|
|
61
|
+
ExtentosConnectionPage(glasses, modifier = Modifier.padding(padding))
|
|
62
|
+
}
|
|
63
|
+
}
|
|
34
64
|
|
|
35
65
|
(3) Bottom-nav tab — co-equal destination alongside the app's main screens.
|
|
36
66
|
|
|
@@ -75,12 +105,13 @@ ANDROID — Jetpack Compose
|
|
|
75
105
|
|
|
76
106
|
iOS — SwiftUI
|
|
77
107
|
|
|
78
|
-
(1) Dedicated route — pushed via NavigationLink from anywhere.
|
|
108
|
+
(1) Dedicated route — pushed via NavigationLink from anywhere. The system NavigationStack provides a back chevron; .navigationTitle makes the bar visible.
|
|
79
109
|
|
|
80
110
|
NavigationStack {
|
|
81
111
|
HomeView()
|
|
82
112
|
.navigationDestination(for: GlassesRoute.self) { _ in
|
|
83
|
-
ExtentosConnectionPage()
|
|
113
|
+
ExtentosConnectionPage(glasses: glasses)
|
|
114
|
+
.navigationTitle("Glasses")
|
|
84
115
|
}
|
|
85
116
|
}
|
|
86
117
|
|
|
@@ -90,7 +121,8 @@ iOS — SwiftUI
|
|
|
90
121
|
NavigationLink("Smart glasses", value: GlassesRoute())
|
|
91
122
|
}
|
|
92
123
|
.navigationDestination(for: GlassesRoute.self) { _ in
|
|
93
|
-
ExtentosConnectionPage()
|
|
124
|
+
ExtentosConnectionPage(glasses: glasses)
|
|
125
|
+
.navigationTitle("Smart glasses")
|
|
94
126
|
}
|
|
95
127
|
|
|
96
128
|
(3) Bottom tab — TabView destination.
|
|
@@ -123,7 +155,7 @@ export const DOC_INDEX = [
|
|
|
123
155
|
"Catalog topics: trigger_types, action_types, block_types, stream_types, spec_format, template_syntax, toggles, app_callback_guide, library_api, voice_ux_guide, permissions, connection_ui_placement. Each has inline minimal examples sufficient for most specs. " +
|
|
124
156
|
"Constraint topics: constraints_and_limitations, audio_video_coexistence, spec_validation_rules. " +
|
|
125
157
|
"Mutation tool sequence (deterministic, in order): " +
|
|
126
|
-
"(1) getPlatformInfo — one call to fetch capability surface and library version. " +
|
|
158
|
+
"(1) getPlatformInfo — one call to fetch capability surface (compact: names + tiers, ~2KB) and library version. Default response is compact; pass expand: ['capabilities.full'] for per-primitive params/payload/requires/constraints, or expand: ['schema'] for the raw JSON Schema (rarely needed — validateSpec handles validation). " +
|
|
127
159
|
"(2) generateConnectionModule — one-shot scaffold (bootstrap + dependencies + empty spec). Surfaces a developerInstructions.Step 1 prompt to ask the dev about ExtentosConnectionPage placement; do not skip it. " +
|
|
128
160
|
"(3) initSpec — populate the first real spec from primitives you composed. " +
|
|
129
161
|
"(4) generateConsumer(kind: 'callback') — stub app_callback handlers if your spec uses any. Use kind: 'stream' for stream consumers. " +
|
|
@@ -366,7 +398,7 @@ export const DOC_INDEX = [
|
|
|
366
398
|
"- HOST-APP BRIDGE: app_callback (the most important — calls into developer code)\n" +
|
|
367
399
|
"- MEDIA: block_call, speak_text, earcon_beep\n" +
|
|
368
400
|
"- STATE: set_toggle, set_variable\n" +
|
|
369
|
-
"- CONTROL FLOW: branch, when_connected, retry_with_backoff, buffer_and_replay, delay, abort,
|
|
401
|
+
"- CONTROL FLOW: branch, when_connected, retry_with_backoff, buffer_and_replay, delay, abort, ask_user\n" +
|
|
370
402
|
"- DIAGNOSTICS: log\n\n" +
|
|
371
403
|
"─── app_callback ───\n" +
|
|
372
404
|
"**The single most important action.** Routes flow control from the spec into the developer's native code. This is how 'voice phrase → my app does the thing' works.\n\n" +
|
|
@@ -464,10 +496,10 @@ export const DOC_INDEX = [
|
|
|
464
496
|
"- delay cannot be cancelled by another trigger's flow. If you need a 'stop' trigger to abort an in-flight delay, the canonical pattern is the toggle-gated branch shown above — the long flow's later actions check the toggle state and no-op if the stop trigger flipped it off.\n\n" +
|
|
465
497
|
"─── abort ───\n" +
|
|
466
498
|
"Terminates the flow immediately. Use for early-exit on error conditions inside a branch's then[].\n\n" +
|
|
467
|
-
"───
|
|
468
|
-
"
|
|
469
|
-
"Required: type,
|
|
470
|
-
"Optional: timeout_seconds\n\n" +
|
|
499
|
+
"─── ask_user ───\n" +
|
|
500
|
+
"Voice Q&A: speaks the `question` via TTS, captures the user's spoken response into `save_as`. **NOT for LLM calls** — the action's name says what it does (ask the user). For LLM/AI calls, use `app_callback` with a developer-implemented handler (the `prompt` field of that handler's input is the natural-sense LLM prompt).\n" +
|
|
501
|
+
"Required: type, question, save_as\n" +
|
|
502
|
+
"Optional: timeout_seconds (default 5, max 30), min_confidence (default 0.4)\n\n" +
|
|
471
503
|
"─── log ───\n" +
|
|
472
504
|
"Emit a structured log event into the runtime event log (visible in getEventLog).\n\n" +
|
|
473
505
|
"Required: type, level ('debug' | 'info' | 'warning' | 'error'), message (supports {{template}})\n" +
|
|
@@ -484,13 +516,13 @@ export const DOC_INDEX = [
|
|
|
484
516
|
` { "type": "block_call", "block_id": "main_camera", "save_as": "photo" },\n` +
|
|
485
517
|
` { "type": "app_callback", "handler": "describe_image", "input": { "image": "{{photo.uri}}" }, "save_as": "description" },\n` +
|
|
486
518
|
` { "type": "speak_text", "text": "{{description.text}}" }\n`,
|
|
487
|
-
keywords: ["action", "block_call", "app_callback", "branch", "retry", "speak", "set_toggle", "set_variable", "delay", "log", "earcon", "prompt", "host-app", "callback"],
|
|
519
|
+
keywords: ["action", "block_call", "app_callback", "branch", "retry", "speak", "set_toggle", "set_variable", "delay", "log", "earcon", "ask_user", "prompt", "host-app", "callback"],
|
|
488
520
|
relatedTools: ["updateSpec", "generateConsumer"],
|
|
489
521
|
},
|
|
490
522
|
{
|
|
491
523
|
topic: "voice_ux_guide",
|
|
492
524
|
title: "Voice Command UX",
|
|
493
|
-
content: "Phrases should be 3+ syllables, free of homophones, free of digits (STT rarely round-trips them), free of punctuation. Named captures {{query}} must be the final token. Provide 3+ alternates for natural paraphrase. Avoid Meta wake words (hey meta, hey facebook, ok meta) — they conflict with on-device Meta AI.
|
|
525
|
+
content: "Phrases should be 3+ syllables, free of homophones, free of digits (STT rarely round-trips them), free of punctuation. Named captures {{query}} must be the final token. Provide 3+ alternates for natural paraphrase. Avoid Meta wake words (hey meta, hey facebook, ok meta) — they conflict with on-device Meta AI. Default match_mode \"contains\" tolerates paraphrase; if you set match_mode: \"exact\", add 3+ alternates.",
|
|
494
526
|
keywords: ["voice", "phrase", "command", "homophone", "capture", "stt", "disambiguation", "alternate"],
|
|
495
527
|
relatedTools: ["getVoiceCommandGuidance", "updateSpec"],
|
|
496
528
|
},
|
|
@@ -628,7 +660,7 @@ export const DOC_INDEX = [
|
|
|
628
660
|
"1. **WRITE**: `{ \"type\": \"set_toggle\", \"key\": \"<name>\", \"value\": <literal> }` — mutates the toggle. Validation rule R11 rejects unknown keys.\n" +
|
|
629
661
|
"2. **READ in branch**: `{ \"variable\": \"toggles.<name>\", \"operator\": \"equals\", \"value\": <literal> }` — branch reads the live toggle value at the decision point (never cached).\n" +
|
|
630
662
|
"3. **READ via template**: `{{toggles.<name>}}` resolves to the current value; usable inside any string field that supports template substitution.\n\n" +
|
|
631
|
-
"─── listening_mode ───\nWhen STT runs against the glasses microphone.\n\nType: enum\nDefault: `off` on Meta Ray-Ban (the connection-page UI toggle drives this — flips between `off` and `always_on`)\nValues: `off`, `wake_word`, `on_demand`, `always_on`\n- `off`: STT disabled entirely.\n- `wake_word`: listen for wake word, switch to always-on after detection. **Not yet wired on Meta Ray-Ban** (DAT 0.5 doesn't expose Meta's wake-word API; treat as future-only).\n- `on_demand`: only while push_to_talk or
|
|
663
|
+
"─── listening_mode ───\nWhen STT runs against the glasses microphone.\n\nType: enum\nDefault: `off` on Meta Ray-Ban (the connection-page UI toggle drives this — flips between `off` and `always_on`)\nValues: `off`, `wake_word`, `on_demand`, `always_on`\n- `off`: STT disabled entirely.\n- `wake_word`: listen for wake word, switch to always-on after detection. **Not yet wired on Meta Ray-Ban** (DAT 0.5 doesn't expose Meta's wake-word API; treat as future-only).\n- `on_demand`: only while push_to_talk or ask_user is active.\n- `always_on`: continuous transcription.\n\nWhen to use set_toggle for this: usually you don't — it's user-controlled via the connection page. Programmatic flips are valid but consider whether the user actually wanted listening on.\n\nMinimal:\n { \"type\": \"set_toggle\", \"key\": \"listening_mode\", \"value\": \"always_on\" }\n\n─── camera_streaming_enabled ───\nGlobal kill switch for ALL camera primitives: video_frames stream, capture_photo block, capture_video block, outgoing_video_stream.\n\nType: boolean\nDefault: true\n\nWhen false: every camera-using primitive fails fast with `camera_disabled_by_user`. Useful for runtime opt-out (e.g., user toggles off camera in connection page; flows that try to capture get a clean error to handle).\n\nMinimal:\n { \"type\": \"set_toggle\", \"key\": \"camera_streaming_enabled\", \"value\": false }\n\n─── audio_capture_enabled ───\nGlobal kill switch for ALL audio-capture primitives: audio_chunks stream, record_audio block, outgoing_audio_stream, transcription_incremental.\n\nType: boolean\nDefault: true\n\nDistinct from `transcription_enabled`: this gates raw audio acquisition; transcription_enabled gates STT processing on top of it. Setting audio_capture_enabled=false while transcription_enabled=true silently produces no transcripts.\n\nWhen false: any audio-capturing flow fails fast.\n\n─── transcription_enabled ───\nWhether the library runs STT. Distinct from audio_capture_enabled — you may want raw audio without STT (for custom on-device models via audio_chunks).\n\nType: boolean\nDefault: false\n\n**Required to start a transcription_incremental stream.** Without this true, the stream is declared but produces no data. Common pattern: a `start taking notes` voice trigger flips this true; a `stop taking notes` trigger flips it false.\n\nSide effect: while true, audio routes to HFP — the user briefly loses high-quality A2DP playback if any.\n\nMinimal:\n { \"type\": \"set_toggle\", \"key\": \"transcription_enabled\", \"value\": true }\n\n─── battery_save_mode ───\nWhen true, the lib applies battery-conscious clamps automatically: video_frames clamps to LOW resolution + 2 fps; outgoing_video_stream is disabled; ask_user timeouts shorten; speak_text suppresses progressive-response filler.\n\nType: boolean\nDefault: false\n\nCanonical use: a `thermal_warning` trigger at severity moderate+ flips this true. Pair with the `thermal_throttle` initSpec preset for the canonical shape. Manually flipping false re-enables the constraints.\n\nMinimal:\n { \"type\": \"set_toggle\", \"key\": \"battery_save_mode\", \"value\": true }\n\n─── voice_confirmations ───\nWhether the library plays canned earcons before/after voice commands (start beep, stop beep).\n\nType: boolean\nDefault: true\n\nWhen false: voice triggers fire silently — useful for ambient assistants or accessibility flows where the user prefers quiet operation. The dev still controls per-action TTS via speak_text; this only affects auto-played confirmation beeps.\n\n─── audio_video_coexistence_policy ───\nControls what happens when a flow tries to open an audio primitive while a video primitive is active (or vice versa). DAT 0.5 routes audio over HFP, which suspends A2DP — the lib enforces this policy to prevent overlapping primitives that conflict.\n\nType: enum\nDefault: `prefer_video`\nValues: `prefer_audio`, `prefer_video`, `strict_reject`\n- `prefer_audio`: pause the active video stream while audio runs; resume video on completion.\n- `prefer_video`: reject the new audio primitive; flow continues without it.\n- `strict_reject`: abort the flow with an error.\n\nSee `audio_video_coexistence` topic for the full coexistence model.\n\n─── privacy_mode ───\n**The one super-toggle.** When true, forces camera + audio capture off, disables STT, suppresses notification forwarding, and reflects in the connection-page UI with a clear privacy indicator. Equivalent to Alexa Do Not Disturb.\n\nType: boolean\nDefault: false\n\nLayered semantics: every other toggle is FLAT (effective value = stored value). privacy_mode is the only LAYERED toggle — the lib computes effective values at the decision point. e.g., `effectiveListeningMode = if (privacyMode) \"off\" else toggles.listeningMode`. Spec authors don't need to handle this layering; it's enforced in the lib's flow executor.\n\nCommon pattern: a `set_toggle privacy_mode true` action is a sledgehammer for end-of-session cleanup. Always pair with a means to flip it back off (UI toggle on the connection page is the primary path).\n\n── Reading toggle state from flows ──\nBranch example — abort a photo flow if privacy is on:\n { \"type\": \"branch\",\n \"condition\": { \"variable\": \"toggles.privacy_mode\", \"operator\": \"equals\", \"value\": true },\n \"then\": [{ \"type\": \"abort\", \"reason\": \"privacy_mode_active\" }]\n }\n\nTemplate example — speak the current battery-save state:\n { \"type\": \"speak_text\", \"text\": \"Battery save is {{toggles.battery_save_mode}}.\" }\n\nWhen-connected predicate (preferred over branch for connection gating):\n { \"type\": \"when_connected\", \"action\": { ... }, \"predicate\": \"toggle_on:transcription_enabled\" }\n\n── Common mistakes ──\n- **Setting `transcription_enabled: true` without declaring a `transcription_incremental` stream** — toggle has no effect; the lib has nothing to gate.\n- **Setting `privacy_mode: true` and forgetting to unset it** — sticks until a UI toggle clears it. Hitting privacy mode at the end of a flow without a recovery path leaves the device locked down indefinitely.\n- **Comparing toggle values with the wrong type in branch**: `transcription_enabled` is boolean — use `value: true`, not `value: \"true\"` (string). Validator may not catch type mismatches at spec-load; expect silent always-false branches.\n- **Trying to set toggles not in the 8-key allowlist** — validation rule R11 rejects with the list of valid keys.",
|
|
632
664
|
keywords: [
|
|
633
665
|
"toggle",
|
|
634
666
|
"privacy_mode",
|
|
@@ -710,8 +742,8 @@ export const DOC_INDEX = [
|
|
|
710
742
|
{
|
|
711
743
|
topic: "simulator_browser_mode",
|
|
712
744
|
title: "Simulator Browser Mode",
|
|
713
|
-
content: "Browser mode provisions a web UI via createSimulatorSession — agent receives sessionUrl,
|
|
714
|
-
keywords: ["browser", "session", "websocket", "injection", "replay", "simulator", "url"],
|
|
745
|
+
content: "Browser mode provisions a web UI via createSimulatorSession — agent receives sessionUrl, MCP attempts OS-native browser auto-open (best-effort), browser loads the spec and drives simulated hardware. WebSocket hub coordinates app ↔ browser ↔ optional observer. Supports injection (forced events) and replay of recorded sessions. Session bound to meter tier. Response includes `sessionUrl` + `autoOpenAttempted: boolean` + `autoOpenPlatform`. When `autoOpenAttempted: true`, the URL was sent to the developer's default browser — surface as a confirmation message (e.g., 'the simulator should be open in your browser'). When `autoOpenAttempted: false` (EXTENTOS_NO_AUTO_OPEN=1, headless/SSH/sandboxed environment, per-call `autoOpenBrowser: false`, or no compatible OS launcher), explicitly print the `sessionUrl` to the developer with copy-paste instructions. The URL is the guaranteed delivery channel — auto-open is a best-effort optimization.",
|
|
746
|
+
keywords: ["browser", "session", "websocket", "injection", "replay", "simulator", "url", "auto-open", "autoOpenAttempted"],
|
|
715
747
|
relatedTools: ["createSimulatorSession", "getSimulatorStatus", "getEventLog"],
|
|
716
748
|
},
|
|
717
749
|
{
|
|
@@ -880,7 +912,7 @@ export const DOC_INDEX = [
|
|
|
880
912
|
{
|
|
881
913
|
topic: "device_code_flow",
|
|
882
914
|
title: "Device-Code Auth Flow (Anonymous → Linked)",
|
|
883
|
-
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 (
|
|
915
|
+
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 — response carries `autoOpenAttempted: boolean`; when true, the verification page is opening in the dev's default browser (surface as confirmation); when false (headless/sandboxed env, EXTENTOS_NO_AUTO_OPEN=1, no compatible OS launcher), explicitly print the verificationUrl with copy-paste instructions; (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).",
|
|
884
916
|
keywords: [
|
|
885
917
|
"auth",
|
|
886
918
|
"device code",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,8 +103,8 @@ export async function handleCreateSimulatorSession(raw) {
|
|
|
103
103
|
: instructionsFor(parsed.platform),
|
|
104
104
|
warnings,
|
|
105
105
|
summary: attached
|
|
106
|
-
? `Session ${body.sessionId} ready. Device auto-attached — no rebuild needed
|
|
107
|
-
: `Session ${body.sessionId} ready. Rebuild ${parsed.platform} project to bake URL into the binary
|
|
106
|
+
? `Session ${body.sessionId} ready. Device auto-attached — no rebuild needed. ${autoOpen.attempted ? "Browser auto-open attempted — the simulator should be visible in the developer's default browser." : "Browser auto-open skipped (autoOpenBrowser:false, EXTENTOS_NO_AUTO_OPEN=1, or unsupported environment) — surface sessionUrl to the developer for them to open manually."}`
|
|
107
|
+
: `Session ${body.sessionId} ready. Rebuild ${parsed.platform} project to bake URL into the binary. ${autoOpen.attempted ? "Browser auto-open attempted — the simulator should be visible in the developer's default browser." : "Browser auto-open skipped (autoOpenBrowser:false, EXTENTOS_NO_AUTO_OPEN=1, or unsupported environment) — surface sessionUrl to the developer for them to open manually."}`,
|
|
108
108
|
};
|
|
109
109
|
if (parsed.platform === "ios") {
|
|
110
110
|
// iOS: when auto-bind attached the device, the running app is already
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSimulatorSession.js","sourceRoot":"","sources":["../../../src/tools/handlers/createSimulatorSession.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"createSimulatorSession.js","sourceRoot":"","sources":["../../../src/tools/handlers/createSimulatorSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateConnectionModule.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/generateConnectionModule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generateConnectionModule.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/generateConnectionModule.ts"],"names":[],"mappings":"AASA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAiI5E,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAoCvE"}
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
// generateConnectionModule — project scaffold tool.
|
|
2
2
|
// Spec: docs/mcp/MCP_TOOLS.md § generateConnectionModule
|
|
3
3
|
// Output shapes: Android (Gradle+Kotlin) vs iOS (SPM+Swift) differ per that spec.
|
|
4
|
-
import { createHash } from "node:crypto";
|
|
5
4
|
import { androidSourcePath, iosModuleName } from "../util/appPackage.js";
|
|
6
5
|
import { buildEmptyManifest, EMPTY_SPEC_CONTENT } from "../util/manifest.js";
|
|
7
6
|
import { renderAndroidBootstrap } from "../templates/androidBootstrap.js";
|
|
8
7
|
import { renderIosBootstrap, renderIosAppPatchHint } from "../templates/iosBootstrap.js";
|
|
9
8
|
import { VERSION_INFO } from "../data/version.js";
|
|
10
9
|
import { okResponse, errorResponse } from "../response.js";
|
|
11
|
-
|
|
12
|
-
return `sha256:${createHash("sha256").update(content).digest("hex")}`;
|
|
13
|
-
}
|
|
10
|
+
import { hashGeneratedContent } from "../util/generatedHash.js";
|
|
14
11
|
// Source of truth: data/version.ts. Hardcoding "1.0.0" here was a bug — it
|
|
15
12
|
// scaffolded projects pointing at a version older than the auto-bind probe
|
|
16
13
|
// code shipped, so fresh installs missed Track B+ entirely.
|
|
17
14
|
const DEFAULT_LIBRARY_VERSION = VERSION_INFO.latestStable;
|
|
15
|
+
const PLACEMENT_IDS = [
|
|
16
|
+
"dedicated_route",
|
|
17
|
+
"settings_subscreen",
|
|
18
|
+
"bottom_tab",
|
|
19
|
+
"modal_sheet",
|
|
20
|
+
"headless",
|
|
21
|
+
];
|
|
18
22
|
const PLACEMENT_OPTIONS = [
|
|
19
23
|
{ id: "dedicated_route", label: "Dedicated route (e.g. 'connection' or 'glasses')" },
|
|
20
24
|
{ id: "settings_subscreen", label: "Subscreen inside Settings" },
|
|
@@ -22,6 +26,75 @@ const PLACEMENT_OPTIONS = [
|
|
|
22
26
|
{ id: "modal_sheet", label: "Modal bottom sheet from a Settings row" },
|
|
23
27
|
{ id: "headless", label: "No UI (headless) — glasses run in background only" },
|
|
24
28
|
];
|
|
29
|
+
// Placement-aware `suggestedRendering`. Each entry is the actual snippet the
|
|
30
|
+
// agent should write — same content surfaced by searchDocs(connection_ui_placement).
|
|
31
|
+
// Mirror the snippets in mcp-server/src/tools/docs/index.ts and
|
|
32
|
+
// docs/mcp/LIBRARY_API.md § Connection UI § Placement.
|
|
33
|
+
const ANDROID_PLACEMENT_RENDERING = {
|
|
34
|
+
dedicated_route: 'composable("glasses") {\n' +
|
|
35
|
+
' Scaffold(\n' +
|
|
36
|
+
' topBar = {\n' +
|
|
37
|
+
' TopAppBar(\n' +
|
|
38
|
+
' title = { Text("Glasses") },\n' +
|
|
39
|
+
' navigationIcon = {\n' +
|
|
40
|
+
' IconButton(onClick = { navController.popBackStack() }) {\n' +
|
|
41
|
+
' Icon(Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Back")\n' +
|
|
42
|
+
' }\n' +
|
|
43
|
+
' },\n' +
|
|
44
|
+
' )\n' +
|
|
45
|
+
' },\n' +
|
|
46
|
+
' ) { padding ->\n' +
|
|
47
|
+
' ExtentosConnectionPage(glasses, modifier = Modifier.padding(padding))\n' +
|
|
48
|
+
' }\n' +
|
|
49
|
+
'}',
|
|
50
|
+
settings_subscreen: 'composable("glasses") {\n' +
|
|
51
|
+
' Scaffold(\n' +
|
|
52
|
+
' topBar = {\n' +
|
|
53
|
+
' TopAppBar(\n' +
|
|
54
|
+
' title = { Text("Smart glasses") },\n' +
|
|
55
|
+
' navigationIcon = {\n' +
|
|
56
|
+
' IconButton(onClick = { navController.popBackStack() }) {\n' +
|
|
57
|
+
' Icon(Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Back")\n' +
|
|
58
|
+
' }\n' +
|
|
59
|
+
' },\n' +
|
|
60
|
+
' )\n' +
|
|
61
|
+
' },\n' +
|
|
62
|
+
' ) { padding ->\n' +
|
|
63
|
+
' ExtentosConnectionPage(glasses, modifier = Modifier.padding(padding))\n' +
|
|
64
|
+
' }\n' +
|
|
65
|
+
'}',
|
|
66
|
+
bottom_tab: 'composable("glasses") { ExtentosConnectionPage(glasses) }',
|
|
67
|
+
modal_sheet: 'if (sheetOpen) {\n' +
|
|
68
|
+
' ModalBottomSheet(onDismissRequest = { sheetOpen = false }) {\n' +
|
|
69
|
+
' ExtentosConnectionPage(glasses)\n' +
|
|
70
|
+
' }\n' +
|
|
71
|
+
'}',
|
|
72
|
+
headless: "// headless — do not render ExtentosConnectionPage; bootstrap connects in background",
|
|
73
|
+
};
|
|
74
|
+
const IOS_PLACEMENT_RENDERING = {
|
|
75
|
+
dedicated_route: 'NavigationStack {\n' +
|
|
76
|
+
' HomeView()\n' +
|
|
77
|
+
' .navigationDestination(for: GlassesRoute.self) { _ in\n' +
|
|
78
|
+
' ExtentosConnectionPage(glasses: glasses)\n' +
|
|
79
|
+
' .navigationTitle("Glasses")\n' +
|
|
80
|
+
' }\n' +
|
|
81
|
+
'}',
|
|
82
|
+
settings_subscreen: 'Form {\n' +
|
|
83
|
+
' NavigationLink("Smart glasses", value: GlassesRoute())\n' +
|
|
84
|
+
'}\n' +
|
|
85
|
+
'.navigationDestination(for: GlassesRoute.self) { _ in\n' +
|
|
86
|
+
' ExtentosConnectionPage(glasses: glasses)\n' +
|
|
87
|
+
' .navigationTitle("Smart glasses")\n' +
|
|
88
|
+
'}',
|
|
89
|
+
bottom_tab: 'TabView {\n' +
|
|
90
|
+
' HomeView().tabItem { Label("Home", systemImage: "house") }\n' +
|
|
91
|
+
' ExtentosConnectionPage(glasses: glasses)\n' +
|
|
92
|
+
' .tabItem { Label("Glasses", systemImage: "dot.radiowaves.left.and.right") }\n' +
|
|
93
|
+
'}',
|
|
94
|
+
modal_sheet: 'Button("Glasses") { sheetOpen = true }\n' +
|
|
95
|
+
' .sheet(isPresented: $sheetOpen) { ExtentosConnectionPage(glasses: glasses) }',
|
|
96
|
+
headless: "// headless — do not render ExtentosConnectionPage; bootstrap connects in background",
|
|
97
|
+
};
|
|
25
98
|
const PLACEMENT_SNIPPET_LINK = {
|
|
26
99
|
uri: "extentos://docs/connection_ui_placement",
|
|
27
100
|
mimeType: "text/markdown",
|
|
@@ -32,11 +105,29 @@ export function handleGenerateConnectionModule(raw) {
|
|
|
32
105
|
if ("error" in parsed)
|
|
33
106
|
return parsed.error;
|
|
34
107
|
const args = parsed.args;
|
|
108
|
+
// Programmatic placement gate. Without `placement`, the agent has no scaffold
|
|
109
|
+
// to apply — only the question + valid options + the snippets pointer. This
|
|
110
|
+
// closes the loophole where an agent saw `developerInstructions: "REQUIRED:
|
|
111
|
+
// ask the dev"` in the same payload as `suggestedRendering: "..."` and
|
|
112
|
+
// resolved the ambiguity wrong by silently defaulting.
|
|
113
|
+
if (!args.placement) {
|
|
114
|
+
return okResponse({
|
|
115
|
+
status: "needs_placement",
|
|
116
|
+
placementGuidance: {
|
|
117
|
+
instruction: "Ask the developer where ExtentosConnectionPage should live. Re-call generateConnectionModule with placement set to one of the optionsSummary ids to receive the scaffolding files.",
|
|
118
|
+
question: "Where should the glasses connection page live in your app?",
|
|
119
|
+
optionsSummary: PLACEMENT_OPTIONS,
|
|
120
|
+
snippetsResourceLink: PLACEMENT_SNIPPET_LINK,
|
|
121
|
+
},
|
|
122
|
+
developerInstructions: "Step 1: Read placementGuidance.question + optionsSummary out loud and wait for the developer's answer. Step 2: Re-call generateConnectionModule with the same arguments plus `placement: \"<chosen_id>\"` to receive files, dependencies, suggestedRendering, and the rest of the scaffold. Headless is a valid answer — pick it only if the dev says so.",
|
|
123
|
+
summary: "No scaffolding emitted: placement is required. Re-call with `placement` set to one of the 5 option ids.",
|
|
124
|
+
});
|
|
125
|
+
}
|
|
35
126
|
const libraryVersion = args.libraryVersion ?? DEFAULT_LIBRARY_VERSION;
|
|
36
127
|
const concise = args.responseFormat === "concise";
|
|
37
128
|
const payload = args.platform === "android"
|
|
38
|
-
? buildAndroid(args.appPackage, libraryVersion, concise)
|
|
39
|
-
: buildIos(args.appPackage, libraryVersion, concise);
|
|
129
|
+
? buildAndroid(args.appPackage, libraryVersion, concise, args.placement)
|
|
130
|
+
: buildIos(args.appPackage, libraryVersion, concise, args.placement);
|
|
40
131
|
return okResponse(payload);
|
|
41
132
|
}
|
|
42
133
|
function parseArgs(raw) {
|
|
@@ -82,6 +173,20 @@ function parseArgs(raw) {
|
|
|
82
173
|
}),
|
|
83
174
|
};
|
|
84
175
|
}
|
|
176
|
+
let placement;
|
|
177
|
+
if (obj.placement !== undefined) {
|
|
178
|
+
if (typeof obj.placement !== "string" || !PLACEMENT_IDS.includes(obj.placement)) {
|
|
179
|
+
return {
|
|
180
|
+
error: errorResponse({
|
|
181
|
+
code: "invalid_arguments",
|
|
182
|
+
message: `placement must be one of ${PLACEMENT_IDS.join(", ")} (got ${JSON.stringify(obj.placement)}).`,
|
|
183
|
+
fixHint: "Pass placement: \"dedicated_route\" | \"settings_subscreen\" | \"bottom_tab\" | \"modal_sheet\" | \"headless\". Omit the field entirely to receive the placement question instead.",
|
|
184
|
+
retryable: false,
|
|
185
|
+
}),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
placement = obj.placement;
|
|
189
|
+
}
|
|
85
190
|
const args = {
|
|
86
191
|
platform,
|
|
87
192
|
glasses: "meta_rayban",
|
|
@@ -90,10 +195,11 @@ function parseArgs(raw) {
|
|
|
90
195
|
responseFormat: obj.responseFormat === "concise" || obj.responseFormat === "detailed"
|
|
91
196
|
? obj.responseFormat
|
|
92
197
|
: undefined,
|
|
198
|
+
placement,
|
|
93
199
|
};
|
|
94
200
|
return { args };
|
|
95
201
|
}
|
|
96
|
-
function buildAndroid(appPackage, libraryVersion, concise) {
|
|
202
|
+
function buildAndroid(appPackage, libraryVersion, concise, placement) {
|
|
97
203
|
const sourcePath = androidSourcePath(appPackage);
|
|
98
204
|
const specPath = "app/src/main/assets/extentos.spec.json";
|
|
99
205
|
const bootstrapPath = `app/src/main/java/${sourcePath}/extentos/ExtentosBootstrap.kt`;
|
|
@@ -109,7 +215,7 @@ function buildAndroid(appPackage, libraryVersion, concise) {
|
|
|
109
215
|
{
|
|
110
216
|
path: bootstrapPath,
|
|
111
217
|
template: "connection_module",
|
|
112
|
-
hash:
|
|
218
|
+
hash: hashGeneratedContent(bootstrapContent),
|
|
113
219
|
generatedAt: nowIso,
|
|
114
220
|
generatedByTool: "generateConnectionModule",
|
|
115
221
|
},
|
|
@@ -161,15 +267,15 @@ function buildAndroid(appPackage, libraryVersion, concise) {
|
|
|
161
267
|
"android.permission.BLUETOOTH_SCAN",
|
|
162
268
|
"android.permission.INTERNET",
|
|
163
269
|
],
|
|
164
|
-
|
|
270
|
+
placement,
|
|
271
|
+
suggestedRendering: ANDROID_PLACEMENT_RENDERING[placement],
|
|
165
272
|
placementGuidance: {
|
|
166
|
-
|
|
167
|
-
question: "Where should the glasses connection page live in your app?",
|
|
273
|
+
chosen: placement,
|
|
168
274
|
optionsSummary: PLACEMENT_OPTIONS,
|
|
169
275
|
snippetsResourceLink: PLACEMENT_SNIPPET_LINK,
|
|
170
276
|
},
|
|
171
|
-
developerInstructions: developerInstructionsAndroid(),
|
|
172
|
-
summary: `Scaffolded Extentos ${libraryVersion} for Android app ${appPackage}. Wrote 1 generated file, 1 empty spec, and 1 manifest. 3 Gradle dependencies, 3 permissions, 1 repository (mavenLocal), and 1 BuildConfig field to wire.`,
|
|
277
|
+
developerInstructions: developerInstructionsAndroid(placement),
|
|
278
|
+
summary: `Scaffolded Extentos ${libraryVersion} for Android app ${appPackage} with placement: ${placement}. Wrote 1 generated file, 1 empty spec, and 1 manifest. 3 Gradle dependencies, 3 permissions, 1 repository (mavenLocal), and 1 BuildConfig field to wire.`,
|
|
173
279
|
};
|
|
174
280
|
if (!concise) {
|
|
175
281
|
payload.wireInstructions =
|
|
@@ -186,7 +292,7 @@ function buildAndroid(appPackage, libraryVersion, concise) {
|
|
|
186
292
|
}
|
|
187
293
|
return payload;
|
|
188
294
|
}
|
|
189
|
-
function buildIos(appPackage, libraryVersion, concise) {
|
|
295
|
+
function buildIos(appPackage, libraryVersion, concise, placement) {
|
|
190
296
|
const moduleName = iosModuleName(appPackage);
|
|
191
297
|
const specPath = `Sources/${moduleName}/Resources/extentos.spec.json`;
|
|
192
298
|
const bootstrapPath = `Sources/${moduleName}/Extentos/ExtentosBootstrap.swift`;
|
|
@@ -202,7 +308,7 @@ function buildIos(appPackage, libraryVersion, concise) {
|
|
|
202
308
|
{
|
|
203
309
|
path: bootstrapPath,
|
|
204
310
|
template: "connection_module",
|
|
205
|
-
hash:
|
|
311
|
+
hash: hashGeneratedContent(bootstrapContent),
|
|
206
312
|
generatedAt: nowIso,
|
|
207
313
|
generatedByTool: "generateConnectionModule",
|
|
208
314
|
},
|
|
@@ -265,15 +371,15 @@ function buildIos(appPackage, libraryVersion, concise) {
|
|
|
265
371
|
},
|
|
266
372
|
},
|
|
267
373
|
},
|
|
268
|
-
|
|
374
|
+
placement,
|
|
375
|
+
suggestedRendering: IOS_PLACEMENT_RENDERING[placement],
|
|
269
376
|
placementGuidance: {
|
|
270
|
-
|
|
271
|
-
question: "Where should the glasses connection page live in your app?",
|
|
377
|
+
chosen: placement,
|
|
272
378
|
optionsSummary: PLACEMENT_OPTIONS,
|
|
273
379
|
snippetsResourceLink: PLACEMENT_SNIPPET_LINK,
|
|
274
380
|
},
|
|
275
|
-
developerInstructions: developerInstructionsIos(),
|
|
276
|
-
summary: `Scaffolded Extentos ${libraryVersion} for iOS bundle ${appPackage}. Wrote 1 generated file, 1 app-entry patch hint, 1 empty spec, and 1 manifest. 1 SPM dependency, Info.plist additions listed, and 1 Xcode build phase to add.`,
|
|
381
|
+
developerInstructions: developerInstructionsIos(placement),
|
|
382
|
+
summary: `Scaffolded Extentos ${libraryVersion} for iOS bundle ${appPackage} with placement: ${placement}. Wrote 1 generated file, 1 app-entry patch hint, 1 empty spec, and 1 manifest. 1 SPM dependency, Info.plist additions listed, and 1 Xcode build phase to add.`,
|
|
277
383
|
};
|
|
278
384
|
if (!concise) {
|
|
279
385
|
payload.wireInstructions =
|
|
@@ -292,20 +398,26 @@ function buildIos(appPackage, libraryVersion, concise) {
|
|
|
292
398
|
}
|
|
293
399
|
return payload;
|
|
294
400
|
}
|
|
295
|
-
// Top-of-response narrative the agent reads first.
|
|
296
|
-
//
|
|
297
|
-
//
|
|
298
|
-
function developerInstructionsAndroid() {
|
|
299
|
-
|
|
300
|
-
"Step
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
"Step
|
|
401
|
+
// Top-of-response narrative the agent reads first. The placement gate is now
|
|
402
|
+
// programmatic (handler returns `status: "needs_placement"` when the arg is
|
|
403
|
+
// omitted), so these instructions assume the placement is already chosen.
|
|
404
|
+
function developerInstructionsAndroid(placement) {
|
|
405
|
+
const renderStep = placement === "headless"
|
|
406
|
+
? "Step 4: Headless — do NOT render ExtentosConnectionPage. The bootstrap connects in the background. Optionally read glasses.connection.state for a status badge."
|
|
407
|
+
: `Step 4: Render the chosen placement (${placement}) using suggestedRendering, or fetch the full snippet via searchDocs(topic: "connection_ui_placement").`;
|
|
408
|
+
return ("Step 1: Apply the files[], dependencies[], repositories[], buildConfigFields[], and permissions[] outputs. " +
|
|
409
|
+
"Step 2: Set the Application class to ExtentosBootstrap in AndroidManifest.xml (`android:name=\".extentos.ExtentosBootstrap\"`). " +
|
|
410
|
+
"Step 3: Add `androidx.navigation:navigation-compose` to deps if your placement uses NavHost (dedicated_route, settings_subscreen, bottom_tab). " +
|
|
411
|
+
renderStep +
|
|
412
|
+
" Step 5: Run initSpec to populate the spec, then generateConsumer for callback handlers, then validateIntegration before testing.");
|
|
304
413
|
}
|
|
305
|
-
function developerInstructionsIos() {
|
|
306
|
-
|
|
307
|
-
"Step
|
|
308
|
-
|
|
309
|
-
|
|
414
|
+
function developerInstructionsIos(placement) {
|
|
415
|
+
const renderStep = placement === "headless"
|
|
416
|
+
? "Step 3: Headless — do NOT render ExtentosConnectionPage. The bootstrap connects in the background. Optionally observe `glasses.connection.state` for a status badge."
|
|
417
|
+
: `Step 3: Render the chosen placement (${placement}) using suggestedRendering, or fetch the full snippet via searchDocs(topic: "connection_ui_placement").`;
|
|
418
|
+
return ("Step 1: Apply files[] (the ExtentosBootstrap.swift create plus the manual_patch hint for App.swift), dependencies[], infoPlistAdditions, gitignoreAdditions, and the spmBuildPhase. Replace REPLACE_ME placeholders with Meta Developer Center values. " +
|
|
419
|
+
"Step 2: Wire onOpenURL and scenePhase observers per the App.swift manual_patch. " +
|
|
420
|
+
renderStep +
|
|
421
|
+
" Step 4: Run initSpec to populate the spec, then generateConsumer for callback handlers, then validateIntegration before testing.");
|
|
310
422
|
}
|
|
311
423
|
//# sourceMappingURL=generateConnectionModule.js.map
|