Optionaloptions: { context?: RequestContext; timeoutMs?: number }StaticconnectOptionaloptions: { name?: string; context?: RequestContext; timeoutMs?: number }Optionaloptions: {OptionalidempotencyKey?: stringThe provider mints the session id returned on AgentSession. Creation is idempotent on idempotency_key scoped per subject (created_by_subject_id): a replayed key returns the existing session, an empty key always creates. Idempotency is scoped to the provider's session store.
Optionalmodel?: stringOptionalclientRef?: stringOptionalmetadata?: {OptionalcreatedBySubjectId?: stringOptionalsubject?: {OptionalsessionStart?: {OptionalpreparedWorkspace?: { root?: string; cwd?: string }OptionalproviderName?: stringOptionalworkspace?: { checkouts?: { url?: string; ref?: string; path?: string }[]; cwd?: string }Optionalcontext?: {Optionalsubject?: {Optionalcredential?: { mode?: string; subjectId?: string; connection?: string; instance?: string }Optionalaccess?: { policy?: string; role?: string }Optionalworkflow?: {Optionalhost?: { publicBaseUrl?: string }OptionalagentSubject?: {Original agent caller when an agent tool executes with delegated run-as identity.
Optionalcaller?: { kind?: string; name?: string }Optionalinvocation?: {OptionaltoolRefs?: {Agent tool refs granted to the operation request, when the request is executing as an agent tool.
OptionaltoolRefsSet?: booleanPreserves the distinction between an omitted tool-ref context and an explicitly empty inherited tool-ref context.
OptionalrequestMeta?: { clientIp?: string; remoteAddr?: string; userAgent?: string }Optionalagent?: { providerName?: string; sessionId?: string; turnId?: string }Optionaltools?: {Optionaloptions: { providerName?: string }Optionaloptions: {Optionalsubject?: {OptionalsessionIds?: string[]Optionalstate?: numberOptionallimit?: numberWhen non-zero and bounded_list_hydration is supported, cap results after ordering sessions newest-first by last_turn_at, updated_at, then created_at.
OptionalsummaryOnly?: booleanWhen true and bounded_list_hydration is supported, omit heavy fields such as metadata unless exact session_ids require direct lookup.
OptionalproviderName?: stringOptionalcontext?: {Optionalsubject?: {Optionalcredential?: { mode?: string; subjectId?: string; connection?: string; instance?: string }Optionalaccess?: { policy?: string; role?: string }Optionalworkflow?: {Optionalhost?: { publicBaseUrl?: string }OptionalagentSubject?: {Original agent caller when an agent tool executes with delegated run-as identity.
Optionalcaller?: { kind?: string; name?: string }Optionalinvocation?: {OptionaltoolRefs?: {Agent tool refs granted to the operation request, when the request is executing as an agent tool.
OptionaltoolRefsSet?: booleanPreserves the distinction between an omitted tool-ref context and an explicitly empty inherited tool-ref context.
OptionalrequestMeta?: { clientIp?: string; remoteAddr?: string; userAgent?: string }Optionalagent?: { providerName?: string; sessionId?: string; turnId?: string }Optionaloptions: {Optionaloptions: {OptionalturnId?: stringOptionalsessionId?: stringOptionalidempotencyKey?: stringOptionalmodel?: stringOptionalmessages?: {Optionalmetadata?: {OptionalcreatedBySubjectId?: stringOptionalexecutionRef?: stringOptionalsubject?: {OptionalmodelOptions?: {OptionaltimeoutSeconds?: numberOptional provider-owned turn execution budget, in seconds. If unset or zero, the provider chooses its own execution timeout. This does not control the CreateTurn RPC deadline.
Optionaloutput?: {Optionalcontext?: {Optionalsubject?: {Optionalcredential?: { mode?: string; subjectId?: string; connection?: string; instance?: string }Optionalaccess?: { policy?: string; role?: string }Optionalworkflow?: {Optionalhost?: { publicBaseUrl?: string }OptionalagentSubject?: {Original agent caller when an agent tool executes with delegated run-as identity.
Optionalcaller?: { kind?: string; name?: string }Optionalinvocation?: {OptionaltoolRefs?: {Agent tool refs granted to the operation request, when the request is executing as an agent tool.
OptionaltoolRefsSet?: booleanPreserves the distinction between an omitted tool-ref context and an explicitly empty inherited tool-ref context.
OptionalrequestMeta?: { clientIp?: string; remoteAddr?: string; userAgent?: string }Optionalagent?: { providerName?: string; sessionId?: string; turnId?: string }OptionalproviderName?: stringOptionaloptions: { providerName?: string }Optionaloptions: {OptionalsessionId?: stringOptionalsubject?: {OptionalturnIds?: string[]Optionalstatus?: numberOptionallimit?: numberWhen non-zero and bounded_list_hydration is supported, cap results after ordering turns newest-first by created_at.
OptionalsummaryOnly?: booleanWhen true and bounded_list_hydration is supported, omit heavy fields such as messages, output text, and structured output unless exact turn_ids require direct lookup.
Optionalcontext?: {Optionalsubject?: {Optionalcredential?: { mode?: string; subjectId?: string; connection?: string; instance?: string }Optionalaccess?: { policy?: string; role?: string }Optionalworkflow?: {Optionalhost?: { publicBaseUrl?: string }OptionalagentSubject?: {Original agent caller when an agent tool executes with delegated run-as identity.
Optionalcaller?: { kind?: string; name?: string }Optionalinvocation?: {OptionaltoolRefs?: {Agent tool refs granted to the operation request, when the request is executing as an agent tool.
OptionaltoolRefsSet?: booleanPreserves the distinction between an omitted tool-ref context and an explicitly empty inherited tool-ref context.
OptionalrequestMeta?: { clientIp?: string; remoteAddr?: string; userAgent?: string }Optionalagent?: { providerName?: string; sessionId?: string; turnId?: string }OptionalproviderName?: stringOptionaloptions: { afterSeq?: bigint; limit?: number; providerName?: string }Optionaloptions: { providerName?: string }Optionalresolution: JsonObjectOptionaloptions: { turnId?: string; providerName?: string }
Agent is the authoritative agent data boundary. Read RPCs for sessions, turns, turn events, and interactions should use provider-owned control-plane state and should not require a live execution sandbox, pod-level transport, or cached tunnel.