acp_sdk.models.models module

pydantic model acp_sdk.models.models.AgentManifest[source]

Bases: BaseModel

field description: str | None = None
field metadata: Metadata = Metadata(annotations=None, documentation=None, license=None, programming_language=None, natural_languages=None, framework=None, capabilities=None, domains=None, tags=None, created_at=None, updated_at=None, author=None, contributors=None, links=None, dependencies=None, recommended_models=None)
field name: str [Required]
pydantic model acp_sdk.models.models.Annotations[source]

Bases: BaseModel

Config:
  • extra: str = allow

field beeai_ui: PlatformUIAnnotation | None = None
pydantic model acp_sdk.models.models.AnyModel[source]

Bases: BaseModel

Config:
  • extra: str = allow

pydantic model acp_sdk.models.models.Artifact[source]

Bases: MessagePart

Config:
  • extra: str = allow

field name: str [Required]
pydantic model acp_sdk.models.models.ArtifactEvent[source]

Bases: BaseModel

field part: Artifact [Required]
field type: Literal['message.part'] = 'message.part'
pydantic model acp_sdk.models.models.Author[source]

Bases: BaseModel

field email: str | None = None
field name: str [Required]
field url: AnyUrl | None = None
acp_sdk.models.models.AwaitRequest

alias of MessageAwaitRequest

acp_sdk.models.models.AwaitResume

alias of MessageAwaitResume

pydantic model acp_sdk.models.models.Capability[source]

Bases: BaseModel

field description: str [Required]
field name: str [Required]
pydantic model acp_sdk.models.models.CitationMetadata[source]

Bases: BaseModel

Represents an inline citation, providing info about information source. This is supposed to be rendered as an inline icon, optionally marking a text range it belongs to.

If CitationMetadata is included together with content in the message part, the citation belongs to that content and renders at the MessagePart position. This way may be used for non-text content, like images and files.

Alternatively, start_index and end_index may define a text range, counting characters in the current Message across all MessageParts with content type text/*, where the citation will be rendered. If one of start_index and end_index is missing or their values are equal, the citation renders only as an inline icon at that position.

If both start_index and end_index are not present and MessagePart has no content, the citation renders as inline icon only at the MessagePart position.

Properties: - url: URL of the source document. - title: Title of the source document. - description: Accompanying text, which may be a general description of the

source document, or a specific snippet.

field description: str | None [Required]
field end_index: int | None [Required]
field kind: Literal['citation'] = 'citation'
field start_index: int | None [Required]
field title: str | None [Required]
field url: str | None [Required]
pydantic model acp_sdk.models.models.Contributor[source]

Bases: BaseModel

field email: str | None = None
field name: str [Required]
field url: AnyUrl | None = None
pydantic model acp_sdk.models.models.Dependency[source]

Bases: BaseModel

field name: str [Required]
field type: DependencyType [Required]
class acp_sdk.models.models.DependencyType[source]

Bases: str, Enum

AGENT = 'agent'
MODEL = 'model'
TOOL = 'tool'
pydantic model acp_sdk.models.models.ErrorEvent[source]

Bases: BaseModel

field error: Error [Required]
field type: Literal['error'] = 'error'
pydantic model acp_sdk.models.models.GenericEvent[source]

Bases: BaseModel

field generic: AnyModel [Required]
field type: Literal['generic'] = 'generic'

Bases: BaseModel

field type: LinkType [Required]
field url: AnyUrl [Required]
class acp_sdk.models.models.LinkType[source]

Bases: str, Enum

CONTAINER_IMAGE = 'container-image'
DOCUMENTATION = 'documentation'
HOMEPAGE = 'homepage'
SOURCE_CODE = 'source-code'
pydantic model acp_sdk.models.models.Message[source]

Bases: BaseModel

field completed_at: datetime | None [Optional]
field created_at: datetime | None [Optional]
field parts: list[MessagePart] [Required]
field role: Literal['user'] | Literal['agent'] | str = 'user'
Constraints:
compress()[source]
Return type:

Message

pydantic model acp_sdk.models.models.MessageAwaitRequest[source]

Bases: BaseModel

field message: Message [Required]
field type: Literal['message'] = 'message'
pydantic model acp_sdk.models.models.MessageAwaitResume[source]

Bases: BaseModel

field message: Message [Required]
field type: Literal['message'] = 'message'
pydantic model acp_sdk.models.models.MessageCompletedEvent[source]

Bases: BaseModel

field message: Message [Required]
field type: Literal['message.completed'] = 'message.completed'
pydantic model acp_sdk.models.models.MessageCreatedEvent[source]

Bases: BaseModel

field message: Message [Required]
field type: Literal['message.created'] = 'message.created'
pydantic model acp_sdk.models.models.MessagePart[source]

Bases: BaseModel

Config:
  • extra: str = allow

field content: str | None = None
field content_encoding: Literal['plain', 'base64'] | None = 'plain'
field content_type: str | None = 'text/plain'
field content_url: AnyUrl | None = None
field metadata: CitationMetadata | TrajectoryMetadata | None = None
field name: str | None = None
model_post_init(_MessagePart__context)[source]

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

Parameters:

_MessagePart__context (Any)

Return type:

None

pydantic model acp_sdk.models.models.MessagePartEvent[source]

Bases: BaseModel

field part: MessagePart [Required]
field type: Literal['message.part'] = 'message.part'
pydantic model acp_sdk.models.models.Metadata[source]

Bases: BaseModel

Config:
  • extra: str = allow

field annotations: Annotations | None = None
field author: Author | None = None
field capabilities: list[Capability] | None = None
field contributors: list[Contributor] | None = None
field created_at: datetime | None = None
field dependencies: list[Dependency] | None = None
field documentation: str | None = None
field domains: list[str] | None = None
field framework: str | None = None
field license: str | None = None
field natural_languages: list[str] | None = None
field programming_language: str | None = None
field recommended_models: list[str] | None = None
field tags: list[str] | None = None
field updated_at: datetime | None = None
pydantic model acp_sdk.models.models.Run[source]

Bases: BaseModel

field agent_name: str [Required]
field await_request: MessageAwaitRequest | None = None
field created_at: datetime [Optional]
field error: Error | None = None
field finished_at: datetime | None = None
field output: list[Message] = []
field run_id: UUID [Optional]
field session_id: UUID | None = None
field status: RunStatus = RunStatus.CREATED
raise_for_status()[source]
Return type:

Run

pydantic model acp_sdk.models.models.RunAwaitingEvent[source]

Bases: BaseModel

field run: Run [Required]
field type: Literal['run.awaiting'] = 'run.awaiting'
pydantic model acp_sdk.models.models.RunCancelledEvent[source]

Bases: BaseModel

field run: Run [Required]
field type: Literal['run.cancelled'] = 'run.cancelled'
pydantic model acp_sdk.models.models.RunCompletedEvent[source]

Bases: BaseModel

field run: Run [Required]
field type: Literal['run.completed'] = 'run.completed'
pydantic model acp_sdk.models.models.RunCreatedEvent[source]

Bases: BaseModel

field run: Run [Required]
field type: Literal['run.created'] = 'run.created'
pydantic model acp_sdk.models.models.RunFailedEvent[source]

Bases: BaseModel

field run: Run [Required]
field type: Literal['run.failed'] = 'run.failed'
pydantic model acp_sdk.models.models.RunInProgressEvent[source]

Bases: BaseModel

field run: Run [Required]
field type: Literal['run.in-progress'] = 'run.in-progress'
class acp_sdk.models.models.RunMode[source]

Bases: str, Enum

ASYNC = 'async'
STREAM = 'stream'
SYNC = 'sync'
class acp_sdk.models.models.RunStatus[source]

Bases: str, Enum

AWAITING = 'awaiting'
CANCELLED = 'cancelled'
CANCELLING = 'cancelling'
COMPLETED = 'completed'
CREATED = 'created'
FAILED = 'failed'
IN_PROGRESS = 'in-progress'
property is_terminal: bool
pydantic model acp_sdk.models.models.Session[source]

Bases: BaseModel

Config:
  • arbitrary_types_allowed: bool = True

field history: list[AnyHttpUrl] [Optional]
field id: UUID [Optional]
field loader: Annotated[ResourceLoader | None, SkipJsonSchema()] = None
field state: AnyHttpUrl | None = None
field store: Annotated[ResourceStore | None, SkipJsonSchema()] = None
async load_history(*, loader=None)[source]
Parameters:

loader (ResourceLoader | None)

Return type:

AsyncIterator[Message]

async load_state(*, loader=None)[source]
Parameters:

loader (ResourceLoader | None)

Return type:

bytes

async store_state(data, *, store=None)[source]
Parameters:
  • data (bytes)

  • store (ResourceStore | None)

Return type:

AnyHttpUrl

pydantic model acp_sdk.models.models.TrajectoryMetadata[source]

Bases: BaseModel

Represents trajectory information for an agent’s reasoning or tool execution steps. This metadata helps track the agent’s decision-making process and provides transparency into how the agent arrived at its response.

TrajectoryMetadata can capture either: 1. A reasoning step with a message 2. A tool execution with tool name, input, and output

This information can be used for debugging, audit trails, and providing users with insight into the agent’s thought process.

Properties: - message: A reasoning step or thought in the agent’s decision process. - tool_name: Name of the tool that was executed. - tool_input: Input parameters passed to the tool. - tool_output: Output or result returned by the tool.

field kind: Literal['trajectory'] = 'trajectory'
field message: str | None = None
field tool_input: AnyModel | None = None
field tool_name: str | None = None
field tool_output: AnyModel | None = None