@memberjunction/ai-agents 6.2.0-edge.1 → 6.2.0-edge.2
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 +18 -0
- package/dist/AgentDecisionService.d.ts +83 -0
- package/dist/AgentDecisionService.d.ts.map +1 -0
- package/dist/AgentDecisionService.js +155 -0
- package/dist/AgentDecisionService.js.map +1 -0
- package/dist/AgentRunner.d.ts +7 -0
- package/dist/AgentRunner.d.ts.map +1 -1
- package/dist/AgentRunner.js +16 -5
- package/dist/AgentRunner.js.map +1 -1
- package/dist/KnowledgeAgent.d.ts.map +1 -1
- package/dist/KnowledgeAgent.js +6 -6
- package/dist/KnowledgeAgent.js.map +1 -1
- package/dist/PayloadFeedbackManager.d.ts +113 -14
- package/dist/PayloadFeedbackManager.d.ts.map +1 -1
- package/dist/PayloadFeedbackManager.js +228 -88
- package/dist/PayloadFeedbackManager.js.map +1 -1
- package/dist/agent-context-injector.d.ts +47 -3
- package/dist/agent-context-injector.d.ts.map +1 -1
- package/dist/agent-context-injector.js +77 -10
- package/dist/agent-context-injector.js.map +1 -1
- package/dist/agent-memory-context-builder.d.ts +13 -0
- package/dist/agent-memory-context-builder.d.ts.map +1 -1
- package/dist/agent-memory-context-builder.js +24 -5
- package/dist/agent-memory-context-builder.js.map +1 -1
- package/dist/agent-types/flow-agent-type.d.ts +97 -0
- package/dist/agent-types/flow-agent-type.d.ts.map +1 -1
- package/dist/agent-types/flow-agent-type.js +281 -24
- package/dist/agent-types/flow-agent-type.js.map +1 -1
- package/dist/agent-types/flow-graph-executor.d.ts +12 -1
- package/dist/agent-types/flow-graph-executor.d.ts.map +1 -1
- package/dist/agent-types/flow-graph-executor.js +25 -1
- package/dist/agent-types/flow-graph-executor.js.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.d.ts +239 -66
- package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.js +47 -2
- package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
- package/dist/agent-types/loop-agent-response-type.d.ts +12 -1
- package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-response-type.js.map +1 -1
- package/dist/agent-types/loop-agent-type.d.ts +6 -0
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +42 -3
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts +492 -2
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +1686 -95
- package/dist/base-agent.js.map +1 -1
- package/dist/catalog-narrowing.d.ts +136 -0
- package/dist/catalog-narrowing.d.ts.map +1 -0
- package/dist/catalog-narrowing.js +212 -0
- package/dist/catalog-narrowing.js.map +1 -0
- package/dist/decision-discovery.d.ts +401 -0
- package/dist/decision-discovery.d.ts.map +1 -0
- package/dist/decision-discovery.js +511 -0
- package/dist/decision-discovery.js.map +1 -0
- package/dist/finish-if-mode-warnings.d.ts +39 -0
- package/dist/finish-if-mode-warnings.d.ts.map +1 -0
- package/dist/finish-if-mode-warnings.js +78 -0
- package/dist/finish-if-mode-warnings.js.map +1 -0
- package/dist/finish-if-state.d.ts +72 -0
- package/dist/finish-if-state.d.ts.map +1 -0
- package/dist/finish-if-state.js +109 -0
- package/dist/finish-if-state.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/memory-manager-agent.d.ts +108 -2
- package/dist/memory-manager-agent.d.ts.map +1 -1
- package/dist/memory-manager-agent.js +172 -9
- package/dist/memory-manager-agent.js.map +1 -1
- package/dist/memory-note-gate.d.ts +208 -0
- package/dist/memory-note-gate.d.ts.map +1 -0
- package/dist/memory-note-gate.js +294 -0
- package/dist/memory-note-gate.js.map +1 -0
- package/dist/realtime/bridge-realtime-session-factory.d.ts +5 -2
- package/dist/realtime/bridge-realtime-session-factory.d.ts.map +1 -1
- package/dist/realtime/bridge-realtime-session-factory.js +7 -4
- package/dist/realtime/bridge-realtime-session-factory.js.map +1 -1
- package/dist/realtime/bridge-room-transcript-sink.d.ts.map +1 -1
- package/dist/realtime/bridge-room-transcript-sink.js +15 -9
- package/dist/realtime/bridge-room-transcript-sink.js.map +1 -1
- package/dist/realtime/realtime-client-session-service.d.ts +54 -12
- package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
- package/dist/realtime/realtime-client-session-service.js +76 -25
- package/dist/realtime/realtime-client-session-service.js.map +1 -1
- package/dist/realtime/realtime-vendor-resolution.d.ts +8 -3
- package/dist/realtime/realtime-vendor-resolution.d.ts.map +1 -1
- package/dist/realtime/realtime-vendor-resolution.js +3 -3
- package/dist/realtime/realtime-vendor-resolution.js.map +1 -1
- package/dist/rubric-evaluation-agent-runner.d.ts +2 -0
- package/dist/rubric-evaluation-agent-runner.d.ts.map +1 -0
- package/dist/rubric-evaluation-agent-runner.js +38 -0
- package/dist/rubric-evaluation-agent-runner.js.map +1 -0
- package/dist/self-check.d.ts +98 -0
- package/dist/self-check.d.ts.map +1 -0
- package/dist/self-check.js +74 -0
- package/dist/self-check.js.map +1 -0
- package/package.json +19 -18
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* @author MemberJunction.com
|
|
15
15
|
*/
|
|
16
16
|
import { RunView, LogError, LogStatus } from '@memberjunction/core';
|
|
17
|
-
import { EscapeSQLString } from '@memberjunction/global';
|
|
17
|
+
import { EscapeSQLString, MJLruCache } from '@memberjunction/global';
|
|
18
18
|
const CONVERSATION_ENTITY = 'MJ: Conversations';
|
|
19
19
|
const CONVERSATION_DETAIL_ENTITY = 'MJ: Conversation Details';
|
|
20
20
|
/**
|
|
@@ -30,12 +30,18 @@ export function CreateBridgeRoomTranscriptSink(options) {
|
|
|
30
30
|
/** Lazily-resolved owning application id (explicit id wins; else resolved-by-name once and cached). */
|
|
31
31
|
let resolvedApplicationID = options.ApplicationID;
|
|
32
32
|
let applicationResolved = !!options.ApplicationID || !options.ApplicationName;
|
|
33
|
-
/**
|
|
34
|
-
|
|
33
|
+
/**
|
|
34
|
+
* roomKey(lower) → resolved ConversationID (populated once get-or-create settles).
|
|
35
|
+
* Bounded with `MJLruCache` rather than a plain `Map`: this closure is bound once at process
|
|
36
|
+
* startup (`AIBridgeEngine.SetTranscriptSink`) and lives for the process lifetime, with no
|
|
37
|
+
* "room ended" hook to key eviction off — every meeting room ever transcribed would otherwise
|
|
38
|
+
* leave an entry here forever.
|
|
39
|
+
*/
|
|
40
|
+
const roomToConversation = new MJLruCache({ maxSize: 10_000, ttlMs: 24 * 60 * 60 * 1000 });
|
|
35
41
|
/** roomKey(lower) → in-flight get-or-create promise (dedupes concurrent first lines for a room). */
|
|
36
42
|
const ensureInFlight = new Map();
|
|
37
|
-
/** ConversationID → serial write chain (preserves detail ordering, error-isolated). */
|
|
38
|
-
const writeChains = new
|
|
43
|
+
/** ConversationID → serial write chain (preserves detail ordering, error-isolated). Bounded for the same reason as {@link roomToConversation}. */
|
|
44
|
+
const writeChains = new MJLruCache({ maxSize: 10_000, ttlMs: 24 * 60 * 60 * 1000 });
|
|
39
45
|
return async (line, contextUser, provider) => {
|
|
40
46
|
if (!contextUser || !provider) {
|
|
41
47
|
return; // a server-side write needs a user + provider; nothing to do without them
|
|
@@ -49,16 +55,16 @@ export function CreateBridgeRoomTranscriptSink(options) {
|
|
|
49
55
|
if (!conversationID) {
|
|
50
56
|
return;
|
|
51
57
|
}
|
|
52
|
-
const prior = writeChains.
|
|
58
|
+
const prior = writeChains.Get(conversationID) ?? Promise.resolve();
|
|
53
59
|
const next = prior.then(() => writeTranscriptDetail(conversationID, line, contextUser, provider));
|
|
54
|
-
writeChains.
|
|
60
|
+
writeChains.Set(conversationID, next.then(() => undefined, () => undefined));
|
|
55
61
|
await next;
|
|
56
62
|
};
|
|
57
63
|
}
|
|
58
64
|
/** Resolves (cache → existing row → create) the room's `MJ: Conversations` id, deduping concurrent creates. */
|
|
59
65
|
async function ensureRoomConversation(roomKey, conversationType, scope, applicationID, cache, inFlight, contextUser, provider) {
|
|
60
66
|
const key = roomKey.trim().toLowerCase();
|
|
61
|
-
const cached = cache.
|
|
67
|
+
const cached = cache.Get(key);
|
|
62
68
|
if (cached) {
|
|
63
69
|
return cached;
|
|
64
70
|
}
|
|
@@ -69,7 +75,7 @@ async function ensureRoomConversation(roomKey, conversationType, scope, applicat
|
|
|
69
75
|
const task = resolveOrCreateConversation(roomKey, conversationType, scope, applicationID, contextUser, provider)
|
|
70
76
|
.then((id) => {
|
|
71
77
|
if (id) {
|
|
72
|
-
cache.
|
|
78
|
+
cache.Set(key, id);
|
|
73
79
|
}
|
|
74
80
|
return id;
|
|
75
81
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-room-transcript-sink.js","sourceRoot":"","sources":["../../src/realtime/bridge-room-transcript-sink.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAA+B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"bridge-room-transcript-sink.js","sourceRoot":"","sources":["../../src/realtime/bridge-room-transcript-sink.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,8 +30,9 @@
|
|
|
30
30
|
* @author MemberJunction.com
|
|
31
31
|
*/
|
|
32
32
|
import { UserInfo, IMetadataProvider } from '@memberjunction/core';
|
|
33
|
+
import { MJLruCache } from '@memberjunction/global';
|
|
33
34
|
import { MJActionEntityExtended } from '@memberjunction/actions-base';
|
|
34
|
-
import { BaseRealtimeModel, ChatMessage, ClientRealtimeSessionConfig, IRealtimeSession, JSONObject, RealtimeSessionParams, RealtimeToolCall, RealtimeToolDefinition } from '@memberjunction/ai';
|
|
35
|
+
import { BaseRealtimeModel, ChatMessage, ClientRealtimeSessionConfig, AIAPIKey, AIAPIKeyResolver, IRealtimeSession, JSONObject, RealtimeSessionParams, RealtimeToolCall, RealtimeToolDefinition } from '@memberjunction/ai';
|
|
35
36
|
import { MJAIAgentEntityExtended, MJAIModelEntityExtended, MJAIAgentRunEntityExtended, AgentExecutionProgressCallback, ExecuteAgentResult, AppContextSnapshot } from '@memberjunction/ai-core-plus';
|
|
36
37
|
import { RealtimeToolBroker, RealtimeColleague, DelegateToTargetRequest, DelegatedResult, DelegatedRunArtifact, ToolExecutionResult } from './realtime-tool-broker.js';
|
|
37
38
|
import { RealtimeAllowedAgent, RealtimeCoAgentConfig, RealtimeDirectActionsConfig } from './realtime-coagent-config.js';
|
|
@@ -44,6 +45,17 @@ import { RealtimeVendorSelection } from './realtime-vendor-resolution.js';
|
|
|
44
45
|
* id — it is a runtime choice made when the voice session starts.
|
|
45
46
|
*/
|
|
46
47
|
export interface PrepareClientSessionInput {
|
|
48
|
+
/**
|
|
49
|
+
* The run's runtime API keys, when the session is prepared from an agent run that carries them
|
|
50
|
+
* (`ExecuteAgentParams.apiKeys`, set by `BaseAgent.StartBridgeRealtimeSession`). Vendor selection
|
|
51
|
+
* and the minted session try these first, per driver class; for a class they do not key, this
|
|
52
|
+
* service's {@link RealtimeClientSessionService.getAPIKeyForDriver} seam answers (by default the
|
|
53
|
+
* `AI_VENDOR_API_KEY__<driver>` environment key). That is the same order as `GetAIAPIKey` — the
|
|
54
|
+
* legacy tier of prompt key resolution. MJ Credentials / `AICredentialBinding`s, which a prompt
|
|
55
|
+
* consults first, are not consulted by realtime. Absent ⇒ the seam alone, which is every
|
|
56
|
+
* client-initiated session today.
|
|
57
|
+
*/
|
|
58
|
+
APIKeys?: AIAPIKey[];
|
|
47
59
|
/** The Realtime Co-Agent entity. Provide this OR {@link PrepareClientSessionInput.CoAgentID}. */
|
|
48
60
|
CoAgent?: MJAIAgentEntityExtended;
|
|
49
61
|
/** The Realtime Co-Agent id (resolved from cached metadata). Provide this OR {@link PrepareClientSessionInput.CoAgent}. */
|
|
@@ -405,12 +417,18 @@ export declare class ToolArgumentsError extends Error {
|
|
|
405
417
|
* reaches for the global default provider, so it is safe in multi-provider/multi-tenant servers.
|
|
406
418
|
*/
|
|
407
419
|
export declare class RealtimeClientSessionService {
|
|
408
|
-
/**
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
420
|
+
/**
|
|
421
|
+
* Maps session id -> (wireName -> MJActionEntityExtended) built during tool projection.
|
|
422
|
+
* Bounded with `MJLruCache` (rather than a plain `Map`): the resolver holds ONE shared service
|
|
423
|
+
* instance for the process lifetime (see class doc above), and there is no "session ended" hook
|
|
424
|
+
* this service can key eviction off — every voice session ever prepared would otherwise leave an
|
|
425
|
+
* entry here forever. Same TTL/maxSize rationale as {@link promptRunWriteChains} below.
|
|
426
|
+
*/
|
|
427
|
+
protected readonly sessionWireActionMaps: MJLruCache<string, Map<string, MJActionEntityExtended>>;
|
|
428
|
+
/** Maps targetAgentID -> (wireName -> MJActionEntityExtended) fallback built during tool projection. Bounded for the same reason as {@link sessionWireActionMaps}. */
|
|
429
|
+
protected readonly targetWireActionMaps: MJLruCache<string, Map<string, MJActionEntityExtended>>;
|
|
430
|
+
/** Maps session id -> direct actions config resolved during session prep. Bounded for the same reason as {@link sessionWireActionMaps}. */
|
|
431
|
+
protected readonly sessionDirectConfigs: MJLruCache<string, RealtimeDirectActionsConfig>;
|
|
414
432
|
/**
|
|
415
433
|
* Builds a wire-name to action map from candidate actions, sanitizing each
|
|
416
434
|
* action's name and deduplicating collisions (first action wins).
|
|
@@ -786,6 +804,16 @@ export declare class RealtimeClientSessionService {
|
|
|
786
804
|
* @returns The resolution outcome (resolution or failure reason).
|
|
787
805
|
*/
|
|
788
806
|
protected resolveModelForSession(input: PrepareClientSessionInput, coAgent: MJAIAgentEntityExtended, effectiveConfig?: RealtimeCoAgentConfig): Promise<RealtimeModelResolutionOutcome>;
|
|
807
|
+
/**
|
|
808
|
+
* The session's run-scoped keys as a resolver: the key for a driver class when the run carries
|
|
809
|
+
* one, else `undefined` — no platform fallback. The fallback belongs to
|
|
810
|
+
* {@link getAPIKeyForDriver}, which {@link resolveVendorAndInstantiate} consults for any class
|
|
811
|
+
* this does not key.
|
|
812
|
+
*
|
|
813
|
+
* @param apiKeys The session's run keys ({@link PrepareClientSessionInput.APIKeys}), if any.
|
|
814
|
+
* @returns A resolver over those keys only.
|
|
815
|
+
*/
|
|
816
|
+
private buildRunKeyResolver;
|
|
789
817
|
/**
|
|
790
818
|
* Resolves the effective config's `realtime.modelPreference` (an `MJ: AI Models` Name OR ID)
|
|
791
819
|
* into a usable realtime model. TOLERANT by design — this is a METADATA preference, so any
|
|
@@ -794,9 +822,10 @@ export declare class RealtimeClientSessionService {
|
|
|
794
822
|
* explicit runtime choice ({@link resolvePreferredRealtimeModel}), which fails loud.
|
|
795
823
|
*
|
|
796
824
|
* @param effectiveConfig The resolved effective configuration.
|
|
825
|
+
* @param resolve The session's run-scoped key resolver (run keys only; see {@link resolveVendorAndInstantiate}).
|
|
797
826
|
* @returns The resolution, or `null` when no preference is configured or it can't be satisfied.
|
|
798
827
|
*/
|
|
799
|
-
protected resolveConfiguredModelPreference(effectiveConfig?: RealtimeCoAgentConfig): RealtimeModelResolution | null;
|
|
828
|
+
protected resolveConfiguredModelPreference(effectiveConfig?: RealtimeCoAgentConfig, resolve?: AIAPIKeyResolver): RealtimeModelResolution | null;
|
|
800
829
|
/**
|
|
801
830
|
* Looks up a model by ID (UUID-insensitive) or, failing that, by case/whitespace-insensitive
|
|
802
831
|
* Name in {@link AIEngine}'s cached models. **Overridable seam**; tolerant of an unloaded cache.
|
|
@@ -811,9 +840,10 @@ export declare class RealtimeClientSessionService {
|
|
|
811
840
|
* the caller's user explicitly chose this one.
|
|
812
841
|
*
|
|
813
842
|
* @param preferredModelID The `MJ: AI Models.ID` the user chose.
|
|
843
|
+
* @param resolve The session's run-scoped key resolver (run keys only; see {@link resolveVendorAndInstantiate}).
|
|
814
844
|
* @returns The resolution outcome (resolution or a specific failure reason).
|
|
815
845
|
*/
|
|
816
|
-
protected resolvePreferredRealtimeModel(preferredModelID: string): RealtimeModelResolutionOutcome;
|
|
846
|
+
protected resolvePreferredRealtimeModel(preferredModelID: string, resolve?: AIAPIKeyResolver): RealtimeModelResolutionOutcome;
|
|
817
847
|
/**
|
|
818
848
|
* Looks up a model by id in {@link AIEngine}'s cached models. **Overridable seam** for tests.
|
|
819
849
|
*
|
|
@@ -833,20 +863,31 @@ export declare class RealtimeClientSessionService {
|
|
|
833
863
|
* step can't be satisfied.
|
|
834
864
|
*
|
|
835
865
|
* @param coAgent The co-agent being voiced (reserved for future per-agent model preference).
|
|
866
|
+
* @param resolve The session's run-scoped key resolver (run keys only; see {@link resolveVendorAndInstantiate}).
|
|
836
867
|
* @returns The resolved model + identifiers, or `null`.
|
|
837
868
|
*/
|
|
838
|
-
protected resolveRealtimeModel(coAgent: MJAIAgentEntityExtended): Promise<RealtimeModelResolution | null>;
|
|
869
|
+
protected resolveRealtimeModel(coAgent: MJAIAgentEntityExtended, resolve?: AIAPIKeyResolver): Promise<RealtimeModelResolution | null>;
|
|
839
870
|
/**
|
|
840
871
|
* Shared tail of model resolution: picks the vendor (with a usable API key) for an
|
|
841
872
|
* already-chosen model entity and instantiates its realtime driver.
|
|
842
873
|
*
|
|
874
|
+
* Key precedence, per driver class: `resolve` (the session's run keys), then this service's
|
|
875
|
+
* {@link getAPIKeyForDriver} seam, whose default is the environment key. Vendor selection and the
|
|
876
|
+
* mint use that one chain, so a session is never routed to a vendor it cannot then be minted on.
|
|
877
|
+
*
|
|
843
878
|
* @param model The chosen model entity.
|
|
879
|
+
* @param resolve The session's run-scoped key resolver. Expected to answer with run keys only:
|
|
880
|
+
* one that falls back to the environment itself answers before {@link getAPIKeyForDriver} and
|
|
881
|
+
* so bypasses an override of it.
|
|
844
882
|
* @returns The full resolution, or `null` when no vendor/key/driver can be satisfied.
|
|
845
883
|
*/
|
|
846
|
-
protected resolveVendorAndInstantiate(model: MJAIModelEntityExtended): RealtimeModelResolution | null;
|
|
884
|
+
protected resolveVendorAndInstantiate(model: MJAIModelEntityExtended, resolve?: AIAPIKeyResolver): RealtimeModelResolution | null;
|
|
847
885
|
/**
|
|
848
886
|
* Resolves the API key for a vendor driver class. **Overridable seam** (wraps the module-level
|
|
849
887
|
* {@link GetAIAPIKey}) so tests can simulate present/absent keys without environment setup.
|
|
888
|
+
* Consulted for every driver class the session's run keys do not cover, so an override (a vault,
|
|
889
|
+
* a different key, or `undefined` to disable a vendor) applies whether or not the environment
|
|
890
|
+
* also holds a key.
|
|
850
891
|
*
|
|
851
892
|
* @param driverClass The vendor's `DriverClass`.
|
|
852
893
|
* @returns The API key, or a falsy value when none is configured.
|
|
@@ -877,9 +918,10 @@ export declare class RealtimeClientSessionService {
|
|
|
877
918
|
* THIS service's {@link getAPIKeyForDriver} so subclasses and tests keep their key-resolution seam.
|
|
878
919
|
*
|
|
879
920
|
* @param modelID The chosen model's id.
|
|
921
|
+
* @param resolve The complete key chain to select against; defaults to {@link getAPIKeyForDriver}.
|
|
880
922
|
* @returns The vendor driver/api identifiers, or `null` when none has a usable key.
|
|
881
923
|
*/
|
|
882
|
-
protected selectRealtimeVendor(modelID: string): RealtimeVendorSelection | null;
|
|
924
|
+
protected selectRealtimeVendor(modelID: string, resolve?: AIAPIKeyResolver): RealtimeVendorSelection | null;
|
|
883
925
|
/**
|
|
884
926
|
* Resolves the DB-driven progress-narration instruction template: the Active `MJ: AI Prompts`
|
|
885
927
|
* row named {@link RealtimeClientSessionService.NarrationPromptName}, read from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-client-session-service.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-client-session-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"realtime-client-session-service.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-client-session-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -115,12 +115,27 @@ export class ToolArgumentsError extends Error {
|
|
|
115
115
|
*/
|
|
116
116
|
export class RealtimeClientSessionService {
|
|
117
117
|
constructor() {
|
|
118
|
-
/**
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
/**
|
|
119
|
+
* Maps session id -> (wireName -> MJActionEntityExtended) built during tool projection.
|
|
120
|
+
* Bounded with `MJLruCache` (rather than a plain `Map`): the resolver holds ONE shared service
|
|
121
|
+
* instance for the process lifetime (see class doc above), and there is no "session ended" hook
|
|
122
|
+
* this service can key eviction off — every voice session ever prepared would otherwise leave an
|
|
123
|
+
* entry here forever. Same TTL/maxSize rationale as {@link promptRunWriteChains} below.
|
|
124
|
+
*/
|
|
125
|
+
this.sessionWireActionMaps = new MJLruCache({
|
|
126
|
+
maxSize: 5_000,
|
|
127
|
+
ttlMs: 4 * 60 * 60 * 1000, // 4h — generous vs. any realistic voice-session duration
|
|
128
|
+
});
|
|
129
|
+
/** Maps targetAgentID -> (wireName -> MJActionEntityExtended) fallback built during tool projection. Bounded for the same reason as {@link sessionWireActionMaps}. */
|
|
130
|
+
this.targetWireActionMaps = new MJLruCache({
|
|
131
|
+
maxSize: 5_000,
|
|
132
|
+
ttlMs: 4 * 60 * 60 * 1000,
|
|
133
|
+
});
|
|
134
|
+
/** Maps session id -> direct actions config resolved during session prep. Bounded for the same reason as {@link sessionWireActionMaps}. */
|
|
135
|
+
this.sessionDirectConfigs = new MJLruCache({
|
|
136
|
+
maxSize: 5_000,
|
|
137
|
+
ttlMs: 4 * 60 * 60 * 1000,
|
|
138
|
+
});
|
|
124
139
|
/**
|
|
125
140
|
* IN-FLIGHT DELEGATION REGISTRY — the server half of the client-direct CANCEL channel.
|
|
126
141
|
*
|
|
@@ -1024,16 +1039,35 @@ export class RealtimeClientSessionService {
|
|
|
1024
1039
|
* @returns The resolution outcome (resolution or failure reason).
|
|
1025
1040
|
*/
|
|
1026
1041
|
async resolveModelForSession(input, coAgent, effectiveConfig) {
|
|
1042
|
+
// One resolver for every branch below, built here rather than per branch so the requested-model,
|
|
1043
|
+
// configured-preference and default paths cannot disagree about which credentials the session
|
|
1044
|
+
// may use. It answers with the session's RUN keys only: resolveVendorAndInstantiate layers this
|
|
1045
|
+
// service's getAPIKeyForDriver seam under it, giving run key → seam → (the seam's default) env.
|
|
1046
|
+
// A resolver that fell back to the environment itself would answer before the seam, so a
|
|
1047
|
+
// subclass that overrides the seam would lose to AI_VENDOR_API_KEY__<driver>.
|
|
1048
|
+
const resolveRunKey = this.buildRunKeyResolver(input.APIKeys);
|
|
1027
1049
|
if (input.PreferredModelID) {
|
|
1028
|
-
return this.resolvePreferredRealtimeModel(input.PreferredModelID);
|
|
1050
|
+
return this.resolvePreferredRealtimeModel(input.PreferredModelID, resolveRunKey);
|
|
1029
1051
|
}
|
|
1030
|
-
const fromConfig = this.resolveConfiguredModelPreference(effectiveConfig);
|
|
1052
|
+
const fromConfig = this.resolveConfiguredModelPreference(effectiveConfig, resolveRunKey);
|
|
1031
1053
|
if (fromConfig) {
|
|
1032
1054
|
return { Resolution: fromConfig };
|
|
1033
1055
|
}
|
|
1034
|
-
const resolution = await this.resolveRealtimeModel(coAgent);
|
|
1056
|
+
const resolution = await this.resolveRealtimeModel(coAgent, resolveRunKey);
|
|
1035
1057
|
return resolution ? { Resolution: resolution } : { ErrorMessage: this.noModelMessage() };
|
|
1036
1058
|
}
|
|
1059
|
+
/**
|
|
1060
|
+
* The session's run-scoped keys as a resolver: the key for a driver class when the run carries
|
|
1061
|
+
* one, else `undefined` — no platform fallback. The fallback belongs to
|
|
1062
|
+
* {@link getAPIKeyForDriver}, which {@link resolveVendorAndInstantiate} consults for any class
|
|
1063
|
+
* this does not key.
|
|
1064
|
+
*
|
|
1065
|
+
* @param apiKeys The session's run keys ({@link PrepareClientSessionInput.APIKeys}), if any.
|
|
1066
|
+
* @returns A resolver over those keys only.
|
|
1067
|
+
*/
|
|
1068
|
+
buildRunKeyResolver(apiKeys) {
|
|
1069
|
+
return (driverClass) => apiKeys?.find(k => k.driverClass === driverClass)?.apiKey || undefined;
|
|
1070
|
+
}
|
|
1037
1071
|
/**
|
|
1038
1072
|
* Resolves the effective config's `realtime.modelPreference` (an `MJ: AI Models` Name OR ID)
|
|
1039
1073
|
* into a usable realtime model. TOLERANT by design — this is a METADATA preference, so any
|
|
@@ -1042,9 +1076,10 @@ export class RealtimeClientSessionService {
|
|
|
1042
1076
|
* explicit runtime choice ({@link resolvePreferredRealtimeModel}), which fails loud.
|
|
1043
1077
|
*
|
|
1044
1078
|
* @param effectiveConfig The resolved effective configuration.
|
|
1079
|
+
* @param resolve The session's run-scoped key resolver (run keys only; see {@link resolveVendorAndInstantiate}).
|
|
1045
1080
|
* @returns The resolution, or `null` when no preference is configured or it can't be satisfied.
|
|
1046
1081
|
*/
|
|
1047
|
-
resolveConfiguredModelPreference(effectiveConfig) {
|
|
1082
|
+
resolveConfiguredModelPreference(effectiveConfig, resolve) {
|
|
1048
1083
|
const preference = effectiveConfig?.realtime?.modelPreference;
|
|
1049
1084
|
if (!preference) {
|
|
1050
1085
|
return null;
|
|
@@ -1060,7 +1095,7 @@ export class RealtimeClientSessionService {
|
|
|
1060
1095
|
`'${model.Name}' but it is not an Active Realtime model — falling through to default resolution.`);
|
|
1061
1096
|
return null;
|
|
1062
1097
|
}
|
|
1063
|
-
const resolution = this.resolveVendorAndInstantiate(model);
|
|
1098
|
+
const resolution = this.resolveVendorAndInstantiate(model, resolve);
|
|
1064
1099
|
if (!resolution) {
|
|
1065
1100
|
LogError(`RealtimeClientSessionService: configured realtime model preference '${model.Name}' has no usable ` +
|
|
1066
1101
|
'vendor DriverClass/API key — falling through to default resolution.');
|
|
@@ -1092,9 +1127,10 @@ export class RealtimeClientSessionService {
|
|
|
1092
1127
|
* the caller's user explicitly chose this one.
|
|
1093
1128
|
*
|
|
1094
1129
|
* @param preferredModelID The `MJ: AI Models.ID` the user chose.
|
|
1130
|
+
* @param resolve The session's run-scoped key resolver (run keys only; see {@link resolveVendorAndInstantiate}).
|
|
1095
1131
|
* @returns The resolution outcome (resolution or a specific failure reason).
|
|
1096
1132
|
*/
|
|
1097
|
-
resolvePreferredRealtimeModel(preferredModelID) {
|
|
1133
|
+
resolvePreferredRealtimeModel(preferredModelID, resolve) {
|
|
1098
1134
|
const model = this.findModelByID(preferredModelID);
|
|
1099
1135
|
if (!model) {
|
|
1100
1136
|
return { ErrorMessage: `The requested realtime model (id '${preferredModelID}') was not found in AI model metadata.` };
|
|
@@ -1105,7 +1141,7 @@ export class RealtimeClientSessionService {
|
|
|
1105
1141
|
if (!this.isRealtimeModel(model)) {
|
|
1106
1142
|
return { ErrorMessage: `The requested model '${model.Name}' is not a Realtime model (its type is '${model.AIModelType}').` };
|
|
1107
1143
|
}
|
|
1108
|
-
const resolution = this.resolveVendorAndInstantiate(model);
|
|
1144
|
+
const resolution = this.resolveVendorAndInstantiate(model, resolve);
|
|
1109
1145
|
if (!resolution) {
|
|
1110
1146
|
return {
|
|
1111
1147
|
ErrorMessage: `The requested model '${model.Name}' has no active vendor with a usable DriverClass/API key ` +
|
|
@@ -1137,9 +1173,10 @@ export class RealtimeClientSessionService {
|
|
|
1137
1173
|
* step can't be satisfied.
|
|
1138
1174
|
*
|
|
1139
1175
|
* @param coAgent The co-agent being voiced (reserved for future per-agent model preference).
|
|
1176
|
+
* @param resolve The session's run-scoped key resolver (run keys only; see {@link resolveVendorAndInstantiate}).
|
|
1140
1177
|
* @returns The resolved model + identifiers, or `null`.
|
|
1141
1178
|
*/
|
|
1142
|
-
async resolveRealtimeModel(coAgent) {
|
|
1179
|
+
async resolveRealtimeModel(coAgent, resolve) {
|
|
1143
1180
|
// Walk candidates in descending PowerRank, returning the FIRST that fully resolves to a usable
|
|
1144
1181
|
// client-direct driver (active vendor + API key + ClassFactory driver + SupportsClientDirect).
|
|
1145
1182
|
// Single-pick dead-ended whenever the highest-power model lacked a key or client-direct support
|
|
@@ -1147,7 +1184,7 @@ export class RealtimeClientSessionService {
|
|
|
1147
1184
|
// surfaced "No usable Realtime model" instead of falling through to a model that works.
|
|
1148
1185
|
const candidates = this.selectRealtimeModelCandidates(coAgent);
|
|
1149
1186
|
for (const model of candidates) {
|
|
1150
|
-
const resolution = this.resolveVendorAndInstantiate(model);
|
|
1187
|
+
const resolution = this.resolveVendorAndInstantiate(model, resolve);
|
|
1151
1188
|
if (resolution && resolution.Model.SupportsClientDirect) {
|
|
1152
1189
|
return resolution;
|
|
1153
1190
|
}
|
|
@@ -1158,15 +1195,25 @@ export class RealtimeClientSessionService {
|
|
|
1158
1195
|
* Shared tail of model resolution: picks the vendor (with a usable API key) for an
|
|
1159
1196
|
* already-chosen model entity and instantiates its realtime driver.
|
|
1160
1197
|
*
|
|
1198
|
+
* Key precedence, per driver class: `resolve` (the session's run keys), then this service's
|
|
1199
|
+
* {@link getAPIKeyForDriver} seam, whose default is the environment key. Vendor selection and the
|
|
1200
|
+
* mint use that one chain, so a session is never routed to a vendor it cannot then be minted on.
|
|
1201
|
+
*
|
|
1161
1202
|
* @param model The chosen model entity.
|
|
1203
|
+
* @param resolve The session's run-scoped key resolver. Expected to answer with run keys only:
|
|
1204
|
+
* one that falls back to the environment itself answers before {@link getAPIKeyForDriver} and
|
|
1205
|
+
* so bypasses an override of it.
|
|
1162
1206
|
* @returns The full resolution, or `null` when no vendor/key/driver can be satisfied.
|
|
1163
1207
|
*/
|
|
1164
|
-
resolveVendorAndInstantiate(model) {
|
|
1165
|
-
|
|
1208
|
+
resolveVendorAndInstantiate(model, resolve) {
|
|
1209
|
+
// The run's keys first, then this service's own seam (which subclasses and tests override) —
|
|
1210
|
+
// so a run-scoped credential wins without taking that seam away from anyone who replaced it.
|
|
1211
|
+
const resolveKey = (driverClass) => resolve?.(driverClass) ?? this.getAPIKeyForDriver(driverClass);
|
|
1212
|
+
const vendor = this.selectRealtimeVendor(model.ID, resolveKey);
|
|
1166
1213
|
if (!vendor) {
|
|
1167
1214
|
return null;
|
|
1168
1215
|
}
|
|
1169
|
-
const apiKey =
|
|
1216
|
+
const apiKey = resolveKey(vendor.DriverClass);
|
|
1170
1217
|
if (!apiKey) {
|
|
1171
1218
|
return null;
|
|
1172
1219
|
}
|
|
@@ -1187,6 +1234,9 @@ export class RealtimeClientSessionService {
|
|
|
1187
1234
|
/**
|
|
1188
1235
|
* Resolves the API key for a vendor driver class. **Overridable seam** (wraps the module-level
|
|
1189
1236
|
* {@link GetAIAPIKey}) so tests can simulate present/absent keys without environment setup.
|
|
1237
|
+
* Consulted for every driver class the session's run keys do not cover, so an override (a vault,
|
|
1238
|
+
* a different key, or `undefined` to disable a vendor) applies whether or not the environment
|
|
1239
|
+
* also holds a key.
|
|
1190
1240
|
*
|
|
1191
1241
|
* @param driverClass The vendor's `DriverClass`.
|
|
1192
1242
|
* @returns The API key, or a falsy value when none is configured.
|
|
@@ -1225,10 +1275,11 @@ export class RealtimeClientSessionService {
|
|
|
1225
1275
|
* THIS service's {@link getAPIKeyForDriver} so subclasses and tests keep their key-resolution seam.
|
|
1226
1276
|
*
|
|
1227
1277
|
* @param modelID The chosen model's id.
|
|
1278
|
+
* @param resolve The complete key chain to select against; defaults to {@link getAPIKeyForDriver}.
|
|
1228
1279
|
* @returns The vendor driver/api identifiers, or `null` when none has a usable key.
|
|
1229
1280
|
*/
|
|
1230
|
-
selectRealtimeVendor(modelID) {
|
|
1231
|
-
return SelectRealtimeVendorForModel(modelID, (driverClass) => this.getAPIKeyForDriver(driverClass));
|
|
1281
|
+
selectRealtimeVendor(modelID, resolve) {
|
|
1282
|
+
return SelectRealtimeVendorForModel(modelID, resolve ?? ((driverClass) => this.getAPIKeyForDriver(driverClass)));
|
|
1232
1283
|
}
|
|
1233
1284
|
/**
|
|
1234
1285
|
* Resolves the DB-driven progress-narration instruction template: the Active `MJ: AI Prompts`
|
|
@@ -2017,12 +2068,12 @@ export class RealtimeClientSessionService {
|
|
|
2017
2068
|
const allowedActions = candidateActions.filter(action => IsActionAllowedForDirectInvocation(action.Name, directConfig));
|
|
2018
2069
|
const wireMap = this.BuildWireActionMap(allowedActions);
|
|
2019
2070
|
if (agentSessionID) {
|
|
2020
|
-
this.sessionWireActionMaps.
|
|
2071
|
+
this.sessionWireActionMaps.Set(agentSessionID, wireMap);
|
|
2021
2072
|
if (directConfig) {
|
|
2022
|
-
this.sessionDirectConfigs.
|
|
2073
|
+
this.sessionDirectConfigs.Set(agentSessionID, directConfig);
|
|
2023
2074
|
}
|
|
2024
2075
|
}
|
|
2025
|
-
this.targetWireActionMaps.
|
|
2076
|
+
this.targetWireActionMaps.Set(targetAgentID, wireMap);
|
|
2026
2077
|
const tools = [];
|
|
2027
2078
|
for (const [wireName, action] of wireMap.entries()) {
|
|
2028
2079
|
tools.push(this.mapActionToToolDefinition(action, wireName));
|
|
@@ -2107,7 +2158,7 @@ export class RealtimeClientSessionService {
|
|
|
2107
2158
|
}
|
|
2108
2159
|
const candidateActions = this.getTargetAgentActions(target.ID);
|
|
2109
2160
|
const candidateWireMap = this.BuildWireActionMap(candidateActions);
|
|
2110
|
-
const action = (input?.AgentSessionID ? this.sessionWireActionMaps.
|
|
2161
|
+
const action = (input?.AgentSessionID ? this.sessionWireActionMaps.Get(input.AgentSessionID)?.get(call.ToolName) : undefined)
|
|
2111
2162
|
?? candidateWireMap.get(call.ToolName)
|
|
2112
2163
|
?? Array.from(candidateWireMap.entries()).find(([w]) => w.toLowerCase() === call.ToolName.trim().toLowerCase())?.[1];
|
|
2113
2164
|
if (!action) {
|
|
@@ -2118,7 +2169,7 @@ export class RealtimeClientSessionService {
|
|
|
2118
2169
|
};
|
|
2119
2170
|
}
|
|
2120
2171
|
const directConfig = input?.DirectActions
|
|
2121
|
-
?? (input?.AgentSessionID ? this.sessionDirectConfigs.
|
|
2172
|
+
?? (input?.AgentSessionID ? this.sessionDirectConfigs.Get(input.AgentSessionID) : undefined)
|
|
2122
2173
|
?? GetDirectActionsConfig(this.resolveEffectiveConfig(target, undefined, target));
|
|
2123
2174
|
if (!IsActionAllowedForDirectInvocation(action.Name, directConfig)) {
|
|
2124
2175
|
return {
|