@memberjunction/ai-agents 6.2.0-edge.2 → 6.2.0-edge.4
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 +6 -0
- package/dist/AgentDecisionService.d.ts +8 -1
- package/dist/AgentDecisionService.d.ts.map +1 -1
- package/dist/AgentDecisionService.js +4 -0
- package/dist/AgentDecisionService.js.map +1 -1
- package/dist/AgentRunner.d.ts +51 -2
- package/dist/AgentRunner.d.ts.map +1 -1
- package/dist/AgentRunner.js +121 -23
- package/dist/AgentRunner.js.map +1 -1
- package/dist/ConversationCompactionManager.d.ts +9 -1
- package/dist/ConversationCompactionManager.d.ts.map +1 -1
- package/dist/ConversationCompactionManager.js +6 -3
- package/dist/ConversationCompactionManager.js.map +1 -1
- package/dist/ConversationToolManager.d.ts +13 -2
- package/dist/ConversationToolManager.d.ts.map +1 -1
- package/dist/ConversationToolManager.js +19 -3
- package/dist/ConversationToolManager.js.map +1 -1
- package/dist/KnowledgeAgent.d.ts.map +1 -1
- package/dist/KnowledgeAgent.js +6 -1
- package/dist/KnowledgeAgent.js.map +1 -1
- package/dist/MJAIAgentRequestEntityServer.d.ts +6 -0
- package/dist/MJAIAgentRequestEntityServer.d.ts.map +1 -1
- package/dist/MJAIAgentRequestEntityServer.js +26 -1
- package/dist/MJAIAgentRequestEntityServer.js.map +1 -1
- package/dist/PayloadFeedbackManager.d.ts +3 -0
- package/dist/PayloadFeedbackManager.d.ts.map +1 -1
- package/dist/PayloadFeedbackManager.js +2 -1
- package/dist/PayloadFeedbackManager.js.map +1 -1
- package/dist/agent-run-watchdog.d.ts +65 -5
- package/dist/agent-run-watchdog.d.ts.map +1 -1
- package/dist/agent-run-watchdog.js +143 -28
- package/dist/agent-run-watchdog.js.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.d.ts +7 -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-type.d.ts +20 -0
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +73 -2
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/artifact-tools/SearchResultSetToolLibrary.js +4 -4
- package/dist/artifact-tools/SearchResultSetToolLibrary.js.map +1 -1
- package/dist/base-agent.d.ts +310 -26
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +867 -244
- package/dist/base-agent.js.map +1 -1
- package/dist/client-tool-results.d.ts +45 -0
- package/dist/client-tool-results.d.ts.map +1 -0
- package/dist/client-tool-results.js +94 -0
- package/dist/client-tool-results.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/native-tools/action-tool-builder.d.ts +14 -0
- package/dist/native-tools/action-tool-builder.d.ts.map +1 -1
- package/dist/native-tools/action-tool-builder.js +62 -7
- package/dist/native-tools/action-tool-builder.js.map +1 -1
- package/dist/native-tools/control-tools.d.ts +17 -1
- package/dist/native-tools/control-tools.d.ts.map +1 -1
- package/dist/native-tools/control-tools.js +40 -3
- package/dist/native-tools/control-tools.js.map +1 -1
- package/dist/prior-turn-tool-result-cache.d.ts +31 -12
- package/dist/prior-turn-tool-result-cache.d.ts.map +1 -1
- package/dist/prior-turn-tool-result-cache.js +59 -16
- package/dist/prior-turn-tool-result-cache.js.map +1 -1
- package/dist/realtime/bridge-host-params.d.ts +22 -0
- package/dist/realtime/bridge-host-params.d.ts.map +1 -0
- package/dist/realtime/bridge-host-params.js +53 -0
- package/dist/realtime/bridge-host-params.js.map +1 -0
- package/dist/realtime/bridge-realtime-session-factory.d.ts +63 -3
- package/dist/realtime/bridge-realtime-session-factory.d.ts.map +1 -1
- package/dist/realtime/bridge-realtime-session-factory.js +83 -22
- package/dist/realtime/bridge-realtime-session-factory.js.map +1 -1
- package/dist/realtime/bridge-realtime-usage-recorder.d.ts +81 -0
- package/dist/realtime/bridge-realtime-usage-recorder.d.ts.map +1 -0
- package/dist/realtime/bridge-realtime-usage-recorder.js +194 -0
- package/dist/realtime/bridge-realtime-usage-recorder.js.map +1 -0
- package/dist/realtime/bridge-session-transcript-sink.d.ts +37 -0
- package/dist/realtime/bridge-session-transcript-sink.d.ts.map +1 -0
- package/dist/realtime/bridge-session-transcript-sink.js +58 -0
- package/dist/realtime/bridge-session-transcript-sink.js.map +1 -0
- package/dist/realtime/client-only-channel-server.d.ts +83 -0
- package/dist/realtime/client-only-channel-server.d.ts.map +1 -0
- package/dist/realtime/client-only-channel-server.js +107 -0
- package/dist/realtime/client-only-channel-server.js.map +1 -0
- package/dist/realtime/identity-verification-channel-server.d.ts +50 -0
- package/dist/realtime/identity-verification-channel-server.d.ts.map +1 -0
- package/dist/realtime/identity-verification-channel-server.js +66 -0
- package/dist/realtime/identity-verification-channel-server.js.map +1 -0
- package/dist/realtime/interactive-component-channel-server.d.ts +39 -0
- package/dist/realtime/interactive-component-channel-server.d.ts.map +1 -0
- package/dist/realtime/interactive-component-channel-server.js +55 -0
- package/dist/realtime/interactive-component-channel-server.js.map +1 -0
- package/dist/realtime/realtime-avatar-resolution.d.ts +194 -0
- package/dist/realtime/realtime-avatar-resolution.d.ts.map +1 -0
- package/dist/realtime/realtime-avatar-resolution.js +208 -0
- package/dist/realtime/realtime-avatar-resolution.js.map +1 -0
- package/dist/realtime/realtime-channel-policy.d.ts +81 -0
- package/dist/realtime/realtime-channel-policy.d.ts.map +1 -0
- package/dist/realtime/realtime-channel-policy.js +91 -0
- package/dist/realtime/realtime-channel-policy.js.map +1 -0
- package/dist/realtime/realtime-channel-server-host.d.ts +14 -0
- package/dist/realtime/realtime-channel-server-host.d.ts.map +1 -1
- package/dist/realtime/realtime-channel-server-host.js +35 -0
- package/dist/realtime/realtime-channel-server-host.js.map +1 -1
- package/dist/realtime/realtime-client-session-service.d.ts +493 -30
- package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
- package/dist/realtime/realtime-client-session-service.js +825 -98
- package/dist/realtime/realtime-client-session-service.js.map +1 -1
- package/dist/realtime/realtime-coagent-config.d.ts +94 -15
- package/dist/realtime/realtime-coagent-config.d.ts.map +1 -1
- package/dist/realtime/realtime-coagent-config.js +109 -4
- package/dist/realtime/realtime-coagent-config.js.map +1 -1
- package/dist/realtime/realtime-coagent-resolution.d.ts +90 -0
- package/dist/realtime/realtime-coagent-resolution.d.ts.map +1 -0
- package/dist/realtime/realtime-coagent-resolution.js +186 -0
- package/dist/realtime/realtime-coagent-resolution.js.map +1 -0
- package/dist/realtime/realtime-delegation-narrator.d.ts +97 -0
- package/dist/realtime/realtime-delegation-narrator.d.ts.map +1 -0
- package/dist/realtime/realtime-delegation-narrator.js +162 -0
- package/dist/realtime/realtime-delegation-narrator.js.map +1 -0
- package/dist/realtime/realtime-recording-store.d.ts +136 -16
- package/dist/realtime/realtime-recording-store.d.ts.map +1 -1
- package/dist/realtime/realtime-recording-store.js +505 -39
- package/dist/realtime/realtime-recording-store.js.map +1 -1
- package/dist/realtime/realtime-session-runner.d.ts +2 -82
- package/dist/realtime/realtime-session-runner.d.ts.map +1 -1
- package/dist/realtime/realtime-session-runner.js +16 -191
- package/dist/realtime/realtime-session-runner.js.map +1 -1
- package/dist/realtime/realtime-vendor-resolution.d.ts +9 -0
- package/dist/realtime/realtime-vendor-resolution.d.ts.map +1 -1
- package/dist/realtime/realtime-vendor-resolution.js +16 -5
- package/dist/realtime/realtime-vendor-resolution.js.map +1 -1
- package/dist/realtime/realtime-video-output-gate.d.ts +83 -0
- package/dist/realtime/realtime-video-output-gate.d.ts.map +1 -0
- package/dist/realtime/realtime-video-output-gate.js +79 -0
- package/dist/realtime/realtime-video-output-gate.js.map +1 -0
- package/dist/rubric-evaluation-agent-runner.js +17 -8
- package/dist/rubric-evaluation-agent-runner.js.map +1 -1
- package/dist/self-check.d.ts +6 -3
- package/dist/self-check.d.ts.map +1 -1
- package/dist/self-check.js +3 -3
- package/dist/self-check.js.map +1 -1
- package/dist/tool-result-format.d.ts +14 -0
- package/dist/tool-result-format.d.ts.map +1 -1
- package/dist/tool-result-format.js.map +1 -1
- package/package.json +19 -19
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
* @module @memberjunction/ai-agents
|
|
42
42
|
* @author MemberJunction.com
|
|
43
43
|
*/
|
|
44
|
+
import { AccumulateRealtimeChannelsConfig, } from '@memberjunction/ai-core-plus';
|
|
44
45
|
/**
|
|
45
46
|
* The MJ Authorization name that gates RUNTIME overrides on realtime session start:
|
|
46
47
|
* `configOverridesJson` and explicit realtime-model selection that deviates from the
|
|
@@ -217,6 +218,10 @@ export function ParseRealtimeTypeConfiguration(json) {
|
|
|
217
218
|
* (Sage, Marketing Agent, …) carry its own persisted voice/model that the shared co-agent then speaks with;
|
|
218
219
|
* it wins over the co-agent's defaults but yields to an explicit per-session runtime override.
|
|
219
220
|
*
|
|
221
|
+
* One key is the agents' alone: the runtime override can't turn `realtime.video.enabled` on (it can turn it off), so a
|
|
222
|
+
* picked avatar (`realtime.video.avatarId`) shows only when the layers below it already have video on. A picked
|
|
223
|
+
* avatar's billed video is the agent's call, not the caller's.
|
|
224
|
+
*
|
|
220
225
|
* @param typeDefaultJson The agent TYPE's `DefaultConfiguration` JSON (base layer).
|
|
221
226
|
* @param agentJson The CO-AGENT's `TypeConfiguration` JSON (shared per-co-agent layer).
|
|
222
227
|
* @param overridesJson Runtime overrides JSON (per-session layer; already authorization-gated by the caller).
|
|
@@ -236,7 +241,7 @@ export function ResolveEffectiveRealtimeConfig(typeDefaultJson, agentJson, overr
|
|
|
236
241
|
const agentLayer = ParseRealtimeTypeConfiguration(agentJson);
|
|
237
242
|
const targetLayer = ParseRealtimeTypeConfiguration(targetAgentJson);
|
|
238
243
|
const appLayer = ParseRealtimeTypeConfiguration(appSettingsJson);
|
|
239
|
-
const overrideLayer = ParseRealtimeTypeConfiguration(overridesJson);
|
|
244
|
+
const overrideLayer = withoutVideoTurnedOn(ParseRealtimeTypeConfiguration(overridesJson));
|
|
240
245
|
// Scalar fields: merge order = precedence (later wins):
|
|
241
246
|
// type-default < co-agent < target < app < runtime-override.
|
|
242
247
|
const merged = DeepMergeConfigs(typeLayer, agentLayer, targetLayer, appLayer, overrideLayer);
|
|
@@ -248,8 +253,33 @@ export function ResolveEffectiveRealtimeConfig(typeDefaultJson, agentJson, overr
|
|
|
248
253
|
config.realtime = config.realtime ?? {};
|
|
249
254
|
config.realtime.allowedAgents = allowed;
|
|
250
255
|
}
|
|
256
|
+
// channels: accumulated per channel across all layers for the same reason — each layer's
|
|
257
|
+
// include/exclude is a decision about individual channels, not a replaceable list.
|
|
258
|
+
const channels = AccumulateRealtimeChannelsConfig([typeLayer, agentLayer, targetLayer, appLayer, overrideLayer].map(layer => realtimeSectionOf(layer)?.['channels']));
|
|
259
|
+
if (channels) {
|
|
260
|
+
config.realtime = config.realtime ?? {};
|
|
261
|
+
config.realtime.channels = channels;
|
|
262
|
+
}
|
|
251
263
|
return config;
|
|
252
264
|
}
|
|
265
|
+
/**
|
|
266
|
+
* A runtime-override layer without a `realtime.video.enabled: true`, which only the layers below it may set (see
|
|
267
|
+
* {@link ResolveEffectiveRealtimeConfig}). The layer is copied, never changed; any other value of the key stays.
|
|
268
|
+
*/
|
|
269
|
+
function withoutVideoTurnedOn(layer) {
|
|
270
|
+
const realtime = realtimeSectionOf(layer);
|
|
271
|
+
const video = realtime?.['video'];
|
|
272
|
+
if (!layer || !realtime || !isPlainObject(video) || video['enabled'] !== true) {
|
|
273
|
+
return layer;
|
|
274
|
+
}
|
|
275
|
+
const { enabled: _ignored, ...rest } = video;
|
|
276
|
+
return { ...layer, realtime: { ...realtime, video: rest } };
|
|
277
|
+
}
|
|
278
|
+
/** The raw `realtime` section of a parsed layer, or `undefined` when the layer has none. */
|
|
279
|
+
function realtimeSectionOf(layer) {
|
|
280
|
+
const section = layer?.['realtime'];
|
|
281
|
+
return isPlainObject(section) ? section : undefined;
|
|
282
|
+
}
|
|
253
283
|
/**
|
|
254
284
|
* What each {@link RealtimeConfigSection} key ACCEPTS — the single source of truth behind
|
|
255
285
|
* {@link FindIgnoredRealtimeConfigKeys} for both "is this key known?" and "will this value
|
|
@@ -273,6 +303,7 @@ const REALTIME_SECTION_KEY_ACCEPTS = {
|
|
|
273
303
|
turnTaking: isPlainObject,
|
|
274
304
|
disclosure: (v) => v === 'silent' || v === 'mention' || v === 'hand-voice',
|
|
275
305
|
allowedAgents: (v) => Array.isArray(v),
|
|
306
|
+
channels: isPlainObject,
|
|
276
307
|
session: isPlainObject,
|
|
277
308
|
directActions: isPlainObject,
|
|
278
309
|
allowDirectActionInvocation: (v) => typeof v === 'boolean',
|
|
@@ -462,8 +493,31 @@ export function BuildAppRealtimeOverridesJson(appRealtime, relevantAgents) {
|
|
|
462
493
|
if (relevantAgents && relevantAgents.length > 0) {
|
|
463
494
|
realtime.allowedAgents = relevantAgents;
|
|
464
495
|
}
|
|
496
|
+
const channels = mapAppChannels(appRealtime?.Channels);
|
|
497
|
+
if (channels) {
|
|
498
|
+
realtime.channels = channels;
|
|
499
|
+
}
|
|
465
500
|
return Object.keys(realtime).length > 0 ? JSON.stringify({ realtime }) : null;
|
|
466
501
|
}
|
|
502
|
+
/**
|
|
503
|
+
* Maps the app's PascalCase `AgentSettings.Realtime.Channels` block onto the cascade's lower-case
|
|
504
|
+
* `channels` section. Wrong-typed members are dropped (the shared normalizer does the checking), and
|
|
505
|
+
* a block that contributes nothing yields `undefined` so the cascade is not given an empty section.
|
|
506
|
+
*/
|
|
507
|
+
function mapAppChannels(channels) {
|
|
508
|
+
if (!channels) {
|
|
509
|
+
return undefined;
|
|
510
|
+
}
|
|
511
|
+
return AccumulateRealtimeChannelsConfig([
|
|
512
|
+
{
|
|
513
|
+
include: channels.Include ?? undefined,
|
|
514
|
+
exclude: channels.Exclude ?? undefined,
|
|
515
|
+
config: channels.Config ?? undefined,
|
|
516
|
+
displayPolicy: channels.DisplayPolicy ?? undefined,
|
|
517
|
+
requireZeroDataRetentionFor: channels.RequireZeroDataRetentionFor ?? undefined,
|
|
518
|
+
},
|
|
519
|
+
]);
|
|
520
|
+
}
|
|
467
521
|
/** Normalizes a merged raw config object into the typed, sanity-checked shape. */
|
|
468
522
|
function normalizeConfig(merged) {
|
|
469
523
|
const rawRealtime = merged['realtime'];
|
|
@@ -580,8 +634,20 @@ function normalizeSession(raw) {
|
|
|
580
634
|
if (turnDetection) {
|
|
581
635
|
tuning.turnDetection = turnDetection;
|
|
582
636
|
}
|
|
637
|
+
const unverifiedMaxSeconds = readPositiveInteger(raw['unverifiedMaxSeconds']);
|
|
638
|
+
if (unverifiedMaxSeconds !== undefined) {
|
|
639
|
+
tuning.unverifiedMaxSeconds = unverifiedMaxSeconds;
|
|
640
|
+
}
|
|
641
|
+
const verifiedMaxSeconds = readPositiveInteger(raw['verifiedMaxSeconds']);
|
|
642
|
+
if (verifiedMaxSeconds !== undefined) {
|
|
643
|
+
tuning.verifiedMaxSeconds = verifiedMaxSeconds;
|
|
644
|
+
}
|
|
583
645
|
return Object.keys(tuning).length > 0 ? tuning : undefined;
|
|
584
646
|
}
|
|
647
|
+
/** A finite, positive, whole number — or `undefined` for anything else (a limit of 0, -5 or 1.5 is a typo, not a limit). */
|
|
648
|
+
function readPositiveInteger(value) {
|
|
649
|
+
return typeof value === 'number' && Number.isInteger(value) && value > 0 ? value : undefined;
|
|
650
|
+
}
|
|
585
651
|
/**
|
|
586
652
|
* Normalizes the `session.turnDetection` block — only the recognized, correctly-typed knobs of the
|
|
587
653
|
* MJ-normalized turn-detection vocabulary survive. Returns `undefined` when nothing valid is
|
|
@@ -705,6 +771,9 @@ function normalizeVideo(raw) {
|
|
|
705
771
|
if (typeof raw['avatarId'] === 'string' && raw['avatarId'].trim().length > 0) {
|
|
706
772
|
video.avatarId = raw['avatarId'].trim();
|
|
707
773
|
}
|
|
774
|
+
if (typeof raw['watchMeetings'] === 'boolean') {
|
|
775
|
+
video.watchMeetings = raw['watchMeetings'];
|
|
776
|
+
}
|
|
708
777
|
const rawProviders = raw['providers'];
|
|
709
778
|
if (isPlainObject(rawProviders)) {
|
|
710
779
|
const providers = {};
|
|
@@ -943,21 +1012,27 @@ export function BuildVoiceMannerSection(config) {
|
|
|
943
1012
|
* two are kept in lockstep by `realtime-convergence-drift.test.ts`); the
|
|
944
1013
|
* server-bridged hosts (LiveKit, Zoom/Teams) build it here so both funnel into the one override slot.
|
|
945
1014
|
*
|
|
946
|
-
* Envelope: `{"realtime":{"modelPreference":"<id>","voice":{"default":{"voice":"<v>"}}}}`.
|
|
1015
|
+
* Envelope: `{"realtime":{"modelPreference":"<id>","voice":{"default":{"voice":"<v>"}},"video":{"avatarId":"<a>"}}}`.
|
|
947
1016
|
*
|
|
948
1017
|
* The voice is filed PROVIDER-AGNOSTICALLY, which is what lets a host carry a voice at all: the vendor
|
|
949
1018
|
* is not known here (and on the default-model path is not known to the caller at any point before the
|
|
950
1019
|
* session is prepared), so naming one would be a guess. {@link GetProviderVoiceSettings} files this onto
|
|
951
1020
|
* whichever driver the framework resolves. See issue #3530.
|
|
952
1021
|
*
|
|
1022
|
+
* A picked avatar leaves video to the agent: it shows only when the voiced agent's own video setting is on (a runtime
|
|
1023
|
+
* override can't turn it on), and only when it names a Video binding on the resolved vendor. With the setting off the
|
|
1024
|
+
* call says why (reason `video-off`).
|
|
1025
|
+
*
|
|
953
1026
|
* @param modelId The `MJ: AI Models` Name or ID to prefer, or null/empty for none.
|
|
954
1027
|
* @param voice The provider-native voice id (e.g. `echo`), or null/empty for none.
|
|
1028
|
+
* @param avatarId The avatar to ask for (a Video binding's `APIName`), or null/empty for none.
|
|
955
1029
|
* @returns The JSON string, or `null` when nothing was overridden (keeps the cascade at its lower layers).
|
|
956
1030
|
*/
|
|
957
|
-
export function BuildRealtimeOverridesJson(modelId, voice) {
|
|
1031
|
+
export function BuildRealtimeOverridesJson(modelId, voice, avatarId) {
|
|
958
1032
|
const m = modelId?.trim() ?? '';
|
|
959
1033
|
const v = voice?.trim() ?? '';
|
|
960
|
-
|
|
1034
|
+
const a = avatarId?.trim() ?? '';
|
|
1035
|
+
if (m.length === 0 && v.length === 0 && a.length === 0) {
|
|
961
1036
|
return null;
|
|
962
1037
|
}
|
|
963
1038
|
const realtime = {};
|
|
@@ -967,6 +1042,9 @@ export function BuildRealtimeOverridesJson(modelId, voice) {
|
|
|
967
1042
|
if (v.length > 0) {
|
|
968
1043
|
realtime.voice = { default: { voice: v } };
|
|
969
1044
|
}
|
|
1045
|
+
if (a.length > 0) {
|
|
1046
|
+
realtime.video = { avatarId: a };
|
|
1047
|
+
}
|
|
970
1048
|
return JSON.stringify({ realtime });
|
|
971
1049
|
}
|
|
972
1050
|
/**
|
|
@@ -979,6 +1057,33 @@ export function BuildRealtimeOverridesJson(modelId, voice) {
|
|
|
979
1057
|
export function GetNarrationPaceMs(config) {
|
|
980
1058
|
return config?.realtime?.narration?.paceMs ?? null;
|
|
981
1059
|
}
|
|
1060
|
+
/**
|
|
1061
|
+
* Whether the effective configuration says the agent watches LiveKit meetings (`realtime.video.watchMeetings`). Only
|
|
1062
|
+
* an explicit `true` counts; normalization already dropped any non-boolean value.
|
|
1063
|
+
*
|
|
1064
|
+
* @param config The effective configuration.
|
|
1065
|
+
* @returns `true` only when the setting is on.
|
|
1066
|
+
*/
|
|
1067
|
+
export function GetWatchesMeetingVideo(config) {
|
|
1068
|
+
return config?.realtime?.video?.watchMeetings === true;
|
|
1069
|
+
}
|
|
1070
|
+
/** The deprecated `realtime.video` keys, which still parse but which nothing reads. */
|
|
1071
|
+
const DEPRECATED_VIDEO_KEYS = ['provider', 'providers'];
|
|
1072
|
+
/**
|
|
1073
|
+
* The deprecated `realtime.video` keys a resolved configuration sets ({@link RealtimeVideoConfig.provider},
|
|
1074
|
+
* {@link RealtimeVideoConfig.providers}), as dotted paths, so a host can say they do nothing. The module stays pure:
|
|
1075
|
+
* it reports them as data and the caller logs.
|
|
1076
|
+
*
|
|
1077
|
+
* @param config The normalized effective configuration.
|
|
1078
|
+
* @returns The paths set, such as `realtime.video.provider`; empty when it sets neither.
|
|
1079
|
+
*/
|
|
1080
|
+
export function FindDeprecatedRealtimeVideoKeys(config) {
|
|
1081
|
+
const video = config?.realtime?.video;
|
|
1082
|
+
if (!video) {
|
|
1083
|
+
return [];
|
|
1084
|
+
}
|
|
1085
|
+
return DEPRECATED_VIDEO_KEYS.filter((key) => video[key] !== undefined).map((key) => `realtime.video.${key}`);
|
|
1086
|
+
}
|
|
982
1087
|
/**
|
|
983
1088
|
* PURE authorization-policy decision for runtime overrides on a realtime session start.
|
|
984
1089
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-coagent-config.js","sourceRoot":"","sources":["../../src/realtime/realtime-coagent-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"realtime-coagent-config.js","sourceRoot":"","sources":["../../src/realtime/realtime-coagent-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview The ONE implementation of two decisions every realtime host must make identically:
|
|
3
|
+
*
|
|
4
|
+
* 1. **Which co-agent voices a target agent** ({@link ResolveRealtimeCoAgentID}) — the metadata-driven
|
|
5
|
+
* resolution chain. The browser (client-direct) resolver and every server-bridged host (LiveKit, the
|
|
6
|
+
* telephony services) call this, so a phone call is voiced by the same co-agent, with the same persona
|
|
7
|
+
* and config cascade, as a call placed from the browser.
|
|
8
|
+
* 2. **Which colleague agents the caller may reach** ({@link FilterAllowedAgentsByCanRun}) — a session's
|
|
9
|
+
* delegation set narrowed to the agents the run-as user has `CanRun` on.
|
|
10
|
+
*
|
|
11
|
+
* It lives in `@memberjunction/ai-agents` (which both `@memberjunction/server` and
|
|
12
|
+
* `@memberjunction/telephony-adapters` already depend on) so neither has to re-implement it.
|
|
13
|
+
*
|
|
14
|
+
* @module @memberjunction/ai-agents
|
|
15
|
+
* @author MemberJunction.com
|
|
16
|
+
*/
|
|
17
|
+
import { IMetadataProvider, UserInfo } from '@memberjunction/core';
|
|
18
|
+
import { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';
|
|
19
|
+
import type { RealtimeAllowedAgent } from './realtime-coagent-config.js';
|
|
20
|
+
/**
|
|
21
|
+
* The seeded name of the internal orchestration agent that fronts a target agent in realtime sessions. This is
|
|
22
|
+
* the GLOBAL DEFAULT co-agent — the final step of the resolution chain. Deployments override it per agent
|
|
23
|
+
* (`AIAgent.DefaultCoAgentID`), per agent type (an `AIAgentCoAgent` row with `TargetAgentTypeID` + `IsDefault`),
|
|
24
|
+
* or per call (the explicit co-agent argument) without touching this seed.
|
|
25
|
+
*/
|
|
26
|
+
export declare const REALTIME_CO_AGENT_NAME = "Realtime Co-Agent";
|
|
27
|
+
/**
|
|
28
|
+
* DEPRECATED legacy seed name of {@link REALTIME_CO_AGENT_NAME}, from before the rename from "Voice Co-Agent".
|
|
29
|
+
* Deployments that have not re-synced the agent seed still carry it, so the global step falls back to it.
|
|
30
|
+
*/
|
|
31
|
+
export declare const LEGACY_REALTIME_CO_AGENT_NAME = "Voice Co-Agent";
|
|
32
|
+
/** The seeded name of the Realtime agent TYPE. Every co-agent candidate must be an Active agent of this type. */
|
|
33
|
+
export declare const REALTIME_AGENT_TYPE_NAME = "Realtime";
|
|
34
|
+
/**
|
|
35
|
+
* Resolves the co-agent (the Realtime-type agent that voices the target agent) via the metadata-driven
|
|
36
|
+
* **co-agent resolution chain** — first match wins:
|
|
37
|
+
*
|
|
38
|
+
* 1. **Explicit** — `explicitCoAgentID`. A per-call override; an invalid candidate **throws** (the caller asked
|
|
39
|
+
* for something specific, so there is no silent fallback).
|
|
40
|
+
* 2. **Per-agent persona** — the target agent's `DefaultCoAgentID`. An invalid reference logs and **falls
|
|
41
|
+
* through** (stale metadata must degrade, never break live calls).
|
|
42
|
+
* 3. **Per-type default** — an Active `AIAgentCoAgent` row of Type `'CoAgent'` whose `TargetAgentTypeID` is the
|
|
43
|
+
* target's type (`IsDefault` first, then lowest `Sequence`). Same tolerant semantics as step 2.
|
|
44
|
+
* 4. **Global default** — the seeded {@link REALTIME_CO_AGENT_NAME} agent (with a deprecated fallback to
|
|
45
|
+
* {@link LEGACY_REALTIME_CO_AGENT_NAME}). Throws when absent: realtime is unconfigured in this deployment.
|
|
46
|
+
*
|
|
47
|
+
* Every candidate from steps 1–3 must exist, be `Active`, and be of the {@link REALTIME_AGENT_TYPE_NAME} type.
|
|
48
|
+
*
|
|
49
|
+
* @param targetAgentID The agent the co-agent will voice (drives steps 2–3).
|
|
50
|
+
* @param explicitCoAgentID The explicit co-agent choice, when supplied (step 1).
|
|
51
|
+
* @param contextUser The user the metadata reads run as.
|
|
52
|
+
* @param provider The request-scoped metadata provider.
|
|
53
|
+
* @returns The resolved co-agent's id (canonical casing from the metadata cache).
|
|
54
|
+
* @throws When an explicit candidate is invalid, or no co-agent is configured at all.
|
|
55
|
+
*/
|
|
56
|
+
export declare function ResolveRealtimeCoAgentID(targetAgentID: string | undefined, explicitCoAgentID: string | undefined, contextUser: UserInfo, provider: IMetadataProvider): Promise<string>;
|
|
57
|
+
/**
|
|
58
|
+
* Narrows a session's colleague union (`allowedAgents`) to the agents the CALLER may run.
|
|
59
|
+
*
|
|
60
|
+
* The lead target is gated at session start, but the union it travels with is not — a model-named colleague
|
|
61
|
+
* resolves straight to a delegated run. Once a run's user is elevated (a scoped anonymous caller, an
|
|
62
|
+
* unattended telephony run-as user) the run's own `CanRun` check sees that principal, so this is the one place
|
|
63
|
+
* the caller's own authority is applied to a colleague. It therefore runs for EVERY host.
|
|
64
|
+
*
|
|
65
|
+
* **Which user each host passes** (so nobody "fixes" the telephony case later — it is correct as written):
|
|
66
|
+
* the principal is whoever the session runs as, i.e. the one whose authority the colleagues may use.
|
|
67
|
+
* - browser: the signed-in user;
|
|
68
|
+
* - LiveKit bridge: the user who started the session;
|
|
69
|
+
* - telephony inbound: the configured `telephony.inboundRunAsUserEmail` user (a phone caller has no MJ identity of
|
|
70
|
+
* their own, so the dedicated least-privilege run-as user IS the principal);
|
|
71
|
+
* - telephony outbound: the user who placed the call.
|
|
72
|
+
*
|
|
73
|
+
* `HasPermission` reads in-memory caches and fails closed on error, so an unresolvable agent drops OUT of the
|
|
74
|
+
* union rather than becoming runnable. A filtered-out colleague is not an error: the delegation layer reports it
|
|
75
|
+
* as "not available in this session", the same answer the model gets for a typo.
|
|
76
|
+
*
|
|
77
|
+
* @param allowedAgents The session's colleague union (absent/empty means single-target).
|
|
78
|
+
* @param contextUser The ORIGINAL caller — never an elevated run user.
|
|
79
|
+
* @returns The subset the caller may run, preserving order.
|
|
80
|
+
*/
|
|
81
|
+
export declare function FilterAllowedAgentsByCanRun(allowedAgents: RealtimeAllowedAgent[] | undefined, contextUser: UserInfo): Promise<RealtimeAllowedAgent[] | undefined>;
|
|
82
|
+
/**
|
|
83
|
+
* Validates a co-agent candidate against {@link AIEngine}'s cached metadata. Returns the cached agent, or a
|
|
84
|
+
* human-readable `problem` — the CALLER decides whether that is fatal (explicit) or tolerated (metadata default).
|
|
85
|
+
*/
|
|
86
|
+
export declare function FindValidCoAgent(candidateID: string): {
|
|
87
|
+
agent?: MJAIAgentEntityExtended;
|
|
88
|
+
problem?: string;
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=realtime-coagent-resolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-coagent-resolution.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-coagent-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,iBAAiB,EAAuB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,6BAA6B,mBAAmB,CAAC;AAE9D,iHAAiH;AACjH,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,wBAAwB,CAC1C,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,2BAA2B,CAC7C,aAAa,EAAE,oBAAoB,EAAE,GAAG,SAAS,EACjD,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,oBAAoB,EAAE,GAAG,SAAS,CAAC,CAM7C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,KAAK,CAAC,EAAE,uBAAuB,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAgB3G"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview The ONE implementation of two decisions every realtime host must make identically:
|
|
3
|
+
*
|
|
4
|
+
* 1. **Which co-agent voices a target agent** ({@link ResolveRealtimeCoAgentID}) — the metadata-driven
|
|
5
|
+
* resolution chain. The browser (client-direct) resolver and every server-bridged host (LiveKit, the
|
|
6
|
+
* telephony services) call this, so a phone call is voiced by the same co-agent, with the same persona
|
|
7
|
+
* and config cascade, as a call placed from the browser.
|
|
8
|
+
* 2. **Which colleague agents the caller may reach** ({@link FilterAllowedAgentsByCanRun}) — a session's
|
|
9
|
+
* delegation set narrowed to the agents the run-as user has `CanRun` on.
|
|
10
|
+
*
|
|
11
|
+
* It lives in `@memberjunction/ai-agents` (which both `@memberjunction/server` and
|
|
12
|
+
* `@memberjunction/telephony-adapters` already depend on) so neither has to re-implement it.
|
|
13
|
+
*
|
|
14
|
+
* @module @memberjunction/ai-agents
|
|
15
|
+
* @author MemberJunction.com
|
|
16
|
+
*/
|
|
17
|
+
import { LogError, LogStatus } from '@memberjunction/core';
|
|
18
|
+
import { UUIDsEqual } from '@memberjunction/global';
|
|
19
|
+
import { AIEngine } from '@memberjunction/aiengine';
|
|
20
|
+
import { AIAgentPermissionHelper, AIEngineBase } from '@memberjunction/ai-engine-base';
|
|
21
|
+
/**
|
|
22
|
+
* The seeded name of the internal orchestration agent that fronts a target agent in realtime sessions. This is
|
|
23
|
+
* the GLOBAL DEFAULT co-agent — the final step of the resolution chain. Deployments override it per agent
|
|
24
|
+
* (`AIAgent.DefaultCoAgentID`), per agent type (an `AIAgentCoAgent` row with `TargetAgentTypeID` + `IsDefault`),
|
|
25
|
+
* or per call (the explicit co-agent argument) without touching this seed.
|
|
26
|
+
*/
|
|
27
|
+
export const REALTIME_CO_AGENT_NAME = 'Realtime Co-Agent';
|
|
28
|
+
/**
|
|
29
|
+
* DEPRECATED legacy seed name of {@link REALTIME_CO_AGENT_NAME}, from before the rename from "Voice Co-Agent".
|
|
30
|
+
* Deployments that have not re-synced the agent seed still carry it, so the global step falls back to it.
|
|
31
|
+
*/
|
|
32
|
+
export const LEGACY_REALTIME_CO_AGENT_NAME = 'Voice Co-Agent';
|
|
33
|
+
/** The seeded name of the Realtime agent TYPE. Every co-agent candidate must be an Active agent of this type. */
|
|
34
|
+
export const REALTIME_AGENT_TYPE_NAME = 'Realtime';
|
|
35
|
+
/**
|
|
36
|
+
* Resolves the co-agent (the Realtime-type agent that voices the target agent) via the metadata-driven
|
|
37
|
+
* **co-agent resolution chain** — first match wins:
|
|
38
|
+
*
|
|
39
|
+
* 1. **Explicit** — `explicitCoAgentID`. A per-call override; an invalid candidate **throws** (the caller asked
|
|
40
|
+
* for something specific, so there is no silent fallback).
|
|
41
|
+
* 2. **Per-agent persona** — the target agent's `DefaultCoAgentID`. An invalid reference logs and **falls
|
|
42
|
+
* through** (stale metadata must degrade, never break live calls).
|
|
43
|
+
* 3. **Per-type default** — an Active `AIAgentCoAgent` row of Type `'CoAgent'` whose `TargetAgentTypeID` is the
|
|
44
|
+
* target's type (`IsDefault` first, then lowest `Sequence`). Same tolerant semantics as step 2.
|
|
45
|
+
* 4. **Global default** — the seeded {@link REALTIME_CO_AGENT_NAME} agent (with a deprecated fallback to
|
|
46
|
+
* {@link LEGACY_REALTIME_CO_AGENT_NAME}). Throws when absent: realtime is unconfigured in this deployment.
|
|
47
|
+
*
|
|
48
|
+
* Every candidate from steps 1–3 must exist, be `Active`, and be of the {@link REALTIME_AGENT_TYPE_NAME} type.
|
|
49
|
+
*
|
|
50
|
+
* @param targetAgentID The agent the co-agent will voice (drives steps 2–3).
|
|
51
|
+
* @param explicitCoAgentID The explicit co-agent choice, when supplied (step 1).
|
|
52
|
+
* @param contextUser The user the metadata reads run as.
|
|
53
|
+
* @param provider The request-scoped metadata provider.
|
|
54
|
+
* @returns The resolved co-agent's id (canonical casing from the metadata cache).
|
|
55
|
+
* @throws When an explicit candidate is invalid, or no co-agent is configured at all.
|
|
56
|
+
*/
|
|
57
|
+
export async function ResolveRealtimeCoAgentID(targetAgentID, explicitCoAgentID, contextUser, provider) {
|
|
58
|
+
await AIEngine.Instance.Config(false, contextUser, provider);
|
|
59
|
+
if (explicitCoAgentID) {
|
|
60
|
+
const { agent, problem } = FindValidCoAgent(explicitCoAgentID);
|
|
61
|
+
if (!agent) {
|
|
62
|
+
throw new Error(`Invalid coAgentId '${explicitCoAgentID}': ${problem}`);
|
|
63
|
+
}
|
|
64
|
+
return agent.ID;
|
|
65
|
+
}
|
|
66
|
+
const targetAgent = targetAgentID ? (AIEngine.Instance.Agents ?? []).find((a) => UUIDsEqual(a.ID, targetAgentID)) : undefined;
|
|
67
|
+
const fromAgent = ResolveMetadataDefault(targetAgent?.DefaultCoAgentID, `agent '${targetAgent?.Name}' (DefaultCoAgentID)`);
|
|
68
|
+
if (fromAgent) {
|
|
69
|
+
return fromAgent;
|
|
70
|
+
}
|
|
71
|
+
const agentType = targetAgent?.TypeID ? (AIEngine.Instance.AgentTypes ?? []).find((t) => UUIDsEqual(t.ID, targetAgent.TypeID)) : undefined;
|
|
72
|
+
const typeDefault = agentType ? await FindTypeDefaultCoAgentID(agentType.ID, contextUser, provider) : undefined;
|
|
73
|
+
const fromType = ResolveMetadataDefault(typeDefault, `agent type '${agentType?.Name}' (AIAgentCoAgent type-default row)`);
|
|
74
|
+
if (fromType) {
|
|
75
|
+
return fromType;
|
|
76
|
+
}
|
|
77
|
+
return ResolveGlobalCoAgentID();
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Narrows a session's colleague union (`allowedAgents`) to the agents the CALLER may run.
|
|
81
|
+
*
|
|
82
|
+
* The lead target is gated at session start, but the union it travels with is not — a model-named colleague
|
|
83
|
+
* resolves straight to a delegated run. Once a run's user is elevated (a scoped anonymous caller, an
|
|
84
|
+
* unattended telephony run-as user) the run's own `CanRun` check sees that principal, so this is the one place
|
|
85
|
+
* the caller's own authority is applied to a colleague. It therefore runs for EVERY host.
|
|
86
|
+
*
|
|
87
|
+
* **Which user each host passes** (so nobody "fixes" the telephony case later — it is correct as written):
|
|
88
|
+
* the principal is whoever the session runs as, i.e. the one whose authority the colleagues may use.
|
|
89
|
+
* - browser: the signed-in user;
|
|
90
|
+
* - LiveKit bridge: the user who started the session;
|
|
91
|
+
* - telephony inbound: the configured `telephony.inboundRunAsUserEmail` user (a phone caller has no MJ identity of
|
|
92
|
+
* their own, so the dedicated least-privilege run-as user IS the principal);
|
|
93
|
+
* - telephony outbound: the user who placed the call.
|
|
94
|
+
*
|
|
95
|
+
* `HasPermission` reads in-memory caches and fails closed on error, so an unresolvable agent drops OUT of the
|
|
96
|
+
* union rather than becoming runnable. A filtered-out colleague is not an error: the delegation layer reports it
|
|
97
|
+
* as "not available in this session", the same answer the model gets for a typo.
|
|
98
|
+
*
|
|
99
|
+
* @param allowedAgents The session's colleague union (absent/empty means single-target).
|
|
100
|
+
* @param contextUser The ORIGINAL caller — never an elevated run user.
|
|
101
|
+
* @returns The subset the caller may run, preserving order.
|
|
102
|
+
*/
|
|
103
|
+
export async function FilterAllowedAgentsByCanRun(allowedAgents, contextUser) {
|
|
104
|
+
if (!allowedAgents || allowedAgents.length === 0) {
|
|
105
|
+
return allowedAgents;
|
|
106
|
+
}
|
|
107
|
+
const verdicts = await Promise.all(allowedAgents.map((a) => AIAgentPermissionHelper.HasPermission(a.agentId, contextUser, 'run')));
|
|
108
|
+
return allowedAgents.filter((_, i) => verdicts[i]);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Validates a co-agent candidate against {@link AIEngine}'s cached metadata. Returns the cached agent, or a
|
|
112
|
+
* human-readable `problem` — the CALLER decides whether that is fatal (explicit) or tolerated (metadata default).
|
|
113
|
+
*/
|
|
114
|
+
export function FindValidCoAgent(candidateID) {
|
|
115
|
+
const agent = (AIEngine.Instance.Agents ?? []).find((a) => UUIDsEqual(a.ID, candidateID));
|
|
116
|
+
if (!agent) {
|
|
117
|
+
return { problem: 'no agent with that ID exists.' };
|
|
118
|
+
}
|
|
119
|
+
if (agent.Status !== 'Active') {
|
|
120
|
+
return { problem: `agent '${agent.Name}' is not Active (Status: ${agent.Status}).` };
|
|
121
|
+
}
|
|
122
|
+
const realtimeType = (AIEngine.Instance.AgentTypes ?? []).find((t) => t.Name?.trim().toLowerCase() === REALTIME_AGENT_TYPE_NAME.toLowerCase());
|
|
123
|
+
if (!realtimeType) {
|
|
124
|
+
return { problem: `the '${REALTIME_AGENT_TYPE_NAME}' agent type is not configured in this deployment.` };
|
|
125
|
+
}
|
|
126
|
+
if (!agent.TypeID || !UUIDsEqual(agent.TypeID, realtimeType.ID)) {
|
|
127
|
+
return { problem: `agent '${agent.Name}' is not of the '${REALTIME_AGENT_TYPE_NAME}' agent type.` };
|
|
128
|
+
}
|
|
129
|
+
return { agent };
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Validates one metadata-level co-agent default (chain steps 2/3): the id when valid; logs and returns `null`
|
|
133
|
+
* (caller falls through) when set but invalid; `null` silently when absent.
|
|
134
|
+
*/
|
|
135
|
+
function ResolveMetadataDefault(candidateID, source) {
|
|
136
|
+
if (!candidateID) {
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
const { agent, problem } = FindValidCoAgent(candidateID);
|
|
140
|
+
if (agent) {
|
|
141
|
+
return agent.ID;
|
|
142
|
+
}
|
|
143
|
+
LogError(`Realtime co-agent resolution: ignoring co-agent default '${candidateID}' from ${source} — ${problem} ` +
|
|
144
|
+
'Falling through to the next step of the co-agent resolution chain.');
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Chain step 3 lookup: the TYPE-LEVEL default co-agent for an agent type — the Active `AIAgentCoAgent` row of
|
|
149
|
+
* Type `'CoAgent'` whose `TargetAgentTypeID` matches, `IsDefault` first, lowest `Sequence` breaking ties. Reads
|
|
150
|
+
* the provider-scoped {@link AIEngineBase} cache. Tolerant: a failed read logs and returns `undefined`.
|
|
151
|
+
*/
|
|
152
|
+
async function FindTypeDefaultCoAgentID(agentTypeID, contextUser, provider) {
|
|
153
|
+
try {
|
|
154
|
+
const engine = AIEngineBase.GetProviderInstance(provider, AIEngineBase);
|
|
155
|
+
await engine.Config(false, contextUser, provider);
|
|
156
|
+
const candidates = (engine.AgentCoAgents ?? [])
|
|
157
|
+
.filter((r) => r.Type === 'CoAgent' && r.Status === 'Active' && r.TargetAgentTypeID != null && UUIDsEqual(r.TargetAgentTypeID, agentTypeID))
|
|
158
|
+
.sort((a, b) => (a.IsDefault === b.IsDefault ? 0 : a.IsDefault ? -1 : 1) || (a.Sequence ?? 0) - (b.Sequence ?? 0));
|
|
159
|
+
return candidates[0]?.CoAgentID;
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
LogError(`Realtime co-agent resolution: MJ: AI Agent Co Agents cache read failed while resolving the type-level default ` +
|
|
163
|
+
`co-agent for agent type ${agentTypeID} (${error.message}) — falling through.`);
|
|
164
|
+
return undefined;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/** Chain step 4: the seeded Realtime Co-Agent by name, with the deprecated pre-rename fallback. */
|
|
168
|
+
function ResolveGlobalCoAgentID() {
|
|
169
|
+
const coAgent = FindAgentByName(REALTIME_CO_AGENT_NAME);
|
|
170
|
+
if (coAgent) {
|
|
171
|
+
return coAgent.ID;
|
|
172
|
+
}
|
|
173
|
+
const legacy = FindAgentByName(LEGACY_REALTIME_CO_AGENT_NAME);
|
|
174
|
+
if (legacy) {
|
|
175
|
+
LogStatus(`Realtime co-agent resolution: resolved the global co-agent via its DEPRECATED legacy name ` +
|
|
176
|
+
`'${LEGACY_REALTIME_CO_AGENT_NAME}'. Re-sync the agent seed metadata to rename it to '${REALTIME_CO_AGENT_NAME}'.`);
|
|
177
|
+
return legacy.ID;
|
|
178
|
+
}
|
|
179
|
+
throw new Error(`The '${REALTIME_CO_AGENT_NAME}' agent is not configured; cannot start a realtime voice session.`);
|
|
180
|
+
}
|
|
181
|
+
/** Case/whitespace-insensitive agent lookup by Name in {@link AIEngine}'s cached agents. */
|
|
182
|
+
function FindAgentByName(name) {
|
|
183
|
+
const wanted = name.toLowerCase();
|
|
184
|
+
return (AIEngine.Instance.Agents ?? []).find((a) => a.Name?.trim().toLowerCase() === wanted);
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=realtime-coagent-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-coagent-resolution.js","sourceRoot":"","sources":["../../src/realtime/realtime-coagent-resolution.ts"],"names":[],"mappings":"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"}
|