@extentos/mcp-server 0.0.94 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tools/data/capabilities.d.ts +49 -0
- package/dist/tools/data/capabilities.d.ts.map +1 -1
- package/dist/tools/data/capabilities.js +37 -0
- package/dist/tools/data/capabilities.js.map +1 -1
- package/dist/tools/data/capabilityPatterns.d.ts.map +1 -1
- package/dist/tools/data/capabilityPatterns.js +499 -6
- package/dist/tools/data/capabilityPatterns.js.map +1 -1
- package/dist/tools/data/codeExamples.d.ts.map +1 -1
- package/dist/tools/data/codeExamples.js +916 -2
- package/dist/tools/data/codeExamples.js.map +1 -1
- package/dist/tools/data/version.d.ts +12 -0
- package/dist/tools/data/version.d.ts.map +1 -1
- package/dist/tools/data/version.js +17 -0
- package/dist/tools/data/version.js.map +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +63 -3
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/docs/index.d.ts.map +1 -1
- package/dist/tools/docs/index.js +115 -4
- package/dist/tools/docs/index.js.map +1 -1
- package/dist/tools/handlers/assertToolCalled.d.ts +3 -0
- package/dist/tools/handlers/assertToolCalled.d.ts.map +1 -0
- package/dist/tools/handlers/assertToolCalled.js +208 -0
- package/dist/tools/handlers/assertToolCalled.js.map +1 -0
- package/dist/tools/handlers/generateConnectionModule.js +21 -2
- package/dist/tools/handlers/generateConnectionModule.js.map +1 -1
- package/dist/tools/handlers/getCredentialGuide.d.ts.map +1 -1
- package/dist/tools/handlers/getCredentialGuide.js +33 -6
- package/dist/tools/handlers/getCredentialGuide.js.map +1 -1
- package/dist/tools/handlers/getProductionChecklist.d.ts.map +1 -1
- package/dist/tools/handlers/getProductionChecklist.js +52 -1
- package/dist/tools/handlers/getProductionChecklist.js.map +1 -1
- package/dist/tools/handlers/injectAssistantUtterance.d.ts +3 -0
- package/dist/tools/handlers/injectAssistantUtterance.d.ts.map +1 -0
- package/dist/tools/handlers/injectAssistantUtterance.js +378 -0
- package/dist/tools/handlers/injectAssistantUtterance.js.map +1 -0
- package/dist/tools/handlers/validateIntegration.d.ts.map +1 -1
- package/dist/tools/handlers/validateIntegration.js +67 -0
- package/dist/tools/handlers/validateIntegration.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +4 -0
- package/dist/tools/registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProductionChecklist.js","sourceRoot":"","sources":["../../../src/tools/handlers/getProductionChecklist.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getProductionChecklist.js","sourceRoot":"","sources":["../../../src/tools/handlers/getProductionChecklist.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectAssistantUtterance.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/injectAssistantUtterance.ts"],"names":[],"mappings":"AAyCA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsN5E,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,UAAU,CAAC,CAmOrB"}
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
// injectAssistantUtterance — Phase 4 S1.W.7.
|
|
2
|
+
//
|
|
3
|
+
// Drive an assistant turn from outside the live session — used by
|
|
4
|
+
// agent-driven E2E tests of the Phase 4 glasses.assistant.start surface.
|
|
5
|
+
// Mirrors injectTranscript's pattern (frame travels through the same
|
|
6
|
+
// sim-hub path; the library routes it to the active assistant session).
|
|
7
|
+
//
|
|
8
|
+
// v1 paths (per synthesis #16, partially scoped down for Sprint 1):
|
|
9
|
+
// - text: deterministic path. v1 wire-routing reuses the existing
|
|
10
|
+
// stt_transcript frame the Rust core already knows about (Phase 4
|
|
11
|
+
// plan § machine-split: NO Rust changes). MockAssistantProvider
|
|
12
|
+
// subscribes to audio.transcriptions() Flow and routes Finals to
|
|
13
|
+
// its dispatcher. Sub-millisecond. No API cost.
|
|
14
|
+
// - audioWavBase64: real-provider audio path — DEFERRED to v1.1.
|
|
15
|
+
// Implementing this needs either a new inbound frame type (Rust
|
|
16
|
+
// core change) or a separate audio-chunk injection endpoint;
|
|
17
|
+
// either is out of Sprint 1 scope. Handler rejects with
|
|
18
|
+
// not_implemented for now.
|
|
19
|
+
//
|
|
20
|
+
// autoWake (added 2026-05-27): the silence-timeout sleep transition
|
|
21
|
+
// (Elizabeth ships `sleepAfterSilence(30.seconds)`) means a multi-step
|
|
22
|
+
// agent test where the agent does ANYTHING between injects — screencap,
|
|
23
|
+
// event-log scan, debug — can transition the session Dormant. The next
|
|
24
|
+
// inject then lands in the library but injectUserTurn silently drops
|
|
25
|
+
// (connectionRef is null). Tests appear to "succeed" with no tool call
|
|
26
|
+
// + the agent has no proactive signal.
|
|
27
|
+
//
|
|
28
|
+
// Fix: default `autoWake: true`. Before the inject, peek at the event
|
|
29
|
+
// log; if no live "session is active" signal, pre-inject the wake phrase
|
|
30
|
+
// as a manual_trigger STT frame (exactly what the dev's voice.onPhrase
|
|
31
|
+
// wake handler matches today) + wait for `assistant.session_started`
|
|
32
|
+
// cursor-anchored to "now." Then dispatch the real assistant_inject.
|
|
33
|
+
// Already-active sessions skip the pre-wake entirely; the cost is one
|
|
34
|
+
// extra events query per inject (~50-100ms), not a wasted ~3s wake cycle.
|
|
35
|
+
//
|
|
36
|
+
// USE for agent-driven end-to-end tests of glasses.assistant.start
|
|
37
|
+
// (e.g. createSimulatorSession → injectAssistantUtterance({ text:
|
|
38
|
+
// "take a picture" }) → assertToolCalled({ name: "take_picture" })).
|
|
39
|
+
// DON'T USE for capability discovery (use getPlatformInfo) or static
|
|
40
|
+
// validation (use validateIntegration).
|
|
41
|
+
import { okResponse, errorResponse } from "../response.js";
|
|
42
|
+
import { backendFetch } from "../util/backendClient.js";
|
|
43
|
+
// Wake-phrase default + tuning. "hey elizabeth" matches the canonical
|
|
44
|
+
// dogfood pattern; agents testing apps with a different wake phrase pass
|
|
45
|
+
// `wakePhrase` explicitly. Timing budget: a fresh OpenAI Realtime WS
|
|
46
|
+
// handshake + session.update typically completes in 1.5-2.5s on a healthy
|
|
47
|
+
// connection; 6s gives us ~3x headroom before reporting timeout.
|
|
48
|
+
const DEFAULT_WAKE_PHRASE = "hey elizabeth";
|
|
49
|
+
const WAKE_TIMEOUT_MS = 6_000;
|
|
50
|
+
const WAKE_POLL_MS = 200;
|
|
51
|
+
const STATE_LOOKBACK_LIMIT = 200;
|
|
52
|
+
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
53
|
+
/**
|
|
54
|
+
* Read the most recent events and infer the assistant session's current
|
|
55
|
+
* state from its lifecycle trail. Scans newest-first:
|
|
56
|
+
* - `assistant.went_dormant` → dormant
|
|
57
|
+
* - `assistant.session_ended` → ended
|
|
58
|
+
* - any other `assistant.*` (except → active (an active session is
|
|
59
|
+
* `assistant.error`, which can fire producing events)
|
|
60
|
+
* in any state)
|
|
61
|
+
* - nothing assistant-related found → unknown
|
|
62
|
+
*
|
|
63
|
+
* The "active" signal includes assistant_spoke / tool_called / user_spoke
|
|
64
|
+
* / reconnected — they're emitted only by an active session, so seeing
|
|
65
|
+
* one newer than the most recent dormant/ended marker means the session
|
|
66
|
+
* is live RIGHT NOW (or was as of that event; the agent's next inject
|
|
67
|
+
* will land on a live connection unless silence-timeout fires in the
|
|
68
|
+
* intervening sub-second).
|
|
69
|
+
*/
|
|
70
|
+
async function detectAssistantState(sessionId) {
|
|
71
|
+
const params = new URLSearchParams();
|
|
72
|
+
params.set("filter", "all");
|
|
73
|
+
params.set("limit", String(STATE_LOOKBACK_LIMIT));
|
|
74
|
+
const res = await backendFetch(`/api/sessions/${encodeURIComponent(sessionId)}/events?${params.toString()}`);
|
|
75
|
+
if (!res.ok || !res.data)
|
|
76
|
+
return "unknown";
|
|
77
|
+
const events = res.data.events ?? [];
|
|
78
|
+
// Backend returns chronological (oldest→newest) in no-cursor mode; walk
|
|
79
|
+
// from the end to find the most-recent lifecycle signal.
|
|
80
|
+
for (let i = events.length - 1; i >= 0; i--) {
|
|
81
|
+
const t = events[i].type;
|
|
82
|
+
if (t === "assistant.went_dormant")
|
|
83
|
+
return "dormant";
|
|
84
|
+
if (t === "assistant.session_ended")
|
|
85
|
+
return "ended";
|
|
86
|
+
if (typeof t === "string" &&
|
|
87
|
+
t.startsWith("assistant.") &&
|
|
88
|
+
t !== "assistant.error") {
|
|
89
|
+
return "active";
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return "unknown";
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Pre-inject the wake phrase as a manual_trigger STT frame, then wait for
|
|
96
|
+
* the next `assistant.session_started` event (cursor-anchored to "now"
|
|
97
|
+
* before the wake POST, so a stale session_started from a prior wake
|
|
98
|
+
* doesn't false-positive).
|
|
99
|
+
*
|
|
100
|
+
* Returns ok:true once session_started arrives, ok:false on timeout or
|
|
101
|
+
* delivery failure. The caller chooses whether to proceed — see the
|
|
102
|
+
* autoWake block in the handler for the policy (proceed-with-visibility).
|
|
103
|
+
*/
|
|
104
|
+
async function preWake(sessionId, wakePhrase, timeoutMs) {
|
|
105
|
+
// Anchor cursor BEFORE the wake POST so the readiness poll only matches
|
|
106
|
+
// session_started events that fire AFTER this point. Same pattern as
|
|
107
|
+
// assertToolCalled's cursor anchor (fix b87388d).
|
|
108
|
+
let cursor;
|
|
109
|
+
{
|
|
110
|
+
const anchorParams = new URLSearchParams();
|
|
111
|
+
anchorParams.set("filter", "all");
|
|
112
|
+
anchorParams.set("limit", "1");
|
|
113
|
+
const anchorRes = await backendFetch(`/api/sessions/${encodeURIComponent(sessionId)}/events?${anchorParams.toString()}`);
|
|
114
|
+
if (anchorRes.ok && anchorRes.data) {
|
|
115
|
+
cursor = anchorRes.data.cursor ?? undefined;
|
|
116
|
+
}
|
|
117
|
+
// Anchor failure isn't fatal — we accept a small staleness risk and
|
|
118
|
+
// proceed; the wake POST below is the real signal.
|
|
119
|
+
}
|
|
120
|
+
const startedAt = Date.now();
|
|
121
|
+
// Send the wake phrase as a manual_trigger STT frame. Routes through
|
|
122
|
+
// BrowserSimTransport → VoiceClient → onPhrase handler → session.wake().
|
|
123
|
+
// Filtered OUT by OpenAiAssistantProvider's inject subscription (source
|
|
124
|
+
// != "assistant_inject"), so it doesn't leak into the model's
|
|
125
|
+
// conversation history.
|
|
126
|
+
const wakeRes = await backendFetch(`/api/sessions/${encodeURIComponent(sessionId)}/inject`, {
|
|
127
|
+
method: "POST",
|
|
128
|
+
body: {
|
|
129
|
+
type: "stt_transcript",
|
|
130
|
+
text: wakePhrase,
|
|
131
|
+
isFinal: true,
|
|
132
|
+
confidence: 0.99,
|
|
133
|
+
source: "manual_trigger",
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
if (!wakeRes.ok || !wakeRes.data || wakeRes.data.delivered !== true) {
|
|
137
|
+
return {
|
|
138
|
+
ok: false,
|
|
139
|
+
waitedMs: Date.now() - startedAt,
|
|
140
|
+
deliveryFailure: wakeRes.data?.reason ??
|
|
141
|
+
wakeRes.errorText ??
|
|
142
|
+
`wake POST failed (HTTP ${wakeRes.status})`,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
const deadline = startedAt + timeoutMs;
|
|
146
|
+
while (Date.now() < deadline) {
|
|
147
|
+
const params = new URLSearchParams();
|
|
148
|
+
params.set("filter", "all");
|
|
149
|
+
params.set("limit", "200");
|
|
150
|
+
if (cursor)
|
|
151
|
+
params.set("cursor", cursor);
|
|
152
|
+
const res = await backendFetch(`/api/sessions/${encodeURIComponent(sessionId)}/events?${params.toString()}`);
|
|
153
|
+
if (res.ok && res.data) {
|
|
154
|
+
const events = res.data.events ?? [];
|
|
155
|
+
for (const ev of events) {
|
|
156
|
+
if (ev.type === "assistant.session_started") {
|
|
157
|
+
return { ok: true, waitedMs: Date.now() - startedAt };
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
cursor = res.data.cursor ?? cursor;
|
|
161
|
+
}
|
|
162
|
+
await sleep(Math.min(WAKE_POLL_MS, Math.max(0, deadline - Date.now())));
|
|
163
|
+
}
|
|
164
|
+
return {
|
|
165
|
+
ok: false,
|
|
166
|
+
waitedMs: Date.now() - startedAt,
|
|
167
|
+
reason: `no assistant.session_started observed within ${timeoutMs}ms`,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
export async function handleInjectAssistantUtterance(raw) {
|
|
171
|
+
if (!raw || typeof raw !== "object") {
|
|
172
|
+
return errorResponse({
|
|
173
|
+
code: "invalid_arguments",
|
|
174
|
+
message: "injectAssistantUtterance requires { sessionId, text? | audioWavBase64? }.",
|
|
175
|
+
fixHint: 'Pass { sessionId: "sim_...", text: "take a picture" }. For real-provider audio injection, pass audioWavBase64 instead — a base64-encoded WAV file the library decodes + feeds through the active provider.',
|
|
176
|
+
retryable: false,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
const o = raw;
|
|
180
|
+
if (typeof o.sessionId !== "string" || !o.sessionId.trim()) {
|
|
181
|
+
return errorResponse({
|
|
182
|
+
code: "invalid_arguments",
|
|
183
|
+
message: "sessionId (string) is required.",
|
|
184
|
+
fixHint: "Pass the sessionId returned by createSimulatorSession.",
|
|
185
|
+
retryable: false,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
const text = typeof o.text === "string" ? o.text : undefined;
|
|
189
|
+
const audioWavBase64 = typeof o.audioWavBase64 === "string" ? o.audioWavBase64 : undefined;
|
|
190
|
+
// Enforce exactly-one-of in the handler (the JSON Schema can't express
|
|
191
|
+
// top-level oneOf per the assertNoForbiddenTopLevelKeywords lock).
|
|
192
|
+
if (text == null && audioWavBase64 == null) {
|
|
193
|
+
return errorResponse({
|
|
194
|
+
code: "invalid_arguments",
|
|
195
|
+
message: "Either text or audioWavBase64 is required.",
|
|
196
|
+
fixHint: 'Pass text: "take a picture" for the Mock provider path (fast, deterministic, free), or audioWavBase64: "..." for the real-provider audio path.',
|
|
197
|
+
retryable: false,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
if (text != null && audioWavBase64 != null) {
|
|
201
|
+
return errorResponse({
|
|
202
|
+
code: "invalid_arguments",
|
|
203
|
+
message: "Pass either text or audioWavBase64 — not both.",
|
|
204
|
+
fixHint: "Pick the path: text for Mock-provider intent matching, audioWavBase64 for real-provider audio.",
|
|
205
|
+
retryable: false,
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
if (text != null && text.length === 0) {
|
|
209
|
+
return errorResponse({
|
|
210
|
+
code: "invalid_arguments",
|
|
211
|
+
message: "text must be non-empty.",
|
|
212
|
+
fixHint: 'Pass text: "take a picture" (or any utterance the model should hear).',
|
|
213
|
+
retryable: false,
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
// autoWake config. Default true — the common multi-step-test gotcha is
|
|
217
|
+
// a session that auto-slept between injects (Elizabeth ships
|
|
218
|
+
// sleepAfterSilence(30s)); pre-waking when dormant turns the inject from
|
|
219
|
+
// silently-dropped into landed. wakePhrase default matches the canonical
|
|
220
|
+
// dogfood pattern; agents testing apps with a different phrase pass it
|
|
221
|
+
// explicitly.
|
|
222
|
+
const autoWake = o.autoWake !== false;
|
|
223
|
+
let wakePhrase;
|
|
224
|
+
if (typeof o.wakePhrase === "string") {
|
|
225
|
+
if (o.wakePhrase.length === 0) {
|
|
226
|
+
return errorResponse({
|
|
227
|
+
code: "invalid_arguments",
|
|
228
|
+
message: "wakePhrase must be non-empty when provided.",
|
|
229
|
+
fixHint: 'Pass wakePhrase: "hey elizabeth" (or your app\'s wake phrase as registered via glasses.voice.onPhrase), or omit it to use the default "hey elizabeth", or set autoWake:false to skip the pre-wake entirely.',
|
|
230
|
+
retryable: false,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
wakePhrase = o.wakePhrase;
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
wakePhrase = DEFAULT_WAKE_PHRASE;
|
|
237
|
+
}
|
|
238
|
+
// v1 wire-routing: text path reuses the existing stt_transcript frame
|
|
239
|
+
// so we don't need to teach the Rust core a new inbound frame type
|
|
240
|
+
// (Phase 4 plan § machine-split: NO Rust changes). The library shell's
|
|
241
|
+
// MockAssistantProvider subscribes to audio.transcriptions() and routes
|
|
242
|
+
// Finals to its injectUtterance dispatcher. Tagged with
|
|
243
|
+
// source: "assistant_inject" so the backend ws-hub renders these as
|
|
244
|
+
// assistant injects rather than mic injects in the event log.
|
|
245
|
+
//
|
|
246
|
+
// audioWavBase64 path: deferred to v1.1 — needs a frame-type extension
|
|
247
|
+
// or a separate audio-chunk injection endpoint. Surfaces the 'not yet
|
|
248
|
+
// supported' error in the handler below.
|
|
249
|
+
if (audioWavBase64 != null) {
|
|
250
|
+
return errorResponse({
|
|
251
|
+
code: "not_implemented",
|
|
252
|
+
message: "audioWavBase64 path is not yet implemented in v1 (deferred to v1.1).",
|
|
253
|
+
fixHint: "Use the text: path for now — the MockAssistantProvider matches against tool descriptions deterministically. For real-provider validation, run the OpenAi provider session with a real mic source (sim browser tab mic, or real glasses).",
|
|
254
|
+
retryable: false,
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
// autoWake — peek at lifecycle, pre-wake if not already Active. Done
|
|
258
|
+
// BEFORE the inject so a dormant session is brought up cleanly + the
|
|
259
|
+
// assistant_inject lands on an open WS. See the file-top comment for
|
|
260
|
+
// why this defaults true.
|
|
261
|
+
let autoWakeReport = { enabled: false };
|
|
262
|
+
if (autoWake) {
|
|
263
|
+
const detectedState = await detectAssistantState(o.sessionId);
|
|
264
|
+
if (detectedState === "active") {
|
|
265
|
+
// Already up — skip the wake-phrase round-trip + just inject.
|
|
266
|
+
autoWakeReport = {
|
|
267
|
+
enabled: true,
|
|
268
|
+
action: "skipped_active",
|
|
269
|
+
detectedState,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
// dormant / ended / unknown — pre-wake. "ended" sessions can still
|
|
274
|
+
// sometimes be re-woken if the customer's wake handler calls
|
|
275
|
+
// assistant.start() (vs session.wake()); we attempt anyway and let
|
|
276
|
+
// the readiness wait surface the truth.
|
|
277
|
+
const wakeResult = await preWake(o.sessionId, wakePhrase, WAKE_TIMEOUT_MS);
|
|
278
|
+
if (wakeResult.ok) {
|
|
279
|
+
autoWakeReport = {
|
|
280
|
+
enabled: true,
|
|
281
|
+
action: "pre_waked",
|
|
282
|
+
wakePhrase,
|
|
283
|
+
detectedState,
|
|
284
|
+
waitedMs: wakeResult.waitedMs,
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
else if (wakeResult.deliveryFailure) {
|
|
288
|
+
autoWakeReport = {
|
|
289
|
+
enabled: true,
|
|
290
|
+
action: "pre_wake_delivery_failed",
|
|
291
|
+
wakePhrase,
|
|
292
|
+
detectedState,
|
|
293
|
+
reason: wakeResult.deliveryFailure,
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
autoWakeReport = {
|
|
298
|
+
enabled: true,
|
|
299
|
+
action: "pre_wake_timeout",
|
|
300
|
+
wakePhrase,
|
|
301
|
+
detectedState,
|
|
302
|
+
waitedMs: wakeResult.waitedMs,
|
|
303
|
+
reason: wakeResult.reason ?? "unknown",
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
const payload = {
|
|
309
|
+
type: "stt_transcript",
|
|
310
|
+
text: text,
|
|
311
|
+
isFinal: true,
|
|
312
|
+
confidence: 0.99,
|
|
313
|
+
source: "assistant_inject",
|
|
314
|
+
};
|
|
315
|
+
const res = await backendFetch(`/api/sessions/${encodeURIComponent(o.sessionId)}/inject`, {
|
|
316
|
+
method: "POST",
|
|
317
|
+
body: payload,
|
|
318
|
+
});
|
|
319
|
+
if (res.status === 404) {
|
|
320
|
+
return errorResponse({
|
|
321
|
+
code: "session_not_found",
|
|
322
|
+
message: `No session found with id ${JSON.stringify(o.sessionId)}.`,
|
|
323
|
+
fixHint: "Call createSimulatorSession to start a new session.",
|
|
324
|
+
retryable: false,
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
if (res.status === 409) {
|
|
328
|
+
const body = res.data;
|
|
329
|
+
return errorResponse({
|
|
330
|
+
code: "app_not_attached",
|
|
331
|
+
message: body?.message ??
|
|
332
|
+
"Inject not delivered: the session exists but no app role is currently attached.",
|
|
333
|
+
fixHint: "Start your app (build + run on the emulator/device) so the WebSocket attaches, then retry. Confirm with getSimulatorStatus — connectedRoles.app should be present. Also verify glasses.assistant.start { ... } has been called in your app — the inject routes to the active assistant session.",
|
|
334
|
+
retryable: true,
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
if (!res.ok || !res.data || res.data.delivered !== true) {
|
|
338
|
+
return errorResponse({
|
|
339
|
+
code: "backend_unreachable",
|
|
340
|
+
message: `Backend /api/sessions/${o.sessionId}/inject failed: ${res.errorText ?? `HTTP ${res.status}`}.`,
|
|
341
|
+
fixHint: "Ensure the Extentos backend is reachable.",
|
|
342
|
+
retryable: true,
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
let wakeSummary = "";
|
|
346
|
+
if (autoWakeReport.enabled) {
|
|
347
|
+
switch (autoWakeReport.action) {
|
|
348
|
+
case "skipped_active":
|
|
349
|
+
wakeSummary =
|
|
350
|
+
` autoWake: session already Active (lifecycle scan detected "${autoWakeReport.detectedState}"), pre-wake skipped.`;
|
|
351
|
+
break;
|
|
352
|
+
case "pre_waked":
|
|
353
|
+
wakeSummary =
|
|
354
|
+
` autoWake: pre-waked via "${autoWakeReport.wakePhrase}" (was ${autoWakeReport.detectedState}, session_started ${autoWakeReport.waitedMs}ms after wake POST).`;
|
|
355
|
+
break;
|
|
356
|
+
case "pre_wake_timeout":
|
|
357
|
+
wakeSummary =
|
|
358
|
+
` autoWake: pre-wake timed out (was ${autoWakeReport.detectedState}, ${autoWakeReport.reason}). Inject proceeded anyway; if it dropped, check that "${autoWakeReport.wakePhrase}" is registered via glasses.voice.onPhrase in the app and that glasses.assistant.start { ... } has been called.`;
|
|
359
|
+
break;
|
|
360
|
+
case "pre_wake_delivery_failed":
|
|
361
|
+
wakeSummary =
|
|
362
|
+
` autoWake: pre-wake POST failed (${autoWakeReport.reason}). Inject proceeded anyway.`;
|
|
363
|
+
break;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
return okResponse({
|
|
367
|
+
sessionId: o.sessionId,
|
|
368
|
+
delivered: true,
|
|
369
|
+
mode: "text",
|
|
370
|
+
autoWake: autoWakeReport,
|
|
371
|
+
frame: res.data.frame ?? payload,
|
|
372
|
+
summary: `Injected utterance "${text.slice(0, 60)}${text.length > 60 ? "…" : ""}" into ${o.sessionId}.` +
|
|
373
|
+
wakeSummary +
|
|
374
|
+
` Follow up with assertToolCalled({ sessionId, name: "..." }) to verify the expected tool fired, ` +
|
|
375
|
+
`or getEventLog(types: ["assistant.tool_called","assistant.assistant_spoke"]) to see the full event trace.`,
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
//# sourceMappingURL=injectAssistantUtterance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectAssistantUtterance.js","sourceRoot":"","sources":["../../../src/tools/handlers/injectAssistantUtterance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateIntegration.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/validateIntegration.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA0B7D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"validateIntegration.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/validateIntegration.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA0B7D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CA0WlE"}
|
|
@@ -331,6 +331,15 @@ export function handleValidateIntegration(raw) {
|
|
|
331
331
|
const uiCheck = checkUiArtifact(projectPath, platform, manifest);
|
|
332
332
|
if (uiCheck)
|
|
333
333
|
checks.push(uiCheck);
|
|
334
|
+
// Phase 4 — assistant_integration_advisory (S2.W.8). Detects whether the
|
|
335
|
+
// app uses the canonical Phase 4 `glasses.assistant.start` surface, flags
|
|
336
|
+
// legacy Phase 3 `glasses.conversation.*` / `glasses.ai.complete` calls
|
|
337
|
+
// with v2.0.0-removal warnings, and notes when both coexist (the v1.4.0
|
|
338
|
+
// migration window). Soft-severity — info when only Phase 4 is used;
|
|
339
|
+
// warn when Phase 3 is still present.
|
|
340
|
+
const phase4Check = checkAssistantIntegration(projectPath, platform);
|
|
341
|
+
if (phase4Check)
|
|
342
|
+
checks.push(phase4Check);
|
|
334
343
|
// agp_version_supported + gradle_version_supported (Android only).
|
|
335
344
|
// F-R4-8: read the project's actual AGP/Gradle versions, compare against
|
|
336
345
|
// the manifest's recorded minimums (or VERSION_INFO if the manifest
|
|
@@ -587,6 +596,64 @@ function checkBootstrap(projectPath, generatedFiles, platform) {
|
|
|
587
596
|
details: `Bootstrap calls ${expectedCreate}…). SDK is wired.`,
|
|
588
597
|
};
|
|
589
598
|
}
|
|
599
|
+
// Phase 4 — assistant_integration_advisory (S2.W.8). Light source scan
|
|
600
|
+
// to surface Phase 3 / Phase 4 usage. Three observable states:
|
|
601
|
+
// - Phase 4 only (assistant.start present, conversation.* + ai.complete
|
|
602
|
+
// absent) → info, "✓ Phase 4 canonical surface in use"
|
|
603
|
+
// - Phase 3 still present (conversation.* or ai.complete found) → warn,
|
|
604
|
+
// "Phase 3 conversation runtime is DEPRECATED in v1.4.0 and removed
|
|
605
|
+
// in v2.0.0; migrate to glasses.assistant.start"
|
|
606
|
+
// - Both coexist → info, "Mixed Phase 3 + Phase 4 — migration in progress,
|
|
607
|
+
// complete before v2.0.0"
|
|
608
|
+
// - Neither (no voice AI wired) → null (no check emitted; not all apps
|
|
609
|
+
// use voice AI)
|
|
610
|
+
//
|
|
611
|
+
// Detection by string scan, not AST — fine for an advisory check.
|
|
612
|
+
function checkAssistantIntegration(projectPath, platform) {
|
|
613
|
+
// Source needles for Phase 4 and Phase 3 voice surfaces.
|
|
614
|
+
const phase4Needle = "assistant.start"; // glasses.assistant.start { ... }
|
|
615
|
+
const phase3Needles = ["conversation.onWake", "conversation.start", "ai.complete"];
|
|
616
|
+
let usesPhase4 = false;
|
|
617
|
+
let usesPhase3 = false;
|
|
618
|
+
for (const root of candidateSourceRoots(projectPath, platform)) {
|
|
619
|
+
if (!existsSync(root))
|
|
620
|
+
continue;
|
|
621
|
+
const text = readProjectText(root);
|
|
622
|
+
if (text.includes(phase4Needle))
|
|
623
|
+
usesPhase4 = true;
|
|
624
|
+
if (phase3Needles.some((n) => text.includes(n)))
|
|
625
|
+
usesPhase3 = true;
|
|
626
|
+
if (usesPhase4 && usesPhase3)
|
|
627
|
+
break;
|
|
628
|
+
}
|
|
629
|
+
// No voice-AI surface detected — not every app uses voice; emit nothing.
|
|
630
|
+
if (!usesPhase4 && !usesPhase3)
|
|
631
|
+
return null;
|
|
632
|
+
if (usesPhase4 && !usesPhase3) {
|
|
633
|
+
return {
|
|
634
|
+
name: "assistant_integration_advisory",
|
|
635
|
+
passed: true,
|
|
636
|
+
severity: "info",
|
|
637
|
+
details: "✓ Phase 4 canonical voice-AI surface (`glasses.assistant.start`) detected; no deprecated Phase 3 conversation runtime references found.",
|
|
638
|
+
};
|
|
639
|
+
}
|
|
640
|
+
if (!usesPhase4 && usesPhase3) {
|
|
641
|
+
return {
|
|
642
|
+
name: "assistant_integration_advisory",
|
|
643
|
+
passed: false,
|
|
644
|
+
severity: "warn",
|
|
645
|
+
details: "Phase 3 conversation runtime detected (`glasses.conversation.*` or `glasses.ai.complete`). These APIs are DEPRECATED in v1.4.0 and REMOVED in v2.0.0. Migrate to `glasses.assistant.start { tool(name, description) { body } }` — customer code typically drops ~60% LoC.",
|
|
646
|
+
fix: "Read `docs/migration/phase-3-to-phase-4.md` (also available via `searchDocs(topic: 'assistant_runtime')`). Migrate each `onWake { while(true) { listen() ... } }` block to `assistant.start(provider) { tool(...) { ... } }`. Migrate each `glasses.ai.complete(prompt)` call to OpenAI SDK direct (walkthrough C). Same BYOK key; rename `glasses.ai.setOpenaiApiKey` → `glasses.assistant.setOpenaiApiKey`.",
|
|
647
|
+
};
|
|
648
|
+
}
|
|
649
|
+
// Both present — migration in progress.
|
|
650
|
+
return {
|
|
651
|
+
name: "assistant_integration_advisory",
|
|
652
|
+
passed: true,
|
|
653
|
+
severity: "info",
|
|
654
|
+
details: "Mixed Phase 3 + Phase 4 voice-AI surfaces detected. v1.4.0 deprecation window — both coexist. Complete the Phase 3 → Phase 4 migration before v2.0.0 (3-month deprecation window from v1.4.0 ship date). See `docs/migration/phase-3-to-phase-4.md`.",
|
|
655
|
+
};
|
|
656
|
+
}
|
|
590
657
|
function checkUiArtifact(projectPath, platform, manifest) {
|
|
591
658
|
const uiSymbols = ["ExtentosConnectionPage", "ExtentosTheme", "rememberExtentosState", "ExtentosState"];
|
|
592
659
|
let anyUsage = false;
|