Skip to content

RunMessageOutputItem

  • RunItemBase
new RunMessageOutputItem(rawItem, agent): RunMessageOutputItem
Parameter Type Description

rawItem

{ content: ( | { providerData: Record<string, any>; refusal: string; type: "refusal"; } | { providerData: Record<string, any>; text: string; type: "output_text"; } | { providerData: Record<string, any>; text: string; type: "input_text"; } | { audio: | string | { id: string; }; format: null | string; providerData: Record<string, any>; transcript: null | string; type: "audio"; } | { image: string; providerData: Record<string, any>; type: "image"; })[]; id: string; providerData: Record<string, any>; role: "assistant"; status: "in_progress" | "completed" | "incomplete"; type: "message"; }

rawItem.content

( | { providerData: Record<string, any>; refusal: string; type: "refusal"; } | { providerData: Record<string, any>; text: string; type: "output_text"; } | { providerData: Record<string, any>; text: string; type: "input_text"; } | { audio: | string | { id: string; }; format: null | string; providerData: Record<string, any>; transcript: null | string; type: "audio"; } | { image: string; providerData: Record<string, any>; type: "image"; })[]

The content of the message.

rawItem.id?

string

An ID to identify the item. This is optional by default. If a model provider absolutely requires this field, it will be validated on the model level.

rawItem.providerData?

Record<string, any>

Additional optional provider specific data. Used for custom functionality or model provider specific fields.

rawItem.role

"assistant"

Representing a message from the assistant (i.e. the model)

rawItem.status

"in_progress" | "completed" | "incomplete"

The status of the message.

rawItem.type?

"message"

Any item without a type is treated as a message

agent

Agent

RunMessageOutputItem

RunItemBase.constructor
agent: Agent;

rawItem: object;
Name Type Description

content

( | { providerData: Record<string, any>; refusal: string; type: "refusal"; } | { providerData: Record<string, any>; text: string; type: "output_text"; } | { providerData: Record<string, any>; text: string; type: "input_text"; } | { audio: | string | { id: string; }; format: null | string; providerData: Record<string, any>; transcript: null | string; type: "audio"; } | { image: string; providerData: Record<string, any>; type: "image"; })[]

The content of the message.

id?

string

An ID to identify the item. This is optional by default. If a model provider absolutely requires this field, it will be validated on the model level.

providerData?

Record<string, any>

Additional optional provider specific data. Used for custom functionality or model provider specific fields.

role

"assistant"

Representing a message from the assistant (i.e. the model)

status

"in_progress" | "completed" | "incomplete"

The status of the message.

type?

"message"

Any item without a type is treated as a message

RunItemBase.rawItem

readonly type: "message_output_item";
RunItemBase.type
get content(): string

string

toJSON(): object

object

agent: object;
name: string;
rawItem:
| undefined
| {
content: (
| {
providerData: Record<string, any>;
refusal: string;
type: "refusal";
}
| {
providerData: Record<string, any>;
text: string;
type: "output_text";
}
| {
providerData: Record<string, any>;
text: string;
type: "input_text";
}
| {
audio: | string
| {
id: string;
};
format: null | string;
providerData: Record<string, any>;
transcript: null | string;
type: "audio";
}
| {
image: string;
providerData: Record<string, any>;
type: "image";
})[];
id: string;
providerData: Record<string, any>;
role: "assistant";
status: "in_progress" | "completed" | "incomplete";
type: "message";
}
| {
content: | string
| (
| {
providerData: Record<string, any>;
text: string;
type: "input_text";
}
| {
image: | string
| {
id: string;
};
providerData: Record<string, any>;
type: "input_image";
}
| {
file: | string
| {
id: string;
};
providerData: Record<string, any>;
type: "input_file";
}
| {
audio: | string
| {
id: string;
};
format: null | string;
providerData: Record<string, any>;
transcript: null | string;
type: "audio";
})[];
id: string;
providerData: Record<string, any>;
role: "user";
type: "message";
}
| {
content: string;
id: string;
providerData: Record<string, any>;
role: "system";
type: "message";
}
| {
id: string;
name: string;
output: string;
providerData: Record<string, any>;
status: string;
type: "hosted_tool_call";
}
| {
arguments: string;
callId: string;
id: string;
name: string;
providerData: Record<string, any>;
status: "in_progress" | "completed" | "incomplete";
type: "function_call";
}
| {
callId: string;
id: string;
name: string;
output: | {
providerData: Record<string, any>;
text: string;
type: "text";
}
| {
data: string;
mediaType: string;
providerData: Record<string, any>;
type: "image";
};
providerData: Record<string, any>;
status: "in_progress" | "completed" | "incomplete";
type: "function_call_result";
}
| {
action: | {
type: "screenshot";
}
| {
button: "left" | "right" | "wheel" | "back" | "forward";
type: "click";
x: number;
y: number;
}
| {
type: "double_click";
x: number;
y: number;
}
| {
scroll_x: number;
scroll_y: number;
type: "scroll";
x: number;
y: number;
}
| {
text: string;
type: "type";
}
| {
type: "wait";
}
| {
type: "move";
x: number;
y: number;
}
| {
keys: string[];
type: "keypress";
}
| {
path: object[];
type: "drag";
};
callId: string;
id: string;
providerData: Record<string, any>;
status: "in_progress" | "completed" | "incomplete";
type: "computer_call";
}
| {
callId: string;
id: string;
output: {
data: string;
providerData: Record<string, any>;
type: "computer_screenshot";
};
providerData: Record<string, any>;
type: "computer_call_result";
}
| {
content: object[];
id: string;
providerData: Record<string, any>;
type: "reasoning";
}
| {
id: string;
providerData: Record<string, any>;
type: "unknown";
};

undefined

{ content: ( | { providerData: Record<string, any>; refusal: string; type: "refusal"; } | { providerData: Record<string, any>; text: string; type: "output_text"; } | { providerData: Record<string, any>; text: string; type: "input_text"; } | { audio: | string | { id: string; }; format: null | string; providerData: Record<string, any>; transcript: null | string; type: "audio"; } | { image: string; providerData: Record<string, any>; type: "image"; })[]; id: string; providerData: Record<string, any>; role: "assistant"; status: "in_progress" | "completed" | "incomplete"; type: "message"; }

{ content: | string | ( | { providerData: Record<string, any>; text: string; type: "input_text"; } | { image: | string | { id: string; }; providerData: Record<string, any>; type: "input_image"; } | { file: | string | { id: string; }; providerData: Record<string, any>; type: "input_file"; } | { audio: | string | { id: string; }; format: null | string; providerData: Record<string, any>; transcript: null | string; type: "audio"; })[]; id: string; providerData: Record<string, any>; role: "user"; type: "message"; }

{ content: string; id: string; providerData: Record<string, any>; role: "system"; type: "message"; }

{ id: string; name: string; output: string; providerData: Record<string, any>; status: string; type: "hosted_tool_call"; }

{ arguments: string; callId: string; id: string; name: string; providerData: Record<string, any>; status: "in_progress" | "completed" | "incomplete"; type: "function_call"; }

{ callId: string; id: string; name: string; output: | { providerData: Record<string, any>; text: string; type: "text"; } | { data: string; mediaType: string; providerData: Record<string, any>; type: "image"; }; providerData: Record<string, any>; status: "in_progress" | "completed" | "incomplete"; type: "function_call_result"; }

{ action: | { type: "screenshot"; } | { button: "left" | "right" | "wheel" | "back" | "forward"; type: "click"; x: number; y: number; } | { type: "double_click"; x: number; y: number; } | { scroll_x: number; scroll_y: number; type: "scroll"; x: number; y: number; } | { text: string; type: "type"; } | { type: "wait"; } | { type: "move"; x: number; y: number; } | { keys: string[]; type: "keypress"; } | { path: object[]; type: "drag"; }; callId: string; id: string; providerData: Record<string, any>; status: "in_progress" | "completed" | "incomplete"; type: "computer_call"; }

{ callId: string; id: string; output: { data: string; providerData: Record<string, any>; type: "computer_screenshot"; }; providerData: Record<string, any>; type: "computer_call_result"; }

{ content: object[]; id: string; providerData: Record<string, any>; type: "reasoning"; }

{ id: string; providerData: Record<string, any>; type: "unknown"; }

type: string;
RunItemBase.toJSON