roboto.ai.core.content#
Message-content primitive value types shared across the roboto.ai layer.
These are the leaf building blocks of AgentMessage.content. They live
here — below both roboto.ai.core.record and roboto.ai.goals —
so the goals layer can reference the raw tool-call blocks (to carry them on a
GoalResult) without importing from core.record. That keeps the
roboto.ai import graph a DAG: core.content depends on nothing in
roboto.ai; goals and core.record both depend down onto it.
Module Contents#
- type roboto.ai.core.content.AgentContent = AgentTextContent | AgentToolUseContent | AgentToolResultContent | AgentErrorContent#
Type alias for all possible content types within agent messages.
- class roboto.ai.core.content.AgentContentType#
Bases:
roboto.compat.StrEnumEnumeration of different types of content within agent messages.
Defines the various content types that can be included in agent messages.
- ERROR = 'error'#
Error information when message generation fails.
- TEXT = 'text'#
Plain text content from users or AI responses.
- TOOL_RESULT = 'tool_result'#
Results returned from tool executions.
- TOOL_USE = 'tool_use'#
Tool invocation requests from the AI assistant.
- class roboto.ai.core.content.AgentErrorContent(/, **data)#
Bases:
pydantic.BaseModelError content within an agent message.
Used when message generation fails due to an error or is cancelled by the user.
- Parameters:
data (Any)
- content_type: Literal[AgentContentType]#
- error_code: str | None = None#
Optional error code for programmatic handling.
- error_message: str#
User-friendly error message describing what went wrong.
- class roboto.ai.core.content.AgentTextContent(/, **data)#
Bases:
pydantic.BaseModelText content within an agent message.
- Parameters:
data (Any)
- text: str#
The actual text content of the message.
- class roboto.ai.core.content.AgentToolResultContent(/, **data)#
Bases:
pydantic.BaseModelTool execution result content within an agent message.
- Parameters:
data (Any)
- content_type: Literal[AgentContentType]#
- raw_response: dict[str, Any] | None = None#
Raw, unparsed response payload from tool execution.
- runtime_ms: int#
Wall-clock execution time of the tool in milliseconds.
- status: str#
Outcome of the tool execution (e.g. ‘success’, ‘error’).
- tool_name: str#
Name of the tool that was executed.
- tool_use_id: str#
Identifier of the tool invocation this result corresponds to.
- class roboto.ai.core.content.AgentToolUseContent(/, **data)#
Bases:
pydantic.BaseModelTool usage request content within an agent message.
- Parameters:
data (Any)
- content_type: Literal[AgentContentType]#
- input: dict[str, Any] | None = None#
Parsed tool input parameters chosen by the LLM (provider-agnostic).
- raw_request: dict[str, Any] | None = None#
Raw, unparsed request payload for this tool invocation.
- tool_name: str#
Name of the tool the LLM is requesting to invoke.
- tool_use_id: str#
Unique identifier for this tool invocation, used to correlate with its result.