518 lines
29 KiB
JSON
518 lines
29 KiB
JSON
[
|
||
{
|
||
"name": "read_file",
|
||
"description": "Read the full UTF-8 content of a file within the allowed project paths. Use get_file_summary first to decide whether you need the full content.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Absolute or relative path to the file to read."
|
||
}
|
||
},
|
||
"required": [
|
||
"path"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "list_directory",
|
||
"description": "List files and subdirectories within an allowed directory. Shows name, type (file/dir), and size. Use this to explore the project structure.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Absolute path to the directory to list."
|
||
}
|
||
},
|
||
"required": [
|
||
"path"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "search_files",
|
||
"description": "Search for files matching a glob pattern within an allowed directory. Supports recursive patterns like '**/*.py'. Use this to find files by extension or name pattern.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Absolute path to the directory to search within."
|
||
},
|
||
"pattern": {
|
||
"type": "string",
|
||
"description": "Glob pattern, e.g. '*.py', '**/*.toml', 'src/**/*.rs'."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"pattern"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "get_file_summary",
|
||
"description": "Get a compact heuristic summary of a file without reading its full content. For Python: imports, classes, methods, functions, constants. For TOML: table keys. For Markdown: headings. Others: line count + preview. Use this before read_file to decide if you need the full content.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Absolute or relative path to the file to summarise."
|
||
}
|
||
},
|
||
"required": [
|
||
"path"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_get_skeleton",
|
||
"description": "Get a skeleton view of a Python file. This returns all classes and function signatures with their docstrings, but replaces function bodies with '...'. Use this to understand module interfaces without reading the full implementation.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the .py file."
|
||
}
|
||
},
|
||
"required": [
|
||
"path"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_get_code_outline",
|
||
"description": "Get a hierarchical outline of a code file. This returns classes, functions, and methods with their line ranges and brief docstrings. Use this to quickly map out a file's structure before reading specific sections.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the code file (currently supports .py)."
|
||
}
|
||
},
|
||
"required": [
|
||
"path"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "get_file_slice",
|
||
"description": "Read a specific line range from a file. Useful for reading parts of very large files.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the file."
|
||
},
|
||
"start_line": {
|
||
"type": "integer",
|
||
"description": "1-based start line number."
|
||
},
|
||
"end_line": {
|
||
"type": "integer",
|
||
"description": "1-based end line number (inclusive)."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"start_line",
|
||
"end_line"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "set_file_slice",
|
||
"description": "Replace a specific line range in a file with new content. Surgical edit tool.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the file."
|
||
},
|
||
"start_line": {
|
||
"type": "integer",
|
||
"description": "1-based start line number."
|
||
},
|
||
"end_line": {
|
||
"type": "integer",
|
||
"description": "1-based end line number (inclusive)."
|
||
},
|
||
"new_content": {
|
||
"type": "string",
|
||
"description": "New content to insert."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"start_line",
|
||
"end_line",
|
||
"new_content"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_get_definition",
|
||
"description": "Get the full source code of a specific class, function, or method definition. This is more efficient than reading the whole file if you know what you're looking for.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the .py file."
|
||
},
|
||
"name": {
|
||
"type": "string",
|
||
"description": "The name of the class or function to retrieve. Use 'ClassName.method_name' for methods."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"name"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_update_definition",
|
||
"description": "Surgically replace the definition of a class or function in a Python file using AST to find line ranges.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the .py file."
|
||
},
|
||
"name": {
|
||
"type": "string",
|
||
"description": "Name of class/function/method."
|
||
},
|
||
"new_content": {
|
||
"type": "string",
|
||
"description": "Complete new source for the definition."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"name",
|
||
"new_content"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_get_signature",
|
||
"description": "Get only the signature part of a Python function or method (from def until colon).",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the .py file."
|
||
},
|
||
"name": {
|
||
"type": "string",
|
||
"description": "Name of the function/method (e.g. 'ClassName.method_name')."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"name"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_set_signature",
|
||
"description": "Surgically replace only the signature of a Python function or method.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the .py file."
|
||
},
|
||
"name": {
|
||
"type": "string",
|
||
"description": "Name of the function/method."
|
||
},
|
||
"new_signature": {
|
||
"type": "string",
|
||
"description": "Complete new signature string (including def and trailing colon)."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"name",
|
||
"new_signature"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_get_class_summary",
|
||
"description": "Get a summary of a Python class, listing its docstring and all method signatures.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the .py file."
|
||
},
|
||
"name": {
|
||
"type": "string",
|
||
"description": "Name of the class."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"name"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_get_var_declaration",
|
||
"description": "Get the assignment/declaration line for a variable.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the .py file."
|
||
},
|
||
"name": {
|
||
"type": "string",
|
||
"description": "Name of the variable."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"name"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_set_var_declaration",
|
||
"description": "Surgically replace a variable assignment/declaration.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the .py file."
|
||
},
|
||
"name": {
|
||
"type": "string",
|
||
"description": "Name of the variable."
|
||
},
|
||
"new_declaration": {
|
||
"type": "string",
|
||
"description": "Complete new assignment/declaration string."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"name",
|
||
"new_declaration"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "get_git_diff",
|
||
"description": "Returns the git diff for a file or directory. Use this to review changes efficiently without reading entire files.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the file or directory."
|
||
},
|
||
"base_rev": {
|
||
"type": "string",
|
||
"description": "Base revision (e.g. 'HEAD', 'HEAD~1', or a commit hash). Defaults to 'HEAD'."
|
||
},
|
||
"head_rev": {
|
||
"type": "string",
|
||
"description": "Head revision (optional)."
|
||
}
|
||
},
|
||
"required": [
|
||
"path"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "web_search",
|
||
"description": "Search the web using DuckDuckGo. Returns the top 5 search results with titles, URLs, and snippets. Chain this with fetch_url to read specific pages.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"query": {
|
||
"type": "string",
|
||
"description": "The search query."
|
||
}
|
||
},
|
||
"required": [
|
||
"query"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "fetch_url",
|
||
"description": "Fetch the full text content of a URL (stripped of HTML tags). Use this after web_search to read relevant information from the web.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"url": {
|
||
"type": "string",
|
||
"description": "The full URL to fetch."
|
||
}
|
||
},
|
||
"required": [
|
||
"url"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "get_ui_performance",
|
||
"description": "Get a snapshot of the current UI performance metrics, including FPS, Frame Time (ms), CPU usage (%), and Input Lag (ms). Use this to diagnose UI slowness or verify that your changes haven't degraded the user experience.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {}
|
||
}
|
||
},
|
||
{
|
||
"name": "py_find_usages",
|
||
"description": "Finds exact string matches of a symbol in a given file or directory.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to file or directory to search."
|
||
},
|
||
"name": {
|
||
"type": "string",
|
||
"description": "The symbol/string to search for."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"name"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_get_imports",
|
||
"description": "Parses a file's AST and returns a strict list of its dependencies.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the .py file."
|
||
}
|
||
},
|
||
"required": [
|
||
"path"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_check_syntax",
|
||
"description": "Runs a quick syntax check on a Python file.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the .py file."
|
||
}
|
||
},
|
||
"required": [
|
||
"path"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_get_hierarchy",
|
||
"description": "Scans the project to find subclasses of a given class.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Directory path to search in."
|
||
},
|
||
"class_name": {
|
||
"type": "string",
|
||
"description": "Name of the base class."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"class_name"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "py_get_docstring",
|
||
"description": "Extracts the docstring for a specific module, class, or function.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Path to the .py file."
|
||
},
|
||
"name": {
|
||
"type": "string",
|
||
"description": "Name of symbol or 'module' for the file docstring."
|
||
}
|
||
},
|
||
"required": [
|
||
"path",
|
||
"name"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "get_tree",
|
||
"description": "Returns a directory structure up to a max depth.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"path": {
|
||
"type": "string",
|
||
"description": "Directory path."
|
||
},
|
||
"max_depth": {
|
||
"type": "integer",
|
||
"description": "Maximum depth to recurse (default 2)."
|
||
}
|
||
},
|
||
"required": [
|
||
"path"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "run_powershell",
|
||
"description": "Run a PowerShell script within the project base_dir. Use this to create, edit, rename, or delete files and directories. The working directory is set to base_dir automatically. stdout and stderr are returned to you as the result.",
|
||
"parametersJsonSchema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"script": {
|
||
"type": "string",
|
||
"description": "The PowerShell script to execute."
|
||
}
|
||
},
|
||
"required": [
|
||
"script"
|
||
]
|
||
}
|
||
}
|
||
]
|