@extentos/mcp-server 0.8.3 → 0.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/setup.d.ts.map +1 -1
  3. package/dist/cli/setup.js +31 -201
  4. package/dist/cli/setup.js.map +1 -1
  5. package/dist/cli.js +1 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/tools/data/capabilities.js +9 -9
  8. package/dist/tools/data/capabilities.js.map +1 -1
  9. package/dist/tools/data/capabilityPatterns.js +13 -13
  10. package/dist/tools/data/capabilityPatterns.js.map +1 -1
  11. package/dist/tools/data/codeExamples.js +10 -10
  12. package/dist/tools/data/codeExamples.js.map +1 -1
  13. package/dist/tools/data/version.d.ts +0 -12
  14. package/dist/tools/data/version.d.ts.map +1 -1
  15. package/dist/tools/data/version.js +10 -22
  16. package/dist/tools/data/version.js.map +1 -1
  17. package/dist/tools/definitions.js +3 -3
  18. package/dist/tools/definitions.js.map +1 -1
  19. package/dist/tools/docs/index.js +13 -13
  20. package/dist/tools/docs/index.js.map +1 -1
  21. package/dist/tools/handlers/assistantConfig.d.ts.map +1 -1
  22. package/dist/tools/handlers/assistantConfig.js +9 -1
  23. package/dist/tools/handlers/assistantConfig.js.map +1 -1
  24. package/dist/tools/handlers/generateConnectionModule.js +7 -8
  25. package/dist/tools/handlers/generateConnectionModule.js.map +1 -1
  26. package/dist/tools/handlers/getCredentialGuide.js +1 -1
  27. package/dist/tools/handlers/getCredentialGuide.js.map +1 -1
  28. package/dist/tools/handlers/getPlatformInfo.js +1 -1
  29. package/dist/tools/handlers/getPlatformInfo.js.map +1 -1
  30. package/dist/tools/handlers/getProductionChecklist.js +1 -1
  31. package/dist/tools/handlers/getProductionChecklist.js.map +1 -1
  32. package/dist/tools/handlers/validateIntegration.d.ts.map +1 -1
  33. package/dist/tools/handlers/validateIntegration.js +11 -36
  34. package/dist/tools/handlers/validateIntegration.js.map +1 -1
  35. package/package.json +1 -1
@@ -87,7 +87,7 @@ let mediaType = "image/jpeg"`,
87
87
  "PhotoConfig takes TYPED ENUMS, not strings: `PhotoConfig(resolution = Resolution.MEDIUM, format = PhotoFormat.JPEG)`. Resolution enum: LOW, MEDIUM, HIGH. PhotoFormat enum: JPEG, HEIC. Both live in com.extentos.glasses.core (flat package — see library_api topic). PhotoConfig also takes `fullResolution: Boolean = false` (Kotlin) / `fullResolution: Bool = false` (Swift) — see the frame-grab gotcha below.",
88
88
  "Photo.uri is `String?` (nullable). The Photos helpers (loadBase64 / loadBytes / loadBitmap / mediaTypeFromUri) require non-null String. Null-check `photo.uri` before passing. See the kotlin snippet's header comment for each helper's full signature + return type.",
89
89
  "Photo URI shape varies by transport (data: vs file:). Use Photos.loadBase64(uri) helpers to bridge — don't try to AsyncImage / URL.init() the URI directly.",
90
- "By DEFAULT a photo grabs a frame off the shared camera stream — the reliable path: a frame-grab can't trip Meta's frame-stall watchdog and behaves the same whether or not a recording/live-view is already running, at stream resolution (~504x896 at HIGH; `resolution` sets the stream quality). Set `PhotoConfig(fullResolution = true)` for a full-sensor discrete still (~12 MP) — much higher resolution, traded against reliability (the discrete capture can intermittently stall Meta-side). Per call: use it for a deliberate, human-facing photo or a model that genuinely needs the detail; leave it off for assistant/vision and rapid captures, where ~0.5 MP is ample.",
90
+ "By DEFAULT a photo grabs a frame off the shared camera stream — the reliable path: a frame-grab can't trip Meta's frame-stall watchdog and behaves the same whether or not a recording/live-view is already running, at stream resolution (~720x1280 at HIGH, 504x896 at MEDIUM; `resolution` sets the stream quality). Set `PhotoConfig(fullResolution = true)` for a full-sensor discrete still (~12 MP) — much higher resolution, traded against reliability (the discrete capture can intermittently stall Meta-side). Per call: use it for a deliberate, human-facing photo or a model that genuinely needs the detail; leave it off for assistant/vision and rapid captures, where stream resolution is ample.",
91
91
  "Capture blocks while outgoing_video_stream is active (camera exclusivity). If both are needed, set audio_video_coexistence_policy = prefer_video.",
92
92
  "Gated by camera_streaming_enabled toggle (default true) and privacy_mode (default false). Both being closed returns CaptureError.DisabledByUser.",
93
93
  "Debugging: capturePhoto emits a `capture_photo_returned` event to the session log when it resolves — getEventLog(filter: \"camera\") shows `success`, `duration_ms`, and on success `width` / `height` / `format` / `has_uri`. No row = the call is still in flight or never started.",
@@ -160,14 +160,14 @@ glasses.audio.transcriptions(
160
160
  "Always pattern-match `is Transcript.Final` before reading t.text. Transcript is a sealed interface (Partial | Final); Partial fires 5-20x/sec and partial text can match a wake phrase mid-stream. Swift uses the same shape via the .partial/.final enum cases.",
161
161
  "Match against t.text.lowercase() because the recognizer emits casing the user said it in. The library does NOT normalize on the SDK side (pre-pivot the spec matcher normalized; post-pivot the customer matches strings directly).",
162
162
  "Subscribe once. Don't subscribe per-loop or per-trigger — each subscription is a separate recognizer instance; multiple subs = duplicate transcripts + battery drain.",
163
- "Gated by listening_mode (default 'wake_word' treated as listening-on), audio_capture_enabled, privacy_mode. If transcripts stop arriving, the connection page UI may have flipped listening_mode to 'off'.",
163
+ "Gated by audio_capture_enabled, privacy_mode, and listening_mode (default 'wake_word' treated as listening-on). If transcripts stop arriving, the connection page UI may have flipped listening_mode to 'off'. (transcription_enabled is declared but not consumed by the library yet.)",
164
164
  "Library auto-restarts the recognizer after each Final (~100-300ms gap). Don't rely on continuous startMs/endMs offsets — anchor against your own wall clock.",
165
165
  ],
166
166
  relatedExamples: ["voice_qa_assistant", "live_transcription_ui", "voice_notes", "photo_describe_voice"],
167
167
  };
168
168
  const SPEAK_AND_CANCEL = {
169
169
  feature: "speak",
170
- summary: "Legacy `glasses.audio.speak(text)` — TTS via platform engine (Android TextToSpeech / iOS AVSpeechSynthesizer). Audio bytes route over HFP to the glasses speaker. Use cancelSpeak() to interrupt for barge-in. **For Phase 3 apps**, prefer `glasses.conversation`'s `speak(text)` inside an onWake/start handler block (see `getCapabilityGuide(feature: 'conversation_speak')`) composes with the runtime's listen/cancelSpeak/AI pipeline and routes through the cloud TTS provider (OpenAI by default) rather than the platform engine. This `audio.speak` surface stays canonical for apps that want platform-TTS (no cloud dependency, no BYOK key) or for one-shot announcements outside any conversation handler.",
170
+ summary: "Legacy `glasses.audio.speak(text)` — TTS via platform engine (Android TextToSpeech / iOS AVSpeechSynthesizer). Audio bytes route over HFP to the glasses speaker. Use cancelSpeak() to interrupt for barge-in. For assistant apps (Phase 4), the model speaks for itself and `session.say(text)` covers app-initiated speech (the Phase-3 `glasses.conversation` runtime was removed on Android in 1.4.0). This `audio.speak` surface stays canonical for apps that want platform-TTS (no cloud dependency, no BYOK key) or for one-shot announcements outside any conversation handler.",
171
171
  kotlin: `// Speak a response:
172
172
  glasses.audio.speak("Got it.") // blocks until done by default
173
173
 
@@ -350,7 +350,7 @@ for await toggles in glasses.toggles.state.stream {
350
350
  };
351
351
  const VOICE_COMMAND = {
352
352
  feature: "voice_command",
353
- summary: "`glasses.voice.onPhrase(phrase, label, stops) { handler }` — wake-phrase registration with auto-display on the connection page AND the simulator's click-to-fire voice rail. Sugar over glasses.audio.transcriptions() with structured-concurrency cancellation when a `stops` phrase fires. **Canonical Phase 4 wake:** `glasses.voice.onPhrase(...) { session.wake() }` is exactly how the assistant is woken in `getCodeExample(pattern: 'assistant_agent_loop')` — any other trigger (button, gesture, MCP call) works the same; the library doesn't dictate one. This surface is equally the primitive for any non-assistant voice flow (wake → photo capture, wake → toggle UI state, wake → a custom action that needs no LLM); for advanced matching (regex / stateful guards) drop to `glasses.audio.transcriptions()` + `glasses.voice.registerHint(...)`. (Legacy: Phase 3's `glasses.conversation.onWake { listen(); ... }` — DEPRECATED in v1.4.0, removed in v2.0.0 — wrapped onPhrase with a listen/speak/ai.complete pipeline; new code uses the Phase 4 assistant runtime instead.)",
353
+ summary: "`glasses.voice.onPhrase(phrase, label, stops) { handler }` — wake-phrase registration with auto-display on the connection page AND the simulator's click-to-fire voice rail. Sugar over glasses.audio.transcriptions() with structured-concurrency cancellation when a `stops` phrase fires. **Canonical Phase 4 wake:** `glasses.voice.onPhrase(...) { session.wake() }` is exactly how the assistant is woken in `getCodeExample(pattern: 'assistant_agent_loop')` — any other trigger (button, gesture, MCP call) works the same; the library doesn't dictate one. This surface is equally the primitive for any non-assistant voice flow (wake → photo capture, wake → toggle UI state, wake → a custom action that needs no LLM); for advanced matching (regex / stateful guards) drop to `glasses.audio.transcriptions()` + `glasses.voice.registerHint(...)`. (Legacy: Phase 3's `glasses.conversation.onWake { listen(); ... }` — REMOVED on Android in 1.4.0 — wrapped onPhrase with a listen/speak/ai.complete pipeline; new code uses the Phase 4 assistant runtime instead.)",
354
354
  kotlin: `import com.extentos.glasses.core.ExtentosGlasses
355
355
  import com.extentos.glasses.core.VoiceRegistration
356
356
  import kotlinx.coroutines.delay
@@ -595,7 +595,7 @@ let duration = clip.durationMs
595
595
  // + gotchas the developer hits per-call.
596
596
  const CONVERSATION_ON_WAKE = {
597
597
  feature: "conversation_on_wake",
598
- summary: "Phase 3 — register a conversation handler keyed to a wake phrase. Composes `glasses.voice.onPhrase` (wake matching) + `glasses.conversation.start` (handler dispatch with the runtime's listen()/speak()/ai context). The handler block runs under structured concurrency; `defer` / `finally` runs on cancel.",
598
+ summary: "REMOVED on Android in 1.4.0 (historical reference). Phase 3 — register a conversation handler keyed to a wake phrase. Composes `glasses.voice.onPhrase` (wake matching) + `glasses.conversation.start` (handler dispatch with the runtime's listen()/speak()/ai context). The handler block runs under structured concurrency; `defer` / `finally` runs on cancel.",
599
599
  kotlin: `// Inside an init / start function on your handler class:
600
600
  glasses.conversation?.onWake("hey assistant") {
601
601
  // 'this' is a ConversationScope receiver — listen(), speak(),
@@ -641,7 +641,7 @@ _ = glasses.conversation?.onWake(phrase: "hey assistant") { ctx in
641
641
  };
642
642
  const CONVERSATION_LISTEN = {
643
643
  feature: "conversation_listen",
644
- summary: "Phase 3 — suspends the handler until the next user `Turn` resolves. Drives the Rust core's VAD-gated capture loop: VAD → 8→16 kHz upsample → STT chunk-batch + Smart Turn EOU → coalescer → `Turn::Said`. Real audio: live mic via the audio_chunk pipe. Agent-driven E2E: `injectTranscript(text)` resolves it directly (H1 wiring).",
644
+ summary: "REMOVED on Android in 1.4.0 (historical reference). Phase 3 — suspends the handler until the next user `Turn` resolves. Drives the Rust core's VAD-gated capture loop: VAD → 8→16 kHz upsample → STT chunk-batch + Smart Turn EOU → coalescer → `Turn::Said`. Real audio: live mic via the audio_chunk pipe. Agent-driven E2E: `injectTranscript(text)` resolves it directly (H1 wiring).",
645
645
  kotlin: `// Inside an onWake / start handler block (ConversationScope receiver):
646
646
  val turn = listen()
647
647
  when (turn) {
@@ -680,7 +680,7 @@ case .error(let kind):
680
680
  };
681
681
  const CONVERSATION_SPEAK = {
682
682
  feature: "conversation_speak",
683
- summary: "Phase 3 — synthesize TTS for `text` and stream PCM chunks through the registered audio-out sink (sim browser via Web Audio, real-hardware playback path on device). Throws `SpeakException` subclass on failure / cancellation. `cancelSpeak()` aborts in-flight speak by drop-cancelling the TtsStream (reqwest connection closes → no more bytes).",
683
+ summary: "REMOVED on Android in 1.4.0 (historical reference). Phase 3 — synthesize TTS for `text` and stream PCM chunks through the registered audio-out sink (sim browser via Web Audio, real-hardware playback path on device). Throws `SpeakException` subclass on failure / cancellation. `cancelSpeak()` aborts in-flight speak by drop-cancelling the TtsStream (reqwest connection closes → no more bytes).",
684
684
  kotlin: `// Inside an onWake / start handler block:
685
685
  try {
686
686
  speak("Hello! How can I help?")
@@ -722,7 +722,7 @@ ctx.cancelSpeak() // no-op when nothing in flight`,
722
722
  };
723
723
  const CONVERSATION_AI_COMPLETE = {
724
724
  feature: "conversation_ai_complete",
725
- summary: "Phase 3 — BYOK LLM completion via `glasses.ai.complete(prompt)`. Single-turn (developer owns conversation history; pass accumulated context in the prompt each call). Key flows DIRECT to api.openai.com (no Extentos proxy — synthesis §6 / §8). Throws `AiException` subclass on failure. `ai_stream` deferred core-side; v1 ships `complete()` only.",
725
+ summary: "REMOVED on Android in 1.4.0 (historical reference). Phase 3 — BYOK LLM completion via `glasses.ai.complete(prompt)`. Single-turn (developer owns conversation history; pass accumulated context in the prompt each call). Key flows DIRECT to api.openai.com (no Extentos proxy — synthesis §6 / §8). Throws `AiException` subclass on failure. `ai_stream` deferred core-side; v1 ships `complete()` only.",
726
726
  kotlin: `// Set the OpenAI BYOK key once at app init (typically from
727
727
  // BuildConfig or a secure store — see getCredentialGuide(service: "openai")):
728
728
  glasses.ai?.setOpenaiApiKey(BuildConfig.OPENAI_API_KEY)
@@ -769,7 +769,7 @@ do {
769
769
  };
770
770
  const CONVERSATION_RUNTIME = {
771
771
  feature: "conversation_runtime",
772
- summary: "Phase 3 — umbrella entry for the `glasses.conversation` + `glasses.ai` API. Composes VAD + STT + Smart Turn EOU + TTS + BYOK OpenAI LLM in a single handler block. See per-feature entries (conversation_on_wake, conversation_listen, conversation_speak, conversation_ai_complete) for call-shape detail. Full composition example: `getCodeExample(pattern: \"conversation_agent_loop\")`. Conceptual guide: `searchDocs(topic: \"conversation_runtime\")`.",
772
+ summary: "REMOVED on Android in 1.4.0 (historical reference). Phase 3 — umbrella entry for the `glasses.conversation` + `glasses.ai` API. Composes VAD + STT + Smart Turn EOU + TTS + BYOK OpenAI LLM in a single handler block. See per-feature entries (conversation_on_wake, conversation_listen, conversation_speak, conversation_ai_complete) for call-shape detail. Full composition example: `getCodeExample(pattern: \"conversation_agent_loop\")`. Conceptual guide: `searchDocs(topic: \"conversation_runtime\")`.",
773
773
  kotlin: `// The whole runtime in one handler block:
774
774
  glasses.conversation?.onWake("hey assistant") {
775
775
  speak("How can I help?")
@@ -799,7 +799,7 @@ _ = glasses.conversation?.onWake(phrase: "hey assistant") { ctx in
799
799
  // ── Phase 4 assistant runtime guides ──────────────────────────────────
800
800
  const ASSISTANT_RUNTIME = {
801
801
  feature: "assistant_runtime",
802
- summary: "Phase 4 — umbrella entry for the `glasses.assistant` API. End-to-end voice provider abstraction: customer code is `glasses.assistant.start(provider) { tool(name, description) { body -> ToolResult } }`. The model owns wake / turn-taking / intent / confirmation; the customer writes tool bodies that act on app state. v1 ships OpenAI Realtime (`gpt-realtime` over WebSocket); Gemini Live in v1.5+. **Canonical replacement for the Phase 3 conversation runtime, which deprecates in v1.4.0 and removes in v2.0.0.** See per-feature entries (assistant_start, assistant_tool, assistant_provider_openai) for call-shape detail. Full composition example: `getCodeExample(pattern: \"assistant_agent_loop\")`. Conceptual guide: `searchDocs(topic: \"assistant_runtime\")`.",
802
+ summary: "Phase 4 — umbrella entry for the `glasses.assistant` API. End-to-end voice provider abstraction: customer code is `glasses.assistant.start(provider) { tool(name, description) { body -> ToolResult } }`. The model owns wake / turn-taking / intent / confirmation; the customer writes tool bodies that act on app state. v1 ships OpenAI Realtime (`gpt-realtime` over WebSocket); Gemini Live in v1.5+. **Canonical replacement for the Phase 3 conversation runtime (removed on Android in 1.4.0).** See per-feature entries (assistant_start, assistant_tool, assistant_provider_openai) for call-shape detail. Full composition example: `getCodeExample(pattern: \"assistant_agent_loop\")`. Conceptual guide: `searchDocs(topic: \"assistant_runtime\")`.",
803
803
  kotlin: `// The whole runtime in one start block. No API key in code — the
804
804
  // assistant runs on the Extentos managed gateway by default (BYOK is a
805
805
  // dashboard Credentials setting, swapped in server-side):
@@ -841,7 +841,7 @@ _ = try await glasses.assistant.start(
841
841
  "**Singleton-active per ExtentosGlasses (synthesis #13).** At most one assistant.start() at a time. A second start while active throws AssistantException(AlreadyActive). Call `glasses.assistant.stop()` (or `session.stop()`) before starting a new one. v1 simplicity; can relax in v1.x if customer demand surfaces.",
842
842
  "**Eight `assistant.*` lifecycle events emitted automatically (synthesis #15):** session_started / session_ended / user_spoke / assistant_spoke / tool_called / tool_result / reconnected / error. Visible via `glasses.runtime.events.filterIsInstance<RuntimeEvent.Assistant>()`, the simulator's right-rail AssistantPanel, and `getEventLog(filter: \"voice\")`. assistant.error climbs to filter:\"errors\" automatically.",
843
843
  "**PII boundary differs from Phase 3.** Assistant events DO carry verbatim transcripts in user_spoke / assistant_spoke. Phase 3 conversation.* stripped text (only textLen). The Phase 4 assistant runs on the Extentos managed gateway by default — the realtime stream flows device → Extentos gateway → OpenAI (the gateway meters usage; it does not persist transcript content). assistant.* events surface the verbatim text locally in your app regardless of transport. Customer apps own their data retention story.",
844
- "**Library-owned transparent reconnection (synthesis #23).** OpenAI Realtime hard-caps sessions at 60 min; library proactively reconnects every ~50 min + on WS onFailure / onClosed. Customer code doesn't see the swap. `assistant.reconnected` event fires for observability. Conversation history (recent 40 turns) replays on each reconnect.",
844
+ "**Library-owned transparent reconnection (synthesis #23).** OpenAI Realtime hard-caps sessions at 60 min; library proactively reconnects every ~50 min + on WS onFailure / onClosed. Customer code doesn't see the swap. `assistant.reconnected` event fires for observability. Conversation history (recent 100 turns — `AssistantConfig.historyCap`) replays on each reconnect.",
845
845
  "**Managed gateway by default; BYOK via dashboard Credentials.** No OpenAI key in the app — zero config. `glasses.assistant.start()` opens the realtime session against the Extentos managed gateway, which holds the key and meters usage. There is no `setOpenaiApiKey` on the SDK (it was removed when the assistant moved to gateway-only). To use your own OpenAI key, add it in the dashboard Credentials section; the gateway swaps it in server-side — still metered, still through Extentos. See `getCredentialGuide(service: \"openai\")`.",
846
846
  "**Model + voice resolve dashboard-first — leave them null.** Calling AssistantProvider.OpenAi() with no model / voice is the canonical form: the SDK fills them from this project's dashboard Agent settings (extentos.com), falling back to the SDK defaults (gpt-realtime-2 / alloy) only when the dashboard sets neither. Precedence is code > dashboard > SDK default — a value passed to the constructor HARD-PINS it and overrides the dashboard, so pass model / voice only when you deliberately want code to win. New apps leave them unset and configure them in the dashboard.",
847
847
  "**What Extentos manages by default vs. what's yours.** The assistant runtime composes several layers of model behavior, and knowing the boundary helps you customize without fighting the SDK:\\n\\n • **Wire plumbing (SDK-owned, no opt-out)** — WebSocket lifecycle, PCMU audio codec, 50-minute proactive reconnect, session-update handshake. You don't touch these.\\n • **Provider defaults (SDK-owned, override on `AssistantProvider.OpenAi(...)`)** — model (`gpt-realtime-2`), voice (`alloy`), `turn_detection` (`server_vad`), `reasoningEffort` (`Low`). Override via the provider constructor when you need different behavior.\\n • **Tools you didn't write (SDK-owned, opt-out via `AssistantConfig` flag)** — `end_conversation` tool injected when `endOnIntent = true` (default). Customize *when* via your `instructions`; opt out via `endOnIntent = false`.\\n • **Conversation history (SDK-managed buffer; tunable + customizable via iter5.1 surface)** — local replay buffer capped at `AssistantConfig.historyCap` (default 100 turns), preserved across wake/sleep, replayed on reconnect. When the buffer approaches the cap, `AssistantConfig.historyCompaction` runs — default `Auto` summarizes oldest ~50% via gpt-4o-mini under the BYOK key (~$0.001 / compaction). Customer overrides: `Custom { turns -> ... }` for their own strategy, `DropOldest` for free/lossy, `None` for fully manual via `clearHistory` / `appendHistory` / `replaceHistory`.\\n • **`instructions` text (100% yours)** — Extentos does not modify your prompt. Whatever you write is what the model sees.\\n • **Mid-session primitives (you call them when you want)** — `session.setReasoningEffort(level)`, `session.updateInstructions(text)`, `session.cancelSpeak()`, `session.includeImage(uri, prompt)`, `session.conversationHistory(limit)`, plus iter5.1's `session.clearHistory()` / `appendHistory(turn)` / `replaceHistory(turns)`. Composable building blocks for escalation, persona swaps, interrupts, vision, forwarding context to stronger models, fresh-each-wake patterns, TTL resets, app-restart restoration. The SDK provides them; you decide which flows to build with them.\\n\\n**Principle for future SDK contributions:** universal-issue patches (things every voice assistant on glasses needs) sit on the SDK side with a documented opt-out. App-specific choices (personality, domain tools, language pinning, persona, custom compaction strategy) sit on the developer side. When in conflict, your `instructions` win on recency. To see what's actually being sent to OpenAI, enable debug-level logging on `OpenAiAssistantProvider` — the effective `session.update` payload (API key not included; it rides in the WS Authorization header) is logged on open + on every partial update + every reconnect.",
@@ -1431,8 +1431,8 @@ export const CAPABILITY_GUIDES = {
1431
1431
  assistant_provider_openai: ASSISTANT_PROVIDER_OPENAI,
1432
1432
  assistant_vision: ASSISTANT_VISION,
1433
1433
  assistant_session_runtime: ASSISTANT_SESSION_RUNTIME,
1434
- // Phase 3 conversation runtime primitives — DEPRECATED in v1.4.0,
1435
- // REMOVED in v2.0.0. Kept here for the migration window.
1434
+ // Phase 3 conversation runtime primitives — REMOVED on Android in 1.4.0
1435
+ // (never published on iOS). Kept as historical migration reference.
1436
1436
  conversation_runtime: CONVERSATION_RUNTIME,
1437
1437
  conversation_on_wake: CONVERSATION_ON_WAKE,
1438
1438
  conversation_listen: CONVERSATION_LISTEN,
@@ -1 +1 @@
1
- {"version":3,"file":"capabilityPatterns.js","sourceRoot":"","sources":["../../../src/tools/data/capabilityPatterns.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,iEAAiE;AACjE,+DAA+D;AAC/D,iCAAiC;AACjC,EAAE;AACF,iEAAiE;AACjE,qEAAqE;AACrE,mEAAmE;AACnE,0CAA0C;AAW1C,MAAM,aAAa,GAAoB;IACrC,OAAO,EAAE,eAAe;IACxB,OAAO,EACL,yKAAyK;IAC3K,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGA4CyF;IACjG,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA2BoB;IAC3B,OAAO,EAAE;QACP,sZAAsZ;QACtZ,wQAAwQ;QACxQ,6JAA6J;QAC7J,wpBAAwpB;QACxpB,mJAAmJ;QACnJ,kJAAkJ;QAClJ,uRAAuR;KACxR;IACD,eAAe,EAAE,CAAC,sBAAsB,CAAC;CAC1C,CAAC;AAEF,MAAM,YAAY,GAAoB;IACpC,OAAO,EAAE,cAAc;IACvB,OAAO,EACL,qPAAqP;IACvP,MAAM,EAAE;;;;;;;;;;;;yDAY+C;IACvD,KAAK,EAAE;;;;;;;;;gCASuB;IAC9B,OAAO,EAAE;QACP,kJAAkJ;QAClJ,+dAA+d;QAC/d,iJAAiJ;QACjJ,iLAAiL;QACjL,wFAAwF;QACxF,uUAAuU;KACxU;IACD,eAAe,EAAE,CAAC,oBAAoB,EAAE,aAAa,CAAC;CACvD,CAAC;AAEF,MAAM,yBAAyB,GAAoB;IACjD,OAAO,EAAE,2BAA2B;IACpC,OAAO,EACL,wIAAwI;IAC1I,MAAM,EAAE;;;;;;;;;;;;EAYR;IACA,KAAK,EAAE;;;;;;;;;EASP;IACA,OAAO,EAAE;QACP,kQAAkQ;QAClQ,qOAAqO;QACrO,uKAAuK;QACvK,4MAA4M;QAC5M,8JAA8J;KAC/J;IACD,eAAe,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,EAAE,aAAa,EAAE,sBAAsB,CAAC;CACxG,CAAC;AAEF,MAAM,gBAAgB,GAAoB;IACxC,OAAO,EAAE,OAAO;IAChB,OAAO,EACL,6rBAA6rB;IAC/rB,MAAM,EAAE;;;;;;;aAOG;IACX,KAAK,EAAE;;;;;;;;cAQK;IACZ,OAAO,EAAE;QACP,gJAAgJ;QAChJ,wKAAwK;QACxK,+LAA+L;QAC/L,kHAAkH;QAClH,oaAAoa;KACra;IACD,eAAe,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,aAAa,EAAE,sBAAsB,CAAC;CACjG,CAAC;AAEF,MAAM,YAAY,GAAoB;IACpC,OAAO,EAAE,cAAc;IACvB,OAAO,EACL,4LAA4L;IAC9L,MAAM,EAAE;;;;;;;;;;EAUR;IACA,KAAK,EAAE;;;;;;;;;EASP;IACA,OAAO,EAAE;QACP,8TAA8T;QAC9T,2OAA2O;QAC3O,+LAA+L;QAC/L,kSAAkS;QAClS,gHAAgH;KACjH;IACD,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,YAAY,GAAoB;IACpC,OAAO,EAAE,cAAc;IACvB,OAAO,EACL,yJAAyJ;IAC3J,MAAM,EAAE;;;;;;;;;EASR;IACA,KAAK,EAAE;;;;;;;EAOP;IACA,OAAO,EAAE;QACP,8RAA8R;QAC9R,kJAAkJ;QAClJ,sHAAsH;QACtH,2GAA2G;QAC3G,uJAAuJ;QACvJ,mYAAmY;KACpY;IACD,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,gBAAgB,GAAoB;IACxC,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EACL,2MAA2M;IAC7M,MAAM,EAAE;;;;;;;;;EASR;IACA,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BP;IACA,OAAO,EAAE;QACP,2JAA2J;QAC3J,uPAAuP;KACxP;IACD,eAAe,EAAE,CAAC,uBAAuB,CAAC;CAC3C,CAAC;AAEF,MAAM,OAAO,GAAoB;IAC/B,OAAO,EAAE,SAAS;IAClB,OAAO,EACL,0SAA0S;IAC5S,MAAM,EAAE;;;;;;mFAMyE;IACjF,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;EAqBP;IACA,OAAO,EAAE;QACP,6MAA6M;QAC7M,4JAA4J;QAC5J,kHAAkH;QAClH,4JAA4J;KAC7J;IACD,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,aAAa,GAAoB;IACrC,OAAO,EAAE,eAAe;IACxB,OAAO,EACL,siCAAsiC;IACxiC,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CA2CoC;IAC5C,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAuCqC;IAC5C,OAAO,EAAE;QACP,kQAAkQ;QAClQ,mXAAmX;QACnX,2SAA2S;QAC3S,0QAA0Q;QAC1Q,uOAAuO;QACvO,4PAA4P;QAC5P,sQAAsQ;KACvQ;IACD,eAAe,EAAE,CAAC,sBAAsB,EAAE,aAAa,EAAE,oBAAoB,CAAC;CAC/E,CAAC;AAEF,MAAM,aAAa,GAAoB;IACrC,OAAO,EAAE,eAAe;IACxB,OAAO,EACL,+XAA+X;IACjY,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEA0EsD;IAC9D,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CF;IACL,OAAO,EAAE;QACP,yfAAyf;QACzf,2lBAA2lB;QAC3lB,mdAAmd;QACnd,6ZAA6Z;QAC7Z,6QAA6Q;QAC7Q,0UAA0U;QAC1U,kPAAkP;QAClP,sPAAsP;QACtP,4NAA4N;QAC5N,sZAAsZ;KACvZ;IACD,eAAe,EAAE,CAAC,aAAa,CAAC;CACjC,CAAC;AAEF,0EAA0E;AAC1E,EAAE;AACF,sEAAsE;AACtE,mEAAmE;AACnE,+DAA+D;AAC/D,4DAA4D;AAC5D,mEAAmE;AACnE,wEAAwE;AACxE,yCAAyC;AAEzC,MAAM,oBAAoB,GAAoB;IAC5C,OAAO,EAAE,sBAAsB;IAC/B,OAAO,EACL,gTAAgT;IAClT,MAAM,EAAE;;;;;;;;;;;;;;;;;EAiBR;IACA,KAAK,EAAE;;;;;;;;;;;;;;;;EAgBP;IACA,OAAO,EAAE;QACP,okBAAokB;QACpkB,2TAA2T;QAC3T,yjBAAyjB;QACzjB,0QAA0Q;KAC3Q;IACD,eAAe,EAAE,CAAC,yBAAyB,CAAC;CAC7C,CAAC;AAEF,MAAM,mBAAmB,GAAoB;IAC3C,OAAO,EAAE,qBAAqB;IAC9B,OAAO,EACL,uUAAuU;IACzU,MAAM,EAAE;;;;;;;;;;;;;;EAcR;IACA,KAAK,EAAE;;;;;;;;;;;;EAYP;IACA,OAAO,EAAE;QACP,4QAA4Q;QAC5Q,gPAAgP;QAChP,qVAAqV;QACrV,yRAAyR;KAC1R;IACD,eAAe,EAAE,CAAC,yBAAyB,CAAC;CAC7C,CAAC;AAEF,MAAM,kBAAkB,GAAoB;IAC1C,OAAO,EAAE,oBAAoB;IAC7B,OAAO,EACL,sVAAsV;IACxV,MAAM,EAAE;;;;;;;;;;;;;;;+CAeqC;IAC7C,KAAK,EAAE;;;;;;;;;;;;;;mDAc0C;IACjD,OAAO,EAAE;QACP,8TAA8T;QAC9T,uQAAuQ;QACvQ,4WAA4W;QAC5W,oPAAoP;KACrP;IACD,eAAe,EAAE,CAAC,yBAAyB,CAAC;CAC7C,CAAC;AAEF,MAAM,wBAAwB,GAAoB;IAChD,OAAO,EAAE,0BAA0B;IACnC,OAAO,EACL,yVAAyV;IAC3V,MAAM,EAAE;;;;;;;;;;;;;;;;;EAiBR;IACA,KAAK,EAAE;;;;;;;;;;;;;;;;EAgBP;IACA,OAAO,EAAE;QACP,6TAA6T;QAC7T,yQAAyQ;QACzQ,uVAAuV;QACvV,uOAAuO;QACvO,2ZAA2Z;KAC5Z;IACD,eAAe,EAAE,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;CAC/D,CAAC;AAEF,MAAM,oBAAoB,GAAoB;IAC5C,OAAO,EAAE,sBAAsB;IAC/B,OAAO,EACL,gcAAgc;IAClc,MAAM,EAAE;;;;;;;;EAQR;IACA,KAAK,EAAE;;;;;;;;EAQP;IACA,OAAO,EAAE;QACP,gqBAAgqB;QAChqB,sXAAsX;QACtX,sQAAsQ;QACtQ,gQAAgQ;KACjQ;IACD,eAAe,EAAE,CAAC,yBAAyB,CAAC;CAC7C,CAAC;AAEF,yEAAyE;AAEzE,MAAM,iBAAiB,GAAoB;IACzC,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EACL,wvBAAwvB;IAC1vB,MAAM,EAAE;;;;;;;;;;;;;;;EAeR;IACA,KAAK,EAAE;;;;;;;;;;;;;;;;;;;EAmBP;IACA,OAAO,EAAE;QACP,+TAA+T;QAC/T,yTAAyT;QACzT,gaAAga;QACha,8fAA8f;QAC9f,mVAAmV;QACnV,qhBAAqhB;QACrhB,2jBAA2jB;QAC3jB,6sFAA6sF;KAC9sF;IACD,eAAe,EAAE,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;CACxE,CAAC;AAEF,MAAM,eAAe,GAAoB;IACvC,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EACL,0XAA0X;IAC5X,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;6DAsBmD;IAC3D,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;yEAoBgE;IACvE,OAAO,EAAE;QACP,0VAA0V;QAC1V,2RAA2R;QAC3R,gcAAgc;QAChc,sWAAsW;QACtW,qNAAqN;KACtN;IACD,eAAe,EAAE,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;CACxE,CAAC;AAEF,MAAM,cAAc,GAAoB;IACtC,OAAO,EAAE,gBAAgB;IACzB,OAAO,EACL,0sBAA0sB;IAC5sB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCR;IACA,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCP;IACA,OAAO,EAAE;QACP,ulBAAulB;QACvlB,yaAAya;QACza,+XAA+X;QAC/X,scAAsc;QACtc,yWAAyW;QACzW,6YAA6Y;KAC9Y;IACD,eAAe,EAAE,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;CACxE,CAAC;AAEF,MAAM,yBAAyB,GAAoB;IACjD,OAAO,EAAE,2BAA2B;IACpC,OAAO,EACL,w3BAAw3B;IAC13B,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDAqC+C;IACvD,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDAgCgD;IACvD,OAAO,EAAE;QACP,4zBAA4zB;QAC5zB,wZAAwZ;QACxZ,wWAAwW;QACxW,iWAAiW;QACjW,uWAAuW;QACvW,uaAAua;QACva,uMAAuM;QACvM,qPAAqP;KACtP;IACD,eAAe,EAAE,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;CACxE,CAAC;AAEF,MAAM,gBAAgB,GAAoB;IACxC,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EACL,4yBAA4yB;IAC9yB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6FAuDmF;IAC3F,KAAK,EAAE;;;;;;;;;EASP;IACA,OAAO,EAAE;QACP,qoBAAqoB;QACroB,yVAAyV;QACzV,+dAA+d;QAC/d,mbAAmb;QACnb,ibAAib;QACjb,yTAAyT;QACzT,2bAA2b;QAC3b,0cAA0c;QAC1c,kpBAAkpB;QAClpB,6fAA6f;KAC9f;IACD,eAAe,EAAE,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;CACxE,CAAC;AAEF,MAAM,yBAAyB,GAAoB;IACjD,OAAO,EAAE,2BAA2B;IACpC,OAAO,EACL,wkBAAwkB;IAC1kB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAwHW;IACnB,KAAK,EAAE;gEACuD;IAC9D,OAAO,EAAE;QACP,wgBAAwgB;QACxgB,4aAA4a;QAC5a,mUAAmU;QACnU,gZAAgZ;QAChZ,2ZAA2Z;QAC3Z,syBAAsyB;QACtyB,8lBAA8lB;QAC9lB,0ZAA0Z;QAC1Z,6aAA6a;QAC7a,wQAAwQ;QACxQ,2ZAA2Z;KAC5Z;IACD,eAAe,EAAE,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;CACxE,CAAC;AAEF,8EAA8E;AAC9E,+EAA+E;AAC/E,kCAAkC;AAClC,MAAM,OAAO,GAAoB;IAC/B,OAAO,EAAE,SAAS;IAClB,OAAO,EACL,g/BAAg/B;IACl/B,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEA+CyD;IACjE,KAAK,EAAE;;;;;;;;;;;;;;kEAcyD;IAChE,OAAO,EAAE;QACP,ydAAyd;QACzd,2hBAA2hB;QAC3hB,4QAA4Q;QAC5Q,glBAAglB;QAChlB,4cAA4c;QAC5c,oLAAoL;QACpL,oxBAAoxB;QACpxB,26BAA26B;QAC36B,g5BAAg5B;QACh5B,+7BAA+7B;QAC/7B,+0CAA+0C;QAC/0C,mrCAAmrC;QACnrC,wcAAwc;QACxc,mgBAAmgB;QACngB,oLAAoL;KACrL;IACD,eAAe,EAAE,CAAC,uBAAuB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,QAAQ;IACjB,OAAO,EACL,yQAAyQ;IAC3Q,MAAM,EAAE;;;;;;yEAM+D;IACvE,KAAK,EAAE;;;;+EAIsE;IAC7E,OAAO,EAAE;QACP,yNAAyN;QACzN,mHAAmH;QACnH,gMAAgM;QAChM,+LAA+L;QAC/L,0FAA0F;KAC3F;IACD,eAAe,EAAE,CAAC,gBAAgB,CAAC;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAoC;IAChE,aAAa,EAAE,aAAa;IAC5B,aAAa,EAAE,aAAa;IAC5B,YAAY,EAAE,YAAY;IAC1B,yBAAyB,EAAE,yBAAyB;IACpD,KAAK,EAAE,gBAAgB;IACvB,YAAY,EAAE,gBAAgB;IAC9B,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,YAAY;IAC1B,YAAY,EAAE,YAAY;IAC1B,gBAAgB,EAAE,gBAAgB;IAClC,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,aAAa;IAC5B,qEAAqE;IACrE,iBAAiB,EAAE,iBAAiB;IACpC,eAAe,EAAE,eAAe;IAChC,cAAc,EAAE,cAAc;IAC9B,yBAAyB,EAAE,yBAAyB;IACpD,gBAAgB,EAAE,gBAAgB;IAClC,yBAAyB,EAAE,yBAAyB;IACpD,kEAAkE;IAClE,yDAAyD;IACzD,oBAAoB,EAAE,oBAAoB;IAC1C,oBAAoB,EAAE,oBAAoB;IAC1C,mBAAmB,EAAE,mBAAmB;IACxC,kBAAkB,EAAE,kBAAkB;IACtC,wBAAwB,EAAE,wBAAwB;IAClD,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"capabilityPatterns.js","sourceRoot":"","sources":["../../../src/tools/data/capabilityPatterns.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,8 @@
13
13
  import { VERSION_INFO } from "./version.js";
14
14
  const VOICE_QA_ASSISTANT = {
15
15
  pattern: "voice_qa_assistant",
16
- title: "Voice Q&A assistant — LEGACY manual composition (use conversation_agent_loop for new apps)",
17
- description: "**Legacy pattern — for new voice-assistant work use `conversation_agent_loop` (Phase 3 `glasses.conversation` runtime).** This is the original manual composition: `glasses.voice.onPhrase` for wake matching, `glasses.audio.recordDiscrete` for one-shot question capture with silence-VAD, customer-side `AnthropicClient` for the LLM call, `glasses.audio.speak` for TTS. Multi-turn loop optional. The flow was the F21 / F23 friction-log resolution — the single use case that motivated the pure-SDK pivot — and it stays shipped for apps that need fine-grained control over each step (custom STT engine, custom turn-finalization, alternative LLM provider not on OpenAI). For the canonical \"wake + ask + AI responds\" pattern in greenfield apps, the Phase 3 `glasses.conversation.onWake { listen() / speak() / ai.complete() }` API composes all four pieces (VAD + STT + Smart Turn EOU + TTS + BYOK LLM) in one block — see `getCodeExample(pattern: 'conversation_agent_loop')`.",
16
+ title: "Voice Q&A assistant — LEGACY manual composition (use assistant_agent_loop for new apps)",
17
+ description: "**Legacy pattern — for new voice-assistant work use `assistant_agent_loop` (Phase 4 `glasses.assistant` runtime).** This is the original manual composition: `glasses.voice.onPhrase` for wake matching, `glasses.audio.recordDiscrete` for one-shot question capture with silence-VAD, customer-side `AnthropicClient` for the LLM call, `glasses.audio.speak` for TTS. Multi-turn loop optional. The flow was the F21 / F23 friction-log resolution — the single use case that motivated the pure-SDK pivot — and it stays shipped for apps that need fine-grained control over each step (custom STT engine, custom turn-finalization, alternative LLM provider not on OpenAI). For the canonical \"wake + ask + AI responds\" pattern in greenfield apps, use the Phase-4 assistant runtime — see `getCodeExample(pattern: 'assistant_agent_loop')`.",
18
18
  code: {
19
19
  kotlin: `import com.extentos.glasses.core.AudioRecordConfig
20
20
  import com.extentos.glasses.core.ExtentosGlasses
@@ -175,7 +175,7 @@ class CoachHandler(
175
175
  const BARGE_IN_SPEAK = {
176
176
  pattern: "barge_in_speak",
177
177
  title: "Barge-in: cancel TTS when user starts speaking",
178
- description: "The user interrupts the AI mid-response by talking. The AI shuts up immediately and listens. This is the F24 friction-log resolution; needs glasses.audio.cancelSpeak() which lands with this commit. **Phase 3 conversation runtime** ships `cancelSpeak()` as the cancel mechanism (see `getCapabilityGuide(feature: 'conversation_speak')`), but the v1 trigger is still shell-side — this pattern (subscribe to transcriptions, call cancelSpeak on detected speech) is the canonical v1 manual-trigger implementation regardless of which speak() surface you use. v1.1 will add an auto-VAD watchdog inside `glasses.conversation`'s speak() honoring the manifest's `bargeIn: true` knob, removing the need for the manual subscription.",
178
+ description: "The user interrupts the AI mid-response by talking. The AI shuts up immediately and listens. This is the F24 friction-log resolution; needs glasses.audio.cancelSpeak() which lands with this commit. The Phase-4 assistant runtime has barge-in built in (server VAD + `session.cancelSpeak()`); this manual pattern (subscribe to transcriptions, call cancelSpeak on detected speech) stays canonical for non-assistant apps composing raw primitives.",
179
179
  code: {
180
180
  kotlin: `import com.extentos.glasses.core.ExtentosGlasses
181
181
  import com.extentos.glasses.core.Transcript
@@ -250,7 +250,7 @@ enum BargeOutcome {
250
250
  const PHOTO_DESCRIBE_VOICE = {
251
251
  pattern: "photo_describe_voice",
252
252
  title: "Voice-activated photo + vision-LLM description",
253
- description: "User says 'describe what you see', glasses capture a photo, customer's vision LLM (Anthropic Claude Vision / OpenAI GPT-4V / Gemini) describes it, AI speaks the description. The canonical 'AI vision on glasses' demo. **Phase 3 conversation runtime** doesn't cover vision in v1 `glasses.ai.complete(prompt)` is text-only. For Phase 3 apps that want voice + vision, use `glasses.conversation.onWake { ... }` for the wake + listen + speak portion, then call `glasses.camera.capturePhoto()` + your vision-LLM client (`BYOK_ANTHROPIC.describe()` or equivalent) inside the handler. The legacy `voice.onPhrase` pattern shown here works identically for vision flows; pick based on whether you want Phase 3's structured-concurrency handler shape or the legacy manual composition.",
253
+ description: "User says 'describe what you see', glasses capture a photo, customer's vision LLM (Anthropic Claude Vision / OpenAI GPT-4V / Gemini) describes it, AI speaks the description. The canonical 'AI vision on glasses' demo. The Phase-4 assistant runtime covers vision natively via `session.includeImage(uri, prompt)` prefer it for assistant apps. This manual pattern stays canonical for non-assistant flows or when you want a specific vision provider (`BYOK_ANTHROPIC.describe()` for Claude Vision).",
254
254
  code: {
255
255
  kotlin: `import com.extentos.glasses.core.ExtentosGlasses
256
256
  import com.extentos.glasses.core.PhotoConfig
@@ -381,7 +381,7 @@ class VisionHandler(
381
381
  const LIVE_TRANSCRIPTION_UI = {
382
382
  pattern: "live_transcription_ui",
383
383
  title: "Live transcription feeding into your app's UI",
384
- description: "Continuous transcripts from the glasses mic, surfaced as live captions in your existing Compose / SwiftUI state. The canonical 'live captions' / meeting-notes / translation-app shape. **Phase 3 conversation runtime** doesn't expose mid-utterance partials — `listen()` resolves once per Turn with the coalesced final text, not incrementally. For live-caption / meeting-notes / translation UIs that surface text as the user speaks (before they finish a turn), this pattern (subscribing directly to `glasses.audio.transcriptions()` and reading both Partial + Final events) stays canonical. Use the Phase 3 runtime when you want one-shot per-turn AI response; use this pattern when you want a streaming caption feed.",
384
+ description: "Continuous transcripts from the glasses mic, surfaced as live captions in your existing Compose / SwiftUI state. The canonical 'live captions' / meeting-notes / translation-app shape. The assistant runtime doesn't hand your code mid-utterance partials — for live-caption / meeting-notes / translation UIs that surface text as the user speaks, this pattern (subscribing directly to `glasses.audio.transcriptions()` and reading both Partial + Final events) is canonical.",
385
385
  code: {
386
386
  kotlin: `import com.extentos.glasses.core.ExtentosGlasses
387
387
  import com.extentos.glasses.core.Transcript
@@ -450,7 +450,7 @@ final class TranscriptionViewModel: ObservableObject {
450
450
  const VOICE_NOTES = {
451
451
  pattern: "voice_notes",
452
452
  title: "Voice note (wake + record + persist)",
453
- description: "'Take a note' style flow: wake phrase → record_audio with silence-VAD → save the transcript to the customer's notes repository (Notion, Supabase, filesystem, etc.). **Phase 3 conversation runtime** owns the audio buffer internally and only returns a transcribed `Turn.Said { text }` from `listen()` — there's no way to extract the underlying raw audio bytes for persistence (e.g. uploading the .wav alongside the transcript to a cloud notes service). This pattern uses `glasses.audio.recordDiscrete()`, which returns `AudioRecording { transcript, audioDurationMs, rawAudioUri }` (NOT a `Turn.Said` — that is the Phase-3 `listen()` shape); `rawAudioUri` is nullable (populated on real hardware / LocalSim, null in the browser sim) and holds the raw .wav for persistence. For text-only notes (just the transcript), you could rewrite this against `glasses.conversation.onWake { val t = listen(); savedRepo.append(t.text) }` — simpler but loses the audio backup.",
453
+ description: "'Take a note' style flow: wake phrase → record_audio with silence-VAD → save the transcript to the customer's notes repository (Notion, Supabase, filesystem, etc.). This pattern uses `glasses.audio.recordDiscrete()`, which returns `AudioRecording { transcript, audioDurationMs, rawAudioUri }`; `rawAudioUri` is nullable (populated on real hardware / LocalSim, null in the browser sim) and holds the raw .wav for persistence. For a tool-driven voice-notes assistant instead of manual wiring, see `getCodeExample(pattern: 'assistant_agent_loop')`.",
454
454
  code: {
455
455
  kotlin: `import com.extentos.glasses.core.AudioRecordConfig
456
456
  import com.extentos.glasses.core.ExtentosGlasses
@@ -612,7 +612,7 @@ struct ContentView: View {
612
612
  const BYOK_ANTHROPIC = {
613
613
  pattern: "byok_anthropic",
614
614
  title: "BYOK Anthropic Claude API client (text + Vision, OkHttp / URLSession, with retry + observability)",
615
- description: "Minimal AnthropicClient that the legacy `voice_qa_assistant` + `photo_describe_voice` patterns reference. Two methods: `ask(question, history, system)` for text-only Q&A — the `system` parameter is Anthropic's system-prompt slot, where you feed grounding context (a flattened representation of your app's data, today's date, role instructions) so the AI's answers derive from real records rather than generic prose — and `describe(imageBase64, mediaType, prompt, system)` for Claude Vision (image content blocks). There is no first-party Anthropic Kotlin SDK; this is the canonical OkHttp + kotlinx.serialization wrapper around POST /v1/messages. iOS uses URLSession + Codable. Returns LlmResult (Ok / KeyMissing / KeyRejected / Connectivity / Transient / ClientBug / Empty) — distinct failure variants for distinct user-facing remediations. Built-in retry-with-backoff (200ms / 800ms / 3.2s, 3 attempts) for Transient (429 + 5xx) and Connectivity (IOException) failures so most upstream blips never reach the caller. Optional `observability: glasses.observability` wiring — pass it and every call surfaces under getEventLog's 'ai' filter chip. Paste, then wire the API key through resValue (Android) / Info.plist (iOS) per getCredentialGuide. F-R5-01 — ask() exposes `system` so voice_qa_assistant composes against this client unchanged. **For the Phase 3 `glasses.conversation` runtime, you don't need this client** — `glasses.ai.complete(prompt)` ships a built-in OpenAI BYOK path (key flows direct to OpenAI, no Extentos proxy). The conversation_agent_loop pattern uses `glasses.ai.setOpenaiApiKey` + `complete` instead of a hand-rolled HTTP client. Use this BYOK_ANTHROPIC pattern when you need Anthropic specifically (different cost/quality profile, Claude Vision for images), the legacy `voice_qa_assistant` flow, or when wiring vision flows that Phase 3's `glasses.ai` doesn't yet cover (vision is post-v1).",
615
+ description: "Minimal AnthropicClient that the legacy `voice_qa_assistant` + `photo_describe_voice` patterns reference. Two methods: `ask(question, history, system)` for text-only Q&A — the `system` parameter is Anthropic's system-prompt slot, where you feed grounding context (a flattened representation of your app's data, today's date, role instructions) so the AI's answers derive from real records rather than generic prose — and `describe(imageBase64, mediaType, prompt, system)` for Claude Vision (image content blocks). There is no first-party Anthropic Kotlin SDK; this is the canonical OkHttp + kotlinx.serialization wrapper around POST /v1/messages. iOS uses URLSession + Codable. Returns LlmResult (Ok / KeyMissing / KeyRejected / Connectivity / Transient / ClientBug / Empty) — distinct failure variants for distinct user-facing remediations. Built-in retry-with-backoff (200ms / 800ms / 3.2s, 3 attempts) for Transient (429 + 5xx) and Connectivity (IOException) failures so most upstream blips never reach the caller. Optional `observability: glasses.observability` wiring — pass it and every call surfaces under getEventLog's 'ai' filter chip. Paste, then wire the API key through resValue (Android) / Info.plist (iOS) per getCredentialGuide. F-R5-01 — ask() exposes `system` so voice_qa_assistant composes against this client unchanged. Use this BYOK_ANTHROPIC pattern when you need Anthropic specifically (different cost/quality profile, Claude Vision for images) or the legacy `voice_qa_assistant` flow. (Assistant apps don't need a client like this the Phase-4 managed gateway owns the model connection.)",
616
616
  code: {
617
617
  kotlin: `import com.extentos.glasses.core.ObservabilityClient
618
618
  import java.io.IOException
@@ -1604,8 +1604,8 @@ The agent reads each \`speak\` event's \`details.text\` — that is what the app
1604
1604
  };
1605
1605
  const CONVERSATION_AGENT_LOOP = {
1606
1606
  pattern: "conversation_agent_loop",
1607
- title: "LEGACY Phase 3 conversation runtime (DEPRECATED in v1.4.0; removed in v2.0.0 use assistant_agent_loop for new apps)",
1608
- description: "**LEGACY — DEPRECATED in v1.4.0; removed entirely in v2.0.0.** For new voice-assistant work use `assistant_agent_loop` (Phase 4 `glasses.assistant.start { tool(...) { ... } }`). The Phase 4 customer surface drops ~60% LoC vs this pattern, ships zero on-device ML (no ONNX models to bundle), and lets the model decide which tool to call instead of the customer hand-writing `when (turn.text)` keyword routing. This Phase 3 pattern stays in the catalog for the v1.4.0 → v2.0.0 migration window (3-month deprecation period) existing apps continue to work unchanged. See `searchDocs(topic:'assistant_runtime')` migration section for the side-by-side Phase 3 → Phase 4 walkthrough. The Phase 3 `glasses.conversation.onWake { listen() / speak() / ai.complete() }` API composes VAD + STT + Smart Turn + TTS + BYOK LLM in the shared Rust core; the agent loop here drives wake + follow-up utterances via `injectTranscript` and asserts symmetric `conversation.*` event pairs.",
1607
+ title: "LEGACY Phase 3 conversation runtime (REMOVED on Android in 1.4.0 historical reference; use assistant_agent_loop)",
1608
+ description: "**LEGACY — REMOVED on Android in 1.4.0 (`glasses.conversation` / `glasses.ai` no longer exist there; the iOS port is unpublished).** For new voice-assistant work use `assistant_agent_loop` (Phase 4 `glasses.assistant.start { tool(...) { ... } }`). The Phase 4 customer surface drops ~60% LoC vs this pattern, ships zero on-device ML (no ONNX models to bundle), and lets the model decide which tool to call instead of the customer hand-writing `when (turn.text)` keyword routing. This Phase 3 pattern stays in the catalog as historical migration reference only the snippets do not compile against Android 1.4.0. See `searchDocs(topic:'assistant_runtime')` migration section for the side-by-side Phase 3 → Phase 4 walkthrough. The Phase 3 `glasses.conversation.onWake { listen() / speak() / ai.complete() }` API composes VAD + STT + Smart Turn + TTS + BYOK LLM in the shared Rust core; the agent loop here drives wake + follow-up utterances via `injectTranscript` and asserts symmetric `conversation.*` event pairs.",
1609
1609
  code: {
1610
1610
  kotlin: `// ── Application bootstrap (do once, typically in Application.onCreate
1611
1611
  // after RECORD_AUDIO is granted) ────────────────────────────────────
@@ -1904,7 +1904,7 @@ browser side-by-side with this agent loop and watch the panel react.`,
1904
1904
  const ASSISTANT_AGENT_LOOP = {
1905
1905
  pattern: "assistant_agent_loop",
1906
1906
  title: "Phase 4 assistant runtime + agent-driven E2E loop (canonical voice-AI for new apps)",
1907
- description: "**Canonical Phase 4 voice-AI pattern. Start here for any new voice assistant work on Extentos.** The customer code is one block: `glasses.assistant.start(provider) { tool(name, description) { body -> ToolResult } }`. The model owns wake detection, turn taking, intent parsing, and confirmation speech — the customer only writes tool bodies that act on the app's own state (route data, app DB, camera, library). Provider abstraction wraps OpenAI Realtime in v1; Gemini Live follows. **As of iter5.2 (2026-05-27) `injectAssistantUtterance(text)` drives BOTH the Mock provider AND the real OpenAi Realtime provider** — same MCP call, same code, real model reasoning when you want it. **For the dedicated agent-driven test workflow (4-channel verification: getEventLog + adb logcat + screencap + library-state), see `getCodeExample(pattern:\"agent_driven_e2e_full_loop\")`.** This pattern stays focused on the handler-side code. **Replaces `conversation_agent_loop` (Phase 3 cascaded VAD+STT+SmartTurn+TTS+LLM) which is deprecated in v1.4.0 and removed in v2.0.0.** Customer code typically drops ~60% LoC vs Phase 3.",
1907
+ description: "**Canonical Phase 4 voice-AI pattern. Start here for any new voice assistant work on Extentos.** The customer code is one block: `glasses.assistant.start(provider) { tool(name, description) { body -> ToolResult } }`. The model owns wake detection, turn taking, intent parsing, and confirmation speech — the customer only writes tool bodies that act on the app's own state (route data, app DB, camera, library). Provider abstraction wraps OpenAI Realtime in v1; Gemini Live follows. **As of iter5.2 (2026-05-27) `injectAssistantUtterance(text)` drives BOTH the Mock provider AND the real OpenAi Realtime provider** — same MCP call, same code, real model reasoning when you want it. **For the dedicated agent-driven test workflow (4-channel verification: getEventLog + adb logcat + screencap + library-state), see `getCodeExample(pattern:\"agent_driven_e2e_full_loop\")`.** This pattern stays focused on the handler-side code. **Replaces `conversation_agent_loop` (Phase 3 cascaded VAD+STT+SmartTurn+TTS+LLM) which was removed on Android in 1.4.0.** Customer code typically drops ~60% LoC vs Phase 3.",
1908
1908
  code: {
1909
1909
  kotlin: `// ── App bootstrap ───────────────────────────────────────────────────
1910
1910
  // Run once during app startup, after RECORD_AUDIO is granted. The
@@ -1 +1 @@
1
- {"version":3,"file":"codeExamples.js","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeExamples.js","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"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"}
@@ -4,18 +4,6 @@ export declare const DAT_SDK_VERSION: {
4
4
  };
5
5
  export declare const VERSION_INFO: {
6
6
  latestStable: string;
7
- phase4Preview: {
8
- version: string;
9
- android: {
10
- coordinate: string;
11
- ui: string;
12
- repository: string;
13
- note: string;
14
- };
15
- ios: {
16
- note: string;
17
- };
18
- };
19
7
  specVersion: string;
20
8
  android: {
21
9
  minimumSdk: number;
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/tools/data/version.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FxB,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/tools/data/version.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ExB,CAAC"}
@@ -7,7 +7,7 @@
7
7
  // 0.0.7+ server-side smarts that needed 1.1.x to function.
8
8
  //
9
9
  // The Android library is published to Maven Central — com.extentos:glasses
10
- // + glasses-ui at 1.3.0 (2026-05-24) — so consumers resolve it from the
10
+ // + glasses-ui at 1.4.0 (2026-07-02) — so consumers resolve it from the
11
11
  // default mavenCentral() repo with no workaround. The current voice-AI
12
12
  // surface is the Phase 4 assistant runtime (`glasses.assistant.start(provider)
13
13
  // { tool(...) { ... } }` — the model owns wake/turn-taking/intent). The
@@ -26,24 +26,12 @@ export const DAT_SDK_VERSION = {
26
26
  ios: "0.6.0",
27
27
  };
28
28
  export const VERSION_INFO = {
29
- latestStable: "1.3.0",
30
- // F1 (iteration-2 fix): Phase 4 assistant.* API surface ships in 1.4.0+
31
- // but Maven Central publish is gated on the real-hardware validation
32
- // spike (see shared-context/real-hardware-validation-backlog.md C1).
33
- // Customer-agents writing greenfield voice-AI apps need 1.4.0+ today —
34
- // surface the snapshot path explicitly so they don't bounce off F1.
35
- phase4Preview: {
36
- version: "1.4.0-phase4-dogfood",
37
- android: {
38
- coordinate: "com.extentos:glasses:1.4.0-phase4-dogfood",
39
- ui: "com.extentos:glasses-ui:1.4.0-phase4-dogfood",
40
- repository: "mavenLocal()",
41
- note: "Phase 4 (glasses.assistant.* — wake/sleep state machine, session.say(), endOnIntent, barge-in) requires this snapshot. Add `mavenLocal()` to settings.gradle.kts repositoriesMode FIRST so it resolves before Maven Central. Snapshot will graduate to Maven Central as 1.4.0 once the real-hardware-validation gate clears. Until then any consumer must have the snapshot in their local ~/.m2 (built from the vibe-hardware repo).",
42
- },
43
- ios: {
44
- note: "iOS Phase 4 parity is in flight (cross-platform iteration). Track in shared-context/real-hardware-validation-backlog.md B1.",
45
- },
46
- },
29
+ // 1.4.0 (2026-07-02): the Phase-4 assistant runtime (glasses.assistant.*)
30
+ // graduated to the stable Maven Central release. The former phase4Preview
31
+ // block (1.4.0-phase4-dogfood via mavenLocal) is retired pre-release
32
+ // handling in generateConnectionModule / validateIntegration keys on the
33
+ // version-string suffix, not on a field here.
34
+ latestStable: "1.4.0",
47
35
  specVersion: "1.0",
48
36
  android: {
49
37
  minimumSdk: 31,
@@ -86,8 +74,8 @@ export const VERSION_INFO = {
86
74
  datSdkVersion: DAT_SDK_VERSION,
87
75
  artifacts: {
88
76
  android: {
89
- core: "com.extentos:glasses:1.3.0",
90
- ui: "com.extentos:glasses-ui:1.3.0",
77
+ core: "com.extentos:glasses:1.4.0",
78
+ ui: "com.extentos:glasses-ui:1.4.0",
91
79
  // glasses-debug is NOT yet a real Android module. iOS has a `GlassesDebug`
92
80
  // product in the Swift package (see ios.products below), but the Android
93
81
  // equivalent was never scaffolded into `android-library/settings.gradle.kts`
@@ -108,7 +96,7 @@ export const VERSION_INFO = {
108
96
  // look resolvable when no such release exists.
109
97
  version: "unpublished",
110
98
  published: false,
111
- versionNote: "iOS Swift package is not yet published. When it ships from github.com/extentos/swift-glasses it will version-lock to the Android line (currently 1.3.0). Do not add a SwiftPM dependency on a tag that does not exist yet.",
99
+ versionNote: "iOS Swift package is not yet published. When it ships from github.com/extentos/swift-glasses it will version-lock to the Android line (currently 1.4.0). Do not add a SwiftPM dependency on a tag that does not exist yet.",
112
100
  products: ["GlassesCore", "GlassesUI", "GlassesDebug", "GlassesLifecycle", "GlassesTesting"],
113
101
  },
114
102
  },
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/tools/data/version.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,0EAA0E;AAC1E,uEAAuE;AACvE,qEAAqE;AACrE,oEAAoE;AACpE,qEAAqE;AACrE,2DAA2D;AAC3D,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,uEAAuE;AACvE,+EAA+E;AAC/E,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,4EAA4E;AAC5E,sCAAsC;AACtC,+EAA+E;AAC/E,4EAA4E;AAC5E,qEAAqE;AACrE,yEAAyE;AACzE,wEAAwE;AACxE,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,OAAO;IAChB,GAAG,EAAE,OAAO;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,YAAY,EAAE,OAAO;IACrB,wEAAwE;IACxE,qEAAqE;IACrE,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,aAAa,EAAE;QACb,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE;YACP,UAAU,EAAE,2CAA2C;YACvD,EAAE,EAAE,8CAA8C;YAClD,UAAU,EAAE,cAAc;YAC1B,IAAI,EACF,uaAAua;SAC1a;QACD,GAAG,EAAE;YACH,IAAI,EAAE,6HAA6H;SACpI;KACF;IACD,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE;QACP,UAAU,EAAE,EAAE;QACd,yEAAyE;QACzE,wEAAwE;QACxE,qEAAqE;QACrE,kEAAkE;QAClE,yFAAyF;QACzF,oEAAoE;QACpE,gEAAgE;QAChE,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,aAAa,EACX,wPAAwP;QAC1P,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,yEAAyE;QACzE,uDAAuD;QACvD,aAAa,EAAE,QAAQ;QACvB,wEAAwE;QACxE,oCAAoC;QACpC,qEAAqE;QACrE,iDAAiD;QACjD,gEAAgE;QAChE,8EAA8E;QAC9E,2EAA2E;QAC3E,qDAAqD;QACrD,iBAAiB,EAAE,OAAO;QAC1B,oBAAoB,EAAE,KAAK;KAC5B;IACD,GAAG,EAAE;QACH,uBAAuB,EAAE,MAAM;QAC/B,YAAY,EAAE,KAAK;QACnB,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,+DAA+D;QAC/D,mBAAmB,EAAE,MAAM;KAC5B;IACD,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE;QACT,OAAO,EAAE;YACP,IAAI,EAAE,4BAA4B;YAClC,EAAE,EAAE,+BAA+B;YACnC,2EAA2E;YAC3E,yEAAyE;YACzE,6EAA6E;YAC7E,0EAA0E;YAC1E,4EAA4E;YAC5E,uEAAuE;YACvE,wEAAwE;YACxE,2EAA2E;YAC3E,uEAAuE;SACxE;QACD,GAAG,EAAE;YACH,OAAO,EAAE,2CAA2C;YACpD,iEAAiE;YACjE,qEAAqE;YACrE,sEAAsE;YACtE,uEAAuE;YACvE,0EAA0E;YAC1E,+CAA+C;YAC/C,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,KAAK;YAChB,WAAW,EACT,4NAA4N;YAC9N,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;SAC7F;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/tools/data/version.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,0EAA0E;AAC1E,uEAAuE;AACvE,qEAAqE;AACrE,oEAAoE;AACpE,qEAAqE;AACrE,2DAA2D;AAC3D,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,uEAAuE;AACvE,+EAA+E;AAC/E,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,4EAA4E;AAC5E,sCAAsC;AACtC,+EAA+E;AAC/E,4EAA4E;AAC5E,qEAAqE;AACrE,yEAAyE;AACzE,wEAAwE;AACxE,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,OAAO;IAChB,GAAG,EAAE,OAAO;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,yEAAyE;IACzE,8CAA8C;IAC9C,YAAY,EAAE,OAAO;IACrB,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE;QACP,UAAU,EAAE,EAAE;QACd,yEAAyE;QACzE,wEAAwE;QACxE,qEAAqE;QACrE,kEAAkE;QAClE,yFAAyF;QACzF,oEAAoE;QACpE,gEAAgE;QAChE,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,aAAa,EACX,wPAAwP;QAC1P,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,yEAAyE;QACzE,uDAAuD;QACvD,aAAa,EAAE,QAAQ;QACvB,wEAAwE;QACxE,oCAAoC;QACpC,qEAAqE;QACrE,iDAAiD;QACjD,gEAAgE;QAChE,8EAA8E;QAC9E,2EAA2E;QAC3E,qDAAqD;QACrD,iBAAiB,EAAE,OAAO;QAC1B,oBAAoB,EAAE,KAAK;KAC5B;IACD,GAAG,EAAE;QACH,uBAAuB,EAAE,MAAM;QAC/B,YAAY,EAAE,KAAK;QACnB,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,+DAA+D;QAC/D,mBAAmB,EAAE,MAAM;KAC5B;IACD,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE;QACT,OAAO,EAAE;YACP,IAAI,EAAE,4BAA4B;YAClC,EAAE,EAAE,+BAA+B;YACnC,2EAA2E;YAC3E,yEAAyE;YACzE,6EAA6E;YAC7E,0EAA0E;YAC1E,4EAA4E;YAC5E,uEAAuE;YACvE,wEAAwE;YACxE,2EAA2E;YAC3E,uEAAuE;SACxE;QACD,GAAG,EAAE;YACH,OAAO,EAAE,2CAA2C;YACpD,iEAAiE;YACjE,qEAAqE;YACrE,sEAAsE;YACtE,uEAAuE;YACvE,0EAA0E;YAC1E,+CAA+C;YAC/C,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,KAAK;YAChB,WAAW,EACT,4NAA4N;YAC9N,QAAQ,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;SAC7F;KACF;CACF,CAAC"}
@@ -23,7 +23,7 @@ export const toolDefinitions = [
23
23
  // --- 1. Discovery and Planning ---
24
24
  {
25
25
  name: "getPlatformInfo",
26
- description: "Return static platform metadata: library version + the list of SDK capabilities the glasses expose. **Phase 4 assistant runtime** (`glasses.assistant.start(provider) { tool(name, description) { body -> ToolResult } }`) is the canonical voice-assistant API — the model owns wake/turn-taking/intent/confirmation, the customer writes tool bodies that act on app state. The legacy Phase 3 conversation runtime (`glasses.conversation.onWake { listen() / speak() / ai.complete() }`) is DEPRECATED in v1.4.0; removed in v2.0.0. Lower-level primitives are still surfaced for fine-grained control (audio.transcriptions, audio.recordDiscrete, audio.speak, audio.audioChunks, camera.capturePhoto, camera.videoFrames, toggles, connection.state, …). The right first call for any new task — primes the agent on what primitives are available before writing handler code. **Default response is COMPACT** — capability names and categories only — keeping the typical first-call cost ~2KB. Per-feature call shape + idiom + gotchas comes from `getCapabilityGuide(feature)`; full compositional patterns (Phase 4 `assistant_agent_loop` for the canonical glasses.assistant.start loop; legacy `conversation_agent_loop` for Phase 3; `voice_qa_assistant` for the pre-Phase-3 manual composition) from `getCodeExample(pattern)`; conceptual docs from `searchDocs(topic: 'assistant_runtime')` for the Phase 4 surface, `searchDocs(topic: 'conversation_runtime')` for Phase 3, or `searchDocs(topic: 'voice_integration')` for the legacy primitives. Pass `expand: ['capabilities.full']` for the machine-readable catalog with params/payload/requires/constraints. **glasses is optional (F-R4-01)** — defaults to `meta_rayban` (the only currently supported vendor); pass it explicitly for forward compatibility once additional vendors land. USE at session start before scaffolding or writing handler code. DON'T USE for what's installed in the project (use inspectIntegration).",
26
+ description: "Return static platform metadata: library version + the list of SDK capabilities the glasses expose. **Phase 4 assistant runtime** (`glasses.assistant.start(provider) { tool(name, description) { body -> ToolResult } }`) is the canonical voice-assistant API — the model owns wake/turn-taking/intent/confirmation, the customer writes tool bodies that act on app state. The legacy Phase 3 conversation runtime (`glasses.conversation.onWake { listen() / speak() / ai.complete() }`) was REMOVED on Android in 1.4.0. Lower-level primitives are still surfaced for fine-grained control (audio.transcriptions, audio.recordDiscrete, audio.speak, audio.audioChunks, camera.capturePhoto, camera.videoFrames, toggles, connection.state, …). The right first call for any new task — primes the agent on what primitives are available before writing handler code. **Default response is COMPACT** — capability names and categories only — keeping the typical first-call cost ~2KB. Per-feature call shape + idiom + gotchas comes from `getCapabilityGuide(feature)`; full compositional patterns (Phase 4 `assistant_agent_loop` for the canonical glasses.assistant.start loop; legacy `conversation_agent_loop` for Phase 3; `voice_qa_assistant` for the pre-Phase-3 manual composition) from `getCodeExample(pattern)`; conceptual docs from `searchDocs(topic: 'assistant_runtime')` for the Phase 4 surface, `searchDocs(topic: 'conversation_runtime')` for Phase 3, or `searchDocs(topic: 'voice_integration')` for the legacy primitives. Pass `expand: ['capabilities.full']` for the machine-readable catalog with params/payload/requires/constraints. **glasses is optional (F-R4-01)** — defaults to `meta_rayban` (the only currently supported vendor); pass it explicitly for forward compatibility once additional vendors land. USE at session start before scaffolding or writing handler code. DON'T USE for what's installed in the project (use inspectIntegration).",
27
27
  inputSchema: {
28
28
  type: "object",
29
29
  properties: {
@@ -51,7 +51,7 @@ export const toolDefinitions = [
51
51
  // getPlatformInfo these are how a fresh agent learns to compose the SDK.
52
52
  {
53
53
  name: "getCodeExample",
54
- description: "Reference library — retrieve a complete SDK code example (Kotlin + Swift) for a use case. **For voice-assistant work on any new app, start with `assistant_agent_loop`** — the Phase 4 `glasses.assistant.start { tool(name, description) { body -> ToolResult } }` API where the model owns wake detection + turn taking + intent parsing + confirmation speech and the customer only writes tool bodies that act on app state. Provider abstraction wraps OpenAI Realtime in v1; Gemini Live in v1.5+. The example pairs the customer code with the agent-driven E2E loop (`injectAssistantUtterance` → `assertToolCalled`) that verifies it without humans. **For the dedicated agent-side test workflow** (explicit two-step wake, multi-tool sweep, four-channel verification: event log + adb logcat + screencap + library state; real-OpenAi capable since iter5.2): `agent_driven_e2e_full_loop`. For the glasses-display two-view navigation pattern (browse ⇄ detail on the Ray-Ban Display, Neural-Band select + assistant tools driving one state machine): `display_browse_detail`. Customer code typically drops ~60% LoC vs the legacy Phase 3 pattern. `conversation_agent_loop` is the LEGACY Phase 3 pattern (DEPRECATED in v1.4.0; removed in v2.0.0) — kept in the catalog during the migration window. Other patterns still ship for apps that need fine-grained control: voice_qa_assistant (manual `glasses.voice.onPhrase` wake + `glasses.audio.recordDiscrete` + customer-side AnthropicClient — the pre-Phase-3 composition), barge_in_speak (manual TTS cancel on user interrupt), photo_describe_voice (wake → photo → vision LLM → speak), live_transcription_ui (transcripts into Compose/SwiftUI state), voice_notes (wake → record → persist), connection_page_setup (the minimum bootstrap wiring), byok_anthropic (Anthropic BYOK client — used by voice_qa_assistant / photo_describe_voice; for the assistant runtime's OpenAI BYOK key see `getCredentialGuide(service: 'openai')`), agent_test_loop (the legacy three-surface verification recipe — for Phase 4 use agent_driven_e2e_full_loop). USE when you're about to write handler code and want the canonical shape to peel from, OR when you want the agent test driver that asserts the handler works end-to-end. DON'T USE for capability discovery (use getPlatformInfo) or per-feature minimal usage (use getCapabilityGuide).",
54
+ description: "Reference library — retrieve a complete SDK code example (Kotlin + Swift) for a use case. **For voice-assistant work on any new app, start with `assistant_agent_loop`** — the Phase 4 `glasses.assistant.start { tool(name, description) { body -> ToolResult } }` API where the model owns wake detection + turn taking + intent parsing + confirmation speech and the customer only writes tool bodies that act on app state. Provider abstraction wraps OpenAI Realtime in v1; Gemini Live in v1.5+. The example pairs the customer code with the agent-driven E2E loop (`injectAssistantUtterance` → `assertToolCalled`) that verifies it without humans. **For the dedicated agent-side test workflow** (explicit two-step wake, multi-tool sweep, four-channel verification: event log + adb logcat + screencap + library state; real-OpenAi capable since iter5.2): `agent_driven_e2e_full_loop`. For the glasses-display two-view navigation pattern (browse ⇄ detail on the Ray-Ban Display, Neural-Band select + assistant tools driving one state machine): `display_browse_detail`. Customer code typically drops ~60% LoC vs the legacy Phase 3 pattern. `conversation_agent_loop` is the LEGACY Phase 3 pattern (REMOVED on Android in 1.4.0) — kept in the catalog as historical migration reference. Other patterns still ship for apps that need fine-grained control: voice_qa_assistant (manual `glasses.voice.onPhrase` wake + `glasses.audio.recordDiscrete` + customer-side AnthropicClient — the pre-Phase-3 composition), barge_in_speak (manual TTS cancel on user interrupt), photo_describe_voice (wake → photo → vision LLM → speak), live_transcription_ui (transcripts into Compose/SwiftUI state), voice_notes (wake → record → persist), connection_page_setup (the minimum bootstrap wiring), byok_anthropic (Anthropic BYOK client — used by voice_qa_assistant / photo_describe_voice; for the assistant runtime's OpenAI BYOK key see `getCredentialGuide(service: 'openai')`), agent_test_loop (the legacy three-surface verification recipe — for Phase 4 use agent_driven_e2e_full_loop). USE when you're about to write handler code and want the canonical shape to peel from, OR when you want the agent test driver that asserts the handler works end-to-end. DON'T USE for capability discovery (use getPlatformInfo) or per-feature minimal usage (use getCapabilityGuide).",
55
55
  inputSchema: {
56
56
  type: "object",
57
57
  properties: {
@@ -74,7 +74,7 @@ export const toolDefinitions = [
74
74
  },
75
75
  {
76
76
  name: "getCapabilityGuide",
77
- description: "Per-feature SDK usage guide — minimal Kotlin + Swift snippet + gotchas + which getCodeExample patterns exercise the feature. Pairs with getPlatformInfo (which lists feature names and categories) by adding the actual idiom for using each feature. Covers: lower-level primitives (capture_photo / capture_video / record_audio / transcription_incremental / speak / video_frames / audio_chunks / connection_state / toggles / voice_command); the **Phase 4 assistant runtime** (assistant_runtime as the umbrella, assistant_start, assistant_tool, assistant_provider_openai) — the canonical voice-AI surface; and the **legacy Phase 3 conversation runtime** (conversation_runtime + conversation_on_wake / conversation_listen / conversation_speak / conversation_ai_complete) — DEPRECATED in v1.4.0 / REMOVED in v2.0.0, kept here for the migration window. For voice-assistant work on new apps, start with `assistant_runtime` for the overview then drill into the individual primitives. USE when you know which feature you need but don't know the canonical call shape, or when you're hitting a confusing failure (the gotchas typically cover it). DON'T USE for a complete compositional pattern (use getCodeExample) or for capability discovery (use getPlatformInfo).",
77
+ description: "Per-feature SDK usage guide — minimal Kotlin + Swift snippet + gotchas + which getCodeExample patterns exercise the feature. Pairs with getPlatformInfo (which lists feature names and categories) by adding the actual idiom for using each feature. Covers: lower-level primitives (capture_photo / capture_video / record_audio / transcription_incremental / speak / video_frames / audio_chunks / connection_state / toggles / voice_command); the **Phase 4 assistant runtime** (assistant_runtime as the umbrella, assistant_start, assistant_tool, assistant_provider_openai) — the canonical voice-AI surface; and the **legacy Phase 3 conversation runtime** (conversation_runtime + conversation_on_wake / conversation_listen / conversation_speak / conversation_ai_complete) — REMOVED on Android in 1.4.0, kept as historical migration reference. For voice-assistant work on new apps, start with `assistant_runtime` for the overview then drill into the individual primitives. USE when you know which feature you need but don't know the canonical call shape, or when you're hitting a confusing failure (the gotchas typically cover it). DON'T USE for a complete compositional pattern (use getCodeExample) or for capability discovery (use getPlatformInfo).",
78
78
  inputSchema: {
79
79
  type: "object",
80
80
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,iFAAiF;AACjF,uEAAuE;AACvE,6EAA6E;AAC7E,gFAAgF;AAChF,yEAAyE;AACzE,iFAAiF;AACjF,4EAA4E;AAC5E,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,yEAAyE;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACxF,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAkBnE,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;AAC3E,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;AACvE,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;AAEtF,MAAM,CAAC,MAAM,eAAe,GAAc;IACxC,oCAAoC;IACpC;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,s5DAAs5D;QACx5D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;oBAC5D,QAAQ,EAAE,CAAC;iBACZ;gBACD,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,uBAAuB,CAAC;qBAC/D;oBACD,WAAW,EACT,+PAA+P;iBAClQ;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;YACtB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,oCAAoC;IACpC,oEAAoE;IACpE,yEAAyE;IACzE;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,kyEAAkyE;QACpyE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,mEAAmE;oBACnE,kEAAkE;oBAClE,uEAAuE;oBACvE,2DAA2D;oBAC3D,qEAAqE;oBACrE,oEAAoE;oBACpE,6BAA6B;oBAC7B,IAAI,EAAE,qBAAqB;oBAC3B,WAAW,EACT,0IAA0I;iBAC7I;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,ouCAAouC;QACtuC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,8DAA8D;oBAC9D,gEAAgE;oBAChE,mEAAmE;oBACnE,gEAAgE;oBAChE,8DAA8D;oBAC9D,IAAI,EAAE,yBAAyB;oBAC/B,WAAW,EACT,kKAAkK;iBACrK;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IAED,kCAAkC;IAClC;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,8mDAA8mD;QAChnD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,WAAW;gBACpB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC5C,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,cAAc,EAAE,kBAAkB;gBAClC,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,iBAAiB;wBACjB,oBAAoB;wBACpB,YAAY;wBACZ,aAAa;wBACb,UAAU;qBACX;oBACD,WAAW,EACT,kKAAkK;iBACrK;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,6VAA6V;iBAChW;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,qnBAAqnB;iBACxnB;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC;YAC/C,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,slBAAslB;QACxlB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,6EAA6E;iBAC3F;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,gyBAAgyB;QAClyB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,qDAAqD;iBACnE;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mUAAmU;oBACrU,UAAU,EAAE;wBACV,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC/B;oBACD,oBAAoB,EAAE,IAAI;iBAC3B;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;YAClC,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,WAAW,EACT,ysBAAysB;QAC3sB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,qDAAqD;iBACnE;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;oBACxB,WAAW,EAAE,0FAA0F;iBACxG;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,+HAA+H;iBAC7I;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,sxBAAsxB;QACxxB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,qDAAqD;iBACnE;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;oBACxB,WAAW,EAAE,gDAAgD;iBAC9D;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,yGAAyG;iBACvH;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,iKAAiK;iBAC/K;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;YACvC,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,kEAAkE;IAClE,oEAAoE;IACpE,2EAA2E;IAC3E,gFAAgF;IAChF;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,0lCAA0lC;QAC5lC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,6EAA6E;iBAC3F;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,uiCAAuiC;QACziC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,qDAAqD;iBACnE;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,WAAW,EAAE,8DAA8D;iBAC5E;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7B,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,WAAW,EAAE,kEAAkE;iBAChF;gBACD,mBAAmB,EAAE;oBACnB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;oBACxB,WAAW,EAAE,gEAAgE;iBAC9E;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,83BAA83B;QACh4B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,qDAAqD;iBACnE;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG;oBACZ,WAAW,EACT,gIAAgI;iBACnI;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,63BAA63B;QAC/3B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,qDAAqD;iBACnE;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,o9BAAo9B;QACt9B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,qDAAqD;iBACnE;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC;oBACpC,WAAW,EACT,mGAAmG;iBACtG;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;YAC1C,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,ijCAAijC;QACnjC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,qDAAqD;iBACnE;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,4DAA4D;iBAC1E;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,2EAA2E;IAC3E,uEAAuE;IACvE,0EAA0E;IAC1E,6EAA6E;IAC7E,gFAAgF;IAChF,qCAAqC;IACrC;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,qxBAAqxB;QACvxB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;gBAClE,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC7D,OAAO,EAAE,WAAW;aACrB;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,mSAAmS;QACrS,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,CAAC;oBACX,WAAW,EACT,8HAA8H;iBACjI;gBACD,QAAQ,EAAE,YAAY;aACvB;YACD,QAAQ,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;YACtC,oBAAoB,EAAE,KAAK;SAC5B;KACF;IAED,wBAAwB;IACxB;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oQAAoQ;QACtQ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChC;YACD,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,qRAAqR;QACvR,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChC;YACD,oBAAoB,EAAE,KAAK;SAC5B;KACF;IAED,wBAAwB;IACxB;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,wwDAAwwD;QAC1wD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpC,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,sMAAsM;iBACzM;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EACT,2HAA2H;iBAC9H;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,0SAA0S;iBAC7S;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,u8DAAu8D;QACz8D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,KAAK;oBACd,WAAW,EACT,0MAA0M;iBAC7M;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,+TAA+T;iBAClU;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,yhBAAyhB;QAC3hB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC5C,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;gBAC7D,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;aAClE;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,m7DAAm7D;QACr7D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,KAAK;wBACL,QAAQ;wBACR,OAAO;wBACP,QAAQ;wBACR,SAAS;wBACT,IAAI;wBACJ,WAAW;wBACX,QAAQ;qBACT;oBACD,WAAW,EACT,8pDAA8pD;iBACjqD;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;gBACtC,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2YAA2Y;iBAC9Y;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,msBAAmsB;iBACtsB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,KAAK;oBACd,WAAW,EACT,wIAAwI;iBAC3I;gBACD,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAClC;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,khDAAkhD;QACphD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,6NAA6N;iBAChO;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,iOAAiO;iBACpO;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,mKAAmK;iBACtK;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,WAAW,EACT,wHAAwH;iBAC3H;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;YAC/B,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,m8EAAm8E;QACr8E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,uyCAAuyC;iBAC1yC;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,ybAAyb;iBAC5b;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,soCAAsoC;QACxoC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,8JAA8J;iBACjK;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wgBAAwgB;iBAC3gB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2RAA2R;oBAC7R,oBAAoB,EAAE,IAAI;iBAC3B;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,GAAG;oBACZ,OAAO,EAAE,KAAK;oBACd,WAAW,EACT,6NAA6N;iBAChO;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;YAC/B,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,+hCAA+hC;QACjiC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;aAC5C;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,miCAAmiC;QACriC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,gOAAgO;iBACnO;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;YAClC,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,svCAAsvC;QACxvC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC;oBAC5B,WAAW,EACT,6YAA6Y;iBAChZ;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;YACjC,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,2rCAA2rC;QAC7rC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;aAC5C;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,gkDAAgkD;QAClkD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC;oBACpC,WAAW,EACT,6UAA6U;iBAChV;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,qSAAqS;iBACxS;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;YACjC,oBAAoB,EAAE,KAAK;SAC5B;KACF;IAED,wBAAwB;IACxB;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,yLAAyL;QAC3L,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,wHAAwH;iBAC3H;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,mKAAmK;iBACtK;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,2NAA2N;iBAC9N;gBACD,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChC;YACD,QAAQ,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;YACtC,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oPAAoP;QACtP,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE;4BACJ,WAAW;4BACX,QAAQ;4BACR,qBAAqB;4BACrB,kBAAkB;4BAClB,eAAe;4BACf,OAAO;4BACP,iBAAiB;4BACjB,aAAa;4BACb,aAAa;4BACb,QAAQ;yBACT;qBACF;oBACD,WAAW,EACT,mLAAmL;iBACtL;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,6JAA6J;iBAChK;gBACD,QAAQ,EAAE,YAAY;aACvB;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;YACtB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IAED,2BAA2B;IAC3B;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,wmEAAwmE;QAC1mE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,6MAA6M;iBAC3N;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uMAAuM;iBACrN;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;oBAC1B,WAAW,EACT,mbAAmb;iBACtb;aACF;YACD,oBAAoB,EAAE,KAAK;SAC5B;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC;AAEhD,8EAA8E;AAC9E,8EAA8E;AAC9E,sEAAsE;AACtE,8EAA8E;AAC9E,wDAAwD;AACxD,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAE1E,MAAM,UAAU,iCAAiC,CAC/C,OAA2B,eAAe;IAE1C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAsC,CAAC;QAC1D,KAAK,MAAM,OAAO,IAAI,4BAA4B,EAAE,CAAC;YACnD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,gBAAgB,OAAO,GAAG,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,4FAA4F;YAC1F,gGAAgG;YAChG,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC1C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iCAAiC,EAAE,CAAC"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}