From a44cdae36e4d969eb6e1f127af74baf48b5d621c Mon Sep 17 00:00:00 2001 From: tofarr Date: Thu, 27 Mar 2025 13:28:53 -0600 Subject: [PATCH] Fix for broken OpenAPI Schema (#7558) --- openhands/integrations/provider.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/openhands/integrations/provider.py b/openhands/integrations/provider.py index 29948e880e..74f344f9b7 100644 --- a/openhands/integrations/provider.py +++ b/openhands/integrations/provider.py @@ -2,13 +2,14 @@ from __future__ import annotations from enum import Enum from types import MappingProxyType -from typing import Any, Coroutine, Literal, overload +from typing import Annotated, Any, Coroutine, Literal, overload from pydantic import ( BaseModel, Field, SecretStr, SerializationInfo, + WithJsonSchema, field_serializer, model_validator, ) @@ -58,10 +59,14 @@ class ProviderToken(BaseModel): PROVIDER_TOKEN_TYPE = MappingProxyType[ProviderType, ProviderToken] CUSTOM_SECRETS_TYPE = MappingProxyType[str, SecretStr] +PROVIDER_TOKEN_TYPE_WITH_JSON_SCHEMA = Annotated[ + PROVIDER_TOKEN_TYPE, + WithJsonSchema({'type': 'object', 'additionalProperties': {'type': 'string'}}), +] class SecretStore(BaseModel): - provider_tokens: PROVIDER_TOKEN_TYPE = Field( + provider_tokens: PROVIDER_TOKEN_TYPE_WITH_JSON_SCHEMA = Field( default_factory=lambda: MappingProxyType({}) )