From 280d879c79f39b2e0cc8de4a30bcca9b7d294598 Mon Sep 17 00:00:00 2001 From: Erik Garrison Date: Fri, 27 Feb 2026 13:59:12 -0600 Subject: [PATCH] feat: inject _instance_name from provider name field into config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the provider config has a 'name' field (from settings.yaml), inject it as '_instance_name' into the provider config before loading. This enables named provider instances where the same module (e.g., provider-openai) can be used for multiple services (openrouter, deepseek, etc.) with different names. Companion to PR #17 on provider-openai which added _instance_name support for named provider instances. 🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier) Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com> --- amplifier_core/session.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/amplifier_core/session.py b/amplifier_core/session.py index d641d7a..a55007f 100644 --- a/amplifier_core/session.py +++ b/amplifier_core/session.py @@ -205,6 +205,15 @@ async def initialize(self) -> None: if not module_id: continue + # Inject _instance_name from the provider's name field if present + # This enables named provider instances (e.g., "openrouter" for provider-openai) + provider_name = provider_config.get("name") + provider_config = provider_config.copy() + if provider_name: + provider_config["_instance_name"] = provider_name + else: + provider_config["_instance_name"] = module_id + try: logger.info(f"Loading provider: {module_id}") provider_mount = await self.loader.load(