@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.
Files changed (61) hide show
  1. package/README.md +14 -0
  2. package/dist/AgentRunner.d.ts.map +1 -1
  3. package/dist/AgentRunner.js +5 -0
  4. package/dist/AgentRunner.js.map +1 -1
  5. package/dist/ConversationCompactionManager.d.ts +198 -0
  6. package/dist/ConversationCompactionManager.d.ts.map +1 -0
  7. package/dist/ConversationCompactionManager.js +384 -0
  8. package/dist/ConversationCompactionManager.js.map +1 -0
  9. package/dist/ConversationToolManager.d.ts +154 -0
  10. package/dist/ConversationToolManager.d.ts.map +1 -0
  11. package/dist/ConversationToolManager.js +336 -0
  12. package/dist/ConversationToolManager.js.map +1 -0
  13. package/dist/agent-types/loop-agent-prompt-params.d.ts +8 -0
  14. package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
  15. package/dist/agent-types/loop-agent-prompt-params.js +1 -0
  16. package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
  17. package/dist/agent-types/loop-agent-response-type.d.ts +10 -1
  18. package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
  19. package/dist/agent-types/loop-agent-response-type.js.map +1 -1
  20. package/dist/agent-types/loop-agent-type.d.ts +23 -34
  21. package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
  22. package/dist/agent-types/loop-agent-type.js +75 -2
  23. package/dist/agent-types/loop-agent-type.js.map +1 -1
  24. package/dist/base-agent.d.ts +322 -4
  25. package/dist/base-agent.d.ts.map +1 -1
  26. package/dist/base-agent.js +882 -92
  27. package/dist/base-agent.js.map +1 -1
  28. package/dist/conversation-history-format.d.ts +19 -0
  29. package/dist/conversation-history-format.d.ts.map +1 -0
  30. package/dist/conversation-history-format.js +40 -0
  31. package/dist/conversation-history-format.js.map +1 -0
  32. package/dist/index.d.ts +4 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +4 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/prior-turn-tool-result-cache.d.ts +71 -0
  37. package/dist/prior-turn-tool-result-cache.d.ts.map +1 -0
  38. package/dist/prior-turn-tool-result-cache.js +85 -0
  39. package/dist/prior-turn-tool-result-cache.js.map +1 -0
  40. package/dist/realtime/agent-media-library.js +1 -1
  41. package/dist/realtime/agent-media-library.js.map +1 -1
  42. package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
  43. package/dist/realtime/realtime-client-session-service.js +7 -3
  44. package/dist/realtime/realtime-client-session-service.js.map +1 -1
  45. package/dist/realtime/realtime-coagent-config.d.ts +41 -0
  46. package/dist/realtime/realtime-coagent-config.d.ts.map +1 -1
  47. package/dist/realtime/realtime-coagent-config.js +69 -0
  48. package/dist/realtime/realtime-coagent-config.js.map +1 -1
  49. package/dist/realtime/realtime-session-runner.d.ts +72 -1
  50. package/dist/realtime/realtime-session-runner.d.ts.map +1 -1
  51. package/dist/realtime/realtime-session-runner.js +215 -13
  52. package/dist/realtime/realtime-session-runner.js.map +1 -1
  53. package/dist/realtime/realtime-tool-broker.d.ts +7 -2
  54. package/dist/realtime/realtime-tool-broker.d.ts.map +1 -1
  55. package/dist/realtime/realtime-tool-broker.js +13 -10
  56. package/dist/realtime/realtime-tool-broker.js.map +1 -1
  57. package/dist/tool-result-format.d.ts +78 -0
  58. package/dist/tool-result-format.d.ts.map +1 -0
  59. package/dist/tool-result-format.js +46 -0
  60. package/dist/tool-result-format.js.map +1 -0
  61. 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
- session.OnTranscript((t) => void this.handleTranscript(t));
203
- session.OnToolCall((call) => void this.handleToolCall(call));
204
- session.OnUsage((u) => this.handleUsage(u));
205
- session.OnInterruption(() => this.handleInterruption());
206
- session.OnError((error) => this.handleSessionError(error));
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
- if (!this.session) {
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
- if (this.activeDelegations === 0) {
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
- /** Cancels any deferred spoken update and drops the digest buffer. */
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
- /** The abort controller for the currently in-flight delegated run, if any. */
259
- private currentDelegationController;
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
- /** The abort controller for the currently in-flight delegated run, if any. */
133
- this.currentDelegationController = null;
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
- if (this.currentDelegationController) {
162
- this.currentDelegationController.abort();
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.currentDelegationController = controller;
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
- // Only clear if this is still the active controller (a later delegation may have replaced it).
190
- if (this.currentDelegationController === controller) {
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":"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"}
1
+ {"version":3,"file":"realtime-tool-broker.js","sourceRoot":"","sources":["../../src/realtime/realtime-tool-broker.ts"],"names":[],"mappings":"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"}
@@ -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"}