@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.
- package/dist/tools/data/codeExamples.d.ts.map +1 -1
- package/dist/tools/data/codeExamples.js +41 -37
- package/dist/tools/data/codeExamples.js.map +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +30 -4
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/docs/index.js +2 -2
- package/dist/tools/docs/index.js.map +1 -1
- package/dist/tools/handlers/assertToolCalled.d.ts.map +1 -1
- package/dist/tools/handlers/assertToolCalled.js +82 -106
- package/dist/tools/handlers/assertToolCalled.js.map +1 -1
- package/dist/tools/handlers/ensureSimulatorBrowser.d.ts +3 -0
- package/dist/tools/handlers/ensureSimulatorBrowser.d.ts.map +1 -0
- package/dist/tools/handlers/ensureSimulatorBrowser.js +204 -0
- package/dist/tools/handlers/ensureSimulatorBrowser.js.map +1 -0
- package/dist/tools/handlers/injectAssistantUtterance.d.ts.map +1 -1
- package/dist/tools/handlers/injectAssistantUtterance.js +28 -4
- package/dist/tools/handlers/injectAssistantUtterance.js.map +1 -1
- package/dist/tools/handlers/setSimVideo.js +1 -1
- package/dist/tools/handlers/setSimVideo.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +2 -0
- package/dist/tools/registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeExamples.d.ts","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"AAeA,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,aAAa,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,2BAA2B,CAAC;IAC7G,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,EAAE,sBAAsB,CAAC;CACnC;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,SAAS,EAAE,uBAAuB,GAAG,sBAAsB,CAAC;IAC5D;4EACwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAC9B,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAC3C,CAAC;IACF;;;;;;OAMG;IACH,eAAe,CAAC,EAAE;QAChB,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAClC,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"codeExamples.d.ts","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"AAeA,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,aAAa,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,2BAA2B,CAAC;IAC7G,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,EAAE,sBAAsB,CAAC;CACnC;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,SAAS,EAAE,uBAAuB,GAAG,sBAAsB,CAAC;IAC5D;4EACwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAC9B,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAC3C,CAAC;IACF;;;;;;OAMG;IACH,eAAe,CAAC,EAAE;QAChB,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAClC,CAAC;CACH;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
|
-
//
|
|
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
|
-
//
|
|
1489
|
-
// macOS: open "<sessionUrl>"
|
|
1490
|
-
// Linux: xdg-open "<sessionUrl>"
|
|
1485
|
+
// await ensureSimulatorBrowser({ sessionId });
|
|
1491
1486
|
//
|
|
1492
|
-
//
|
|
1493
|
-
//
|
|
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.
|
|
2360
|
-
// the
|
|
2361
|
-
|
|
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
|
|
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:
|
|
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
|
-
|
|
2682
|
-
//
|
|
2683
|
-
//
|
|
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:
|
|
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
|
-
|
|
2844
|
-
|
|
2845
|
-
//
|
|
2846
|
-
|
|
2847
|
-
//
|
|
2848
|
-
|
|
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
|
|
2855
|
-
(
|
|
2856
|
-
|
|
2857
|
-
|
|
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
|
|
2863
|
-
"**Camera-tool tests need the sim browser tab
|
|
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":"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
|
|
1
|
+
{"version":3,"file":"codeExamples.js","sourceRoot":"","sources":["../../../src/tools/data/codeExamples.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAMpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,EAAE,KAAK,CAAC;KAC7B,CAAC;CACH;AAMD,eAAO,MAAM,eAAe,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAMpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,EAAE,KAAK,CAAC;KAC7B,CAAC;CACH;AAMD,eAAO,MAAM,eAAe,EAAE,OAAO,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).
|
|
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-
|
|
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
|
|
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":"AAAA,gEAAgE;AAChE,EAAE;AACF,iFAAiF;AACjF,uEAAuE;AACvE,6EAA6E;AAC7E,gFAAgF;AAChF,yEAAyE;AACzE,iFAAiF;AACjF,4EAA4E;AAC5E,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,yEAAyE;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAkBzE,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;AAC3E,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;AACvE,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;AAEtF,MAAM,CAAC,MAAM,eAAe,GAAc;IACxC,oCAAoC;IACpC;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,s5DAAs5D;QACx5D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE;oBAC5D,QAAQ,EAAE,CAAC;iBACZ;gBACD,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,uBAAuB,CAAC;qBAC/D;oBACD,WAAW,EACT,+PAA+P;iBAClQ;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;YACtB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,oCAAoC;IACpC,oEAAoE;IACpE,yEAAyE;IACzE;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,03DAA03D;QAC53D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,oBAAoB;wBACpB,gBAAgB;wBAChB,sBAAsB;wBACtB,uBAAuB;wBACvB,aAAa;wBACb,uBAAuB;wBACvB,gBAAgB;wBAChB,iBAAiB;wBACjB,sBAAsB;wBACtB,yBAAyB;qBAC1B;oBACD,WAAW,EACT,0IAA0I;iBAC7I;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,ouCAAouC;QACtuC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,8DAA8D;oBAC9D,gEAAgE;oBAChE,mEAAmE;oBACnE,gEAAgE;oBAChE,8DAA8D;oBAC9D,IAAI,EAAE,yBAAyB;oBAC/B,WAAW,EACT,kKAAkK;iBACrK;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IAED,kCAAkC;IAClC;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,62CAA62C;QAC/2C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,WAAW;gBACpB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC5C,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,cAAc,EAAE,kBAAkB;gBAClC,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,iBAAiB;wBACjB,oBAAoB;wBACpB,YAAY;wBACZ,aAAa;wBACb,UAAU;qBACX;oBACD,WAAW,EACT,kKAAkK;iBACrK;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,6VAA6V;iBAChW;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC;YAC/C,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,2EAA2E;IAC3E,uEAAuE;IACvE,0EAA0E;IAC1E,6EAA6E;IAC7E,gFAAgF;IAChF,qCAAqC;IACrC;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,qxBAAqxB;QACvxB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;gBAClE,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC7D,OAAO,EAAE,WAAW;aACrB;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,mSAAmS;QACrS,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,CAAC;oBACX,WAAW,EACT,8HAA8H;iBACjI;gBACD,QAAQ,EAAE,YAAY;aACvB;YACD,QAAQ,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;YACtC,oBAAoB,EAAE,KAAK;SAC5B;KACF;IAED,wBAAwB;IACxB;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oQAAoQ;QACtQ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChC;YACD,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,qRAAqR;QACvR,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChC;YACD,oBAAoB,EAAE,KAAK;SAC5B;KACF;IAED,wBAAwB;IACxB;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,wwDAAwwD;QAC1wD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpC,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,sMAAsM;iBACzM;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,GAAG;oBACZ,WAAW,EACT,2HAA2H;iBAC9H;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,0SAA0S;iBAC7S;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,u8DAAu8D;QACz8D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,KAAK;oBACd,WAAW,EACT,0MAA0M;iBAC7M;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,+TAA+T;iBAClU;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,yhBAAyhB;QAC3hB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC5C,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;gBAC7D,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;aAClE;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,g5DAAg5D;QACl5D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE;wBACJ,KAAK;wBACL,QAAQ;wBACR,OAAO;wBACP,QAAQ;wBACR,IAAI;wBACJ,WAAW;wBACX,QAAQ;qBACT;oBACD,WAAW,EACT,mpCAAmpC;iBACtpC;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;gBACtC,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2YAA2Y;iBAC9Y;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,msBAAmsB;iBACtsB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,KAAK;oBACd,WAAW,EACT,wIAAwI;iBAC3I;gBACD,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAClC;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,khDAAkhD;QACphD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,6NAA6N;iBAChO;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,iOAAiO;iBACpO;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,mKAAmK;iBACtK;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,WAAW,EACT,wHAAwH;iBAC3H;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;YAC/B,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,q9EAAq9E;QACv9E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,q0BAAq0B;iBACx0B;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,ybAAyb;iBAC5b;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,soCAAsoC;QACxoC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,8JAA8J;iBACjK;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,wgBAAwgB;iBAC3gB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2RAA2R;oBAC7R,oBAAoB,EAAE,IAAI;iBAC3B;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,GAAG;oBACZ,OAAO,EAAE,KAAK;oBACd,WAAW,EACT,6NAA6N;iBAChO;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;YAC/B,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,urBAAurB;QACzrB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;aAC5C;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,miCAAmiC;QACriC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC3C,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EACT,gOAAgO;iBACnO;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;YAClC,oBAAoB,EAAE,KAAK;SAC5B;KACF;IAED,wBAAwB;IACxB;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,yLAAyL;QAC3L,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,wHAAwH;iBAC3H;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,mGAAmG;iBACtG;gBACD,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAChC;YACD,QAAQ,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;YACtC,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oPAAoP;QACtP,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE;4BACJ,WAAW;4BACX,QAAQ;4BACR,qBAAqB;4BACrB,kBAAkB;4BAClB,eAAe;4BACf,OAAO;4BACP,iBAAiB;4BACjB,aAAa;4BACb,aAAa;4BACb,QAAQ;yBACT;qBACF;oBACD,WAAW,EACT,gGAAgG;iBACnG;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EACT,6JAA6J;iBAChK;gBACD,QAAQ,EAAE,YAAY;aACvB;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;YAClC,oBAAoB,EAAE,KAAK;SAC5B;KACF;IAED,2BAA2B;IAC3B;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,wmEAAwmE;QAC1mE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,6MAA6M;iBAC3N;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uMAAuM;iBACrN;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;oBAC1B,WAAW,EACT,mbAAmb;iBACtb;aACF;YACD,oBAAoB,EAAE,KAAK;SAC5B;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC;AAEhD,8EAA8E;AAC9E,8EAA8E;AAC9E,sEAAsE;AACtE,8EAA8E;AAC9E,wDAAwD;AACxD,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAE1E,MAAM,UAAU,iCAAiC,CAC/C,OAA2B,eAAe;IAE1C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAsC,CAAC;QAC1D,KAAK,MAAM,OAAO,IAAI,4BAA4B,EAAE,CAAC;YACnD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,gBAAgB,OAAO,GAAG,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,4FAA4F;YAC1F,gGAAgG;YAChG,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC1C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iCAAiC,EAAE,CAAC"}
|
package/dist/tools/docs/index.js
CHANGED
|
@@ -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? })` —
|
|
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":"
|
|
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
|
-
//
|
|
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
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
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
|
-
//
|
|
106
|
-
//
|
|
107
|
-
//
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
//
|
|
112
|
-
//
|
|
113
|
-
//
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
|
|
173
|
+
anchorCursor = anchorRes.data.cursor ?? undefined;
|
|
138
174
|
}
|
|
139
|
-
// If anchor fetch failed
|
|
140
|
-
//
|
|
141
|
-
//
|
|
142
|
-
//
|
|
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
|
-
|
|
150
|
-
|
|
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
|
|
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
|
|
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":"AAAA,qCAAqC;AACrC,EAAE;AACF,sEAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"assertToolCalled.js","sourceRoot":"","sources":["../../../src/tools/handlers/assertToolCalled.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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" })
|
|
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":"AAAA,6CAA6C;AAC7C,EAAE;AACF,kEAAkE;AAClE,yEAAyE;AACzE,qEAAqE;AACrE,wEAAwE;AACxE,EAAE;AACF,oEAAoE;AACpE,oEAAoE;AACpE,sEAAsE;AACtE,oEAAoE;AACpE,uEAAuE;AACvE,uCAAuC;AACvC,mEAAmE;AACnE,oEAAoE;AACpE,iEAAiE;AACjE,4DAA4D;AAC5D,+BAA+B;AAC/B,EAAE;AACF,iEAAiE;AACjE,wEAAwE;AACxE,sDAAsD;AACtD,mEAAmE;AACnE,2EAA2E;AAC3E,oEAAoE;AACpE,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,yEAAyE;AACzE,sBAAsB;AACtB,sEAAsE;AACtE,kEAAkE;AAClE,qEAAqE;AACrE,wEAAwE;AACxE,2EAA2E;AAC3E,mEAAmE;AACnE,qEAAqE;AACrE,qEAAqE;AACrE,kEAAkE;AAClE,+DAA+D;AAC/D,EAAE;AACF,mEAAmE;AACnE,qEAAqE;AACrE,yDAAyD;AACzD,+CAA+C;AAC/C,qEAAqE;AACrE,wCAAwC;AAExC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAmB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
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: `
|
|
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":"AAAA,qEAAqE;AACrE,EAAE;AACF,iEAAiE;AACjE,oEAAoE;AACpE,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,EAAE;AACF,qEAAqE;AACrE,wEAAwE;AACxE,uEAAuE;AACvE,sEAAsE;AACtE,kEAAkE;AAClE,8BAA8B;AAE9B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAmB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAgBxD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAY;IAClD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,8CAA8C;YACvD,OAAO,EACL,+GAA+G;YACjH,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,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACvD,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,yCAAyC;YAClD,OAAO,EACL,kHAAkH;YACpH,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,YAAY,CAC5B,iBAAiB,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAChE;QACE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;KAC7B,CACF,CAAC;IAEF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,uDAAuD;QACvD,kEAAkE;QAClE,gCAAgC;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,WAAW,CAAC;QAClD,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC/B,OAAO,aAAa,CAAC;gBACnB,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,yBAAyB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B;gBACzF,OAAO,EACL,wJAAwJ;gBAC1J,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,4BAA4B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;YACnE,OAAO,EAAE,qDAAqD;YAC9D,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,OAAO,aAAa,CAAC;YACnB,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EACL,IAAI,EAAE,OAAO;gBACb,2FAA2F;YAC7F,OAAO,EACL,
|
|
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;
|
|
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"}
|
package/dist/tools/registry.js
CHANGED
|
@@ -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"}
|