Resolves the EFFECTIVE model configuration by deep-merging the catalog layers, base first —
type default < model < model-vendor. Merge semantics are identical to the realtime config
cascade (DeepMergeConfigs in @memberjunction/ai-agents — duplicated here because package
layering runs the other way):
plain object vs plain object → recursive per-key merge (a vendor row overriding ONE
Realtime.TurnDetection knob does not wipe the model's other sections);
anything else (arrays, strings, numbers, booleans, null) → the later value REPLACES;
null/undefined LAYERS are skipped entirely; inputs are never mutated.
Resolves the EFFECTIVE model configuration by deep-merging the catalog layers, base first — type default < model < model-vendor. Merge semantics are identical to the realtime config cascade (
DeepMergeConfigsin@memberjunction/ai-agents— duplicated here because package layering runs the other way):Realtime.TurnDetectionknob does not wipe the model's other sections);null) → the later value REPLACES;null/undefinedLAYERS are skipped entirely; inputs are never mutated.