@extentos/mcp-server 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertToolCalled.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/assertToolCalled.ts"],"names":[],"mappings":"AAwBA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsE5E,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"assertToolCalled.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/assertToolCalled.ts"],"names":[],"mappings":"AAwBA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsE5E,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAyO9E"}
|
|
@@ -195,12 +195,77 @@ export async function handleAssertToolCalled(raw) {
|
|
|
195
195
|
cursor = res.data.cursor ?? cursor ?? null;
|
|
196
196
|
await sleep(Math.min(POLL_MS, Math.max(0, deadline - Date.now())));
|
|
197
197
|
}
|
|
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
|
+
}
|
|
198
263
|
const argsHint = argsMatch
|
|
199
264
|
? ` matching args ${JSON.stringify(argsMatch).slice(0, 80)}`
|
|
200
265
|
: "";
|
|
201
266
|
return errorResponse({
|
|
202
267
|
code: "tool_not_called",
|
|
203
|
-
message: `Timeout waiting for tool "${expectedName}"${argsHint} after ${timeoutMs}ms. Session status: ${lastSeenStatus ?? "unknown"}.`,
|
|
268
|
+
message: `Timeout waiting for tool "${expectedName}"${argsHint} after ${timeoutMs}ms (including post-timeout safety-net check). Session status: ${lastSeenStatus ?? "unknown"}.`,
|
|
204
269
|
fixHint: "Check that (a) glasses.assistant.start { ... } is running in the app with this tool registered, (b) injectAssistantUtterance ran first and was delivered (its response shows delivered:true), and (c) the tool description's keywords overlap with the injected utterance (the Mock provider matches by word overlap). Try getEventLog(types:['assistant.user_spoke','assistant.tool_called','assistant.error']) to see what the assistant did instead.",
|
|
205
270
|
retryable: true,
|
|
206
271
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertToolCalled.js","sourceRoot":"","sources":["../../../src/tools/handlers/assertToolCalled.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"assertToolCalled.js","sourceRoot":"","sources":["../../../src/tools/handlers/assertToolCalled.ts"],"names":[],"mappings":"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"}
|