@memberjunction/ai-agents 5.40.1 → 5.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +45 -0
  2. package/dist/AgentRunner.d.ts +5 -2
  3. package/dist/AgentRunner.d.ts.map +1 -1
  4. package/dist/AgentRunner.js +14 -4
  5. package/dist/AgentRunner.js.map +1 -1
  6. package/dist/MemoryWriteManager.d.ts +188 -0
  7. package/dist/MemoryWriteManager.d.ts.map +1 -0
  8. package/dist/MemoryWriteManager.js +299 -0
  9. package/dist/MemoryWriteManager.js.map +1 -0
  10. package/dist/agent-context-injector.d.ts +29 -0
  11. package/dist/agent-context-injector.d.ts.map +1 -1
  12. package/dist/agent-context-injector.js +90 -32
  13. package/dist/agent-context-injector.js.map +1 -1
  14. package/dist/agent-memory-context-builder.d.ts +100 -0
  15. package/dist/agent-memory-context-builder.d.ts.map +1 -0
  16. package/dist/agent-memory-context-builder.js +172 -0
  17. package/dist/agent-memory-context-builder.js.map +1 -0
  18. package/dist/agent-types/index.d.ts +1 -0
  19. package/dist/agent-types/index.d.ts.map +1 -1
  20. package/dist/agent-types/index.js +1 -0
  21. package/dist/agent-types/index.js.map +1 -1
  22. package/dist/agent-types/loop-agent-response-type.d.ts +12 -1
  23. package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
  24. package/dist/agent-types/loop-agent-response-type.js.map +1 -1
  25. package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
  26. package/dist/agent-types/loop-agent-type.js +4 -0
  27. package/dist/agent-types/loop-agent-type.js.map +1 -1
  28. package/dist/agent-types/realtime-agent-type.d.ts +146 -0
  29. package/dist/agent-types/realtime-agent-type.d.ts.map +1 -0
  30. package/dist/agent-types/realtime-agent-type.js +176 -0
  31. package/dist/agent-types/realtime-agent-type.js.map +1 -0
  32. package/dist/base-agent.d.ts +365 -24
  33. package/dist/base-agent.d.ts.map +1 -1
  34. package/dist/base-agent.js +995 -175
  35. package/dist/base-agent.js.map +1 -1
  36. package/dist/index.d.ts +11 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +15 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/memory-manager-agent.d.ts +55 -2
  41. package/dist/memory-manager-agent.d.ts.map +1 -1
  42. package/dist/memory-manager-agent.js +261 -62
  43. package/dist/memory-manager-agent.js.map +1 -1
  44. package/dist/realtime/meeting-controls-channel-server.d.ts +198 -0
  45. package/dist/realtime/meeting-controls-channel-server.d.ts.map +1 -0
  46. package/dist/realtime/meeting-controls-channel-server.js +319 -0
  47. package/dist/realtime/meeting-controls-channel-server.js.map +1 -0
  48. package/dist/realtime/meeting-controls-state.d.ts +191 -0
  49. package/dist/realtime/meeting-controls-state.d.ts.map +1 -0
  50. package/dist/realtime/meeting-controls-state.js +219 -0
  51. package/dist/realtime/meeting-controls-state.js.map +1 -0
  52. package/dist/realtime/realtime-channel-server-host.d.ts +166 -0
  53. package/dist/realtime/realtime-channel-server-host.d.ts.map +1 -0
  54. package/dist/realtime/realtime-channel-server-host.js +378 -0
  55. package/dist/realtime/realtime-channel-server-host.js.map +1 -0
  56. package/dist/realtime/realtime-client-session-service.d.ts +884 -0
  57. package/dist/realtime/realtime-client-session-service.d.ts.map +1 -0
  58. package/dist/realtime/realtime-client-session-service.js +1401 -0
  59. package/dist/realtime/realtime-client-session-service.js.map +1 -0
  60. package/dist/realtime/realtime-coagent-config.d.ts +202 -0
  61. package/dist/realtime/realtime-coagent-config.d.ts.map +1 -0
  62. package/dist/realtime/realtime-coagent-config.js +334 -0
  63. package/dist/realtime/realtime-coagent-config.js.map +1 -0
  64. package/dist/realtime/realtime-narration.d.ts +67 -0
  65. package/dist/realtime/realtime-narration.d.ts.map +1 -0
  66. package/dist/realtime/realtime-narration.js +127 -0
  67. package/dist/realtime/realtime-narration.js.map +1 -0
  68. package/dist/realtime/realtime-session-runner.d.ts +383 -0
  69. package/dist/realtime/realtime-session-runner.d.ts.map +1 -0
  70. package/dist/realtime/realtime-session-runner.js +532 -0
  71. package/dist/realtime/realtime-session-runner.js.map +1 -0
  72. package/dist/realtime/realtime-tool-broker.d.ts +279 -0
  73. package/dist/realtime/realtime-tool-broker.d.ts.map +1 -0
  74. package/dist/realtime/realtime-tool-broker.js +184 -0
  75. package/dist/realtime/realtime-tool-broker.js.map +1 -0
  76. package/dist/realtime/whiteboard-channel-server.d.ts +50 -0
  77. package/dist/realtime/whiteboard-channel-server.d.ts.map +1 -0
  78. package/dist/realtime/whiteboard-channel-server.js +85 -0
  79. package/dist/realtime/whiteboard-channel-server.js.map +1 -0
  80. package/package.json +17 -17
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-client-session-service.js","sourceRoot":"","sources":["../../src/realtime/realtime-client-session-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,202 @@
1
+ /**
2
+ * @fileoverview PURE configuration module for Realtime co-agent type configuration —
3
+ * the deep-merge + parse + normalize pipeline behind the effective-configuration contract:
4
+ *
5
+ * ```
6
+ * AIAgentType.DefaultConfiguration ← AIAgent.TypeConfiguration ← runtime overrides
7
+ * (base layer) (per-agent layer) (per-session layer)
8
+ * ```
9
+ *
10
+ * Later layers win **per key**: plain objects deep-merge, while arrays and primitives
11
+ * replace wholesale. The merged result is normalized into the typed
12
+ * {@link RealtimeCoAgentConfig} shape (wrong-typed fields are dropped, never thrown on).
13
+ *
14
+ * This module is deliberately **framework-free**: no DB, no metadata provider, no logging
15
+ * imports — every function is a pure transformation so it can be exercised exhaustively in
16
+ * unit tests and reused verbatim by the session service (`realtime-client-session-service.ts`),
17
+ * the server-bridged path (`base-agent.ts`), and the MJServer resolver
18
+ * (`RealtimeClientSessionResolver.ts`).
19
+ *
20
+ * The canonical JSON shape (the Realtime agent type's `ConfigSchema` is seeded to this):
21
+ * ```jsonc
22
+ * { "realtime": {
23
+ * "modelPreference": "<AI Model name or ID>",
24
+ * "voice": { "default": { "tone": "…", "speakingStyle": "…" },
25
+ * "providers": { "openai": { "voice": "alloy" },
26
+ * "elevenlabs": { "voiceId": "…" },
27
+ * "gemini": { "voice": "…" },
28
+ * "assemblyai": { "voice": "…" } } },
29
+ * "allowUserModelOverride": true,
30
+ * "narration": { "paceMs": 8000 } } }
31
+ * ```
32
+ *
33
+ * @module @memberjunction/ai-agents
34
+ * @author MemberJunction.com
35
+ */
36
+ /**
37
+ * The MJ Authorization name that gates RUNTIME overrides on realtime session start:
38
+ * `configOverridesJson` and explicit realtime-model selection that deviates from the
39
+ * co-agent's metadata-configured preference. Seeded in `metadata/authorizations/.realtime.json`.
40
+ */
41
+ export declare const REALTIME_ADVANCED_SESSION_CONTROLS_AUTHORIZATION = "Realtime: Advanced Session Controls";
42
+ /** A plain JSON object (string-keyed bag of JSON values). */
43
+ export type JSONObjectLike = Record<string, unknown>;
44
+ /** The default voice persona — folded into the session system prompt at mint. */
45
+ export interface RealtimeVoicePersona {
46
+ /** Overall vocal tone (e.g. "warm and upbeat"). */
47
+ tone?: string;
48
+ /** Speaking style guidance (e.g. "concise sentences, no filler words"). */
49
+ speakingStyle?: string;
50
+ }
51
+ /** Voice configuration: a persona plus per-provider native voice settings. */
52
+ export interface RealtimeVoiceConfig {
53
+ /** The provider-agnostic persona (tone / speaking style), prompt-level. */
54
+ default?: RealtimeVoicePersona;
55
+ /**
56
+ * Provider-specific voice settings keyed by provider (e.g. `openai`, `elevenlabs`,
57
+ * `gemini`, `assemblyai`). Each value is an OPAQUE settings object merged into the matching
58
+ * driver's open `Config` bag — the shape is a private pact with that driver.
59
+ */
60
+ providers?: Record<string, JSONObjectLike>;
61
+ }
62
+ /** Progress-narration tuning. */
63
+ export interface RealtimeNarrationConfig {
64
+ /** Minimum gap (ms) between spoken progress updates. Must be a positive finite number. */
65
+ paceMs?: number;
66
+ }
67
+ /** The `realtime` section of a co-agent's effective configuration. */
68
+ export interface RealtimeConfigSection {
69
+ /** Preferred realtime model — an `MJ: AI Models` Name OR ID. Degrades gracefully when unsatisfiable. */
70
+ modelPreference?: string;
71
+ /** Voice persona + per-provider voice settings. */
72
+ voice?: RealtimeVoiceConfig;
73
+ /**
74
+ * Whether an (authorized) caller may override the realtime model per session.
75
+ * `false` blocks explicit model overrides even for callers holding the
76
+ * {@link REALTIME_ADVANCED_SESSION_CONTROLS_AUTHORIZATION} authorization.
77
+ * Default (absent / non-boolean): `true`.
78
+ */
79
+ allowUserModelOverride?: boolean;
80
+ /** Progress-narration tuning. */
81
+ narration?: RealtimeNarrationConfig;
82
+ }
83
+ /** The fully-normalized effective configuration for a Realtime co-agent. */
84
+ export interface RealtimeCoAgentConfig {
85
+ /** The realtime section; absent when no layer supplied one. */
86
+ realtime?: RealtimeConfigSection;
87
+ }
88
+ /** Input to {@link EvaluateRuntimeOverrideAuthorization}. */
89
+ export interface RuntimeOverrideAuthorizationInput {
90
+ /** True when the caller supplied `configOverridesJson`. */
91
+ HasConfigOverrides: boolean;
92
+ /** The caller's explicit runtime model id (`preferredModelId`), when supplied. */
93
+ RequestedModelID?: string | null;
94
+ /**
95
+ * The `MJ: AI Models.ID` the co-agent's METADATA configuration resolves to
96
+ * (`realtime.modelPreference` resolved to an id), or `null` when no metadata preference is
97
+ * configured/resolvable. A requested model equal to this id is NOT a deviation and needs no gate.
98
+ */
99
+ MetadataPreferredModelID?: string | null;
100
+ /** The effective `realtime.allowUserModelOverride` policy (absent = allowed). */
101
+ AllowUserModelOverride?: boolean;
102
+ /** Whether the caller holds the {@link REALTIME_ADVANCED_SESSION_CONTROLS_AUTHORIZATION} authorization. */
103
+ CallerHasAdvancedControls: boolean;
104
+ }
105
+ /** Outcome of {@link EvaluateRuntimeOverrideAuthorization}. */
106
+ export interface RuntimeOverrideAuthorizationDecision {
107
+ /** True when the requested overrides may proceed. */
108
+ Allowed: boolean;
109
+ /** Human-readable, caller-safe denial reason. Present when {@link Allowed} is false. */
110
+ DenialReason?: string;
111
+ }
112
+ /**
113
+ * Deep-merges configuration layers, EARLIEST first — later layers win per key.
114
+ *
115
+ * Merge rules (per key):
116
+ * - plain object vs plain object → recursive deep merge;
117
+ * - anything else (arrays, strings, numbers, booleans, `null`) → the later value REPLACES;
118
+ * - `null` is a real JSON value and replaces like any primitive;
119
+ * - `undefined` values in a later layer are skipped (they cannot exist in parsed JSON anyway).
120
+ *
121
+ * `null`/`undefined` LAYERS are skipped entirely. The inputs are never mutated; the result is a
122
+ * fresh object graph.
123
+ *
124
+ * @param layers The configuration layers, base first, most-specific last.
125
+ * @returns The merged configuration object (empty object when every layer is absent).
126
+ */
127
+ export declare function DeepMergeConfigs(...layers: Array<JSONObjectLike | null | undefined>): JSONObjectLike;
128
+ /**
129
+ * TOLERANTLY parses one configuration layer (a `TypeConfiguration` / `DefaultConfiguration` /
130
+ * runtime-overrides JSON string). Returns `null` — never throws — for absent, blank, malformed,
131
+ * or non-object payloads (arrays and scalars are not valid configuration layers).
132
+ *
133
+ * @param json The raw JSON string, or `null`/`undefined`.
134
+ * @returns The parsed plain object, or `null` when the layer contributes nothing.
135
+ */
136
+ export declare function ParseRealtimeTypeConfiguration(json: string | null | undefined): JSONObjectLike | null;
137
+ /**
138
+ * Resolves the EFFECTIVE realtime configuration from the three layers of the contract —
139
+ * `AIAgentType.DefaultConfiguration` ← `AIAgent.TypeConfiguration` ← runtime overrides — by
140
+ * tolerantly parsing each (see {@link ParseRealtimeTypeConfiguration}), deep-merging them
141
+ * (later wins per key, see {@link DeepMergeConfigs}), and normalizing the result into the typed
142
+ * {@link RealtimeCoAgentConfig} shape (wrong-typed fields dropped, never thrown on).
143
+ *
144
+ * @param typeDefaultJson The agent TYPE's `DefaultConfiguration` JSON (base layer).
145
+ * @param agentJson The agent's `TypeConfiguration` JSON (per-agent layer).
146
+ * @param overridesJson Runtime overrides JSON (per-session layer; already authorization-gated by the caller).
147
+ * @returns The normalized effective configuration. `realtime` is absent when no layer supplied a usable section.
148
+ */
149
+ export declare function ResolveEffectiveRealtimeConfig(typeDefaultJson: string | null | undefined, agentJson: string | null | undefined, overridesJson: string | null | undefined): RealtimeCoAgentConfig;
150
+ /**
151
+ * Picks the provider-specific voice settings for a resolved realtime driver.
152
+ *
153
+ * Provider keys (`openai`, `elevenlabs`, `gemini`, `assemblyai`, …) are matched against the
154
+ * vendor `DriverClass` (e.g. `OpenAIRealtime`, `ElevenLabsRealtime`) by normalized-prefix:
155
+ * both sides are lowercased and stripped of non-alphanumerics, then the driver class must START
156
+ * WITH the provider key (`openairealtime`.startsWith(`openai`)). A bare provider name (e.g.
157
+ * `'openai'` from `ClientRealtimeSessionConfig.Provider`) matches the same way. The LONGEST
158
+ * matching key wins when several match.
159
+ *
160
+ * @param config The effective configuration.
161
+ * @param driverClassOrProvider The vendor `DriverClass` or the provider key itself.
162
+ * @returns The matched settings object (opaque driver pact), or `null` when none match.
163
+ */
164
+ export declare function GetProviderVoiceSettings(config: RealtimeCoAgentConfig | null | undefined, driverClassOrProvider: string | null | undefined): JSONObjectLike | null;
165
+ /**
166
+ * Builds the "Voice & manner" system-prompt section from the effective voice persona —
167
+ * appended to the server-built companion system prompt at mint. Returns an empty string when
168
+ * neither `tone` nor `speakingStyle` is configured (the section simply doesn't appear).
169
+ *
170
+ * @param config The effective configuration.
171
+ * @returns The prompt section text, or `''`.
172
+ */
173
+ export declare function BuildVoiceMannerSection(config: RealtimeCoAgentConfig | null | undefined): string;
174
+ /**
175
+ * Reads the effective narration pace (minimum gap in ms between spoken progress updates), or
176
+ * `null` when not configured. Already sanity-checked by normalization (positive finite integer).
177
+ *
178
+ * @param config The effective configuration.
179
+ * @returns The pace in ms, or `null`.
180
+ */
181
+ export declare function GetNarrationPaceMs(config: RealtimeCoAgentConfig | null | undefined): number | null;
182
+ /**
183
+ * PURE authorization-policy decision for runtime overrides on a realtime session start.
184
+ *
185
+ * Rules (Amith-approved product contract):
186
+ * 1. No overrides requested → allowed (the everyday flow is never gated here — `CanRun` on the
187
+ * target agent remains the only gate for plain session starts and for target selection).
188
+ * 2. `configOverridesJson` present → caller MUST hold the
189
+ * {@link REALTIME_ADVANCED_SESSION_CONTROLS_AUTHORIZATION} authorization.
190
+ * 3. An explicit runtime model that EQUALS the metadata-configured preference is not a
191
+ * deviation → no gate.
192
+ * 4. A DEVIATING explicit runtime model → caller must hold the authorization AND the effective
193
+ * `allowUserModelOverride` must not be `false` (the policy blocks even authorized callers).
194
+ *
195
+ * The check is deliberately a structured REJECTION (the caller throws the `DenialReason`), never
196
+ * a silent ignore — a caller who asked for something specific must learn it was refused.
197
+ *
198
+ * @param input The override request + caller authorization + effective policy.
199
+ * @returns The decision.
200
+ */
201
+ export declare function EvaluateRuntimeOverrideAuthorization(input: RuntimeOverrideAuthorizationInput): RuntimeOverrideAuthorizationDecision;
202
+ //# sourceMappingURL=realtime-coagent-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-coagent-config.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-coagent-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH;;;;GAIG;AACH,eAAO,MAAM,gDAAgD,wCAAwC,CAAC;AAEtG,6DAA6D;AAC7D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErD,iFAAiF;AACjF,MAAM,WAAW,oBAAoB;IACjC,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAChC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC9C;AAED,iCAAiC;AACjC,MAAM,WAAW,uBAAuB;IACpC,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IAClC,wGAAwG;IACxG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iCAAiC;IACjC,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IAClC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAED,6DAA6D;AAC7D,MAAM,WAAW,iCAAiC;IAC9C,2DAA2D;IAC3D,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,iFAAiF;IACjF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2GAA2G;IAC3G,yBAAyB,EAAE,OAAO,CAAC;CACtC;AAED,+DAA+D;AAC/D,MAAM,WAAW,oCAAoC;IACjD,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAeD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,cAAc,CASpG;AAwBD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,GAAG,IAAI,CAUrG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAC1C,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC1C,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACzC,qBAAqB,CAOvB;AAuFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,EAChD,qBAAqB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjD,cAAc,GAAG,IAAI,CAoBvB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAgBhG;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAElG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oCAAoC,CAChD,KAAK,EAAE,iCAAiC,GACzC,oCAAoC,CAwCtC"}
@@ -0,0 +1,334 @@
1
+ /**
2
+ * @fileoverview PURE configuration module for Realtime co-agent type configuration —
3
+ * the deep-merge + parse + normalize pipeline behind the effective-configuration contract:
4
+ *
5
+ * ```
6
+ * AIAgentType.DefaultConfiguration ← AIAgent.TypeConfiguration ← runtime overrides
7
+ * (base layer) (per-agent layer) (per-session layer)
8
+ * ```
9
+ *
10
+ * Later layers win **per key**: plain objects deep-merge, while arrays and primitives
11
+ * replace wholesale. The merged result is normalized into the typed
12
+ * {@link RealtimeCoAgentConfig} shape (wrong-typed fields are dropped, never thrown on).
13
+ *
14
+ * This module is deliberately **framework-free**: no DB, no metadata provider, no logging
15
+ * imports — every function is a pure transformation so it can be exercised exhaustively in
16
+ * unit tests and reused verbatim by the session service (`realtime-client-session-service.ts`),
17
+ * the server-bridged path (`base-agent.ts`), and the MJServer resolver
18
+ * (`RealtimeClientSessionResolver.ts`).
19
+ *
20
+ * The canonical JSON shape (the Realtime agent type's `ConfigSchema` is seeded to this):
21
+ * ```jsonc
22
+ * { "realtime": {
23
+ * "modelPreference": "<AI Model name or ID>",
24
+ * "voice": { "default": { "tone": "…", "speakingStyle": "…" },
25
+ * "providers": { "openai": { "voice": "alloy" },
26
+ * "elevenlabs": { "voiceId": "…" },
27
+ * "gemini": { "voice": "…" },
28
+ * "assemblyai": { "voice": "…" } } },
29
+ * "allowUserModelOverride": true,
30
+ * "narration": { "paceMs": 8000 } } }
31
+ * ```
32
+ *
33
+ * @module @memberjunction/ai-agents
34
+ * @author MemberJunction.com
35
+ */
36
+ /**
37
+ * The MJ Authorization name that gates RUNTIME overrides on realtime session start:
38
+ * `configOverridesJson` and explicit realtime-model selection that deviates from the
39
+ * co-agent's metadata-configured preference. Seeded in `metadata/authorizations/.realtime.json`.
40
+ */
41
+ export const REALTIME_ADVANCED_SESSION_CONTROLS_AUTHORIZATION = 'Realtime: Advanced Session Controls';
42
+ /** True for a plain JSON object (not null, not an array). */
43
+ function isPlainObject(value) {
44
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
45
+ }
46
+ /** Case/whitespace-insensitive id/name equality (UUIDs differ only by case across DB platforms). */
47
+ function idsEqual(a, b) {
48
+ if (!a || !b) {
49
+ return false;
50
+ }
51
+ return a.trim().toLowerCase() === b.trim().toLowerCase();
52
+ }
53
+ /**
54
+ * Deep-merges configuration layers, EARLIEST first — later layers win per key.
55
+ *
56
+ * Merge rules (per key):
57
+ * - plain object vs plain object → recursive deep merge;
58
+ * - anything else (arrays, strings, numbers, booleans, `null`) → the later value REPLACES;
59
+ * - `null` is a real JSON value and replaces like any primitive;
60
+ * - `undefined` values in a later layer are skipped (they cannot exist in parsed JSON anyway).
61
+ *
62
+ * `null`/`undefined` LAYERS are skipped entirely. The inputs are never mutated; the result is a
63
+ * fresh object graph.
64
+ *
65
+ * @param layers The configuration layers, base first, most-specific last.
66
+ * @returns The merged configuration object (empty object when every layer is absent).
67
+ */
68
+ export function DeepMergeConfigs(...layers) {
69
+ const result = {};
70
+ for (const layer of layers) {
71
+ if (!isPlainObject(layer)) {
72
+ continue;
73
+ }
74
+ mergeInto(result, layer);
75
+ }
76
+ return result;
77
+ }
78
+ /** Recursive worker for {@link DeepMergeConfigs} — merges `source` into `target` in place. */
79
+ function mergeInto(target, source) {
80
+ for (const key of Object.keys(source)) {
81
+ const incoming = source[key];
82
+ if (incoming === undefined) {
83
+ continue;
84
+ }
85
+ const existing = target[key];
86
+ if (isPlainObject(existing) && isPlainObject(incoming)) {
87
+ mergeInto(existing, incoming);
88
+ }
89
+ else if (isPlainObject(incoming)) {
90
+ const copy = {};
91
+ mergeInto(copy, incoming);
92
+ target[key] = copy;
93
+ }
94
+ else if (Array.isArray(incoming)) {
95
+ target[key] = incoming.slice();
96
+ }
97
+ else {
98
+ target[key] = incoming;
99
+ }
100
+ }
101
+ }
102
+ /**
103
+ * TOLERANTLY parses one configuration layer (a `TypeConfiguration` / `DefaultConfiguration` /
104
+ * runtime-overrides JSON string). Returns `null` — never throws — for absent, blank, malformed,
105
+ * or non-object payloads (arrays and scalars are not valid configuration layers).
106
+ *
107
+ * @param json The raw JSON string, or `null`/`undefined`.
108
+ * @returns The parsed plain object, or `null` when the layer contributes nothing.
109
+ */
110
+ export function ParseRealtimeTypeConfiguration(json) {
111
+ if (typeof json !== 'string' || json.trim().length === 0) {
112
+ return null;
113
+ }
114
+ try {
115
+ const parsed = JSON.parse(json);
116
+ return isPlainObject(parsed) ? parsed : null;
117
+ }
118
+ catch {
119
+ return null;
120
+ }
121
+ }
122
+ /**
123
+ * Resolves the EFFECTIVE realtime configuration from the three layers of the contract —
124
+ * `AIAgentType.DefaultConfiguration` ← `AIAgent.TypeConfiguration` ← runtime overrides — by
125
+ * tolerantly parsing each (see {@link ParseRealtimeTypeConfiguration}), deep-merging them
126
+ * (later wins per key, see {@link DeepMergeConfigs}), and normalizing the result into the typed
127
+ * {@link RealtimeCoAgentConfig} shape (wrong-typed fields dropped, never thrown on).
128
+ *
129
+ * @param typeDefaultJson The agent TYPE's `DefaultConfiguration` JSON (base layer).
130
+ * @param agentJson The agent's `TypeConfiguration` JSON (per-agent layer).
131
+ * @param overridesJson Runtime overrides JSON (per-session layer; already authorization-gated by the caller).
132
+ * @returns The normalized effective configuration. `realtime` is absent when no layer supplied a usable section.
133
+ */
134
+ export function ResolveEffectiveRealtimeConfig(typeDefaultJson, agentJson, overridesJson) {
135
+ const merged = DeepMergeConfigs(ParseRealtimeTypeConfiguration(typeDefaultJson), ParseRealtimeTypeConfiguration(agentJson), ParseRealtimeTypeConfiguration(overridesJson));
136
+ return normalizeConfig(merged);
137
+ }
138
+ /** Normalizes a merged raw config object into the typed, sanity-checked shape. */
139
+ function normalizeConfig(merged) {
140
+ const rawRealtime = merged['realtime'];
141
+ if (!isPlainObject(rawRealtime)) {
142
+ return {};
143
+ }
144
+ const section = {};
145
+ const modelPreference = rawRealtime['modelPreference'];
146
+ if (typeof modelPreference === 'string' && modelPreference.trim().length > 0) {
147
+ section.modelPreference = modelPreference.trim();
148
+ }
149
+ if (typeof rawRealtime['allowUserModelOverride'] === 'boolean') {
150
+ section.allowUserModelOverride = rawRealtime['allowUserModelOverride'];
151
+ }
152
+ const voice = normalizeVoice(rawRealtime['voice']);
153
+ if (voice) {
154
+ section.voice = voice;
155
+ }
156
+ const narration = normalizeNarration(rawRealtime['narration']);
157
+ if (narration) {
158
+ section.narration = narration;
159
+ }
160
+ return Object.keys(section).length > 0 ? { realtime: section } : { realtime: {} };
161
+ }
162
+ /** Normalizes the `voice` block; returns `null` when nothing usable survives. */
163
+ function normalizeVoice(raw) {
164
+ if (!isPlainObject(raw)) {
165
+ return null;
166
+ }
167
+ const voice = {};
168
+ const rawDefault = raw['default'];
169
+ if (isPlainObject(rawDefault)) {
170
+ const persona = {};
171
+ if (typeof rawDefault['tone'] === 'string' && rawDefault['tone'].trim().length > 0) {
172
+ persona.tone = rawDefault['tone'].trim();
173
+ }
174
+ if (typeof rawDefault['speakingStyle'] === 'string' && rawDefault['speakingStyle'].trim().length > 0) {
175
+ persona.speakingStyle = rawDefault['speakingStyle'].trim();
176
+ }
177
+ if (Object.keys(persona).length > 0) {
178
+ voice.default = persona;
179
+ }
180
+ }
181
+ const rawProviders = raw['providers'];
182
+ if (isPlainObject(rawProviders)) {
183
+ const providers = {};
184
+ for (const key of Object.keys(rawProviders)) {
185
+ const settings = rawProviders[key];
186
+ if (isPlainObject(settings) && key.trim().length > 0) {
187
+ providers[key] = settings;
188
+ }
189
+ }
190
+ if (Object.keys(providers).length > 0) {
191
+ voice.providers = providers;
192
+ }
193
+ }
194
+ return Object.keys(voice).length > 0 ? voice : null;
195
+ }
196
+ /** Normalizes the `narration` block; returns `null` when nothing usable survives. */
197
+ function normalizeNarration(raw) {
198
+ if (!isPlainObject(raw)) {
199
+ return null;
200
+ }
201
+ const paceMs = raw['paceMs'];
202
+ if (typeof paceMs === 'number' && Number.isFinite(paceMs) && paceMs > 0) {
203
+ return { paceMs: Math.floor(paceMs) };
204
+ }
205
+ return null;
206
+ }
207
+ /** Normalizes a provider key / driver class for matching: lowercase, alphanumerics only. */
208
+ function normalizeKey(value) {
209
+ return value.toLowerCase().replace(/[^a-z0-9]/g, '');
210
+ }
211
+ /**
212
+ * Picks the provider-specific voice settings for a resolved realtime driver.
213
+ *
214
+ * Provider keys (`openai`, `elevenlabs`, `gemini`, `assemblyai`, …) are matched against the
215
+ * vendor `DriverClass` (e.g. `OpenAIRealtime`, `ElevenLabsRealtime`) by normalized-prefix:
216
+ * both sides are lowercased and stripped of non-alphanumerics, then the driver class must START
217
+ * WITH the provider key (`openairealtime`.startsWith(`openai`)). A bare provider name (e.g.
218
+ * `'openai'` from `ClientRealtimeSessionConfig.Provider`) matches the same way. The LONGEST
219
+ * matching key wins when several match.
220
+ *
221
+ * @param config The effective configuration.
222
+ * @param driverClassOrProvider The vendor `DriverClass` or the provider key itself.
223
+ * @returns The matched settings object (opaque driver pact), or `null` when none match.
224
+ */
225
+ export function GetProviderVoiceSettings(config, driverClassOrProvider) {
226
+ const providers = config?.realtime?.voice?.providers;
227
+ if (!providers || !driverClassOrProvider) {
228
+ return null;
229
+ }
230
+ const normalizedDriver = normalizeKey(driverClassOrProvider);
231
+ if (normalizedDriver.length === 0) {
232
+ return null;
233
+ }
234
+ let best = null;
235
+ for (const key of Object.keys(providers)) {
236
+ const normalizedKey = normalizeKey(key);
237
+ if (normalizedKey.length === 0 || !normalizedDriver.startsWith(normalizedKey)) {
238
+ continue;
239
+ }
240
+ if (!best || normalizedKey.length > normalizeKey(best.key).length) {
241
+ best = { key, settings: providers[key] };
242
+ }
243
+ }
244
+ return best?.settings ?? null;
245
+ }
246
+ /**
247
+ * Builds the "Voice & manner" system-prompt section from the effective voice persona —
248
+ * appended to the server-built companion system prompt at mint. Returns an empty string when
249
+ * neither `tone` nor `speakingStyle` is configured (the section simply doesn't appear).
250
+ *
251
+ * @param config The effective configuration.
252
+ * @returns The prompt section text, or `''`.
253
+ */
254
+ export function BuildVoiceMannerSection(config) {
255
+ const persona = config?.realtime?.voice?.default;
256
+ if (!persona) {
257
+ return '';
258
+ }
259
+ const lines = [];
260
+ if (persona.tone) {
261
+ lines.push(`Tone: ${persona.tone}`);
262
+ }
263
+ if (persona.speakingStyle) {
264
+ lines.push(`Speaking style: ${persona.speakingStyle}`);
265
+ }
266
+ if (lines.length === 0) {
267
+ return '';
268
+ }
269
+ return `Voice & manner:\n${lines.join('\n')}`;
270
+ }
271
+ /**
272
+ * Reads the effective narration pace (minimum gap in ms between spoken progress updates), or
273
+ * `null` when not configured. Already sanity-checked by normalization (positive finite integer).
274
+ *
275
+ * @param config The effective configuration.
276
+ * @returns The pace in ms, or `null`.
277
+ */
278
+ export function GetNarrationPaceMs(config) {
279
+ return config?.realtime?.narration?.paceMs ?? null;
280
+ }
281
+ /**
282
+ * PURE authorization-policy decision for runtime overrides on a realtime session start.
283
+ *
284
+ * Rules (Amith-approved product contract):
285
+ * 1. No overrides requested → allowed (the everyday flow is never gated here — `CanRun` on the
286
+ * target agent remains the only gate for plain session starts and for target selection).
287
+ * 2. `configOverridesJson` present → caller MUST hold the
288
+ * {@link REALTIME_ADVANCED_SESSION_CONTROLS_AUTHORIZATION} authorization.
289
+ * 3. An explicit runtime model that EQUALS the metadata-configured preference is not a
290
+ * deviation → no gate.
291
+ * 4. A DEVIATING explicit runtime model → caller must hold the authorization AND the effective
292
+ * `allowUserModelOverride` must not be `false` (the policy blocks even authorized callers).
293
+ *
294
+ * The check is deliberately a structured REJECTION (the caller throws the `DenialReason`), never
295
+ * a silent ignore — a caller who asked for something specific must learn it was refused.
296
+ *
297
+ * @param input The override request + caller authorization + effective policy.
298
+ * @returns The decision.
299
+ */
300
+ export function EvaluateRuntimeOverrideAuthorization(input) {
301
+ const requestedModel = input.RequestedModelID?.trim() ? input.RequestedModelID.trim() : null;
302
+ const modelDeviates = requestedModel !== null && !idsEqual(requestedModel, input.MetadataPreferredModelID);
303
+ if (!input.HasConfigOverrides && !modelDeviates) {
304
+ return { Allowed: true };
305
+ }
306
+ if (input.HasConfigOverrides && !input.CallerHasAdvancedControls) {
307
+ return {
308
+ Allowed: false,
309
+ DenialReason: `Runtime configuration overrides (configOverridesJson) require the ` +
310
+ `'${REALTIME_ADVANCED_SESSION_CONTROLS_AUTHORIZATION}' authorization. The session can be ` +
311
+ `started without overrides to use the co-agent's configured defaults.`
312
+ };
313
+ }
314
+ if (modelDeviates) {
315
+ if (!input.CallerHasAdvancedControls) {
316
+ return {
317
+ Allowed: false,
318
+ DenialReason: `Explicit realtime model selection requires the ` +
319
+ `'${REALTIME_ADVANCED_SESSION_CONTROLS_AUTHORIZATION}' authorization. Omit preferredModelId ` +
320
+ `to use the co-agent's configured model.`
321
+ };
322
+ }
323
+ if (input.AllowUserModelOverride === false) {
324
+ return {
325
+ Allowed: false,
326
+ DenialReason: `This co-agent's configuration sets realtime.allowUserModelOverride=false — per-session ` +
327
+ `model overrides are disabled by policy, even for authorized callers. Omit preferredModelId ` +
328
+ `to use the configured model.`
329
+ };
330
+ }
331
+ }
332
+ return { Allowed: true };
333
+ }
334
+ //# sourceMappingURL=realtime-coagent-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-coagent-config.js","sourceRoot":"","sources":["../../src/realtime/realtime-coagent-config.ts"],"names":[],"mappings":"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"}