@memberjunction/ai-agents 5.42.0 → 5.44.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 +10 -0
- package/dist/DuplicateReasoningAgentProvider.d.ts +35 -0
- package/dist/DuplicateReasoningAgentProvider.d.ts.map +1 -0
- package/dist/DuplicateReasoningAgentProvider.js +95 -0
- package/dist/DuplicateReasoningAgentProvider.js.map +1 -0
- package/dist/MJAIAgentRequestEntityServer.d.ts +7 -0
- package/dist/MJAIAgentRequestEntityServer.d.ts.map +1 -1
- package/dist/MJAIAgentRequestEntityServer.js +28 -1
- package/dist/MJAIAgentRequestEntityServer.js.map +1 -1
- package/dist/SkillImportExportService.d.ts +63 -0
- package/dist/SkillImportExportService.d.ts.map +1 -0
- package/dist/SkillImportExportService.js +148 -0
- package/dist/SkillImportExportService.js.map +1 -0
- package/dist/SkillMarkdownConverter.d.ts +82 -0
- package/dist/SkillMarkdownConverter.d.ts.map +1 -0
- package/dist/SkillMarkdownConverter.js +145 -0
- package/dist/SkillMarkdownConverter.js.map +1 -0
- package/dist/agent-types/flow-agent-type.d.ts.map +1 -1
- package/dist/agent-types/flow-agent-type.js +10 -2
- package/dist/agent-types/flow-agent-type.js.map +1 -1
- package/dist/agent-types/loop-agent-response-type.d.ts +17 -2
- 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.map +1 -1
- package/dist/agent-types/loop-agent-type.js +33 -1
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts +373 -12
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +1019 -78
- package/dist/base-agent.js.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/memory-manager-agent.d.ts +39 -0
- package/dist/memory-manager-agent.d.ts.map +1 -1
- package/dist/memory-manager-agent.js +118 -5
- package/dist/memory-manager-agent.js.map +1 -1
- package/dist/operations/AISkillMarkdownOperations.d.ts +11 -0
- package/dist/operations/AISkillMarkdownOperations.d.ts.map +1 -0
- package/dist/operations/AISkillMarkdownOperations.js +57 -0
- package/dist/operations/AISkillMarkdownOperations.js.map +1 -0
- package/dist/prompt-component-resolver.d.ts +73 -0
- package/dist/prompt-component-resolver.d.ts.map +1 -0
- package/dist/prompt-component-resolver.js +166 -0
- package/dist/prompt-component-resolver.js.map +1 -0
- package/dist/realtime/agent-media-library.d.ts +65 -0
- package/dist/realtime/agent-media-library.d.ts.map +1 -0
- package/dist/realtime/agent-media-library.js +160 -0
- package/dist/realtime/agent-media-library.js.map +1 -0
- package/dist/realtime/bridge-room-transcript-sink.d.ts +5 -0
- package/dist/realtime/bridge-room-transcript-sink.d.ts.map +1 -1
- package/dist/realtime/bridge-room-transcript-sink.js +25 -1
- package/dist/realtime/bridge-room-transcript-sink.js.map +1 -1
- package/dist/realtime/client-context-channel-server.d.ts +59 -0
- package/dist/realtime/client-context-channel-server.d.ts.map +1 -0
- package/dist/realtime/client-context-channel-server.js +78 -0
- package/dist/realtime/client-context-channel-server.js.map +1 -0
- package/dist/realtime/media-channel-server.d.ts +73 -0
- package/dist/realtime/media-channel-server.d.ts.map +1 -0
- package/dist/realtime/media-channel-server.js +145 -0
- package/dist/realtime/media-channel-server.js.map +1 -0
- package/dist/realtime/realtime-channel-server-data-context.d.ts +42 -0
- package/dist/realtime/realtime-channel-server-data-context.d.ts.map +1 -0
- package/dist/realtime/realtime-channel-server-data-context.js +29 -0
- package/dist/realtime/realtime-channel-server-data-context.js.map +1 -0
- package/dist/realtime/realtime-channel-server-host.d.ts.map +1 -1
- package/dist/realtime/realtime-channel-server-host.js +8 -2
- package/dist/realtime/realtime-channel-server-host.js.map +1 -1
- package/dist/realtime/realtime-client-session-service.d.ts +85 -5
- package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
- package/dist/realtime/realtime-client-session-service.js +234 -25
- package/dist/realtime/realtime-client-session-service.js.map +1 -1
- package/dist/realtime/realtime-coagent-config.d.ts +161 -3
- package/dist/realtime/realtime-coagent-config.d.ts.map +1 -1
- package/dist/realtime/realtime-coagent-config.js +241 -6
- package/dist/realtime/realtime-coagent-config.js.map +1 -1
- package/dist/realtime/realtime-recording-capture.d.ts +125 -0
- package/dist/realtime/realtime-recording-capture.d.ts.map +1 -0
- package/dist/realtime/realtime-recording-capture.js +317 -0
- package/dist/realtime/realtime-recording-capture.js.map +1 -0
- package/dist/realtime/realtime-recording-store.d.ts +105 -0
- package/dist/realtime/realtime-recording-store.d.ts.map +1 -0
- package/dist/realtime/realtime-recording-store.js +216 -0
- package/dist/realtime/realtime-recording-store.js.map +1 -0
- package/dist/realtime/realtime-session-runner.d.ts +33 -2
- package/dist/realtime/realtime-session-runner.d.ts.map +1 -1
- package/dist/realtime/realtime-session-runner.js +45 -2
- package/dist/realtime/realtime-session-runner.js.map +1 -1
- package/dist/realtime/realtime-tool-broker.d.ts +41 -3
- package/dist/realtime/realtime-tool-broker.d.ts.map +1 -1
- package/dist/realtime/realtime-tool-broker.js +67 -3
- package/dist/realtime/realtime-tool-broker.js.map +1 -1
- package/dist/realtime/realtime-turn-moderator.d.ts +103 -0
- package/dist/realtime/realtime-turn-moderator.d.ts.map +1 -0
- package/dist/realtime/realtime-turn-moderator.js +266 -0
- package/dist/realtime/realtime-turn-moderator.js.map +1 -0
- package/package.json +18 -17
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-recording-store.js","sourceRoot":"","sources":["../../src/realtime/realtime-recording-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
* @author MemberJunction.com
|
|
21
21
|
*/
|
|
22
22
|
import { BaseRealtimeModel, RealtimeSessionParams, RealtimeTranscript, RealtimeToolCall, RealtimeUsage, RealtimeToolDefinition } from '@memberjunction/ai';
|
|
23
|
+
import { RealtimeRecordingController } from './realtime-recording-capture.js';
|
|
23
24
|
import { INVOKE_TARGET_AGENT_TOOL_NAME, DelegateToTargetRequest, DelegatedResult, ToolExecutionResult, RealtimeStatusLogger, RealtimeErrorLogger } from './realtime-tool-broker.js';
|
|
24
25
|
export { INVOKE_TARGET_AGENT_TOOL_NAME, DelegateToTargetRequest, DelegatedResult, ToolExecutionResult, RealtimeStatusLogger, RealtimeErrorLogger };
|
|
25
26
|
/**
|
|
@@ -84,10 +85,29 @@ export interface RealtimeSessionRunnerDeps {
|
|
|
84
85
|
*/
|
|
85
86
|
ExecuteTool: (call: RealtimeToolCall) => Promise<ToolExecutionResult>;
|
|
86
87
|
/**
|
|
87
|
-
* Persists a transcript turn as a `ConversationDetail` stamped with the session ID.
|
|
88
|
+
* Persists a transcript turn as a `ConversationDetail` stamped with the session ID. Drives the
|
|
89
|
+
* create-on-start / update-on-complete lifecycle: returns the **new** detail row's ID when a turn
|
|
90
|
+
* is first created (interim delta, or final with no prior interim) and `null` when an existing
|
|
91
|
+
* in-flight row is merely updated. The runner uses that to count distinct turns (not events). In
|
|
88
92
|
* production this writes the durable transcript; in tests, a spy.
|
|
89
93
|
*/
|
|
90
|
-
PersistTranscript: (transcript: RealtimeTranscript) => Promise<
|
|
94
|
+
PersistTranscript: (transcript: RealtimeTranscript) => Promise<string | null>;
|
|
95
|
+
/**
|
|
96
|
+
* Optional audio recording controller for the session. When present, the runner stamps its `t0`
|
|
97
|
+
* at session start, taps the model's **output** audio ({@link IRealtimeSession.OnOutput}) and the
|
|
98
|
+
* **inbound** media frames (by wrapping {@link IRealtimeSession.SendInput}), accumulating both into
|
|
99
|
+
* one mixed recording. Absent ⇒ no recording. NOTE: server-side capture applies to the
|
|
100
|
+
* server-bridged topology (where audio frames cross the server session); client-direct browser
|
|
101
|
+
* sessions capture audio in the browser.
|
|
102
|
+
*/
|
|
103
|
+
Recording?: RealtimeRecordingController;
|
|
104
|
+
/**
|
|
105
|
+
* Finalizes the recording after the session closes: encode → store to MJStorage → stamp the
|
|
106
|
+
* `AIAgentSession` recording fields. Invoked once during {@link RealtimeSessionRunner.Stop}, after
|
|
107
|
+
* the underlying session is closed. Must never throw (errors are logged, not propagated — a
|
|
108
|
+
* recording failure must not fail the session). Optional (absent ⇒ recording disabled).
|
|
109
|
+
*/
|
|
110
|
+
FinalizeRecording?: () => Promise<void>;
|
|
91
111
|
/**
|
|
92
112
|
* Checkpoints the *accumulated* usage onto the single long-lived `AIPromptRun`. The runner
|
|
93
113
|
* accumulates `OnUsage` deltas and invokes this on a debounced cadence and on close, so a
|
|
@@ -224,6 +244,17 @@ export declare class RealtimeSessionRunner {
|
|
|
224
244
|
* @throws If the model fails to start a session.
|
|
225
245
|
*/
|
|
226
246
|
Start(): Promise<void>;
|
|
247
|
+
/**
|
|
248
|
+
* Attaches the optional audio {@link RealtimeSessionRunnerDeps.Recording} controller to the live
|
|
249
|
+
* session: stamps the recording `t0`, taps the model's **output** audio via
|
|
250
|
+
* {@link IRealtimeSession.OnOutput} (otherwise unused on this path), and captures **inbound** media
|
|
251
|
+
* by wrapping {@link IRealtimeSession.SendInput} so a server-bridged host's room audio is recorded
|
|
252
|
+
* too. Video frames are passed through untapped (audio-only recording in v1). No-op when no
|
|
253
|
+
* recording controller is injected.
|
|
254
|
+
*
|
|
255
|
+
* @param session The active session to attach recording to.
|
|
256
|
+
*/
|
|
257
|
+
private attachRecording;
|
|
227
258
|
/**
|
|
228
259
|
* Registers the provider event handlers on the live session.
|
|
229
260
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-session-runner.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-session-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACH,iBAAiB,EAEjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,
|
|
1
|
+
{"version":3,"file":"realtime-session-runner.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-session-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -165,8 +165,34 @@ export class RealtimeSessionRunner {
|
|
|
165
165
|
// runner does not make that redundant call.
|
|
166
166
|
this.session = await this.deps.Model.StartSession(params);
|
|
167
167
|
this.wireHandlers(this.session);
|
|
168
|
+
this.attachRecording(this.session);
|
|
168
169
|
this.deps.LogStatus?.(`🎙️ Realtime session started with ${tools.length} tool(s) (target-independent set).`, true);
|
|
169
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Attaches the optional audio {@link RealtimeSessionRunnerDeps.Recording} controller to the live
|
|
173
|
+
* session: stamps the recording `t0`, taps the model's **output** audio via
|
|
174
|
+
* {@link IRealtimeSession.OnOutput} (otherwise unused on this path), and captures **inbound** media
|
|
175
|
+
* by wrapping {@link IRealtimeSession.SendInput} so a server-bridged host's room audio is recorded
|
|
176
|
+
* too. Video frames are passed through untapped (audio-only recording in v1). No-op when no
|
|
177
|
+
* recording controller is injected.
|
|
178
|
+
*
|
|
179
|
+
* @param session The active session to attach recording to.
|
|
180
|
+
*/
|
|
181
|
+
attachRecording(session) {
|
|
182
|
+
const recording = this.deps.Recording;
|
|
183
|
+
if (!recording) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
recording.Start();
|
|
187
|
+
session.OnOutput((chunk) => recording.AppendOutbound(chunk));
|
|
188
|
+
const originalSendInput = session.SendInput.bind(session);
|
|
189
|
+
session.SendInput = (chunk, kind) => {
|
|
190
|
+
if (kind !== 'video') {
|
|
191
|
+
recording.AppendInbound(chunk);
|
|
192
|
+
}
|
|
193
|
+
originalSendInput(chunk, kind);
|
|
194
|
+
};
|
|
195
|
+
}
|
|
170
196
|
/**
|
|
171
197
|
* Registers the provider event handlers on the live session.
|
|
172
198
|
*
|
|
@@ -206,8 +232,13 @@ export class RealtimeSessionRunner {
|
|
|
206
232
|
*/
|
|
207
233
|
async handleTranscript(transcript) {
|
|
208
234
|
try {
|
|
209
|
-
|
|
210
|
-
|
|
235
|
+
// The persistence collaborator drives the create-on-start/update-on-complete lifecycle and
|
|
236
|
+
// returns the new row id only when a DISTINCT turn is first created — so the count reflects
|
|
237
|
+
// turns, not the many interim+final events a single turn produces.
|
|
238
|
+
const createdId = await this.deps.PersistTranscript(transcript);
|
|
239
|
+
if (createdId) {
|
|
240
|
+
this.transcriptTurnCount++;
|
|
241
|
+
}
|
|
211
242
|
}
|
|
212
243
|
catch (error) {
|
|
213
244
|
this.logError(error, 'persisting transcript');
|
|
@@ -476,6 +507,18 @@ export class RealtimeSessionRunner {
|
|
|
476
507
|
finally {
|
|
477
508
|
this.session = null;
|
|
478
509
|
}
|
|
510
|
+
// Finalize the recording AFTER the socket is closed: stop accumulating, then encode → store →
|
|
511
|
+
// stamp the session. A recording failure is logged inside FinalizeRecording and must never fail
|
|
512
|
+
// the session, but we still guard here defensively.
|
|
513
|
+
if (this.deps.Recording) {
|
|
514
|
+
this.deps.Recording.Stop();
|
|
515
|
+
try {
|
|
516
|
+
await this.deps.FinalizeRecording?.();
|
|
517
|
+
}
|
|
518
|
+
catch (error) {
|
|
519
|
+
this.logError(error, 'finalizing recording');
|
|
520
|
+
}
|
|
521
|
+
}
|
|
479
522
|
this.deps.LogStatus?.('🛑 Realtime session finalized.', true);
|
|
480
523
|
return this.buildResult(!errorMessage, errorMessage);
|
|
481
524
|
}
|
|
@@ -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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"}
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import { RealtimeToolCall } from '@memberjunction/ai';
|
|
25
25
|
import { AgentExecutionProgressCallback } from '@memberjunction/ai-core-plus';
|
|
26
|
+
import { RealtimeDisclosurePolicy } from './realtime-coagent-config.js';
|
|
26
27
|
/**
|
|
27
28
|
* The stable name of the primary tool every Realtime Co-Agent registers with the realtime provider.
|
|
28
29
|
*
|
|
@@ -41,13 +42,50 @@ export declare const INVOKE_TARGET_AGENT_TOOL_NAME = "invoke-target-agent";
|
|
|
41
42
|
* host; that is exactly the drift the convergence removed. See
|
|
42
43
|
* `plans/realtime/realtime-core-host-convergence.md`.
|
|
43
44
|
*
|
|
44
|
-
* @param targetName The
|
|
45
|
-
* fallback (e.g. "the configured target agent") when no distinct
|
|
45
|
+
* @param targetName The LEAD agent's display name (what the co-agent identifies AS — "who the voice is").
|
|
46
|
+
* Callers pass a clear fallback (e.g. "the configured target agent") when no distinct lead is resolved.
|
|
46
47
|
* @param interactiveSurfaceClause Optional trailing clause for host UX tools the co-agent drives itself
|
|
47
48
|
* (browser/whiteboard); empty for pure-voice hosts. Appended verbatim (lead with a space).
|
|
49
|
+
* @param colleagues Optional set of OTHER agents the lead may delegate to (the union-accumulated
|
|
50
|
+
* allowed-agent set; Move 4). When non-empty, a "colleagues" clause is appended naming each and the
|
|
51
|
+
* per-target disclosure guidance. Empty/omitted ⇒ the classic single-target framing, byte-identical.
|
|
48
52
|
* @returns The identity framing paragraph.
|
|
49
53
|
*/
|
|
50
|
-
export declare function BuildRealtimeAgentFraming(targetName: string, interactiveSurfaceClause?: string): string;
|
|
54
|
+
export declare function BuildRealtimeAgentFraming(targetName: string, interactiveSurfaceClause?: string, colleagues?: RealtimeColleague[]): string;
|
|
55
|
+
/**
|
|
56
|
+
* The co-agent's "give me a tour" play, appended to {@link BuildRealtimeAgentFraming} so EVERY host
|
|
57
|
+
* gets it identically. It teaches the agent how to *guide* a user through an app (or several) using
|
|
58
|
+
* its existing capabilities — its navigation tool and the on-screen actions listed in the live
|
|
59
|
+
* app-context manifest — with deliberate PACING. The emphasis is depth over breadth: stop, show a
|
|
60
|
+
* little, actually do something, pause, then move on — never a rushed flyover.
|
|
61
|
+
*
|
|
62
|
+
* Kept as its own clause (not inlined) so it can later be lifted into a dedicated Tour skill once
|
|
63
|
+
* that agent primitive exists, without disturbing the identity framing.
|
|
64
|
+
*/
|
|
65
|
+
export declare function BuildTourGuidanceClause(): string;
|
|
66
|
+
/**
|
|
67
|
+
* A colleague agent the lead co-agent may delegate to (a member of the effective allowed-agent
|
|
68
|
+
* union), with the disclosure policy that governs how the handoff is narrated.
|
|
69
|
+
*/
|
|
70
|
+
export interface RealtimeColleague {
|
|
71
|
+
/** The colleague agent's display name, used to address it in `invoke-target-agent` and in narration. */
|
|
72
|
+
name: string;
|
|
73
|
+
/** Short description of what the colleague does — helps the model decide when to delegate. */
|
|
74
|
+
description?: string;
|
|
75
|
+
/** How to narrate a handoff to THIS colleague (per-target override already resolved). */
|
|
76
|
+
disclosure: RealtimeDisclosurePolicy;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Builds the trailing "colleagues" clause for {@link BuildRealtimeAgentFraming} from the allowed-agent
|
|
80
|
+
* union. Names each colleague (+ description), tells the model to pass the colleague's name in the
|
|
81
|
+
* `invoke-target-agent` arguments when their expertise fits, and encodes the per-target disclosure:
|
|
82
|
+
* `mention` ⇒ name the handoff aloud; `silent` ⇒ absorb and speak the result as your own;
|
|
83
|
+
* `hand-voice` ⇒ (reserved) hand the mic over. Returns '' when there are no colleagues.
|
|
84
|
+
*
|
|
85
|
+
* @param colleagues The resolved colleague set (empty ⇒ no clause).
|
|
86
|
+
* @returns The clause text (leads with a space so it appends cleanly), or ''.
|
|
87
|
+
*/
|
|
88
|
+
export declare function BuildColleaguesClause(colleagues: RealtimeColleague[]): string;
|
|
51
89
|
/**
|
|
52
90
|
* A request to delegate work to the target agent, derived from an `invoke-target-agent` tool call.
|
|
53
91
|
*/
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"realtime-tool-broker.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-tool-broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,20 +39,84 @@ export const INVOKE_TARGET_AGENT_TOOL_NAME = 'invoke-target-agent';
|
|
|
39
39
|
* host; that is exactly the drift the convergence removed. See
|
|
40
40
|
* `plans/realtime/realtime-core-host-convergence.md`.
|
|
41
41
|
*
|
|
42
|
-
* @param targetName The
|
|
43
|
-
* fallback (e.g. "the configured target agent") when no distinct
|
|
42
|
+
* @param targetName The LEAD agent's display name (what the co-agent identifies AS — "who the voice is").
|
|
43
|
+
* Callers pass a clear fallback (e.g. "the configured target agent") when no distinct lead is resolved.
|
|
44
44
|
* @param interactiveSurfaceClause Optional trailing clause for host UX tools the co-agent drives itself
|
|
45
45
|
* (browser/whiteboard); empty for pure-voice hosts. Appended verbatim (lead with a space).
|
|
46
|
+
* @param colleagues Optional set of OTHER agents the lead may delegate to (the union-accumulated
|
|
47
|
+
* allowed-agent set; Move 4). When non-empty, a "colleagues" clause is appended naming each and the
|
|
48
|
+
* per-target disclosure guidance. Empty/omitted ⇒ the classic single-target framing, byte-identical.
|
|
46
49
|
* @returns The identity framing paragraph.
|
|
47
50
|
*/
|
|
48
|
-
export function BuildRealtimeAgentFraming(targetName, interactiveSurfaceClause = '') {
|
|
51
|
+
export function BuildRealtimeAgentFraming(targetName, interactiveSurfaceClause = '', colleagues = []) {
|
|
49
52
|
return (`You are the real-time voice for the agent "${targetName}". Hold a natural, low-latency ` +
|
|
50
53
|
`conversation with the user, always speaking in the FIRST PERSON as ${targetName} — own the work ` +
|
|
51
54
|
`("I'm pulling that up", "I found three matches"); never refer to ${targetName} or the work in the ` +
|
|
52
55
|
`third person. When actual work is required, call the '${INVOKE_TARGET_AGENT_TOOL_NAME}' ` +
|
|
53
56
|
`tool and narrate progress while it runs — do not attempt to do the work yourself.` +
|
|
57
|
+
BuildColleaguesClause(colleagues) +
|
|
58
|
+
BuildTourGuidanceClause() +
|
|
54
59
|
interactiveSurfaceClause);
|
|
55
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* The co-agent's "give me a tour" play, appended to {@link BuildRealtimeAgentFraming} so EVERY host
|
|
63
|
+
* gets it identically. It teaches the agent how to *guide* a user through an app (or several) using
|
|
64
|
+
* its existing capabilities — its navigation tool and the on-screen actions listed in the live
|
|
65
|
+
* app-context manifest — with deliberate PACING. The emphasis is depth over breadth: stop, show a
|
|
66
|
+
* little, actually do something, pause, then move on — never a rushed flyover.
|
|
67
|
+
*
|
|
68
|
+
* Kept as its own clause (not inlined) so it can later be lifted into a dedicated Tour skill once
|
|
69
|
+
* that agent primitive exists, without disturbing the identity framing.
|
|
70
|
+
*/
|
|
71
|
+
export function BuildTourGuidanceClause() {
|
|
72
|
+
return (` GIVING A TOUR: When the user asks for a tour, a walkthrough, a demo, or to be "shown around" ` +
|
|
73
|
+
`(one app or several), become a guide and PACE YOURSELF — never rush or zip through. Work one ` +
|
|
74
|
+
`stop at a time. For each stop: (1) navigate there using your navigation tool to open the app or ` +
|
|
75
|
+
`section; (2) say where you are and what it's for in a sentence or two; (3) call out two or three ` +
|
|
76
|
+
`of its most useful capabilities in plain, benefit-led language; (4) actually DEMONSTRATE — invoke ` +
|
|
77
|
+
`one or two of the interesting on-screen actions available to you here (run a search, open a ` +
|
|
78
|
+
`record, switch a view) so the user sees it work, narrating what you're doing as you do it; ` +
|
|
79
|
+
`(5) PAUSE — invite a question or a quick "ready to move on?" before continuing. Spend a real beat ` +
|
|
80
|
+
`on each stop (a handful of sentences plus an action or two), then move to the next. Favor depth ` +
|
|
81
|
+
`over breadth — pick the few things that best show what the section can do rather than listing ` +
|
|
82
|
+
`everything. When touring multiple apps, give each its own stop and close with a short recap of ` +
|
|
83
|
+
`where you've been and where the user might go next. If an action needs the user's confirmation ` +
|
|
84
|
+
`or input, ask first rather than committing anything on their behalf.`);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Builds the trailing "colleagues" clause for {@link BuildRealtimeAgentFraming} from the allowed-agent
|
|
88
|
+
* union. Names each colleague (+ description), tells the model to pass the colleague's name in the
|
|
89
|
+
* `invoke-target-agent` arguments when their expertise fits, and encodes the per-target disclosure:
|
|
90
|
+
* `mention` ⇒ name the handoff aloud; `silent` ⇒ absorb and speak the result as your own;
|
|
91
|
+
* `hand-voice` ⇒ (reserved) hand the mic over. Returns '' when there are no colleagues.
|
|
92
|
+
*
|
|
93
|
+
* @param colleagues The resolved colleague set (empty ⇒ no clause).
|
|
94
|
+
* @returns The clause text (leads with a space so it appends cleanly), or ''.
|
|
95
|
+
*/
|
|
96
|
+
export function BuildColleaguesClause(colleagues) {
|
|
97
|
+
if (!colleagues || colleagues.length === 0) {
|
|
98
|
+
return '';
|
|
99
|
+
}
|
|
100
|
+
const lines = colleagues.map((c) => {
|
|
101
|
+
const desc = c.description ? ` — ${c.description}` : '';
|
|
102
|
+
let how;
|
|
103
|
+
switch (c.disclosure) {
|
|
104
|
+
case 'silent':
|
|
105
|
+
how = 'delegate to them silently and speak their result as your own (do not mention the handoff)';
|
|
106
|
+
break;
|
|
107
|
+
case 'hand-voice':
|
|
108
|
+
how = 'hand the conversation over to them';
|
|
109
|
+
break;
|
|
110
|
+
case 'mention':
|
|
111
|
+
default:
|
|
112
|
+
how = `briefly say you're bringing them in (e.g. "let me get ${c.name} on this") before delegating`;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
return ` - "${c.name}"${desc}: ${how}.`;
|
|
116
|
+
});
|
|
117
|
+
return (` You can also call on colleagues when their expertise fits — pass the colleague's name in the ` +
|
|
118
|
+
`'${INVOKE_TARGET_AGENT_TOOL_NAME}' arguments. Your colleagues:\n${lines.join('\n')}`);
|
|
119
|
+
}
|
|
56
120
|
/**
|
|
57
121
|
* Executes a single realtime tool call server-side, identically across both audio topologies.
|
|
58
122
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-tool-broker.js","sourceRoot":"","sources":["../../src/realtime/realtime-tool-broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
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,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview The **realtime turn moderator** — the agent-layer plugin behind the bridge engine's
|
|
3
|
+
* `SetTurnModerator` hook. For each turn in a MULTI-agent voice room it runs ONE fast LLM **prompt** (not an
|
|
4
|
+
* agent run) that decides which agent(s), in order, should speak next — routing a question to several agents
|
|
5
|
+
* when relevant, letting a *productive* agent↔agent discussion continue, and going quiet on unproductive
|
|
6
|
+
* ping-pong. The engine speaks the returned agents serially via the floor; the audio plane is untouched.
|
|
7
|
+
*
|
|
8
|
+
* Why a prompt, not an agent: this is a stateless yes/who classification — no planning, tools, or sub-agents.
|
|
9
|
+
* Each decision is an `AIPromptRun` tied to the co-agent's `AIAgentRun` (`agentRunId`) so the "who spoke and
|
|
10
|
+
* why" trail is fully observable. Informally this is the meeting's **moderator** (a.k.a. "nanny mode") — but
|
|
11
|
+
* note it *brings agents in* as much as it restrains them.
|
|
12
|
+
*
|
|
13
|
+
* The engine stays framework-agnostic: it knows only `(ctx) => Promise<string[]>`. This module supplies that
|
|
14
|
+
* function via {@link RealtimeTurnModeratorDecision}; the context types below **structurally match** the
|
|
15
|
+
* engine's exported `TurnModeratorContext` (we don't take a dependency on `@memberjunction/ai-bridge-server`,
|
|
16
|
+
* exactly as `bridge-room-transcript-sink.ts` mirrors `BridgeTranscriptSink`).
|
|
17
|
+
*
|
|
18
|
+
* @module @memberjunction/ai-agents
|
|
19
|
+
*/
|
|
20
|
+
import { UserInfo, IMetadataProvider } from '@memberjunction/core';
|
|
21
|
+
/** One agent in the room as the moderator sees it (structurally matches the engine's `ModeratorRosterAgent`). */
|
|
22
|
+
export interface ModeratorRosterAgentInput {
|
|
23
|
+
AgentSessionID: string;
|
|
24
|
+
AgentID?: string;
|
|
25
|
+
TargetAgentID?: string;
|
|
26
|
+
Names: string[];
|
|
27
|
+
Role?: string;
|
|
28
|
+
Mode: 'proactive' | 'addressed-only';
|
|
29
|
+
}
|
|
30
|
+
/** One diarized lookback turn (structurally matches the engine's `ModeratorLookbackTurn`). */
|
|
31
|
+
export interface ModeratorLookbackTurnInput {
|
|
32
|
+
Speaker: string;
|
|
33
|
+
IsAgent: boolean;
|
|
34
|
+
AgentID?: string;
|
|
35
|
+
Text: string;
|
|
36
|
+
}
|
|
37
|
+
/** The per-decision context handed in by the engine (structurally matches the engine's `TurnModeratorContext`). */
|
|
38
|
+
export interface TurnModeratorContextInput {
|
|
39
|
+
RoomKey: string;
|
|
40
|
+
Roster: ModeratorRosterAgentInput[];
|
|
41
|
+
Lookback: ModeratorLookbackTurnInput[];
|
|
42
|
+
LatestTurn: ModeratorLookbackTurnInput;
|
|
43
|
+
ConsecutiveAgentOnlyTurns: number;
|
|
44
|
+
AgentRunID?: string;
|
|
45
|
+
RepAgentSessionID?: string;
|
|
46
|
+
ContextUser?: UserInfo;
|
|
47
|
+
Provider?: IMetadataProvider;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The realtime turn moderator. One shared instance is wired into the engine; it resolves the room-wide
|
|
51
|
+
* moderator config from the Realtime agent type's `DefaultConfiguration` and runs the configured prompt.
|
|
52
|
+
*/
|
|
53
|
+
export declare class RealtimeTurnModerator {
|
|
54
|
+
private readonly runner;
|
|
55
|
+
/** AgentSessionID → co-agent `AIAgentRun` id (stable per session) — avoids a query per turn. `null` = looked up, none found. */
|
|
56
|
+
private readonly sessionRunIdCache;
|
|
57
|
+
/** AgentID → resolved { role, mode } (stable per agent) — avoids re-resolving the cascade per turn. */
|
|
58
|
+
private readonly agentMetaCache;
|
|
59
|
+
/**
|
|
60
|
+
* Decides who speaks next for one turn. Returns the ordered `AgentSessionID`s to trigger (empty = nobody).
|
|
61
|
+
* Honors the optional consecutive-agent backstop, the per-call timeout, and the `onError` policy; degrades
|
|
62
|
+
* to a name-contains safety net ONLY when no moderator prompt is configured (a metadata gap, not the norm).
|
|
63
|
+
*/
|
|
64
|
+
Decide(ctx: TurnModeratorContextInput): Promise<string[]>;
|
|
65
|
+
/** Resolves the room-wide moderator config from the Realtime agent type's `DefaultConfiguration` (cache-backed). */
|
|
66
|
+
private resolveConfig;
|
|
67
|
+
/**
|
|
68
|
+
* Resolves an agent's live { role, mode } from its own config — `role` from its Description, `mode` from
|
|
69
|
+
* the `turnTaking.mode` of (agent type `DefaultConfiguration` ← that agent's `TypeConfiguration`). Cached
|
|
70
|
+
* per agent id. Returns `null` for an unknown id (caller falls back to engine-provided values).
|
|
71
|
+
*/
|
|
72
|
+
private resolveAgentMeta;
|
|
73
|
+
/**
|
|
74
|
+
* Resolves the co-agent `AIAgentRun` id for the room's representative session (found by `AgentSessionID`,
|
|
75
|
+
* Running, top-level), so each moderator prompt run nests under it. Cached per session (the run is stable
|
|
76
|
+
* for the session's life); a not-yet-found result is left uncached so it's picked up once the run exists.
|
|
77
|
+
*/
|
|
78
|
+
private resolveAgentRunId;
|
|
79
|
+
/** Runs the moderator prompt and returns its parsed decision. Throws on a missing prompt / failed run. */
|
|
80
|
+
private runPrompt;
|
|
81
|
+
/**
|
|
82
|
+
* Builds the prompt data. The ROSTER (stable within a room) is separated from the rolling CONVERSATION
|
|
83
|
+
* window so a prompt template can keep the roster near the top (cacheable prefix) and the variable
|
|
84
|
+
* lookback at the bottom. The lookback is narrowed to the configured window + clipped per turn.
|
|
85
|
+
*/
|
|
86
|
+
private buildData;
|
|
87
|
+
/** Maps moderator-returned agent NAMES to roster `AgentSessionID`s, in order, de-duplicated. */
|
|
88
|
+
private mapNamesToSessions;
|
|
89
|
+
/**
|
|
90
|
+
* Pure safety net (ONLY when no moderator prompt is configured): route to any agent whose name literally
|
|
91
|
+
* appears in the latest turn. This is deliberately crude — the configured LLM moderator handles all the
|
|
92
|
+
* nuance (typos, indirect address, relevance) that this can't.
|
|
93
|
+
*/
|
|
94
|
+
private addressedFallback;
|
|
95
|
+
/** Rejects if `p` doesn't settle within `ms` — keeps a slow moderator from stalling a turn. */
|
|
96
|
+
private withTimeout;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* The function to pass to `AIBridgeEngine.SetTurnModerator(...)`. Structurally a `TurnModerator`
|
|
100
|
+
* (`(ctx) => Promise<string[]>`); the MJServer resolver wires it at schema-build time.
|
|
101
|
+
*/
|
|
102
|
+
export declare function RealtimeTurnModeratorDecision(ctx: TurnModeratorContextInput): Promise<string[]>;
|
|
103
|
+
//# sourceMappingURL=realtime-turn-moderator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-turn-moderator.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-turn-moderator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAoC,QAAQ,EAAE,iBAAiB,EAAW,MAAM,sBAAsB,CAAC;AAe9G,iHAAiH;AACjH,MAAM,WAAW,yBAAyB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,GAAG,gBAAgB,CAAC;CACxC;AAED,8FAA8F;AAC9F,MAAM,WAAW,0BAA0B;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,mHAAmH;AACnH,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,UAAU,EAAE,0BAA0B,CAAC;IACvC,yBAAyB,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAUD;;;GAGG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,gIAAgI;IAChI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoC;IACtE,uGAAuG;IACvG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6E;IAE5G;;;;OAIG;IACU,MAAM,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAwCtE,oHAAoH;IACpH,OAAO,CAAC,aAAa;IAWrB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA2BxB;;;;OAIG;YACW,iBAAiB;IAmC/B,0GAA0G;YAC5F,SAAS;IA8BvB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAyBjB,gGAAgG;IAChG,OAAO,CAAC,kBAAkB;IAe1B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAKzB,+FAA+F;IAC/F,OAAO,CAAC,WAAW;CAetB;AAKD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE/F"}
|