@memberjunction/ai-agents 6.1.0-edge.0 → 6.1.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 +24 -2
- package/dist/MJAIAgentRequestEntityServer.d.ts.map +1 -1
- package/dist/MJAIAgentRequestEntityServer.js +10 -1
- package/dist/MJAIAgentRequestEntityServer.js.map +1 -1
- package/dist/agent-types/base-agent-type.d.ts +23 -0
- package/dist/agent-types/base-agent-type.d.ts.map +1 -1
- package/dist/agent-types/base-agent-type.js +47 -1
- package/dist/agent-types/base-agent-type.js.map +1 -1
- package/dist/agent-types/flow-agent-prompt-params.d.ts +57 -0
- package/dist/agent-types/flow-agent-prompt-params.d.ts.map +1 -0
- package/dist/agent-types/flow-agent-prompt-params.js +8 -0
- package/dist/agent-types/flow-agent-prompt-params.js.map +1 -0
- package/dist/agent-types/flow-agent-type.d.ts +77 -6
- package/dist/agent-types/flow-agent-type.d.ts.map +1 -1
- package/dist/agent-types/flow-agent-type.js +182 -53
- package/dist/agent-types/flow-agent-type.js.map +1 -1
- package/dist/agent-types/flow-graph-adapters.d.ts +42 -0
- package/dist/agent-types/flow-graph-adapters.d.ts.map +1 -0
- package/dist/agent-types/flow-graph-adapters.js +99 -0
- package/dist/agent-types/flow-graph-adapters.js.map +1 -0
- package/dist/agent-types/flow-graph-executor.d.ts +26 -0
- package/dist/agent-types/flow-graph-executor.d.ts.map +1 -0
- package/dist/agent-types/flow-graph-executor.js +105 -0
- package/dist/agent-types/flow-graph-executor.js.map +1 -0
- package/dist/agent-types/index.d.ts +2 -0
- package/dist/agent-types/index.d.ts.map +1 -1
- package/dist/agent-types/index.js +2 -0
- package/dist/agent-types/index.js.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.d.ts +27 -0
- package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.js +5 -1
- package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
- package/dist/agent-types/loop-agent-response-type.d.ts +14 -3
- 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 +25 -0
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +109 -1
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts +89 -10
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +306 -91
- package/dist/base-agent.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/realtime/bridge-realtime-session-factory.d.ts.map +1 -1
- package/dist/realtime/bridge-realtime-session-factory.js +2 -13
- package/dist/realtime/bridge-realtime-session-factory.js.map +1 -1
- package/dist/realtime/realtime-client-session-service.d.ts +67 -16
- package/dist/realtime/realtime-client-session-service.d.ts.map +1 -1
- package/dist/realtime/realtime-client-session-service.js +79 -29
- package/dist/realtime/realtime-client-session-service.js.map +1 -1
- package/dist/realtime/realtime-coagent-config.d.ts +143 -14
- package/dist/realtime/realtime-coagent-config.d.ts.map +1 -1
- package/dist/realtime/realtime-coagent-config.js +187 -18
- package/dist/realtime/realtime-coagent-config.js.map +1 -1
- package/dist/realtime/realtime-vendor-resolution.d.ts +49 -0
- package/dist/realtime/realtime-vendor-resolution.d.ts.map +1 -0
- package/dist/realtime/realtime-vendor-resolution.js +43 -0
- package/dist/realtime/realtime-vendor-resolution.js.map +1 -0
- package/package.json +18 -18
|
@@ -21,10 +21,13 @@
|
|
|
21
21
|
* ```jsonc
|
|
22
22
|
* { "realtime": {
|
|
23
23
|
* "modelPreference": "<AI Model name or ID>",
|
|
24
|
-
*
|
|
24
|
+
* // `default.voice` is PROVIDER-AGNOSTIC: authored without naming a vendor, filed onto whichever
|
|
25
|
+
* // driver resolves. Prefer it — and note it WINS the `voice` key over any `providers.<key>.voice`
|
|
26
|
+
* // below (see GetProviderVoiceSettings). Pin per-vendor ids under `providers` only when the
|
|
27
|
+
* // voice ids genuinely differ by vendor, and then leave `default.voice` unset.
|
|
28
|
+
* "voice": { "default": { "tone": "…", "speakingStyle": "…", "voice": "<voice id>" },
|
|
25
29
|
* "providers": { "openai": { "voice": "alloy" },
|
|
26
30
|
* "elevenlabs": { "voice": "<voice id>" },
|
|
27
|
-
* "gemini": { "voice": "…" },
|
|
28
31
|
* "assemblyai": { "voice": "…" } } },
|
|
29
32
|
* "allowUserModelOverride": true,
|
|
30
33
|
* "narration": { "paceMs": 8000 } } }
|
|
@@ -75,8 +78,32 @@ export function GetSessionTuningSettings(config) {
|
|
|
75
78
|
if (typeof tuning.inputTranscriptionModel === 'string' && tuning.inputTranscriptionModel.trim().length > 0) {
|
|
76
79
|
bag['inputTranscriptionModel'] = tuning.inputTranscriptionModel.trim();
|
|
77
80
|
}
|
|
81
|
+
if (isPlainObject(tuning.turnDetection)) {
|
|
82
|
+
bag['turnDetection'] = { ...tuning.turnDetection };
|
|
83
|
+
}
|
|
78
84
|
return Object.keys(bag).length > 0 ? bag : null;
|
|
79
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Projects an EFFECTIVE model-catalog configuration (the resolved
|
|
88
|
+
* `AIModelType < AIModel < AIModelVendor` cascade — see
|
|
89
|
+
* `AIEngine.GetEffectiveModelConfiguration`) onto the flat Config-bag keys the realtime drivers
|
|
90
|
+
* consume. The result merges as the BASE layer of the session bag — below the agent/app
|
|
91
|
+
* `realtime.session` tuning and the runtime bag — so the catalog supplies defaults that every
|
|
92
|
+
* higher layer may refine.
|
|
93
|
+
*
|
|
94
|
+
* Currently projected: `Realtime.TurnDetection` → the `turnDetection` bag key. New catalog-driven
|
|
95
|
+
* session knobs project here — one function, both topologies.
|
|
96
|
+
*
|
|
97
|
+
* @param config The effective model configuration (or `null`/`undefined` when none).
|
|
98
|
+
* @returns The flat bag layer, or `null` when the catalog contributes nothing.
|
|
99
|
+
*/
|
|
100
|
+
export function GetModelCatalogSessionSettings(config) {
|
|
101
|
+
const turnDetection = config?.Realtime?.TurnDetection;
|
|
102
|
+
if (!isPlainObject(turnDetection)) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
return { turnDetection: { ...turnDetection } };
|
|
106
|
+
}
|
|
80
107
|
/** True for a plain JSON object (not null, not an array). */
|
|
81
108
|
function isPlainObject(value) {
|
|
82
109
|
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
@@ -395,8 +422,39 @@ function normalizeSession(raw) {
|
|
|
395
422
|
if (typeof itModel === 'string' && itModel.trim().length > 0) {
|
|
396
423
|
tuning.inputTranscriptionModel = itModel.trim();
|
|
397
424
|
}
|
|
425
|
+
const turnDetection = normalizeTurnDetection(raw['turnDetection']);
|
|
426
|
+
if (turnDetection) {
|
|
427
|
+
tuning.turnDetection = turnDetection;
|
|
428
|
+
}
|
|
398
429
|
return Object.keys(tuning).length > 0 ? tuning : undefined;
|
|
399
430
|
}
|
|
431
|
+
/**
|
|
432
|
+
* Normalizes the `session.turnDetection` block — only the recognized, correctly-typed knobs of the
|
|
433
|
+
* MJ-normalized turn-detection vocabulary survive. Returns `undefined` when nothing valid is
|
|
434
|
+
* present (tolerant, like every other cascade input). The drivers re-validate on extraction, so
|
|
435
|
+
* this is belt-and-braces plus a typed authoring surface.
|
|
436
|
+
*/
|
|
437
|
+
function normalizeTurnDetection(raw) {
|
|
438
|
+
if (!isPlainObject(raw)) {
|
|
439
|
+
return undefined;
|
|
440
|
+
}
|
|
441
|
+
const result = {};
|
|
442
|
+
const mode = raw['Mode'];
|
|
443
|
+
if (mode === 'default' || mode === 'serverVad' || mode === 'semanticVad' || mode === 'native') {
|
|
444
|
+
result.Mode = mode;
|
|
445
|
+
}
|
|
446
|
+
const eagerness = raw['Eagerness'];
|
|
447
|
+
if (eagerness === 'low' || eagerness === 'auto' || eagerness === 'high') {
|
|
448
|
+
result.Eagerness = eagerness;
|
|
449
|
+
}
|
|
450
|
+
if (typeof raw['Threshold'] === 'number' && Number.isFinite(raw['Threshold'])) {
|
|
451
|
+
result.Threshold = raw['Threshold'];
|
|
452
|
+
}
|
|
453
|
+
if (typeof raw['SilenceDurationMs'] === 'number' && Number.isFinite(raw['SilenceDurationMs'])) {
|
|
454
|
+
result.SilenceDurationMs = raw['SilenceDurationMs'];
|
|
455
|
+
}
|
|
456
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
457
|
+
}
|
|
400
458
|
/** Normalizes the `turnTaking` block (participation mode + room moderator); returns `null` when nothing usable survives. */
|
|
401
459
|
function normalizeTurnTaking(raw) {
|
|
402
460
|
if (!isPlainObject(raw)) {
|
|
@@ -508,6 +566,18 @@ function normalizeVideo(raw) {
|
|
|
508
566
|
}
|
|
509
567
|
return Object.keys(video).length > 0 ? video : null;
|
|
510
568
|
}
|
|
569
|
+
/**
|
|
570
|
+
* A raw authored value as a usable string, or `undefined` when it is absent, blank, or not a
|
|
571
|
+
* string. Blank-is-absent throughout the realtime config: an empty voice id or opening utterance
|
|
572
|
+
* is the setting being unset, not a value to carry to a driver.
|
|
573
|
+
*/
|
|
574
|
+
function readTrimmedString(raw) {
|
|
575
|
+
if (typeof raw !== 'string') {
|
|
576
|
+
return undefined;
|
|
577
|
+
}
|
|
578
|
+
const trimmed = raw.trim();
|
|
579
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
580
|
+
}
|
|
511
581
|
/** Normalizes the `voice` block; returns `null` when nothing usable survives. */
|
|
512
582
|
function normalizeVoice(raw) {
|
|
513
583
|
if (!isPlainObject(raw)) {
|
|
@@ -517,11 +587,24 @@ function normalizeVoice(raw) {
|
|
|
517
587
|
const rawDefault = raw['default'];
|
|
518
588
|
if (isPlainObject(rawDefault)) {
|
|
519
589
|
const persona = {};
|
|
520
|
-
|
|
521
|
-
|
|
590
|
+
// Assigned conditionally, never as `= undefined`: the emptiness check below counts OWN
|
|
591
|
+
// keys, so an all-blank persona has to produce an object with none rather than one full
|
|
592
|
+
// of undefineds that would then read as authored.
|
|
593
|
+
const tone = readTrimmedString(rawDefault['tone']);
|
|
594
|
+
if (tone) {
|
|
595
|
+
persona.tone = tone;
|
|
596
|
+
}
|
|
597
|
+
const speakingStyle = readTrimmedString(rawDefault['speakingStyle']);
|
|
598
|
+
if (speakingStyle) {
|
|
599
|
+
persona.speakingStyle = speakingStyle;
|
|
600
|
+
}
|
|
601
|
+
const voiceId = readTrimmedString(rawDefault['voice']);
|
|
602
|
+
if (voiceId) {
|
|
603
|
+
persona.voice = voiceId;
|
|
522
604
|
}
|
|
523
|
-
|
|
524
|
-
|
|
605
|
+
const firstMessage = readTrimmedString(rawDefault['firstMessage']);
|
|
606
|
+
if (firstMessage) {
|
|
607
|
+
persona.firstMessage = firstMessage;
|
|
525
608
|
}
|
|
526
609
|
if (Object.keys(persona).length > 0) {
|
|
527
610
|
voice.default = persona;
|
|
@@ -558,20 +641,101 @@ function normalizeKey(value) {
|
|
|
558
641
|
return value.toLowerCase().replace(/[^a-z0-9]/g, '');
|
|
559
642
|
}
|
|
560
643
|
/**
|
|
561
|
-
*
|
|
644
|
+
* Resolves the voice settings for a resolved realtime driver — the ONE place authored voice becomes a
|
|
645
|
+
* driver config bag, and the reason a host never has to know which vendor will run.
|
|
646
|
+
*
|
|
647
|
+
* Two sources, merged key-level:
|
|
648
|
+
* 1. **Provider-specific** ({@link RealtimeVoiceConfig.providers}) — keys (`openai`, `elevenlabs`,
|
|
649
|
+
* `gemini`, `assemblyai`, …) are matched against the vendor `DriverClass` (e.g. `OpenAIRealtime`)
|
|
650
|
+
* by normalized-prefix: both sides are lowercased and stripped of non-alphanumerics, then the driver
|
|
651
|
+
* class must START WITH the provider key (`openairealtime`.startsWith(`openai`)). A bare provider
|
|
652
|
+
* name (e.g. `'openai'` from `ClientRealtimeSessionConfig.Provider`) matches the same way. The
|
|
653
|
+
* LONGEST matching key wins when several match.
|
|
654
|
+
* 2. **Provider-agnostic** — the persona's WIRE-level slots ({@link RealtimeVoicePersona.voice} and
|
|
655
|
+
* {@link RealtimeVoicePersona.firstMessage}) supply their own keys for whatever driver resolved,
|
|
656
|
+
* and OVERRIDE a matched provider entry's value for those keys.
|
|
657
|
+
*
|
|
658
|
+
* Each agnostic value wins its OWN key. The merge is per-key, so a matched provider bag's other
|
|
659
|
+
* (opaque) settings still ride along. When the persona authors no wire-level slot this is
|
|
660
|
+
* byte-for-byte the pre-#3530 behavior.
|
|
661
|
+
*
|
|
662
|
+
* "Opaque pact" describes what this function and the drivers DO with the bag at runtime — it is not a
|
|
663
|
+
* statement about what an author may write in agent metadata. The agent type's `ConfigSchema` declares
|
|
664
|
+
* `providers.<key>` with `additionalProperties: false` and only `voice`/`voiceId`, so a metadata-authored
|
|
665
|
+
* bag carrying anything else fails validation on save. Keys beyond `voice` therefore reach a driver only
|
|
666
|
+
* via runtime `ConfigOverridesJson`, which bypasses that validator. (Pre-existing asymmetry, not
|
|
667
|
+
* introduced here; loosening the schema is a separate call because it would relax validation for every
|
|
668
|
+
* existing config.)
|
|
562
669
|
*
|
|
563
|
-
*
|
|
564
|
-
*
|
|
565
|
-
*
|
|
566
|
-
*
|
|
567
|
-
*
|
|
568
|
-
*
|
|
670
|
+
* **Known limitation.** This runs AFTER the cascade has been deep-merged, so it has no layer
|
|
671
|
+
* provenance: "agnostic wins" is absolute, not "the higher layer wins". That is right for the case
|
|
672
|
+
* that exists — every host builder emits the agnostic form, so an agnostic value is always the
|
|
673
|
+
* session-scoped pick and must beat a vendor-pinned value authored in agent metadata. It is wrong
|
|
674
|
+
* for a config that HAND-AUTHORS a `providers.<key>.voice` in a RUNTIME override while agent
|
|
675
|
+
* metadata sets `default.voice`: the metadata would outrank the override. Nothing emits that shape
|
|
676
|
+
* today. Making it correct means resolving voice precedence per-layer inside
|
|
677
|
+
* {@link ResolveEffectiveRealtimeConfig}, which is where layer identity still exists.
|
|
678
|
+
*
|
|
679
|
+
* The same absoluteness produces a SAME-LAYER specificity inversion, which the schema permits: agent
|
|
680
|
+
* metadata authoring both `default.voice` (intended as a fallback) and `providers.openai.voice` (a
|
|
681
|
+
* pin) gets the general beating the specific — the inverse of normal config intuition. Only the
|
|
682
|
+
* runtime-override case actually NEEDS the agnostic value to win, so "agnostic is a fallback unless it
|
|
683
|
+
* came from a runtime override" would be more predictable; it is not implemented because it needs the
|
|
684
|
+
* same per-layer provenance described above. Until then the authoring rule is the one stated on
|
|
685
|
+
* {@link RealtimeVoicePersona.voice}: pin per-vendor OR author agnostic, not both.
|
|
686
|
+
*
|
|
687
|
+
* Callers that need to know whether an authored provider key actually MATCHED (rather than what the
|
|
688
|
+
* driver should receive) must use {@link MatchProviderVoiceSettings} — this function is truthy for
|
|
689
|
+
* every driver once an agnostic voice is set, so it cannot answer that question.
|
|
569
690
|
*
|
|
570
691
|
* @param config The effective configuration.
|
|
571
692
|
* @param driverClassOrProvider The vendor `DriverClass` or the provider key itself.
|
|
572
|
-
* @returns The
|
|
693
|
+
* @returns The settings object (opaque driver pact), or `null` when nothing applies.
|
|
573
694
|
*/
|
|
574
695
|
export function GetProviderVoiceSettings(config, driverClassOrProvider) {
|
|
696
|
+
const matched = MatchProviderVoiceSettings(config, driverClassOrProvider);
|
|
697
|
+
const agnostic = collectAgnosticWireSettings(config?.realtime?.voice?.default);
|
|
698
|
+
if (!agnostic) {
|
|
699
|
+
return matched;
|
|
700
|
+
}
|
|
701
|
+
return { ...(matched ?? {}), ...agnostic };
|
|
702
|
+
}
|
|
703
|
+
/**
|
|
704
|
+
* The persona's WIRE-level slots as a driver config bag — the half of {@link RealtimeVoicePersona}
|
|
705
|
+
* that goes to the driver rather than into the system prompt (`tone` / `speakingStyle` are
|
|
706
|
+
* prompt-level and deliberately absent).
|
|
707
|
+
*
|
|
708
|
+
* Each slot overlays the matched provider bag key-by-key, which is what makes "agnostic wins its own
|
|
709
|
+
* key, the provider bag keeps everything else" hold for every slot rather than just for `voice`.
|
|
710
|
+
*
|
|
711
|
+
* @param persona The resolved persona, if any.
|
|
712
|
+
* @returns The overlay bag, or `null` when the persona contributes no wire-level setting — which is
|
|
713
|
+
* what keeps a config authoring none of them byte-for-byte identical to its pre-existing behavior.
|
|
714
|
+
*/
|
|
715
|
+
function collectAgnosticWireSettings(persona) {
|
|
716
|
+
const settings = {};
|
|
717
|
+
if (persona?.voice) {
|
|
718
|
+
settings['voice'] = persona.voice;
|
|
719
|
+
}
|
|
720
|
+
if (persona?.firstMessage) {
|
|
721
|
+
settings['firstMessage'] = persona.firstMessage;
|
|
722
|
+
}
|
|
723
|
+
return Object.keys(settings).length > 0 ? settings : null;
|
|
724
|
+
}
|
|
725
|
+
/**
|
|
726
|
+
* The provider-key half of {@link GetProviderVoiceSettings}: the longest normalized-prefix match
|
|
727
|
+
* between the authored `realtime.voice.providers` keys and the resolved driver, or `null` when none
|
|
728
|
+
* match.
|
|
729
|
+
*
|
|
730
|
+
* Exported because "did any authored provider key match this driver?" is a question
|
|
731
|
+
* {@link GetProviderVoiceSettings} cannot answer — it returns settings for every driver once an
|
|
732
|
+
* agnostic voice is set. Diagnosing dropped per-provider settings needs THIS.
|
|
733
|
+
*
|
|
734
|
+
* @param config The effective configuration.
|
|
735
|
+
* @param driverClassOrProvider The vendor `DriverClass` or the provider key itself.
|
|
736
|
+
* @returns The matched provider settings (opaque driver pact), or `null` when none match.
|
|
737
|
+
*/
|
|
738
|
+
export function MatchProviderVoiceSettings(config, driverClassOrProvider) {
|
|
575
739
|
const providers = config?.realtime?.voice?.providers;
|
|
576
740
|
if (!providers || !driverClassOrProvider) {
|
|
577
741
|
return null;
|
|
@@ -621,11 +785,16 @@ export function BuildVoiceMannerSection(config) {
|
|
|
621
785
|
* Builds the runtime-override `ConfigOverridesJson` envelope (the highest-precedence cascade layer) from a
|
|
622
786
|
* per-session model and/or voice choice — the **single, surface-agnostic** shape every realtime host uses
|
|
623
787
|
* to carry a dev's pick into {@link ResolveEffectiveRealtimeConfig}. The native-chat picker produces the
|
|
624
|
-
* same shape client-side (`BuildRealtimeConfigOverridesJson` in `@memberjunction/ng-conversations`
|
|
788
|
+
* same shape client-side (`BuildRealtimeConfigOverridesJson` in `@memberjunction/ng-conversations` — the
|
|
789
|
+
* two are kept in lockstep by `realtime-convergence-drift.test.ts`); the
|
|
625
790
|
* server-bridged hosts (LiveKit, Zoom/Teams) build it here so both funnel into the one override slot.
|
|
626
791
|
*
|
|
627
|
-
* Envelope: `{"realtime":{"modelPreference":"<id>","voice":{"
|
|
628
|
-
*
|
|
792
|
+
* Envelope: `{"realtime":{"modelPreference":"<id>","voice":{"default":{"voice":"<v>"}}}}`.
|
|
793
|
+
*
|
|
794
|
+
* The voice is filed PROVIDER-AGNOSTICALLY, which is what lets a host carry a voice at all: the vendor
|
|
795
|
+
* is not known here (and on the default-model path is not known to the caller at any point before the
|
|
796
|
+
* session is prepared), so naming one would be a guess. {@link GetProviderVoiceSettings} files this onto
|
|
797
|
+
* whichever driver the framework resolves. See issue #3530.
|
|
629
798
|
*
|
|
630
799
|
* @param modelId The `MJ: AI Models` Name or ID to prefer, or null/empty for none.
|
|
631
800
|
* @param voice The provider-native voice id (e.g. `echo`), or null/empty for none.
|
|
@@ -642,7 +811,7 @@ export function BuildRealtimeOverridesJson(modelId, voice) {
|
|
|
642
811
|
realtime.modelPreference = m;
|
|
643
812
|
}
|
|
644
813
|
if (v.length > 0) {
|
|
645
|
-
realtime.voice = {
|
|
814
|
+
realtime.voice = { default: { voice: v } };
|
|
646
815
|
}
|
|
647
816
|
return JSON.stringify({ realtime });
|
|
648
817
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-coagent-config.js","sourceRoot":"","sources":["../../src/realtime/realtime-coagent-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"realtime-coagent-config.js","sourceRoot":"","sources":["../../src/realtime/realtime-coagent-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview `SelectRealtimeVendorForModel` — the ONE answer to "which vendor actually runs this
|
|
3
|
+
* realtime model?".
|
|
4
|
+
*
|
|
5
|
+
* The decision (highest-`Priority` Active vendor whose `DriverClass` resolves an API key) previously
|
|
6
|
+
* existed as three byte-identical copies: `BaseAgent.selectRealtimeVendor`,
|
|
7
|
+
* `RealtimeClientSessionService.selectRealtimeVendor`, and the module-private
|
|
8
|
+
* `resolveRealtimeDriverClass` in `bridge-realtime-session-factory`. Three copies of one rule is three
|
|
9
|
+
* places to fix when the rule changes; this module is the single home so every realtime surface —
|
|
10
|
+
* client-direct, server-bridged, and the model/voice picker — resolves the same vendor for the same model.
|
|
11
|
+
*
|
|
12
|
+
* @module @memberjunction/ai-agents
|
|
13
|
+
* @author MemberJunction.com
|
|
14
|
+
*/
|
|
15
|
+
/** The vendor identifiers a resolved realtime model runs under. */
|
|
16
|
+
export interface RealtimeVendorSelection {
|
|
17
|
+
/** The chosen `MJ: AI Vendors` row id (empty string when the vendor row carries none). */
|
|
18
|
+
VendorID: string;
|
|
19
|
+
/**
|
|
20
|
+
* The chosen `MJ: AI Model Vendors` ROW id — NOT the vendor id. This is the most-specific layer of
|
|
21
|
+
* the `ModelConfiguration` catalog cascade (`AIModelType` < `AIModel` < `AIModelVendor`), so it must
|
|
22
|
+
* ride along with the driver identifiers: a caller that resolves a vendor in order to mint a session
|
|
23
|
+
* also needs it to read that session's catalog defaults.
|
|
24
|
+
*/
|
|
25
|
+
ModelVendorID: string;
|
|
26
|
+
/** The vendor's `DriverClass` — the `ClassFactory` key AND the per-provider voice-settings match key. */
|
|
27
|
+
DriverClass: string;
|
|
28
|
+
/** The vendor API name passed to the provider as the model id. */
|
|
29
|
+
APIName: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Resolves a key for a `DriverClass` from the environment. Injectable so callers that already own a
|
|
33
|
+
* key-resolution seam (and their tests) can substitute one without reaching into the environment.
|
|
34
|
+
*/
|
|
35
|
+
export type RealtimeAPIKeyResolver = (driverClass: string) => string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Selects the vendor that will run a realtime model: the highest-`Priority` **Active** `MJ: AI Model
|
|
38
|
+
* Vendors` row for the model whose `DriverClass` resolves an API key.
|
|
39
|
+
*
|
|
40
|
+
* Vendors are walked in descending `Priority` and the FIRST with a usable key wins — a keyless
|
|
41
|
+
* higher-priority vendor is skipped rather than dead-ending the resolution (a deployment that
|
|
42
|
+
* configures only one provider's key must still resolve that provider).
|
|
43
|
+
*
|
|
44
|
+
* @param modelID The `MJ: AI Models` row id to resolve a vendor for.
|
|
45
|
+
* @param resolveAPIKey Key-resolution seam; defaults to the process's configured AI API keys.
|
|
46
|
+
* @returns The vendor identifiers, or `null` when no active vendor has a usable key.
|
|
47
|
+
*/
|
|
48
|
+
export declare function SelectRealtimeVendorForModel(modelID: string, resolveAPIKey?: RealtimeAPIKeyResolver): RealtimeVendorSelection | null;
|
|
49
|
+
//# sourceMappingURL=realtime-vendor-resolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-vendor-resolution.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime-vendor-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACpC,0FAA0F;IAC1F,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,yGAAyG;IACzG,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAKjF;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CACxC,OAAO,EAAE,MAAM,EACf,aAAa,GAAE,sBAA8C,GAC9D,uBAAuB,GAAG,IAAI,CAWhC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview `SelectRealtimeVendorForModel` — the ONE answer to "which vendor actually runs this
|
|
3
|
+
* realtime model?".
|
|
4
|
+
*
|
|
5
|
+
* The decision (highest-`Priority` Active vendor whose `DriverClass` resolves an API key) previously
|
|
6
|
+
* existed as three byte-identical copies: `BaseAgent.selectRealtimeVendor`,
|
|
7
|
+
* `RealtimeClientSessionService.selectRealtimeVendor`, and the module-private
|
|
8
|
+
* `resolveRealtimeDriverClass` in `bridge-realtime-session-factory`. Three copies of one rule is three
|
|
9
|
+
* places to fix when the rule changes; this module is the single home so every realtime surface —
|
|
10
|
+
* client-direct, server-bridged, and the model/voice picker — resolves the same vendor for the same model.
|
|
11
|
+
*
|
|
12
|
+
* @module @memberjunction/ai-agents
|
|
13
|
+
* @author MemberJunction.com
|
|
14
|
+
*/
|
|
15
|
+
import { GetAIAPIKey } from '@memberjunction/ai';
|
|
16
|
+
import { UUIDsEqual } from '@memberjunction/global';
|
|
17
|
+
import { AIEngine } from '@memberjunction/aiengine';
|
|
18
|
+
/** The default resolver — the process's configured AI API keys. */
|
|
19
|
+
const defaultAPIKeyResolver = (driverClass) => GetAIAPIKey(driverClass) || undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Selects the vendor that will run a realtime model: the highest-`Priority` **Active** `MJ: AI Model
|
|
22
|
+
* Vendors` row for the model whose `DriverClass` resolves an API key.
|
|
23
|
+
*
|
|
24
|
+
* Vendors are walked in descending `Priority` and the FIRST with a usable key wins — a keyless
|
|
25
|
+
* higher-priority vendor is skipped rather than dead-ending the resolution (a deployment that
|
|
26
|
+
* configures only one provider's key must still resolve that provider).
|
|
27
|
+
*
|
|
28
|
+
* @param modelID The `MJ: AI Models` row id to resolve a vendor for.
|
|
29
|
+
* @param resolveAPIKey Key-resolution seam; defaults to the process's configured AI API keys.
|
|
30
|
+
* @returns The vendor identifiers, or `null` when no active vendor has a usable key.
|
|
31
|
+
*/
|
|
32
|
+
export function SelectRealtimeVendorForModel(modelID, resolveAPIKey = defaultAPIKeyResolver) {
|
|
33
|
+
const vendors = AIEngine.Instance.ModelVendors
|
|
34
|
+
.filter(mv => UUIDsEqual(mv.ModelID, modelID) && mv.Status === 'Active' && mv.DriverClass != null)
|
|
35
|
+
.sort((a, b) => (b.Priority ?? 0) - (a.Priority ?? 0));
|
|
36
|
+
for (const v of vendors) {
|
|
37
|
+
if (resolveAPIKey(v.DriverClass)) {
|
|
38
|
+
return { VendorID: v.VendorID ?? '', ModelVendorID: v.ID, DriverClass: v.DriverClass, APIName: v.APIName ?? '' };
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=realtime-vendor-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-vendor-resolution.js","sourceRoot":"","sources":["../../src/realtime/realtime-vendor-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAyBpD,mEAAmE;AACnE,MAAM,qBAAqB,GAA2B,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;AAE7G;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CACxC,OAAe,EACf,gBAAwC,qBAAqB;IAE7D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY;SACzC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC;SACjG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACtB,IAAI,aAAa,CAAC,CAAC,CAAC,WAAY,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAY,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACtH,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ai-agents",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.1.0-edge.
|
|
4
|
+
"version": "6.1.0-edge.2",
|
|
5
5
|
"description": "MemberJunction: AI Agent Execution and Management",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -11,23 +11,23 @@
|
|
|
11
11
|
"author": "MemberJunction.com",
|
|
12
12
|
"license": "ISC",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@memberjunction/actions": "6.1.0-edge.
|
|
15
|
-
"@memberjunction/actions-base": "6.1.0-edge.
|
|
16
|
-
"@memberjunction/ai": "6.1.0-edge.
|
|
17
|
-
"@memberjunction/ai-core-plus": "6.1.0-edge.
|
|
18
|
-
"@memberjunction/ai-engine-base": "6.1.0-edge.
|
|
19
|
-
"@memberjunction/ai-prompts": "6.1.0-edge.
|
|
20
|
-
"@memberjunction/ai-reranker": "6.1.0-edge.
|
|
21
|
-
"@memberjunction/ai-vector-dupe": "6.1.0-edge.
|
|
22
|
-
"@memberjunction/ai-vector-sync": "6.1.0-edge.
|
|
23
|
-
"@memberjunction/aiengine": "6.1.0-edge.
|
|
24
|
-
"@memberjunction/context-crush": "6.1.0-edge.
|
|
25
|
-
"@memberjunction/core": "6.1.0-edge.
|
|
26
|
-
"@memberjunction/core-entities": "6.1.0-edge.
|
|
27
|
-
"@memberjunction/global": "6.1.0-edge.
|
|
28
|
-
"@memberjunction/search-engine": "6.1.0-edge.
|
|
29
|
-
"@memberjunction/storage": "6.1.0-edge.
|
|
30
|
-
"@memberjunction/templates": "6.1.0-edge.
|
|
14
|
+
"@memberjunction/actions": "6.1.0-edge.2",
|
|
15
|
+
"@memberjunction/actions-base": "6.1.0-edge.2",
|
|
16
|
+
"@memberjunction/ai": "6.1.0-edge.2",
|
|
17
|
+
"@memberjunction/ai-core-plus": "6.1.0-edge.2",
|
|
18
|
+
"@memberjunction/ai-engine-base": "6.1.0-edge.2",
|
|
19
|
+
"@memberjunction/ai-prompts": "6.1.0-edge.2",
|
|
20
|
+
"@memberjunction/ai-reranker": "6.1.0-edge.2",
|
|
21
|
+
"@memberjunction/ai-vector-dupe": "6.1.0-edge.2",
|
|
22
|
+
"@memberjunction/ai-vector-sync": "6.1.0-edge.2",
|
|
23
|
+
"@memberjunction/aiengine": "6.1.0-edge.2",
|
|
24
|
+
"@memberjunction/context-crush": "6.1.0-edge.2",
|
|
25
|
+
"@memberjunction/core": "6.1.0-edge.2",
|
|
26
|
+
"@memberjunction/core-entities": "6.1.0-edge.2",
|
|
27
|
+
"@memberjunction/global": "6.1.0-edge.2",
|
|
28
|
+
"@memberjunction/search-engine": "6.1.0-edge.2",
|
|
29
|
+
"@memberjunction/storage": "6.1.0-edge.2",
|
|
30
|
+
"@memberjunction/templates": "6.1.0-edge.2",
|
|
31
31
|
"dotenv": "^17.2.4",
|
|
32
32
|
"exceljs": "^4.4.0",
|
|
33
33
|
"lodash": "^4.17.23",
|