feat: open Athena tool architecture
This commit is contained in:
@@ -10,7 +10,7 @@ import sys
|
||||
from typing import Any
|
||||
|
||||
|
||||
VERSION = "1.0.0"
|
||||
VERSION = "2.0.0"
|
||||
SOCKET_PATH = os.environ.get("ATHENA_OPERATOR_SOCKET", "/operator/operator.sock")
|
||||
|
||||
if hasattr(sys.stdin, "reconfigure"):
|
||||
@@ -54,6 +54,29 @@ TOOLS = [
|
||||
"description": "Search the complete versioned Athena repository for exact text before designing or modifying a component.",
|
||||
"inputSchema": {"type": "object", "properties": {"query": {"type": "string", "minLength": 1, "maxLength": 200}}, "required": ["query"], "additionalProperties": False},
|
||||
},
|
||||
{
|
||||
"name": "athena_operator_terminal",
|
||||
"description": (
|
||||
"GENERAL ATHENA TERMINAL. Run one bounded shell command on the Athena host when the "
|
||||
"structured operator tools are too narrow. This is the broad escape hatch for Docker, "
|
||||
"Compose, Git, MCP development, model inspection, downloads, HTTP/API tests, files, logs "
|
||||
"and SSH to configured remote systems. Prefer a single focused command and cap noisy output "
|
||||
"with the command itself. The server blocks power control and changes to Athena's SSH, LAN, "
|
||||
"WireGuard, firewall, boot, kernel, mounts and partitions so remote reachability cannot be "
|
||||
"accidentally destroyed. Other commands execute immediately and must be verified afterwards."
|
||||
),
|
||||
"inputSchema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"command": {"type": "string", "minLength": 1, "maxLength": 8000},
|
||||
"cwd": {"type": "string", "maxLength": 500, "default": "/opt/mike-ai/stack"},
|
||||
"timeout_seconds": {"type": "integer", "minimum": 1, "maximum": 3600, "default": 300},
|
||||
"max_output_chars": {"type": "integer", "minimum": 1000, "maximum": 30000, "default": 12000},
|
||||
},
|
||||
"required": ["command"],
|
||||
"additionalProperties": False,
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "athena_operator_prepare",
|
||||
"description": (
|
||||
@@ -129,6 +152,7 @@ def call(name: str, arguments: dict[str, Any]) -> dict[str, Any]:
|
||||
"athena_operator_inspect": "inspect",
|
||||
"athena_operator_read_source": "read_source",
|
||||
"athena_operator_search_source": "search_source",
|
||||
"athena_operator_terminal": "terminal",
|
||||
"athena_operator_prepare": "prepare",
|
||||
"athena_operator_execute": "execute",
|
||||
"athena_operator_job": "job",
|
||||
|
||||
Reference in New Issue
Block a user