콘텐츠로 이동

RunToolApprovalItem

이 콘텐츠는 아직 번역되지 않았습니다.

  • RunItemBase
new RunToolApprovalItem(
rawItem,
agent,
toolName?): RunToolApprovalItem;
Parameter Type Description

rawItem

| { arguments?: string; 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"; } | { action: { commands: string[]; maxOutputLength?: number; timeoutMs?: number; }; callId: string; id?: string; providerData?: Record<string, any>; status?: "in_progress" | "completed" | "incomplete"; type: "shell_call"; } | { callId: string; id?: string; operation: | { diff: string; path: string; type: "create_file"; } | { diff: string; path: string; type: "update_file"; } | { path: string; type: "delete_file"; }; providerData?: Record<string, any>; status: "in_progress" | "completed"; type: "apply_patch_call"; }

agent

Agent<any, any>

toolName?

string

Explicit tool name to use for approval tracking when not present on the raw item.

RunToolApprovalItem

RunItemBase.constructor
agent: Agent<any, any>;

rawItem:
| {
arguments?: string;
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";
}
| {
action: {
commands: string[];
maxOutputLength?: number;
timeoutMs?: number;
};
callId: string;
id?: string;
providerData?: Record<string, any>;
status?: "in_progress" | "completed" | "incomplete";
type: "shell_call";
}
| {
callId: string;
id?: string;
operation: | {
diff: string;
path: string;
type: "create_file";
}
| {
diff: string;
path: string;
type: "update_file";
}
| {
path: string;
type: "delete_file";
};
providerData?: Record<string, any>;
status: "in_progress" | "completed";
type: "apply_patch_call";
};
{
arguments?: string;
id?: string;
name: string;
output?: string;
providerData?: Record<string, any>;
status?: string;
type: "hosted_tool_call";
}
Name Type Description

arguments?

string

The arguments of the hosted tool call.

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.

name

string

The name of the hosted tool. For example web_search_call or file_search_call

output?

string

The primary output of the tool call. Additional output might be in the providerData field.

providerData?

Record<string, any>

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

status?

string

The status of the tool call.

type

"hosted_tool_call"

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

arguments

string

The arguments of the function call.

callId

string

The ID of the tool call. Required to match up the respective tool call result.

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.

name

string

The name of the function.

providerData?

Record<string, any>

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

status?

"in_progress" | "completed" | "incomplete"

The status of the function call.

type

"function_call"

{
action: {
commands: string[];
maxOutputLength?: number;
timeoutMs?: number;
};
callId: string;
id?: string;
providerData?: Record<string, any>;
status?: "in_progress" | "completed" | "incomplete";
type: "shell_call";
}
Name Type Default value Description

action

object

ShellAction

action.commands

string[]

action.maxOutputLength?

number

action.timeoutMs?

number

callId

string

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.

status?

"in_progress" | "completed" | "incomplete"

type

"shell_call"

{
callId: string;
id?: string;
operation: | {
diff: string;
path: string;
type: "create_file";
}
| {
diff: string;
path: string;
type: "update_file";
}
| {
path: string;
type: "delete_file";
};
providerData?: Record<string, any>;
status: "in_progress" | "completed";
type: "apply_patch_call";
}
Name Type Default value Description

callId

string

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.

operation

| { diff: string; path: string; type: "create_file"; } | { diff: string; path: string; type: "update_file"; } | { path: string; type: "delete_file"; }

ApplyPatchOperation

providerData?

Record<string, any>

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

status

"in_progress" | "completed"

type

"apply_patch_call"

RunItemBase.rawItem

optional toolName: string;

Explicit tool name to use for approval tracking when not present on the raw item.


readonly type: "tool_approval_item";
RunItemBase.type
get arguments(): string | undefined;

Returns the arguments if the raw item has an arguments property otherwise this will be undefined.

string | undefined


get name(): string | undefined;

Returns the tool name if available on the raw item or provided explicitly. Kept for backwards compatibility with code that previously relied on rawItem.name.

string | undefined

toJSON(): object;

object

agent: object;
name: string;
rawItem:
| {
content: (
| {
providerData?: Record<string, any>;
refusal: string;
type: "refusal";
}
| {
providerData?: Record<string, any>;
text: string;
type: "output_text";
}
| {
audio: | string
| {
id: string;
};
format?: string | null;
providerData?: Record<string, any>;
transcript?: string | null;
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";
}
| {
detail?: string;
image?: | string
| {
id: string;
};
providerData?: Record<string, any>;
type: "input_image";
}
| {
file?: | string
| {
id: string;
}
| {
url: string;
};
filename?: string;
providerData?: Record<string, any>;
type: "input_file";
}
| {
audio: | string
| {
id: string;
};
format?: string | null;
providerData?: Record<string, any>;
transcript?: string | null;
type: "audio";
})[];
id?: string;
providerData?: Record<string, any>;
role: "user";
type?: "message";
}
| {
content: string;
id?: string;
providerData?: Record<string, any>;
role: "system";
type?: "message";
}
| {
arguments?: string;
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: | string
| {
providerData?: Record<string, any>;
text: string;
type: "text";
}
| {
detail?: "low" | "high" | "auto" | string & object;
image?: | string
| {
data: string | Uint8Array<ArrayBuffer>;
mediaType?: string;
}
| {
url: string;
}
| {
fileId: string;
};
providerData?: Record<string, any>;
type: "image";
}
| {
file: | string
| {
data: string | Uint8Array<ArrayBuffer>;
filename: string;
mediaType: string;
}
| {
filename?: string;
url: string;
}
| {
filename?: string;
id: string;
};
providerData?: Record<string, any>;
type: "file";
}
| (
| {
providerData?: Record<string, any>;
text: string;
type: "input_text";
}
| {
detail?: string;
image?: | string
| {
id: string;
};
providerData?: Record<string, any>;
type: "input_image";
}
| {
file?: | string
| {
id: string;
}
| {
url: string;
};
filename?: string;
providerData?: Record<string, any>;
type: "input_file";
})[];
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";
}
| {
action: {
commands: string[];
maxOutputLength?: number;
timeoutMs?: number;
};
callId: string;
id?: string;
providerData?: Record<string, any>;
status?: "in_progress" | "completed" | "incomplete";
type: "shell_call";
}
| {
callId: string;
id?: string;
maxOutputLength?: number;
output: objectOutputType<{
outcome: ZodDiscriminatedUnion<"type", [ZodObject<{
type: ZodLiteral<...>;
}, "strip", ZodTypeAny, {
type: "timeout";
}, {
type: "timeout";
}>, ZodObject<{
exitCode: ZodNullable<...>;
type: ZodLiteral<...>;
}, "strip", ZodTypeAny, {
exitCode: ... | ...;
type: "exit";
}, {
exitCode: ... | ...;
type: "exit";
}>]>;
stderr: ZodString;
stdout: ZodString;
}, ZodTypeAny, "passthrough">[];
providerData?: Record<string, any>;
type: "shell_call_output";
}
| {
callId: string;
id?: string;
operation: | {
diff: string;
path: string;
type: "create_file";
}
| {
diff: string;
path: string;
type: "update_file";
}
| {
path: string;
type: "delete_file";
};
providerData?: Record<string, any>;
status: "in_progress" | "completed";
type: "apply_patch_call";
}
| {
callId: string;
id?: string;
output?: string;
providerData?: Record<string, any>;
status: "completed" | "failed";
type: "apply_patch_call_output";
}
| {
content: object[];
id?: string;
providerData?: Record<string, any>;
rawContent?: object[];
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";
}
| {
audio: | string
| {
id: string;
};
format?: string | null;
providerData?: Record<string, any>;
transcript?: string | null;
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";
}
| {
detail?: string;
image?: | string
| {
id: string;
};
providerData?: Record<string, any>;
type: "input_image";
}
| {
file?: | string
| {
id: string;
}
| {
url: string;
};
filename?: string;
providerData?: Record<string, any>;
type: "input_file";
}
| {
audio: | string
| {
id: string;
};
format?: string | null;
providerData?: Record<string, any>;
transcript?: string | null;
type: "audio";
})[];
id?: string;
providerData?: Record<string, any>;
role: "user";
type?: "message";
}
{
content: string;
id?: string;
providerData?: Record<string, any>;
role: "system";
type?: "message";
}
{
arguments?: string;
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: | string
| {
providerData?: Record<string, any>;
text: string;
type: "text";
}
| {
detail?: "low" | "high" | "auto" | string & object;
image?: | string
| {
data: string | Uint8Array<ArrayBuffer>;
mediaType?: string;
}
| {
url: string;
}
| {
fileId: string;
};
providerData?: Record<string, any>;
type: "image";
}
| {
file: | string
| {
data: string | Uint8Array<ArrayBuffer>;
filename: string;
mediaType: string;
}
| {
filename?: string;
url: string;
}
| {
filename?: string;
id: string;
};
providerData?: Record<string, any>;
type: "file";
}
| (
| {
providerData?: Record<string, any>;
text: string;
type: "input_text";
}
| {
detail?: string;
image?: | string
| {
id: string;
};
providerData?: Record<string, any>;
type: "input_image";
}
| {
file?: | string
| {
id: string;
}
| {
url: string;
};
filename?: string;
providerData?: Record<string, any>;
type: "input_file";
})[];
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";
}
{
action: {
commands: string[];
maxOutputLength?: number;
timeoutMs?: number;
};
callId: string;
id?: string;
providerData?: Record<string, any>;
status?: "in_progress" | "completed" | "incomplete";
type: "shell_call";
}
{
callId: string;
id?: string;
maxOutputLength?: number;
output: objectOutputType<{
outcome: ZodDiscriminatedUnion<"type", [ZodObject<{
type: ZodLiteral<...>;
}, "strip", ZodTypeAny, {
type: "timeout";
}, {
type: "timeout";
}>, ZodObject<{
exitCode: ZodNullable<...>;
type: ZodLiteral<...>;
}, "strip", ZodTypeAny, {
exitCode: ... | ...;
type: "exit";
}, {
exitCode: ... | ...;
type: "exit";
}>]>;
stderr: ZodString;
stdout: ZodString;
}, ZodTypeAny, "passthrough">[];
providerData?: Record<string, any>;
type: "shell_call_output";
}
{
callId: string;
id?: string;
operation: | {
diff: string;
path: string;
type: "create_file";
}
| {
diff: string;
path: string;
type: "update_file";
}
| {
path: string;
type: "delete_file";
};
providerData?: Record<string, any>;
status: "in_progress" | "completed";
type: "apply_patch_call";
}
{
callId: string;
id?: string;
output?: string;
providerData?: Record<string, any>;
status: "completed" | "failed";
type: "apply_patch_call_output";
}
{
content: object[];
id?: string;
providerData?: Record<string, any>;
rawContent?: object[];
type: "reasoning";
}
{
id?: string;
providerData?: Record<string, any>;
type: "unknown";
}

undefined

toolName: string | undefined;
type: string;
RunItemBase.toJSON