@extentos/mcp-server 0.1.5 → 0.1.7

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.
@@ -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;AA20FD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAYrD,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAAoC,CAAC"}
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;AA+0FD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAYrD,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAAoC,CAAC"}
@@ -1479,18 +1479,18 @@ CANONICAL DRIVER (run after \`./gradlew :app:installDebug && adb shell am start
1479
1479
  // path silently lost the probe (the most common cause).
1480
1480
 
1481
1481
  // 0.5. If hardwareReady.ready is false with reason "awaiting_browser",
1482
- // load the sim URL in any browser once — the simulator's React app
1483
- // attaches as the "browser" role and hardwareReady flips to true
1484
- // within ~5s. Use the OS-level one-liner (sessionUrl is the
1485
- // https://extentos.com/s/... form from createSimulatorSession,
1486
- // NOT the wss:// transport endpoint):
1482
+ // ensure a sim browser tab is connected — the simulator's React app
1483
+ // attaches as the "browser" role and hardwareReady flips to true:
1487
1484
  //
1488
- // Windows: cmd //c start "" "<sessionUrl>"
1489
- // macOS: open "<sessionUrl>"
1490
- // Linux: xdg-open "<sessionUrl>"
1485
+ // await ensureSimulatorBrowser({ sessionId });
1491
1486
  //
1492
- // Once loaded, the sim persists across app and MCP restarts — only
1493
- // needed once per fresh sim (F-DF-05).
1487
+ // This opens the session URL in your default browser (cross-platform,
1488
+ // MCP-side no shell one-liner to get right) and polls until the
1489
+ // tab's WebSocket attaches. Idempotent: a no-op if already connected.
1490
+ // Headless / remote agents (no local browser): pass autoOpen:false to
1491
+ // get the sessionUrl back without spawning, open it on a machine with a
1492
+ // display, then re-run. Once loaded the sim persists across app and MCP
1493
+ // restarts — only needed once per fresh sim (F-DF-05).
1494
1494
 
1495
1495
  // 1. Anchor a cursor at "now", THEN drive the wake. A no-cursor getEventLog
1496
1496
  // returns the tail of the log plus a cursor positioned after it — every
@@ -2356,13 +2356,16 @@ MCP call drives BOTH):
2356
2356
  const head = await getEventLog({ sessionId, filter: "voice", limit: 1 });
2357
2357
  let cur = head.cursor;
2358
2358
 
2359
- // 1. Inject the utterance. text: routes to MockAssistantProvider via
2360
- // the BrowserSim raw-frame observer (S2.W.0 wiring).
2361
- await injectAssistantUtterance({ sessionId, text: "take a picture" });
2359
+ // 1. Inject the utterance. It returns a watchCursor captured BEFORE the
2360
+ // inject — the anchor the assertion needs so a fast tool call isn't
2361
+ // missed.
2362
+ const inj = await injectAssistantUtterance({ sessionId, text: "take a picture" });
2362
2363
 
2363
- // 2. Assert the expected tool was called within the timeout.
2364
+ // 2. Assert the expected tool fired anchored at inj.watchCursor (before
2365
+ // the inject), so the tool call the model fires 0.5-2s later is always
2366
+ // caught, never raced past. Pure seq match, no clock dependency.
2364
2367
  const call = await assertToolCalled({
2365
- sessionId, name: "take_picture", timeoutMs: 5000,
2368
+ sessionId, name: "take_picture", sinceCursor: inj.watchCursor, timeoutMs: 8000,
2366
2369
  });
2367
2370
  // call.args is the parsed JsonObject from the tool's args schema
2368
2371
  // (or {} for no-arg tools); call.call_id pairs with the result event.
@@ -2678,11 +2681,15 @@ final class NotesAssistant: @unchecked Sendable {
2678
2681
  ];
2679
2682
 
2680
2683
  for (const c of cases) {
2681
- await injectAssistantUtterance({ sessionId, text: c.utter });
2682
- // The cursor anchor in assertToolCalled (b87388d) eliminates stale
2683
- // matches from prior runs.
2684
+ // injectAssistantUtterance returns a watchCursor captured BEFORE the
2685
+ // inject. Thread it into assertToolCalled.sinceCursor so the assertion
2686
+ // anchors before the inject — the model fires the tool 0.5-2s later,
2687
+ // often after assertToolCalled has already started, and anchoring
2688
+ // "now" would miss it. sinceCursor makes the catch deterministic
2689
+ // (the tool_called always has seq > watchCursor) and clock-skew-free.
2690
+ const inj = await injectAssistantUtterance({ sessionId, text: c.utter });
2684
2691
  const call = await assertToolCalled({
2685
- sessionId, name: c.expect, timeoutMs: 5000,
2692
+ sessionId, name: c.expect, sinceCursor: inj.watchCursor, timeoutMs: 8000,
2686
2693
  });
2687
2694
  console.log(\`\${c.expect}: call_id=\${call.call_id} waited=\${call.waitedMs}ms\`);
2688
2695
  }
@@ -2838,29 +2845,26 @@ BROWSER TAB OPEN — that's where camera input streams live in the simulator.
2838
2845
  Without it, the tool body returns Err("camera failed") and the Channel 1
2839
2846
  event log shows tool_result.is_error=true.
2840
2847
 
2841
- Open the sim browser tab at the start of your session:
2842
-
2843
- // Windows
2844
- await sh(\`cmd /c start https://extentos.com/s/\${sessionId}\`);
2845
- // macOS
2846
- await sh(\`open https://extentos.com/s/\${sessionId}\`);
2847
- // Then poll until ready
2848
- while (true) {
2849
- const s = await getSimulatorStatus({ sessionId });
2850
- if (s.connectedRoles?.browser) break;
2851
- await sleep(500);
2852
- }
2848
+ Open + confirm the sim browser tab in ONE call at the start of your session:
2849
+
2850
+ await ensureSimulatorBrowser({ sessionId });
2851
+ // → opens the session URL in your default browser (cross-platform —
2852
+ // the MCP server does it, no shell command for you to get right) and
2853
+ // polls until the tab's WebSocket attaches. Returns
2854
+ // { browserConnected: true, ... }. Idempotent: a no-op if a tab is
2855
+ // already connected, so it's safe to call before every camera flow.
2853
2856
 
2854
- For headless CI: camera-tool verification is blocked today. Non-camera tools
2855
- (state toggles, persistence, AI calls) work headless. A future
2856
- \`ensureSimulatorBrowser\` MCP tool would lift this for cross-platform CI
2857
- see project_iter4_sim_agent_discovery in shared-context.`,
2857
+ For headless / remote agents (no local browser to open): call
2858
+ ensureSimulatorBrowser({ sessionId, autoOpen: false }) to get the sessionUrl
2859
+ back without spawning, surface it to the developer to open on a machine with a
2860
+ display, then re-run with autoOpen:true to confirm. Non-camera tools (state
2861
+ toggles, persistence, AI calls) work fully headless regardless.`,
2858
2862
  gotchas: [
2859
2863
  "**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
2864
  "**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
2865
  "**`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.",
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.",
2866
+ "**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.",
2867
+ "**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.",
2864
2868
  "**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).",
2865
2869
  "**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.",
2866
2870
  "**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.",
@@ -1 +1 @@
1
- {"version":3,"file":"codeExamples.js","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,sEAAsE;AACtE,sEAAsE;AACtE,uDAAuD;AACvD,sCAAsC;AACtC,EAAE;AACF,qEAAqE;AACrE,uDAAuD;AACvD,wEAAwE;AACxE,kEAAkE;AAClE,oEAAoE;AACpE,2DAA2D;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAuE5C,MAAM,kBAAkB,GAAgB;IACtC,OAAO,EAAE,oBAAoB;IAC7B,KAAK,EAAE,4FAA4F;IACnG,WAAW,EACT,08BAA08B;IAC58B,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwEV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgET;KACC;IACD,WAAW,EACT,ggCAAggC;IAClgC,OAAO,EAAE;QACP,yXAAyX;QACzX,gbAAgb;QAChb,qXAAqX;QACrX,mSAAmS;QACnS,oSAAoS;QACpS,+SAA+S;QAC/S,msBAAmsB;QACnsB,sIAAsI;QACtI,+HAA+H;QAC/H,yKAAyK;QACzK,kyBAAkyB;QAClyB,0UAA0U;KAC3U;IACD,eAAe,EAAE,CAAC,eAAe,EAAE,2BAA2B,EAAE,cAAc,CAAC;CAChF,CAAC;AAEF,MAAM,cAAc,GAAgB;IAClC,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,gDAAgD;IACvD,WAAW,EACT,itBAAitB;IACntB,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCT;KACC;IACD,WAAW,EACT,+ZAA+Z;IACja,OAAO,EAAE;QACP,8IAA8I;QAC9I,6PAA6P;QAC7P,kLAAkL;KACnL;IACD,eAAe,EAAE,CAAC,2BAA2B,CAAC;CAC/C,CAAC;AAEF,MAAM,oBAAoB,GAAgB;IACxC,OAAO,EAAE,sBAAsB;IAC/B,KAAK,EAAE,gDAAgD;IACvD,WAAW,EACT,swBAAswB;IACxwB,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDT;KACC;IACD,WAAW,EACT,gWAAgW;IAClW,OAAO,EAAE;QACP,4OAA4O;QAC5O,4KAA4K;QAC5K,yGAAyG;QACzG,iRAAiR;QACjR,iMAAiM;QACjM,gRAAgR;QAChR,shBAAshB;KACvhB;IACD,eAAe,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,2BAA2B,CAAC;CACjF,CAAC;AAEF,MAAM,qBAAqB,GAAgB;IACzC,OAAO,EAAE,uBAAuB;IAChC,KAAK,EAAE,+CAA+C;IACtD,WAAW,EACT,0sBAA0sB;IAC5sB,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA4BU;QAClB,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;yBAyBc;KACtB;IACD,WAAW,EACT,4QAA4Q;IAC9Q,OAAO,EAAE;QACP,gNAAgN;QAChN,2KAA2K;QAC3K,6LAA6L;KAC9L;IACD,eAAe,EAAE,CAAC,2BAA2B,CAAC;CAC/C,CAAC;AAEF,MAAM,WAAW,GAAgB;IAC/B,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,sCAAsC;IAC7C,WAAW,EACT,8yBAA8yB;IAChzB,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCT;KACC;IACD,WAAW,EACT,yQAAyQ;IAC3Q,OAAO,EAAE;QACP,iNAAiN;QACjN,iUAAiU;KAClU;IACD,eAAe,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,2BAA2B,CAAC;CAChF,CAAC;AAEF,MAAM,qBAAqB,GAAgB;IACzC,OAAO,EAAE,uBAAuB;IAChC,KAAK,EAAE,8CAA8C;IACrD,WAAW,EACT,+NAA+N;IACjO,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;kDAwBsC;QAC9C,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BT;KACC;IACD,WAAW,EACT,+TAA+T;IACjU,OAAO,EAAE;QACP,kMAAkM;QAClM,6QAA6Q;QAC7Q,iMAAiM;KAClM;IACD,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,cAAc,GAAgB;IAClC,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,mGAAmG;IAC1G,WAAW,EACT,63DAA63D;IAC/3D,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAiU+D;QACvE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGA0SwF;KAChG;IACD,WAAW,EACT,0lCAA0lC;IAC5lC,OAAO,EAAE;QACP,qLAAqL;QACrL,oJAAoJ;QACpJ,yWAAyW;QACzW,yUAAyU;QACzU,sLAAsL;QACtL,+rBAA+rB;QAC/rB,sLAAsL;QACtL,8RAA8R;QAC9R,8YAA8Y;QAC9Y,uXAAuX;KACxX;IACD,eAAe,EAAE,CAAC,eAAe,CAAC;IAClC,oBAAoB,EAAE;QACpB,OAAO,EAAE;YACP;gBACE,aAAa,EAAE,gBAAgB;gBAC/B,QAAQ,EAAE,oCAAoC;gBAC9C,SAAS,EAAE,sBAAsB;aAClC;YACD;gBACE,aAAa,EAAE,gBAAgB;gBAC/B,QAAQ,EAAE,wDAAwD;gBAClE,SAAS,EAAE,sBAAsB;aAClC;SACF;QACD,+DAA+D;QAC/D,iCAAiC;QACjC,gBAAgB,EAAE,EAAE;KACrB;IACD,eAAe,EAAE;QACf,OAAO,EAAE;YACP,mEAAmE;YACnE,gEAAgE;YAChE,kEAAkE;YAClE,2DAA2D;YAC3D;gBACE,EAAE,EAAE,2CAA2C;gBAC/C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,aAAa;gBAC3C,SAAS,EAAE,uBAAuB;gBAClC,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,gGAAgG;aACvG;YACD;gBACE,EAAE,EAAE,2CAA2C;gBAC/C,SAAS,EAAE,sBAAsB;gBACjC,IAAI,EAAE,gJAAgJ;aACvJ;SACF;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAgB;IACnC,OAAO,EAAE,iBAAiB;IAC1B,KAAK,EAAE,mDAAmD;IAC1D,WAAW,EACT,4qBAA4qB;IAC9qB,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+EV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0ET;KACC;IACD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mjBA2IoiB;IACjjB,OAAO,EAAE;QACP,syBAAsyB;QACtyB,uRAAuR;QACvR,4mBAA4mB;QAC5mB,wTAAwT;QACxT,kRAAkR;QAClR,6QAA6Q;QAC7Q,iUAAiU;QACjU,wMAAwM;QACxM,kPAAkP;KACnP;IACD,eAAe,EAAE,CAAC,cAAc,EAAE,2BAA2B,EAAE,OAAO,EAAE,eAAe,CAAC;CACzF,CAAC;AAEF,MAAM,uBAAuB,GAAgB;IAC3C,OAAO,EAAE,yBAAyB;IAClC,KAAK,EAAE,uHAAuH;IAC9H,WAAW,EACT,y8BAAy8B;IAC38B,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuGV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8ET;KACC;IACD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEAkGsD;IACnE,OAAO,EAAE;QACP,+TAA+T;QAC/T,iYAAiY;QACjY,2RAA2R;QAC3R,8TAA8T;QAC9T,g4BAAg4B;QACh4B,0YAA0Y;QAC1Y,6PAA6P;KAC9P;IACD,eAAe,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,2BAA2B,EAAE,SAAS,EAAE,gBAAgB,CAAC;CACtG,CAAC;AAEF,MAAM,oBAAoB,GAAgB;IACxC,OAAO,EAAE,sBAAsB;IAC/B,KAAK,EAAE,qFAAqF;IAC5F,WAAW,EACT,0lCAA0lC;IAC5lC,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkRV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuHT;KACC;IACD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qDAyHsC;IACnD,OAAO,EAAE;QACP,wTAAwT;QACxT,ijBAAijB;QACjjB,gdAAgd;QAChd,2aAA2a;QAC3a,wUAAwU;QACxU,8YAA8Y;QAC9Y,qdAAqd;QACrd,obAAob;QACpb,kQAAkQ;QAClQ,mwBAAmwB;QACnwB,62BAA62B;KAC92B;IACD,eAAe,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,CAAC;CACpM,CAAC;AAEF,yEAAyE;AACzE,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,cAAc;AACd,EAAE;AACF,uEAAuE;AACvE,qEAAqE;AACrE,0EAA0E;AAC1E,wEAAwE;AACxE,sEAAsE;AACtE,4DAA4D;AAC5D,2EAA2E;AAC3E,mEAAmE;AACnE,wEAAwE;AACxE,uCAAuC;AAEvC,MAAM,0BAA0B,GAAgB;IAC9C,OAAO,EAAE,4BAA4B;IACrC,KAAK,EAAE,iGAAiG;IACxG,WAAW,EACT,m7BAAm7B;IACr7B,IAAI,EAAE;QACJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2FV;QACE,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkET;KACC;IACD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDAuO0C;IACvD,OAAO,EAAE;QACP,mtBAAmtB;QACntB,6cAA6c;QAC7c,ypBAAypB;QACzpB,scAAsc;QACtc,2bAA2b;QAC3b,+ZAA+Z;QAC/Z,+XAA+X;QAC/X,wQAAwQ;QACxQ,sWAAsW;QACtW,kbAAkb;QAClb,8gBAA8gB;KAC/gB;IACD,eAAe,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,kBAAkB,CAAC;CAC1J,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,kBAAkB,EAAE,kBAAkB;IACtC,cAAc,EAAE,cAAc;IAC9B,oBAAoB,EAAE,oBAAoB;IAC1C,qBAAqB,EAAE,qBAAqB;IAC5C,WAAW,EAAE,WAAW;IACxB,qBAAqB,EAAE,qBAAqB;IAC5C,cAAc,EAAE,cAAc;IAC9B,eAAe,EAAE,eAAe;IAChC,oBAAoB,EAAE,oBAAoB;IAC1C,0BAA0B,EAAE,0BAA0B;IACtD,uBAAuB,EAAE,uBAAuB;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC"}
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,EA2fpC,CAAC;AAEF,eAAO,MAAM,SAAS,QAAyB,CAAC;AAShD,wBAAgB,iCAAiC,CAC/C,IAAI,GAAE,SAAS,OAAO,EAAoB,GACzC,IAAI,CAiBN"}
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,EAyhBpC,CAAC;AAEF,eAAO,MAAM,SAAS,QAAyB,CAAC;AAShD,wBAAgB,iCAAiC,CAC/C,IAAI,GAAE,SAAS,OAAO,EAAoB,GACzC,IAAI,CAiBN"}
@@ -218,6 +218,28 @@ export const toolDefinitions = [
218
218
  additionalProperties: false,
219
219
  },
220
220
  },
221
+ {
222
+ name: "ensureSimulatorBrowser",
223
+ description: "Ensure a **connected** simulator browser tab for the session — opens one if needed and confirms the browser's WebSocket actually attached before returning. The browser tab is the hardware surrogate's viewport: camera + inject tools require it (`setSimVideo`, and any `capture_photo` / `describe_scene` the assistant runtime drives, return `browser_role_not_attached` without it). **Idempotent** — if a browser is already connected it's a no-op (returns `alreadyOpen: true`); it never opens a redundant tab (the hub would reject a second live browser with role_conflict). **When to call:** right after createSimulatorSession before any camera-driven flow; after a backend deploy (which severs every sim WebSocket — the tab does NOT auto-reconnect); whenever the tab was closed; or any time getSimulatorStatus / a camera tool reports the browser isn't attached. **How it works:** checks the AUTHORITATIVE in-memory hub liveness (the same signal setSimVideo/inject enforce, so this can't disagree with them — unlike `getSimulatorStatus.connectedRoles.browser`, which is persisted state that can lag a dead socket ~25-50s after an unclean drop); if no browser is attached, the MCP server opens the session URL in the developer's default browser ITSELF (cross-platform — no shell command for you to run), then polls until the tab's WebSocket attaches or `timeoutMs` elapses. **Headless / remote agents:** pass `autoOpen: false` to get an immediate presence snapshot + the sessionUrl with NO spawn and NO wait — surface the URL to the developer to open on a machine with a display, then re-run with autoOpen:true to confirm. Returns `{ alreadyOpen, opened, browserConnected, browserClientId, appConnected, sessionUrl, waitedMs }`; errors with `browser_not_connected` (carrying sessionUrl) when an auto-open didn't attach in time. **DON'T USE** to check whether the device APP is attached or hardware is ready — this ensures the BROWSER viewer only; use getSimulatorStatus for app/hardware state.",
224
+ inputSchema: {
225
+ type: "object",
226
+ properties: {
227
+ sessionId: { type: "string", minLength: 1 },
228
+ timeoutMs: {
229
+ type: "number",
230
+ minimum: 5000,
231
+ maximum: 60000,
232
+ description: "Max ms to wait for the browser tab's WebSocket to attach after auto-opening. Default 20000. Clamped to [5000, 60000]. Bump it for a cold-started browser or a slow machine. Ignored when autoOpen:false.",
233
+ },
234
+ autoOpen: {
235
+ type: "boolean",
236
+ description: "When true (default): if no browser is connected the MCP server opens the session URL in the developer's default browser and polls until it attaches. When false: returns an immediate presence snapshot + sessionUrl with no spawn and no wait — for headless/remote agents that surface the URL to the developer themselves.",
237
+ },
238
+ },
239
+ required: ["sessionId"],
240
+ additionalProperties: false,
241
+ },
242
+ },
221
243
  {
222
244
  name: "completeAuthLink",
223
245
  description: "Poll the backend until the user finishes signup at the verificationUrl, then persist the bearer token to ~/.extentos/auth.json. USE after createSimulatorSession returns status:'auth_required' AND you set autoLink:false (or the inline poll timed out). DON'T USE preemptively. **Note (Bundle 10+):** createSimulatorSession's `autoLink` arg (default true) handles this inline for you in the typical case; you only need to call completeAuthLink directly if you opted out of autoLink or the user took longer to approve than autoLinkSeconds.",
@@ -307,7 +329,7 @@ export const toolDefinitions = [
307
329
  },
308
330
  {
309
331
  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. 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.",
332
+ 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. **Returns `watchCursor`** — a seq cursor captured immediately before the inject; pass it straight into `assertToolCalled({ sinceCursor })` so the assertion anchors BEFORE this inject and never misses the tool call it triggers (the model fires the tool 0.5-2s later, often after your assertToolCalled call has already started). USE in the agent E2E loop: createSimulatorSession → injectTranscript(\"hey elizabeth\") → (wait for session_started) → `const r = injectAssistantUtterance({ text: \"...\" })``assertToolCalled({ name: \"...\", sinceCursor: r.watchCursor })` → 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
333
  inputSchema: {
312
334
  type: "object",
313
335
  properties: {
@@ -329,7 +351,7 @@ export const toolDefinitions = [
329
351
  },
330
352
  {
331
353
  name: "assertToolCalled",
332
- description: "**Phase 4** — wait for `assistant.tool_called` event matching `name` (and optionally `argsMatch` partial-match). Polls the backend event log every ~200ms until match or timeout. Equivalent to `getEventLog({ types: ['assistant.tool_called'], filter: { name }, timeoutMs })` in an assertion shapereturns the matched event payload directly + errors with `tool_not_called` code on timeout. USE in the agent E2E loop after `injectAssistantUtterance` to verify the expected tool fired. DON'T USE to inspect the full event trace (use `getEventLog`) or to check static tool registration (use `inspectIntegration`).",
354
+ description: "**Phase 4** — wait for an `assistant.tool_called` event matching `name` (and optionally `argsMatch` partial-match). Re-scans the backend event log every ~200ms from a FIXED anchor until match or timeout, then returns the matched event payload directly (or errors with `tool_not_called` on timeout). **Pass `sinceCursor` — the `watchCursor` from the injectAssistantUtterance that triggered the tool.** That anchors the wait BEFORE the inject, so the triggered tool call (which the model fires 0.5-2s later) is always caught even if this call starts after the tool already fired. Without `sinceCursor` the call anchors at its own start (\"now\") and will MISS a tool that fired in the gap between your inject and this call the dominant false-negative cause before the 2026-05-29 fix. The fixed-anchor re-scan (vs an advancing cursor) also means a late-committing event is never skipped, and the match is pure `seq`-comparison so it has zero clock-skew dependency. USE in the agent E2E loop right after `injectAssistantUtterance`. DON'T USE to inspect the full event trace (use `getEventLog`) or to check static tool registration (use `inspectIntegration`).",
333
355
  inputSchema: {
334
356
  type: "object",
335
357
  properties: {
@@ -339,6 +361,10 @@ export const toolDefinitions = [
339
361
  minLength: 1,
340
362
  description: "Exact tool name to wait for. Must match the `name` argument passed to `tool(name, description) { ... }` in the customer's glasses.assistant.start { } block.",
341
363
  },
364
+ sinceCursor: {
365
+ type: "string",
366
+ description: "**Strongly recommended.** The `watchCursor` value returned by the `injectAssistantUtterance` that should trigger this tool. Anchors the wait at the point BEFORE the inject, guaranteeing the triggered tool call is caught regardless of model latency or how quickly you call assertToolCalled. Omit only when watching for a tool with no preceding inject in this same agent turn (e.g. a tool fired by a real sim-browser voice turn) — then the call anchors at \"now\" and only catches tools that fire after this call starts.",
367
+ },
342
368
  argsMatch: {
343
369
  type: "object",
344
370
  description: "Optional top-level partial match against the tool's parsed args. All keys in argsMatch must be present in the call's args with equal scalar values; nested objects compared structurally. v1 ships top-level partial-match only — nested glob patterns deferred. Omit for any-args match.",
@@ -348,7 +374,7 @@ export const toolDefinitions = [
348
374
  type: "number",
349
375
  minimum: 250,
350
376
  maximum: 60000,
351
- description: "Max time to wait, in ms. Default 5000. Clamped to [250, 60000]. The Mock provider dispatches in <50ms so 5000 is generous; OpenAi provider dispatches in 500-1500ms post-utterance.",
377
+ description: "Max time to wait, in ms. Default 5000. Clamped to [250, 60000]. The Mock provider dispatches in <50ms so 5000 is generous; OpenAi provider dispatches in 500-2000ms post-utterance (budget 10000+ for camera/vision tools).",
352
378
  },
353
379
  },
354
380
  required: ["sessionId", "name"],
@@ -369,7 +395,7 @@ export const toolDefinitions = [
369
395
  },
370
396
  {
371
397
  name: "setSimVideo",
372
- description: "Pipe a Test Video into the simulator's camera input so capture_photo / capture_video / videoFrames run against a known scene instead of a blank viewport — closes the agent-driven test loop for camera-driven flows the same way injectTranscript closes it for voice flows. Discover available IDs via `getSimulatorStatus.testVideos` (bundled defaults + project uploads). Requires the simulator browser tab to be open (browser role attached) — same precondition as the simulator's photo/video capture itself. The browser loads the video as its cameraSource (same code path as a human drag-dropping a file), and a `camera_source_set` lifecycle event lands in getEventLog so the source change is visible to your verification step. USE before triggering a capture_photo / capture_video flow that needs a scene. DON'T USE to upload new videos — that's the project simulator page's job (extentos.com/projects/<id>/simulator).",
398
+ description: "Pipe a Test Video into the simulator's camera input so capture_photo / capture_video / videoFrames run against a known scene instead of a blank viewport — closes the agent-driven test loop for camera-driven flows the same way injectTranscript closes it for voice flows. Discover available IDs via `getSimulatorStatus.testVideos` (bundled defaults + project uploads). Requires the simulator browser tab to be connected (browser role attached) — call `ensureSimulatorBrowser({ sessionId })` first to guarantee it (idempotent: opens the tab cross-platform + polls until it attaches). Same precondition as the simulator's photo/video capture itself. The browser loads the video as its cameraSource (same code path as a human drag-dropping a file), and a `camera_source_set` lifecycle event lands in getEventLog so the source change is visible to your verification step. USE before triggering a capture_photo / capture_video flow that needs a scene. DON'T USE to upload new videos — that's the project simulator page's job (extentos.com/projects/<id>/simulator).",
373
399
  inputSchema: {
374
400
  type: "object",
375
401
  properties: {
@@ -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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"}
@@ -558,8 +558,8 @@ export const DOC_INDEX = [
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
559
  "**Agent-driven E2E testing.** Three MCP tools close the loop without humans, in this order:\n" +
560
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" +
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" +
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.) **Returns `watchCursor`** — a seq cursor captured before the inject; pass it to `assertToolCalled.sinceCursor`. `audioWavBase64:` alternate path is deferred to v1.1.\n" +
562
+ "- `assertToolCalled({ sessionId, name, sinceCursor?, argsMatch?, timeoutMs? })` — re-scans `getEventLog` for `assistant.tool_called` matching name (and optional top-level argsMatch) from a FIXED anchor until match or timeout. **Pass `sinceCursor: inj.watchCursor`** (from the triggering injectAssistantUtterance) so the wait anchors BEFORE the inject — the model fires the tool 0.5-2s later, often after assertToolCalled starts, and anchoring at the call's own start would miss it (the dominant false-negative before the 2026-05-29 fix). Pure backend-`seq` comparison (`seq > sinceCursor`), so zero clock-skew dependency and no missed late-committing rows. Returns the matched event or `tool_not_called` on timeout.\n\n" +
563
563
  "Handler-side recipe: `getCodeExample(pattern: 'assistant_agent_loop')`. Agent-side multi-channel verification workflow: `getCodeExample(pattern: 'agent_driven_e2e_full_loop')`.\n\n" +
564
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" +
565
565
  "**A. 1-tool app (just take_picture).** Phase 3's `glasses.conversation.onWake(\"hey assistant\") { while(true) { val turn = listen(); when (turn) { is Turn.Said -> if (turn.text.contains(\"picture\")) { ...take photo...; speak(\"got it\") } else if (turn.text.contains(\"stop\")) break } } }` (~15 lines) becomes Phase 4's `glasses.assistant.start(provider) { instructions = \"...\"; tool(\"take_picture\", \"Take a photo.\") { ...take photo...; ToolResult.Ok(\"saved\") } }` (~10 lines). Wake phrase + intent parsing + confirmation speech all delegated to the model.\n\n" +
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,yEAAyE;AACzE,sEAAsE;AACtE,0EAA0E;AAC1E,qEAAqE;AACrE,uBAAuB;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,0EAA0E;AAC1E,wEAAwE;AACxE,qEAAqE;AACrE,sEAAsE;AACtE,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC;AAC1D,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC;AAC/D,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC;AAUzD,2EAA2E;AAC3E,mEAAmE;AACnE,uDAAuD;AACvD,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6JAoL0H,CAAC;AAE9J,MAAM,CAAC,MAAM,SAAS,GAAe;IACnC;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,+BAA+B;QACtC,OAAO,EACL,2WAA2W;YAC3W,0JAA0J;YAC1J,8DAA8D;YAC9D,0uBAA0uB;YAC1uB,2YAA2Y;YAC3Y,kDAAkD;YAClD,0SAA0S;YAC1S,qOAAqO;YACrO,8GAA8G;YAC9G,01CAA01C;YAC11C,wQAAwQ;YACxQ,mMAAmM;YACnM,0RAA0R;YAC1R,kaAAka;YACla,mJAAmJ;YACnJ,+jBAA+jB;YAC/jB,08BAA08B;YAC18B,+MAA+M;YAC/M,qHAAqH;YACrH,mJAAmJ;YACnJ,oRAAoR;YACpR,sbAAsb;YACtb,yPAAyP;QAC3P,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC;QACxL,YAAY,EAAE,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,oBAAoB,CAAC;KAC9M;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,kBAAkB;QACzB,OAAO,EACL,gUAAgU;YAChU,2DAA2D;YAC3D,2JAA2J;YAC3J,iFAAiF;YACjF,wHAAwH;YACxH,6JAA6J;YAC7J,2MAA2M;YAC3M,4LAA4L;YAC5L,6CAA6C;YAC7C,uPAAuP;YACvP,aAAa;YACb,gDAAgD;YAChD,qDAAqD;YACrD,uDAAuD;YACvD,YAAY;YACZ,+CAA+C;YAC/C,0BAA0B;YAC1B,uGAAuG;YACvG,mGAAmG;YACnG,WAAW;YACX,qIAAqI;YACrI,gDAAgD;YAChD,mWAAmW;QACrW,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;QACtL,YAAY,EAAE,CAAC,yBAAyB,CAAC;KAC1C;IACD;QACE,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,iBAAiB;QACxB,OAAO,EACL,qiBAAqiB;YACriB,yMAAyM;YACzM,4yOAA4yO;QAC9yO,QAAQ,EAAE;YACR,QAAQ;YACR,cAAc;YACd,gBAAgB;YAChB,uBAAuB;YACvB,0BAA0B;YAC1B,uBAAuB;YACvB,mBAAmB;YACnB,qBAAqB;YACrB,gCAAgC;YAChC,OAAO;YACP,SAAS;YACT,OAAO;YACP,eAAe;YACf,QAAQ;YACR,KAAK;SACN;QACD,YAAY,EAAE,CAAC,oBAAoB,CAAC;KACrC;IACD;QACE,KAAK,EAAE,wBAAwB;QAC/B,KAAK,EAAE,wBAAwB;QAC/B,OAAO,EACL,wWAAwW;QAC1W,QAAQ,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC;QACrG,YAAY,EAAE,CAAC,oBAAoB,EAAE,aAAa,CAAC;KACpD;IACD;QACE,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,2BAA2B;QAClC,OAAO,EACL,8SAA8S;YAC9S,sBAAsB;YACtB,6HAA6H;YAC7H,0KAA0K;YAC1K,+FAA+F;YAC/F,kYAAkY;YAClY,+UAA+U;QACjV,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC;QAC9I,YAAY,EAAE,CAAC,oBAAoB,CAAC;KACrC;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EACL,6HAA6H;YAC7H,2HAA2H;YAC3H,qHAAqH;YACrH,gZAAgZ;YAChZ,uQAAuQ;YACvQ,kHAAkH;YAClH,0JAA0J;YAC1J,sUAAsU;YACtU,8WAA8W;YAC9W,uQAAuQ;YACvQ,6OAA6O;YAC7O,gMAAgM;YAChM,qhBAAqhB;YACrhB,iDAAiD;YACjD,2QAA2Q;YAC3Q,2NAA2N;YAC3N,2HAA2H;YAC3H,yFAAyF;YACzF,yCAAyC;YACzC,2JAA2J;YAC3J,oHAAoH;YACpH,0IAA0I;YAC1I,qDAAqD;YACrD,sUAAsU;YACtU,yKAAyK;YACzK,kHAAkH;YAClH,uKAAuK;YACvK,gHAAgH;YAChH,sHAAsH;YACtH,8GAA8G;YAC9G,iFAAiF;YACjF,+KAA+K;YAC/K,iEAAiE;YACjE,6KAA6K;YAC7K,6JAA6J;YAC7J,qIAAqI;YACrI,4BAA4B;YAC5B,uCAAuC;YACvC,0PAA0P;YAC1P,oHAAoH;YACpH,gMAAgM;YAChM,sRAAsR;YACtR,2OAA2O;YAC3O,kWAAkW;YAClW,yDAAyD;YACzD,oLAAoL;YACpL,6FAA6F;YAC7F,2PAA2P;YAC3P,uCAAuC;YACvC,sSAAsS;YACtS,+gBAA+gB;YAC/gB,2YAA2Y;YAC3Y,oQAAoQ;YACpQ,qTAAqT;YACrT,ySAAyS;YACzS,sBAAsB;YACtB,uRAAuR;YACvR,uLAAuL;YACvL,mFAAmF;YACnF,mEAAmE;YACnE,mRAAmR;YACnR,2CAA2C;YAC3C,wSAAwS;YACxS,iIAAiI;YACjI,kdAAkd;YACld,0CAA0C;YAC1C,+KAA+K;YAC/K,gHAAgH;YAChH,uMAAuM;YACvM,6EAA6E;YAC7E,uCAAuC;YACvC,0JAA0J;YAC1J,iFAAiF;YACjF,uEAAuE;YACvE,oDAAoD;YACpD,oFAAoF;YACpF,+CAA+C;YAC/C,sDAAsD;YACtD,sEAAsE;YACtE,4FAA4F;YAC5F,sBAAsB;YACtB,oQAAoQ;YACpQ,sOAAsO;YACtO,6FAA6F;YAC7F,kKAAkK;YAClK,2CAA2C;YAC3C,0WAA0W;QAC5W,QAAQ,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC;QAC3c,YAAY,EAAE,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,gBAAgB,CAAC;KACnF;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,iBAAiB;QACxB,OAAO,EACL,qaAAqa;YACra,qDAAqD;YACrD,2IAA2I;YAC3I,yBAAyB;YACzB,+CAA+C;YAC/C,iDAAiD;YACjD,8CAA8C;YAC9C,SAAS;YACT,qFAAqF;YACrF,sCAAsC;YACtC,+EAA+E;YAC/E,2DAA2D;YAC3D,4EAA4E;YAC5E,2EAA2E;YAC3E,2DAA2D;YAC3D,wEAAwE;YACxE,qDAAqD;YACrD,8EAA8E;YAC9E,iDAAiD;YACjD,mBAAmB;YACnB,eAAe;YACf,aAAa;YACb,qCAAqC;YACrC,SAAS;YACT,gDAAgD;YAChD,0BAA0B;YAC1B,kDAAkD;YAClD,gDAAgD;YAChD,6CAA6C;YAC7C,gDAAgD;YAChD,wBAAwB;YACxB,2BAA2B;YAC3B,iEAAiE;YACjE,sCAAsC;YACtC,0EAA0E;YAC1E,uCAAuC;YACvC,sFAAsF;YACtF,sEAAsE;YACtE,uEAAuE;YACvE,uBAAuB;YACvB,uDAAuD;YACvD,kGAAkG;YAClG,8EAA8E;YAC9E,mBAAmB;YACnB,eAAe;YACf,aAAa;YACb,wCAAwC;YACxC,SAAS;YACT,qBAAqB;YACrB,qTAAqT;YACrT,iDAAiD;YACjD,qGAAqG;YACrG,6BAA6B;YAC7B,+CAA+C;YAC/C,uCAAuC;YACvC,iBAAiB;YACjB,mNAAmN;YACnN,6BAA6B;YAC7B,qVAAqV;YACrV,kBAAkB;YAClB,qHAAqH;YACrH,+EAA+E;YAC/E,4FAA4F;YAC5F,kRAAkR;YAClR,qBAAqB;YACrB,kNAAkN;YAClN,gIAAgI;YAChI,2BAA2B;YAC3B,sLAAsL;YACtL,iLAAiL;YACjL,sNAAsN;YACtN,qQAAqQ;QACvQ,QAAQ,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC;QACrH,YAAY,EAAE,CAAC,0BAA0B,EAAE,oBAAoB,CAAC;KACjE;IACD;QACE,KAAK,EAAE,oBAAoB;QAC3B,KAAK,EAAE,iFAAiF;QACxF,OAAO,EACL,4eAA4e;YAC5e,mHAAmH;YACnH,kDAAkD;YAClD,mPAAmP;YACnP,qWAAqW;YACrW,2RAA2R;YAC3R,yLAAyL;YACzL,4NAA4N;YAC5N,gDAAgD;YAChD,oCAAoC;YACpC,2mBAA2mB;YAC3mB,oCAAoC;YACpC,sEAAsE;YACtE,0QAA0Q;YAC1Q,0NAA0N;YAC1N,iQAAiQ;YACjQ,2CAA2C;YAC3C,uDAAuD;YACvD,0EAA0E;YAC1E,uJAAuJ;YACvJ,wLAAwL;YACxL,mJAAmJ;YACnJ,sKAAsK;YACtK,qNAAqN;YACrN,iCAAiC;YACjC,qWAAqW;YACrW,4QAA4Q;YAC5Q,+hBAA+hB;YAC/hB,iBAAiB;YACjB,iHAAiH;YACjH,4FAA4F;YAC5F,gGAAgG;YAChG,iKAAiK;YACjK,kIAAkI;QACpI,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB,CAAC;QACtM,YAAY,EAAE,CAAC,wBAAwB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,CAAC;KAC1H;IACD;QACE,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,2EAA2E;QAClF,OAAO,EACL,wVAAwV;YACxV,aAAa;YACb,iEAAiE;YACjE,4BAA4B;YAC5B,yFAAyF;YACzF,OAAO;YACP,qEAAqE;YACrE,0FAA0F;YAC1F,yEAAyE;YACzE,SAAS;YACT,iEAAiE;YACjE,2GAA2G;YAC3G,gDAAgD;YAChD,SAAS;YACT,KAAK;YACL,SAAS;YACT,8vBAA8vB;YAC9vB,6EAA6E;YAC7E,0eAA0e;YAC1e,oUAAoU;YACpU,qKAAqK;YACrK,4CAA4C;YAC5C,4GAA4G;YAC5G,iaAAia;YACja,gMAAgM;YAChM,6SAA6S;YAC7S,0aAA0a;YAC1a,kZAAkZ;YAClZ,2cAA2c;YAC3c,2uBAA2uB;YAC3uB,uaAAua;YACva,sGAAsG;YACtG,4DAA4D;YAC5D,4EAA4E;YAC5E,2CAA2C;YAC3C,gDAAgD;YAChD,kEAAkE;YAClE,8EAA8E;YAC9E,qDAAqD;YACrD,2CAA2C;YAC3C,oRAAoR;YACpR,8gBAA8gB;YAC9gB,+FAA+F;YAC/F,yTAAyT;YACzT,6zBAA6zB;YAC7zB,4UAA4U;YAC5U,sLAAsL;YACtL,qJAAqJ;YACrJ,6jBAA6jB;YAC7jB,kVAAkV;YAClV,+eAA+e;YAC/e,uPAAuP;YACvP,+BAA+B;YAC/B,sHAAsH;YACtH,yNAAyN;YACzN,sIAAsI;YACtI,yNAAyN;YACzN,2CAA2C;YAC3C,8DAA8D;YAC9D,oDAAoD;YACpD,wFAAwF;YACxF,kDAAkD;YAClD,4DAA4D;YAC5D,qDAAqD;YACrD,+FAA+F;YAC/F,wGAAwG;QAC1G,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,4BAA4B,EAAE,WAAW,EAAE,MAAM,CAAC;QACxa,YAAY,EAAE,CAAC,wBAAwB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC;KACtK;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,uGAAuG;QAC9G,OAAO,EACL,kMAAkM;YAClM,aAAa;YACb,qDAAqD;YACrD,qFAAqF;YACrF,gCAAgC;YAChC,uDAAuD;YACvD,wFAAwF;YACxF,SAAS;YACT,KAAK;YACL,SAAS;YACT,2lBAA2lB;YAC3lB,iDAAiD;YACjD,uJAAuJ;YACvJ,0KAA0K;YAC1K,qOAAqO;YACrO,mIAAmI;YACnI,4VAA4V;YAC5V,+HAA+H;YAC/H,0LAA0L;YAC1L,0KAA0K;YAC1K,soBAAsoB;YACtoB,gCAAgC;YAChC,iTAAiT;YACjT,0MAA0M;YAC1M,gLAAgL;YAChL,kMAAkM;YAClM,kiBAAkiB;YACliB,+HAA+H;YAC/H,wEAAwE;YACxE,2DAA2D;YAC3D,uDAAuD;YACvD,wEAAwE;YACxE,6DAA6D;YAC7D,4DAA4D;YAC5D,0fAA0f;YAC1f,4lBAA4lB;YAC5lB,sEAAsE;YACtE,+DAA+D;YAC/D,iBAAiB;YACjB,8QAA8Q;YAC9Q,gIAAgI;YAChI,yJAAyJ;YACzJ,6KAA6K;YAC7K,yHAAyH;YACzH,2KAA2K;YAC3K,qXAAqX;QACvX,QAAQ,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,yBAAyB,CAAC;QAC5O,YAAY,EAAE,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;KACpH;IACD;QACE,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,8FAA8F;QACrG,OAAO,EACL,ycAAyc;YACzc,mEAAmE;YACnE,i2BAAi2B;YACj2B,sbAAsb;YACtb,6FAA6F;YAC7F,4RAA4R;YAC5R,uWAAuW;YACvW,+GAA+G;YAC/G,gZAAgZ;QAClZ,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,CAAC;QAChN,YAAY,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,gBAAgB,CAAC;KACvG;IACD;QACE,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,oCAAoC;QAC3C,OAAO,EACL,gWAAgW;YAChW,oDAAoD;YACpD,uPAAuP;YACvP,8NAA8N;YAC9N,0TAA0T;YAC1T,4PAA4P;YAC5P,2RAA2R;YAC3R,yKAAyK;QAC3K,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC;QACtI,YAAY,EAAE,CAAC,iBAAiB,CAAC;KAClC;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EACL,gQAAgQ;QAClQ,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC;QAC7E,YAAY,EAAE,CAAC,wBAAwB,CAAC;KACzC;IACD;QACE,KAAK,EAAE,wBAAwB;QAC/B,KAAK,EAAE,wBAAwB;QAC/B,OAAO,EACL,4YAA4Y;YAC5Y,uhBAAuhB;YACvhB,gDAAgD;YAChD,sUAAsU;YACtU,0EAA0E;YAC1E,mHAAmH;YACnH,oZAAoZ;YACpZ,seAAse;YACte,iEAAiE;YACjE,0DAA0D;YAC1D,iHAAiH;YACjH,+JAA+J;YAC/J,gUAAgU;YAChU,oGAAoG;YACpG,sFAAsF;YACtF,yGAAyG;YACzG,kMAAkM;YAClM,wbAAwb;YACxb,uYAAuY;YACvY,uDAAuD;YACvD,yCAAyC;YACzC,8mBAA8mB;YAC9mB,yaAAya;YACza,yHAAyH;YACzH,6BAA6B;YAC7B,2HAA2H;YAC3H,yLAAyL;YACzL,iMAAiM;YACjM,+SAA+S;YAC/S,ySAAyS;QAC3S,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC;QACpQ,YAAY,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,aAAa,CAAC;KAC9E;IACD;QACE,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,kBAAkB;QACzB,OAAO,EACL,wPAAwP;YACxP,gYAAgY;YAChY,kBAAkB;YAClB,kRAAkR;YAClR,oJAAoJ;YACpJ,4KAA4K;YAC5K,6UAA6U;YAC7U,4FAA4F;YAC5F,0HAA0H;YAC1H,yKAAyK;YACzK,+FAA+F;YAC/F,oNAAoN;YACpN,gSAAgS;YAChS,wRAAwR;YACxR,iCAAiC;YACjC,oCAAoC;YACpC,8FAA8F;YAC9F,0BAA0B;YAC1B,8DAA8D;YAC9D,sDAAsD;YACtD,0CAA0C;YAC1C,sCAAsC;YACtC,6DAA6D;YAC7D,kMAAkM;YAClM,yDAAyD;YACzD,obAAob;QACtb,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC;QACjJ,YAAY,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;KACpD;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,wBAAwB;QAC/B,OAAO,EACL,siCAAsiC;QACxiC,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC;QACvH,YAAY,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,wBAAwB,CAAC;KAClF;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;QACpB,OAAO,EACL,2xBAA2xB;QAC7xB,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC;QAClI,YAAY,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;KAC/D;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EACL,+kBAA+kB;QACjlB,QAAQ,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QAC1E,YAAY,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,gBAAgB,CAAC;KACjF;IACD;QACE,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EACL,wTAAwT;QAC1T,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC;QAChF,YAAY,EAAE,EAAE;KACjB;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,+BAA+B;QACtC,OAAO,EACL,iEAAiE;YACjE,2FAA2F;YAC3F,uCAAuC;YACvC,2DAA2D;YAC3D,sHAAsH;YACtH,oFAAoF;YACpF,kOAAkO;YAClO,sJAAsJ;YACtJ,iJAAiJ;YACjJ,+OAA+O;YAC/O,wSAAwS;YACxS,qPAAqP;YACrP,6CAA6C;YAC7C,oDAAoD;YACpD,qEAAqE;YACrE,kLAAkL;YAClL,yCAAyC;YACzC,6zBAA6zB;YAC7zB,wXAAwX;QAC1X,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC;QAC/K,YAAY,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,0BAA0B,CAAC;KACxF;IACD;QACE,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,uDAAuD;QAC9D,OAAO,EACL,kVAAkV;YAClV,uDAAuD;YACvD,0IAA0I;YAC1I,gJAAgJ;YAChJ,yMAAyM;YACzM,0JAA0J;YAC1J,qGAAqG;YACrG,mHAAmH;YACnH,0FAA0F;YAC1F,oIAAoI;YACpI,kFAAkF;YAClF,4PAA4P;YAC5P,iHAAiH;YACjH,mIAAmI;YACnI,wEAAwE;YACxE,8OAA8O;YAC9O,2BAA2B;YAC3B,+HAA+H;YAC/H,wGAAwG;YACxG,yHAAyH;YACzH,sGAAsG;YACtG,8BAA8B;YAC9B,cAAc;YACd,8YAA8Y;YAC9Y,8PAA8P;YAC9P,+CAA+C;YAC/C,0fAA0f;YAC1f,sDAAsD;YACtD,mHAAmH;YACnH,6NAA6N;YAC7N,oXAAoX;YACpX,qTAAqT;YACrT,wCAAwC;YACxC,snBAAsnB;QACxnB,QAAQ,EAAE;YACR,gBAAgB;YAChB,aAAa;YACb,gBAAgB;YAChB,sBAAsB;YACtB,eAAe;YACf,WAAW;YACX,oBAAoB;YACpB,qBAAqB;YACrB,WAAW;YACX,oBAAoB;YACpB,aAAa;YACb,aAAa;YACb,WAAW;YACX,gBAAgB;YAChB,cAAc;SACf;QACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;KACzC;IACD;QACE,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,gCAAgC;QACvC,OAAO,EACL,0PAA0P;YAC1P,8BAA8B;YAC9B,kaAAka;YACla,gFAAgF;YAChF,gDAAgD;YAChD,oCAAoC;YACpC,yOAAyO;YACzO,6LAA6L;YAC7L,mOAAmO;YACnO,sDAAsD;YACtD,0iBAA0iB;YAC1iB,0CAA0C;YAC1C,gEAAgE;YAChE,sFAAsF;YACtF,oLAAoL;QACtL,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW,CAAC;QACvH,YAAY,EAAE,CAAC,0BAA0B,CAAC;KAC3C;IACD;QACE,KAAK,EAAE,6BAA6B;QACpC,KAAK,EAAE,sCAAsC;QAC7C,OAAO,EACL,gZAAgZ;QAClZ,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC;QACtF,YAAY,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;KAChD;IACD;QACE,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,eAAe;QACtB,OAAO,EACL,kLAAkL;YAClL,gMAAgM;YAChM,uJAAuJ;YACvJ,wUAAwU;YACxU,8BAA8B;YAC9B,mJAAmJ;YACnJ,4EAA4E;YAC5E,mFAAmF;YACnF,iFAAiF;YACjF,0FAA0F;YAC1F,2IAA2I;YAC3I,6BAA6B;YAC7B,sXAAsX;YACtX,qBAAqB;YACrB,kdAAkd;YACld,0BAA0B;YAC1B,gWAAgW;YAChW,eAAe;YACf,0CAA0C;YAC1C,0DAA0D;YAC1D,2EAA2E;YAC3E,6EAA6E;YAC7E,4FAA4F;QAC9F,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,YAAY,EAAE,aAAa,CAAC;QAC9M,YAAY,EAAE,CAAC,0BAA0B,CAAC;KAC3C;IACD;QACE,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,oCAAoC;QAC3C,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE;YACR,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,gBAAgB;YAChB,aAAa;YACb,oBAAoB;YACpB,iBAAiB;YACjB,oBAAoB;YACpB,UAAU;YACV,SAAS;YACT,eAAe;YACf,SAAS;YACT,iBAAiB;YACjB,SAAS;YACT,SAAS;SACV;QACD,YAAY,EAAE,CAAC,0BAA0B,CAAC;KAC3C;IACD;QACE,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,iCAAiC;QACxC,OAAO,EACL,+aAA+a;YAC/a,mDAAmD;YACnD,wlBAAwlB;YACxlB,wCAAwC;YACxC,iVAAiV;YACjV,oNAAoN;YACpN,gEAAgE;YAChE,kFAAkF;YAClF,2LAA2L;YAC3L,kDAAkD;YAClD,0CAA0C,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,cAAc,GAAG,+WAA+W;YACte,sCAAsC;YACtC,wBAAwB;YACxB,yEAAyE;YACzE,OAAO;YACP,sCAAsC;YACtC,sEAAsE;YACtE,wBAAwB;YACxB,sCAAsC;YACtC,qBAAqB;YACrB,iGAAiG;YACjG,+BAA+B;YAC/B,qEAAqE;YACrE,qEAAqE;YACrE,0EAA0E;YAC1E,uBAAuB;YACvB,+HAA+H;YAC/H,4GAA4G;YAC5G,mBAAmB;YACnB,eAAe;YACf,WAAW;YACX,OAAO;YACP,mCAAmC;YACnC,yBAAyB;YACzB,mCAAmC;YACnC,eAAe;YACf,kDAAkD,GAAG,SAAS,GAAG,kBAAkB;YACnF,uDAAuD,GAAG,cAAc,GAAG,kBAAkB;YAC7F,8DAA8D,GAAG,cAAc,GAAG,kBAAkB;YACpG,SAAS;YACT,oCAAoC;YACpC,wDAAwD;YACxD,8BAA8B;YAC9B,8BAA8B;YAC9B,sCAAsC;YACtC,kCAAkC;YAClC,wFAAwF;YACxF,6EAA6E;YAC7E,gCAAgC;YAChC,eAAe;YACf,yCAAyC;YACzC,8CAA8C;YAC9C,qDAAqD;YACrD,OAAO;YACP,eAAe;YACf,2CAA2C;YAC3C,yBAAyB;YACzB,yBAAyB;YACzB,mDAAmD;YACnD,yBAAyB;YACzB,4BAA4B;YAC5B,6BAA6B;YAC7B,qCAAqC;YACrC,WAAW;YACX,0CAA0C;YAC1C,0BAA0B;YAC1B,0DAA0D;YAC1D,0DAA0D;YAC1D,WAAW;YACX,8CAA8C;YAC9C,OAAO;YACP,oBAAoB;YACpB,2DAA2D;YAC3D,sEAAsE;YACtE,4EAA4E;YAC5E,gFAAgF;YAChF,oCAAoC;YACpC,oDAAoD;YACpD,oEAAoE;YACpE,kEAAkE;YAClE,+EAA+E;YAC/E,iEAAiE;YACjE,0EAA0E;YAC1E,OAAO;YACP,6EAA6E;YAC7E,6EAA6E;YAC7E,0DAA0D;YAC1D,4CAA4C;YAC5C,gDAAgD;YAChD,6EAA6E;YAC7E,sBAAsB;YACtB,0CAA0C;YAC1C,iEAAiE;YACjE,gDAAgD;YAChD,0CAA0C;YAC1C,mDAAmD;YACnD,uBAAuB;YACvB,gDAAgD;YAChD,2CAA2C;YAC3C,uDAAuD;YACvD,iCAAiC;YACjC,4EAA4E;YAC5E,oFAAoF;YACpF,kCAAkC;YAClC,yBAAyB;YACzB,wBAAwB;YACxB,mBAAmB;YACnB,+DAA+D;YAC/D,+BAA+B;YAC/B,8BAA8B;YAC9B,gDAAgD;YAChD,iDAAiD;YACjD,2DAA2D;YAC3D,qDAAqD;YACrD,+CAA+C;YAC/C,4CAA4C;YAC5C,gDAAgD;YAChD,yCAAyC;YACzC,gDAAgD;YAChD,8DAA8D;YAC9D,gDAAgD;YAChD,0BAA0B;YAC1B,iCAAiC;YACjC,gHAAgH;YAChH,mCAAmC;YACnC,uBAAuB;YACvB,mBAAmB;YACnB,eAAe;YACf,WAAW;YACX,OAAO;YACP,iBAAiB;YACjB,iDAAiD;YACjD,+CAA+C;YAC/C,gDAAgD;YAChD,wEAAwE;YACxE,8CAA8C;YAC9C,gDAAgD;YAChD,iBAAiB;YACjB,4FAA4F;YAC5F,oBAAoB;YACpB,4CAA4C;YAC5C,mFAAmF,GAAG,SAAS,GAAG,sBAAsB,GAAG,YAAY,GAAG,kFAAkF,GAAG,YAAY,GAAG,0FAA0F,GAAG,YAAY,GAAG,gBAAgB;YAC1W,2NAA2N,GAAG,YAAY,GAAG,yGAAyG;YACtV,qWAAqW,GAAG,YAAY,GAAG,oFAAoF,GAAG,SAAS,GAAG,yJAAyJ,GAAG,YAAY,GAAG,8BAA8B;YACnqB,gDAAgD,GAAG,YAAY,GAAG,mEAAmE,GAAG,YAAY,GAAG,yHAAyH;YAChR,4CAA4C;YAC5C,8UAA8U;YAC9U,0CAA0C;YAC1C,ySAAyS;YACzS,0CAA0C;YAC1C,yZAAyZ;YACzZ,wCAAwC;YACxC,qJAAqJ;YACrJ,mHAAmH;YACnH,2HAA2H;QAC7H,QAAQ,EAAE;YACR,UAAU;YACV,UAAU;YACV,UAAU;YACV,cAAc;YACd,aAAa;YACb,SAAS;YACT,SAAS;YACT,gBAAgB;YAChB,WAAW;YACX,cAAc;YACd,KAAK;YACL,KAAK;YACL,aAAa;YACb,SAAS;YACT,gBAAgB;YAChB,cAAc;YACd,qBAAqB;SACtB;QACD,YAAY,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;KAClE;IACD;QACE,KAAK,EAAE,6BAA6B;QACpC,KAAK,EAAE,wCAAwC;QAC/C,OAAO,EACL,gMAAgM;YAChM,0PAA0P;YAC1P,wlBAAwlB;YACxlB,2dAA2d;YAC3d,seAAse;YACte,kcAAkc;YAClc,4aAA4a;QAC9a,QAAQ,EAAE;YACR,WAAW;YACX,WAAW;YACX,UAAU;YACV,UAAU;YACV,WAAW;YACX,kBAAkB;YAClB,eAAe;YACf,oBAAoB;YACpB,kBAAkB;YAClB,SAAS;YACT,YAAY;YACZ,UAAU;YACV,YAAY;YACZ,SAAS;YACT,aAAa;YACb,gBAAgB;YAChB,mBAAmB;YACnB,iBAAiB;YACjB,iBAAiB;YACjB,UAAU;SACX;QACD,YAAY,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,0BAA0B,CAAC;KAC3F;IACD;QACE,KAAK,EAAE,wBAAwB;QAC/B,KAAK,EAAE,2CAA2C;QAClD,OAAO,EACL,y5BAAy5B;QAC35B,QAAQ,EAAE;YACR,WAAW;YACX,UAAU;YACV,WAAW;YACX,OAAO;YACP,QAAQ;YACR,cAAc;YACd,aAAa;YACb,OAAO;YACP,WAAW;YACX,aAAa;YACb,KAAK;YACL,yBAAyB;YACzB,WAAW;YACX,UAAU;SACX;QACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;KACzC;IACD;QACE,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,4CAA4C;QACnD,OAAO,EACL,o6EAAo6E;QACt6E,QAAQ,EAAE;YACR,MAAM;YACN,aAAa;YACb,YAAY;YACZ,UAAU;YACV,kBAAkB;YAClB,eAAe;YACf,kBAAkB;YAClB,QAAQ;YACR,cAAc;YACd,WAAW;YACX,QAAQ;YACR,MAAM;YACN,SAAS;SACV;QACD,YAAY,EAAE,CAAC,wBAAwB,EAAE,kBAAkB,CAAC;KAC7D;IACD;QACE,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,iCAAiC;QACxC,OAAO,EACL,6UAA6U;YAC7U,sDAAsD;YACtD,kHAAkH;YAClH,2CAA2C;YAC3C,kTAAkT;YAClT,+CAA+C;YAC/C,uBAAuB;YACvB,mHAAmH;YACnH,6KAA6K;YAC7K,wIAAwI;YACxI,mCAAmC;YACnC,8JAA8J;YAC9J,6JAA6J;YAC7J,0IAA0I;YAC1I,iEAAiE;YACjE,kIAAkI;YAClI,sIAAsI;YACtI,+LAA+L;YAC/L,oVAAoV;YACpV,yRAAyR;YACzR,oRAAoR;YACpR,4KAA4K;YAC5K,gEAAgE;YAChE,waAAwa;YACxa,oaAAoa;YACpa,yGAAyG;YACzG,yGAAyG;YACzG,qGAAqG;YACrG,6KAA6K;YAC7K,8GAA8G;YAC9G,wCAAwC;YACxC,oPAAoP;YACpP,sEAAsE;YACtE,0EAA0E;YAC1E,0EAA0E;YAC1E,0EAA0E;YAC1E,mDAAmD;YACnD,mIAAmI;YACnI,4CAA4C;YAC5C,2bAA2b;YAC3b,ylBAAylB;YACzlB,wMAAwM;YACxM,+IAA+I;YAC/I,4DAA4D;YAC5D,urBAAurB;YACvrB,onBAAonB;YACpnB,kOAAkO;YAClO,qLAAqL;YACrL,sVAAsV;YACtV,uPAAuP;YACvP,6FAA6F;YAC7F,sTAAsT;YACtT,mBAAmB;YACnB,ocAAoc;YACpc,gXAAgX;YAChX,sDAAsD;YACtD,sCAAsC;YACtC,4CAA4C;YAC5C,maAAma;YACna,kNAAkN;YAClN,oKAAoK;YACpK,sCAAsC;YACtC,gDAAgD;YAChD,6NAA6N;YAC7N,mIAAmI;YACnI,8JAA8J;YAC9J,8IAA8I;YAC9I,wJAAwJ;QAC1J,QAAQ,EAAE;YACR,OAAO;YACP,KAAK;YACL,YAAY;YACZ,MAAM;YACN,SAAS;YACT,cAAc;YACd,kBAAkB;YAClB,gBAAgB;YAChB,uBAAuB;YACvB,KAAK;YACL,YAAY;YACZ,KAAK;YACL,QAAQ;YACR,QAAQ;YACR,KAAK;YACL,WAAW;YACX,YAAY;YACZ,MAAM;YACN,WAAW;YACX,iBAAiB;YACjB,WAAW;YACX,SAAS;YACT,SAAS;SACV;QACD,YAAY,EAAE;YACZ,kBAAkB;YAClB,aAAa;YACb,oBAAoB;YACpB,wBAAwB;YACxB,gBAAgB;SACjB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,WAAoB;IACjE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,IAAI,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;QACvG,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC;gBAAE,KAAK,IAAI,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,KAAK,IAAI,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;YACtD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,EAAE,KAAK,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;qBACpB,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5C,IAAI,WAAW,GAAG,CAAC;gBAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,KAAa,EACb,cAAsB,CAAC,EACvB,kBAA0B,GAAG;IAE7B,MAAM,KAAK,GAAG,KAAK;SAChB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe;YAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG;YACpD,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,OAAO,CAAC,MAAM,IAAI,WAAW;YAAE,MAAM;IAC3C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
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":"assertToolCalled.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/assertToolCalled.ts"],"names":[],"mappings":"AAwBA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsE5E,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAyO9E"}
1
+ {"version":3,"file":"assertToolCalled.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/assertToolCalled.ts"],"names":[],"mappings":"AAgEA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsE5E,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAiK9E"}
@@ -1,22 +1,62 @@
1
1
  // assertToolCalled — Phase 4 S1.W.7.
2
2
  //
3
3
  // The other half of the agent-driven E2E loop for Phase 4 voice apps.
4
- // Polls the backend event log for an `assistant.tool_called` event
4
+ // Watches the backend event log for an `assistant.tool_called` event
5
5
  // matching the given tool name (and optionally a partial-match against
6
6
  // the call args), returning when found or timing out.
7
7
  //
8
- // Schema per synthesis #16:
9
- // { sessionId, name, argsMatch?, timeoutMs? } → { name, args, call_id,
10
- // occurred_at_ms } | error code "tool_not_called" on timeout
8
+ // { sessionId, name, argsMatch?, timeoutMs?, sinceCursor? }
9
+ //{ matched, name, args, call_id, occurred_at_ms, waitedMs }
10
+ // | error code "tool_not_called" on timeout
11
11
  //
12
- // Equivalent to getEventLog({ types: ["assistant.tool_called"],
13
- // filter: { name }, timeoutMs }) but in an assertion shape — returns
14
- // the matched event payload directly (no event-array unwrap) and
15
- // errors clearly if no match within the timeout.
12
+ // ── Anchoring: why `sinceCursor` matters (fix 2026-05-29) ──────────────
16
13
  //
17
- // USE for agent test loops:
18
- // await injectAssistantUtterance({ sessionId, text: "take a picture" })
19
- // await assertToolCalled({ sessionId, name: "take_picture", timeoutMs: 5000 })
14
+ // The tool call this assertion waits for is TRIGGERED BY a preceding
15
+ // injectAssistantUtterance. The model fires the tool ~0.5-2s AFTER the
16
+ // inject. assertToolCalled is a SEPARATE MCP call that runs after the
17
+ // inject returns — so by the time it starts, the tool may have ALREADY
18
+ // fired. If assertToolCalled anchors at its own start ("now"), it
19
+ // excludes the very tool call it is meant to catch. That was the
20
+ // dominant cause of the false-negative timeouts surfaced in the
21
+ // 2026-05-28 verification sweep (the tool was right there in the event
22
+ // log, but the assert anchored past it).
23
+ //
24
+ // The ONLY unambiguous anchor is one captured BEFORE the inject.
25
+ // injectAssistantUtterance now returns `watchCursor` (a seq cursor taken
26
+ // immediately before it sends the inject). Pass it here as `sinceCursor`:
27
+ //
28
+ // const r = await injectAssistantUtterance({ sessionId, text: "..." });
29
+ // await assertToolCalled({ sessionId, name: "...", sinceCursor: r.watchCursor });
30
+ //
31
+ // The anchor is then PRE-inject: the triggered tool_called has seq >
32
+ // sinceCursor (caught) and no prior-turn event does (no stale match).
33
+ //
34
+ // ── Fixed-anchor re-scan (also fix 2026-05-29) ────────────────────────
35
+ //
36
+ // The poll holds the anchor FIXED and re-queries `seq > anchor` every
37
+ // iteration — it does NOT advance the cursor as it goes. Two reasons:
38
+ // 1. The window since the inject is tiny (a handful of events), so
39
+ // re-scanning is cheap.
40
+ // 2. Backend `seq` is a BIGSERIAL assigned at nextval() time, which is
41
+ // ~commit order but not perfectly so under fire-and-forget appends
42
+ // (a row can commit slightly out of seq order — observed: tool_result
43
+ // landing at a lower seq than its own tool_called). An advancing
44
+ // cursor could skip a straggler that commits just below the
45
+ // high-water mark. A fixed anchor + full re-scan can never skip:
46
+ // any matching row with seq > anchor is found on the next poll
47
+ // whenever it becomes visible.
48
+ //
49
+ // This replaces the 0.1.5 post-timeout "safety net," which did a
50
+ // no-cursor newest-N scan filtered by `occurred_at_ms >= startedAt - 5s`.
51
+ // That backstop was structurally broken: `startedAt` is the MCP server's
52
+ // LOCAL clock, and on a machine even 5s skewed from the backend (measured
53
+ // +7.77s in practice) the filter rejected valid events. Pure seq
54
+ // comparison has zero clock dependency, so the whole class of skew bugs
55
+ // is gone.
56
+ //
57
+ // USE for agent test loops (thread the cursor):
58
+ // const r = await injectAssistantUtterance({ sessionId, text: "take a picture" })
59
+ // await assertToolCalled({ sessionId, name: "take_picture", sinceCursor: r.watchCursor })
20
60
  //
21
61
  // DON'T USE for inspecting the full event trace (use getEventLog) or
22
62
  // for checking which tools are registered statically (use
@@ -72,7 +112,7 @@ export async function handleAssertToolCalled(raw) {
72
112
  return errorResponse({
73
113
  code: "invalid_arguments",
74
114
  message: "assertToolCalled requires { sessionId, name }.",
75
- fixHint: 'Pass { sessionId: "sim_...", name: "take_picture" }. Optional: argsMatch (object — top-level partial match), timeoutMs (default 5000).',
115
+ fixHint: 'Pass { sessionId: "sim_...", name: "take_picture" }. Strongly recommended: sinceCursor — the watchCursor returned by the injectAssistantUtterance that triggered the tool (anchors the wait BEFORE the inject so a fast tool call is never missed). Optional: argsMatch (object — top-level partial match), timeoutMs (default 5000).',
76
116
  retryable: false,
77
117
  });
78
118
  }
@@ -100,27 +140,23 @@ export async function handleAssertToolCalled(raw) {
100
140
  let timeoutMs = typeof o.timeoutMs === "number" ? Math.round(o.timeoutMs) : DEFAULT_TIMEOUT_MS;
101
141
  timeoutMs = Math.max(MIN_TIMEOUT_MS, Math.min(MAX_TIMEOUT_MS, timeoutMs));
102
142
  const sessionId = o.sessionId;
143
+ const sinceCursor = typeof o.sinceCursor === "string" && o.sinceCursor.trim()
144
+ ? o.sinceCursor
145
+ : undefined;
103
146
  const startedAt = Date.now();
104
147
  const deadline = startedAt + timeoutMs;
105
- // **Anchor at "now" BEFORE polling** (fix 2026-05-27).
106
- //
107
- // Without this anchor, the first poll fetched events with no cursor,
108
- // which returned the OLDEST 200 events in the session's history. If
109
- // any prior `assistant.tool_called` event matched the requested name
110
- // (very common in iterative testing yesterday's runs, last hour's
111
- // runs, etc.), assertToolCalled returned IMMEDIATELY with a stale
112
- // call_id + occurred_at_ms from history, and a `waitedMs` that didn't
113
- // represent the actual response latency at all. The bug was silent —
114
- // tests appeared to pass faster than physically possible (e.g. an
115
- // OpenAi tool call appearing to fire in 400ms when the real round-trip
116
- // is 1-2s).
117
- //
118
- // Fix: a one-time anchor fetch with limit=1 returns the latest event
119
- // + a cursor positioned AFTER it. We start polling from that cursor,
120
- // so we only match events that arrive while assertToolCalled is
121
- // running. Existing callers benefit automatically — no schema change.
122
- let cursor;
123
- {
148
+ // Resolve the FIXED anchor cursor.
149
+ // - sinceCursor provided → use it verbatim (the correct, pre-inject
150
+ // anchor; the triggered tool_called has seq > this).
151
+ // - otherwise capture the current tail (newest event's seq) as a
152
+ // best-effort anchor. This catches tools that fire AFTER this call
153
+ // starts, but CANNOT catch a tool that already fired in the gap
154
+ // between the inject and this call that is why threading
155
+ // sinceCursor is strongly recommended. The response flags
156
+ // anchor:"now" so the caller can see it used the racy fallback.
157
+ let anchorCursor = sinceCursor;
158
+ let anchorMode = sinceCursor ? "sinceCursor" : "now";
159
+ if (!anchorCursor) {
124
160
  const anchorParams = new URLSearchParams();
125
161
  anchorParams.set("filter", "all");
126
162
  anchorParams.set("limit", "1");
@@ -134,20 +170,22 @@ export async function handleAssertToolCalled(raw) {
134
170
  });
135
171
  }
136
172
  if (anchorRes.ok && anchorRes.data) {
137
- cursor = anchorRes.data.cursor ?? undefined;
173
+ anchorCursor = anchorRes.data.cursor ?? undefined;
138
174
  }
139
- // If anchor fetch failed (network blip, transient backend issue),
140
- // proceed with cursor=undefined and accept the small staleness risk
141
- // for this run the polling-loop error handler below will surface
142
- // a real failure on the next iteration.
175
+ // If the anchor fetch failed, anchorCursor stays undefined the poll
176
+ // reads from the start of the log. Combined with the seq>anchor match
177
+ // this risks a stale match, but a failed anchor fetch is a transient
178
+ // backend issue the poll loop will surface as backend_unreachable.
143
179
  }
144
180
  let lastSeenStatus;
145
181
  while (Date.now() < deadline) {
146
182
  const params = new URLSearchParams();
147
183
  params.set("filter", "all");
148
184
  params.set("limit", "200");
149
- if (cursor)
150
- params.set("cursor", cursor);
185
+ // FIXED anchor — never advanced. Re-scans the whole since-anchor
186
+ // window each poll so a late-committing straggler is never skipped.
187
+ if (anchorCursor)
188
+ params.set("cursor", anchorCursor);
151
189
  const res = await backendFetch(`/api/sessions/${encodeURIComponent(sessionId)}/events?${params.toString()}`);
152
190
  if (res.status === 404) {
153
191
  return errorResponse({
@@ -189,84 +227,22 @@ export async function handleAssertToolCalled(raw) {
189
227
  call_id: callId,
190
228
  occurred_at_ms: Number.isFinite(occurredAtMs) ? occurredAtMs : null,
191
229
  waitedMs: Date.now() - startedAt,
230
+ anchor: anchorMode,
192
231
  summary: `Tool ${expectedName}(${JSON.stringify(actualArgs).slice(0, 80)}) called after ${Date.now() - startedAt}ms${callId ? ` (call_id=${callId})` : ""}.`,
193
232
  });
194
233
  }
195
- cursor = res.data.cursor ?? cursor ?? null;
196
234
  await sleep(Math.min(POLL_MS, Math.max(0, deadline - Date.now())));
197
235
  }
198
- // ── Post-timeout safety-net catch-up (fix 2026-05-28) ─────────────────
199
- //
200
- // Polling sometimes misses events that ARE in the database but slip
201
- // past the cursor-based read path — observed against gpt-realtime-2 in
202
- // live testing, where assertToolCalled timed out at 15s while a manual
203
- // `getEventLog` immediately afterwards saw the matching tool_called
204
- // sitting in the log. Suspected mechanism: the keyset cursor walks past
205
- // a same-millisecond event whose random-hex `id` happens to sort less
206
- // than the cursor's id (the backend's encodeCursor uses (timestamp,id)
207
- // as a total order; rapid `assistant_spoke → tool_called → tool_result`
208
- // sequences fire within milliseconds and can tie at the millisecond).
209
- // Even when that specific race doesn't fire, occasional Vercel /
210
- // Supabase visibility delays can leave an event invisible to N polls
211
- // in a row and visible to N+1.
212
- //
213
- // Safety net: one final no-cursor fetch of the newest 200 events,
214
- // scanned for the target with timestamp ≥ (startedAt - 5s buffer). The
215
- // buffer absorbs client-server clock skew without admitting genuinely
216
- // old events. If found here, the response surfaces `caughtBy:
217
- // "safety_net"` so the caller knows the primary polling failed and the
218
- // catch-up rescued the match.
219
- const SAFETY_BUFFER_MS = 5_000;
220
- const safetyParams = new URLSearchParams();
221
- safetyParams.set("filter", "all");
222
- safetyParams.set("limit", "200");
223
- const safetyRes = await backendFetch(`/api/sessions/${encodeURIComponent(sessionId)}/events?${safetyParams.toString()}`);
224
- if (safetyRes.ok && safetyRes.data) {
225
- const safetyEvents = safetyRes.data.events ?? [];
226
- // Newest-first iteration so the most recent match wins on duplicates.
227
- for (let i = safetyEvents.length - 1; i >= 0; i--) {
228
- const ev = safetyEvents[i];
229
- if (ev.type !== "assistant.tool_called")
230
- continue;
231
- const details = ev.details ?? {};
232
- const actualName = typeof details.name === "string" ? details.name : null;
233
- if (actualName !== expectedName)
234
- continue;
235
- const occurredAtMs = Date.parse(ev.timestamp);
236
- // Reject events that landed clearly before the assertToolCalled call —
237
- // those would be stale matches from prior runs, exactly what the
238
- // b87388d cursor anchor guards against in the polling path.
239
- if (!Number.isFinite(occurredAtMs) ||
240
- occurredAtMs < startedAt - SAFETY_BUFFER_MS) {
241
- continue;
242
- }
243
- const actualArgs = details.args && typeof details.args === "object"
244
- ? details.args
245
- : {};
246
- if (argsMatch && !argsMatchPartial(actualArgs, argsMatch))
247
- continue;
248
- const callId = typeof details.call_id === "string" ? details.call_id : null;
249
- const waitedMs = Date.now() - startedAt;
250
- return okResponse({
251
- sessionId,
252
- matched: true,
253
- name: expectedName,
254
- args: actualArgs,
255
- call_id: callId,
256
- occurred_at_ms: Number.isFinite(occurredAtMs) ? occurredAtMs : null,
257
- waitedMs,
258
- caughtBy: "safety_net",
259
- summary: `Tool ${expectedName}(${JSON.stringify(actualArgs).slice(0, 80)}) caught by post-timeout safety-net after ${waitedMs}ms${callId ? ` (call_id=${callId})` : ""}. The primary polling path missed this event — likely event-log freshness lag. Match is valid; treat the test as passing, but consider it a soft signal that the polling read path needs investigation.`,
260
- });
261
- }
262
- }
263
236
  const argsHint = argsMatch
264
237
  ? ` matching args ${JSON.stringify(argsMatch).slice(0, 80)}`
265
238
  : "";
239
+ const anchorHint = anchorMode === "now"
240
+ ? " NOTE: this call anchored at \"now\" (no sinceCursor was passed), so a tool that fired in the gap between your injectAssistantUtterance and this call would be missed. Pass sinceCursor: <the watchCursor from injectAssistantUtterance> to anchor before the inject."
241
+ : "";
266
242
  return errorResponse({
267
243
  code: "tool_not_called",
268
- message: `Timeout waiting for tool "${expectedName}"${argsHint} after ${timeoutMs}ms (including post-timeout safety-net check). Session status: ${lastSeenStatus ?? "unknown"}.`,
269
- fixHint: "Check that (a) glasses.assistant.start { ... } is running in the app with this tool registered, (b) injectAssistantUtterance ran first and was delivered (its response shows delivered:true), and (c) the tool description's keywords overlap with the injected utterance (the Mock provider matches by word overlap). Try getEventLog(types:['assistant.user_spoke','assistant.tool_called','assistant.error']) to see what the assistant did instead.",
244
+ message: `Timeout waiting for tool "${expectedName}"${argsHint} after ${timeoutMs}ms. Session status: ${lastSeenStatus ?? "unknown"}.${anchorHint}`,
245
+ fixHint: "Check that (a) glasses.assistant.start { ... } is running in the app with this tool registered, (b) injectAssistantUtterance ran first and was delivered (its response shows delivered:true) AND you passed its watchCursor as sinceCursor, and (c) the tool description's keywords overlap with the injected utterance. Try getEventLog(types:['assistant.user_spoke','assistant.tool_called','assistant.error']) to see what the assistant did instead.",
270
246
  retryable: true,
271
247
  });
272
248
  }
@@ -1 +1 @@
1
- {"version":3,"file":"assertToolCalled.js","sourceRoot":"","sources":["../../../src/tools/handlers/assertToolCalled.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertToolCalled.js","sourceRoot":"","sources":["../../../src/tools/handlers/assertToolCalled.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,EAAE;AACF,sEAAsE;AACtE,qEAAqE;AACrE,uEAAuE;AACvE,sDAAsD;AACtD,EAAE;AACF,8DAA8D;AAC9D,mEAAmE;AACnE,gDAAgD;AAChD,EAAE;AACF,0EAA0E;AAC1E,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,sEAAsE;AACtE,uEAAuE;AACvE,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,uEAAuE;AACvE,yCAAyC;AACzC,EAAE;AACF,iEAAiE;AACjE,yEAAyE;AACzE,0EAA0E;AAC1E,EAAE;AACF,0EAA0E;AAC1E,oFAAoF;AACpF,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,EAAE;AACF,yEAAyE;AACzE,EAAE;AACF,sEAAsE;AACtE,sEAAsE;AACtE,qEAAqE;AACrE,6BAA6B;AAC7B,yEAAyE;AACzE,wEAAwE;AACxE,2EAA2E;AAC3E,sEAAsE;AACtE,iEAAiE;AACjE,sEAAsE;AACtE,oEAAoE;AACpE,oCAAoC;AACpC,EAAE;AACF,iEAAiE;AACjE,0EAA0E;AAC1E,yEAAyE;AACzE,0EAA0E;AAC1E,iEAAiE;AACjE,wEAAwE;AACxE,WAAW;AACX,EAAE;AACF,gDAAgD;AAChD,oFAAoF;AACpF,4FAA4F;AAC5F,EAAE;AACF,qEAAqE;AACrE,0DAA0D;AAC1D,uBAAuB;AAEvB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAmB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAexD,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAC1C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,MAA+B,EAC/B,QAAiC;IAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,IACE,OAAO,WAAW,KAAK,QAAQ;YAC/B,WAAW,KAAK,IAAI;YACpB,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAC3B,CAAC;YACD,sCAAsC;YACtC,IACE,OAAO,SAAS,KAAK,QAAQ;gBAC7B,SAAS,KAAK,IAAI;gBAClB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;gBAExB,OAAO,KAAK,CAAC;YACf,IACE,CAAC,gBAAgB,CACf,SAAoC,EACpC,WAAsC,CACvC;gBAED,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5C,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBACjE,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,SAAS,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,GAAY;IACvD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,gDAAgD;YACzD,OAAO,EACL,uUAAuU;YACzU,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3D,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE,wDAAwD;YACjE,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,uDAAuD;YAChE,OAAO,EAAE,iFAAiF;YAC1F,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;IAC5B,MAAM,SAAS,GACb,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,CAAC,CAAE,CAAC,CAAC,SAAqC;QAC1C,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,SAAS,GACX,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACjF,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;IAC9B,MAAM,WAAW,GACf,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE;QACvD,CAAC,CAAC,CAAC,CAAC,WAAW;QACf,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IAEvC,mCAAmC;IACnC,sEAAsE;IACtE,yDAAyD;IACzD,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,+DAA+D;IAC/D,8DAA8D;IAC9D,oEAAoE;IACpE,IAAI,YAAY,GAAuB,WAAW,CAAC;IACnD,IAAI,UAAU,GAA0B,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5E,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAC3C,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,iBAAiB,kBAAkB,CAAC,SAAS,CAAC,WAAW,YAAY,CAAC,QAAQ,EAAE,EAAE,CACnF,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,OAAO,aAAa,CAAC;gBACnB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,4BAA4B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG;gBACjE,OAAO,EAAE,qDAAqD;gBAC9D,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACnC,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;QACpD,CAAC;QACD,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,mEAAmE;IACrE,CAAC;IAED,IAAI,cAAkC,CAAC;IAEvC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3B,iEAAiE;QACjE,oEAAoE;QACpE,IAAI,YAAY;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAErD,MAAM,GAAG,GAAG,MAAM,YAAY,CAC5B,iBAAiB,kBAAkB,CAAC,SAAS,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC7E,CAAC;QAEF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,OAAO,aAAa,CAAC;gBACnB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,4BAA4B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG;gBACjE,OAAO,EAAE,qDAAqD;gBAC9D,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,aAAa,CAAC;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,mCAAmC,GAAG,CAAC,SAAS,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG;gBACpF,OAAO,EAAE,2CAA2C;gBACpD,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;QAED,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAErC,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,IAAI,EAAE,CAAC,IAAI,KAAK,uBAAuB;gBAAE,SAAS;YAClD,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,IAAI,UAAU,KAAK,YAAY;gBAAE,SAAS;YAE1C,MAAM,UAAU,GACd,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAC9C,CAAC,CAAE,OAAO,CAAC,IAAgC;gBAC3C,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,SAAS,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC;gBAAE,SAAS;YAEpE,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAC9C,OAAO,UAAU,CAAC;gBAChB,SAAS;gBACT,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;gBACnE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAChC,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,QAAQ,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,kBACtE,IAAI,CAAC,GAAG,EAAE,GAAG,SACf,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;aAC7C,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS;QACxB,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC5D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GACd,UAAU,KAAK,KAAK;QAClB,CAAC,CAAC,uQAAuQ;QACzQ,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,aAAa,CAAC;QACnB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,6BAA6B,YAAY,IAAI,QAAQ,UAAU,SAAS,uBAC/E,cAAc,IAAI,SACpB,IAAI,UAAU,EAAE;QAChB,OAAO,EACL,2bAA2b;QAC7b,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type McpContent } from "../response.js";
2
+ export declare function handleEnsureSimulatorBrowser(raw: unknown): Promise<McpContent>;
3
+ //# sourceMappingURL=ensureSimulatorBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureSimulatorBrowser.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/ensureSimulatorBrowser.ts"],"names":[],"mappings":"AAiCA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA0B5E,wBAAsB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CA4LpF"}
@@ -0,0 +1,204 @@
1
+ // ensureSimulatorBrowser — guarantee a CONNECTED simulator browser tab for a
2
+ // session: open one if needed and confirm the WebSocket actually attached.
3
+ //
4
+ // Why this is its own tool (not just createSimulatorSession's best-effort
5
+ // auto-open): createSimulatorSession fires attemptAutoOpen fire-and-forget and
6
+ // reports attempted:true even when the spawn silently fails — it never
7
+ // confirms the tab connected, and there's no way to re-ensure a browser
8
+ // without re-minting. That leaves four gaps this tool closes: (1) the tab was
9
+ // closed mid-session, (2) a backend deploy killed the tab's socket (it does
10
+ // NOT auto-reconnect), (3) the agent jumped straight to a camera tool
11
+ // (setSimVideo / capture_photo) which needs the browser, (4) a fresh resumed
12
+ // session whose tab never opened. Camera/inject tools fail with
13
+ // `browser_role_not_attached` without an attached browser; this tool is the
14
+ // reliable precondition.
15
+ //
16
+ // Liveness signal: polls GET /api/sessions/:id/browser-presence, which reports
17
+ // the AUTHORITATIVE in-memory hub readyState — the SAME signal setSimVideo /
18
+ // inject gate on — so this tool can never report "connected" while those tools
19
+ // see "not attached." (getSimulatorStatus reads the persisted connected_roles,
20
+ // which can lag a dead socket ~25-50s after an unclean drop.)
21
+ //
22
+ // Open mechanism: the MCP server opens the tab ITSELF via the cross-platform
23
+ // attemptAutoOpen (same util createSimulatorSession uses), removing the agent's
24
+ // flaky platform-dependent shell step entirely, then client-polls to confirm —
25
+ // the proven long-poll pattern getEventLog(follow)/assertToolCalled use (there
26
+ // is no backend→mcp push channel for this).
27
+ //
28
+ // Shape:
29
+ // { sessionId, timeoutMs?, autoOpen? }
30
+ // → { alreadyOpen, opened, browserConnected, browserClientId, appConnected,
31
+ // sessionUrl, waitedMs, ... }
32
+ // | error "browser_not_connected" when auto-open didn't attach in time.
33
+ import { okResponse, errorResponse } from "../response.js";
34
+ import { backendFetch } from "../util/backendClient.js";
35
+ import { attemptAutoOpen } from "../util/browserOpen.js";
36
+ const POLL_MS = 500;
37
+ const DEFAULT_TIMEOUT_MS = 20_000;
38
+ const MIN_TIMEOUT_MS = 5_000;
39
+ const MAX_TIMEOUT_MS = 60_000;
40
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
41
+ function presencePath(sessionId) {
42
+ return `/api/sessions/${encodeURIComponent(sessionId)}/browser-presence`;
43
+ }
44
+ export async function handleEnsureSimulatorBrowser(raw) {
45
+ if (!raw || typeof raw !== "object") {
46
+ return errorResponse({
47
+ code: "invalid_arguments",
48
+ message: "ensureSimulatorBrowser requires { sessionId }.",
49
+ fixHint: 'Pass { sessionId: "sim_..." }. Optional: timeoutMs (default 20000, clamped [5000, 60000]), autoOpen (default true).',
50
+ retryable: false,
51
+ });
52
+ }
53
+ const o = raw;
54
+ if (typeof o.sessionId !== "string" || !o.sessionId.trim()) {
55
+ return errorResponse({
56
+ code: "invalid_arguments",
57
+ message: "sessionId (string) is required.",
58
+ fixHint: "Pass the sessionId returned by createSimulatorSession.",
59
+ retryable: false,
60
+ });
61
+ }
62
+ const sessionId = o.sessionId;
63
+ const autoOpen = o.autoOpen !== false;
64
+ let timeoutMs = typeof o.timeoutMs === "number" ? Math.round(o.timeoutMs) : DEFAULT_TIMEOUT_MS;
65
+ timeoutMs = Math.max(MIN_TIMEOUT_MS, Math.min(MAX_TIMEOUT_MS, timeoutMs));
66
+ // 1. Snapshot current presence.
67
+ const first = await backendFetch(presencePath(sessionId));
68
+ if (first.status === 404) {
69
+ return errorResponse({
70
+ code: "session_not_found",
71
+ message: `No session found with id ${JSON.stringify(sessionId)}.`,
72
+ fixHint: "Call createSimulatorSession to start a session first.",
73
+ retryable: false,
74
+ });
75
+ }
76
+ if (!first.ok || !first.data) {
77
+ return errorResponse({
78
+ code: "backend_unreachable",
79
+ message: `Backend browser-presence endpoint failed: ${first.errorText ?? `HTTP ${first.status}`}.`,
80
+ fixHint: "Ensure the Extentos backend is reachable (EXTENTOS_BACKEND_URL, or api.extentos.com).",
81
+ retryable: true,
82
+ });
83
+ }
84
+ const sessionUrl = typeof first.data.sessionUrl === "string" ? first.data.sessionUrl : null;
85
+ // Already connected → no-op. Avoids opening a redundant tab the hub would
86
+ // reject with role_conflict (and avoids a confusing second window).
87
+ if (first.data.browserConnected) {
88
+ const appConnected = first.data.appConnected ?? false;
89
+ return okResponse({
90
+ sessionId,
91
+ alreadyOpen: true,
92
+ opened: false,
93
+ browserConnected: true,
94
+ browserClientId: first.data.browserClientId ?? null,
95
+ appConnected,
96
+ sessionUrl,
97
+ waitedMs: 0,
98
+ summary: `Simulator browser already connected${appConnected ? " (app also attached)" : " — app NOT attached yet"}. No action taken.`,
99
+ });
100
+ }
101
+ // Not connected, and caller opted out of opening: return the snapshot + URL,
102
+ // no spawn, no wait. They'll open it themselves (or hand the URL to the
103
+ // developer) and can re-run with autoOpen:true to open-and-confirm.
104
+ if (!autoOpen) {
105
+ return okResponse({
106
+ sessionId,
107
+ alreadyOpen: false,
108
+ opened: false,
109
+ browserConnected: false,
110
+ browserClientId: null,
111
+ appConnected: first.data.appConnected ?? false,
112
+ sessionUrl,
113
+ autoOpenAttempted: false,
114
+ waitedMs: 0,
115
+ summary: sessionUrl
116
+ ? `No simulator browser connected and autoOpen:false — open ${sessionUrl} in a browser (or surface it to the developer), then re-run with autoOpen:true to open-and-confirm.`
117
+ : "No simulator browser connected and autoOpen:false.",
118
+ });
119
+ }
120
+ if (!sessionUrl) {
121
+ return errorResponse({
122
+ code: "backend_invalid_response",
123
+ message: "browser-presence response did not include sessionUrl; cannot open a browser tab.",
124
+ fixHint: "Backend version mismatch — the backend must expose /api/sessions/:id/browser-presence with sessionUrl.",
125
+ retryable: false,
126
+ });
127
+ }
128
+ // 2. Open the tab ourselves (cross-platform — same mechanism
129
+ // createSimulatorSession uses), then poll until the browser WS attaches.
130
+ const open = attemptAutoOpen(sessionUrl, true);
131
+ const startedAt = Date.now();
132
+ const deadline = startedAt + timeoutMs;
133
+ let everReachedBackend = false;
134
+ let appConnected = first.data.appConnected ?? false;
135
+ while (Date.now() < deadline) {
136
+ await sleep(Math.min(POLL_MS, Math.max(0, deadline - Date.now())));
137
+ const r = await backendFetch(presencePath(sessionId));
138
+ if (r.status === 404) {
139
+ return errorResponse({
140
+ code: "session_not_found",
141
+ message: `Session ${JSON.stringify(sessionId)} disappeared while waiting for the browser to connect.`,
142
+ fixHint: "The session may have been reset/archived. Call createSimulatorSession again.",
143
+ retryable: false,
144
+ });
145
+ }
146
+ if (!r.ok || !r.data) {
147
+ // Transient blip (e.g. a redeploy mid-poll) — keep trying until the
148
+ // deadline rather than failing the whole ensure on one bad poll.
149
+ continue;
150
+ }
151
+ everReachedBackend = true;
152
+ appConnected = r.data.appConnected ?? appConnected;
153
+ if (r.data.browserConnected) {
154
+ const waitedMs = Date.now() - startedAt;
155
+ return okResponse({
156
+ sessionId,
157
+ alreadyOpen: false,
158
+ opened: true,
159
+ browserConnected: true,
160
+ browserClientId: r.data.browserClientId ?? null,
161
+ appConnected,
162
+ sessionUrl,
163
+ autoOpenAttempted: open.attempted,
164
+ autoOpenPlatform: open.platform,
165
+ waitedMs,
166
+ summary: `Simulator browser connected after ${waitedMs}ms (${open.attempted ? `auto-opened on ${open.platform}` : "auto-open skipped"})${appConnected ? "; app also attached" : "; app NOT attached yet"}.`,
167
+ });
168
+ }
169
+ }
170
+ // Timed out. Distinguish "backend was unreachable the whole time" from
171
+ // "backend was fine but the browser never attached" — different fixes.
172
+ const waitedMs = Date.now() - startedAt;
173
+ if (!everReachedBackend) {
174
+ return errorResponse({
175
+ code: "backend_unreachable",
176
+ message: `browser-presence polling never got a successful response in ${timeoutMs}ms.`,
177
+ fixHint: "Backend may be redeploying or unreachable. Retry shortly.",
178
+ retryable: true,
179
+ }, {
180
+ sessionId,
181
+ sessionUrl,
182
+ autoOpenAttempted: open.attempted,
183
+ autoOpenPlatform: open.platform,
184
+ waitedMs,
185
+ });
186
+ }
187
+ return errorResponse({
188
+ code: "browser_not_connected",
189
+ message: open.attempted
190
+ ? `Auto-opened ${sessionUrl} on ${open.platform} but no simulator browser WebSocket attached within ${timeoutMs}ms.`
191
+ : `Auto-open was skipped (EXTENTOS_NO_AUTO_OPEN=1, ~/.extentos/config.json autoOpenBrowser:false, or unsupported environment) and no simulator browser attached within ${timeoutMs}ms.`,
192
+ fixHint: "Likely causes: (a) a pop-up blocker or non-default browser swallowed the open — open the sessionUrl manually; (b) you're a headless/remote agent with no local browser — surface sessionUrl to the developer to open on a machine with a display; (c) the tab opened but is still loading — re-run with a larger timeoutMs. The session itself is fine; only the browser viewer is missing.",
193
+ retryable: true,
194
+ }, {
195
+ sessionId,
196
+ sessionUrl,
197
+ browserConnected: false,
198
+ appConnected,
199
+ autoOpenAttempted: open.attempted,
200
+ autoOpenPlatform: open.platform,
201
+ waitedMs,
202
+ });
203
+ }
204
+ //# sourceMappingURL=ensureSimulatorBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureSimulatorBrowser.js","sourceRoot":"","sources":["../../../src/tools/handlers/ensureSimulatorBrowser.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":"AAgDA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAW5E,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,UAAU,CAAC,CAuIrB"}
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;AAgB5E,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,UAAU,CAAC,CAkKrB"}
@@ -113,6 +113,25 @@ export async function handleInjectAssistantUtterance(raw) {
113
113
  retryable: false,
114
114
  });
115
115
  }
116
+ // Capture a watch cursor IMMEDIATELY BEFORE the inject. assertToolCalled
117
+ // uses this as `sinceCursor` to anchor its wait BEFORE this inject — so
118
+ // the tool call this inject triggers (which fires 0.5-2s later) always
119
+ // has seq > watchCursor and is never missed, even if assertToolCalled
120
+ // starts after the tool already fired. Without this pre-inject anchor,
121
+ // assertToolCalled can only anchor at its own (later) start time and
122
+ // races against fast tool calls. See assertToolCalled.ts for the full
123
+ // writeup. Best-effort: if this fetch fails, watchCursor is null and
124
+ // the caller falls back to assertToolCalled's "anchor at now" path.
125
+ let watchCursor = null;
126
+ {
127
+ const cursorParams = new URLSearchParams();
128
+ cursorParams.set("filter", "all");
129
+ cursorParams.set("limit", "1");
130
+ const cursorRes = await backendFetch(`/api/sessions/${encodeURIComponent(o.sessionId)}/events?${cursorParams.toString()}`);
131
+ if (cursorRes.ok && cursorRes.data) {
132
+ watchCursor = cursorRes.data.cursor ?? null;
133
+ }
134
+ }
116
135
  const payload = {
117
136
  type: "stt_transcript",
118
137
  text: text,
@@ -154,13 +173,18 @@ export async function handleInjectAssistantUtterance(raw) {
154
173
  sessionId: o.sessionId,
155
174
  delivered: true,
156
175
  mode: "text",
176
+ // Pre-inject watch cursor — pass to assertToolCalled({ sinceCursor })
177
+ // so the wait anchors BEFORE this inject and catches the triggered
178
+ // tool call even if the model is fast. Null only if the cursor
179
+ // pre-fetch failed (rare); assertToolCalled then falls back to its
180
+ // racier "anchor at now" path.
181
+ watchCursor,
157
182
  frame: res.data.frame ?? payload,
158
183
  summary: `Injected utterance "${text.slice(0, 60)}${text.length > 60 ? "…" : ""}" into ${o.sessionId}. ` +
184
+ `NEXT: assertToolCalled({ sessionId, name: "...", sinceCursor: "${watchCursor ?? ""}" }) — passing ` +
185
+ `sinceCursor anchors the wait BEFORE this inject so a fast tool call is never missed. ` +
159
186
  `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"]).`,
187
+ `injectTranscript({ sessionId, text: "hey elizabeth" }), wait for assistant.session_started, then re-inject.`,
164
188
  });
165
189
  }
166
190
  //# sourceMappingURL=injectAssistantUtterance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"injectAssistantUtterance.js","sourceRoot":"","sources":["../../../src/tools/handlers/injectAssistantUtterance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injectAssistantUtterance.js","sourceRoot":"","sources":["../../../src/tools/handlers/injectAssistantUtterance.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ export async function handleSetSimVideo(raw) {
70
70
  code: "browser_not_attached",
71
71
  message: body?.message ??
72
72
  "Camera source not set: the session exists but no simulator browser tab is currently open.",
73
- fixHint: `Open the simulator page (https://extentos.com/s/${o.sessionId}) so a browser role attaches, then retry. Confirm with getSimulatorStatus connectedRoles.browser should be present.`,
73
+ fixHint: `Call ensureSimulatorBrowser({ sessionId: "${o.sessionId}" }) to open and confirm a browser tab — it opens the session URL cross-platform (MCP-side) and polls until the WebSocket attaches then retry setSimVideo. (The backend message includes the sessionUrl if you'd rather open it manually.)`,
74
74
  retryable: true,
75
75
  });
76
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setSimVideo.js","sourceRoot":"","sources":["../../../src/tools/handlers/setSimVideo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setSimVideo.js","sourceRoot":"","sources":["../../../src/tools/handlers/setSimVideo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAqBhD,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAE9E,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAoBhD,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAsBhD,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAE9E,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAqBhD,CAAC"}
@@ -3,6 +3,7 @@
3
3
  // any registered-but-unwired tool fall back to the not_implemented stub.
4
4
  import { handleCompleteAuthLink } from "./handlers/completeAuthLink.js";
5
5
  import { handleCreateSimulatorSession } from "./handlers/createSimulatorSession.js";
6
+ import { handleEnsureSimulatorBrowser } from "./handlers/ensureSimulatorBrowser.js";
6
7
  import { handleGenerateConnectionModule } from "./handlers/generateConnectionModule.js";
7
8
  import { handleGetCapabilityGuide } from "./handlers/getCapabilityGuide.js";
8
9
  import { handleGetCodeExample } from "./handlers/getCodeExample.js";
@@ -23,6 +24,7 @@ import { handleValidateIntegration } from "./handlers/validateIntegration.js";
23
24
  export const handlers = {
24
25
  completeAuthLink: handleCompleteAuthLink,
25
26
  createSimulatorSession: handleCreateSimulatorSession,
27
+ ensureSimulatorBrowser: handleEnsureSimulatorBrowser,
26
28
  generateConnectionModule: handleGenerateConnectionModule,
27
29
  getCapabilityGuide: handleGetCapabilityGuide,
28
30
  getCodeExample: handleGetCodeExample,
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,yEAAyE;AACzE,yEAAyE;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAI9E,MAAM,CAAC,MAAM,QAAQ,GAAgC;IACnD,gBAAgB,EAAE,sBAAsB;IACxC,sBAAsB,EAAE,4BAA4B;IACpD,wBAAwB,EAAE,8BAA8B;IACxD,kBAAkB,EAAE,wBAAwB;IAC5C,cAAc,EAAE,oBAAoB;IACpC,kBAAkB,EAAE,wBAAwB;IAC5C,WAAW,EAAE,iBAAiB;IAC9B,cAAc,EAAE,oBAAoB;IACpC,eAAe,EAAE,qBAAqB;IACtC,sBAAsB,EAAE,4BAA4B;IACpD,kBAAkB,EAAE,wBAAwB;IAC5C,uBAAuB,EAAE,6BAA6B;IACtD,wBAAwB,EAAE,8BAA8B;IACxD,gBAAgB,EAAE,sBAAsB;IACxC,kBAAkB,EAAE,wBAAwB;IAC5C,gBAAgB,EAAE,sBAAsB;IACxC,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,iBAAiB;IAC9B,mBAAmB,EAAE,yBAAyB;CAC/C,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,yEAAyE;AACzE,yEAAyE;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAI9E,MAAM,CAAC,MAAM,QAAQ,GAAgC;IACnD,gBAAgB,EAAE,sBAAsB;IACxC,sBAAsB,EAAE,4BAA4B;IACpD,sBAAsB,EAAE,4BAA4B;IACpD,wBAAwB,EAAE,8BAA8B;IACxD,kBAAkB,EAAE,wBAAwB;IAC5C,cAAc,EAAE,oBAAoB;IACpC,kBAAkB,EAAE,wBAAwB;IAC5C,WAAW,EAAE,iBAAiB;IAC9B,cAAc,EAAE,oBAAoB;IACpC,eAAe,EAAE,qBAAqB;IACtC,sBAAsB,EAAE,4BAA4B;IACpD,kBAAkB,EAAE,wBAAwB;IAC5C,uBAAuB,EAAE,6BAA6B;IACtD,wBAAwB,EAAE,8BAA8B;IACxD,gBAAgB,EAAE,sBAAsB;IACxC,kBAAkB,EAAE,wBAAwB;IAC5C,gBAAgB,EAAE,sBAAsB;IACxC,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,iBAAiB;IAC9B,mBAAmB,EAAE,yBAAyB;CAC/C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@extentos/mcp-server",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Extentos MCP server — deterministic tools for building Meta-glasses apps.",
5
5
  "type": "module",
6
6
  "bin": {