fix: populate discriminator_values for host-scoped credential matching

- Run black formatter on utils.py
- Add discriminator_values population in _resolve_discriminated_credentials
  so _credential_is_for_host can correctly match host-scoped credentials
This commit is contained in:
Otto
2026-02-09 02:32:16 +00:00
parent 9da7efd17c
commit 8431fbc33a
2 changed files with 6 additions and 1 deletions

View File

@@ -106,6 +106,9 @@ class RunBlockTool(BaseTool):
and discriminator_value in field_info.discriminator_mapping
):
effective_field_info = field_info.discriminate(discriminator_value)
# For host-scoped credentials, add the discriminator value
# (e.g., URL) so _credential_is_for_host can match it
effective_field_info.discriminator_values.add(discriminator_value)
logger.debug(
f"Discriminated provider for {field_name}: "
f"{discriminator_value} -> {effective_field_info.provider}"

View File

@@ -295,7 +295,9 @@ def find_matching_credential(
continue
if cred.type not in field_info.supported_types:
continue
if cred.type == "oauth2" and not _credential_has_required_scopes(cred, field_info):
if cred.type == "oauth2" and not _credential_has_required_scopes(
cred, field_info
):
continue
if cred.type == "host_scoped" and not _credential_is_for_host(cred, field_info):
continue