@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.
Files changed (99) hide show
  1. package/README.md +18 -0
  2. package/dist/AgentDecisionService.d.ts +83 -0
  3. package/dist/AgentDecisionService.d.ts.map +1 -0
  4. package/dist/AgentDecisionService.js +155 -0
  5. package/dist/AgentDecisionService.js.map +1 -0
  6. package/dist/AgentRunner.d.ts +7 -0
  7. package/dist/AgentRunner.d.ts.map +1 -1
  8. package/dist/AgentRunner.js +16 -5
  9. package/dist/AgentRunner.js.map +1 -1
  10. package/dist/KnowledgeAgent.d.ts.map +1 -1
  11. package/dist/KnowledgeAgent.js +6 -6
  12. package/dist/KnowledgeAgent.js.map +1 -1
  13. package/dist/PayloadFeedbackManager.d.ts +113 -14
  14. package/dist/PayloadFeedbackManager.d.ts.map +1 -1
  15. package/dist/PayloadFeedbackManager.js +228 -88
  16. package/dist/PayloadFeedbackManager.js.map +1 -1
  17. package/dist/agent-context-injector.d.ts +47 -3
  18. package/dist/agent-context-injector.d.ts.map +1 -1
  19. package/dist/agent-context-injector.js +77 -10
  20. package/dist/agent-context-injector.js.map +1 -1
  21. package/dist/agent-memory-context-builder.d.ts +13 -0
  22. package/dist/agent-memory-context-builder.d.ts.map +1 -1
  23. package/dist/agent-memory-context-builder.js +24 -5
  24. package/dist/agent-memory-context-builder.js.map +1 -1
  25. package/dist/agent-types/flow-agent-type.d.ts +97 -0
  26. package/dist/agent-types/flow-agent-type.d.ts.map +1 -1
  27. package/dist/agent-types/flow-agent-type.js +281 -24
  28. package/dist/agent-types/flow-agent-type.js.map +1 -1
  29. package/dist/agent-types/flow-graph-executor.d.ts +12 -1
  30. package/dist/agent-types/flow-graph-executor.d.ts.map +1 -1
  31. package/dist/agent-types/flow-graph-executor.js +25 -1
  32. package/dist/agent-types/flow-graph-executor.js.map +1 -1
  33. package/dist/agent-types/loop-agent-prompt-params.d.ts +239 -66
  34. package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
  35. package/dist/agent-types/loop-agent-prompt-params.js +47 -2
  36. package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
  37. package/dist/agent-types/loop-agent-response-type.d.ts +12 -1
  38. package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
  39. package/dist/agent-types/loop-agent-response-type.js.map +1 -1
  40. package/dist/agent-types/loop-agent-type.d.ts +6 -0
  41. package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
  42. package/dist/agent-types/loop-agent-type.js +42 -3
  43. package/dist/agent-types/loop-agent-type.js.map +1 -1
  44. package/dist/base-agent.d.ts +492 -2
  45. package/dist/base-agent.d.ts.map +1 -1
  46. package/dist/base-agent.js +1686 -95
  47. package/dist/base-agent.js.map +1 -1
  48. package/dist/catalog-narrowing.d.ts +136 -0
  49. package/dist/catalog-narrowing.d.ts.map +1 -0
  50. package/dist/catalog-narrowing.js +212 -0
  51. package/dist/catalog-narrowing.js.map +1 -0
  52. package/dist/decision-discovery.d.ts +401 -0
  53. package/dist/decision-discovery.d.ts.map +1 -0
  54. package/dist/decision-discovery.js +511 -0
  55. package/dist/decision-discovery.js.map +1 -0
  56. package/dist/finish-if-mode-warnings.d.ts +39 -0
  57. package/dist/finish-if-mode-warnings.d.ts.map +1 -0
  58. package/dist/finish-if-mode-warnings.js +78 -0
  59. package/dist/finish-if-mode-warnings.js.map +1 -0
  60. package/dist/finish-if-state.d.ts +72 -0
  61. package/dist/finish-if-state.d.ts.map +1 -0
  62. package/dist/finish-if-state.js +109 -0
  63. package/dist/finish-if-state.js.map +1 -0
  64. package/dist/index.d.ts +6 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +7 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/memory-manager-agent.d.ts +108 -2
  69. package/dist/memory-manager-agent.d.ts.map +1 -1
  70. package/dist/memory-manager-agent.js +172 -9
  71. package/dist/memory-manager-agent.js.map +1 -1
  72. package/dist/memory-note-gate.d.ts +208 -0
  73. package/dist/memory-note-gate.d.ts.map +1 -0
  74. package/dist/memory-note-gate.js +294 -0
  75. package/dist/memory-note-gate.js.map +1 -0
  76. package/dist/realtime/bridge-realtime-session-factory.d.ts +5 -2
  77. package/dist/realtime/bridge-realtime-session-factory.d.ts.map +1 -1
  78. package/dist/realtime/bridge-realtime-session-factory.js +7 -4
  79. package/dist/realtime/bridge-realtime-session-factory.js.map +1 -1
  80. package/dist/realtime/bridge-room-transcript-sink.d.ts.map +1 -1
  81. package/dist/realtime/bridge-room-transcript-sink.js +15 -9
  82. package/dist/realtime/bridge-room-transcript-sink.js.map +1 -1
  83. package/dist/realtime/realtime-client-session-service.d.ts +54 -12
  84. package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
  85. package/dist/realtime/realtime-client-session-service.js +76 -25
  86. package/dist/realtime/realtime-client-session-service.js.map +1 -1
  87. package/dist/realtime/realtime-vendor-resolution.d.ts +8 -3
  88. package/dist/realtime/realtime-vendor-resolution.d.ts.map +1 -1
  89. package/dist/realtime/realtime-vendor-resolution.js +3 -3
  90. package/dist/realtime/realtime-vendor-resolution.js.map +1 -1
  91. package/dist/rubric-evaluation-agent-runner.d.ts +2 -0
  92. package/dist/rubric-evaluation-agent-runner.d.ts.map +1 -0
  93. package/dist/rubric-evaluation-agent-runner.js +38 -0
  94. package/dist/rubric-evaluation-agent-runner.js.map +1 -0
  95. package/dist/self-check.d.ts +98 -0
  96. package/dist/self-check.d.ts.map +1 -0
  97. package/dist/self-check.js +74 -0
  98. package/dist/self-check.js.map +1 -0
  99. 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
- /** roomKey(lower) → resolved ConversationID (populated once get-or-create settles). */
34
- const roomToConversation = new Map();
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 Map();
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.get(conversationID) ?? Promise.resolve();
58
+ const prior = writeChains.Get(conversationID) ?? Promise.resolve();
53
59
  const next = prior.then(() => writeTranscriptDetail(conversationID, line, contextUser, provider));
54
- writeChains.set(conversationID, next.then(() => undefined, () => undefined));
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.get(key);
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.set(key, id);
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":"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"}
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,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAgDrE,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAChD,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAAwC;IACnF,MAAM,KAAK,GAAiC,OAAO,CAAC,gBAAgB,IAAI,aAAa,CAAC;IACtF,uGAAuG;IACvG,IAAI,qBAAqB,GAAuB,OAAO,CAAC,aAAa,CAAC;IACtE,IAAI,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;IAC9E;;;;;;OAMG;IACH,MAAM,kBAAkB,GAAG,IAAI,UAAU,CAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IAC3G,oGAAoG;IACpG,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;IACjE,kJAAkJ;IAClJ,MAAM,WAAW,GAAG,IAAI,UAAU,CAAwB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IAE3G,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;QACzC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,0EAA0E;QACtF,CAAC;QACD,wGAAwG;QACxG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,mBAAmB,GAAG,IAAI,CAAC,CAAC,0EAA0E;YACtG,qBAAqB,GAAG,CAAC,MAAM,0BAA0B,CAAC,OAAO,CAAC,eAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC;QAC7H,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACrL,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QAClG,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC;IACf,CAAC,CAAC;AACN,CAAC;AAED,+GAA+G;AAC/G,KAAK,UAAU,sBAAsB,CACjC,OAAe,EACf,gBAAwB,EACxB,KAAmC,EACnC,aAAiC,EACjC,KAAiC,EACjC,QAA6C,EAC7C,WAAqB,EACrB,QAA2B;IAE3B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC;SAC3G,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACT,IAAI,EAAE,EAAE,CAAC;YACL,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,mGAAmG;AACnG,KAAK,UAAU,2BAA2B,CACtC,OAAe,EACf,gBAAwB,EACxB,KAAmC,EACnC,aAAiC,EACjC,WAAqB,EACrB,QAA2B;IAE3B,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAiB;QAC3C,UAAU,EAAE,mBAAmB;QAC/B,WAAW,EAAE,eAAe,eAAe,CAAC,OAAO,CAAC,eAAe,eAAe,CAAC,gBAAgB,CAAC,4CAA4C;QAChJ,MAAM,EAAE,CAAC,IAAI,CAAC;QACd,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,QAAQ;KACvB,EAAE,WAAW,CAAC,CAAC;IAChB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAuB,mBAAmB,EAAE,WAAW,CAAC,CAAC;IAC5G,YAAY,CAAC,SAAS,EAAE,CAAC;IACzB,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;IACrC,YAAY,CAAC,IAAI,GAAG,gBAAgB,OAAO,EAAE,CAAC;IAC9C,YAAY,CAAC,IAAI,GAAG,gBAAgB,CAAC;IACrC,YAAY,CAAC,UAAU,GAAG,OAAO,CAAC;IAClC,YAAY,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACtC,IAAI,aAAa,EAAE,CAAC;QAChB,YAAY,CAAC,aAAa,GAAG,aAAa,CAAC;IAC/C,CAAC;IACD,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,SAAS,CAAC,4CAA4C,gBAAgB,kBAAkB,YAAY,CAAC,EAAE,aAAa,OAAO,GAAG,CAAC,CAAC;QAChI,OAAO,YAAY,CAAC,EAAE,CAAC;IAC3B,CAAC;IACD,QAAQ,CAAC,uEAAuE,YAAY,CAAC,YAAY,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC,CAAC;IACjJ,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,8GAA8G;AAC9G,KAAK,UAAU,qBAAqB,CAChC,cAAsB,EACtB,IAA+B,EAC/B,WAAqB,EACrB,QAA2B;IAE3B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAA6B,0BAA0B,EAAE,WAAW,CAAC,CAAC;IACnH,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,sGAAsG;IACtG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;IAClD,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAClC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACzB,QAAQ,CAAC,sEAAsE,MAAM,CAAC,YAAY,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC,CAAC;IAC9I,CAAC;AACL,CAAC;AAED,iHAAiH;AACjH,KAAK,UAAU,0BAA0B,CACrC,IAAY,EACZ,WAAqB,EACrB,QAA2B;IAE3B,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAiB;QAC5C,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE,SAAS,eAAe,CAAC,IAAI,CAAC,GAAG;QAC9C,MAAM,EAAE,CAAC,IAAI,CAAC;QACd,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,QAAQ;KACvB,EAAE,WAAW,CAAC,CAAC;IAChB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,CAAC;IACD,SAAS,CAAC,gDAAgD,IAAI,iFAAiF,CAAC,CAAC;IACjJ,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -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
- /** Maps session id -> (wireName -> MJActionEntityExtended) built during tool projection. */
409
- protected readonly sessionWireActionMaps: Map<string, Map<string, MJActionEntityExtended>>;
410
- /** Maps targetAgentID -> (wireName -> MJActionEntityExtended) fallback built during tool projection. */
411
- protected readonly targetWireActionMaps: Map<string, Map<string, MJActionEntityExtended>>;
412
- /** Maps session id -> direct actions config resolved during session prep. */
413
- protected readonly sessionDirectConfigs: Map<string, RealtimeDirectActionsConfig>;
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
- /** Maps session id -> (wireName -> MJActionEntityExtended) built during tool projection. */
119
- this.sessionWireActionMaps = new Map();
120
- /** Maps targetAgentID -> (wireName -> MJActionEntityExtended) fallback built during tool projection. */
121
- this.targetWireActionMaps = new Map();
122
- /** Maps session id -> direct actions config resolved during session prep. */
123
- this.sessionDirectConfigs = new Map();
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
- const vendor = this.selectRealtimeVendor(model.ID);
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 = this.getAPIKeyForDriver(vendor.DriverClass);
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.set(agentSessionID, wireMap);
2071
+ this.sessionWireActionMaps.Set(agentSessionID, wireMap);
2021
2072
  if (directConfig) {
2022
- this.sessionDirectConfigs.set(agentSessionID, directConfig);
2073
+ this.sessionDirectConfigs.Set(agentSessionID, directConfig);
2023
2074
  }
2024
2075
  }
2025
- this.targetWireActionMaps.set(targetAgentID, wireMap);
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.get(input.AgentSessionID)?.get(call.ToolName) : undefined)
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.get(input.AgentSessionID) : undefined)
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 {