mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-11-02 07:13:07 +00:00
Add instructions Fix completion Refactor Rename reset to restore add haschanges flag Remove log Better error handling Better error handling Fix wording Fix Fix Fix Comment Add hash for only latest tool Prepare for release Fix Fix delete Format fix
133 lines
3.2 KiB
TypeScript
133 lines
3.2 KiB
TypeScript
export type AssistantMessageContent = TextContent | ToolUse
|
|
|
|
export { parseAssistantMessage } from "./parse-assistant-message"
|
|
|
|
export interface TextContent {
|
|
type: "text"
|
|
content: string
|
|
partial: boolean
|
|
}
|
|
|
|
export const toolUseNames = [
|
|
"execute_command",
|
|
"read_file",
|
|
"write_to_file",
|
|
"replace_in_file",
|
|
"search_files",
|
|
"list_files",
|
|
"list_code_definition_names",
|
|
"browser_action",
|
|
"use_mcp_tool",
|
|
"access_mcp_resource",
|
|
"ask_followup_question",
|
|
"attempt_completion",
|
|
] as const
|
|
|
|
// Converts array of tool call names into a union type ("execute_command" | "read_file" | ...)
|
|
export type ToolUseName = (typeof toolUseNames)[number]
|
|
|
|
export const toolParamNames = [
|
|
"command",
|
|
"requires_approval",
|
|
"path",
|
|
"content",
|
|
"diff",
|
|
"regex",
|
|
"file_pattern",
|
|
"recursive",
|
|
"action",
|
|
"url",
|
|
"coordinate",
|
|
"text",
|
|
"server_name",
|
|
"tool_name",
|
|
"arguments",
|
|
"uri",
|
|
"question",
|
|
"result",
|
|
] as const
|
|
|
|
export type ToolParamName = (typeof toolParamNames)[number]
|
|
|
|
export interface ToolUse {
|
|
type: "tool_use"
|
|
name: ToolUseName
|
|
// params is a partial record, allowing only some or none of the possible parameters to be used
|
|
params: Partial<Record<ToolParamName, string>>
|
|
partial: boolean
|
|
}
|
|
|
|
export interface ExecuteCommandToolUse extends ToolUse {
|
|
name: "execute_command"
|
|
// Pick<Record<ToolParamName, string>, "command"> makes "command" required, but Partial<> makes it optional
|
|
params: Partial<
|
|
Pick<Record<ToolParamName, string>, "command" | "requires_approval">
|
|
>
|
|
}
|
|
|
|
export interface ReadFileToolUse extends ToolUse {
|
|
name: "read_file"
|
|
params: Partial<Pick<Record<ToolParamName, string>, "path">>
|
|
}
|
|
|
|
export interface WriteToFileToolUse extends ToolUse {
|
|
name: "write_to_file"
|
|
params: Partial<Pick<Record<ToolParamName, string>, "path" | "content">>
|
|
}
|
|
|
|
export interface ReplaceInFileToolUse extends ToolUse {
|
|
name: "replace_in_file"
|
|
params: Partial<Pick<Record<ToolParamName, string>, "path" | "diff">>
|
|
}
|
|
|
|
export interface SearchFilesToolUse extends ToolUse {
|
|
name: "search_files"
|
|
params: Partial<
|
|
Pick<Record<ToolParamName, string>, "path" | "regex" | "file_pattern">
|
|
>
|
|
}
|
|
|
|
export interface ListFilesToolUse extends ToolUse {
|
|
name: "list_files"
|
|
params: Partial<Pick<Record<ToolParamName, string>, "path" | "recursive">>
|
|
}
|
|
|
|
export interface ListCodeDefinitionNamesToolUse extends ToolUse {
|
|
name: "list_code_definition_names"
|
|
params: Partial<Pick<Record<ToolParamName, string>, "path">>
|
|
}
|
|
|
|
export interface BrowserActionToolUse extends ToolUse {
|
|
name: "browser_action"
|
|
params: Partial<
|
|
Pick<
|
|
Record<ToolParamName, string>,
|
|
"action" | "url" | "coordinate" | "text"
|
|
>
|
|
>
|
|
}
|
|
|
|
export interface UseMcpToolToolUse extends ToolUse {
|
|
name: "use_mcp_tool"
|
|
params: Partial<
|
|
Pick<
|
|
Record<ToolParamName, string>,
|
|
"server_name" | "tool_name" | "arguments"
|
|
>
|
|
>
|
|
}
|
|
|
|
export interface AccessMcpResourceToolUse extends ToolUse {
|
|
name: "access_mcp_resource"
|
|
params: Partial<Pick<Record<ToolParamName, string>, "server_name" | "uri">>
|
|
}
|
|
|
|
export interface AskFollowupQuestionToolUse extends ToolUse {
|
|
name: "ask_followup_question"
|
|
params: Partial<Pick<Record<ToolParamName, string>, "question">>
|
|
}
|
|
|
|
export interface AttemptCompletionToolUse extends ToolUse {
|
|
name: "attempt_completion"
|
|
params: Partial<Pick<Record<ToolParamName, string>, "result" | "command">>
|
|
}
|