Text Generation
Transformers
English
qwen2
code-generation
python
fine-tuning
Qwen
tools
agent-framework
multi-agent
conversational
Eval Results (legacy)
Instructions to use my-ai-stack/Stack-2-9-finetuned with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use my-ai-stack/Stack-2-9-finetuned with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="my-ai-stack/Stack-2-9-finetuned") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("my-ai-stack/Stack-2-9-finetuned") model = AutoModelForCausalLM.from_pretrained("my-ai-stack/Stack-2-9-finetuned") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use my-ai-stack/Stack-2-9-finetuned with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "my-ai-stack/Stack-2-9-finetuned" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "my-ai-stack/Stack-2-9-finetuned", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/my-ai-stack/Stack-2-9-finetuned
- SGLang
How to use my-ai-stack/Stack-2-9-finetuned with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "my-ai-stack/Stack-2-9-finetuned" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "my-ai-stack/Stack-2-9-finetuned", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "my-ai-stack/Stack-2-9-finetuned" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "my-ai-stack/Stack-2-9-finetuned", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use my-ai-stack/Stack-2-9-finetuned with Docker Model Runner:
docker model run hf.co/my-ai-stack/Stack-2-9-finetuned
| # Stack 2.9 - Tool Reference | |
| **38 Built-in Tools** for file operations, git, code execution, web, memory, and task planning. | |
| --- | |
| ## 📁 File Operations | |
| ### read | |
| **Description:** Read file contents with optional offset and limit. | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (required) - file path to read", | |
| "offset": "integer (optional, default 0) - starting line number", | |
| "limit": "integer (optional, default -1) - max lines to read (-1 = all)" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "content": "string - file contents", | |
| "total_lines": "integer", | |
| "path": "string", | |
| "error": "string (if success=false)" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| read(path: '/home/user/file.py', offset: 0, limit: 100) | |
| ``` | |
| ### write | |
| **Description:** Write content to file (create or overwrite). | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (required) - destination file path", | |
| "content": "string (required) - content to write", | |
| "append": "boolean (optional, default false) - append instead of overwrite" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "path": "string", | |
| "lines_written": "integer" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| write(path: 'output.txt', content: 'Hello World', append: false) | |
| ``` | |
| ### edit | |
| **Description:** Edit file using exact text replacement (first occurrence only). | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (required) - file to edit", | |
| "old_text": "string (required) - text to find and replace", | |
| "new_text": "string (required) - replacement text" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "path": "string", | |
| "edits_made": "integer (usually 1)", | |
| "error": "string (if old_text not found or file missing)" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| edit(path: 'config.py', old_text: 'DEBUG = True', new_text: 'DEBUG = False') | |
| ``` | |
| ### search | |
| **Description:** Recursively search for files matching a glob pattern. | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (required) - base directory to search", | |
| "pattern": "string (required) - glob pattern (e.g., '*.py', '**/*.md')", | |
| "exclude": "array of strings (optional) - exclusion patterns" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "matches": "array of file paths (strings)", | |
| "count": "integer", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| search(path: '/project', pattern: '**/*.py', exclude: ['node_modules', '.git']) | |
| ``` | |
| ### grep | |
| **Description:** Search for regex pattern in file(s), optionally with context lines. | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (required) - file or directory to search", | |
| "pattern": "string (required) - regex pattern", | |
| "context": "integer (optional, default 0) - number of lines before/after" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "matches": "array of objects with: file, line, content, [context]", | |
| "count": "integer" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| grep(path: '/src', pattern: 'def\\s+\\w+', context: 2) | |
| ``` | |
| ### copy | |
| **Description:** Copy file or directory. | |
| **Input:** | |
| ```json | |
| { | |
| "source": "string (required) - source path", | |
| "destination": "string (required) - destination path" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "source": "string", | |
| "destination": "string", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| copy(source: 'backup/config.yaml', destination: 'config.yaml') | |
| ``` | |
| ### move | |
| **Description:** Move or rename file/directory. | |
| **Input:** | |
| ```json | |
| { | |
| "source": "string (required) - current path", | |
| "destination": "string (required) - new path" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "source": "string", | |
| "destination": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| move(source: 'old_name.py', destination: 'new_name.py') | |
| ``` | |
| ### delete | |
| **Description:** Delete file or directory. Requires `force=True` for actual deletion (safety). | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (required) - path to delete", | |
| "force": "boolean (optional, default false) - must be true to actually delete" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "deleted": "string (if force=true)", | |
| "warning": "string (if force=false)", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| delete(path: 'temp_file.log', force: true) | |
| ``` | |
| --- | |
| ## 🔀 Git Operations | |
| ### git_status | |
| **Description:** Get git status (modified, untracked files). | |
| **Input:** | |
| ```json | |
| { | |
| "repo_path": "string (optional, default '.') - git repository path" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "files": "array of file paths (strings)", | |
| "count": "integer", | |
| "repo": "string", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| git_status(repo_path: '/my/project') | |
| ``` | |
| ### git_commit | |
| **Description:** Create a git commit with optional file staging. | |
| **Input:** | |
| ```json | |
| { | |
| "repo_path": "string (optional, default '.')", | |
| "message": "string (required) - commit message", | |
| "files": "array of strings (optional) - specific files to stage (default: all)" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "message": "string", | |
| "output": "string (full git output)", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| git_commit(repo_path: '.', message: 'Fix bug in parser', files: ['src/parser.py']) | |
| ``` | |
| ### git_push | |
| **Description:** Push commits to remote repository. | |
| **Input:** | |
| ```json | |
| { | |
| "repo_path": "string (optional, default '.')", | |
| "remote": "string (optional, default 'origin')", | |
| "branch": "string (optional) - branch name (default: current branch)" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "remote": "string", | |
| "branch": "string", | |
| "output": "string", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| git_push(repo_path: '.', remote: 'origin', branch: 'main') | |
| ``` | |
| ### git_pull | |
| **Description:** Pull changes from remote repository. | |
| **Input:** | |
| ```json | |
| { | |
| "repo_path": "string (optional, default '.')", | |
| "remote": "string (optional, default 'origin')", | |
| "branch": "string (optional)" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "remote": "string", | |
| "branch": "string", | |
| "output": "string", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| git_pull(repo_path: '.', remote: 'origin') | |
| ``` | |
| ### git_branch | |
| **Description:** List, create, or delete branches. | |
| **Input:** | |
| ```json | |
| { | |
| "repo_path": "string (optional, default '.')", | |
| "create": "string (optional) - create new branch with this name", | |
| "delete": "string (optional) - delete branch with this name" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "branches": "array of strings (when listing)", | |
| "count": "integer", | |
| "created": "string (when creating)", | |
| "deleted": "string (when deleting)", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| git_branch(repo_path: '.', create: 'feature/new-ui') | |
| ``` | |
| ### git_log | |
| **Description:** Get commit history (oneline format). | |
| **Input:** | |
| ```json | |
| { | |
| "repo_path": "string (optional, default '.')", | |
| "limit": "integer (optional, default 10) - max commits to return" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "commits": "array of strings (oneline format)", | |
| "count": "integer" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| git_log(repo_path: '.', limit: 20) | |
| ``` | |
| ### git_diff | |
| **Description:** Show git diff (staged or unstaged changes). | |
| **Input:** | |
| ```json | |
| { | |
| "repo_path": "string (optional, default '.')", | |
| "file": "string (optional) - limit diff to specific file", | |
| "staged": "boolean (optional, default false) - show staged changes" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "diff": "string - full diff output", | |
| "has_changes": "boolean", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| git_diff(repo_path: '.', staged: true) | |
| ``` | |
| --- | |
| ## 💻 Code Execution | |
| ### run | |
| **Description:** Execute shell command with timeout and working directory. | |
| **Input:** | |
| ```json | |
| { | |
| "command": "string (required) - shell command to execute", | |
| "timeout": "integer (optional, default 60) - timeout in seconds", | |
| "cwd": "string (optional) - working directory", | |
| "env": "object (optional) - environment variables to add/override" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean (true if returncode==0)", | |
| "returncode": "integer", | |
| "stdout": "string", | |
| "stderr": "string", | |
| "command": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| run(command: 'npm test', timeout: 120, cwd: '/project') | |
| ``` | |
| ### test | |
| **Description:** Run tests using pytest. | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (optional, default '.') - test directory or file", | |
| "pattern": "string (optional, default 'test*.py') - test file pattern", | |
| "verbose": "boolean (optional, default true) - verbose output" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean (true if tests pass)", | |
| "output": "string (stdout)", | |
| "errors": "string (stderr)", | |
| "returncode": "integer" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| test(path: 'tests/', pattern: 'test_*.py', verbose: true) | |
| ``` | |
| ### lint | |
| **Description:** Lint code using ruff, pylint, or mypy. | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (optional, default '.')", | |
| "linter": "string (optional, default 'ruff') - one of: 'ruff', 'pylint', 'mypy'" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "output": "string", | |
| "errors": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| lint(path: 'src/', linter: 'ruff') | |
| ``` | |
| ### format | |
| **Description:** Format code using ruff or black. | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (optional, default '.')", | |
| "formatter": "string (optional, default 'ruff') - one of: 'ruff', 'black'" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "output": "string", | |
| "errors": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| format(path: '.', formatter: 'black') | |
| ``` | |
| ### typecheck | |
| **Description:** Run mypy type checking. | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (optional, default '.')" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "output": "string", | |
| "errors": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| typecheck(path: 'src/') | |
| ``` | |
| ### server | |
| **Description:** Start a development server (foreground or background). | |
| **Input:** | |
| ```json | |
| { | |
| "command": "string (required) - command to start server", | |
| "port": "integer (required) - port number", | |
| "cwd": "string (optional) - working directory", | |
| "background": "boolean (optional, default false) - run in background" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "pid": "integer (if background=true)", | |
| "port": "integer", | |
| "message": "string", | |
| "output": "string (if background=false)" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| server(command: 'python -m http.server 8000', port: 8000, background: true) | |
| ``` | |
| ### install | |
| **Description:** Install dependencies from requirements file. | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (optional, default '.')", | |
| "package_manager": "string (optional, default 'pip') - 'pip', 'poetry', or 'npm'" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "output": "string", | |
| "errors": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| install(path: '.', package_manager: 'pip') | |
| ``` | |
| --- | |
| ## 🌐 Web | |
| ### web_search | |
| **Description:** Search the web (uses brave-search CLI or fallback). | |
| **Input:** | |
| ```json | |
| { | |
| "query": "string (required) - search query", | |
| "count": "integer (optional, default 5) - number of results", | |
| "freshness": "string (optional) - time filter (day, week, month, year)", | |
| "language": "string (optional) - language code (e.g., 'en')" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "query": "string", | |
| "results": "array of {title, url, snippet} objects", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| web_search(query: 'python asyncio tutorial', count: 5) | |
| ``` | |
| ### fetch | |
| **Description:** Fetch and extract text content from URL. | |
| **Input:** | |
| ```json | |
| { | |
| "url": "string (required) - URL to fetch", | |
| "max_chars": "integer (optional, default 10000) - max characters to return" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "url": "string", | |
| "content": "string (truncated to max_chars)", | |
| "length": "integer", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| fetch(url: 'https://example.com', max_chars: 5000) | |
| ``` | |
| ### download | |
| **Description:** Download file from URL to local destination. | |
| **Input:** | |
| ```json | |
| { | |
| "url": "string (required) - URL to download", | |
| "destination": "string (required) - local file path" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "url": "string", | |
| "destination": "string", | |
| "size": "integer (bytes)", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| download(url: 'https://example.com/file.zip', destination: 'downloads/file.zip') | |
| ``` | |
| ### check_url | |
| **Description:** Check if URL is accessible (HTTP status code). | |
| **Input:** | |
| ```json | |
| { | |
| "url": "string (required) - URL to check" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean (true for 200, 301, 302)", | |
| "url": "string", | |
| "status_code": "string (e.g., '200')" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| check_url(url: 'https://api.example.com/health') | |
| ``` | |
| ### screenshot | |
| **Description:** Take screenshot of webpage (requires puppeteer). | |
| **Input:** | |
| ```json | |
| { | |
| "url": "string (required) - webpage URL", | |
| "destination": "string (optional, default 'screenshot.png') - output file path" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "url": "string", | |
| "destination": "string", | |
| "error": "string" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| screenshot(url: 'https://example.com', destination: 'page.png') | |
| ``` | |
| --- | |
| ## 🧠 Memory | |
| ### memory_recall | |
| **Description:** Search memory files (MEMORY.md and memory/*.md) for query. | |
| **Input:** | |
| ```json | |
| { | |
| "query": "string (required) - search term", | |
| "max_results": "integer (optional, default 5) - max matching files to return" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "query": "string", | |
| "matches": "array of file paths", | |
| "count": "integer" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| memory_recall(query: 'project Alpha', max_results: 10) | |
| ``` | |
| ### memory_save | |
| **Description:** Save a memory entry to MEMORY.md. | |
| **Input:** | |
| ```json | |
| { | |
| "key": "string (required) - entry title/heading", | |
| "value": "string (required) - entry content" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "key": "string", | |
| "saved": "boolean" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| memory_save(key: 'Meeting with Client', value: 'Discussed timeline and requirements') | |
| ``` | |
| ### memory_list | |
| **Description:** List all memory entries (titles only). | |
| **Input:** `{}` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "entries": "array of {title, content_preview}", | |
| "count": "integer" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| memory_list() | |
| ``` | |
| ### context_load | |
| **Description:** Load core context files (AGENTS.md, SOUL.md, TOOLS.md). | |
| **Input:** `{}` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "context": "object with keys: agents, soul, tools", | |
| "loaded": "array of loaded file names" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| context_load() | |
| ``` | |
| ### project_scan | |
| **Description:** Scan project structure and detect key files. | |
| **Input:** | |
| ```json | |
| { | |
| "path": "string (optional, default '.')" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "project": { | |
| "name": "string", | |
| "files": "array", | |
| "dirs": "array", | |
| "has_git": "boolean", | |
| "has_pyproject": "boolean", | |
| "has_package_json": "boolean", | |
| "has_dockerfile": "boolean" | |
| } | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| project_scan(path: '/my/project') | |
| ``` | |
| --- | |
| ## 📋 Task Planning | |
| ### create_task | |
| **Description:** Create a new task with title, description, priority. | |
| **Input:** | |
| ```json | |
| { | |
| "title": "string (required)", | |
| "description": "string (optional, default '')", | |
| "priority": "string (optional, default 'medium') - 'low', 'medium', 'high', 'critical'" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "task": { | |
| "id": "string (8-char hash)", | |
| "title": "string", | |
| "description": "string", | |
| "priority": "string", | |
| "status": "pending", | |
| "created": "ISO timestamp" | |
| } | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| create_task(title: 'Fix login bug', description: 'Users cannot logout', priority: 'high') | |
| ``` | |
| ### list_tasks | |
| **Description:** List tasks with optional filtering. | |
| **Input:** | |
| ```json | |
| { | |
| "status": "string (optional) - filter by status", | |
| "priority": "string (optional) - filter by priority" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "tasks": "array of task objects", | |
| "count": "integer" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| list_tasks(status: 'pending', priority: 'high') | |
| ``` | |
| ### update_task | |
| **Description:** Update task status or fields. | |
| **Input:** | |
| ```json | |
| { | |
| "task_id": "string (required) - task identifier", | |
| "status": "string (optional) - new status (pending, in_progress, done, blocked)", | |
| "**kwargs": "any other fields to update" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "task_id": "string", | |
| "updated": "boolean" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| update_task(task_id: 'a1b2c3d4', status: 'in_progress') | |
| ``` | |
| ### delete_task | |
| **Description:** Delete a task by ID. | |
| **Input:** | |
| ```json | |
| { | |
| "task_id": "string (required)" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "task_id": "string", | |
| "deleted": "boolean" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| delete_task(task_id: 'a1b2c3d4') | |
| ``` | |
| ### create_plan | |
| **Description:** Create an execution plan with ordered steps. | |
| **Input:** | |
| ```json | |
| { | |
| "goal": "string (required)", | |
| "steps": "array of strings (required) - ordered list of steps" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "plan": { | |
| "id": "string (8-char hash)", | |
| "goal": "string", | |
| "steps": "array", | |
| "status": "pending", | |
| "created": "ISO timestamp" | |
| } | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| create_plan(goal: 'Deploy to production', steps: ['Build Docker image', 'Push to registry', 'Update k8s config']) | |
| ``` | |
| ### execute_plan | |
| **Description:** Mark a plan as executing (manual step-by-step execution). | |
| **Input:** | |
| ```json | |
| { | |
| "plan_id": "string (required)" | |
| } | |
| ``` | |
| **Output:** | |
| ```json | |
| { | |
| "success": "boolean", | |
| "plan_id": "string", | |
| "status": "executing", | |
| "steps": "array of steps to execute" | |
| } | |
| ``` | |
| **Example:** | |
| ```python | |
| execute_plan(plan_id: 'p1l2a3n4') | |
| ``` | |
| --- | |
| ## 📝 Notes | |
| - All tools return a dictionary with at least a `success` boolean key. | |
| - On failure, additional keys (`error`, `message`) provide details. | |
| - Paths are relative to current working directory unless absolute. | |
| - Timeouts prevent infinite hangs (default varies per tool). | |
| - For safety, destructive operations (delete) require explicit flags. | |
| --- | |
| **Total Tools:** 38 across 6 categories | |