fix(backend): Fix 4 (deprecation) warnings on startup (#10759)

Fixes these warnings on startup:
```
/home/reinier/code/agpt/AutoGPT/autogpt_platform/backend/.venv/lib/python3.11/site-packages/pydantic/_internal/_config.py:373: UserWarning: Valid config keys have changed in V2:
* 'schema_extra' has been renamed to 'json_schema_extra'
  warnings.warn(message, UserWarning)
/home/reinier/code/agpt/AutoGPT/autogpt_platform/backend/.venv/lib/python3.11/site-packages/pydantic/_internal/_config.py:323: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.11/migration/
  warnings.warn(DEPRECATION_MESSAGE, DeprecationWarning)
/home/reinier/code/agpt/AutoGPT/autogpt_platform/backend/.venv/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:298: PydanticDeprecatedSince20: `json_encoders` is deprecated. See https://docs.pydantic.dev/2.11/concepts/serialization/#custom-serializers for alternatives. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.11/migration/
  warnings.warn(
/home/reinier/code/agpt/AutoGPT/autogpt_platform/backend/.venv/lib/python3.11/site-packages/pydantic/_internal/_fields.py:294: UserWarning: `alias` specification on field "created_at" must be set on outermost annotation to take effect.
  warnings.warn(
/home/reinier/code/agpt/AutoGPT/autogpt_platform/backend/.venv/lib/python3.11/site-packages/pydantic/_internal/_fields.py:294: UserWarning: `alias` specification on field "updated_at" must be set on outermost annotation to take effect.
  warnings.warn(
```

- Resolves #10758

### Changes 🏗️

- Fix field annotations in `backend/blocks/exa/websets.py`
- Replace deprecated JSON encoder specification in
`backend/blocks/wordpress/_api.py` by field serializer
- Move deprecated `schema_extra` example specification in
`backend/server/integrations/models.py` to `Field(examples=...)`

The two remaining warnings that appear on start-up aren't trivial to
fix.

### Checklist 📋

#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
  - [x] Changes are trivial and do not require further testing
This commit is contained in:
Reinier van der Leer
2025-08-28 12:34:58 +01:00
committed by GitHub
parent 0f477e2392
commit df3c81a7a6
4 changed files with 26 additions and 18 deletions

View File

@@ -93,11 +93,11 @@ class Webset(BaseModel):
"""
Set of key-value pairs you want to associate with this object.
"""
created_at: Annotated[datetime, Field(alias="createdAt")] | None = None
created_at: Annotated[datetime | None, Field(alias="createdAt")] = None
"""
The date and time the webset was created
"""
updated_at: Annotated[datetime, Field(alias="updatedAt")] | None = None
updated_at: Annotated[datetime | None, Field(alias="updatedAt")] = None
"""
The date and time the webset was last updated
"""

View File

@@ -4,6 +4,8 @@ from logging import getLogger
from typing import Any, Dict, List, Union
from urllib.parse import urlencode
from pydantic import field_serializer
from backend.sdk import BaseModel, Credentials, Requests
logger = getLogger(__name__)
@@ -382,8 +384,9 @@ class CreatePostRequest(BaseModel):
# Advanced
metadata: List[Dict[str, Any]] | None = None
class Config:
json_encoders = {datetime: lambda v: v.isoformat()}
@field_serializer("date")
def serialize_date(self, value: datetime | None) -> str | None:
return value.isoformat() if value else None
class PostAuthor(BaseModel):

View File

@@ -58,17 +58,13 @@ class ProviderConstants(BaseModel):
default_factory=lambda: {
name.upper().replace("-", "_"): name for name in get_all_provider_names()
},
)
class Config:
schema_extra = {
"example": {
"PROVIDER_NAMES": {
"OPENAI": "openai",
"ANTHROPIC": "anthropic",
"EXA": "exa",
"GEM": "gem",
"EXAMPLE_SERVICE": "example-service",
}
examples=[
{
"OPENAI": "openai",
"ANTHROPIC": "anthropic",
"EXA": "exa",
"GEM": "gem",
"EXAMPLE_SERVICE": "example-service",
}
}
],
)

View File

@@ -6319,7 +6319,16 @@
"additionalProperties": { "type": "string" },
"type": "object",
"title": "Provider Names",
"description": "All available provider names as a constant mapping"
"description": "All available provider names as a constant mapping",
"examples": [
{
"ANTHROPIC": "anthropic",
"EXA": "exa",
"EXAMPLE_SERVICE": "example-service",
"GEM": "gem",
"OPENAI": "openai"
}
]
}
},
"type": "object",