@extentos/mcp-server 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tools/data/capabilities.d.ts +22 -0
- package/dist/tools/data/capabilities.d.ts.map +1 -1
- package/dist/tools/data/capabilities.js +15 -1
- package/dist/tools/data/capabilities.js.map +1 -1
- package/dist/tools/data/capabilityPatterns.d.ts.map +1 -1
- package/dist/tools/data/capabilityPatterns.js +75 -0
- package/dist/tools/data/capabilityPatterns.js.map +1 -1
- package/dist/tools/data/codeExamples.d.ts.map +1 -1
- package/dist/tools/data/codeExamples.js +206 -11
- package/dist/tools/data/codeExamples.js.map +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +11 -14
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/docs/index.d.ts.map +1 -1
- package/dist/tools/docs/index.js +23 -3
- package/dist/tools/docs/index.js.map +1 -1
- package/dist/tools/handlers/getDisplayState.js +1 -1
- package/dist/tools/handlers/getDisplayState.js.map +1 -1
- package/dist/tools/handlers/getEventLog.d.ts.map +1 -1
- package/dist/tools/handlers/getEventLog.js +7 -1
- package/dist/tools/handlers/getEventLog.js.map +1 -1
- package/dist/tools/handlers/getPlatformInfo.js +2 -0
- package/dist/tools/handlers/getPlatformInfo.js.map +1 -1
- package/dist/tools/handlers/injectAssistantUtterance.js +5 -5
- package/dist/tools/handlers/injectAssistantUtterance.js.map +1 -1
- package/dist/tools/handlers/setSimDevice.js +1 -1
- package/dist/tools/handlers/setSimDevice.js.map +1 -1
- package/dist/tools/util/backendClient.d.ts.map +1 -1
- package/dist/tools/util/backendClient.js +32 -14
- package/dist/tools/util/backendClient.js.map +1 -1
- package/package.json +1 -1
|
@@ -653,6 +653,7 @@ export declare const META_RAYBAN_CAPABILITIES: {
|
|
|
653
653
|
volume?: undefined;
|
|
654
654
|
uri?: undefined;
|
|
655
655
|
prompt?: undefined;
|
|
656
|
+
content?: undefined;
|
|
656
657
|
};
|
|
657
658
|
returns: {
|
|
658
659
|
ok: string;
|
|
@@ -673,6 +674,7 @@ export declare const META_RAYBAN_CAPABILITIES: {
|
|
|
673
674
|
volume?: undefined;
|
|
674
675
|
uri?: undefined;
|
|
675
676
|
prompt?: undefined;
|
|
677
|
+
content?: undefined;
|
|
676
678
|
};
|
|
677
679
|
returns?: undefined;
|
|
678
680
|
} | {
|
|
@@ -690,6 +692,7 @@ export declare const META_RAYBAN_CAPABILITIES: {
|
|
|
690
692
|
config?: undefined;
|
|
691
693
|
uri?: undefined;
|
|
692
694
|
prompt?: undefined;
|
|
695
|
+
content?: undefined;
|
|
693
696
|
};
|
|
694
697
|
returns?: undefined;
|
|
695
698
|
} | {
|
|
@@ -730,6 +733,25 @@ export declare const META_RAYBAN_CAPABILITIES: {
|
|
|
730
733
|
config?: undefined;
|
|
731
734
|
sound?: undefined;
|
|
732
735
|
volume?: undefined;
|
|
736
|
+
content?: undefined;
|
|
737
|
+
};
|
|
738
|
+
returns?: undefined;
|
|
739
|
+
} | {
|
|
740
|
+
type: string;
|
|
741
|
+
tier: string;
|
|
742
|
+
description: string;
|
|
743
|
+
sdkPath: {
|
|
744
|
+
kotlin: string;
|
|
745
|
+
swift: string;
|
|
746
|
+
};
|
|
747
|
+
params: {
|
|
748
|
+
content: string;
|
|
749
|
+
text?: undefined;
|
|
750
|
+
config?: undefined;
|
|
751
|
+
sound?: undefined;
|
|
752
|
+
volume?: undefined;
|
|
753
|
+
uri?: undefined;
|
|
754
|
+
prompt?: undefined;
|
|
733
755
|
};
|
|
734
756
|
returns?: undefined;
|
|
735
757
|
})[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/tools/data/capabilities.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOpD,CAAC;AAEF,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/tools/data/capabilities.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOpD,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0bpC,CAAC;AAUF,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAiB5C,CAAC;AAqBL,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAOnE,CAAC"}
|
|
@@ -157,7 +157,7 @@ export const META_RAYBAN_CAPABILITIES = {
|
|
|
157
157
|
{
|
|
158
158
|
type: "outgoing_video_stream",
|
|
159
159
|
tier: "phone_side_workaround",
|
|
160
|
-
description: "Video streamed FROM the phone TO the glasses display surface (future —
|
|
160
|
+
description: "Video streamed FROM the phone TO the glasses display surface (future — DAT exposes no video-streaming path to the display yet; for rendering UI on the Ray-Ban Display screen today, see the `display` capability).",
|
|
161
161
|
direction: "to_glasses",
|
|
162
162
|
sdkPath: { kotlin: "camera.outgoingVideo", swift: "camera.outgoingVideo" },
|
|
163
163
|
config: {
|
|
@@ -354,6 +354,20 @@ export const META_RAYBAN_CAPABILITIES = {
|
|
|
354
354
|
sdkPath: { kotlin: "assistant.activeSession?.includeImage", swift: "assistant.activeSession?.includeImage" },
|
|
355
355
|
params: { uri: "string (data:/http(s)/file:/content: or absolute path)", prompt: "string? (optional user text to send alongside)" },
|
|
356
356
|
},
|
|
357
|
+
// DSP-1 (display dogfood, 2026-06-10): the glasses.display.* surface,
|
|
358
|
+
// track 5. Per-DEVICE capability (device-capability-model decision
|
|
359
|
+
// 2026-05-30): within meta_rayban, Ray-Ban Display has a screen; Ray-Ban
|
|
360
|
+
// Meta / Oakley don't. Pre-fix this entry didn't exist, so the entire
|
|
361
|
+
// discovery layer denied the display while the agent tooling
|
|
362
|
+
// (getDisplayState / setSimDevice / injectInput) and the shipped Android
|
|
363
|
+
// SDK fully supported it.
|
|
364
|
+
{
|
|
365
|
+
type: "display",
|
|
366
|
+
tier: "dat_native",
|
|
367
|
+
description: "Render UI on the glasses display (Ray-Ban Display) — `glasses.display.show { column { text(...); button(\"Close\", id = \"close\") { onClick } } }` builds a DisplayNode tree the device renders; `clear()` wipes it; `isAvailable` gates it. PER-DEVICE capability: branch on `glasses.display.isAvailable` (true on Ray-Ban Display, false on Ray-Ban Meta — flips LIVE in the sim when the device model changes), never on the model name; `show` on a display-less device is a safe no-op. DSL vocabulary: column/row (gap, padding, background, onClick), text (HEADING/BODY/CAPTION), button (explicit id + onClick), image/video (by URL), icon. Selection input (Neural Band index-pinch on hardware, injectInput(action:'select') in the sim) routes back to your onClick by node id; the BACK gesture (mid-pinch / injectInput(action:'back')) routes to the current show's `onBack` — `show(onBack = { ... }) { ... }`, registered per show because back is view-contextual (detail→browse, root→clear). Clickable containers accept an explicit stable `id` (otherwise positional box-N). Availability: Android SDK shipped + sim-verified (real hardware renders via Meta DAT mwdat-display; the hardware back-gesture wiring lands with the real-hardware display pass); iOS port pending. See getCapabilityGuide(feature: \"display\") + getCodeExample(pattern: \"display_browse_detail\").",
|
|
368
|
+
sdkPath: { kotlin: "display.show / display.clear / display.isAvailable", swift: "pending — the iOS DisplayClient port has not shipped yet (Android-first)" },
|
|
369
|
+
params: { content: "DisplayScope builder lambda (column / row / text / image / button / icon / video)" },
|
|
370
|
+
},
|
|
357
371
|
],
|
|
358
372
|
actions: [
|
|
359
373
|
// 8 core
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/tools/data/capabilities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/tools/data/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilityPatterns.d.ts","sourceRoot":"","sources":["../../../src/tools/data/capabilityPatterns.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"capabilityPatterns.d.ts","sourceRoot":"","sources":["../../../src/tools/data/capabilityPatterns.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAq3CD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA0B7D,CAAC;AAEF,eAAO,MAAM,yBAAyB,UAAwC,CAAC"}
|
|
@@ -1282,6 +1282,80 @@ glasses.runtime.events
|
|
|
1282
1282
|
],
|
|
1283
1283
|
relatedExamples: ["assistant_agent_loop", "agent_driven_e2e_full_loop"],
|
|
1284
1284
|
};
|
|
1285
|
+
// DSP-1 (display dogfood, 2026-06-10): the glasses.display.* surface. Content
|
|
1286
|
+
// sourced from the verified two-view Notes integration (browse ⇄ detail in the
|
|
1287
|
+
// sim against the real provider).
|
|
1288
|
+
const DISPLAY = {
|
|
1289
|
+
feature: "display",
|
|
1290
|
+
summary: "`glasses.display.show { column { text(...); button(\"Close\", id = \"close\") { onClick } } }` — render UI on a display-capable device (Ray-Ban Display). PER-DEVICE capability: gate on `glasses.display.isAvailable` (false on Ray-Ban Meta; flips LIVE when the sim device model changes — no reconnect), never on the model name. `show {}` REPLACES the whole display each call (multiple top-level nodes auto-wrap in an implicit column); `clear()` wipes it; both are suspend. Selection input (Neural Band index-pinch on hardware, `injectInput(action: 'select')` in the sim) routes back to your `onClick` by node id; the BACK gesture (mid-pinch / `injectInput(action: 'back')`) routes to the current show's `onBack` — `show(onBack = { ... }) { ... }`, registered per show because back is view-contextual (a detail view's onBack re-renders browse; a root view's onBack clears). Android-first: the iOS DisplayClient port is pending. Canonical multi-view pattern: `getCodeExample(pattern: 'display_browse_detail')`.",
|
|
1291
|
+
kotlin: `import com.extentos.glasses.core.Background
|
|
1292
|
+
import com.extentos.glasses.core.ButtonStyle
|
|
1293
|
+
import com.extentos.glasses.core.TextColor
|
|
1294
|
+
import com.extentos.glasses.core.TextStyle
|
|
1295
|
+
|
|
1296
|
+
// Gate rich display UX on the device actually having a screen. isAvailable is
|
|
1297
|
+
// false on Ray-Ban Meta and true on Ray-Ban Display; in the sim it flips LIVE
|
|
1298
|
+
// when the device model changes (setSimDevice) — no reconnect. show {} on a
|
|
1299
|
+
// display-less device is a safe silent no-op, so the gate is about UX (tell
|
|
1300
|
+
// the user, fall back to voice), not crash safety.
|
|
1301
|
+
if (!glasses.display.isAvailable) {
|
|
1302
|
+
glasses.audio.speak("These glasses have no display — I'll read it out instead.")
|
|
1303
|
+
return
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
// show {} REPLACES whatever is currently on the display. Multiple top-level
|
|
1307
|
+
// nodes are auto-wrapped in an implicit column. show() and clear() are suspend.
|
|
1308
|
+
// onBack fires on the back gesture (Neural Band mid-pinch / injected back)
|
|
1309
|
+
// while THIS tree is shown — view-contextual, so register it per show.
|
|
1310
|
+
glasses.display.show(onBack = { scope.launch { glasses.display.clear() } }) {
|
|
1311
|
+
column(gap = 8, padding = 12) {
|
|
1312
|
+
text("Groceries", style = TextStyle.HEADING)
|
|
1313
|
+
text("Updated Jun 8", style = TextStyle.CAPTION, color = TextColor.SECONDARY)
|
|
1314
|
+
text("Pasta, tomatoes, olive oil, fresh basil.", style = TextStyle.BODY)
|
|
1315
|
+
// Buttons take an explicit id — a stable, agent-targetable handle.
|
|
1316
|
+
// onClick fires on a Neural Band index-pinch (or the sim's
|
|
1317
|
+
// injectInput(action = "select", targetId = "close")).
|
|
1318
|
+
button("Close", style = ButtonStyle.OUTLINE, id = "close") {
|
|
1319
|
+
// onClick is a plain () -> Unit — launch for suspend SDK calls.
|
|
1320
|
+
scope.launch { glasses.display.clear() }
|
|
1321
|
+
}
|
|
1322
|
+
}
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
// Containers (column / row) accept onClick too — that is how tappable list
|
|
1326
|
+
// cards work. Give them a stable id (column(onClick = ..., id = "note-42"));
|
|
1327
|
+
// without one they fall back to positional auto-ids ("box-0", "box-1", ...).
|
|
1328
|
+
// Enums: TextStyle HEADING/BODY/CAPTION; TextColor PRIMARY/SECONDARY;
|
|
1329
|
+
// ButtonStyle PRIMARY/SECONDARY/OUTLINE; Background NONE/CARD; Alignment
|
|
1330
|
+
// START/CENTER/END/STRETCH. image(url) / video(url) render by URL — there
|
|
1331
|
+
// is no local-bitmap path to the display.`,
|
|
1332
|
+
swift: `// ⚠️ iOS PARITY PENDING — the iOS library has no DisplayClient yet.
|
|
1333
|
+
// The display surface is Android-first; this sketch mirrors the intended
|
|
1334
|
+
// Swift shape (result-builder form) once the port lands.
|
|
1335
|
+
//
|
|
1336
|
+
// if glasses.display.isAvailable {
|
|
1337
|
+
// await glasses.display.show {
|
|
1338
|
+
// Column(gap: 8, padding: 12) {
|
|
1339
|
+
// Text("Groceries", style: .heading)
|
|
1340
|
+
// Button("Close", id: "close") { Task { await glasses.display.clear() } }
|
|
1341
|
+
// }
|
|
1342
|
+
// }
|
|
1343
|
+
// }
|
|
1344
|
+
//
|
|
1345
|
+
// Track the port via the cross-platform parity handoffs; until then iOS
|
|
1346
|
+
// apps treat isAvailable as false and keep the voice-first path.`,
|
|
1347
|
+
gotchas: [
|
|
1348
|
+
"**Gate on `isAvailable`, never the model name.** Display is a per-DEVICE capability (Ray-Ban Display yes; Ray-Ban Meta no). The gate flips LIVE — in the sim, setSimDevice pushes the new profile to the connected app mid-session with no reconnect, so the same running session can see true then false. A `show {}` on a display-less device silently no-ops (safe), which is exactly why your UX should check the gate and offer a spoken fallback instead of relying on the no-op.",
|
|
1349
|
+
"**`show {}` replaces the ENTIRE display every call — there are no incremental updates.** Own your view state app-side (a sealed Screen / enum) and re-render whole views on every transition. Multiple top-level nodes in one show are auto-wrapped in an implicit column.",
|
|
1350
|
+
"**The back gesture routes to the CURRENT show's `onBack` — register it per view.** `show(onBack = { scope.launch { showPreviousView() } }) { ... }`: a detail view's onBack re-renders browse; a root view's onBack typically clears the display. Null (the default) ignores the gesture. `clear()` drops the current handlers, so a stale onBack can't fire after the display is wiped. Sim-verified end-to-end (injectInput back → onBack → re-render); the REAL-hardware mid-pinch wiring lands with the DAT display validation pass. Keep an explicit Back button too — it is the discoverable affordance.",
|
|
1351
|
+
"**Pass explicit stable `id`s on every clickable node.** `button(\"Close\", id = \"close\")` AND `column(onClick = ..., id = \"note-42\")` are agent-targetable by identity; without an id, clickable containers fall back to positional \"box-0\", \"box-1\", ... in render order — reordering the list shifts every generated id, so anything driving them (tests, agents) couples to position. `id` is ignored without `onClick` (the id is the onClick routing handle).",
|
|
1352
|
+
"**onClick is a plain `() -> Unit`, but show()/clear() are suspend** — launch a coroutine inside the handler (`scope.launch { glasses.display.clear() }`) for any suspend SDK call.",
|
|
1353
|
+
"**Agent verification loop:** a fresh sim session defaults to rayban_meta (NO display) — `setSimDevice(device: 'rayban_display')` FIRST, then drive the flow and read `getDisplayState` (the exact rendered tree + `interactiveIds`, headless — no pixels), then `injectInput(action: 'select', targetId: ...)` to fire onClicks the way a pinch would. injectInput needs the sim browser tab attached (ensureSimulatorBrowser); getDisplayState itself works headless.",
|
|
1354
|
+
"**Two verification surfaces, use both:** getDisplayState (the live hub snapshot — the exact current tree + interactiveIds) and getEventLog(filter: 'display') (the durable trace: `display_show` with node counts, `display_select <id>`, `display_navigate` with the focused id, `display_back`). The event ordering proves causality — a select followed by a re-render shows as display_select → display_show. Note `display_back` persists to the log but does NOT reach your app code yet (select-only transport).",
|
|
1355
|
+
"**Keep trees small.** The display is a small panel — about five list cards per screen with an overflow hint (\"+N more — ask me to open one\") works well; don't assume scrolling.",
|
|
1356
|
+
],
|
|
1357
|
+
relatedExamples: ["display_browse_detail"],
|
|
1358
|
+
};
|
|
1285
1359
|
export const CAPABILITY_GUIDES = {
|
|
1286
1360
|
capture_photo: CAPTURE_PHOTO,
|
|
1287
1361
|
capture_video: CAPTURE_VIDEO,
|
|
@@ -1307,6 +1381,7 @@ export const CAPABILITY_GUIDES = {
|
|
|
1307
1381
|
conversation_listen: CONVERSATION_LISTEN,
|
|
1308
1382
|
conversation_speak: CONVERSATION_SPEAK,
|
|
1309
1383
|
conversation_ai_complete: CONVERSATION_AI_COMPLETE,
|
|
1384
|
+
display: DISPLAY,
|
|
1310
1385
|
};
|
|
1311
1386
|
export const CAPABILITY_GUIDE_FEATURES = Object.keys(CAPABILITY_GUIDES).sort();
|
|
1312
1387
|
//# sourceMappingURL=capabilityPatterns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilityPatterns.js","sourceRoot":"","sources":["../../../src/tools/data/capabilityPatterns.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"capabilityPatterns.js","sourceRoot":"","sources":["../../../src/tools/data/capabilityPatterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeExamples.d.ts","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"AAeA,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,aAAa,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,2BAA2B,CAAC;IAC7G,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,EAAE,sBAAsB,CAAC;CACnC;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,SAAS,EAAE,uBAAuB,GAAG,sBAAsB,CAAC;IAC5D;4EACwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAC9B,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAC3C,CAAC;IACF;;;;;;OAMG;IACH,eAAe,CAAC,EAAE;QAChB,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAClC,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"codeExamples.d.ts","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"AAeA,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,aAAa,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,2BAA2B,CAAC;IAC7G,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,EAAE,sBAAsB,CAAC;CACnC;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,SAAS,EAAE,uBAAuB,GAAG,sBAAsB,CAAC;IAC5D;4EACwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAC9B,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAC3C,CAAC;IACF;;;;;;OAMG;IACH,eAAe,CAAC,EAAE;QAChB,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAClC,CAAC;CACH;AAgiGD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAarD,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAAoC,CAAC"}
|
|
@@ -2512,7 +2512,9 @@ class NotesAssistant(
|
|
|
2512
2512
|
session = glasses.assistant.start(
|
|
2513
2513
|
// F13: pick provider via build flavor (USE_MOCK_ASSISTANT BuildConfig)
|
|
2514
2514
|
// — never bake \`useMock\` into handler code. See assistant_agent_loop.
|
|
2515
|
-
|
|
2515
|
+
// Model + voice come from your dashboard Agent settings; pass them
|
|
2516
|
+
// only to hard-pin in code (a code value wins over the dashboard).
|
|
2517
|
+
provider = AssistantProvider.OpenAi(),
|
|
2516
2518
|
) {
|
|
2517
2519
|
instructions = "You are a voice-notes assistant on glasses. Speak briefly."
|
|
2518
2520
|
sleepAfterSilence(30.seconds)
|
|
@@ -2599,7 +2601,9 @@ final class NotesAssistant: @unchecked Sendable {
|
|
|
2599
2601
|
|
|
2600
2602
|
func start() async throws {
|
|
2601
2603
|
session = try await glasses.assistant.start(
|
|
2602
|
-
|
|
2604
|
+
// Model + voice come from your dashboard Agent settings; pass them
|
|
2605
|
+
// only to hard-pin in code (a code value wins over the dashboard).
|
|
2606
|
+
provider: .openAI()
|
|
2603
2607
|
) { config in
|
|
2604
2608
|
config.instructions = "You are a voice-notes assistant on glasses. Speak briefly."
|
|
2605
2609
|
// config.sleepAfterSilence(.seconds(30)) // iOS API parity pending
|
|
@@ -2648,11 +2652,11 @@ final class NotesAssistant: @unchecked Sendable {
|
|
|
2648
2652
|
});
|
|
2649
2653
|
|
|
2650
2654
|
// 2. Wake the assistant — explicit two-step pattern that MIRRORS THE
|
|
2651
|
-
// REAL-HARDWARE FLOW. A real user says "hey
|
|
2655
|
+
// REAL-HARDWARE FLOW. A real user says "hey notes" out loud, the
|
|
2652
2656
|
// library's voice.onPhrase matches, the customer's handler calls
|
|
2653
2657
|
// session.wake(), the WS opens, the model handshakes. The agent
|
|
2654
2658
|
// simulates the same path:
|
|
2655
|
-
// a) injectTranscript("hey
|
|
2659
|
+
// a) injectTranscript("hey notes") ← manual_trigger STT
|
|
2656
2660
|
// b) wait for assistant.session_started ← wake completed
|
|
2657
2661
|
// c) THEN injectAssistantUtterance(text) ← user command
|
|
2658
2662
|
async function wake(sessionId, wakePhrase) {
|
|
@@ -2672,7 +2676,7 @@ final class NotesAssistant: @unchecked Sendable {
|
|
|
2672
2676
|
}
|
|
2673
2677
|
throw new Error(\`wake timeout: "\${wakePhrase}" did not produce session_started\`);
|
|
2674
2678
|
}
|
|
2675
|
-
await wake(sessionId, "hey
|
|
2679
|
+
await wake(sessionId, "hey notes");
|
|
2676
2680
|
|
|
2677
2681
|
// 2.b. Recommended: the SDK speaks a greeting AUTOMATICALLY on wake
|
|
2678
2682
|
// (default-on; only greeting = Greeting.Off disables it). Wait for it
|
|
@@ -2683,7 +2687,7 @@ final class NotesAssistant: @unchecked Sendable {
|
|
|
2683
2687
|
await sleep(2000);
|
|
2684
2688
|
|
|
2685
2689
|
// 3. Sweep across N tools in one session. Pace your injects under
|
|
2686
|
-
// \`sleepAfterSilence\` (
|
|
2690
|
+
// \`sleepAfterSilence\` (this handler ships 30s) so the session stays
|
|
2687
2691
|
// Active across the loop. If you need a long debug pause between
|
|
2688
2692
|
// injects, re-wake explicitly via wake() above when you come back.
|
|
2689
2693
|
const cases = [
|
|
@@ -2809,9 +2813,9 @@ WAKING THE SESSION — explicit two-step, mirrors real hardware
|
|
|
2809
2813
|
The canonical wake path is two discrete actions, exactly like a real
|
|
2810
2814
|
user:
|
|
2811
2815
|
|
|
2812
|
-
1) injectTranscript({ sessionId, text: "hey
|
|
2816
|
+
1) injectTranscript({ sessionId, text: "hey notes" })
|
|
2813
2817
|
→ backend relays as stt_transcript / source:manual_trigger
|
|
2814
|
-
→ library's VoiceClient fires voice.onPhrase("hey
|
|
2818
|
+
→ library's VoiceClient fires voice.onPhrase("hey notes")
|
|
2815
2819
|
→ customer's handler calls session.wake() (idempotent if Active)
|
|
2816
2820
|
2) Watch getEventLog for \`assistant.session_started\`
|
|
2817
2821
|
→ wake completed: WS open, session.update handshake done
|
|
@@ -2829,7 +2833,7 @@ the only faithful test of the wake flow.
|
|
|
2829
2833
|
|
|
2830
2834
|
SILENCE-TIMEOUT FRICTION DURING AGENT DEBUG ITERATION
|
|
2831
2835
|
|
|
2832
|
-
|
|
2836
|
+
The handler ships \`sleepAfterSilence(30.seconds)\` because that's correct
|
|
2833
2837
|
production behavior — battery + token spend. In agent test loops where
|
|
2834
2838
|
you spend > 30s between injects scrolling event logs / checking
|
|
2835
2839
|
screencaps / debugging a stale match, the session WILL transition
|
|
@@ -2873,9 +2877,9 @@ back without spawning, surface it to the developer to open on a machine with a
|
|
|
2873
2877
|
display, then re-run with autoOpen:true to confirm. Non-camera tools (state
|
|
2874
2878
|
toggles, persistence, AI calls) work fully headless regardless.`,
|
|
2875
2879
|
gotchas: [
|
|
2876
|
-
"**Wake explicitly via injectTranscript before the first injectAssistantUtterance — the assistant_inject path drops silently on Dormant sessions.** The library's OpenAi provider filters incomingTextFrames to `source: \"assistant_inject\"` + routes through `injectUserTurn`, which silently no-ops when `connectionRef` is null (Dormant / mid-reconnect / between wake cycles). Drive the wake faithfully: `injectTranscript(\"hey
|
|
2880
|
+
"**Wake explicitly via injectTranscript before the first injectAssistantUtterance — the assistant_inject path drops silently on Dormant sessions.** The library's OpenAi provider filters incomingTextFrames to `source: \"assistant_inject\"` + routes through `injectUserTurn`, which silently no-ops when `connectionRef` is null (Dormant / mid-reconnect / between wake cycles). Drive the wake faithfully: `injectTranscript(\"hey notes\")` → watch getEventLog for `assistant.session_started` → THEN `injectAssistantUtterance(text)`. Same path a real user takes on real hardware. The 0.1.3 autoWake auto-magic was reverted in 0.1.4 because it hid the wake step + raced with onWake greeting hooks; explicit wake is canonical.",
|
|
2877
2881
|
"**The SDK speaks a greeting automatically on wake (default-on; only `greeting = Greeting.Off` disables it) — wait for it to finish before injecting the command.** Otherwise the inject's `response.create` races with the greeting's `response.create` at OpenAI and the model serializes them in a way that often suppresses the tool dispatch. Watch for the first `assistant.assistant_spoke` event after `session_started` (the greeting playback), then inject. Coarse alternative: `sleep(~2s)` after session_started.",
|
|
2878
|
-
"**`sleepAfterSilence` is sensible production behavior, hostile to long agent debug iteration.**
|
|
2882
|
+
"**`sleepAfterSilence` is sensible production behavior, hostile to long agent debug iteration.** The example handler ships `sleepAfterSilence(30.seconds)`. If your agent loop spends > 30s between injects (scrolling event logs, taking screencaps, debugging a stale match), the session transitions Dormant under you + the next inject drops silently. Either pace your test < 30s per inject or re-wake explicitly via the two-step pattern when you come back. A sim-only \"hold session active\" feature is on the backlog (project_agent_test_capability_gaps) — distinct from the wake flow, scoped as its own MCP surface so it can't accidentally diverge from real-hardware fidelity.",
|
|
2879
2883
|
"**Thread injectAssistantUtterance's `watchCursor` into assertToolCalled's `sinceCursor` (fix 2026-05-29).** assertToolCalled waits for the tool call your inject TRIGGERS, but the model fires it 0.5-2s later — often after assertToolCalled has already started. If the assertion anchors at its own start (\"now\"), it excludes the very tool call it's waiting for and times out even though the tool fired (the dominant false-negative in the 2026-05-28 sweep). Fix: injectAssistantUtterance returns `watchCursor` captured BEFORE the inject; pass it as `assertToolCalled({ sinceCursor: inj.watchCursor })` to anchor the wait before the inject. The match is pure backend `seq` comparison (`seq > sinceCursor`) — no clock-skew dependency (the prior 0.1.5 'safety net' used the MCP server's local clock and broke on machines >5s skewed; measured +7.77s in practice — removed in 0.1.6). Omit sinceCursor only when watching a tool with no preceding inject (e.g. a real sim-browser voice turn); then it anchors at 'now' and only catches tools fired after the call starts.",
|
|
2880
2884
|
"**Camera-tool tests need the sim browser tab connected — call `ensureSimulatorBrowser({ sessionId })` first.** save_photo / describe_scene / capture_video and any tool body that calls glasses.camera.* return Err(\"camera failed\") without an attached browser role. `ensureSimulatorBrowser` opens the tab (cross-platform, MCP-side) and polls until its WebSocket attaches — one idempotent call, replacing the old manual OS one-liner + getSimulatorStatus poll loop. Headless / remote agents: `ensureSimulatorBrowser({ sessionId, autoOpen: false })` returns the sessionUrl to hand to the developer without spawning a browser.",
|
|
2881
2885
|
"**adb logcat needs the adb binary in your PATH or full path.** On Windows it's at `C:/Users/<you>/AppData/Local/Android/Sdk/platform-tools/adb.exe`; on macOS at `~/Library/Android/sdk/platform-tools/adb`. The MCP server runs on YOUR machine, so cloud-hosted agents can't reach the emulator — Channel 2/3/4 are local-only. Headless CI agents can still do Channel 1 (getEventLog is the only protocol-level channel).",
|
|
@@ -2887,6 +2891,196 @@ toggles, persistence, AI calls) work fully headless regardless.`,
|
|
|
2887
2891
|
],
|
|
2888
2892
|
relatedFeatures: ["assistant_runtime", "assistant_start", "assistant_tool", "assistant_provider_openai", "assistant_session_runtime", "assistant_vision"],
|
|
2889
2893
|
};
|
|
2894
|
+
// DSP-1 (display dogfood, 2026-06-10): the canonical glasses-display pattern,
|
|
2895
|
+
// sourced from the verified two-view Notes integration — Neural-Band rail and
|
|
2896
|
+
// assistant rail driving ONE app-side state machine, end-to-end in the sim
|
|
2897
|
+
// against the real OpenAi provider.
|
|
2898
|
+
const DISPLAY_BROWSE_DETAIL = {
|
|
2899
|
+
pattern: "display_browse_detail",
|
|
2900
|
+
title: "Glasses display — two-view browse ⇄ detail navigation (Neural Band + assistant tools)",
|
|
2901
|
+
description: "The canonical multi-view display pattern for the Ray-Ban Display: a BROWSE view (list items as pinchable cards — slide the Neural Band between them, index-pinch to open) and a DETAIL view (one item full-screen, explicit Back button to return), with assistant tools driving the SAME transitions by voice ('show my notes' / 'open the groceries note' / 'go back to the list'). One app-side state machine, two input rails, no conflict. Gated on `glasses.display.isAvailable` (per-device: true on Ray-Ban Display, false on Ray-Ban Meta) with a graceful spoken fallback. Back is wired BOTH ways: the back gesture (Neural Band mid-pinch / injected back) routes to each view's `show(onBack = ...)` — detail's onBack re-renders browse, browse's onBack clears — and an explicit Back button covers discoverability.",
|
|
2902
|
+
code: {
|
|
2903
|
+
kotlin: `// Two-view display navigation — browse ⇄ detail — for a notes-style app.
|
|
2904
|
+
// Both rails drive the same state machine:
|
|
2905
|
+
// Neural Band: slide (focus) → index-pinch a card → detail → mid-pinch back
|
|
2906
|
+
// Assistant: "show my notes" → show_notes; "open X" → detail; "go back" → show_notes
|
|
2907
|
+
//
|
|
2908
|
+
// Back is view-contextual, registered per show(onBack = ...): the detail
|
|
2909
|
+
// view's onBack re-renders browse; the browse view's onBack clears the
|
|
2910
|
+
// display. The explicit "Back to notes" button remains for discoverability.
|
|
2911
|
+
|
|
2912
|
+
import com.extentos.glasses.core.Background
|
|
2913
|
+
import com.extentos.glasses.core.ButtonStyle
|
|
2914
|
+
import com.extentos.glasses.core.ExtentosGlasses
|
|
2915
|
+
import com.extentos.glasses.core.TextColor
|
|
2916
|
+
import com.extentos.glasses.core.TextStyle
|
|
2917
|
+
import com.extentos.glasses.core.assistant.AssistantProvider
|
|
2918
|
+
import com.extentos.glasses.core.assistant.AssistantSession
|
|
2919
|
+
import com.extentos.glasses.core.assistant.ToolResult
|
|
2920
|
+
import com.extentos.glasses.core.assistant.tool
|
|
2921
|
+
import kotlinx.coroutines.CoroutineScope
|
|
2922
|
+
import kotlinx.coroutines.Dispatchers
|
|
2923
|
+
import kotlinx.coroutines.SupervisorJob
|
|
2924
|
+
import kotlinx.coroutines.launch
|
|
2925
|
+
|
|
2926
|
+
data class Note(val id: Long, val title: String, val body: String)
|
|
2927
|
+
|
|
2928
|
+
class NotesDisplayHandler(
|
|
2929
|
+
private val glasses: ExtentosGlasses,
|
|
2930
|
+
private val notes: () -> List<Note>, // app-internal source of truth
|
|
2931
|
+
private val scope: CoroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.IO),
|
|
2932
|
+
) {
|
|
2933
|
+
private var session: AssistantSession? = null
|
|
2934
|
+
|
|
2935
|
+
fun start() {
|
|
2936
|
+
scope.launch {
|
|
2937
|
+
session = glasses.assistant.start(
|
|
2938
|
+
provider = AssistantProvider.OpenAi(), // model + voice from your dashboard
|
|
2939
|
+
) {
|
|
2940
|
+
instructions =
|
|
2941
|
+
"You can use the glasses display. Call show_notes for the browsable " +
|
|
2942
|
+
"list (also when the user asks to go back to the list); show_note to " +
|
|
2943
|
+
"open one specific note; clear_display to wipe the screen. If a tool " +
|
|
2944
|
+
"says there is no display, say so and offer to read aloud instead."
|
|
2945
|
+
|
|
2946
|
+
tool(
|
|
2947
|
+
"show_notes",
|
|
2948
|
+
"Show the browsable list of the user's notes on the glasses display. " +
|
|
2949
|
+
"Also call when the user asks to go back to the list from an open note.",
|
|
2950
|
+
) {
|
|
2951
|
+
if (!glasses.display.isAvailable) {
|
|
2952
|
+
return@tool ToolResult.Err(
|
|
2953
|
+
"These glasses have no display. Offer to read the notes aloud instead.",
|
|
2954
|
+
)
|
|
2955
|
+
}
|
|
2956
|
+
showBrowse()
|
|
2957
|
+
ToolResult.Ok("Notes are on the display — slide between them, pinch one to open it.")
|
|
2958
|
+
}
|
|
2959
|
+
|
|
2960
|
+
tool("clear_display", "Clear the glasses display when the user asks to hide or dismiss it.") {
|
|
2961
|
+
glasses.display.clear()
|
|
2962
|
+
ToolResult.Ok("Display cleared.")
|
|
2963
|
+
}
|
|
2964
|
+
}
|
|
2965
|
+
// Wake mechanism — same onPhrase wiring as every Phase 4 assistant.
|
|
2966
|
+
glasses.voice.onPhrase("hey notes") { session?.wake() }
|
|
2967
|
+
}
|
|
2968
|
+
}
|
|
2969
|
+
|
|
2970
|
+
/** BROWSE — every note is a pinchable CARD container with a stable id. */
|
|
2971
|
+
private suspend fun showBrowse() {
|
|
2972
|
+
val all = notes()
|
|
2973
|
+
// Mid-pinch on the root view dismisses the display.
|
|
2974
|
+
glasses.display.show(onBack = { scope.launch { glasses.display.clear() } }) {
|
|
2975
|
+
column(gap = 6, padding = 10) {
|
|
2976
|
+
text("My notes", style = TextStyle.HEADING)
|
|
2977
|
+
for (note in all.take(5)) {
|
|
2978
|
+
// Clickable container — give it a stable, identity-based id
|
|
2979
|
+
// (agents/tests target it regardless of render order).
|
|
2980
|
+
column(
|
|
2981
|
+
gap = 2,
|
|
2982
|
+
padding = 8,
|
|
2983
|
+
background = Background.CARD,
|
|
2984
|
+
onClick = { scope.launch { showDetail(note) } },
|
|
2985
|
+
id = "note-" + note.id,
|
|
2986
|
+
) {
|
|
2987
|
+
text(note.title, style = TextStyle.BODY)
|
|
2988
|
+
text(note.body.take(40), style = TextStyle.CAPTION, color = TextColor.SECONDARY)
|
|
2989
|
+
}
|
|
2990
|
+
}
|
|
2991
|
+
if (all.size > 5) {
|
|
2992
|
+
text(
|
|
2993
|
+
"+" + (all.size - 5) + " more — ask me to open one",
|
|
2994
|
+
style = TextStyle.CAPTION,
|
|
2995
|
+
color = TextColor.SECONDARY,
|
|
2996
|
+
)
|
|
2997
|
+
}
|
|
2998
|
+
}
|
|
2999
|
+
}
|
|
3000
|
+
}
|
|
3001
|
+
|
|
3002
|
+
/** DETAIL — one note full-screen; mid-pinch (onBack) or the button goes back. */
|
|
3003
|
+
private suspend fun showDetail(note: Note) {
|
|
3004
|
+
glasses.display.show(onBack = { scope.launch { showBrowse() } }) {
|
|
3005
|
+
column(gap = 8, padding = 12) {
|
|
3006
|
+
text(note.title, style = TextStyle.HEADING)
|
|
3007
|
+
text(note.body, style = TextStyle.BODY)
|
|
3008
|
+
// The explicit button pairs with the mid-pinch (onBack above) —
|
|
3009
|
+
// same transition, discoverable on screen.
|
|
3010
|
+
button("Back to notes", style = ButtonStyle.OUTLINE, id = "back-to-notes") {
|
|
3011
|
+
scope.launch { showBrowse() }
|
|
3012
|
+
}
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
3015
|
+
}
|
|
3016
|
+
}`,
|
|
3017
|
+
swift: `// ⚠️ iOS PARITY PENDING — the iOS library has no DisplayClient yet.
|
|
3018
|
+
// The display surface is Android-first. Until the Swift port lands, iOS
|
|
3019
|
+
// apps see glasses.display.isAvailable as unavailable and should keep the
|
|
3020
|
+
// voice-first path (read notes aloud). The Android pattern above is the
|
|
3021
|
+
// contract the Swift port will mirror (result-builder DSL, select-only
|
|
3022
|
+
// input routing, explicit Back affordance).`,
|
|
3023
|
+
},
|
|
3024
|
+
explanation: `THE AGENT-SIDE VERIFICATION LOOP — run from the same MCP session
|
|
3025
|
+
|
|
3026
|
+
// 0. Display is PER-DEVICE and a fresh sim session defaults to
|
|
3027
|
+
// rayban_meta (NO display). Set the device first:
|
|
3028
|
+
await setSimDevice({ sessionId, device: "rayban_display" });
|
|
3029
|
+
|
|
3030
|
+
// 1. Wake, then drive the browse view (works against the REAL provider):
|
|
3031
|
+
await injectTranscript({ sessionId, text: "hey notes" });
|
|
3032
|
+
// ... wait for assistant.session_started in getEventLog, then:
|
|
3033
|
+
const inj = await injectAssistantUtterance({ sessionId, text: "show me my notes on the display" });
|
|
3034
|
+
await assertToolCalled({ sessionId, name: "show_notes", sinceCursor: inj.watchCursor });
|
|
3035
|
+
|
|
3036
|
+
// 2. Read EXACTLY what is on the glasses screen — structured, no pixels:
|
|
3037
|
+
const d1 = await getDisplayState({ sessionId });
|
|
3038
|
+
// d1.tree = the rendered DisplayNode tree (heading + 5 cards + overflow)
|
|
3039
|
+
// d1.interactiveIds = ["box-0", ..., "box-4"] ← the pinchable cards
|
|
3040
|
+
|
|
3041
|
+
// 3. Pinch a card exactly the way the Neural Band would:
|
|
3042
|
+
await injectInput({ sessionId, action: "select", targetId: "box-1" });
|
|
3043
|
+
const d2 = await getDisplayState({ sessionId });
|
|
3044
|
+
// d2 = the detail view; d2.interactiveIds = ["back-to-notes"]
|
|
3045
|
+
|
|
3046
|
+
// 4. Back via the GESTURE — mid-pinch on hardware, injected back in the sim.
|
|
3047
|
+
// The view's onBack fires and re-renders browse:
|
|
3048
|
+
await injectInput({ sessionId, action: "back" });
|
|
3049
|
+
// getDisplayState → the browse view again; the durable trail shows
|
|
3050
|
+
// display_back → display_show in causal order. (The explicit
|
|
3051
|
+
// back-to-notes button does the same transition via select.)
|
|
3052
|
+
|
|
3053
|
+
// 5. Voice rail over the same state machine:
|
|
3054
|
+
// "open my groceries note" → show_note → detail
|
|
3055
|
+
// "go back to the list" → show_notes → browse
|
|
3056
|
+
|
|
3057
|
+
// 6. Degradation branch: setSimDevice({ device: "rayban_meta" }) flips
|
|
3058
|
+
// isAvailable LIVE (no reconnect). The same ask now returns the tool
|
|
3059
|
+
// Err and the model offers to read the note aloud instead.
|
|
3060
|
+
|
|
3061
|
+
VERIFICATION NOTES
|
|
3062
|
+
|
|
3063
|
+
- getDisplayState reads the live in-memory hub snapshot — it works headless
|
|
3064
|
+
(no browser tab needed to verify show / clear / tree contents).
|
|
3065
|
+
- injectInput DOES need the sim browser tab attached (ensureSimulatorBrowser)
|
|
3066
|
+
— the browser owns the rendered tree + focus, and routes the selection back
|
|
3067
|
+
to the app the same way real hardware would.
|
|
3068
|
+
- getEventLog(filter: "display") is the durable trace: display_show (with
|
|
3069
|
+
node counts), display_select <id>, display_navigate (with the focused id),
|
|
3070
|
+
display_back. Event ORDER proves causality — a pinch that re-renders shows
|
|
3071
|
+
as display_select followed by display_show.
|
|
3072
|
+
- Navigate (the slide) is observable via the display_navigate events, which
|
|
3073
|
+
carry the id the focus landed on.`,
|
|
3074
|
+
gotchas: [
|
|
3075
|
+
"**Gate on `isAvailable`, never the model name** — and return the reason in the tool Err (\"These glasses have no display...\") so the model explains it accurately instead of improvising. The gate flips LIVE when the sim device changes; the same running session can see true then false.",
|
|
3076
|
+
"**`show {}` replaces the whole display** — own the view state app-side (browse vs detail) and re-render complete views on every transition. There are no incremental updates.",
|
|
3077
|
+
"**Register `onBack` on EVERY show — back is view-contextual.** Detail's onBack re-renders browse; browse's onBack clears the display; voice 'go back' asks wire to the same transition (show_notes). A show without onBack ignores the gesture, and clear() drops the current handlers so a stale onBack can't fire later. Sim-verified; the real-hardware mid-pinch wiring lands with the DAT display validation pass.",
|
|
3078
|
+
"**Give every clickable node a stable id** — buttons via `id = \"back-to-notes\"`, cards via `column(onClick = ..., id = \"note-\" + note.id)`. Without one, containers fall back to positional box-N ids that shift on reorder, coupling agents/tests to render order instead of identity.",
|
|
3079
|
+
"**onClick is a plain () -> Unit** — launch a coroutine inside it for the suspend show()/clear() calls.",
|
|
3080
|
+
"**A fresh sim session defaults to rayban_meta (no display)** — setSimDevice('rayban_display') before driving any display flow, or every show is a silent no-op and getDisplayState stays empty.",
|
|
3081
|
+
],
|
|
3082
|
+
relatedFeatures: ["display", "assistant_runtime", "assistant_tool", "voice_command"],
|
|
3083
|
+
};
|
|
2890
3084
|
export const CODE_EXAMPLES = {
|
|
2891
3085
|
voice_qa_assistant: VOICE_QA_ASSISTANT,
|
|
2892
3086
|
barge_in_speak: BARGE_IN_SPEAK,
|
|
@@ -2898,6 +3092,7 @@ export const CODE_EXAMPLES = {
|
|
|
2898
3092
|
agent_test_loop: AGENT_TEST_LOOP,
|
|
2899
3093
|
assistant_agent_loop: ASSISTANT_AGENT_LOOP,
|
|
2900
3094
|
agent_driven_e2e_full_loop: AGENT_DRIVEN_E2E_FULL_LOOP,
|
|
3095
|
+
display_browse_detail: DISPLAY_BROWSE_DETAIL,
|
|
2901
3096
|
conversation_agent_loop: CONVERSATION_AGENT_LOOP,
|
|
2902
3097
|
};
|
|
2903
3098
|
export const CODE_EXAMPLE_PATTERNS = Object.keys(CODE_EXAMPLES).sort();
|