a2a.server.models module¶
- class a2a.server.models.Base(**kwargs: Any)¶
Bases:
DeclarativeBaseBase class for declarative models in A2A SDK.
- metadata: ClassVar[MetaData] = MetaData()¶
Refers to the
_schema.MetaDatacollection that will be used for new_schema.Tableobjects.See also
orm_declarative_metadata
- registry: ClassVar[registry] = <sqlalchemy.orm.decl_api.registry object>¶
Refers to the
_orm.registryin use where new_orm.Mapperobjects will be associated.
- class a2a.server.models.PushNotificationConfigMixin¶
Bases:
objectMixin providing standard push notification config columns.
- config_id: Mapped[str] = <sqlalchemy.orm.properties.MappedColumn object>¶
- owner: Mapped[str] = <sqlalchemy.orm.properties.MappedColumn object>¶
- protocol_version: Mapped[str | None] = <sqlalchemy.orm.properties.MappedColumn object>¶
- task_id: Mapped[str] = <sqlalchemy.orm.properties.MappedColumn object>¶
- class a2a.server.models.PushNotificationConfigModel(**kwargs)¶
Bases:
PushNotificationConfigMixin,BaseDefault push notification config model with standard table name.
- config_id: Mapped[str]¶
- owner: Mapped[str]¶
- protocol_version: Mapped[str | None]¶
- task_id: Mapped[str]¶
- class a2a.server.models.TaskMixin¶
Bases:
objectMixin providing standard task columns with proper type handling.
- context_id: Mapped[str] = <sqlalchemy.orm.properties.MappedColumn object>¶
- id: Mapped[str] = <sqlalchemy.orm.properties.MappedColumn object>¶
- kind: Mapped[str] = <sqlalchemy.orm.properties.MappedColumn object>¶
- last_updated: Mapped[datetime | None] = <sqlalchemy.orm.properties.MappedColumn object>¶
- owner: Mapped[str] = <sqlalchemy.orm.properties.MappedColumn object>¶
- protocol_version: Mapped[str | None] = <sqlalchemy.orm.properties.MappedColumn object>¶
- status: Mapped[TaskStatus] = <sqlalchemy.orm.properties.MappedColumn object>¶
- task_metadata = <sqlalchemy.orm.properties.MappedColumn object>¶
- class a2a.server.models.TaskModel(**kwargs)¶
-
Default task model with standard table name.
- context_id: Mapped[str]¶
- id: Mapped[str]¶
- kind: Mapped[str]¶
- last_updated: Mapped[datetime | None]¶
- owner: Mapped[str]¶
- protocol_version: Mapped[str | None]¶
- status: Mapped[TaskStatus]¶
- task_metadata¶
- a2a.server.models.create_push_notification_config_model(table_name: str = 'push_notification_configs', base: type[DeclarativeBase] = <class 'a2a.server.models.Base'>) type¶
Create a PushNotificationConfigModel class with a configurable table name.
- a2a.server.models.create_task_model(table_name: str = 'tasks', base: type[DeclarativeBase] = <class 'a2a.server.models.Base'>) type¶
Create a TaskModel class with a configurable table name.
- Parameters:
table_name – Name of the database table. Defaults to ‘tasks’.
base – Base declarative class to use. Defaults to the SDK’s Base class.
- Returns:
TaskModel class with the specified table name.
Example
# Create a task model with default table name TaskModel = create_task_model() # Create a task model with custom table name CustomTaskModel = create_task_model('my_tasks') # Use with a custom base from myapp.database import Base as MyBase TaskModel = create_task_model('tasks', MyBase)
- a2a.server.models.override(func)¶
Override decorator.