Skip to content

Session

160 types. Import any of them from opencode.types.

SessionActive

type class-attribute instance-attribute

type: Literal['running'] = 'running'

SessionAgentSelectedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

agent instance-attribute

agent: AgentID

previous class-attribute instance-attribute

previous: AgentID | None = Field(
    default=None, exclude_if=is_none
)

SessionAgentSelectedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionArchivedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

SessionArchivedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionCompactionDeltaEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

text instance-attribute

text: str

SessionCompactionEndedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

reason instance-attribute

reason: OpenEnum[Literal['auto', 'manual']]

model class-attribute instance-attribute

model: ModelRef | None = Field(
    default=None, exclude_if=is_none
)

native class-attribute instance-attribute

native: SessionMessageNative | None = Field(
    default=None, exclude_if=is_none
)

text instance-attribute

text: str

cost class-attribute instance-attribute

cost: MoneyUSD | None = Field(
    default=None, exclude_if=is_none
)

tokens class-attribute instance-attribute

tokens: TokenUsageInfo | None = Field(
    default=None, exclude_if=is_none
)

SessionCompactionEndedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionCompactionFailedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

reason instance-attribute

reason: OpenEnum[Literal['auto', 'manual']]

error instance-attribute

input_id class-attribute instance-attribute

input_id: SessionMessageID | None = Field(
    default=None,
    validation_alias="inputID",
    serialization_alias="inputID",
    exclude_if=is_none,
)

cost class-attribute instance-attribute

cost: MoneyUSD | None = Field(
    default=None, exclude_if=is_none
)

tokens class-attribute instance-attribute

tokens: TokenUsageInfo | None = Field(
    default=None, exclude_if=is_none
)

SessionCompactionFailedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionCompactionStartedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

reason instance-attribute

reason: OpenEnum[Literal['auto', 'manual']]

input_id class-attribute instance-attribute

input_id: SessionMessageID | None = Field(
    default=None,
    validation_alias="inputID",
    serialization_alias="inputID",
    exclude_if=is_none,
)

SessionCompactionStartedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionCreatedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

project_id class-attribute instance-attribute

project_id: ProjectID = Field(
    validation_alias="projectID",
    serialization_alias="projectID",
)

location instance-attribute

location: LocationRef

subpath class-attribute instance-attribute

subpath: RelativePath | None = Field(
    default=None, exclude_if=is_none
)

parent_id class-attribute instance-attribute

parent_id: SessionID | None = Field(
    default=None,
    validation_alias="parentID",
    serialization_alias="parentID",
    exclude_if=is_none,
)

slug instance-attribute

slug: str

title class-attribute instance-attribute

title: str | None = Field(default=None, exclude_if=is_none)

agent class-attribute instance-attribute

agent: AgentID | None = Field(
    default=None, exclude_if=is_none
)

model class-attribute instance-attribute

model: ModelRef | None = Field(
    default=None, exclude_if=is_none
)

metadata class-attribute instance-attribute

metadata: SessionMetadata | None = Field(
    default=None, exclude_if=is_none
)

permissions class-attribute instance-attribute

permissions: PermissionRuleset | None = Field(
    default=None, exclude_if=is_none
)

version instance-attribute

version: str

SessionCreatedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionDeletedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

SessionDeletedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion10 = 2

SessionEventDurable module-attribute

SessionEventDurable: TypeAlias = Annotated[
    Annotated[SessionCreatedEvent, Tag("session.created")]
    | Annotated[
        SessionAgentSelectedEvent,
        Tag("session.agent.selected"),
    ]
    | Annotated[
        SessionModelSelectedEvent,
        Tag("session.model.selected"),
    ]
    | Annotated[SessionMovedEvent, Tag("session.moved")]
    | Annotated[SessionRenamedEvent, Tag("session.renamed")]
    | Annotated[
        SessionMetadataUpdatedEvent,
        Tag("session.metadata.updated"),
    ]
    | Annotated[
        SessionPermissionsEvent, Tag("session.permissions")
    ]
    | Annotated[SessionViewedEvent, Tag("session.viewed")]
    | Annotated[
        SessionArchivedEvent, Tag("session.archived")
    ]
    | Annotated[
        SessionUnarchivedEvent, Tag("session.unarchived")
    ]
    | Annotated[SessionDeletedEvent, Tag("session.deleted")]
    | Annotated[SessionForkedEvent, Tag("session.forked")]
    | Annotated[
        SessionInboxDeliveredEvent,
        Tag("session.inbox.delivered"),
    ]
    | Annotated[
        SessionInboxEnqueuedEvent,
        Tag("session.inbox.enqueued"),
    ]
    | Annotated[
        SessionInboxCancelledEvent,
        Tag("session.inbox.cancelled"),
    ]
    | Annotated[
        SessionInboxDeliveryChangedEvent,
        Tag("session.inbox.delivery.changed"),
    ]
    | Annotated[
        SessionExecutionStartedEvent,
        Tag("session.execution.started"),
    ]
    | Annotated[
        SessionExecutionSucceededEvent,
        Tag("session.execution.succeeded"),
    ]
    | Annotated[
        SessionExecutionFailedEvent,
        Tag("session.execution.failed"),
    ]
    | Annotated[
        SessionExecutionInterruptedEvent,
        Tag("session.execution.interrupted"),
    ]
    | Annotated[
        SessionInstructionsUpdatedEvent,
        Tag("session.instructions.updated"),
    ]
    | Annotated[
        SessionSyntheticEvent, Tag("session.synthetic")
    ]
    | Annotated[
        SessionSkillActivatedEvent,
        Tag("session.skill.activated"),
    ]
    | Annotated[
        SessionShellStartedEvent,
        Tag("session.shell.started"),
    ]
    | Annotated[
        SessionShellEndedEvent, Tag("session.shell.ended")
    ]
    | Annotated[
        SessionStepStartedEvent, Tag("session.step.started")
    ]
    | Annotated[
        SessionStepStreamedEvent,
        Tag("session.step.streamed"),
    ]
    | Annotated[
        SessionStepEndedEvent, Tag("session.step.ended")
    ]
    | Annotated[
        SessionStepFailedEvent, Tag("session.step.failed")
    ]
    | Annotated[
        SessionTextStartedEvent, Tag("session.text.started")
    ]
    | Annotated[
        SessionTextEndedEvent, Tag("session.text.ended")
    ]
    | Annotated[
        SessionReasoningStartedEvent,
        Tag("session.reasoning.started"),
    ]
    | Annotated[
        SessionReasoningEndedEvent,
        Tag("session.reasoning.ended"),
    ]
    | Annotated[
        SessionToolInputStartedEvent,
        Tag("session.tool.input.started"),
    ]
    | Annotated[
        SessionToolInputEndedEvent,
        Tag("session.tool.input.ended"),
    ]
    | Annotated[
        SessionToolCalledEvent, Tag("session.tool.called")
    ]
    | Annotated[
        SessionToolSuccessEvent, Tag("session.tool.success")
    ]
    | Annotated[
        SessionToolFailedEvent, Tag("session.tool.failed")
    ]
    | Annotated[
        SessionRetryScheduledEvent,
        Tag("session.retry.scheduled"),
    ]
    | Annotated[
        SessionCompactionStartedEvent,
        Tag("session.compaction.started"),
    ]
    | Annotated[
        SessionCompactionEndedEvent,
        Tag("session.compaction.ended"),
    ]
    | Annotated[
        SessionCompactionFailedEvent,
        Tag("session.compaction.failed"),
    ]
    | Annotated[
        SessionRevertStagedEvent,
        Tag("session.revert.staged"),
    ]
    | Annotated[
        SessionRevertClearedEvent,
        Tag("session.revert.cleared"),
    ]
    | Annotated[
        SessionRevertCommittedEvent,
        Tag("session.revert.committed"),
    ]
    | Annotated[
        SessionUsageRecordedEvent,
        Tag("session.usage.recorded"),
    ]
    | Annotated[
        SessionMessageContentUpdatedEvent,
        Tag("session.message.content.updated"),
    ]
    | Annotated[
        UnknownSessionEventDurable, Tag("__unknown__")
    ],
    Discriminator(
        discriminator(
            "type",
            "type",
            [
                "session.created",
                "session.agent.selected",
                "session.model.selected",
                "session.moved",
                "session.renamed",
                "session.metadata.updated",
                "session.permissions",
                "session.viewed",
                "session.archived",
                "session.unarchived",
                "session.deleted",
                "session.forked",
                "session.inbox.delivered",
                "session.inbox.enqueued",
                "session.inbox.cancelled",
                "session.inbox.delivery.changed",
                "session.execution.started",
                "session.execution.succeeded",
                "session.execution.failed",
                "session.execution.interrupted",
                "session.instructions.updated",
                "session.synthetic",
                "session.skill.activated",
                "session.shell.started",
                "session.shell.ended",
                "session.step.started",
                "session.step.streamed",
                "session.step.ended",
                "session.step.failed",
                "session.text.started",
                "session.text.ended",
                "session.reasoning.started",
                "session.reasoning.ended",
                "session.tool.input.started",
                "session.tool.input.ended",
                "session.tool.called",
                "session.tool.success",
                "session.tool.failed",
                "session.retry.scheduled",
                "session.compaction.started",
                "session.compaction.ended",
                "session.compaction.failed",
                "session.revert.staged",
                "session.revert.cleared",
                "session.revert.committed",
                "session.usage.recorded",
                "session.message.content.updated",
            ],
        )
    ),
]

SessionExecutionFailedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

error instance-attribute

SessionExecutionFailedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionExecutionInterruptedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

reason instance-attribute

reason: OpenEnum[
    Literal["user", "shutdown", "superseded", "inactivity"]
]

SessionExecutionInterruptedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionExecutionStartedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

SessionExecutionStartedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionExecutionSucceededEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

SessionExecutionSucceededEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionForkBoundary module-attribute

SessionForkBoundary: TypeAlias = Annotated[
    Annotated[SessionForkBoundaryBefore, Tag("before")]
    | Annotated[SessionForkBoundaryThrough, Tag("through")]
    | Annotated[
        UnknownSessionForkBoundary, Tag("__unknown__")
    ],
    Discriminator(
        discriminator("type", "type", ["before", "through"])
    ),
]

SessionForkBoundaryBefore

type class-attribute instance-attribute

type: Literal['before'] = 'before'

message_id class-attribute instance-attribute

message_id: SessionMessageID = Field(
    validation_alias="messageID",
    serialization_alias="messageID",
)

SessionForkBoundaryThrough

type class-attribute instance-attribute

type: Literal['through'] = 'through'

message_id class-attribute instance-attribute

message_id: SessionMessageID = Field(
    validation_alias="messageID",
    serialization_alias="messageID",
)

SessionForkedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

parent_id class-attribute instance-attribute

parent_id: SessionID = Field(
    validation_alias="parentID",
    serialization_alias="parentID",
)

boundary instance-attribute

instructions class-attribute instance-attribute

instructions: dict[str, Any] | None = Field(
    default=None, exclude_if=is_none
)

instruction_entries class-attribute instance-attribute

instruction_entries: InstructionEntrySnapshot | None = (
    Field(
        default=None,
        validation_alias="instructionEntries",
        serialization_alias="instructionEntries",
        exclude_if=is_none,
    )
)

SessionForkedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion10 = 2

SessionGenerateResponse

data instance-attribute

SessionGenerateResponseData

text instance-attribute

text: str

SessionID module-attribute

SessionID: TypeAlias = str

SessionIdleEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

SessionInboxCancelledEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

inbox_id class-attribute instance-attribute

inbox_id: SessionMessageID = Field(
    validation_alias="inboxID",
    serialization_alias="inboxID",
)

SessionInboxCancelledEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionInboxCompaction

id instance-attribute

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

time instance-attribute

type class-attribute instance-attribute

type: Literal['compaction'] = 'compaction'

payload instance-attribute

delivery instance-attribute

SessionInboxCompactionPayload module-attribute

SessionInboxCompactionPayload: TypeAlias = Any

SessionInboxCompactionTime

created instance-attribute

created: float

SessionInboxDeliveredEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

inbox_id class-attribute instance-attribute

inbox_id: SessionMessageID = Field(
    validation_alias="inboxID",
    serialization_alias="inboxID",
)

SessionInboxDeliveredEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionInboxDelivery module-attribute

SessionInboxDelivery: TypeAlias = OpenEnum[
    Literal["steer", "queue"]
]

SessionInboxDeliveryChangedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

inbox_id class-attribute instance-attribute

inbox_id: SessionMessageID = Field(
    validation_alias="inboxID",
    serialization_alias="inboxID",
)

delivery instance-attribute

SessionInboxDeliveryChangedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionInboxEnqueuedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

inbox_id class-attribute instance-attribute

inbox_id: SessionMessageID = Field(
    validation_alias="inboxID",
    serialization_alias="inboxID",
)

item instance-attribute

SessionInboxEnqueuedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionInboxInfo module-attribute

SessionInboxInfo: TypeAlias = Annotated[
    Annotated[SessionInboxUser, Tag("user")]
    | Annotated[SessionInboxSynthetic, Tag("synthetic")]
    | Annotated[SessionInboxCompaction, Tag("compaction")]
    | Annotated[SessionInboxMove, Tag("move")]
    | Annotated[
        UnknownSessionInboxInfo, Tag("__unknown__")
    ],
    Discriminator(
        discriminator(
            "type",
            "type",
            ["user", "synthetic", "compaction", "move"],
        )
    ),
]

SessionInboxItem module-attribute

SessionInboxItem: TypeAlias = Annotated[
    Annotated[SessionInboxItemUser, Tag("user")]
    | Annotated[SessionInboxItemSynthetic, Tag("synthetic")]
    | Annotated[
        SessionInboxItemCompaction, Tag("compaction")
    ]
    | Annotated[SessionInboxItemMove, Tag("move")]
    | Annotated[
        UnknownSessionInboxItem, Tag("__unknown__")
    ],
    Discriminator(
        discriminator(
            "type",
            "type",
            ["user", "synthetic", "compaction", "move"],
        )
    ),
]

SessionInboxItemCompaction

type class-attribute instance-attribute

type: Literal['compaction'] = 'compaction'

payload instance-attribute

delivery instance-attribute

SessionInboxItemMove

type class-attribute instance-attribute

type: Literal['move'] = 'move'

payload instance-attribute

delivery instance-attribute

SessionInboxItemSynthetic

type class-attribute instance-attribute

type: Literal['synthetic'] = 'synthetic'

payload instance-attribute

delivery instance-attribute

SessionInboxItemUser

type class-attribute instance-attribute

type: Literal['user'] = 'user'

payload instance-attribute

delivery instance-attribute

SessionInboxMove

id instance-attribute

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

time instance-attribute

type class-attribute instance-attribute

type: Literal['move'] = 'move'

delivery instance-attribute

payload instance-attribute

SessionInboxMovePayload

project_id class-attribute instance-attribute

project_id: ProjectID = Field(
    validation_alias="projectID",
    serialization_alias="projectID",
)

subpath class-attribute instance-attribute

subpath: RelativePath | None = Field(
    default=None, exclude_if=is_none
)

location instance-attribute

SessionInboxMovePayload1

location instance-attribute

location: LocationRef

project_id class-attribute instance-attribute

project_id: ProjectID = Field(
    validation_alias="projectID",
    serialization_alias="projectID",
)

subpath class-attribute instance-attribute

subpath: RelativePath | None = Field(
    default=None, exclude_if=is_none
)

SessionInboxMoveTime

created instance-attribute

created: float

SessionInboxSynthetic

id instance-attribute

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

time instance-attribute

type class-attribute instance-attribute

type: Literal['synthetic'] = 'synthetic'

payload instance-attribute

delivery instance-attribute

SessionInboxSyntheticPayload

text instance-attribute

text: str

description class-attribute instance-attribute

description: str | None = Field(
    default=None, exclude_if=is_none
)

metadata class-attribute instance-attribute

metadata: dict[str, Any] | None = Field(
    default=None, exclude_if=is_none
)

SessionInboxSyntheticTime

created instance-attribute

created: float

SessionInboxUser

id instance-attribute

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

time instance-attribute

type class-attribute instance-attribute

type: Literal['user'] = 'user'

payload instance-attribute

delivery instance-attribute

SessionInboxUserPayload

text instance-attribute

text: str

files class-attribute instance-attribute

files: list[PromptFileAttachment] | None = Field(
    default=None, exclude_if=is_none
)

agents class-attribute instance-attribute

agents: list[PromptAgentAttachment] | None = Field(
    default=None, exclude_if=is_none
)

skills class-attribute instance-attribute

skills: list[PromptSkillAttachment] | None = Field(
    default=None, exclude_if=is_none
)

metadata class-attribute instance-attribute

metadata: dict[str, Any] | None = Field(
    default=None, exclude_if=is_none
)

SessionInboxUserTime

created instance-attribute

created: float

SessionInfo

id instance-attribute

parent_id class-attribute instance-attribute

parent_id: SessionID | None = Field(
    default=None,
    validation_alias="parentID",
    serialization_alias="parentID",
    exclude_if=is_none,
)

fork class-attribute instance-attribute

fork: SessionInfoFork | None = Field(
    default=None, exclude_if=is_none
)

project_id class-attribute instance-attribute

project_id: ProjectID = Field(
    validation_alias="projectID",
    serialization_alias="projectID",
)

agent class-attribute instance-attribute

agent: AgentID | None = Field(
    default=None, exclude_if=is_none
)

model class-attribute instance-attribute

model: ModelRef | None = Field(
    default=None, exclude_if=is_none
)

cost instance-attribute

cost: MoneyUSD

tokens instance-attribute

outcome class-attribute instance-attribute

outcome: (
    OpenEnum[Literal["succeeded", "failed", "interrupted"]]
    | None
) = Field(default=None, exclude_if=is_none)

time instance-attribute

title class-attribute instance-attribute

title: str | None = Field(default=None, exclude_if=is_none)

subpath class-attribute instance-attribute

subpath: RelativePath | None = Field(
    default=None, exclude_if=is_none
)

metadata class-attribute instance-attribute

metadata: SessionMetadata | None = Field(
    default=None, exclude_if=is_none
)

permissions class-attribute instance-attribute

permissions: PermissionRuleset | None = Field(
    default=None, exclude_if=is_none
)

revert class-attribute instance-attribute

revert: SessionRevert | None = Field(
    default=None, exclude_if=is_none
)

location instance-attribute

SessionInfoFork

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

boundary instance-attribute

SessionInfoTime

created instance-attribute

created: float

updated instance-attribute

updated: float

idle class-attribute instance-attribute

idle: float | None = Field(default=None, exclude_if=is_none)

viewed class-attribute instance-attribute

viewed: float | None = Field(
    default=None, exclude_if=is_none
)

archived class-attribute instance-attribute

archived: float | None = Field(
    default=None, exclude_if=is_none
)

SessionInstructionsUpdatedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

delta instance-attribute

delta: dict[str, InstructionHash | Literal['removed']]

text class-attribute instance-attribute

text: str | None = Field(default=None, exclude_if=is_none)

SessionInstructionsUpdatedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion10 = 2

SessionInterruptResponse

interrupted instance-attribute

interrupted: bool

Whether an active execution owned by this OpenCode process was interrupted.

SessionLogItem module-attribute

SessionMessagesResponse

data instance-attribute

cursor instance-attribute

SessionMessagesResponseCursor

previous class-attribute instance-attribute

previous: str | None = None

next class-attribute instance-attribute

next: str | None = None

SessionMetadata module-attribute

SessionMetadata: TypeAlias = dict[str, Any]

SessionMetadataUpdatedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

metadata instance-attribute

metadata: SessionMetadata

SessionMetadataUpdatedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionModelSelectedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

model instance-attribute

model: ModelRef

previous class-attribute instance-attribute

previous: ModelRef | None = Field(
    default=None, exclude_if=is_none
)

SessionModelSelectedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionMovedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

location instance-attribute

location: LocationRef

project_id class-attribute instance-attribute

project_id: ProjectID = Field(
    validation_alias="projectID",
    serialization_alias="projectID",
)

subpath class-attribute instance-attribute

subpath: RelativePath | None = Field(
    default=None, exclude_if=is_none
)

SessionMovedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionPermissionsEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

permissions instance-attribute

permissions: PermissionRuleset

SessionPermissionsEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionReasoningDeltaEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

ordinal instance-attribute

ordinal: int

delta instance-attribute

delta: str

SessionReasoningEndedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

ordinal instance-attribute

ordinal: int

text instance-attribute

text: str

native class-attribute instance-attribute

native: SessionMessageNative | None = Field(
    default=None, exclude_if=is_none
)

SessionReasoningEndedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionReasoningStartedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

ordinal instance-attribute

ordinal: int

native class-attribute instance-attribute

native: SessionMessageNative | None = Field(
    default=None, exclude_if=is_none
)

SessionReasoningStartedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionRenamedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

title instance-attribute

title: str

SessionRenamedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionRetryScheduledEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

attempt instance-attribute

attempt: int

at instance-attribute

at: int

error instance-attribute

SessionRetryScheduledEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionRevert

message_id class-attribute instance-attribute

message_id: SessionMessageID = Field(
    validation_alias="messageID",
    serialization_alias="messageID",
)

part_id class-attribute instance-attribute

part_id: str | None = Field(
    default=None,
    validation_alias="partID",
    serialization_alias="partID",
    exclude_if=is_none,
)

snapshot class-attribute instance-attribute

snapshot: SnapshotID | None = Field(
    default=None, exclude_if=is_none
)

files class-attribute instance-attribute

files: list[FileDiffInfo] | None = Field(
    default=None, exclude_if=is_none
)

SessionRevertClearedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

SessionRevertClearedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionRevertCommittedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

to instance-attribute

SessionRevertCommittedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionRevertStagedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

revert instance-attribute

revert: SessionRevert

SessionRevertStagedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionShellEndedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

shell instance-attribute

shell: ShellInfo

output instance-attribute

SessionShellEndedEventDataOutput

output instance-attribute

output: str

cursor instance-attribute

cursor: int

size instance-attribute

size: int

truncated instance-attribute

truncated: bool

SessionShellEndedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionShellStartedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

shell instance-attribute

shell: ShellInfo

SessionShellStartedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionSkillActivatedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

id instance-attribute

id: SkillID

name instance-attribute

name: SkillName

text instance-attribute

text: str

SessionSkillActivatedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionStatsActivity

date instance-attribute

date: str

steps instance-attribute

steps: int

SessionStatsInfo

range instance-attribute

sessions instance-attribute

sessions: int

subagents instance-attribute

subagents: int

prompts instance-attribute

prompts: int

steps instance-attribute

steps: int

tokens instance-attribute

cost instance-attribute

cost: MoneyUSD

tools instance-attribute

active_days class-attribute instance-attribute

active_days: int = Field(
    validation_alias="activeDays",
    serialization_alias="activeDays",
)

streak instance-attribute

streak: int

activity instance-attribute

models instance-attribute

SessionStatsInfoRange

from_ class-attribute instance-attribute

from_: float = Field(
    validation_alias="from", serialization_alias="from"
)

to instance-attribute

to: float

SessionStatsModelUsage

model instance-attribute

model: ModelRef

steps instance-attribute

steps: int

tokens instance-attribute

cost instance-attribute

cost: MoneyUSD

SessionStatsToolTotals

calls instance-attribute

calls: int

succeeded instance-attribute

succeeded: int

failed instance-attribute

failed: int

unfinished instance-attribute

unfinished: int

SessionStatsToolUsage

name instance-attribute

name: str

calls instance-attribute

calls: int

succeeded instance-attribute

succeeded: int

failed instance-attribute

failed: int

unfinished instance-attribute

unfinished: int

duration_p50 class-attribute instance-attribute

duration_p50: float | None = Field(
    default=None,
    validation_alias="durationP50",
    serialization_alias="durationP50",
    exclude_if=is_none,
)

SessionStatsTools module-attribute

SessionStatsTools: TypeAlias = Annotated[
    Annotated[SessionStatsToolsNone, Tag("none")]
    | Annotated[SessionStatsToolsSummary, Tag("summary")]
    | Annotated[SessionStatsToolsDetail, Tag("detail")]
    | Annotated[
        UnknownSessionStatsTools, Tag("__unknown__")
    ],
    Discriminator(
        discriminator(
            "mode", "mode", ["none", "summary", "detail"]
        )
    ),
]

SessionStatsToolsDetail

mode class-attribute instance-attribute

mode: Literal['detail'] = 'detail'

totals instance-attribute

usage instance-attribute

SessionStatsToolsNone

mode class-attribute instance-attribute

mode: Literal['none'] = 'none'

SessionStatsToolsSummary

mode class-attribute instance-attribute

mode: Literal['summary'] = 'summary'

totals instance-attribute

SessionStatus module-attribute

SessionStatus: TypeAlias = Annotated[
    Annotated[SessionStatusIdle, Tag("idle")]
    | Annotated[SessionStatusRetry, Tag("retry")]
    | Annotated[SessionStatusBusy, Tag("busy")]
    | Annotated[UnknownSessionStatus, Tag("__unknown__")],
    Discriminator(
        discriminator(
            "type", "type", ["idle", "retry", "busy"]
        )
    ),
]

SessionStatusBusy

type class-attribute instance-attribute

type: Literal['busy'] = 'busy'

SessionStatusIdle

type class-attribute instance-attribute

type: Literal['idle'] = 'idle'

SessionStatusRetry

type class-attribute instance-attribute

type: Literal['retry'] = 'retry'

attempt instance-attribute

attempt: int

message instance-attribute

message: str

action class-attribute instance-attribute

action: SessionStatusRetryAction | None = Field(
    default=None, exclude_if=is_none
)

next instance-attribute

next: int

SessionStatusRetryAction

reason instance-attribute

reason: str

provider instance-attribute

provider: str

title instance-attribute

title: str

message instance-attribute

message: str

label instance-attribute

label: str
link: str | None = Field(default=None, exclude_if=is_none)

SessionStatusUpdated

id instance-attribute

id: EventID

created instance-attribute

created: float

metadata class-attribute instance-attribute

metadata: dict[str, Any] | None = Field(
    default=None, exclude_if=is_none
)

type class-attribute instance-attribute

type: Literal['session.status'] = 'session.status'

location class-attribute instance-attribute

location: LocationRef | None = Field(
    default=None, exclude_if=is_none
)

data instance-attribute

SessionStatusUpdatedData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

status instance-attribute

status: SessionStatus

SessionStepEndedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

finish instance-attribute

finish: OpenEnum[
    Literal[
        "stop",
        "length",
        "tool-calls",
        "content-filter",
        "error",
        "unknown",
    ]
]

raw_finish class-attribute instance-attribute

raw_finish: str | None = Field(
    default=None,
    validation_alias="rawFinish",
    serialization_alias="rawFinish",
    exclude_if=is_none,
)

native class-attribute instance-attribute

native: SessionMessageNative | None = Field(
    default=None, exclude_if=is_none
)

cost instance-attribute

cost: MoneyUSD

tokens instance-attribute

snapshot class-attribute instance-attribute

snapshot: SnapshotID | None = Field(
    default=None, exclude_if=is_none
)

files class-attribute instance-attribute

files: list[RelativePath] | None = Field(
    default=None, exclude_if=is_none
)

SessionStepEndedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionStepFailedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

error instance-attribute

finish class-attribute instance-attribute

finish: Literal["content-filter"] | None = Field(
    default=None, exclude_if=is_none
)

raw_finish class-attribute instance-attribute

raw_finish: str | None = Field(
    default=None,
    validation_alias="rawFinish",
    serialization_alias="rawFinish",
    exclude_if=is_none,
)

native class-attribute instance-attribute

native: SessionMessageNative | None = Field(
    default=None, exclude_if=is_none
)

cost class-attribute instance-attribute

cost: MoneyUSD | None = Field(
    default=None, exclude_if=is_none
)

tokens class-attribute instance-attribute

tokens: TokenUsageInfo | None = Field(
    default=None, exclude_if=is_none
)

snapshot class-attribute instance-attribute

snapshot: SnapshotID | None = Field(
    default=None, exclude_if=is_none
)

files class-attribute instance-attribute

files: list[RelativePath] | None = Field(
    default=None, exclude_if=is_none
)

SessionStepFailedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionStepStartedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

agent instance-attribute

agent: AgentID

model instance-attribute

model: ModelRef

snapshot class-attribute instance-attribute

snapshot: SnapshotID | None = Field(
    default=None, exclude_if=is_none
)

started instance-attribute

started: int

SessionStepStartedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionStepStreamedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

SessionStepStreamedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionStructuredError

type instance-attribute

type: str

message instance-attribute

message: str

status class-attribute instance-attribute

status: int | None = Field(default=None, exclude_if=is_none)

response class-attribute instance-attribute

response: SessionStructuredErrorResponse | None = Field(
    default=None, exclude_if=is_none
)

retry_after_ms class-attribute instance-attribute

retry_after_ms: int | None = Field(
    default=None,
    validation_alias="retryAfterMs",
    serialization_alias="retryAfterMs",
    exclude_if=is_none,
)

SessionStructuredErrorResponse

body instance-attribute

body: str

SessionSyntheticEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

text instance-attribute

text: str

description class-attribute instance-attribute

description: str | None = Field(
    default=None, exclude_if=is_none
)

metadata class-attribute instance-attribute

metadata: dict[str, Any] | None = Field(
    default=None, exclude_if=is_none
)

SessionSyntheticEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionTextDeltaEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

ordinal instance-attribute

ordinal: int

delta instance-attribute

delta: str

SessionTextEndedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

ordinal instance-attribute

ordinal: int

text instance-attribute

text: str

native class-attribute instance-attribute

native: SessionMessageNative | None = Field(
    default=None, exclude_if=is_none
)

SessionTextEndedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionTextStartedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

ordinal instance-attribute

ordinal: int

SessionTextStartedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionToolCalledEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

id instance-attribute

id: str

input instance-attribute

input: dict[str, Any]

executed instance-attribute

executed: bool

native class-attribute instance-attribute

native: SessionMessageNative | None = Field(
    default=None, exclude_if=is_none
)

SessionToolCalledEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionToolFailedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

id instance-attribute

id: str

error instance-attribute

content class-attribute instance-attribute

content: list[ToolContent] | None = Field(
    default=None, exclude_if=is_none
)

metadata class-attribute instance-attribute

metadata: dict[str, Any] | None = Field(
    default=None, exclude_if=is_none
)

executed instance-attribute

executed: bool

native class-attribute instance-attribute

native: SessionMessageNative | None = Field(
    default=None, exclude_if=is_none
)

SessionToolFailedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion10 = 2

SessionToolInputDeltaEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

id instance-attribute

id: str

delta instance-attribute

delta: str

SessionToolInputEndedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

id instance-attribute

id: str

text instance-attribute

text: str

SessionToolInputEndedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionToolInputStartedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

id instance-attribute

id: str

name instance-attribute

name: str

SessionToolInputStartedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionToolProgressEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

id instance-attribute

id: str

metadata instance-attribute

metadata: dict[str, Any]

SessionToolSuccessEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

assistant_message_id class-attribute instance-attribute

assistant_message_id: SessionMessageID = Field(
    validation_alias="assistantMessageID",
    serialization_alias="assistantMessageID",
)

id instance-attribute

id: str

content instance-attribute

content: list[ToolContent]

metadata class-attribute instance-attribute

metadata: dict[str, Any] | None = Field(
    default=None, exclude_if=is_none
)

executed instance-attribute

executed: bool

native class-attribute instance-attribute

native: SessionMessageNative | None = Field(
    default=None, exclude_if=is_none
)

SessionToolSuccessEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion10 = 2

SessionTransferData

info instance-attribute

messages instance-attribute

SessionUnarchivedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

SessionUnarchivedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionUsageRecordedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

source instance-attribute

source: OpenEnum[Literal['title', 'compaction']]

cost instance-attribute

cost: MoneyUSD

tokens instance-attribute

SessionUsageRecordedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionUsageUpdatedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

cost instance-attribute

cost: MoneyUSD

tokens instance-attribute

SessionViewedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

idle instance-attribute

idle: float

SessionViewedEventDurable

aggregate_id class-attribute instance-attribute

aggregate_id: str = Field(
    validation_alias="aggregateID",
    serialization_alias="aggregateID",
)

seq instance-attribute

seq: EventSeq

version class-attribute instance-attribute

version: EventVersion = 1

SessionsCursor module-attribute

SessionsCursor: TypeAlias = str

Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response.

SessionsResponse

data instance-attribute

cursor instance-attribute

SessionsResponseCursor

previous class-attribute instance-attribute

previous: SessionsCursor | None = None

next class-attribute instance-attribute

next: SessionsCursor | None = None