feat: open Athena tool architecture

This commit is contained in:
Mikei386
2026-08-24 12:46:33 +02:00
parent 5528f3ab22
commit 5db73d0a92
26 changed files with 430 additions and 212 deletions
+25 -1
View File
@@ -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",