@extentos/mcp-server 0.0.9 → 0.0.12
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 +88 -56
- 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/data/version.js +6 -6
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +5 -20
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/docs/index.d.ts.map +1 -1
- package/dist/tools/docs/index.js +169 -14
- package/dist/tools/docs/index.js.map +1 -1
- package/dist/tools/handlers/createSimulatorSession.d.ts.map +1 -1
- package/dist/tools/handlers/createSimulatorSession.js +8 -4
- 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 +45 -4
- package/dist/tools/handlers/generateConnectionModule.js.map +1 -1
- package/dist/tools/handlers/generateConsumer.js +15 -18
- package/dist/tools/handlers/generateConsumer.js.map +1 -1
- package/dist/tools/handlers/initSpec.d.ts.map +1 -1
- package/dist/tools/handlers/initSpec.js +6 -1
- package/dist/tools/handlers/initSpec.js.map +1 -1
- package/dist/tools/handlers/updateSpec.d.ts.map +1 -1
- package/dist/tools/handlers/updateSpec.js +10 -2
- 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 +9 -1
- package/dist/tools/handlers/validateIntegration.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +0 -2
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/templates/androidBootstrap.d.ts.map +1 -1
- package/dist/tools/templates/androidBootstrap.js +45 -2
- package/dist/tools/templates/androidBootstrap.js.map +1 -1
- package/dist/tools/templates/callbackHandler.d.ts.map +1 -1
- package/dist/tools/templates/callbackHandler.js +16 -4
- package/dist/tools/templates/callbackHandler.js.map +1 -1
- package/dist/tools/templates/iosBootstrap.d.ts.map +1 -1
- package/dist/tools/templates/iosBootstrap.js +76 -48
- package/dist/tools/templates/iosBootstrap.js.map +1 -1
- package/dist/tools/util/manifest.d.ts +10 -0
- package/dist/tools/util/manifest.d.ts.map +1 -1
- package/dist/tools/util/manifest.js +5 -1
- package/dist/tools/util/manifest.js.map +1 -1
- package/package.json +1 -1
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.
|
|
@@ -116,35 +118,90 @@ export const DOC_INDEX = [
|
|
|
116
118
|
{
|
|
117
119
|
topic: "getting_started",
|
|
118
120
|
title: "Getting Started with Extentos",
|
|
119
|
-
content: "Extentos lets agents build Meta Ray-Ban apps from a structured spec.
|
|
120
|
-
|
|
121
|
-
|
|
121
|
+
content: "Extentos lets agents build Meta Ray-Ban apps from a structured spec. The library carries all hardware logic — developer code is a spec file plus thin generated glue (bootstrap + callback dispatch + optional stream consumer) plus handler bodies. " +
|
|
122
|
+
"Agents plan composition themselves; there is no planning tool. Read the catalog topics below to see what primitives exist, then assemble the smallest spec your goal needs. " +
|
|
123
|
+
"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
|
+
"Constraint topics: constraints_and_limitations, audio_video_coexistence, spec_validation_rules. " +
|
|
125
|
+
"Mutation tool sequence (deterministic, in order): " +
|
|
126
|
+
"(1) getPlatformInfo — one call to fetch capability surface and library version. " +
|
|
127
|
+
"(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
|
+
"(3) initSpec — populate the first real spec from primitives you composed. " +
|
|
129
|
+
"(4) generateConsumer(kind: 'callback') — stub app_callback handlers if your spec uses any. Use kind: 'stream' for stream consumers. " +
|
|
130
|
+
"(5) validateIntegration — pre-test correctness gate. Re-run after every mutation. " +
|
|
131
|
+
"(6) createSimulatorSession — provision a browser simulator session to test end-to-end. " +
|
|
132
|
+
"For changes after step 3: inspectIntegration → updateSpec → generateConsumer (if handlers/streams added) → validateIntegration. " +
|
|
133
|
+
"Reference library: getExampleSpec returns 8 worked patterns (voice_assistant, live_translation, etc.). On-demand only — read it when studying a complex composition. The catalog topics cover the simple cases without it.",
|
|
134
|
+
keywords: ["setup", "start", "first", "begin", "overview", "walkthrough", "tool order", "workflow", "catalog"],
|
|
135
|
+
relatedTools: ["getPlatformInfo", "generateConnectionModule", "initSpec", "searchDocs", "validateIntegration"],
|
|
122
136
|
},
|
|
123
137
|
{
|
|
124
138
|
topic: "block_types",
|
|
125
139
|
title: "Block Types",
|
|
126
|
-
content: "3 blocks: capture_photo (one-shot still), capture_video (bounded clip with duration), record_audio (bounded mic capture). Each returns a URI plus format metadata. Blocks are discrete, bounded operations — continuous media uses streams. Constraints: Meta DAT does not expose live-stream video capture, so capture_video is clip-only
|
|
140
|
+
content: "3 blocks: capture_photo (one-shot still), capture_video (bounded clip with duration), record_audio (bounded mic capture). Each returns a URI plus format metadata. Blocks are discrete, bounded operations — continuous media uses streams. Constraints: Meta DAT does not expose live-stream video capture, so capture_video is clip-only.\n\n" +
|
|
141
|
+
"Minimal block declarations (drop straight into spec.blocks[]):\n" +
|
|
142
|
+
` { "type": "capture_photo", "id": "main_camera", "params": { "resolution": "MEDIUM", "format": "jpeg" } }\n` +
|
|
143
|
+
` { "type": "capture_video", "id": "main_clip", "params": { "max_duration_seconds": 5, "resolution": "MEDIUM" } }\n` +
|
|
144
|
+
` { "type": "record_audio", "id": "note_recorder", "params": { "max_duration_seconds": 30, "silence_timeout_seconds": 3, "quality": "standard" } }\n\n` +
|
|
145
|
+
"Invoke from a trigger via the block_call action: " +
|
|
146
|
+
`{ "type": "block_call", "block_id": "main_camera", "save_as": "photo" } — the result is then available as {{photo}} in subsequent actions.`,
|
|
127
147
|
keywords: ["block", "capture_photo", "capture_video", "record_audio", "photo", "video", "audio", "capture"],
|
|
128
148
|
relatedTools: ["getPlatformInfo", "initSpec", "updateSpec"],
|
|
129
149
|
},
|
|
130
150
|
{
|
|
131
151
|
topic: "stream_types",
|
|
132
152
|
title: "Stream Types",
|
|
133
|
-
content: "5 streams: video_frames (outbound from glasses camera), audio_chunks (outbound mic), transcription_incremental (STT events), outgoing_video_stream (phone→glasses video), outgoing_audio_stream (phone→glasses audio). Consumption: Kotlin Flow on Android, AsyncStream on iOS. Backpressure via buffering strategy per stream config. Lifecycle: start/stop tied to app foreground; foreground service required on Android 14
|
|
153
|
+
content: "5 streams: video_frames (outbound from glasses camera), audio_chunks (outbound mic), transcription_incremental (STT events), outgoing_video_stream (phone→glasses video), outgoing_audio_stream (phone→glasses audio). Consumption: Kotlin Flow on Android, AsyncStream on iOS. Backpressure via buffering strategy per stream config. Lifecycle: start/stop tied to app foreground; foreground service required on Android 14+.\n\n" +
|
|
154
|
+
"Minimal stream declarations (drop straight into spec.streams[]):\n" +
|
|
155
|
+
` { "type": "transcription_incremental", "id": "live_transcript", "config": { "language": "en-US" } }\n` +
|
|
156
|
+
` { "type": "video_frames", "id": "frames", "config": { "resolution": "LOW", "frame_rate": 2, "codec": "hvc1", "backpressure": "drop_oldest" } }\n` +
|
|
157
|
+
` { "type": "audio_chunks", "id": "mic", "config": { "chunk_millis": 20, "codec": "opus" } }\n\n` +
|
|
158
|
+
"Streams are gated by toggles (transcription_enabled, camera_streaming_enabled, audio_capture_enabled). Set the toggle to start; consumer code lives in ExtentosStreams.{kt,swift} — generate the consumer scaffold via generateConsumer(kind: \"stream\", streams: [...]).",
|
|
134
159
|
keywords: ["stream", "video_frames", "audio_chunks", "transcription", "flow", "asyncstream", "backpressure", "continuous"],
|
|
135
160
|
relatedTools: ["getPlatformInfo", "generateConsumer", "getPermissions"],
|
|
136
161
|
},
|
|
137
162
|
{
|
|
138
163
|
topic: "trigger_types",
|
|
139
164
|
title: "Trigger Types",
|
|
140
|
-
content: "13 triggers: voice_command (custom phrase), wake_word, push_to_talk, capture_button, tap, double_tap, manual_launch, phone_notification_forwarded, incoming_call_detected, location_updated, thermal_warning, connection_state_changed, fallback. Payloads vary — voice_command exposes captures dict, tap has position, location_updated has lat/long. Distinct from presets (`fallback_default`, `thermal_throttle`, `disconnect_announce` on initSpec.presetTriggers) which are canned trigger shapes expanded into the spec
|
|
165
|
+
content: "13 triggers: voice_command (custom phrase), wake_word, push_to_talk, capture_button, tap, double_tap, manual_launch, phone_notification_forwarded, incoming_call_detected, location_updated, thermal_warning, connection_state_changed, fallback. Payloads vary — voice_command exposes captures dict, tap has position, location_updated has lat/long. Distinct from presets (`fallback_default`, `thermal_throttle`, `disconnect_announce` on initSpec.presetTriggers) which are canned trigger shapes expanded into the spec.\n\n" +
|
|
166
|
+
"Minimal trigger declarations (drop straight into spec.triggers[]). The most common shape — voice phrase invokes app code:\n" +
|
|
167
|
+
` {\n` +
|
|
168
|
+
` "type": "voice_command",\n` +
|
|
169
|
+
` "id": "t_my_phrase",\n` +
|
|
170
|
+
` "phrase": "do the thing",\n` +
|
|
171
|
+
` "match_mode": "contains",\n` +
|
|
172
|
+
` "actions": [\n` +
|
|
173
|
+
` { "type": "app_callback", "handler": "do_the_thing", "input": {}, "save_as": "result" },\n` +
|
|
174
|
+
` { "type": "speak_text", "text": "Done." }\n` +
|
|
175
|
+
` ]\n` +
|
|
176
|
+
` }\n\n` +
|
|
177
|
+
"Other minimal shapes:\n" +
|
|
178
|
+
` { "type": "tap", "id": "t_tap", "actions": [...] }\n` +
|
|
179
|
+
` { "type": "manual_launch", "id": "t_start", "actions": [...] } // fires once on app start\n` +
|
|
180
|
+
` { "type": "fallback", "id": "t_fallback", "actions": [{ "type": "speak_text", "text": "Sorry, I didn't catch that." }] }\n\n` +
|
|
181
|
+
"voice_command match_mode options: 'exact' | 'starts_with' | 'contains'. Use 'contains' for natural-language flexibility. See voice_ux_guide topic for phrase design rules.",
|
|
141
182
|
keywords: ["trigger", "voice_command", "tap", "capture_button", "wake_word", "fallback", "notification", "thermal", "preset"],
|
|
142
183
|
relatedTools: ["getPlatformInfo", "getVoiceCommandGuidance", "updateSpec"],
|
|
143
184
|
},
|
|
144
185
|
{
|
|
145
186
|
topic: "action_types",
|
|
146
187
|
title: "Action Types",
|
|
147
|
-
content: "15 actions inside trigger flows: block_call, stream_start, stream_stop, speak_text, app_callback, set_toggle, set_variable, branch, retry_with_backoff, when_connected, wait, delay, stop_flow, log, emit_event. app_callback routes to host-code handlers for AI / domain logic. Schema permits branch depth ≤ 4; reference-pattern examples keep depth ≤ 1 by convention. retry_with_backoff succeeds when save_as is populated
|
|
188
|
+
content: "15 actions inside trigger flows: block_call, stream_start, stream_stop, speak_text, app_callback, set_toggle, set_variable, branch, retry_with_backoff, when_connected, wait, delay, stop_flow, log, emit_event. app_callback routes to host-code handlers for AI / domain logic. Schema permits branch depth ≤ 4; reference-pattern examples keep depth ≤ 1 by convention. retry_with_backoff succeeds when save_as is populated.\n\n" +
|
|
189
|
+
"Minimal action shapes (drop into a trigger's actions[]):\n" +
|
|
190
|
+
` { "type": "speak_text", "text": "Hello." }\n` +
|
|
191
|
+
` { "type": "app_callback", "handler": "my_handler", "input": { "key": "{{some_var}}" }, "save_as": "result" }\n` +
|
|
192
|
+
` { "type": "block_call", "block_id": "main_camera", "save_as": "photo" }\n` +
|
|
193
|
+
` { "type": "set_toggle", "key": "transcription_enabled", "value": true }\n` +
|
|
194
|
+
` { "type": "set_variable", "name": "counter", "value": 0 }\n` +
|
|
195
|
+
` { "type": "log", "level": "info", "message": "fired" }\n\n` +
|
|
196
|
+
"Branch (conditional flow):\n" +
|
|
197
|
+
` {\n` +
|
|
198
|
+
` "type": "branch",\n` +
|
|
199
|
+
` "condition": { "variable": "result.description", "operator": "is_empty" },\n` +
|
|
200
|
+
` "then": [{ "type": "speak_text", "text": "No result." }],\n` +
|
|
201
|
+
` "else": [{ "type": "speak_text", "text": "{{result.description}}" }]\n` +
|
|
202
|
+
` }\n\n` +
|
|
203
|
+
"Branch operators: equals, not_equals, is_empty, not_empty, greater_than, less_than. Variables resolve via {{name}} — see template_syntax topic. " +
|
|
204
|
+
"app_callback is how the spec calls back into the developer's app (the most common shape for any host-app integration: voice phrase → app_callback → app does the thing). Generate the handler stub via generateConsumer(kind: 'callback').",
|
|
148
205
|
keywords: ["action", "block_call", "app_callback", "branch", "retry", "speak", "set_toggle", "set_variable"],
|
|
149
206
|
relatedTools: ["updateSpec", "generateConsumer"],
|
|
150
207
|
},
|
|
@@ -158,7 +215,28 @@ export const DOC_INDEX = [
|
|
|
158
215
|
{
|
|
159
216
|
topic: "spec_format",
|
|
160
217
|
title: "Spec Format",
|
|
161
|
-
content: "Top-level: extentos_version ('1.0'), target.vendor ('meta_rayban'), blocks[], streams[], triggers[]. Each block/stream/trigger has a unique id. Triggers declare a type, optional id, and an actions[] array. Spec file lives at app/src/main/assets/extentos.spec.json (Android) or Resources/extentos.spec.json (iOS), byte-identical across platforms
|
|
218
|
+
content: "Top-level: extentos_version ('1.0'), target.vendor ('meta_rayban'), blocks[], streams[], triggers[]. Each block/stream/trigger has a unique id. Triggers declare a type, optional id, and an actions[] array. Spec file lives at app/src/main/assets/extentos.spec.json (Android) or Resources/extentos.spec.json (iOS), byte-identical across platforms.\n\n" +
|
|
219
|
+
"Minimal valid spec — voice phrase that calls back into the host app (the smallest useful shape):\n" +
|
|
220
|
+
` {\n` +
|
|
221
|
+
` "$schema": "extentos://schema/v1",\n` +
|
|
222
|
+
` "extentos_version": "1.0",\n` +
|
|
223
|
+
` "target": { "vendor": "meta_rayban" },\n` +
|
|
224
|
+
` "blocks": [],\n` +
|
|
225
|
+
` "streams": [],\n` +
|
|
226
|
+
` "triggers": [\n` +
|
|
227
|
+
` {\n` +
|
|
228
|
+
` "type": "voice_command",\n` +
|
|
229
|
+
` "id": "t_my_phrase",\n` +
|
|
230
|
+
` "phrase": "do the thing",\n` +
|
|
231
|
+
` "match_mode": "contains",\n` +
|
|
232
|
+
` "actions": [\n` +
|
|
233
|
+
` { "type": "app_callback", "handler": "do_the_thing", "input": {}, "save_as": "result" },\n` +
|
|
234
|
+
` { "type": "speak_text", "text": "Done." }\n` +
|
|
235
|
+
` ]\n` +
|
|
236
|
+
` }\n` +
|
|
237
|
+
` ]\n` +
|
|
238
|
+
` }\n\n` +
|
|
239
|
+
"Add blocks[] entries when capturing photo/video/audio. Add streams[] entries for continuous flows (transcription, video frames). See block_types, stream_types, trigger_types, action_types for inline examples of each.",
|
|
162
240
|
keywords: ["spec", "format", "structure", "extentos_version", "target", "schema", "top-level"],
|
|
163
241
|
relatedTools: ["validateSpec", "initSpec", "updateSpec", "inspectIntegration"],
|
|
164
242
|
},
|
|
@@ -200,15 +278,25 @@ export const DOC_INDEX = [
|
|
|
200
278
|
{
|
|
201
279
|
topic: "library_api",
|
|
202
280
|
title: "Extentos Library API",
|
|
203
|
-
content: "ExtentosGlasses is the top-level object, carrying 8 sub-clients:
|
|
204
|
-
keywords: ["library", "api", "extentosglasses", "config", "subclient", "create", "register"],
|
|
281
|
+
content: "ExtentosGlasses is the top-level object, carrying 8 consumer-facing sub-clients (identical on Android and iOS): connection, camera, audio, runtime, toggles, extensions, debug, telemetry. Spec lifecycle lives on `runtime` (loadSpec returns ExtentosResult — pattern-match Ok/Err, do NOT use Kotlin runCatching, which never catches the Err channel since loadSpec never throws). Register app_callback handlers via glasses.extensions.registerAppCallbackHandler(name, impl). ExtentosConfig controls transport override, debug, telemetryConsent, applicationContext (Android), and metaCredentials. Creation: ExtentosGlasses.create() on Android / Extentos.create() on iOS.",
|
|
282
|
+
keywords: ["library", "api", "extentosglasses", "config", "subclient", "create", "register", "runtime", "loadSpec", "ExtentosResult"],
|
|
205
283
|
relatedTools: ["generateConnectionModule", "generateConsumer"],
|
|
206
284
|
},
|
|
207
285
|
{
|
|
208
286
|
topic: "app_callback_guide",
|
|
209
287
|
title: "App Callback Handlers",
|
|
210
|
-
content: "app_callback routes flow control
|
|
211
|
-
|
|
288
|
+
content: "app_callback routes flow control from the spec into the developer's native code — for AI calls, domain logic (DB writes, file IO, repository ops), or external service access. Register via glasses.extensions.registerAppCallbackHandler(handler). AppCall carries the handler name, the input map declared in the spec's app_callback action, and caller context (triggerId, flowId). Returning AppCallbackResult.Success(value) populates the flow's save_as variable; returning Error short-circuits the flow. Timeouts surface as 'callback.timeout' events.\n\n" +
|
|
289
|
+
"Handler stub generation: call generateConsumer(kind: 'callback', handlers: [...]) → emits ExtentosCallbacks.{kt,swift} with marker-bounded dispatch and a USER-CODE block per handler for your implementation. The bootstrap dispatch region gets a replace_region patch that wires registration.\n\n" +
|
|
290
|
+
"Android handler shape (from generated stub — fill in USER-CODE):\n" +
|
|
291
|
+
" private suspend fun handleDoTheThing(call: AppCall): AppCallbackResult {\n" +
|
|
292
|
+
" // USER-CODE-START:do_the_thing\n" +
|
|
293
|
+
" MyAppRepository.doTheThing()\n" +
|
|
294
|
+
" return AppCallbackResult.Success(buildJsonObject { put(\"ok\", true) })\n" +
|
|
295
|
+
" // USER-CODE-END:do_the_thing\n" +
|
|
296
|
+
" }\n\n" +
|
|
297
|
+
"iOS handler shape: same idea — `private func handleDoTheThing(_ call: AppCall) async -> AppCallbackResult` with USER-CODE markers; return .success(value:) or .error(code:, message:).\n\n" +
|
|
298
|
+
"Generated stubs return an AI-provider TODO comment ONLY when you pass a `suggestedProvider` field to generateConsumer; otherwise the stub gets a generic implementation TODO suitable for non-AI handlers.",
|
|
299
|
+
keywords: ["app_callback", "callback", "handler", "register", "appcall", "timeout", "byok", "user-code"],
|
|
212
300
|
relatedTools: ["generateConsumer", "getCredentialGuide", "updateSpec"],
|
|
213
301
|
},
|
|
214
302
|
{
|
|
@@ -286,7 +374,7 @@ export const DOC_INDEX = [
|
|
|
286
374
|
title: "Platform Constraints and Limitations",
|
|
287
375
|
content: "Meta DAT is phone↔glasses — no browser↔glasses. 'Hey Meta' wake word not accessible to third parties. Live video streaming from glasses camera not exposed in current DAT (frames only). Custom gestures beyond tap/double-tap not in preview. Publishing to store is preview-limited; private testing via export is the safe default. iOS SDK: iOS 15.2+, Swift 6 preferred. A2DP/HFP can't run concurrently.",
|
|
288
376
|
keywords: ["limit", "constraint", "dat", "gap", "wake word", "preview", "unsupported"],
|
|
289
|
-
relatedTools: ["getPlatformInfo", "
|
|
377
|
+
relatedTools: ["getPlatformInfo", "searchDocs"],
|
|
290
378
|
},
|
|
291
379
|
{
|
|
292
380
|
topic: "connection_ui",
|
|
@@ -318,6 +406,73 @@ export const DOC_INDEX = [
|
|
|
318
406
|
],
|
|
319
407
|
relatedTools: ["generateConnectionModule"],
|
|
320
408
|
},
|
|
409
|
+
{
|
|
410
|
+
topic: "auto_bind_session_lifecycle",
|
|
411
|
+
title: "Auto-Bind Session Lifecycle (Track B+)",
|
|
412
|
+
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.",
|
|
413
|
+
keywords: [
|
|
414
|
+
"auto-bind",
|
|
415
|
+
"auto_bind",
|
|
416
|
+
"autoBind",
|
|
417
|
+
"attached",
|
|
418
|
+
"supersede",
|
|
419
|
+
"session_attached",
|
|
420
|
+
"awaiting_session",
|
|
421
|
+
"rebuild",
|
|
422
|
+
"no rebuild",
|
|
423
|
+
"track b+",
|
|
424
|
+
"persistent",
|
|
425
|
+
"pending",
|
|
426
|
+
"/ws/pending",
|
|
427
|
+
"mcp_install_id",
|
|
428
|
+
"device_install_id",
|
|
429
|
+
],
|
|
430
|
+
relatedTools: ["createSimulatorSession", "getSimulatorStatus", "generateConnectionModule"],
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
topic: "local_bridge_discovery",
|
|
434
|
+
title: "MCP Local Bridge (127.0.0.1:31337/whoami)",
|
|
435
|
+
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.",
|
|
436
|
+
keywords: [
|
|
437
|
+
"localhost",
|
|
438
|
+
"10.0.2.2",
|
|
439
|
+
"127.0.0.1",
|
|
440
|
+
"31337",
|
|
441
|
+
"whoami",
|
|
442
|
+
"local bridge",
|
|
443
|
+
"localBridge",
|
|
444
|
+
"probe",
|
|
445
|
+
"discovery",
|
|
446
|
+
"adb reverse",
|
|
447
|
+
"ats",
|
|
448
|
+
"network security config",
|
|
449
|
+
"cleartext",
|
|
450
|
+
"loopback",
|
|
451
|
+
],
|
|
452
|
+
relatedTools: ["createSimulatorSession"],
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
topic: "device_code_flow",
|
|
456
|
+
title: "Device-Code Auth Flow (Anonymous → Linked)",
|
|
457
|
+
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).",
|
|
458
|
+
keywords: [
|
|
459
|
+
"auth",
|
|
460
|
+
"device code",
|
|
461
|
+
"deviceCode",
|
|
462
|
+
"userCode",
|
|
463
|
+
"completeAuthLink",
|
|
464
|
+
"auth_required",
|
|
465
|
+
"meter",
|
|
466
|
+
"exhausted",
|
|
467
|
+
"signup",
|
|
468
|
+
"verification",
|
|
469
|
+
"anonymous",
|
|
470
|
+
"linked",
|
|
471
|
+
"tier",
|
|
472
|
+
"polling",
|
|
473
|
+
],
|
|
474
|
+
relatedTools: ["createSimulatorSession", "completeAuthLink"],
|
|
475
|
+
},
|
|
321
476
|
];
|
|
322
477
|
export function searchDocsIndex(query, topicFilter) {
|
|
323
478
|
const q = query.trim().toLowerCase();
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSimulatorSession.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/createSimulatorSession.ts"],"names":[],"mappings":"AAMA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA2C5E,wBAAsB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"createSimulatorSession.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/createSimulatorSession.ts"],"names":[],"mappings":"AAMA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA2C5E,wBAAsB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAkJpF"}
|
|
@@ -107,10 +107,14 @@ export async function handleCreateSimulatorSession(raw) {
|
|
|
107
107
|
: `Session ${body.sessionId} ready. Rebuild ${parsed.platform} project to bake URL into the binary.`,
|
|
108
108
|
};
|
|
109
109
|
if (parsed.platform === "ios") {
|
|
110
|
-
// iOS:
|
|
111
|
-
//
|
|
112
|
-
//
|
|
113
|
-
//
|
|
110
|
+
// iOS: when auto-bind attached the device, the running app is already
|
|
111
|
+
// on the new session via the persistent /ws/pending socket — writing
|
|
112
|
+
// a plist would baked-in a stale URL on the next clean build, defeats
|
|
113
|
+
// the auto-bind path. Mirror Android's gating: skip the plist + the
|
|
114
|
+
// .gitignore touch when attached === true.
|
|
115
|
+
if (attached) {
|
|
116
|
+
return okResponse(baseResponse);
|
|
117
|
+
}
|
|
114
118
|
const filePlan = writeSessionFile("ios", parsed.projectPath, sessionValues);
|
|
115
119
|
const gitignoreResult = ensureGitignore(parsed.projectPath, filePlan.relativePath);
|
|
116
120
|
return okResponse({
|
|
@@ -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":"AAUA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkC5E,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAcvE"}
|
|
@@ -6,11 +6,15 @@ import { androidSourcePath, iosModuleName } from "../util/appPackage.js";
|
|
|
6
6
|
import { buildEmptyManifest, EMPTY_SPEC_CONTENT } from "../util/manifest.js";
|
|
7
7
|
import { renderAndroidBootstrap } from "../templates/androidBootstrap.js";
|
|
8
8
|
import { renderIosBootstrap, renderIosAppPatchHint } from "../templates/iosBootstrap.js";
|
|
9
|
+
import { VERSION_INFO } from "../data/version.js";
|
|
9
10
|
import { okResponse, errorResponse } from "../response.js";
|
|
10
11
|
function sha256(content) {
|
|
11
12
|
return `sha256:${createHash("sha256").update(content).digest("hex")}`;
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
+
// Source of truth: data/version.ts. Hardcoding "1.0.0" here was a bug — it
|
|
15
|
+
// scaffolded projects pointing at a version older than the auto-bind probe
|
|
16
|
+
// code shipped, so fresh installs missed Track B+ entirely.
|
|
17
|
+
const DEFAULT_LIBRARY_VERSION = VERSION_INFO.latestStable;
|
|
14
18
|
const PLACEMENT_OPTIONS = [
|
|
15
19
|
{ id: "dedicated_route", label: "Dedicated route (e.g. 'connection' or 'glasses')" },
|
|
16
20
|
{ id: "settings_subscreen", label: "Subscreen inside Settings" },
|
|
@@ -164,6 +168,7 @@ function buildAndroid(appPackage, libraryVersion, concise) {
|
|
|
164
168
|
optionsSummary: PLACEMENT_OPTIONS,
|
|
165
169
|
snippetsResourceLink: PLACEMENT_SNIPPET_LINK,
|
|
166
170
|
},
|
|
171
|
+
developerInstructions: developerInstructionsAndroid(),
|
|
167
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.`,
|
|
168
173
|
};
|
|
169
174
|
if (!concise) {
|
|
@@ -202,9 +207,13 @@ function buildIos(appPackage, libraryVersion, concise) {
|
|
|
202
207
|
generatedByTool: "generateConnectionModule",
|
|
203
208
|
},
|
|
204
209
|
];
|
|
210
|
+
// App.swift is developer-owned and has no marker region for us to replace,
|
|
211
|
+
// so this stays an instructional `manual_patch` (agent reads English,
|
|
212
|
+
// hand-applies). Marker-bounded replacements use action `replace_region`
|
|
213
|
+
// (see generateConsumer's bootstrap dispatch patches).
|
|
205
214
|
const files = [
|
|
206
215
|
{ path: bootstrapPath, action: "create", content: bootstrapContent },
|
|
207
|
-
{ path: appPatchPath, action: "
|
|
216
|
+
{ path: appPatchPath, action: "manual_patch", content: renderIosAppPatchHint(appPackage) },
|
|
208
217
|
];
|
|
209
218
|
const payload = {
|
|
210
219
|
files,
|
|
@@ -242,6 +251,19 @@ function buildIos(appPackage, libraryVersion, concise) {
|
|
|
242
251
|
NSMicrophoneUsageDescription: "Used to capture audio from your glasses for voice commands.",
|
|
243
252
|
NSSpeechRecognitionUsageDescription: "Used to transcribe voice commands from your glasses.",
|
|
244
253
|
NSBluetoothAlwaysUsageDescription: "Required to connect to your glasses over Bluetooth.",
|
|
254
|
+
// Track B+ auto-bind: the library probes the host MCP server's
|
|
255
|
+
// localhost bridge (http://localhost:31337/whoami) on debug builds
|
|
256
|
+
// to discover the dev's MCP install id and skip the URL-bake-and-
|
|
257
|
+
// rebuild loop. iOS App Transport Security blocks cleartext HTTP by
|
|
258
|
+
// default; this exception narrows the relaxation to loopback only.
|
|
259
|
+
// Without it, the probe fails silently and the dev falls through to
|
|
260
|
+
// the typed-code pairing path. Release builds never hit the probe.
|
|
261
|
+
NSAppTransportSecurity: {
|
|
262
|
+
NSExceptionDomains: {
|
|
263
|
+
localhost: { NSExceptionAllowsInsecureHTTPLoads: true },
|
|
264
|
+
"127.0.0.1": { NSExceptionAllowsInsecureHTTPLoads: true },
|
|
265
|
+
},
|
|
266
|
+
},
|
|
245
267
|
},
|
|
246
268
|
suggestedRendering: "NavigationStack { ExtentosConnectionPage() }",
|
|
247
269
|
placementGuidance: {
|
|
@@ -250,6 +272,7 @@ function buildIos(appPackage, libraryVersion, concise) {
|
|
|
250
272
|
optionsSummary: PLACEMENT_OPTIONS,
|
|
251
273
|
snippetsResourceLink: PLACEMENT_SNIPPET_LINK,
|
|
252
274
|
},
|
|
275
|
+
developerInstructions: developerInstructionsIos(),
|
|
253
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.`,
|
|
254
277
|
};
|
|
255
278
|
if (!concise) {
|
|
@@ -258,13 +281,31 @@ function buildIos(appPackage, libraryVersion, concise) {
|
|
|
258
281
|
"2. Add Info.plist entries listed in infoPlistAdditions (replace REPLACE_ME placeholders with values from your Meta Developer Center project)\n" +
|
|
259
282
|
"3. Append extentos.session.plist to .gitignore\n" +
|
|
260
283
|
"4. Write ExtentosBootstrap.swift\n" +
|
|
261
|
-
`5. Patch ${moduleName}App.swift: add .onOpenURL and .onChange(of: scenePhase) to the root view (see files[]
|
|
284
|
+
`5. Patch ${moduleName}App.swift: add .onOpenURL and .onChange(of: scenePhase) to the root view (see files[] manual_patch content)\n` +
|
|
262
285
|
"6. Add the spmBuildPhase pre-build script in the Xcode target's Build Phases\n" +
|
|
263
286
|
"7. Render ExtentosConnectionPage() in your navigation (or skip for headless apps)\n" +
|
|
264
287
|
"8. Build and verify";
|
|
265
288
|
payload.notes =
|
|
266
|
-
"The MWDAT dict, CFBundleURLTypes, and Team ID must be filled in from your Meta Developer Center project — the scaffold emits REPLACE_ME placeholders.
|
|
289
|
+
"The MWDAT dict, CFBundleURLTypes, and Team ID must be filled in from your Meta Developer Center project — the scaffold emits REPLACE_ME placeholders. " +
|
|
290
|
+
"The NSAppTransportSecurity exception in infoPlistAdditions enables Track B+ auto-bind on debug builds (library probes http://localhost:31337/whoami to discover the dev's MCP install id). Without it, the probe fails silently and the dev falls through to the typed-code pairing path. Release builds never hit the probe — the exception affects debug runs only. " +
|
|
291
|
+
"GlassesDebug is debug-only. Populate the spec next via initSpec. Callback handler registration is emitted later by generateConsumer(kind: \"callback\").";
|
|
267
292
|
}
|
|
268
293
|
return payload;
|
|
269
294
|
}
|
|
295
|
+
// Top-of-response narrative the agent reads first. Calls out the placement
|
|
296
|
+
// decision explicitly so an agent can't silently default to headless. Mirrors
|
|
297
|
+
// createSimulatorSession's `developerInstructions` precedent.
|
|
298
|
+
function developerInstructionsAndroid() {
|
|
299
|
+
return ("Step 1 (REQUIRED, do not skip): Ask the developer where ExtentosConnectionPage should live in their app — read placementGuidance.question + placementGuidance.optionsSummary out loud and wait for an answer before writing any navigation code. Headless is one of the 5 valid answers; pick it only if the dev says so. " +
|
|
300
|
+
"Step 2: Apply the files[], dependencies[], repositories[], buildConfigFields[], and permissions[] outputs. " +
|
|
301
|
+
"Step 3: Set the Application class to ExtentosBootstrap in AndroidManifest.xml (`android:name=\".extentos.ExtentosBootstrap\"`). " +
|
|
302
|
+
"Step 4: Render the chosen placement using the snippet from searchDocs(topic: \"connection_ui_placement\"). " +
|
|
303
|
+
"Step 5: Run initSpec to populate the spec, then generateConsumer for callback handlers, then validateIntegration before testing.");
|
|
304
|
+
}
|
|
305
|
+
function developerInstructionsIos() {
|
|
306
|
+
return ("Step 1 (REQUIRED, do not skip): Ask the developer where ExtentosConnectionPage should live in their app — read placementGuidance.question + placementGuidance.optionsSummary out loud and wait for an answer before writing any navigation code. Headless is one of the 5 valid answers; pick it only if the dev says so. " +
|
|
307
|
+
"Step 2: 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. " +
|
|
308
|
+
"Step 3: Render the chosen placement using the snippet from searchDocs(topic: \"connection_ui_placement\"). " +
|
|
309
|
+
"Step 4: Run initSpec to populate the spec, then generateConsumer for callback handlers, then validateIntegration before testing.");
|
|
310
|
+
}
|
|
270
311
|
//# sourceMappingURL=generateConnectionModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateConnectionModule.js","sourceRoot":"","sources":["../../../src/tools/handlers/generateConnectionModule.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,yDAAyD;AACzD,kFAAkF;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAmB,MAAM,gBAAgB,CAAC;AAE5E,SAAS,MAAM,CAAC,OAAe;IAC7B,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,uBAAuB,GAAG,
|
|
1
|
+
{"version":3,"file":"generateConnectionModule.js","sourceRoot":"","sources":["../../../src/tools/handlers/generateConnectionModule.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,yDAAyD;AACzD,kFAAkF;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAmB,MAAM,gBAAgB,CAAC;AAE5E,SAAS,MAAM,CAAC,OAAe;IAC7B,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,2EAA2E;AAC3E,2EAA2E;AAC3E,4DAA4D;AAC5D,MAAM,uBAAuB,GAAG,YAAY,CAAC,YAAY,CAAC;AAU1D,MAAM,iBAAiB,GAAG;IACxB,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,kDAAkD,EAAE;IACpF,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,2BAA2B,EAAE;IAChE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE;IAC7C,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,wCAAwC,EAAE;IACtE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,mDAAmD,EAAE;CAC/E,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,GAAG,EAAE,yCAAyC;IAC9C,QAAQ,EAAE,eAAe;IACzB,WAAW,EACT,+LAA+L;CAClM,CAAC;AAEF,MAAM,UAAU,8BAA8B,CAAC,GAAY;IACzD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,uBAAuB,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC;IAElD,MAAM,OAAO,GACX,IAAI,CAAC,QAAQ,KAAK,SAAS;QACzB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC;QACxD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAEzD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,GAAY;IAC7B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO;YACL,KAAK,EAAE,aAAa,CAAC;gBACnB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,uDAAuD;gBAChE,OAAO,EAAE,8CAA8C;gBACvD,SAAS,EAAE,KAAK;aACjB,CAAC;SACH,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAE3C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACjD,OAAO;YACL,KAAK,EAAE,aAAa,CAAC;gBACnB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,4CAA4C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI;gBACjF,OAAO,EAAE,wCAAwC;gBACjD,SAAS,EAAE,KAAK;aACjB,CAAC;SACH,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAClC,OAAO;YACL,KAAK,EAAE,aAAa,CAAC;gBACnB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,8CAA8C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;gBACtF,OAAO,EAAE,gCAAgC;gBACzC,SAAS,EAAE,KAAK;aACjB,CAAC;SACH,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO;YACL,KAAK,EAAE,aAAa,CAAC;gBACnB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,wDAAwD;gBACjE,OAAO,EAAE,iEAAiE;gBAC1E,SAAS,EAAE,KAAK;aACjB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAS;QACjB,QAAQ;QACR,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,cAAc,EAAE,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACvF,cAAc,EACZ,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,GAAG,CAAC,cAAc,KAAK,UAAU;YACnE,CAAC,CAAC,GAAG,CAAC,cAAc;YACpB,CAAC,CAAC,SAAS;KAChB,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB,EAAE,cAAsB,EAAE,OAAgB;IAChF,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,wCAAwC,CAAC;IAC1D,MAAM,aAAa,GAAG,qBAAqB,UAAU,gCAAgC,CAAC;IACtF,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAExC,MAAM,QAAQ,GAAG,kBAAkB,CACjC,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,EAC7D,MAAM,CACP,CAAC;IACF,6EAA6E;IAC7E,0EAA0E;IAC1E,uEAAuE;IACvE,oEAAoE;IACpE,wBAAwB;IACxB,QAAQ,CAAC,cAAc,GAAG;QACxB;YACE,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,mBAAmB;YAC7B,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC;YAC9B,WAAW,EAAE,MAAM;YACnB,eAAe,EAAE,0BAA0B;SAC5C;KACF,CAAC;IAEF,MAAM,KAAK,GAAG;QACZ,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,QAAiB,EAAE,OAAO,EAAE,gBAAgB,EAAE;KAC9E,CAAC;IAEF,MAAM,OAAO,GAA4B;QACvC,KAAK;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE;QACrD,QAAQ,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC/D,YAAY,EAAE;YACZ,EAAE,QAAQ,EAAE,wBAAwB,cAAc,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE;YACvF,EAAE,QAAQ,EAAE,2BAA2B,cAAc,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE;YAC1F,2EAA2E;YAC3E,wEAAwE;YACxE,iCAAiC;SAClC;QACD,YAAY,EAAE;YACZ;gBACE,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,qBAAqB;gBAChC,OAAO,EACL,oMAAoM;aACvM;YACD;gBACE,QAAQ,EACN,yFAAyF;gBAC3F,SAAS,EAAE,qBAAqB;gBAChC,OAAO,EACL,iPAAiP;gBACnP,mBAAmB,EAAE;oBACnB,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;oBAC5C,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;oBACxD,IAAI,EAAE,wHAAwH;oBAC9H,OAAO,EACL,yNAAyN;iBAC5N;aACF;SACF;QACD,iBAAiB,EAAE;YACjB;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EACL,mbAAmb;gBACrb,QAAQ,EAAE,0CAA0C;aACrD;SACF;QACD,WAAW,EAAE;YACX,sCAAsC;YACtC,mCAAmC;YACnC,6BAA6B;SAC9B;QACD,kBAAkB,EAAE,8DAA8D;QAClF,iBAAiB,EAAE;YACjB,WAAW,EACT,2GAA2G;YAC7G,QAAQ,EAAE,4DAA4D;YACtE,cAAc,EAAE,iBAAiB;YACjC,oBAAoB,EAAE,sBAAsB;SAC7C;QACD,qBAAqB,EAAE,4BAA4B,EAAE;QACrD,OAAO,EAAE,uBAAuB,cAAc,oBAAoB,UAAU,2JAA2J;KACxO,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,gBAAgB;YACtB,iKAAiK;gBACjK,+CAA+C;gBAC/C,okBAAokB;gBACpkB,6CAA6C;gBAC7C,iCAAiC;gBACjC,yBAAyB,UAAU,yEAAyE;gBAC5G,0GAA0G;gBAC1G,qBAAqB,CAAC;QACxB,OAAO,CAAC,KAAK;YACX,iqBAAiqB,CAAC;IACtqB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,UAAkB,EAAE,cAAsB,EAAE,OAAgB;IAC5E,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,WAAW,UAAU,+BAA+B,CAAC;IACtE,MAAM,aAAa,GAAG,WAAW,UAAU,mCAAmC,CAAC;IAC/E,MAAM,YAAY,GAAG,WAAW,UAAU,IAAI,UAAU,WAAW,CAAC;IACpE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAExC,MAAM,QAAQ,GAAG,kBAAkB,CACjC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,EACzD,MAAM,CACP,CAAC;IACF,2EAA2E;IAC3E,2EAA2E;IAC3E,uEAAuE;IACvE,kCAAkC;IAClC,QAAQ,CAAC,cAAc,GAAG;QACxB;YACE,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,mBAAmB;YAC7B,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC;YAC9B,WAAW,EAAE,MAAM;YACnB,eAAe,EAAE,0BAA0B;SAC5C;KACF,CAAC;IAEF,2EAA2E;IAC3E,sEAAsE;IACtE,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,KAAK,GAAG;QACZ,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,QAAiB,EAAE,OAAO,EAAE,gBAAgB,EAAE;QAC7E,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,cAAuB,EAAE,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,EAAE;KACpG,CAAC;IAEF,MAAM,OAAO,GAA4B;QACvC,KAAK;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE;QACrD,QAAQ,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC/D,YAAY,EAAE;YACZ;gBACE,OAAO,EAAE,2CAA2C;gBACpD,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC;aACvD;SACF;QACD,aAAa,EAAE;YACb,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,WAAW;YAClB,MAAM,EACJ,qMAAqM;YACvM,OAAO,EACL,gKAAgK;SACnK;QACD,kBAAkB,EAAE,CAAC,wBAAwB,CAAC;QAC9C,WAAW,EAAE,EAAE;QACf,kBAAkB,EAAE;YAClB,KAAK,EAAE;gBACL,gBAAgB,EAAE,eAAe;gBACjC,SAAS,EAAE,YAAY;gBACvB,WAAW,EAAE,YAAY;gBACzB,MAAM,EAAE,YAAY;aACrB;YACD,gBAAgB,EAAE;gBAChB,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,YAAY,CAAC,EAAE;aACpE;YACD,2BAA2B,EAAE,CAAC,YAAY,CAAC;YAC3C,qCAAqC,EAAE,CAAC,sBAAsB,CAAC;YAC/D,iBAAiB,EAAE,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,oBAAoB,CAAC;YACtF,wBAAwB,EAAE,qDAAqD;YAC/E,4BAA4B,EAAE,6DAA6D;YAC3F,mCAAmC,EAAE,sDAAsD;YAC3F,iCAAiC,EAAE,qDAAqD;YACxF,+DAA+D;YAC/D,mEAAmE;YACnE,kEAAkE;YAClE,oEAAoE;YACpE,mEAAmE;YACnE,oEAAoE;YACpE,mEAAmE;YACnE,sBAAsB,EAAE;gBACtB,kBAAkB,EAAE;oBAClB,SAAS,EAAE,EAAE,kCAAkC,EAAE,IAAI,EAAE;oBACvD,WAAW,EAAE,EAAE,kCAAkC,EAAE,IAAI,EAAE;iBAC1D;aACF;SACF;QACD,kBAAkB,EAAE,8CAA8C;QAClE,iBAAiB,EAAE;YACjB,WAAW,EACT,2GAA2G;YAC7G,QAAQ,EAAE,4DAA4D;YACtE,cAAc,EAAE,iBAAiB;YACjC,oBAAoB,EAAE,sBAAsB;SAC7C;QACD,qBAAqB,EAAE,wBAAwB,EAAE;QACjD,OAAO,EAAE,uBAAuB,cAAc,mBAAmB,UAAU,gKAAgK;KAC5O,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,gBAAgB;YACtB,kEAAkE,cAAc,2FAA2F;gBAC3K,gJAAgJ;gBAChJ,kDAAkD;gBAClD,oCAAoC;gBACpC,YAAY,UAAU,+GAA+G;gBACrI,gFAAgF;gBAChF,qFAAqF;gBACrF,qBAAqB,CAAC;QACxB,OAAO,CAAC,KAAK;YACX,wJAAwJ;gBACxJ,wWAAwW;gBACxW,0JAA0J,CAAC;IAC/J,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,8EAA8E;AAC9E,8DAA8D;AAC9D,SAAS,4BAA4B;IACnC,OAAO,CACL,4TAA4T;QAC5T,6GAA6G;QAC7G,kIAAkI;QAClI,6GAA6G;QAC7G,kIAAkI,CACnI,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,CACL,4TAA4T;QAC5T,yPAAyP;QACzP,6GAA6G;QAC7G,kIAAkI,CACnI,CAAC;AACJ,CAAC"}
|
|
@@ -34,8 +34,9 @@ function buildCallback(args) {
|
|
|
34
34
|
});
|
|
35
35
|
files.push({
|
|
36
36
|
path: `app/src/main/java/${src}/extentos/ExtentosBootstrap.kt`,
|
|
37
|
-
action: "
|
|
38
|
-
|
|
37
|
+
action: "replace_region",
|
|
38
|
+
marker: "dispatch",
|
|
39
|
+
content: androidBootstrapDispatchBody(),
|
|
39
40
|
});
|
|
40
41
|
}
|
|
41
42
|
else {
|
|
@@ -47,8 +48,9 @@ function buildCallback(args) {
|
|
|
47
48
|
});
|
|
48
49
|
files.push({
|
|
49
50
|
path: `Sources/${mod}/Extentos/ExtentosBootstrap.swift`,
|
|
50
|
-
action: "
|
|
51
|
-
|
|
51
|
+
action: "replace_region",
|
|
52
|
+
marker: "dispatch",
|
|
53
|
+
content: iosBootstrapDispatchBody(),
|
|
52
54
|
});
|
|
53
55
|
}
|
|
54
56
|
const handlersGenerated = args.handlers.map((h) => h.name);
|
|
@@ -171,21 +173,16 @@ function iosStreamInfoPlist(streams) {
|
|
|
171
173
|
}
|
|
172
174
|
return { added };
|
|
173
175
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
`// EXTENTOS-GENERATED-END:dispatch\n\n` +
|
|
182
|
-
`(extentosCallbackHandler lives in the same package as ExtentosBootstrap — no import needed.)`);
|
|
176
|
+
// Body of the dispatch region (between START and END markers, exclusive).
|
|
177
|
+
// The agent splices this into ExtentosBootstrap.kt's dispatch region.
|
|
178
|
+
// extentosCallbackHandler is in the same package as the bootstrap, so no
|
|
179
|
+
// import is needed. Indentation matches the bootstrap template's 8-space
|
|
180
|
+
// in-coroutine context.
|
|
181
|
+
function androidBootstrapDispatchBody() {
|
|
182
|
+
return ` glasses.extensions.registerAppCallbackHandler(extentosCallbackHandler)`;
|
|
183
183
|
}
|
|
184
|
-
function
|
|
185
|
-
return
|
|
186
|
-
`// EXTENTOS-GENERATED-START:dispatch\n` +
|
|
187
|
-
`glasses.extensions.registerAppCallbackHandler(ExtentosCallbacks())\n` +
|
|
188
|
-
`// EXTENTOS-GENERATED-END:dispatch\n`);
|
|
184
|
+
function iosBootstrapDispatchBody() {
|
|
185
|
+
return ` glasses.extensions.registerAppCallbackHandler(ExtentosCallbacks())`;
|
|
189
186
|
}
|
|
190
187
|
function parseArgs(raw) {
|
|
191
188
|
if (!raw || typeof raw !== "object") {
|