Create gpt-5-tools.json

This commit is contained in:
ordinary-rope 2025-08-19 01:10:15 +05:30 committed by GitHub
parent 0f4deb6198
commit 9ec0493db1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -0,0 +1,549 @@
{
"tools": [
{
"type": "function",
"function": {
"name": "view",
"description": "View a file or directory. For files, optionally search within the file using a regex pattern or limit to a line range. Exclude the 'electron' folder by default unless explicitly requested.",
"parameters": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["file", "directory"],
"description": "Whether to view a single file or a directory listing (up to 2 levels)."
},
"path": {
"type": "string",
"description": "Path relative to the repository root."
},
"view_range": {
"type": "array",
"items": { "type": "integer" },
"minItems": 2,
"maxItems": 2,
"description": "Optional [start_line, end_line] 1-based inclusive range for files."
},
"search_query_regex": {
"type": "string",
"description": "Optional regex to search within file content (single-line regex)."
},
"case_sensitive": {
"type": "boolean",
"default": false,
"description": "Whether the regex search is case-sensitive."
},
"context_lines_before": {
"type": "integer",
"default": 5,
"description": "Lines of context to include before each regex match."
},
"context_lines_after": {
"type": "integer",
"default": 5,
"description": "Lines of context to include after each regex match."
}
},
"required": ["type", "path"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "grep-search",
"description": "Search across multiple files/directories or the whole codebase. Use for finding text/symbols across many files. Excludes 'electron/**' by default unless explicitly overridden.",
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Text or regex to search for."
},
"paths": {
"type": "array",
"items": { "type": "string" },
"description": "Optional list of directories or files to limit the search scope."
},
"include_globs": {
"type": "array",
"items": { "type": "string" },
"description": "Optional glob patterns to include (e.g., 'src/**/*.ts')."
},
"exclude_globs": {
"type": "array",
"items": { "type": "string" },
"default": ["electron/**"],
"description": "Optional glob patterns to exclude. Defaults to excluding the 'electron' folder."
},
"case_sensitive": {
"type": "boolean",
"default": false,
"description": "Case sensitivity for the search."
},
"context_lines_before": {
"type": "integer",
"default": 5,
"description": "Lines of context before each match."
},
"context_lines_after": {
"type": "integer",
"default": 5,
"description": "Lines of context after each match."
},
"max_results": {
"type": "integer",
"default": 5000,
"description": "Limit the number of matches returned."
}
},
"required": ["query"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "codebase-retrieval",
"description": "High-level retrieval across the current codebase to locate relevant files, classes, functions, or patterns when you don't know where to look.",
"parameters": {
"type": "object",
"properties": {
"information_request": {
"type": "string",
"description": "Natural-language description of what you need to find."
}
},
"required": ["information_request"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "git-commit-retrieval",
"description": "Use the repositorys commit history to find how similar changes were made in the past or why changes happened.",
"parameters": {
"type": "object",
"properties": {
"information_request": {
"type": "string",
"description": "Question about past changes (e.g., how/why a feature was implemented)."
}
},
"required": ["information_request"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "str-replace-editor",
"description": "Edit existing files safely. Use 'str_replace' for in-place replacements with explicit line ranges, or 'insert' to insert new content at a specific line.",
"parameters": {
"type": "object",
"properties": {
"command": {
"type": "string",
"enum": ["str_replace", "insert"],
"description": "Edit mode: 'str_replace' or 'insert'."
},
"path": {
"type": "string",
"description": "Path of the file to edit, relative to repo root."
},
"instruction_reminder": {
"type": "string",
"description": "Must be exactly: 'ALWAYS BREAK DOWN EDITS INTO SMALLER CHUNKS OF AT MOST 150 LINES EACH.'"
},
"insert_line_1": {
"type": "integer",
"description": "For 'insert': 1-based line number after which to insert. Use 0 to insert at the very beginning."
},
"new_str_1": {
"type": "string",
"description": "For 'str_replace' and 'insert': the new content."
},
"old_str_1": {
"type": "string",
"description": "For 'str_replace': the exact original text to replace (must match exactly, including whitespace)."
},
"old_str_start_line_number_1": {
"type": "integer",
"description": "For 'str_replace': 1-based start line of old_str_1."
},
"old_str_end_line_number_1": {
"type": "integer",
"description": "For 'str_replace': 1-based end line of old_str_1 (inclusive)."
}
},
"required": ["command", "path", "instruction_reminder"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "save-file",
"description": "Create a new file. Does not modify existing files.",
"parameters": {
"type": "object",
"properties": {
"instructions_reminder": {
"type": "string",
"description": "Must be exactly: 'LIMIT THE FILE CONTENT TO AT MOST 300 LINES. IF MORE CONTENT NEEDS TO BE ADDED USE THE str-replace-editor TOOL TO EDIT THE FILE AFTER IT HAS BEEN CREATED.'"
},
"path": {
"type": "string",
"description": "Path for the new file, relative to repo root."
},
"file_content": {
"type": "string",
"description": "Content to write into the new file."
},
"add_last_line_newline": {
"type": "boolean",
"default": true,
"description": "Whether to ensure a trailing newline."
}
},
"required": ["instructions_reminder", "path", "file_content"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "remove-files",
"description": "Delete files from the workspace in a reversible way.",
"parameters": {
"type": "object",
"properties": {
"file_paths": {
"type": "array",
"items": { "type": "string" },
"description": "List of file paths to remove, relative to repo root."
}
},
"required": ["file_paths"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "launch-process",
"description": "Run a shell command. Use wait=true for short commands. OS is win32; shell is 'bash'.",
"parameters": {
"type": "object",
"properties": {
"command": { "type": "string", "description": "The shell command to execute." },
"wait": { "type": "boolean", "description": "Whether to wait for the process to complete." },
"max_wait_seconds": { "type": "integer", "description": "Timeout in seconds when wait=true." },
"cwd": { "type": "string", "description": "Absolute working directory for the command." }
},
"required": ["command", "wait", "max_wait_seconds", "cwd"],
"additionalProperties": false
}
}
},
{ "type": "function", "function": {
"name": "read-process",
"description": "Read output from a previously launched process.",
"parameters": {
"type": "object",
"properties": {
"terminal_id": { "type": "integer", "description": "Target terminal ID." },
"wait": { "type": "boolean", "description": "Whether to wait for completion." },
"max_wait_seconds": { "type": "integer", "description": "Timeout when wait=true." }
},
"required": ["terminal_id", "wait", "max_wait_seconds"],
"additionalProperties": false
}
}},
{ "type": "function", "function": {
"name": "write-process",
"description": "Write input to a running processs stdin.",
"parameters": {
"type": "object",
"properties": {
"terminal_id": { "type": "integer", "description": "Target terminal ID." },
"input_text": { "type": "string", "description": "Text to write to stdin." }
},
"required": ["terminal_id", "input_text"],
"additionalProperties": false
}
}},
{ "type": "function", "function": {
"name": "kill-process",
"description": "Kill a running process by terminal ID.",
"parameters": {
"type": "object",
"properties": {
"terminal_id": { "type": "integer", "description": "Target terminal ID." }
},
"required": ["terminal_id"],
"additionalProperties": false
}
}},
{ "type": "function", "function": {
"name": "list-processes",
"description": "List all known terminals created with the launch-process tool.",
"parameters": { "type": "object", "properties": {}, "additionalProperties": false }
}},
{
"type": "function",
"function": {
"name": "diagnostics",
"description": "Return IDE issues (errors, warnings, etc.) for specified files.",
"parameters": {
"type": "object",
"properties": {
"paths": {
"type": "array",
"items": { "type": "string" },
"description": "List of file paths to get issues for."
}
},
"required": ["paths"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "read-terminal",
"description": "Read the visible output from the active or most-recently used VSCode terminal.",
"parameters": {
"type": "object",
"properties": {
"only_selected": {
"type": "boolean",
"description": "Whether to read only the selected text."
}
},
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "open-browser",
"description": "Open a URL in the default browser.",
"parameters": {
"type": "object",
"properties": {
"url": { "type": "string", "description": "URL to open." }
},
"required": ["url"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "web-search",
"description": "Search the web using Google Custom Search API.",
"parameters": {
"type": "object",
"properties": {
"query": { "type": "string", "description": "Search query." },
"num_results": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5,
"description": "Number of results to return (110)."
}
},
"required": ["query"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "web-fetch",
"description": "Fetch a webpage and return its content in Markdown format.",
"parameters": {
"type": "object",
"properties": {
"url": { "type": "string", "description": "URL to fetch." }
},
"required": ["url"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "view-range-untruncated",
"description": "View a specific line range from previously truncated content by reference ID.",
"parameters": {
"type": "object",
"properties": {
"reference_id": { "type": "string", "description": "Reference ID from truncation footer." },
"start_line": { "type": "integer", "description": "1-based inclusive start line." },
"end_line": { "type": "integer", "description": "1-based inclusive end line." }
},
"required": ["reference_id", "start_line", "end_line"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "search-untruncated",
"description": "Search within previously untruncated content by reference ID.",
"parameters": {
"type": "object",
"properties": {
"reference_id": { "type": "string", "description": "Reference ID from truncation footer." },
"search_term": { "type": "string", "description": "Text to search for." },
"context_lines": { "type": "integer", "default": 2, "description": "Context lines around matches." }
},
"required": ["reference_id", "search_term"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "view_tasklist",
"description": "View the current task list for the conversation.",
"parameters": { "type": "object", "properties": {}, "additionalProperties": false }
}
},
{
"type": "function",
"function": {
"name": "add_tasks",
"description": "Add one or more new tasks (and optional subtasks) to the task list.",
"parameters": {
"type": "object",
"properties": {
"tasks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"parent_task_id": { "type": "string" },
"after_task_id": { "type": "string" },
"state": {
"type": "string",
"enum": ["NOT_STARTED", "IN_PROGRESS", "CANCELLED", "COMPLETE"]
}
},
"required": ["name", "description"],
"additionalProperties": false
}
}
},
"required": ["tasks"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "update_tasks",
"description": "Update one or more tasks' properties (state, name, description). Prefer batch updates.",
"parameters": {
"type": "object",
"properties": {
"tasks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"task_id": { "type": "string" },
"state": {
"type": "string",
"enum": ["NOT_STARTED", "IN_PROGRESS", "CANCELLED", "COMPLETE"]
},
"name": { "type": "string" },
"description": { "type": "string" }
},
"required": ["task_id"],
"additionalProperties": false
}
}
},
"required": ["tasks"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "reorganize_tasklist",
"description": "Major restructuring of the task list using a full markdown representation.",
"parameters": {
"type": "object",
"properties": {
"markdown": { "type": "string", "description": "Full task list in markdown with exactly one root task." }
},
"required": ["markdown"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "remember",
"description": "Store long-term memory that can be useful in future interactions.",
"parameters": {
"type": "object",
"properties": {
"memory": { "type": "string", "description": "One concise sentence to remember." }
},
"required": ["memory"],
"additionalProperties": false
}
}
},
{
"type": "function",
"function": {
"name": "render-mermaid",
"description": "Render a Mermaid diagram from the provided definition.",
"parameters": {
"type": "object",
"properties": {
"diagram_definition": { "type": "string", "description": "Mermaid definition code." },
"title": { "type": "string", "description": "Optional title for the diagram." }
},
"required": ["diagram_definition"],
"additionalProperties": false
}
}
}
]
}