@memberjunction/ai-agents 5.47.0 → 5.49.0
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/README.md +14 -0
- package/dist/AgentRunner.d.ts.map +1 -1
- package/dist/AgentRunner.js +5 -0
- package/dist/AgentRunner.js.map +1 -1
- package/dist/ConversationCompactionManager.d.ts +198 -0
- package/dist/ConversationCompactionManager.d.ts.map +1 -0
- package/dist/ConversationCompactionManager.js +384 -0
- package/dist/ConversationCompactionManager.js.map +1 -0
- package/dist/ConversationToolManager.d.ts +154 -0
- package/dist/ConversationToolManager.d.ts.map +1 -0
- package/dist/ConversationToolManager.js +336 -0
- package/dist/ConversationToolManager.js.map +1 -0
- package/dist/agent-types/loop-agent-prompt-params.d.ts +8 -0
- package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.js +1 -0
- package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
- package/dist/agent-types/loop-agent-response-type.d.ts +10 -1
- package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-response-type.js.map +1 -1
- package/dist/agent-types/loop-agent-type.d.ts +23 -34
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +75 -2
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts +322 -4
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +882 -92
- package/dist/base-agent.js.map +1 -1
- package/dist/conversation-history-format.d.ts +19 -0
- package/dist/conversation-history-format.d.ts.map +1 -0
- package/dist/conversation-history-format.js +40 -0
- package/dist/conversation-history-format.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/prior-turn-tool-result-cache.d.ts +71 -0
- package/dist/prior-turn-tool-result-cache.d.ts.map +1 -0
- package/dist/prior-turn-tool-result-cache.js +85 -0
- package/dist/prior-turn-tool-result-cache.js.map +1 -0
- package/dist/realtime/agent-media-library.js +1 -1
- package/dist/realtime/agent-media-library.js.map +1 -1
- package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
- package/dist/realtime/realtime-client-session-service.js +7 -3
- package/dist/realtime/realtime-client-session-service.js.map +1 -1
- package/dist/realtime/realtime-coagent-config.d.ts +41 -0
- package/dist/realtime/realtime-coagent-config.d.ts.map +1 -1
- package/dist/realtime/realtime-coagent-config.js +69 -0
- package/dist/realtime/realtime-coagent-config.js.map +1 -1
- package/dist/realtime/realtime-session-runner.d.ts +72 -1
- package/dist/realtime/realtime-session-runner.d.ts.map +1 -1
- package/dist/realtime/realtime-session-runner.js +215 -13
- package/dist/realtime/realtime-session-runner.js.map +1 -1
- package/dist/realtime/realtime-tool-broker.d.ts +7 -2
- package/dist/realtime/realtime-tool-broker.d.ts.map +1 -1
- package/dist/realtime/realtime-tool-broker.js +13 -10
- package/dist/realtime/realtime-tool-broker.js.map +1 -1
- package/dist/tool-result-format.d.ts +78 -0
- package/dist/tool-result-format.d.ts.map +1 -0
- package/dist/tool-result-format.js +46 -0
- package/dist/tool-result-format.js.map +1 -0
- package/package.json +18 -18
|
@@ -31,6 +31,8 @@ export { INVOKE_TARGET_AGENT_TOOL_NAME };
|
|
|
31
31
|
* drive the session to completion, or {@link Start}/{@link Stop} to control it explicitly.
|
|
32
32
|
*/
|
|
33
33
|
export class RealtimeSessionRunner {
|
|
34
|
+
/** Default upper bound (ms) on the teardown transcript drain — see `TranscriptFlushTimeoutMs`. */
|
|
35
|
+
static { this.DefaultTranscriptFlushTimeoutMs = 5000; }
|
|
34
36
|
// ── Delegated-run progress narration (server-bridged B3) ──────────────────
|
|
35
37
|
/** First spoken update fires no earlier than this long after a delegation burst starts. */
|
|
36
38
|
static { this.FirstNarrationDelayMs = 5000; }
|
|
@@ -52,6 +54,12 @@ export class RealtimeSessionRunner {
|
|
|
52
54
|
this.session = null;
|
|
53
55
|
/** Accumulated usage across all `OnUsage` deltas, flushed to the checkpoint on debounce/close. */
|
|
54
56
|
this.accumulatedUsage = { InputTokens: 0, OutputTokens: 0 };
|
|
57
|
+
/** The registered abort listener (removed on Stop so a late signal can't touch a dead runner). */
|
|
58
|
+
this.abortListener = null;
|
|
59
|
+
/** Fatal-transport reconnect attempts consumed so far (bounded by deps.MaxTransportReconnects). */
|
|
60
|
+
this.reconnectAttempts = 0;
|
|
61
|
+
/** True while a reconnect is IN FLIGHT — prevents concurrent reconnects at a budget >= 2. */
|
|
62
|
+
this.reconnecting = false;
|
|
55
63
|
/** Whether there is accumulated usage that has not yet been checkpointed. */
|
|
56
64
|
this.usageDirty = false;
|
|
57
65
|
/** Pending debounce timer handle for usage checkpoints. */
|
|
@@ -163,9 +171,28 @@ export class RealtimeSessionRunner {
|
|
|
163
171
|
// providers like Gemini Live, the ONLY effective) registration path. A post-start
|
|
164
172
|
// RegisterTools with the identical set would be a contract-mandated no-op, so the
|
|
165
173
|
// runner does not make that redundant call.
|
|
174
|
+
// Cancellation semantics (C4): realtime sessions honor the same chained caller-token +
|
|
175
|
+
// agent-timeout signal as every other agent run. Already-aborted ⇒ never open the socket.
|
|
176
|
+
const signal = this.deps.AbortSignal;
|
|
177
|
+
if (signal?.aborted) {
|
|
178
|
+
throw new Error('Realtime session aborted before start (cancellation signal already fired).');
|
|
179
|
+
}
|
|
166
180
|
this.session = await this.deps.Model.StartSession(params);
|
|
167
181
|
this.wireHandlers(this.session);
|
|
168
182
|
this.attachRecording(this.session);
|
|
183
|
+
if (signal) {
|
|
184
|
+
this.abortListener = () => {
|
|
185
|
+
this.deps.LogStatus?.('🛑 Cancellation signal fired — stopping the realtime session.', false);
|
|
186
|
+
void this.Stop();
|
|
187
|
+
};
|
|
188
|
+
signal.addEventListener('abort', this.abortListener, { once: true });
|
|
189
|
+
// C4 window: the signal may have fired DURING the StartSession await above — an
|
|
190
|
+
// already-aborted signal never dispatches 'abort' again, so the listener alone would
|
|
191
|
+
// miss it. Re-check and finalize now.
|
|
192
|
+
if (signal.aborted) {
|
|
193
|
+
void this.Stop();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
169
196
|
this.deps.LogStatus?.(`🎙️ Realtime session started with ${tools.length} tool(s) (target-independent set).`, true);
|
|
170
197
|
}
|
|
171
198
|
/**
|
|
@@ -199,11 +226,28 @@ export class RealtimeSessionRunner {
|
|
|
199
226
|
* @param session The active session to wire.
|
|
200
227
|
*/
|
|
201
228
|
wireHandlers(session) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
session.
|
|
205
|
-
session
|
|
206
|
-
session
|
|
229
|
+
// Every handler is IDENTITY-GUARDED against `this.session`: after a transport reconnect
|
|
230
|
+
// (attemptTransportReconnect) the OLD session may still emit late events (a trailing fatal,
|
|
231
|
+
// a stale tool call carrying a call_id the new session never issued). Those must NEVER
|
|
232
|
+
// touch the runner state that now belongs to the FRESH session — otherwise an old-session
|
|
233
|
+
// fatal could tear down the healthy reconnected session, or a stale tool result could be
|
|
234
|
+
// relayed to a provider session that has no matching pending call.
|
|
235
|
+
session.OnTranscript((t) => { if (this.session === session)
|
|
236
|
+
void this.handleTranscript(t); });
|
|
237
|
+
session.OnToolCall((call) => { if (this.session === session)
|
|
238
|
+
void this.handleToolCall(call); });
|
|
239
|
+
// Usage is runner-GLOBAL (cumulative across the whole session lifetime incl. reconnects),
|
|
240
|
+
// NOT session-scoped — so a late usage frame from a just-superseded session must still
|
|
241
|
+
// accumulate (never dropped by the session-identity guard the other handlers use). The gate
|
|
242
|
+
// here is the RUNNER lifecycle instead: once Stop() has finalized (`stopped`), a trailing
|
|
243
|
+
// usage frame flushed on the closing socket must NOT accumulate — it would diverge from the
|
|
244
|
+
// already-returned FinalUsage AND arm a fresh debounce timer that checkpoints post-finalize.
|
|
245
|
+
session.OnUsage((u) => { if (!this.stopped)
|
|
246
|
+
this.handleUsage(u); });
|
|
247
|
+
session.OnInterruption(() => { if (this.session === session)
|
|
248
|
+
this.handleInterruption(); });
|
|
249
|
+
session.OnError((error) => { if (this.session === session)
|
|
250
|
+
this.handleSessionError(error); });
|
|
207
251
|
}
|
|
208
252
|
/**
|
|
209
253
|
* Handles a session error per the {@link IRealtimeSession.OnError} fatality contract:
|
|
@@ -218,6 +262,14 @@ export class RealtimeSessionRunner {
|
|
|
218
262
|
handleSessionError(error) {
|
|
219
263
|
const code = error.Code ? ` [${error.Code}]` : '';
|
|
220
264
|
if (error.Fatal) {
|
|
265
|
+
const maxReconnects = this.deps.MaxTransportReconnects ?? 1;
|
|
266
|
+
if (!this.stopped && !this.reconnecting && this.reconnectAttempts < maxReconnects) {
|
|
267
|
+
this.reconnectAttempts++;
|
|
268
|
+
this.reconnecting = true; // re-entrancy guard: no concurrent reconnect at budget >= 2
|
|
269
|
+
this.deps.LogError?.(`Fatal realtime session error${code} — attempting bounded reconnect ${this.reconnectAttempts}/${maxReconnects}: ${error.Message}`);
|
|
270
|
+
void this.attemptTransportReconnect();
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
221
273
|
this.deps.LogError?.(`Fatal realtime session error${code} — finalizing session: ${error.Message}`);
|
|
222
274
|
void this.Stop();
|
|
223
275
|
}
|
|
@@ -225,6 +277,96 @@ export class RealtimeSessionRunner {
|
|
|
225
277
|
this.deps.LogError?.(`Realtime session error (non-fatal)${code}: ${error.Message}`);
|
|
226
278
|
}
|
|
227
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* Attempts ONE transport reconnect after a fatal drop: quietly discards the dead session,
|
|
282
|
+
* opens a fresh provider session with the SAME params + tool set, re-wires handlers +
|
|
283
|
+
* recording, and injects a context note so the model can acknowledge the blip. Accumulated
|
|
284
|
+
* usage and transcript counts span the reconnect (the same long-lived AIPromptRun continues).
|
|
285
|
+
* A failed attempt finalizes via {@link Stop} (further fatal errors on the new session
|
|
286
|
+
* consume the remaining attempt budget).
|
|
287
|
+
*/
|
|
288
|
+
async attemptTransportReconnect() {
|
|
289
|
+
try {
|
|
290
|
+
// SEAM-2: the OLD session is dead — abort any in-flight delegation (its result would
|
|
291
|
+
// otherwise be relayed to the fresh session as a function_call_output carrying a
|
|
292
|
+
// call_id the new provider session never issued) and drop any queued (now-stale)
|
|
293
|
+
// progress-narration text. We do NOT blanket-reset activeDelegations: each in-flight
|
|
294
|
+
// delegation frame self-decrements via its own finally (AbortInFlight unwinds them), so
|
|
295
|
+
// zeroing the shared counter here would corrupt it for a CONCURRENT delegation that
|
|
296
|
+
// outlives the reconnect (its completion would decrement a count that now belongs to a
|
|
297
|
+
// newly-started delegation, suppressing the new one's narration).
|
|
298
|
+
this.toolBroker.AbortInFlight();
|
|
299
|
+
this.cancelPendingNarration();
|
|
300
|
+
try {
|
|
301
|
+
await this.session?.Close();
|
|
302
|
+
}
|
|
303
|
+
catch {
|
|
304
|
+
/* the dead socket may throw on close — irrelevant */
|
|
305
|
+
}
|
|
306
|
+
this.session = null;
|
|
307
|
+
const tools = this.BuildToolSet();
|
|
308
|
+
const params = { ...this.deps.SessionParams, Tools: tools };
|
|
309
|
+
const fresh = await this.deps.Model.StartSession(params);
|
|
310
|
+
// SEAM-1: the runner may have been Stop()ed (consumer abort / a second fatal) WHILE we
|
|
311
|
+
// awaited StartSession. Stop() found this.session === null (a no-op close) and set
|
|
312
|
+
// stopped — so if we blindly adopted `fresh` we'd leak a live, never-closed session
|
|
313
|
+
// whose handlers fire into a finalized runner. Close the fresh session and bail.
|
|
314
|
+
if (this.stopped) {
|
|
315
|
+
try {
|
|
316
|
+
await fresh.Close();
|
|
317
|
+
}
|
|
318
|
+
catch { /* fresh may throw on close — irrelevant */ }
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
this.session = fresh;
|
|
322
|
+
this.wireHandlers(fresh);
|
|
323
|
+
this.attachRecording(fresh);
|
|
324
|
+
fresh.SendContextNote?.('NOTE: the audio connection dropped briefly and has been re-established. Briefly acknowledge the interruption if the user was mid-conversation, then continue where things left off.');
|
|
325
|
+
this.deps.LogStatus?.('🔁 Realtime transport reconnected after a fatal drop — session resumed.', false);
|
|
326
|
+
}
|
|
327
|
+
catch (reconnectError) {
|
|
328
|
+
this.logError(reconnectError, 'reconnecting after a fatal transport drop');
|
|
329
|
+
void this.Stop();
|
|
330
|
+
}
|
|
331
|
+
finally {
|
|
332
|
+
this.reconnecting = false; // reconnect settled (success/fail) — allow the next one
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Awaits the injected {@link RealtimeSessionRunnerDeps.FlushTranscripts} drain under a hard time
|
|
337
|
+
* bound, so queued transcript writes land before the result is built without letting a stuck write
|
|
338
|
+
* hang teardown. A timeout (or a rejected drain) is logged and swallowed — finalizing with a
|
|
339
|
+
* possibly-missing tail write is strictly better than never finalizing at all.
|
|
340
|
+
*/
|
|
341
|
+
async flushTranscriptsBounded() {
|
|
342
|
+
const flush = this.deps.FlushTranscripts;
|
|
343
|
+
if (!flush) {
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
const timeoutMs = this.deps.TranscriptFlushTimeoutMs ?? RealtimeSessionRunner.DefaultTranscriptFlushTimeoutMs;
|
|
347
|
+
let timer = null;
|
|
348
|
+
try {
|
|
349
|
+
await Promise.race([
|
|
350
|
+
flush(),
|
|
351
|
+
new Promise((resolve) => {
|
|
352
|
+
timer = setTimeout(() => {
|
|
353
|
+
this.logError(`Timed out after ${timeoutMs}ms draining queued transcript writes; finalizing anyway (a tail write may be lost).`, 'flushing transcripts');
|
|
354
|
+
resolve();
|
|
355
|
+
}, timeoutMs);
|
|
356
|
+
// Never hold the process open purely for this guard timer.
|
|
357
|
+
timer.unref?.();
|
|
358
|
+
}),
|
|
359
|
+
]);
|
|
360
|
+
}
|
|
361
|
+
catch (error) {
|
|
362
|
+
this.logError(error, 'flushing transcripts');
|
|
363
|
+
}
|
|
364
|
+
finally {
|
|
365
|
+
if (timer) {
|
|
366
|
+
clearTimeout(timer);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
228
370
|
/**
|
|
229
371
|
* Persists a transcript turn via the injected persistence collaborator.
|
|
230
372
|
*
|
|
@@ -256,8 +398,12 @@ export class RealtimeSessionRunner {
|
|
|
256
398
|
* @param call The tool-call request emitted by the model.
|
|
257
399
|
*/
|
|
258
400
|
async handleToolCall(call) {
|
|
401
|
+
// Capture the session the call originated on. Tool execution (esp. an invoke-target-agent
|
|
402
|
+
// DELEGATION) can span a transport reconnect; the result must NOT be relayed to a DIFFERENT
|
|
403
|
+
// (freshly-reconnected) provider session, which never issued this call_id.
|
|
404
|
+
const originatingSession = this.session;
|
|
259
405
|
const executed = await this.toolBroker.ExecuteToolCall(call);
|
|
260
|
-
await this.dispatchToolResult(call.CallID, executed.ResultJson, 'sending tool result');
|
|
406
|
+
await this.dispatchToolResult(call.CallID, executed.ResultJson, 'sending tool result', originatingSession);
|
|
261
407
|
}
|
|
262
408
|
/**
|
|
263
409
|
* Sends a serialized tool result to the live session, logging (but not rethrowing) any failure.
|
|
@@ -266,8 +412,11 @@ export class RealtimeSessionRunner {
|
|
|
266
412
|
* @param resultJson The JSON-stringified result to send.
|
|
267
413
|
* @param operation A short description of the send operation, used in error logging.
|
|
268
414
|
*/
|
|
269
|
-
async dispatchToolResult(callID, resultJson, operation) {
|
|
270
|
-
|
|
415
|
+
async dispatchToolResult(callID, resultJson, operation, originatingSession) {
|
|
416
|
+
// Relay only when the live session is STILL the one that issued the call (see handleToolCall).
|
|
417
|
+
// A result computed on a since-replaced session carries a call_id the current session never
|
|
418
|
+
// saw — sending it would confuse/reject the fresh turn.
|
|
419
|
+
if (!this.session || (originatingSession !== undefined && this.session !== originatingSession)) {
|
|
271
420
|
return;
|
|
272
421
|
}
|
|
273
422
|
try {
|
|
@@ -285,11 +434,36 @@ export class RealtimeSessionRunner {
|
|
|
285
434
|
handleUsage(usage) {
|
|
286
435
|
this.accumulatedUsage = {
|
|
287
436
|
InputTokens: this.accumulatedUsage.InputTokens + usage.InputTokens,
|
|
288
|
-
OutputTokens: this.accumulatedUsage.OutputTokens + usage.OutputTokens
|
|
437
|
+
OutputTokens: this.accumulatedUsage.OutputTokens + usage.OutputTokens,
|
|
438
|
+
...(this.sumModalityDetail(this.accumulatedUsage.InputTokenDetails, usage.InputTokenDetails)
|
|
439
|
+
? { InputTokenDetails: this.sumModalityDetail(this.accumulatedUsage.InputTokenDetails, usage.InputTokenDetails) }
|
|
440
|
+
: {}),
|
|
441
|
+
...(this.sumModalityDetail(this.accumulatedUsage.OutputTokenDetails, usage.OutputTokenDetails)
|
|
442
|
+
? { OutputTokenDetails: this.sumModalityDetail(this.accumulatedUsage.OutputTokenDetails, usage.OutputTokenDetails) }
|
|
443
|
+
: {}),
|
|
289
444
|
};
|
|
290
445
|
this.usageDirty = true;
|
|
291
446
|
this.scheduleUsageCheckpoint();
|
|
292
447
|
}
|
|
448
|
+
/**
|
|
449
|
+
* Sums two per-modality detail blocks field-wise (absent fields contribute 0; a field present
|
|
450
|
+
* in EITHER side appears in the sum). Returns `undefined` when both sides are absent, so
|
|
451
|
+
* totals-only providers never grow phantom empty detail blocks.
|
|
452
|
+
*/
|
|
453
|
+
sumModalityDetail(a, b) {
|
|
454
|
+
if (!a && !b) {
|
|
455
|
+
return undefined;
|
|
456
|
+
}
|
|
457
|
+
const sum = {};
|
|
458
|
+
for (const key of ['TextTokens', 'AudioTokens', 'ImageTokens', 'CachedTokens']) {
|
|
459
|
+
const av = a?.[key];
|
|
460
|
+
const bv = b?.[key];
|
|
461
|
+
if (typeof av === 'number' || typeof bv === 'number') {
|
|
462
|
+
sum[key] = (av ?? 0) + (bv ?? 0);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
return sum;
|
|
466
|
+
}
|
|
293
467
|
/**
|
|
294
468
|
* Schedules a single debounced usage checkpoint. Repeated calls within the window coalesce
|
|
295
469
|
* into one flush, bounding write frequency during a token-heavy turn.
|
|
@@ -316,7 +490,9 @@ export class RealtimeSessionRunner {
|
|
|
316
490
|
this.usageDirty = false;
|
|
317
491
|
const snapshot = {
|
|
318
492
|
InputTokens: this.accumulatedUsage.InputTokens,
|
|
319
|
-
OutputTokens: this.accumulatedUsage.OutputTokens
|
|
493
|
+
OutputTokens: this.accumulatedUsage.OutputTokens,
|
|
494
|
+
...(this.accumulatedUsage.InputTokenDetails ? { InputTokenDetails: { ...this.accumulatedUsage.InputTokenDetails } } : {}),
|
|
495
|
+
...(this.accumulatedUsage.OutputTokenDetails ? { OutputTokenDetails: { ...this.accumulatedUsage.OutputTokenDetails } } : {}),
|
|
320
496
|
};
|
|
321
497
|
try {
|
|
322
498
|
await this.deps.CheckpointUsage(snapshot);
|
|
@@ -366,7 +542,14 @@ export class RealtimeSessionRunner {
|
|
|
366
542
|
* sequential tool calls seconds apart can never narrate faster than the interval).
|
|
367
543
|
*/
|
|
368
544
|
beginDelegationBurst() {
|
|
369
|
-
|
|
545
|
+
// Anchor a fresh burst either when nothing else is in flight OR when the burst state was reset
|
|
546
|
+
// (narrationBurstStartedAt === 0) by a {@link cancelPendingNarration} — e.g. a reconnect that
|
|
547
|
+
// aborted the prior delegation(s). The second condition matters when a prior delegation FAILED
|
|
548
|
+
// to honor its abort and left {@link activeDelegations} elevated: without it this new delegation
|
|
549
|
+
// would inherit the dead burst's stale anchor (collapsing the 5s first-narration delay) and its
|
|
550
|
+
// climbing update count. Decoupling the re-anchor from the counter keeps burst timing correct
|
|
551
|
+
// regardless of a stuck delegate.
|
|
552
|
+
if (this.activeDelegations === 0 || this.narrationBurstStartedAt === 0) {
|
|
370
553
|
this.narrationBurstStartedAt = Date.now();
|
|
371
554
|
this.narrationCount = 0;
|
|
372
555
|
this.pendingNarrationMessages = [];
|
|
@@ -465,13 +648,22 @@ export class RealtimeSessionRunner {
|
|
|
465
648
|
this.lastNarrationAt = Date.now();
|
|
466
649
|
session.RequestSpokenUpdate(BuildServerNarrationInstructions(this.deps.NarrationInstructionsTemplate, digest, this.narrationCount));
|
|
467
650
|
}
|
|
468
|
-
/**
|
|
651
|
+
/**
|
|
652
|
+
* Cancels any deferred spoken update, drops the digest buffer, and RESETS the burst-timing state
|
|
653
|
+
* (anchor time, spoken-update count, dedup tail). Callers invoke this exactly when the current
|
|
654
|
+
* burst is ending or being torn down (delegation done, barge-in, reconnect, Stop), so clearing the
|
|
655
|
+
* anchor to 0 marks "no active burst" — {@link beginDelegationBurst} then re-anchors the next
|
|
656
|
+
* delegation cleanly even if {@link activeDelegations} is still elevated by a stuck delegate.
|
|
657
|
+
*/
|
|
469
658
|
cancelPendingNarration() {
|
|
470
659
|
if (this.narrationTimer) {
|
|
471
660
|
clearTimeout(this.narrationTimer);
|
|
472
661
|
this.narrationTimer = null;
|
|
473
662
|
}
|
|
474
663
|
this.pendingNarrationMessages = [];
|
|
664
|
+
this.narrationBurstStartedAt = 0;
|
|
665
|
+
this.narrationCount = 0;
|
|
666
|
+
this.lastNarratedTail = '';
|
|
475
667
|
}
|
|
476
668
|
/**
|
|
477
669
|
* Closes the session and finalizes usage. Idempotent: a second call is a no-op.
|
|
@@ -486,6 +678,11 @@ export class RealtimeSessionRunner {
|
|
|
486
678
|
return this.buildResult(true);
|
|
487
679
|
}
|
|
488
680
|
this.stopped = true;
|
|
681
|
+
// Detach the cancellation listener — a late signal must not touch a finalized runner.
|
|
682
|
+
if (this.abortListener && this.deps.AbortSignal) {
|
|
683
|
+
this.deps.AbortSignal.removeEventListener('abort', this.abortListener);
|
|
684
|
+
this.abortListener = null;
|
|
685
|
+
}
|
|
489
686
|
// Cancel any pending debounce and force a final flush so partial usage is never lost.
|
|
490
687
|
if (this.usageDebounceTimer) {
|
|
491
688
|
clearTimeout(this.usageDebounceTimer);
|
|
@@ -507,6 +704,9 @@ export class RealtimeSessionRunner {
|
|
|
507
704
|
finally {
|
|
508
705
|
this.session = null;
|
|
509
706
|
}
|
|
707
|
+
// Drain queued transcript writes now that the socket is closed and no new frames can arrive.
|
|
708
|
+
// Bounded — a stuck write must not wedge teardown (see FlushTranscripts).
|
|
709
|
+
await this.flushTranscriptsBounded();
|
|
510
710
|
// Finalize the recording AFTER the socket is closed: stop accumulating, then encode → store →
|
|
511
711
|
// stamp the session. A recording failure is logged inside FinalizeRecording and must never fail
|
|
512
712
|
// the session, but we still guard here defensively.
|
|
@@ -534,7 +734,9 @@ export class RealtimeSessionRunner {
|
|
|
534
734
|
Success: success,
|
|
535
735
|
FinalUsage: {
|
|
536
736
|
InputTokens: this.accumulatedUsage.InputTokens,
|
|
537
|
-
OutputTokens: this.accumulatedUsage.OutputTokens
|
|
737
|
+
OutputTokens: this.accumulatedUsage.OutputTokens,
|
|
738
|
+
...(this.accumulatedUsage.InputTokenDetails ? { InputTokenDetails: { ...this.accumulatedUsage.InputTokenDetails } } : {}),
|
|
739
|
+
...(this.accumulatedUsage.OutputTokenDetails ? { OutputTokenDetails: { ...this.accumulatedUsage.OutputTokenDetails } } : {}),
|
|
538
740
|
},
|
|
539
741
|
TranscriptTurnCount: this.transcriptTurnCount,
|
|
540
742
|
ErrorMessage: errorMessage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-session-runner.js","sourceRoot":"","sources":["../../src/realtime/realtime-session-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"realtime-session-runner.js","sourceRoot":"","sources":["../../src/realtime/realtime-session-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -255,8 +255,13 @@ export interface RealtimeToolBrokerDeps {
|
|
|
255
255
|
*/
|
|
256
256
|
export declare class RealtimeToolBroker {
|
|
257
257
|
private deps;
|
|
258
|
-
/**
|
|
259
|
-
|
|
258
|
+
/**
|
|
259
|
+
* The abort controllers for ALL currently in-flight delegated runs. The realtime model can emit
|
|
260
|
+
* more than one `invoke-target-agent` call before the first resolves (parallel tool calls), so a
|
|
261
|
+
* single controller would leave the older delegation un-abortable — its stale result would then be
|
|
262
|
+
* relayed on barge-in. Tracking the full set lets {@link AbortInFlight} cancel every in-flight run.
|
|
263
|
+
*/
|
|
264
|
+
private readonly inFlightDelegations;
|
|
260
265
|
/**
|
|
261
266
|
* @param deps The injected collaborators that execute tool calls.
|
|
262
267
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-tool-broker.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-tool-broker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"realtime-tool-broker.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-tool-broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,MAAM,EAClB,wBAAwB,SAAK,EAC7B,UAAU,GAAE,iBAAiB,EAAO,GACrC,MAAM,CAWR;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAgBhD;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,wGAAwG;IACxG,IAAI,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,UAAU,EAAE,wBAAwB,CAAC;CACxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAyB7E;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,EAAE,WAAW,CAAC;IACzB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,8BAA8B,CAAC;CAC/C;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACtC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAEjF;;;;OAIG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEtE,4CAA4C;IAC5C,SAAS,CAAC,EAAE,oBAAoB,CAAC;IAEjC,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,IAAI,CAAyB;IAErC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8B;IAElE;;OAEG;gBACS,IAAI,EAAE,sBAAsB;IAIxC;;;;;;;;;;;OAWG;IACU,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAO/E;;;;;OAKG;IACI,aAAa,IAAI,IAAI;IAO5B;;;;;;OAMG;YACW,eAAe;IAmB7B;;;;;OAKG;YACW,YAAY;IAU1B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,eAAe;IAiCvB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAKtB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAInB"}
|
|
@@ -129,8 +129,13 @@ export class RealtimeToolBroker {
|
|
|
129
129
|
* @param deps The injected collaborators that execute tool calls.
|
|
130
130
|
*/
|
|
131
131
|
constructor(deps) {
|
|
132
|
-
/**
|
|
133
|
-
|
|
132
|
+
/**
|
|
133
|
+
* The abort controllers for ALL currently in-flight delegated runs. The realtime model can emit
|
|
134
|
+
* more than one `invoke-target-agent` call before the first resolves (parallel tool calls), so a
|
|
135
|
+
* single controller would leave the older delegation un-abortable — its stale result would then be
|
|
136
|
+
* relayed on barge-in. Tracking the full set lets {@link AbortInFlight} cancel every in-flight run.
|
|
137
|
+
*/
|
|
138
|
+
this.inFlightDelegations = new Set();
|
|
134
139
|
this.deps = deps;
|
|
135
140
|
}
|
|
136
141
|
/**
|
|
@@ -158,10 +163,10 @@ export class RealtimeToolBroker {
|
|
|
158
163
|
* conversation that has moved on. Safe no-op when no delegation is in flight.
|
|
159
164
|
*/
|
|
160
165
|
AbortInFlight() {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
this.currentDelegationController = null;
|
|
166
|
+
for (const controller of this.inFlightDelegations) {
|
|
167
|
+
controller.abort();
|
|
164
168
|
}
|
|
169
|
+
this.inFlightDelegations.clear();
|
|
165
170
|
}
|
|
166
171
|
/**
|
|
167
172
|
* Delegates an `invoke-target-agent` call to the target agent, owning a fresh
|
|
@@ -172,7 +177,7 @@ export class RealtimeToolBroker {
|
|
|
172
177
|
*/
|
|
173
178
|
async runInvokeTarget(call) {
|
|
174
179
|
const controller = new AbortController();
|
|
175
|
-
this.
|
|
180
|
+
this.inFlightDelegations.add(controller);
|
|
176
181
|
try {
|
|
177
182
|
const result = await this.deps.DelegateToTarget({
|
|
178
183
|
CallID: call.CallID,
|
|
@@ -186,10 +191,8 @@ export class RealtimeToolBroker {
|
|
|
186
191
|
return this.serializeError(error);
|
|
187
192
|
}
|
|
188
193
|
finally {
|
|
189
|
-
//
|
|
190
|
-
|
|
191
|
-
this.currentDelegationController = null;
|
|
192
|
-
}
|
|
194
|
+
// Remove THIS run's controller (AbortInFlight may already have cleared the whole set).
|
|
195
|
+
this.inFlightDelegations.delete(controller);
|
|
193
196
|
}
|
|
194
197
|
}
|
|
195
198
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-tool-broker.js","sourceRoot":"","sources":["../../src/realtime/realtime-tool-broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CACrC,UAAkB,EAClB,wBAAwB,GAAG,EAAE,EAC7B,aAAkC,EAAE;IAEpC,OAAO,CACH,8CAA8C,UAAU,iCAAiC;QACzF,sEAAsE,UAAU,kBAAkB;QAClG,oEAAoE,UAAU,sBAAsB;QACpG,yDAAyD,6BAA6B,IAAI;QAC1F,mFAAmF;QACnF,qBAAqB,CAAC,UAAU,CAAC;QACjC,uBAAuB,EAAE;QACzB,wBAAwB,CAC3B,CAAC;AACN,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB;IACnC,OAAO,CACH,gGAAgG;QAChG,+FAA+F;QAC/F,kGAAkG;QAClG,mGAAmG;QACnG,oGAAoG;QACpG,8FAA8F;QAC9F,6FAA6F;QAC7F,oGAAoG;QACpG,kGAAkG;QAClG,gGAAgG;QAChG,iGAAiG;QACjG,iGAAiG;QACjG,sEAAsE,CACzE,CAAC;AACN,CAAC;AAeD;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAA+B;IACjE,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,GAAW,CAAC;QAChB,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACT,GAAG,GAAG,2FAA2F,CAAC;gBAClG,MAAM;YACV,KAAK,YAAY;gBACb,GAAG,GAAG,oCAAoC,CAAC;gBAC3C,MAAM;YACV,KAAK,SAAS,CAAC;YACf;gBACI,GAAG,GAAG,yDAAyD,CAAC,CAAC,IAAI,8BAA8B,CAAC;gBACpG,MAAM;QACd,CAAC;QACD,OAAO,QAAQ,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,GAAG,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,OAAO,CACH,gGAAgG;QAChG,IAAI,6BAA6B,kCAAkC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;AACN,CAAC;AA6KD;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;
|
|
1
|
+
{"version":3,"file":"realtime-tool-broker.js","sourceRoot":"","sources":["../../src/realtime/realtime-tool-broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CACrC,UAAkB,EAClB,wBAAwB,GAAG,EAAE,EAC7B,aAAkC,EAAE;IAEpC,OAAO,CACH,8CAA8C,UAAU,iCAAiC;QACzF,sEAAsE,UAAU,kBAAkB;QAClG,oEAAoE,UAAU,sBAAsB;QACpG,yDAAyD,6BAA6B,IAAI;QAC1F,mFAAmF;QACnF,qBAAqB,CAAC,UAAU,CAAC;QACjC,uBAAuB,EAAE;QACzB,wBAAwB,CAC3B,CAAC;AACN,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB;IACnC,OAAO,CACH,gGAAgG;QAChG,+FAA+F;QAC/F,kGAAkG;QAClG,mGAAmG;QACnG,oGAAoG;QACpG,8FAA8F;QAC9F,6FAA6F;QAC7F,oGAAoG;QACpG,kGAAkG;QAClG,gGAAgG;QAChG,iGAAiG;QACjG,iGAAiG;QACjG,sEAAsE,CACzE,CAAC;AACN,CAAC;AAeD;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAA+B;IACjE,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,GAAW,CAAC;QAChB,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACT,GAAG,GAAG,2FAA2F,CAAC;gBAClG,MAAM;YACV,KAAK,YAAY;gBACb,GAAG,GAAG,oCAAoC,CAAC;gBAC3C,MAAM;YACV,KAAK,SAAS,CAAC;YACf;gBACI,GAAG,GAAG,yDAAyD,CAAC,CAAC,IAAI,8BAA8B,CAAC;gBACpG,MAAM;QACd,CAAC;QACD,OAAO,QAAQ,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,GAAG,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,OAAO,CACH,gGAAgG;QAChG,IAAI,6BAA6B,kCAAkC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;AACN,CAAC;AA6KD;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IAW3B;;OAEG;IACH,YAAY,IAA4B;QAXxC;;;;;WAKG;QACc,wBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAC;QAM9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,eAAe,CAAC,IAAsB;QAC/C,IAAI,IAAI,CAAC,QAAQ,KAAK,6BAA6B,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACI,aAAa;QAChB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAChD,UAAU,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,eAAe,CAAC,IAAsB;QAChD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBAC5C,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,UAAU,CAAC,MAAM;aACjC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACnH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;gBAAS,CAAC;YACP,uFAAuF;YACvF,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,YAAY,CAAC,IAAsB;QAC7C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,eAAe,CACnB,OAAgB,EAChB,MAAc,EACd,WAAoB,EACpB,KAAc,EACd,SAAkC;QAElC,MAAM,OAAO,GAKT,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACxB,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,MAAM,YAAY,GAAG,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/D,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpC,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;gBACtC,IAAI,EAAE,CAAC,CAAC,IAAI;aACf,CAAC,CAAC,CAAC;QACR,CAAC;QACD,OAAO;YACH,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACnC,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,WAAW;YACxB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CAAC,KAAc;QACjC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9F,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,KAAc,EAAE,SAAiB;QAC9C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,kCAAkC,SAAS,KAAK,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;CACJ"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Single source of truth for the markdown tool-result section shape
|
|
3
|
+
* rendered back into the LLM's context:
|
|
4
|
+
*
|
|
5
|
+
* ```
|
|
6
|
+
* ### [ordinal. ][prefix.]tool({...input})
|
|
7
|
+
* ```json
|
|
8
|
+
* ...result data...
|
|
9
|
+
* ```
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* Three call sites feed this shape to the model — same-turn conversation-tool
|
|
13
|
+
* injection, same-turn artifact-tool injection, and the prior-turn carry-forward
|
|
14
|
+
* message — and the loop-agent system prompt teaches the model to read it. All of
|
|
15
|
+
* them must render through these functions so the contract cannot drift between
|
|
16
|
+
* paths. Callers own size-capping policy; these functions only own the shape.
|
|
17
|
+
*
|
|
18
|
+
* @module @memberjunction/ai-agents
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* The tool families whose step results are eligible for prior-turn carry-forward —
|
|
22
|
+
* single source of the family values. Stamp sites and the eligibility check both
|
|
23
|
+
* derive from this map so a renamed value breaks at compile time, never silently.
|
|
24
|
+
*/
|
|
25
|
+
export declare const CarryForwardToolFamily: {
|
|
26
|
+
readonly Conversation: "conversation";
|
|
27
|
+
readonly Artifact: "artifact";
|
|
28
|
+
};
|
|
29
|
+
/** One of the {@link CarryForwardToolFamily} values. */
|
|
30
|
+
export type CarryForwardToolFamilyValue = typeof CarryForwardToolFamily[keyof typeof CarryForwardToolFamily];
|
|
31
|
+
/**
|
|
32
|
+
* The cross-turn contract persisted in a tool step's `OutputData` by the conversation- and
|
|
33
|
+
* artifact-tool executors and read back by `BaseAgent.BuildPriorTurnToolResultsMessage` on
|
|
34
|
+
* the NEXT run. Write sites construct this type and the reader parses into a Partial of it,
|
|
35
|
+
* so the two sides cannot drift without a compile error.
|
|
36
|
+
*/
|
|
37
|
+
export interface CarryForwardToolStepOutput {
|
|
38
|
+
/** Structured carry-forward discriminator — StepName is display-only */
|
|
39
|
+
toolFamily: CarryForwardToolFamilyValue;
|
|
40
|
+
/** The tool that produced this result */
|
|
41
|
+
tool: string;
|
|
42
|
+
/** The tool's input object */
|
|
43
|
+
input: unknown;
|
|
44
|
+
/** The tool outcome; only `success === true` results are carried forward */
|
|
45
|
+
result: {
|
|
46
|
+
success: boolean;
|
|
47
|
+
data?: unknown;
|
|
48
|
+
errorMessage?: string;
|
|
49
|
+
};
|
|
50
|
+
/** Invocation duration in milliseconds */
|
|
51
|
+
durationMs?: number;
|
|
52
|
+
/** Artifact-family only: the artifact the tool ran against */
|
|
53
|
+
artifactId?: string;
|
|
54
|
+
/** summarizeRange only: the recursive sub-call's AIPromptRun ID */
|
|
55
|
+
promptRunId?: string;
|
|
56
|
+
}
|
|
57
|
+
/** The minimal step projection the prior-turn carry-forward loader fetches and the renderer reads. */
|
|
58
|
+
export interface CarryForwardStepRecord {
|
|
59
|
+
OutputData: string | null;
|
|
60
|
+
}
|
|
61
|
+
/** Identifies one tool call within a rendered result section. */
|
|
62
|
+
export interface ToolResultSectionParts {
|
|
63
|
+
/** The tool name, e.g. `getMessageBySequence` */
|
|
64
|
+
tool: string;
|
|
65
|
+
/** The tool's input object (rendered as compact JSON in the heading) */
|
|
66
|
+
input: unknown;
|
|
67
|
+
/** 1-based ordinal when rendering a numbered multi-result message */
|
|
68
|
+
ordinal?: number;
|
|
69
|
+
/** Signature prefix for target-scoped tools, e.g. an artifact ID (`{prefix}.{tool}(...)`) */
|
|
70
|
+
signaturePrefix?: string;
|
|
71
|
+
}
|
|
72
|
+
/** Renders result data for the fenced block: strings pass through, everything else pretty-JSON. */
|
|
73
|
+
export declare function RenderToolResultData(data: unknown): string;
|
|
74
|
+
/** One successful tool-result section: heading + fenced JSON body (body already capped by the caller). */
|
|
75
|
+
export declare function FormatToolResultSection(parts: ToolResultSectionParts, body: string): string;
|
|
76
|
+
/** One failed tool-result section: heading + bolded error line. */
|
|
77
|
+
export declare function FormatToolErrorSection(parts: ToolResultSectionParts, errorMessage: string | undefined): string;
|
|
78
|
+
//# sourceMappingURL=tool-result-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-result-format.d.ts","sourceRoot":"","sources":["../src/tool-result-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC;AAEX,wDAAwD;AACxD,MAAM,MAAM,2BAA2B,GAAG,OAAO,sBAAsB,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AAE7G;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACvC,wEAAwE;IACxE,UAAU,EAAE,2BAA2B,CAAC;IACxC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,4EAA4E;IAC5E,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,sGAAsG;AACtG,MAAM,WAAW,sBAAsB;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACnC,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,KAAK,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6FAA6F;IAC7F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAQD,mGAAmG;AACnG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAE1D;AAED,0GAA0G;AAC1G,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3F;AAED,mEAAmE;AACnE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE9G"}
|