Commit 5762346
committed
feat(db): refactor database backend to be database-agnostic
This allows users to choose their preferred database backend (PostgreSQL, MySQL, SQLite) while maintaining full compatibility and proper type safety.
- Replace PostgreSQL-specific JSONB with generic JSON type in models
- Implement SQLAlchemy 2.0 best practices with Mapped types and TypeDecorator
- Add configurable table name support via create_task_model() factory
- Updated metadata field mapping between Pydantic and SQLAlchemy using declared_attr
- Add comprehensive tests for metadata field mapping including complex nested data
- Update GitHub Actions to install SQL dependencies for tests
- Add pytest.importorskip to gracefully skip database tests when SQLAlchemy not installed
- Fix test_types.py to use 'id' instead of 'taskId' for JSON-RPC requests
- Add automatic cleanup of SQLite file::memory: files after tests
- Remove examples directory (moved to separate a2a-samples repo)
- Update pyproject.toml to remove workspace members reference and add `nox` for testing1 parent bec80cf commit 5762346
File tree
33 files changed
+1104
-3600
lines changed- examples
- google_adk
- birthday_planner
- calendar_agent
- helloworld
- langgraph
- src/a2a
- server
- tasks
- tests
- server/tasks
33 files changed
+1104
-3600
lines changedWhitespace-only changes.
This file was deleted.
Whitespace-only changes.
This file was deleted.
0 commit comments