Readonlyartifacts
artifacts: {
metadata?: Record<string, any>;
name?: string;
parts: (
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text: string;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media: { contentType?: string; url: string };
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest: {
input?: unknown;
name: string;
partial?: boolean;
ref?: string;
};
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse: { name: string; output?: unknown; ref?: string } & {
content?: (
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
)[];
};
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom: Record<string, any>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning: string;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource: { uri: string };
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
)[];
}[]
Readonlydata
Optional ReadonlyfinishMessage
finishMessage?: string
ReadonlyfinishReason
finishReason:
| "length"
| "stop"
| "failed"
| "other"
| "unknown"
| "interrupted"
| "blocked"
| "aborted"
| "detached"
Readonlyinterrupts
media: { contentType?: string; url: string } | null
Optional Readonlymessage
message?: {
content: (
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text: string;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media: { contentType?: string; url: string };
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest: {
input?: unknown;
name: string;
partial?: boolean;
ref?: string;
};
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse: { name: string; output?: unknown; ref?: string } & {
content?: (
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
)[];
};
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom: Record<string, any>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning: string;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource: { uri: string };
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
)[];
metadata?: Record<string, unknown>;
role: "user" | "model" | "tool" | "system";
}
Readonlymessages
messages: {
content: (
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text: string;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media: { contentType?: string; url: string };
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest: {
input?: unknown;
name: string;
partial?: boolean;
ref?: string;
};
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse: { name: string; output?: unknown; ref?: string } & {
content?: (
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning: ...;
resource?: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
| {
custom?: ...;
data?: ...;
media?: ...;
metadata?: ...;
reasoning?: ...;
resource: ...;
text?: ...;
toolRequest?: ...;
toolResponse?: ...;
}
)[];
};
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom: Record<string, any>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning: string;
resource?: undefined;
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
| {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource: { uri: string };
text?: undefined;
toolRequest?: undefined;
toolResponse?: undefined;
}
)[];
metadata?: Record<string, unknown>;
role: "user" | "model" | "tool" | "system";
}[]
Readonlyraw
Readonlyreasoning
reasoning: string
Optional ReadonlysessionId
sessionId?: string
Optional ReadonlysnapshotId
snapshotId?: string
Optional Readonlystate
Readonlytext
text: string
toolRequests: {
custom?: Record<string, unknown>;
data?: unknown;
media?: undefined;
metadata?: Record<string, unknown>;
reasoning?: undefined;
resource?: undefined;
text?: undefined;
toolRequest: {
input?: unknown;
name: string;
partial?: boolean;
ref?: string;
};
toolResponse?: undefined;
}[]
The completed result of a turn. Mirrors
GenerateResponseand adds the agent fields (snapshotId,state,artifacts).