@extentos/mcp-server 0.1.3 → 0.1.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/codeExamples.d.ts.map +1 -1
- package/dist/tools/data/codeExamples.js +114 -57
- package/dist/tools/data/codeExamples.js.map +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +1 -10
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/docs/index.d.ts.map +1 -1
- package/dist/tools/docs/index.js +4 -3
- package/dist/tools/docs/index.js.map +1 -1
- package/dist/tools/handlers/injectAssistantUtterance.d.ts.map +1 -1
- package/dist/tools/handlers/injectAssistantUtterance.js +36 -263
- package/dist/tools/handlers/injectAssistantUtterance.js.map +1 -1
- package/package.json +1 -1
|
@@ -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;AA20FD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAYrD,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAAoC,CAAC"}
|
|
@@ -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.
|
|
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.",
|
|
1908
1908
|
code: {
|
|
1909
1909
|
kotlin: `// ── App bootstrap ───────────────────────────────────────────────────
|
|
1910
1910
|
// Run once during app startup, after RECORD_AUDIO is granted. The
|
|
@@ -2306,8 +2306,9 @@ func startRawForm(_ glasses: ExtentosGlasses) async throws {
|
|
|
2306
2306
|
|
|
2307
2307
|
→ For the dedicated agent-driven workflow with FOUR-channel verification
|
|
2308
2308
|
(getEventLog + adb logcat + screencap + library-state inspection), the
|
|
2309
|
-
|
|
2310
|
-
|
|
2309
|
+
explicit two-step wake pattern (mirrors real hardware), the multi-tool
|
|
2310
|
+
sweep, and the silence-timeout / camera-tab gotchas, see
|
|
2311
|
+
\`getCodeExample(pattern: "agent_driven_e2e_full_loop")\`. The block
|
|
2311
2312
|
below is the quickstart; the dedicated example is the production
|
|
2312
2313
|
pattern.
|
|
2313
2314
|
|
|
@@ -2438,7 +2439,7 @@ side with this agent loop and watch the panel react.`,
|
|
|
2438
2439
|
],
|
|
2439
2440
|
relatedFeatures: ["assistant_runtime", "assistant_start", "assistant_tool", "assistant_provider_openai", "assistant_vision", "assistant_session_runtime", "audio_chunks", "speak", "capture_photo"],
|
|
2440
2441
|
};
|
|
2441
|
-
// ── Phase 4 agent-driven E2E loop
|
|
2442
|
+
// ── Phase 4 agent-driven E2E loop ─────────────────────────────────────
|
|
2442
2443
|
//
|
|
2443
2444
|
// Sister pattern to `assistant_agent_loop`. That one shows the customer-
|
|
2444
2445
|
// side handler code; THIS one shows the AGENT-side workflow that drives
|
|
@@ -2448,12 +2449,15 @@ side with this agent loop and watch the panel react.`,
|
|
|
2448
2449
|
// each other.
|
|
2449
2450
|
//
|
|
2450
2451
|
// Iter5.2 (2026-05-27) made `injectAssistantUtterance(text)` drive the
|
|
2451
|
-
// REAL OpenAI Realtime provider, not just Mock
|
|
2452
|
-
//
|
|
2453
|
-
//
|
|
2454
|
-
//
|
|
2455
|
-
//
|
|
2456
|
-
//
|
|
2452
|
+
// REAL OpenAI Realtime provider, not just Mock — same MCP call, same
|
|
2453
|
+
// code, the runtime decides based on AssistantProvider.OpenAi vs .Mock().
|
|
2454
|
+
// assertToolCalled's cursor anchor (b87388d, 2026-05-27) eliminated the
|
|
2455
|
+
// stale-match false-positive. The 0.1.3 iter5.3 autoWake was reverted
|
|
2456
|
+
// in 0.1.4 (2026-05-28); the explicit two-step wake pattern
|
|
2457
|
+
// (injectTranscript → wait for session_started → injectAssistantUtterance)
|
|
2458
|
+
// is canonical because it mirrors the real-hardware flow exactly —
|
|
2459
|
+
// phrase, wait, command. Don't auto-magic the wake; agents should drive
|
|
2460
|
+
// it explicitly and observe each step.
|
|
2457
2461
|
const AGENT_DRIVEN_E2E_FULL_LOOP = {
|
|
2458
2462
|
pattern: "agent_driven_e2e_full_loop",
|
|
2459
2463
|
title: "Phase 4 assistant — agent-driven E2E loop with multi-channel verification (real OpenAi capable)",
|
|
@@ -2536,7 +2540,10 @@ class NotesAssistant(
|
|
|
2536
2540
|
ToolResult.Ok("looking")
|
|
2537
2541
|
}
|
|
2538
2542
|
}
|
|
2539
|
-
// Wake phrase — the
|
|
2543
|
+
// Wake phrase — exactly the path the agent test loop drives
|
|
2544
|
+
// via injectTranscript("hey notes"). Real users say it; the
|
|
2545
|
+
// agent simulates it. Same wire shape, same handler, same
|
|
2546
|
+
// session.wake() call.
|
|
2540
2547
|
glasses.voice.onPhrase("hey notes") {
|
|
2541
2548
|
Log.i(TAG, "wake phrase matched")
|
|
2542
2549
|
session?.wake()
|
|
@@ -2607,7 +2614,9 @@ final class NotesAssistant: @unchecked Sendable {
|
|
|
2607
2614
|
return .ok("photo saved")
|
|
2608
2615
|
}
|
|
2609
2616
|
}
|
|
2610
|
-
// Wake phrase wiring
|
|
2617
|
+
// Wake phrase wiring — same path the agent test loop drives via
|
|
2618
|
+
// injectTranscript("hey notes"). Real users say it; the agent
|
|
2619
|
+
// simulates it.
|
|
2611
2620
|
_ = glasses.voice.onPhrase("hey notes") { [weak self] in
|
|
2612
2621
|
await self?.session?.wake()
|
|
2613
2622
|
}
|
|
@@ -2622,9 +2631,45 @@ final class NotesAssistant: @unchecked Sendable {
|
|
|
2622
2631
|
glasses: "meta_rayban", platform: "android",
|
|
2623
2632
|
});
|
|
2624
2633
|
|
|
2625
|
-
// 2.
|
|
2626
|
-
//
|
|
2627
|
-
//
|
|
2634
|
+
// 2. Wake the assistant — explicit two-step pattern that MIRRORS THE
|
|
2635
|
+
// REAL-HARDWARE FLOW. A real user says "hey elizabeth" out loud, the
|
|
2636
|
+
// library's voice.onPhrase matches, the customer's handler calls
|
|
2637
|
+
// session.wake(), the WS opens, the model handshakes. The agent
|
|
2638
|
+
// simulates the same path:
|
|
2639
|
+
// a) injectTranscript("hey elizabeth") ← manual_trigger STT
|
|
2640
|
+
// b) wait for assistant.session_started ← wake completed
|
|
2641
|
+
// c) THEN injectAssistantUtterance(text) ← user command
|
|
2642
|
+
async function wake(sessionId, wakePhrase) {
|
|
2643
|
+
const head = await getEventLog({ sessionId, filter: "voice", limit: 1 });
|
|
2644
|
+
let cur = head.cursor;
|
|
2645
|
+
await injectTranscript({ sessionId, text: wakePhrase });
|
|
2646
|
+
// Watch forward for session_started. follow:true blocks until events
|
|
2647
|
+
// land instead of returning empty snapshots.
|
|
2648
|
+
const deadline = Date.now() + 6000;
|
|
2649
|
+
while (Date.now() < deadline) {
|
|
2650
|
+
const log = await getEventLog({
|
|
2651
|
+
sessionId, cursor: cur, filter: "voice",
|
|
2652
|
+
follow: true, timeoutMs: 3000,
|
|
2653
|
+
});
|
|
2654
|
+
cur = log.cursor;
|
|
2655
|
+
if (log.events.some(e => e.type === "assistant.session_started")) return;
|
|
2656
|
+
}
|
|
2657
|
+
throw new Error(\`wake timeout: "\${wakePhrase}" did not produce session_started\`);
|
|
2658
|
+
}
|
|
2659
|
+
await wake(sessionId, "hey elizabeth");
|
|
2660
|
+
|
|
2661
|
+
// 2.b. Optional but recommended: if the customer's session has an
|
|
2662
|
+
// onWake { say("Hi, I'm back...") } greeting hook, wait for it to
|
|
2663
|
+
// complete before injecting the command. Otherwise the inject's
|
|
2664
|
+
// response.create races with the greeting's response at OpenAI.
|
|
2665
|
+
// Watch for the first assistant_spoke after session_started, or
|
|
2666
|
+
// sleep ~2s as a coarse buffer.
|
|
2667
|
+
await sleep(2000);
|
|
2668
|
+
|
|
2669
|
+
// 3. Sweep across N tools in one session. Pace your injects under
|
|
2670
|
+
// \`sleepAfterSilence\` (Elizabeth ships 30s) so the session stays
|
|
2671
|
+
// Active across the loop. If you need a long debug pause between
|
|
2672
|
+
// injects, re-wake explicitly via wake() above when you come back.
|
|
2628
2673
|
const cases = [
|
|
2629
2674
|
{ utter: "start taking notes", expect: "start_notes" },
|
|
2630
2675
|
{ utter: "save this view", expect: "save_photo" },
|
|
@@ -2633,22 +2678,9 @@ final class NotesAssistant: @unchecked Sendable {
|
|
|
2633
2678
|
];
|
|
2634
2679
|
|
|
2635
2680
|
for (const c of cases) {
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
// autoWake defaults true; wakePhrase defaults "hey elizabeth" —
|
|
2640
|
-
// override for apps with a different wake phrase:
|
|
2641
|
-
wakePhrase: "hey notes",
|
|
2642
|
-
});
|
|
2643
|
-
// inj.autoWake describes what the pre-wake step did:
|
|
2644
|
-
// { action: "skipped_active" } session was up already
|
|
2645
|
-
// { action: "pre_waked", waitedMs: 1843 } re-waked from dormant
|
|
2646
|
-
// { action: "pre_wake_timeout", reason } wake phrase didn't match
|
|
2647
|
-
// — check glasses.voice.onPhrase
|
|
2648
|
-
// registration in the app
|
|
2649
|
-
|
|
2650
|
-
// 3. Assert the tool fired. The cursor anchor (auto since b87388d)
|
|
2651
|
-
// eliminates stale matches from prior runs.
|
|
2681
|
+
await injectAssistantUtterance({ sessionId, text: c.utter });
|
|
2682
|
+
// The cursor anchor in assertToolCalled (b87388d) eliminates stale
|
|
2683
|
+
// matches from prior runs.
|
|
2652
2684
|
const call = await assertToolCalled({
|
|
2653
2685
|
sessionId, name: c.expect, timeoutMs: 5000,
|
|
2654
2686
|
});
|
|
@@ -2752,28 +2784,52 @@ F13: never bake a \`useMock\` Boolean into handler code; wire it via a build
|
|
|
2752
2784
|
flavor so the choice is visible in the AssistantStatusBadge (glasses-ui) +
|
|
2753
2785
|
the sim's waveform color so dev never confuses which mode is running.
|
|
2754
2786
|
|
|
2755
|
-
WAKING THE SESSION —
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2787
|
+
WAKING THE SESSION — explicit two-step, mirrors real hardware
|
|
2788
|
+
|
|
2789
|
+
The canonical wake path is two discrete actions, exactly like a real
|
|
2790
|
+
user:
|
|
2791
|
+
|
|
2792
|
+
1) injectTranscript({ sessionId, text: "hey elizabeth" })
|
|
2793
|
+
→ backend relays as stt_transcript / source:manual_trigger
|
|
2794
|
+
→ library's VoiceClient fires voice.onPhrase("hey elizabeth")
|
|
2795
|
+
→ customer's handler calls session.wake() (idempotent if Active)
|
|
2796
|
+
2) Watch getEventLog for \`assistant.session_started\`
|
|
2797
|
+
→ wake completed: WS open, session.update handshake done
|
|
2798
|
+
3) injectAssistantUtterance({ sessionId, text: "..." })
|
|
2799
|
+
→ backend relays as stt_transcript / source:assistant_inject
|
|
2800
|
+
→ library's OpenAi provider sends conversation.item.create +
|
|
2801
|
+
response.create on the live Realtime WS
|
|
2802
|
+
→ model decides which tool to call
|
|
2803
|
+
|
|
2804
|
+
Don't try to collapse 1-3 into one call. The 0.1.3 iter5.3 autoWake
|
|
2805
|
+
attempted that and was reverted in 0.1.4 — it hid the wake step + raced
|
|
2806
|
+
with onWake greeting hooks + diverged from how real users actually
|
|
2807
|
+
activate the assistant. The explicit pattern is the source of truth and
|
|
2808
|
+
the only faithful test of the wake flow.
|
|
2809
|
+
|
|
2810
|
+
SILENCE-TIMEOUT FRICTION DURING AGENT DEBUG ITERATION
|
|
2811
|
+
|
|
2812
|
+
Elizabeth ships \`sleepAfterSilence(30.seconds)\` because that's correct
|
|
2813
|
+
production behavior — battery + token spend. In agent test loops where
|
|
2814
|
+
you spend > 30s between injects scrolling event logs / checking
|
|
2815
|
+
screencaps / debugging a stale match, the session WILL transition
|
|
2816
|
+
Dormant and the next inject silently drops at the library's
|
|
2817
|
+
\`connectionRef\`-null check.
|
|
2818
|
+
|
|
2819
|
+
Two options:
|
|
2820
|
+
|
|
2821
|
+
- **Pace your test < 30s per inject** when possible. The four-tool
|
|
2822
|
+
sweep above completes well under 30s if you don't pause between.
|
|
2823
|
+
- **Re-wake explicitly before injecting** after a long debug pause.
|
|
2824
|
+
Re-run the wake() helper from step 2 above — same two-step path.
|
|
2825
|
+
|
|
2826
|
+
A sim-only "hold session active" feature (pause silence timer for the
|
|
2827
|
+
agent test loop, distinct from the real-hardware flow) is on the
|
|
2828
|
+
backlog — see project_agent_test_capability_gaps. It's intentionally
|
|
2829
|
+
NOT bundled into injectAssistantUtterance for the same reason the
|
|
2830
|
+
iter5.3 autoWake was reverted: keep the wake flow faithful to real
|
|
2831
|
+
hardware; treat "session held active for debug" as a separate concern
|
|
2832
|
+
with its own MCP surface.
|
|
2777
2833
|
|
|
2778
2834
|
CAMERA-USING TOOLS NEED A LIVE SIM BROWSER TAB
|
|
2779
2835
|
|
|
@@ -2800,13 +2856,14 @@ For headless CI: camera-tool verification is blocked today. Non-camera tools
|
|
|
2800
2856
|
\`ensureSimulatorBrowser\` MCP tool would lift this for cross-platform CI —
|
|
2801
2857
|
see project_iter4_sim_agent_discovery in shared-context.`,
|
|
2802
2858
|
gotchas: [
|
|
2803
|
-
"**
|
|
2804
|
-
"**
|
|
2805
|
-
"
|
|
2859
|
+
"**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 elizabeth\")` → 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.",
|
|
2860
|
+
"**If the customer has `onWake { say(\"...\") }`, wait for the greeting 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.",
|
|
2861
|
+
"**`sleepAfterSilence` is sensible production behavior, hostile to long agent debug iteration.** Elizabeth 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.",
|
|
2862
|
+
"**assertToolCalled cursor-anchors at \"now\" (b87388d, 2026-05-27).** Pre-fix, a no-cursor first poll returned the OLDEST 200 events — any matching assistant.tool_called from yesterday's testing satisfied immediately with a stale call_id + bogus waitedMs (e.g. 400ms reported on an OpenAi call that physically takes 1-2s). Now: a one-time limit=1 anchor before polling guarantees only events arriving AFTER the call match. No schema change for callers.",
|
|
2806
2863
|
"**Camera-tool tests need the sim browser tab open. There's no automated workaround today.** save_photo / describe_scene / capture_video and any tool body that calls glasses.camera.* will return Err(\"camera failed\") without `connectedRoles.browser` being non-null. Open the tab once at the session start (commands above) and poll getSimulatorStatus until ready. Future: an `ensureSimulatorBrowser` MCP tool will collapse this into one call.",
|
|
2807
2864
|
"**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).",
|
|
2808
2865
|
"**WAL caveat (Android Room): always pull .db + .db-wal + .db-shm together.** Room writes in WAL mode by default. Pulling only the .db file gives a stale snapshot — recent writes live in .db-wal. The agent's first DB-read returning zero rows almost always means missing .db-wal. iOS / GRDB doesn't have this — GRDB ships with WAL enabled but the pulled DB self-checkpoints on close.",
|
|
2809
|
-
"**Don't mint a fresh sim per test.** createSimulatorSession is get-or-create — the same sim resumes across test runs. Use `resetFresh: true` ONLY when you need a clean event-log slate; otherwise rebuild + reinstall the app + the library reattaches automatically.
|
|
2866
|
+
"**Don't mint a fresh sim per test.** createSimulatorSession is get-or-create — the same sim resumes across test runs. Use `resetFresh: true` ONLY when you need a clean event-log slate; otherwise rebuild + reinstall the app + the library reattaches automatically.",
|
|
2810
2867
|
"**OpenAi inject latency varies by tool body cost.** State-toggle tools (start_notes / save_notes) dispatch in 500-1000ms; camera+vision tools (describe_scene with includeImage) take 2000-4000ms (camera + image upload + model reasoning). Budget `timeoutMs: 5000` for the former + `timeoutMs: 10000` for vision tools. Mock dispatches in <50ms for everything.",
|
|
2811
2868
|
"**The same `injectAssistantUtterance(text)` MCP call drives BOTH Mock and OpenAi.** The runtime picks based on `AssistantProvider.OpenAi(...)` vs `AssistantProvider.Mock()` at session creation. Wire the choice via a build flavor (USE_MOCK_ASSISTANT BuildConfig) per F13 — never bake `useMock` into handler code. CI runs the Mock flavor for the inner loop; pre-release smoke runs the OpenAi flavor for the real-model confidence pass.",
|
|
2812
2869
|
"**Pull the JS-side test driver into your CI as a script, not inside the agent.** The agent-driven workflow above is great for inner-loop scaffolding, but for repeated CI runs commit the test code as a separate `.test.ts` / `.test.kt` file in the host app's repo. Use `vitest` (TS) or `kotlinx.coroutines.test.runTest` (Kotlin instrumented test) to run it. The MCP tool calls are still issued (the test driver calls Extentos backend APIs directly using @extentos/mcp-server's exported helpers, or via the MCP HTTP transport).",
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAMpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,EAAE,KAAK,CAAC;KAC7B,CAAC;CACH;AAMD,eAAO,MAAM,eAAe,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAMpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,EAAE,KAAK,CAAC;KAC7B,CAAC;CACH;AAMD,eAAO,MAAM,eAAe,EAAE,OAAO,EA2fpC,CAAC;AAEF,eAAO,MAAM,SAAS,QAAyB,CAAC;AAShD,wBAAgB,iCAAiC,CAC/C,IAAI,GAAE,SAAS,OAAO,EAAoB,GACzC,IAAI,CAiBN"}
|
|
@@ -307,7 +307,7 @@ export const toolDefinitions = [
|
|
|
307
307
|
},
|
|
308
308
|
{
|
|
309
309
|
name: "injectAssistantUtterance",
|
|
310
|
-
description: "**Phase 4** — drive an assistant turn from outside the live session for agent-driven E2E tests of `glasses.assistant.start { tool(...) { ... } }`. **As of iter5.2 (2026-05-27) the `text:` path works for BOTH the Mock provider and the real OpenAi Realtime provider** — same MCP call, provider-appropriate routing: (a) **OpenAi (default in production apps)** — injected as a synthetic user turn via `conversation.item.create` + `response.create` on the live Realtime WebSocket. Drives REAL model behavior with full conversation context + tool routing decisions; costs real tokens (~$0.005/turn); takes 500-2000ms for the model to respond + dispatch tool. (b) **Mock** — word-overlap-matches against registered tool descriptions + dispatches synchronously. Sub-ms, deterministic, $0.
|
|
310
|
+
description: "**Phase 4** — drive an assistant turn from outside the live session for agent-driven E2E tests of `glasses.assistant.start { tool(...) { ... } }`. **As of iter5.2 (2026-05-27) the `text:` path works for BOTH the Mock provider and the real OpenAi Realtime provider** — same MCP call, provider-appropriate routing: (a) **OpenAi (default in production apps)** — injected as a synthetic user turn via `conversation.item.create` + `response.create` on the live Realtime WebSocket. Drives REAL model behavior with full conversation context + tool routing decisions; costs real tokens (~$0.005/turn); takes 500-2000ms for the model to respond + dispatch tool. (b) **Mock** — word-overlap-matches against registered tool descriptions + dispatches synchronously. Sub-ms, deterministic, $0. The library filters inject frames to `source: \"assistant_inject\"` only, so browser-mic STT transcripts (already flowing via the PCM audio path) are NOT double-injected. **Wake first if Dormant.** This handler does NOT auto-wake — if the session is Dormant (silence-timeout, fresh session, post-`end_conversation`), the library's `injectUserTurn` silently no-ops because `connectionRef` is null + the inject is dropped. Drive the wake faithfully via `injectTranscript({ text: \"hey elizabeth\" })` (or your app's wake phrase), wait for `assistant.session_started` in `getEventLog`, THEN inject. This mirrors what a real user does on real hardware: phrase, wait, command. (The iter5.3 autoWake convenience was shipped + reverted in 0.1.4 — it collapsed the explicit two-step into one call, hiding the wake step and racing with `onWake` greeting hooks.) audioWavBase64 path is DEFERRED to v1.1 (needs Rust core changes) — handler returns not_implemented if passed. USE in the agent E2E loop: createSimulatorSession → injectTranscript(\"hey elizabeth\") → (wait for session_started) → injectAssistantUtterance({ text: \"...\" }) → assertToolCalled({ name: \"...\" }) → getEventLog(types:['assistant.*']) → cross-verify via adb logcat + screencap. DON'T USE for Phase 3 `glasses.conversation.onWake { listen / speak }` flows — that's still `injectTranscript`'s domain.",
|
|
311
311
|
inputSchema: {
|
|
312
312
|
type: "object",
|
|
313
313
|
properties: {
|
|
@@ -322,15 +322,6 @@ export const toolDefinitions = [
|
|
|
322
322
|
minLength: 1,
|
|
323
323
|
description: "DEFERRED to v1.1 — passing this field returns `not_implemented`. The intended path: base64-encoded WAV (8 kHz mono i16 LE PCM); library decodes and feeds through audio_chunks Flow to the active real provider. Needs a Rust core extension that Sprint 1's machine-split deliberately avoids. For end-to-end real-provider validation in the meantime, run the OpenAi provider session with a real mic source (sim browser tab mic, or real glasses).",
|
|
324
324
|
},
|
|
325
|
-
autoWake: {
|
|
326
|
-
type: "boolean",
|
|
327
|
-
description: "**Default true.** Before dispatching the inject, peek at the session's lifecycle events; if the assistant is Dormant (silence-timeout sleep, fresh session, post-`end_conversation`), pre-inject `wakePhrase` as a manual_trigger STT frame and wait (~1-3s on a healthy WS) for `assistant.session_started`, then dispatch the assistant_inject. Already-active sessions skip the pre-wake entirely (one ~50ms events query is the only cost). Set false to opt out — useful when you want to assert the dormant-drop behavior itself, or when you're driving the wake yourself via injectTranscript with custom timing. The response always includes an `autoWake` block describing what happened (`skipped_active` | `pre_waked` | `pre_wake_timeout` | `pre_wake_delivery_failed`) so the agent can see exactly what the handler did.",
|
|
328
|
-
},
|
|
329
|
-
wakePhrase: {
|
|
330
|
-
type: "string",
|
|
331
|
-
minLength: 1,
|
|
332
|
-
description: "Wake phrase to inject when autoWake fires the pre-wake path. Defaults to `\"hey elizabeth\"` (the canonical dogfood pattern). Override when your app registers a different phrase via `glasses.voice.onPhrase(...) { session.wake() }` — the customer-side handler matches phrases exactly (case-insensitive substring on final transcripts). Ignored when `autoWake: false` or when the session is already Active.",
|
|
333
|
-
},
|
|
334
325
|
},
|
|
335
326
|
required: ["sessionId"],
|
|
336
327
|
additionalProperties: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AA2LD,eAAO,MAAM,SAAS,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AA2LD,eAAO,MAAM,SAAS,EAAE,QAAQ,EAimC/B,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAuB/E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,MAAU,EACvB,eAAe,GAAE,MAAY,GAC5B,MAAM,EAAE,CAmBV"}
|
package/dist/tools/docs/index.js
CHANGED
|
@@ -556,8 +556,9 @@ export const DOC_INDEX = [
|
|
|
556
556
|
"- `assistant.error` { kind, message }\n\n" +
|
|
557
557
|
"Reach customer code via `glasses.runtime.events.filterIsInstance<RuntimeEvent.Assistant>()`, the simulator's right-rail AssistantPanel, AND `getEventLog(filter: \"voice\")` (assistant.error climbs to filter: \"errors\" automatically via the backend severity classifier).\n\n" +
|
|
558
558
|
"**PII boundary — different from Phase 3.** Phase 3 conversation.* events stripped text (only `textLen` char count) because the cascaded path routed transcripts through Extentos backend. Phase 4 events DO carry verbatim transcripts in `user_spoke` / `assistant_spoke` because the BYOK contract routes transcripts device → openai.com directly without touching Extentos backend. The platform-side PII enforcement doesn't apply; customer apps own their data retention story. Document this delta in your app's privacy policy.\n\n" +
|
|
559
|
-
"**Agent-driven E2E testing.**
|
|
560
|
-
"- `
|
|
559
|
+
"**Agent-driven E2E testing.** Three MCP tools close the loop without humans, in this order:\n" +
|
|
560
|
+
"- `injectTranscript({ sessionId, text })` — drives the wake phrase via `stt_transcript / source: \"manual_trigger\"`. Library's VoiceClient matches `glasses.voice.onPhrase(...)`, customer's handler calls `session.wake()`. The faithful real-hardware wake path — exactly what a real user does saying the phrase.\n" +
|
|
561
|
+
"- `injectAssistantUtterance({ sessionId, text })` — as of iter5.2 (2026-05-27) drives BOTH the Mock provider AND the real OpenAi Realtime provider with the same MCP call. Mock: deterministic word-overlap-match against tool descriptions, sub-ms, $0. OpenAi: synthetic user turn via `conversation.item.create` + `response.create` on the live Realtime WebSocket, ~$0.005/turn, real model reasoning. **The session must be Active when this runs** — wake it first via `injectTranscript` and wait for `assistant.session_started` in `getEventLog`. The library silently drops `assistant_inject` frames when `connectionRef` is null. (The iter5.3 autoWake auto-magic was shipped + reverted in 0.1.4 — it diverged from the real-hardware mental model; explicit two-step is canonical.) `audioWavBase64:` alternate path is deferred to v1.1.\n" +
|
|
561
562
|
"- `assertToolCalled({ sessionId, name, argsMatch?, timeoutMs? })` — polls `getEventLog` for `assistant.tool_called` matching name (and optionally a top-level partial-match of args). Cursor-anchored at \"now\" (fix b87388d) so prior runs don't false-match. Returns the matched event or errors with `tool_not_called` on timeout.\n\n" +
|
|
562
563
|
"Handler-side recipe: `getCodeExample(pattern: 'assistant_agent_loop')`. Agent-side multi-channel verification workflow: `getCodeExample(pattern: 'agent_driven_e2e_full_loop')`.\n\n" +
|
|
563
564
|
"**Migration from Phase 3 conversation runtime.** Three canonical walkthroughs in `docs/migration/phase-3-to-phase-4.md` cover the common cases:\n\n" +
|
|
@@ -579,7 +580,7 @@ export const DOC_INDEX = [
|
|
|
579
580
|
"- Offline operation (end-to-end requires network)\n" +
|
|
580
581
|
"- Auto-inference of tool args schema on Swift (Q3 — deferred to v1.1+ via Swift 5.9 macros)\n" +
|
|
581
582
|
"- Custom-provider plugin API (`AssistantProvider.Custom`) — defer until ≥2 first-party providers ship.",
|
|
582
|
-
keywords: ["assistant", "phase 4", "glasses.assistant", "AssistantProvider", "OpenAi", "gpt-realtime", "tool", "ToolResult", "ToolDefinition", "BYOK", "WebSocket", "reconnection", "assistant_runtime", "assistant_agent_loop", "agent_driven_e2e_full_loop", "agent test loop", "
|
|
583
|
+
keywords: ["assistant", "phase 4", "glasses.assistant", "AssistantProvider", "OpenAi", "gpt-realtime", "tool", "ToolResult", "ToolDefinition", "BYOK", "WebSocket", "reconnection", "assistant_runtime", "assistant_agent_loop", "agent_driven_e2e_full_loop", "agent test loop", "injectAssistantUtterance", "injectTranscript", "assertToolCalled", "wake phrase", "two-step wake", "multi-channel verification", "migration", "mock"],
|
|
583
584
|
relatedTools: ["createSimulatorSession", "injectAssistantUtterance", "assertToolCalled", "getEventLog", "getCodeExample", "getCapabilityGuide", "getCredentialGuide"],
|
|
584
585
|
},
|
|
585
586
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectAssistantUtterance.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/injectAssistantUtterance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"injectAssistantUtterance.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/injectAssistantUtterance.ts"],"names":[],"mappings":"AAgDA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAW5E,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,UAAU,CAAC,CAuIrB"}
|
|
@@ -9,179 +9,44 @@
|
|
|
9
9
|
// - text: deterministic path. v1 wire-routing reuses the existing
|
|
10
10
|
// stt_transcript frame the Rust core already knows about (Phase 4
|
|
11
11
|
// plan § machine-split: NO Rust changes). MockAssistantProvider
|
|
12
|
-
// subscribes to
|
|
13
|
-
// its dispatcher. Sub-millisecond.
|
|
12
|
+
// subscribes to BrowserSim.incomingTextFrames and routes Finals to
|
|
13
|
+
// its dispatcher. Sub-millisecond.
|
|
14
14
|
// - audioWavBase64: real-provider audio path — DEFERRED to v1.1.
|
|
15
15
|
// Implementing this needs either a new inbound frame type (Rust
|
|
16
16
|
// core change) or a separate audio-chunk injection endpoint;
|
|
17
17
|
// either is out of Sprint 1 scope. Handler rejects with
|
|
18
18
|
// not_implemented for now.
|
|
19
19
|
//
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
// + the agent has no proactive signal.
|
|
20
|
+
// As of iter5.2 (2026-05-27) the text: path drives BOTH the Mock
|
|
21
|
+
// provider AND the real OpenAi Realtime provider. The OpenAi provider's
|
|
22
|
+
// incomingTextFrames subscription filters strictly on
|
|
23
|
+
// source:"assistant_inject" + routes through injectUserTurn, which
|
|
24
|
+
// sends conversation.item.create (role=user, input_text) + response.create
|
|
25
|
+
// on the live Realtime WebSocket. ~$0.005/turn, 500-2000ms latency.
|
|
27
26
|
//
|
|
28
|
-
//
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
27
|
+
// WAKE FLOW — explicit two-step (mirrors real hardware). The session
|
|
28
|
+
// auto-sleeps after `sleepAfterSilence` (Elizabeth ships 30s); when
|
|
29
|
+
// dormant, injectUserTurn silently no-ops because connectionRef is null.
|
|
30
|
+
// Faithful test path:
|
|
31
|
+
// 1) injectTranscript(sessionId, "hey elizabeth") // wake phrase
|
|
32
|
+
// → backend relays as stt_transcript / source:manual_trigger
|
|
33
|
+
// → library's VoiceClient fires voice.onPhrase("hey elizabeth")
|
|
34
|
+
// → customer's handler calls session.wake() (idempotent if Active)
|
|
35
|
+
// 2) wait for assistant.session_started in getEventLog (cursor-anchored)
|
|
36
|
+
// 3) injectAssistantUtterance(sessionId, text) // command
|
|
37
|
+
// This mirrors the real-user flow exactly: phrase, then command. The
|
|
38
|
+
// agent's discipline replaces the iter5.3 autoWake auto-magic, which
|
|
39
|
+
// was reverted in 0.1.4 because it hid the wake step + raced with
|
|
40
|
+
// onWake hooks + diverged from the real-hardware mental model.
|
|
35
41
|
//
|
|
36
42
|
// USE for agent-driven end-to-end tests of glasses.assistant.start
|
|
37
|
-
// (e.g. createSimulatorSession →
|
|
38
|
-
// "take a picture" }) →
|
|
43
|
+
// (e.g. createSimulatorSession → injectTranscript("hey elizabeth") →
|
|
44
|
+
// injectAssistantUtterance({ text: "take a picture" }) →
|
|
45
|
+
// assertToolCalled({ name: "take_picture" })).
|
|
39
46
|
// DON'T USE for capability discovery (use getPlatformInfo) or static
|
|
40
47
|
// validation (use validateIntegration).
|
|
41
48
|
import { okResponse, errorResponse } from "../response.js";
|
|
42
49
|
import { backendFetch } from "../util/backendClient.js";
|
|
43
|
-
// Wake-phrase default + tuning. "hey elizabeth" matches the canonical
|
|
44
|
-
// dogfood pattern; agents testing apps with a different wake phrase pass
|
|
45
|
-
// `wakePhrase` explicitly. Timing budget: a fresh OpenAI Realtime WS
|
|
46
|
-
// handshake + session.update typically completes in 1.5-2.5s on a healthy
|
|
47
|
-
// connection; 6s gives us ~3x headroom before reporting timeout.
|
|
48
|
-
const DEFAULT_WAKE_PHRASE = "hey elizabeth";
|
|
49
|
-
const WAKE_TIMEOUT_MS = 6_000;
|
|
50
|
-
const WAKE_POLL_MS = 200;
|
|
51
|
-
const STATE_LOOKBACK_LIMIT = 200;
|
|
52
|
-
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
53
|
-
/**
|
|
54
|
-
* Read the most recent events and infer the assistant session's current
|
|
55
|
-
* state from its explicit lifecycle trail. Scans newest-first; matches
|
|
56
|
-
* ONLY the three definitive lifecycle markers and returns on the first:
|
|
57
|
-
* - `assistant.session_started` → active
|
|
58
|
-
* - `assistant.went_dormant` → dormant
|
|
59
|
-
* - `assistant.session_ended` → ended
|
|
60
|
-
* - none of the above found → unknown (fall through to pre-wake)
|
|
61
|
-
*
|
|
62
|
-
* **Why only these three.** It would be tempting to treat any
|
|
63
|
-
* `assistant.*` event (assistant_spoke / tool_called / tool_result /
|
|
64
|
-
* user_spoke / reconnected) as evidence of an active session, but
|
|
65
|
-
* `tool_result` (and any chained downstream events) can fire AFTER
|
|
66
|
-
* `went_dormant` when a tool body triggers the sleep itself — the
|
|
67
|
-
* canonical case is `end_conversation`:
|
|
68
|
-
*
|
|
69
|
-
* assistant.tool_called end_conversation
|
|
70
|
-
* assistant.assistant_spoke "Alright, see you later."
|
|
71
|
-
* assistant.went_dormant ← session.sleep() invoked here
|
|
72
|
-
* assistant.tool_result end_conversation "conversation ended"
|
|
73
|
-
* ← tool body returns AFTER sleep
|
|
74
|
-
*
|
|
75
|
-
* In newest-first order, `tool_result` is visited before `went_dormant`.
|
|
76
|
-
* Trusting "any assistant.*" as an active signal returns "active" on a
|
|
77
|
-
* genuinely-dormant session, then the inject silently drops at the
|
|
78
|
-
* library's connectionRef-null check — the exact failure mode autoWake
|
|
79
|
-
* was added to fix. Sticking to the three lifecycle markers keeps the
|
|
80
|
-
* detector honest.
|
|
81
|
-
*
|
|
82
|
-
* "unknown" is treated as dormant by the caller (pre-wake fires). False
|
|
83
|
-
* positives there are cheap (a wasted wake phrase + ~6s timeout when
|
|
84
|
-
* the session was actually active); false negatives there (skipping
|
|
85
|
-
* pre-wake when the session is dormant) silently drop the inject —
|
|
86
|
-
* exactly what we're avoiding.
|
|
87
|
-
*/
|
|
88
|
-
async function detectAssistantState(sessionId) {
|
|
89
|
-
const params = new URLSearchParams();
|
|
90
|
-
params.set("filter", "all");
|
|
91
|
-
params.set("limit", String(STATE_LOOKBACK_LIMIT));
|
|
92
|
-
const res = await backendFetch(`/api/sessions/${encodeURIComponent(sessionId)}/events?${params.toString()}`);
|
|
93
|
-
if (!res.ok || !res.data)
|
|
94
|
-
return "unknown";
|
|
95
|
-
const events = res.data.events ?? [];
|
|
96
|
-
// Backend returns chronological (oldest→newest) in no-cursor mode; walk
|
|
97
|
-
// from the end to find the most-recent lifecycle signal.
|
|
98
|
-
for (let i = events.length - 1; i >= 0; i--) {
|
|
99
|
-
const t = events[i].type;
|
|
100
|
-
if (t === "assistant.session_started")
|
|
101
|
-
return "active";
|
|
102
|
-
if (t === "assistant.went_dormant")
|
|
103
|
-
return "dormant";
|
|
104
|
-
if (t === "assistant.session_ended")
|
|
105
|
-
return "ended";
|
|
106
|
-
}
|
|
107
|
-
return "unknown";
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Pre-inject the wake phrase as a manual_trigger STT frame, then wait for
|
|
111
|
-
* the next `assistant.session_started` event (cursor-anchored to "now"
|
|
112
|
-
* before the wake POST, so a stale session_started from a prior wake
|
|
113
|
-
* doesn't false-positive).
|
|
114
|
-
*
|
|
115
|
-
* Returns ok:true once session_started arrives, ok:false on timeout or
|
|
116
|
-
* delivery failure. The caller chooses whether to proceed — see the
|
|
117
|
-
* autoWake block in the handler for the policy (proceed-with-visibility).
|
|
118
|
-
*/
|
|
119
|
-
async function preWake(sessionId, wakePhrase, timeoutMs) {
|
|
120
|
-
// Anchor cursor BEFORE the wake POST so the readiness poll only matches
|
|
121
|
-
// session_started events that fire AFTER this point. Same pattern as
|
|
122
|
-
// assertToolCalled's cursor anchor (fix b87388d).
|
|
123
|
-
let cursor;
|
|
124
|
-
{
|
|
125
|
-
const anchorParams = new URLSearchParams();
|
|
126
|
-
anchorParams.set("filter", "all");
|
|
127
|
-
anchorParams.set("limit", "1");
|
|
128
|
-
const anchorRes = await backendFetch(`/api/sessions/${encodeURIComponent(sessionId)}/events?${anchorParams.toString()}`);
|
|
129
|
-
if (anchorRes.ok && anchorRes.data) {
|
|
130
|
-
cursor = anchorRes.data.cursor ?? undefined;
|
|
131
|
-
}
|
|
132
|
-
// Anchor failure isn't fatal — we accept a small staleness risk and
|
|
133
|
-
// proceed; the wake POST below is the real signal.
|
|
134
|
-
}
|
|
135
|
-
const startedAt = Date.now();
|
|
136
|
-
// Send the wake phrase as a manual_trigger STT frame. Routes through
|
|
137
|
-
// BrowserSimTransport → VoiceClient → onPhrase handler → session.wake().
|
|
138
|
-
// Filtered OUT by OpenAiAssistantProvider's inject subscription (source
|
|
139
|
-
// != "assistant_inject"), so it doesn't leak into the model's
|
|
140
|
-
// conversation history.
|
|
141
|
-
const wakeRes = await backendFetch(`/api/sessions/${encodeURIComponent(sessionId)}/inject`, {
|
|
142
|
-
method: "POST",
|
|
143
|
-
body: {
|
|
144
|
-
type: "stt_transcript",
|
|
145
|
-
text: wakePhrase,
|
|
146
|
-
isFinal: true,
|
|
147
|
-
confidence: 0.99,
|
|
148
|
-
source: "manual_trigger",
|
|
149
|
-
},
|
|
150
|
-
});
|
|
151
|
-
if (!wakeRes.ok || !wakeRes.data || wakeRes.data.delivered !== true) {
|
|
152
|
-
return {
|
|
153
|
-
ok: false,
|
|
154
|
-
waitedMs: Date.now() - startedAt,
|
|
155
|
-
deliveryFailure: wakeRes.data?.reason ??
|
|
156
|
-
wakeRes.errorText ??
|
|
157
|
-
`wake POST failed (HTTP ${wakeRes.status})`,
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
const deadline = startedAt + timeoutMs;
|
|
161
|
-
while (Date.now() < deadline) {
|
|
162
|
-
const params = new URLSearchParams();
|
|
163
|
-
params.set("filter", "all");
|
|
164
|
-
params.set("limit", "200");
|
|
165
|
-
if (cursor)
|
|
166
|
-
params.set("cursor", cursor);
|
|
167
|
-
const res = await backendFetch(`/api/sessions/${encodeURIComponent(sessionId)}/events?${params.toString()}`);
|
|
168
|
-
if (res.ok && res.data) {
|
|
169
|
-
const events = res.data.events ?? [];
|
|
170
|
-
for (const ev of events) {
|
|
171
|
-
if (ev.type === "assistant.session_started") {
|
|
172
|
-
return { ok: true, waitedMs: Date.now() - startedAt };
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
cursor = res.data.cursor ?? cursor;
|
|
176
|
-
}
|
|
177
|
-
await sleep(Math.min(WAKE_POLL_MS, Math.max(0, deadline - Date.now())));
|
|
178
|
-
}
|
|
179
|
-
return {
|
|
180
|
-
ok: false,
|
|
181
|
-
waitedMs: Date.now() - startedAt,
|
|
182
|
-
reason: `no assistant.session_started observed within ${timeoutMs}ms`,
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
50
|
export async function handleInjectAssistantUtterance(raw) {
|
|
186
51
|
if (!raw || typeof raw !== "object") {
|
|
187
52
|
return errorResponse({
|
|
@@ -228,35 +93,14 @@ export async function handleInjectAssistantUtterance(raw) {
|
|
|
228
93
|
retryable: false,
|
|
229
94
|
});
|
|
230
95
|
}
|
|
231
|
-
// autoWake config. Default true — the common multi-step-test gotcha is
|
|
232
|
-
// a session that auto-slept between injects (Elizabeth ships
|
|
233
|
-
// sleepAfterSilence(30s)); pre-waking when dormant turns the inject from
|
|
234
|
-
// silently-dropped into landed. wakePhrase default matches the canonical
|
|
235
|
-
// dogfood pattern; agents testing apps with a different phrase pass it
|
|
236
|
-
// explicitly.
|
|
237
|
-
const autoWake = o.autoWake !== false;
|
|
238
|
-
let wakePhrase;
|
|
239
|
-
if (typeof o.wakePhrase === "string") {
|
|
240
|
-
if (o.wakePhrase.length === 0) {
|
|
241
|
-
return errorResponse({
|
|
242
|
-
code: "invalid_arguments",
|
|
243
|
-
message: "wakePhrase must be non-empty when provided.",
|
|
244
|
-
fixHint: 'Pass wakePhrase: "hey elizabeth" (or your app\'s wake phrase as registered via glasses.voice.onPhrase), or omit it to use the default "hey elizabeth", or set autoWake:false to skip the pre-wake entirely.',
|
|
245
|
-
retryable: false,
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
wakePhrase = o.wakePhrase;
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
wakePhrase = DEFAULT_WAKE_PHRASE;
|
|
252
|
-
}
|
|
253
96
|
// v1 wire-routing: text path reuses the existing stt_transcript frame
|
|
254
97
|
// so we don't need to teach the Rust core a new inbound frame type
|
|
255
98
|
// (Phase 4 plan § machine-split: NO Rust changes). The library shell's
|
|
256
|
-
//
|
|
257
|
-
//
|
|
258
|
-
// source: "assistant_inject" so the
|
|
259
|
-
// assistant injects rather than mic
|
|
99
|
+
// OpenAi + Mock providers subscribe to BrowserSim.incomingTextFrames
|
|
100
|
+
// and filter strictly to source:"assistant_inject" (OpenAi) / accept
|
|
101
|
+
// any Final (Mock). Tagged with source: "assistant_inject" so the
|
|
102
|
+
// backend ws-hub renders these as assistant injects rather than mic
|
|
103
|
+
// injects in the event log.
|
|
260
104
|
//
|
|
261
105
|
// audioWavBase64 path: deferred to v1.1 — needs a frame-type extension
|
|
262
106
|
// or a separate audio-chunk injection endpoint. Surfaces the 'not yet
|
|
@@ -269,57 +113,6 @@ export async function handleInjectAssistantUtterance(raw) {
|
|
|
269
113
|
retryable: false,
|
|
270
114
|
});
|
|
271
115
|
}
|
|
272
|
-
// autoWake — peek at lifecycle, pre-wake if not already Active. Done
|
|
273
|
-
// BEFORE the inject so a dormant session is brought up cleanly + the
|
|
274
|
-
// assistant_inject lands on an open WS. See the file-top comment for
|
|
275
|
-
// why this defaults true.
|
|
276
|
-
let autoWakeReport = { enabled: false };
|
|
277
|
-
if (autoWake) {
|
|
278
|
-
const detectedState = await detectAssistantState(o.sessionId);
|
|
279
|
-
if (detectedState === "active") {
|
|
280
|
-
// Already up — skip the wake-phrase round-trip + just inject.
|
|
281
|
-
autoWakeReport = {
|
|
282
|
-
enabled: true,
|
|
283
|
-
action: "skipped_active",
|
|
284
|
-
detectedState,
|
|
285
|
-
};
|
|
286
|
-
}
|
|
287
|
-
else {
|
|
288
|
-
// dormant / ended / unknown — pre-wake. "ended" sessions can still
|
|
289
|
-
// sometimes be re-woken if the customer's wake handler calls
|
|
290
|
-
// assistant.start() (vs session.wake()); we attempt anyway and let
|
|
291
|
-
// the readiness wait surface the truth.
|
|
292
|
-
const wakeResult = await preWake(o.sessionId, wakePhrase, WAKE_TIMEOUT_MS);
|
|
293
|
-
if (wakeResult.ok) {
|
|
294
|
-
autoWakeReport = {
|
|
295
|
-
enabled: true,
|
|
296
|
-
action: "pre_waked",
|
|
297
|
-
wakePhrase,
|
|
298
|
-
detectedState,
|
|
299
|
-
waitedMs: wakeResult.waitedMs,
|
|
300
|
-
};
|
|
301
|
-
}
|
|
302
|
-
else if (wakeResult.deliveryFailure) {
|
|
303
|
-
autoWakeReport = {
|
|
304
|
-
enabled: true,
|
|
305
|
-
action: "pre_wake_delivery_failed",
|
|
306
|
-
wakePhrase,
|
|
307
|
-
detectedState,
|
|
308
|
-
reason: wakeResult.deliveryFailure,
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
else {
|
|
312
|
-
autoWakeReport = {
|
|
313
|
-
enabled: true,
|
|
314
|
-
action: "pre_wake_timeout",
|
|
315
|
-
wakePhrase,
|
|
316
|
-
detectedState,
|
|
317
|
-
waitedMs: wakeResult.waitedMs,
|
|
318
|
-
reason: wakeResult.reason ?? "unknown",
|
|
319
|
-
};
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
116
|
const payload = {
|
|
324
117
|
type: "stt_transcript",
|
|
325
118
|
text: text,
|
|
@@ -357,37 +150,17 @@ export async function handleInjectAssistantUtterance(raw) {
|
|
|
357
150
|
retryable: true,
|
|
358
151
|
});
|
|
359
152
|
}
|
|
360
|
-
let wakeSummary = "";
|
|
361
|
-
if (autoWakeReport.enabled) {
|
|
362
|
-
switch (autoWakeReport.action) {
|
|
363
|
-
case "skipped_active":
|
|
364
|
-
wakeSummary =
|
|
365
|
-
` autoWake: session already Active (lifecycle scan detected "${autoWakeReport.detectedState}"), pre-wake skipped.`;
|
|
366
|
-
break;
|
|
367
|
-
case "pre_waked":
|
|
368
|
-
wakeSummary =
|
|
369
|
-
` autoWake: pre-waked via "${autoWakeReport.wakePhrase}" (was ${autoWakeReport.detectedState}, session_started ${autoWakeReport.waitedMs}ms after wake POST).`;
|
|
370
|
-
break;
|
|
371
|
-
case "pre_wake_timeout":
|
|
372
|
-
wakeSummary =
|
|
373
|
-
` autoWake: pre-wake timed out (was ${autoWakeReport.detectedState}, ${autoWakeReport.reason}). Inject proceeded anyway; if it dropped, check that "${autoWakeReport.wakePhrase}" is registered via glasses.voice.onPhrase in the app and that glasses.assistant.start { ... } has been called.`;
|
|
374
|
-
break;
|
|
375
|
-
case "pre_wake_delivery_failed":
|
|
376
|
-
wakeSummary =
|
|
377
|
-
` autoWake: pre-wake POST failed (${autoWakeReport.reason}). Inject proceeded anyway.`;
|
|
378
|
-
break;
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
153
|
return okResponse({
|
|
382
154
|
sessionId: o.sessionId,
|
|
383
155
|
delivered: true,
|
|
384
156
|
mode: "text",
|
|
385
|
-
autoWake: autoWakeReport,
|
|
386
157
|
frame: res.data.frame ?? payload,
|
|
387
|
-
summary: `Injected utterance "${text.slice(0, 60)}${text.length > 60 ? "…" : ""}" into ${o.sessionId}
|
|
388
|
-
|
|
389
|
-
`
|
|
390
|
-
`
|
|
158
|
+
summary: `Injected utterance "${text.slice(0, 60)}${text.length > 60 ? "…" : ""}" into ${o.sessionId}. ` +
|
|
159
|
+
`If the session is Dormant the library drops the inject silently — wake it FIRST via ` +
|
|
160
|
+
`injectTranscript({ sessionId, text: "hey elizabeth" }) (or your app's wake phrase), wait for ` +
|
|
161
|
+
`assistant.session_started in getEventLog, then re-inject. Verify the expected tool fired with ` +
|
|
162
|
+
`assertToolCalled({ sessionId, name: "..." }), or read the full trace via ` +
|
|
163
|
+
`getEventLog(types: ["assistant.tool_called","assistant.assistant_spoke"]).`,
|
|
391
164
|
});
|
|
392
165
|
}
|
|
393
166
|
//# sourceMappingURL=injectAssistantUtterance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectAssistantUtterance.js","sourceRoot":"","sources":["../../../src/tools/handlers/injectAssistantUtterance.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,kEAAkE;AAClE,yEAAyE;AACzE,qEAAqE;AACrE,wEAAwE;AACxE,EAAE;AACF,oEAAoE;AACpE,oEAAoE;AACpE,sEAAsE;AACtE,oEAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"injectAssistantUtterance.js","sourceRoot":"","sources":["../../../src/tools/handlers/injectAssistantUtterance.ts"],"names":[],"mappings":"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"}
|