diff --git a/backend/README.md b/backend/README.md index 42d67c5e494ed29a1a026d52a6b746c3186dda69..db3ee1812be48643eaec7a13e366566e61eaf46a 100644 --- a/backend/README.md +++ b/backend/README.md @@ -1,5 +1,5 @@ --- -title: God Agent OS v9 Backend +title: God Agent OS v10 Backend emoji: π€ colorFrom: purple colorTo: indigo @@ -9,35 +9,22 @@ license: mit app_port: 7860 --- -# GOD AGENT OS v9 β Backend API -**Space-Role Architecture | General Autonomous Agent OS** +# GOD AGENT OS v10 β Backend API +**Distributed 22-Space Architecture | Autonomous Agent OS** *Powered by Pyae Sone* -## Architecture +## Runtime Overview +- 22 distributed worker spaces +- God Core Space orchestration +- KeyPool routing for Gemini, SambaNova, and GitHub model endpoints +- WebSocket + REST control plane +- Backward-compatible legacy agent fleet -``` -Agent Kernel (v9) -βββ Core Space β Planning & Orchestration -βββ Browser Space β Web Research & Navigation -βββ Sandbox Space β Code Execution -βββ Coding Space β Code Generation -βββ Vision Space β UI Design & Image Analysis -βββ Debug Space β Error Analysis & Self-Healing -βββ Deploy Space β Cloud Deployments -βββ Communication β Docs & Messaging -``` - -## Roles -- **Cognition** β The Thinker -- **Automation** β The Operator -- **Execution** β The Doer -- **Repair** β The Fixer -- **Visual Intelligence** β The Observer - -## API Endpoints -- `GET /` β System status -- `GET /api/v1/spaces` β List all Spaces -- `POST /api/v1/spaces/{name}/execute` β Execute in Space -- `POST /api/v1/kernel/orchestrate` β Main orchestration -- `WS /ws/chat/{session_id}` β Real-time chat +## Primary APIs +- `GET /` β system runtime summary +- `GET /api/v1/spaces` β list all worker spaces +- `POST /api/v1/spaces/{name}/execute` β execute in a worker space +- `POST /api/v1/kernel/orchestrate` β main orchestration endpoint +- `GET /api/v1/ai/pool-status` β key pool visibility +- `WS /ws/chat/{session_id}` β live orchestration channel - `GET /api/docs` β Swagger UI diff --git a/backend/ai_router/router_v8.py b/backend/ai_router/router_v8.py index 5de5143e71145c6080ccc40bfbac0edbd7dc25b3..e2484b4108353b45f407697f622bf227a0fa21ea 100644 --- a/backend/ai_router/router_v8.py +++ b/backend/ai_router/router_v8.py @@ -1,11 +1,11 @@ """ -GOD AGENT OS β Multi-Provider AI Router v8 -Primary Providers (in rotation): Gemini -> Sambanova -> GitHub Models -Task-aware routing with key pool management, failover, and streaming. +GOD AGENT OS β Multi-Provider AI Router v8/v10 compatibility layer. +Primary providers: Gemini -> SambaNova -> GitHub Models. +Supports both legacy `messages=[...]` calls and newer `prompt/system` style calls. """ -import asyncio -import json +from __future__ import annotations + import os import time from typing import Any, Dict, List, Optional, Tuple @@ -15,8 +15,6 @@ import structlog log = structlog.get_logger() -# βββ Provider Definitions βββββββββββββββββββββββββββββββββββββββββββββββββββββ - PROVIDERS = { "gemini": { "name": "gemini", @@ -67,80 +65,85 @@ PROVIDERS = { PRIMARY_ORDER = ["gemini", "sambanova", "github"] FALLBACK_ORDER = ["groq", "openai"] - MAX_RETRIES_PER_KEY = 2 KEY_COOLDOWN_SECONDS = 300 KEY_MAX_FAILS = 3 class KeyPool: - """Manages a pool of API keys with fail tracking and cooldowns.""" - def __init__(self, raw_keys: str): - self._keys: List[Dict] = [] - for k in raw_keys.split(","): - k = k.strip() - if k: - self._keys.append({"key": k, "fails": 0, "cooldown_until": 0.0}) + self._keys: List[Dict[str, Any]] = [] + for key in raw_keys.split(","): + key = key.strip() + if key: + self._keys.append({"key": key, "fails": 0, "cooldown_until": 0.0}) - def pick(self) -> Optional[Dict]: + def pick(self) -> Optional[Dict[str, Any]]: now = time.time() - available = [k for k in self._keys if k["cooldown_until"] < now] + available = [item for item in self._keys if item["cooldown_until"] < now] if not available: return None - available.sort(key=lambda x: x["fails"]) + available.sort(key=lambda item: item["fails"]) return available[0] - def mark_fail(self, key_obj: Dict): + def mark_fail(self, key_obj: Dict[str, Any]): key_obj["fails"] += 1 if key_obj["fails"] >= KEY_MAX_FAILS: key_obj["cooldown_until"] = time.time() + KEY_COOLDOWN_SECONDS - log.warning("Key cooled down", key_prefix=key_obj["key"][:8]) + log.warning("key_cooled_down", key_prefix=key_obj["key"][:8]) - def mark_success(self, key_obj: Dict): + def mark_success(self, key_obj: Dict[str, Any]): key_obj["fails"] = 0 key_obj["cooldown_until"] = 0.0 def has_keys(self) -> bool: - return len(self._keys) > 0 + return bool(self._keys) def count(self) -> int: return len(self._keys) + def status(self) -> List[Dict[str, Any]]: + now = time.time() + result = [] + for item in self._keys: + result.append({ + "key_prefix": item["key"][:8], + "fails": item["fails"], + "cooldown_seconds": max(0, int(item["cooldown_until"] - now)), + "available": item["cooldown_until"] < now, + }) + return result + def classify_task(prompt: str = "") -> str: - p = prompt.lower() - if any(w in p for w in ["code", "function", "implement", "build", "develop", "api", "class", "debug"]): + p = (prompt or "").lower() + if any(word in p for word in ["code", "function", "implement", "build", "develop", "api", "class", "debug"]): return "engineering" - if any(w in p for w in ["plan", "strategy", "workflow", "json", "automate", "pipeline"]): + if any(word in p for word in ["plan", "strategy", "workflow", "json", "automate", "pipeline"]): return "planning" - if any(w in p for w in ["analyze", "reasoning", "why", "explain", "evaluate", "compare"]): + if any(word in p for word in ["analyze", "reasoning", "why", "explain", "evaluate", "compare"]): return "reasoning" - if any(w in p for w in ["research", "find", "search", "discover", "investigate"]): + if any(word in p for word in ["research", "find", "search", "discover", "investigate"]): return "research" - if any(w in p for w in ["write", "content", "blog", "article", "copy", "generate text", "summarize"]): + if any(word in p for word in ["write", "content", "blog", "article", "copy", "generate text", "summarize"]): return "content" - if any(w in p for w in ["translate", "language", "convert"]): + if any(word in p for word in ["translate", "language", "convert"]): return "language" - if any(w in p for w in ["data", "csv", "metrics", "report", "insight"]): + if any(word in p for word in ["data", "csv", "metrics", "report", "insight"]): return "analysis" return "general" def get_provider_order(task_type: str) -> List[str]: - ordered = sorted(PRIMARY_ORDER, key=lambda p: ( - 0 if task_type in PROVIDERS[p]["priority_tasks"] else 1 - )) - return ordered + [f for f in FALLBACK_ORDER if os.environ.get(PROVIDERS[f]["key_env"], "")] + ordered = sorted(PRIMARY_ORDER, key=lambda provider: 0 if task_type in PROVIDERS[provider]["priority_tasks"] else 1) + return ordered + [provider for provider in FALLBACK_ORDER if os.environ.get(PROVIDERS[provider]["key_env"], "")] -async def call_gemini(base_url: str, key: str, messages: List[Dict], max_tokens: int) -> Tuple[bool, str]: +async def call_gemini(base_url: str, key: str, messages: List[Dict[str, str]], max_tokens: int) -> Tuple[bool, str]: url = f"{base_url}?key={key}" - parts = [] - for msg in messages: - parts.append({"text": msg.get("content", "")}) + parts = [{"text": message.get("content", "")} for message in messages if message.get("content")] body = { - "contents": [{"parts": parts}], + "contents": [{"parts": parts or [{"text": "Hello"}]}], "generationConfig": {"maxOutputTokens": max_tokens, "temperature": 0.7}, } try: @@ -150,13 +153,12 @@ async def call_gemini(base_url: str, key: str, messages: List[Dict], max_tokens: data = resp.json() text = data.get("candidates", [{}])[0].get("content", {}).get("parts", [{}])[0].get("text", "") return True, text - else: - return False, f"HTTP {resp.status_code}: {resp.text[:200]}" - except Exception as e: - return False, str(e) + return False, f"HTTP {resp.status_code}: {resp.text[:200]}" + except Exception as exc: + return False, str(exc) -async def call_openai_compat(base_url: str, key: str, model: str, messages: List[Dict], max_tokens: int) -> Tuple[bool, str]: +async def call_openai_compat(base_url: str, key: str, model: str, messages: List[Dict[str, str]], max_tokens: int) -> Tuple[bool, str]: url = f"{base_url}/chat/completions" headers = {"Authorization": f"Bearer {key}", "Content-Type": "application/json"} body = {"model": model, "messages": messages, "max_tokens": max_tokens, "temperature": 0.7} @@ -165,25 +167,19 @@ async def call_openai_compat(base_url: str, key: str, model: str, messages: List resp = await client.post(url, json=body, headers=headers) if resp.status_code == 200: data = resp.json() - text = data["choices"][0]["message"]["content"] - return True, text - else: - return False, f"HTTP {resp.status_code}: {resp.text[:200]}" - except Exception as e: - return False, str(e) + return True, data["choices"][0]["message"]["content"] + return False, f"HTTP {resp.status_code}: {resp.text[:200]}" + except Exception as exc: + return False, str(exc) class GodModeRouter: - """ - Task-aware multi-provider AI router. - Primary: Gemini, Sambanova, GitHub Models - Fallback: Groq, OpenAI - """ - def __init__(self, ws_manager=None): self.ws = ws_manager self._pools: Dict[str, KeyPool] = {} - self._stats: Dict[str, Dict] = {name: {"calls": 0, "errors": 0, "latency_ms": []} for name in PROVIDERS} + self._stats: Dict[str, Dict[str, Any]] = { + name: {"calls": 0, "errors": 0, "latency_ms": []} for name in PROVIDERS + } self._load_pools() def _load_pools(self): @@ -191,7 +187,7 @@ class GodModeRouter: raw = os.environ.get(cfg["key_env"], "") if raw: self._pools[name] = KeyPool(raw) - log.info("Key pool loaded", provider=name, key_count=self._pools[name].count()) + log.info("key_pool_loaded", provider=name, key_count=self._pools[name].count()) def reload_pools(self): self._pools.clear() @@ -210,33 +206,55 @@ class GodModeRouter: "primary_order": PRIMARY_ORDER, } - # Keep backwards compatibility with old AIRouter interface def get_stats(self) -> Dict[str, Any]: return { name: {"available": name in self._pools, "calls": self._stats[name]["calls"]} for name in PROVIDERS } + def get_pool_status(self) -> Dict[str, Any]: + return { + name: { + "available": name in self._pools and self._pools[name].has_keys(), + "keys": self._pools[name].count() if name in self._pools else 0, + "entries": self._pools[name].status() if name in self._pools else [], + } + for name in PROVIDERS + } + + def _normalize_messages(self, messages=None, prompt: str = "", system: str = "") -> Tuple[List[Dict[str, str]], bool]: + if messages: + return messages, False + normalized: List[Dict[str, str]] = [] + if system: + normalized.append({"role": "system", "content": system}) + normalized.append({"role": "user", "content": prompt or "Hello"}) + return normalized, True + async def complete( self, - messages: List[Dict], + messages: Optional[List[Dict[str, str]]] = None, task_id: str = "", session_id: str = "", temperature: float = 0.7, max_tokens: int = 4096, preferred_provider: str = "", stream: bool = False, - ) -> str: - user_msg = next((m.get("content", "") for m in reversed(messages) if m.get("role") == "user"), "") + prompt: str = "", + system: str = "", + preferred_model: str = "", + **_: Any, + ) -> Any: + normalized_messages, return_dict = self._normalize_messages(messages=messages, prompt=prompt, system=system) + user_msg = next((msg.get("content", "") for msg in reversed(normalized_messages) if msg.get("role") == "user"), "") task_type = classify_task(user_msg) if preferred_provider and preferred_provider in PROVIDERS: - order = [preferred_provider] + [p for p in get_provider_order(task_type) if p != preferred_provider] + order = [preferred_provider] + [provider for provider in get_provider_order(task_type) if provider != preferred_provider] else: order = get_provider_order(task_type) - log.info("Routing request", task_type=task_type, order=order[:3], task_id=task_id) - + log.info("routing_request", task_type=task_type, order=order[:3], task_id=task_id, session_id=session_id) last_error = "No providers available" for provider_name in order: @@ -245,8 +263,9 @@ class GodModeRouter: pool = self._pools[provider_name] cfg = PROVIDERS[provider_name] + model = preferred_model or cfg["default_model"] - for attempt in range(MAX_RETRIES_PER_KEY): + for _attempt in range(MAX_RETRIES_PER_KEY): key_obj = pool.pick() if key_obj is None: break @@ -254,43 +273,38 @@ class GodModeRouter: t0 = time.time() try: if cfg["type"] == "gemini": - ok, text = await call_gemini(cfg["base_url"], key_obj["key"], messages, max_tokens) + ok, text = await call_gemini(cfg["base_url"], key_obj["key"], normalized_messages, min(max_tokens, cfg["max_tokens"])) else: - ok, text = await call_openai_compat( - cfg["base_url"], key_obj["key"], - cfg["default_model"], messages, max_tokens - ) - + ok, text = await call_openai_compat(cfg["base_url"], key_obj["key"], model, normalized_messages, min(max_tokens, cfg["max_tokens"])) elapsed = int((time.time() - t0) * 1000) if ok and text.strip(): pool.mark_success(key_obj) self._stats[provider_name]["calls"] += 1 self._stats[provider_name]["latency_ms"].append(elapsed) - log.info("LLM success", provider=provider_name, ms=elapsed, task_id=task_id) - return text - else: - pool.mark_fail(key_obj) - last_error = text - log.warning("LLM fail", provider=provider_name, error=text[:80]) + payload = {"content": text, "provider": provider_name, "task_type": task_type, "latency_ms": elapsed} + return payload if return_dict else text - except Exception as e: pool.mark_fail(key_obj) - last_error = str(e) + last_error = text + self._stats[provider_name]["errors"] += 1 + log.warning("llm_fail", provider=provider_name, error=text[:120]) + except Exception as exc: + pool.mark_fail(key_obj) self._stats[provider_name]["errors"] += 1 - log.error("LLM exception", provider=provider_name, error=str(e)[:120]) + last_error = str(exc) + log.error("llm_exception", provider=provider_name, error=str(exc)[:160]) - log.error("All providers failed, using demo response", last_error=last_error) - return await self._demo_response(messages, task_type) + demo = await self._demo_response(normalized_messages, task_type) + return {"content": demo, "provider": "demo", "task_type": task_type, "error": last_error} if return_dict else demo - async def _demo_response(self, messages: List[Dict], task_type: str) -> str: - user_msg = next((m.get("content", "") for m in reversed(messages) if m.get("role") == "user"), "Hello") + async def _demo_response(self, messages: List[Dict[str, str]], task_type: str) -> str: + user_msg = next((msg.get("content", "") for msg in reversed(messages) if msg.get("role") == "user"), "Hello") return ( - f"[GOD AGENT OS β Demo Mode]\n\n" + "[GOD AGENT OS β Demo Mode]\n\n" f"Task type detected: {task_type}\n" - f"Your request: '{user_msg[:100]}'\n\n" - f"Configure API keys in environment:\n" - f"GEMINI_KEY, SAMBANOVA_KEY, GITHUB_KEY" + f"Your request: '{user_msg[:160]}'\n\n" + "Configure API keys in environment: GEMINI_KEY, SAMBANOVA_KEY, GITHUB_KEY" ) @@ -304,5 +318,4 @@ def get_router(ws_manager=None) -> GodModeRouter: return _router_instance -# Backwards compat alias AIRouterV8 = GodModeRouter diff --git a/backend/api/__pycache__/__init__.cpython-312.pyc b/backend/api/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 56c0c66ef7122cd03c986d89e42750d26fcb0ab6..0000000000000000000000000000000000000000 Binary files a/backend/api/__pycache__/__init__.cpython-312.pyc and /dev/null differ diff --git a/backend/api/__pycache__/websocket_manager.cpython-312.pyc b/backend/api/__pycache__/websocket_manager.cpython-312.pyc deleted file mode 100644 index 39fe470d2d47dfadd2d4e08f78c620aefad89ac6..0000000000000000000000000000000000000000 Binary files a/backend/api/__pycache__/websocket_manager.cpython-312.pyc and /dev/null differ diff --git a/backend/api/routes/__pycache__/__init__.cpython-312.pyc b/backend/api/routes/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 5ccc91e45f72dfcd838292572a03de91995f0383..0000000000000000000000000000000000000000 Binary files a/backend/api/routes/__pycache__/__init__.cpython-312.pyc and /dev/null differ diff --git a/backend/api/routes/__pycache__/chat.cpython-312.pyc b/backend/api/routes/__pycache__/chat.cpython-312.pyc deleted file mode 100644 index 59bb359f9f22fbfe51c7b297cca6ac42c1c78254..0000000000000000000000000000000000000000 Binary files a/backend/api/routes/__pycache__/chat.cpython-312.pyc and /dev/null differ diff --git a/backend/api/routes/__pycache__/github.cpython-312.pyc b/backend/api/routes/__pycache__/github.cpython-312.pyc deleted file mode 100644 index 32bc13856652ed46d33b9497e7325e31674d549a..0000000000000000000000000000000000000000 Binary files a/backend/api/routes/__pycache__/github.cpython-312.pyc and /dev/null differ diff --git a/backend/api/routes/__pycache__/health.cpython-312.pyc b/backend/api/routes/__pycache__/health.cpython-312.pyc deleted file mode 100644 index 7b5fcc886a5431427c10b62efaba98c9c2c17db1..0000000000000000000000000000000000000000 Binary files a/backend/api/routes/__pycache__/health.cpython-312.pyc and /dev/null differ diff --git a/backend/api/routes/__pycache__/memory.cpython-312.pyc b/backend/api/routes/__pycache__/memory.cpython-312.pyc deleted file mode 100644 index 82cf4b4d288bba84b1bed52730e51b20b2f738d1..0000000000000000000000000000000000000000 Binary files a/backend/api/routes/__pycache__/memory.cpython-312.pyc and /dev/null differ diff --git a/backend/api/routes/__pycache__/tasks.cpython-312.pyc b/backend/api/routes/__pycache__/tasks.cpython-312.pyc deleted file mode 100644 index 93b690aa5eac9b4a354e0d9a727de72c5393c1f9..0000000000000000000000000000000000000000 Binary files a/backend/api/routes/__pycache__/tasks.cpython-312.pyc and /dev/null differ diff --git a/backend/core/__pycache__/__init__.cpython-312.pyc b/backend/core/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 379ed24d70cbb3676abd189e72df51c25c53be05..0000000000000000000000000000000000000000 Binary files a/backend/core/__pycache__/__init__.cpython-312.pyc and /dev/null differ diff --git a/backend/core/__pycache__/agent.cpython-312.pyc b/backend/core/__pycache__/agent.cpython-312.pyc deleted file mode 100644 index b5b1ebbbb408d883e9048adb2dd8992582281e2a..0000000000000000000000000000000000000000 Binary files a/backend/core/__pycache__/agent.cpython-312.pyc and /dev/null differ diff --git a/backend/core/__pycache__/models.cpython-312.pyc b/backend/core/__pycache__/models.cpython-312.pyc deleted file mode 100644 index bb9d95933a1cb106e8eca4cd9eac10505e42bd2e..0000000000000000000000000000000000000000 Binary files a/backend/core/__pycache__/models.cpython-312.pyc and /dev/null differ diff --git a/backend/core/__pycache__/task_engine.cpython-312.pyc b/backend/core/__pycache__/task_engine.cpython-312.pyc deleted file mode 100644 index 921c872cdb4610246211e471c629395245037bea..0000000000000000000000000000000000000000 Binary files a/backend/core/__pycache__/task_engine.cpython-312.pyc and /dev/null differ diff --git a/backend/kernel/agent_kernel.py b/backend/kernel/agent_kernel.py index d1d5b161680abea551aa8b9c353ac2406423f3c7..64676da0fa6b396e2cea8c6ecf7c809ef727b821 100644 --- a/backend/kernel/agent_kernel.py +++ b/backend/kernel/agent_kernel.py @@ -9,35 +9,19 @@ import time import uuid from typing import Any, Dict, List, Optional import structlog +from spaces.catalog import SPACE_CATALOG log = structlog.get_logger() +SPACE_IDS = [space["id"] for space in SPACE_CATALOG] -KERNEL_SYSTEM_PROMPT = """You are GOD AGENT OS v9 β a General Autonomous Agent Operating System. +KERNEL_SYSTEM_PROMPT = f"""You are GOD AGENT OS v10 β a distributed autonomous agent operating system. -Architecture: Space-Role Paradigm -- SPACES: Core, Browser, Sandbox, Coding, Vision, Debug, Deploy, Communication +Architecture: Distributed Worker Space Paradigm +- SPACES: {', '.join(SPACE_IDS)} - ROLES: Cognition (Thinker), Automation (Operator), Execution (Doer), Repair (Fixer), Visual Intelligence (Observer) -You are infinitely extensible. For ANY digital task, you select the right Space + Role combination. - -Core Capabilities: -π§ Cognition β Understand intent, break goals into steps, orchestrate Spaces -π Browser Space β Web research, navigation, data extraction -π» Sandbox Space β Code execution, shell commands, isolated environments -π§ Coding Space β Code generation, refactoring, analysis -ποΈ Vision Space β Image analysis, OCR, UI understanding -π Debug Space β Error analysis, self-healing, log parsing -π Deploy Space β Cloud deployments, CI/CD, containerization -π¬ Communication Space β Chat, notifications, multi-channel messaging - -Operating Principles: -1. ANALYZE the request β identify required Spaces and Roles -2. PLAN step-by-step execution across Spaces -3. EXECUTE autonomously without asking for confirmation -4. SELF-HEAL when errors occur -5. PARALLELIZE independent tasks -6. REMEMBER context across sessions - +You are infinitely extensible. For any digital task, select the best worker space and role combination. +Prioritize god-core-space for orchestration, model-router-space for model strategy, deploy-worker-space for deployment, verification-worker-space for quality gates, and auth-gateway-space for permission concerns. Respond in Burmese or English based on user language. Be decisive, thorough, and production-focused. """ @@ -46,7 +30,7 @@ INTENT_CLASSIFICATION_PROMPT = """Classify this request for the Space-Role auton User message: "{message}" -Available Spaces: core, browser, sandbox, coding, vision, debug, deploy, communication +Available Spaces: god-core-space, coding-worker-space, sandbox-worker-space, terminal-worker-space, filesystem-worker-space, browser-worker-space, vision-worker-space, ui-worker-space, debug-worker-space, test-worker-space, verification-worker-space, git-worker-space, deploy-worker-space, connector-worker-space, memory-worker-space, knowledge-worker-space, workflow-worker-space, eventbus-space, observability-space, session-runtime-space, model-router-space, auth-gateway-space Available Roles: cognition, automation, execution, repair, visual_intelligence Respond ONLY with valid JSON: @@ -71,7 +55,7 @@ class ContextManager: if session_id not in self._contexts: self._contexts[session_id] = { "session_id": session_id, - "active_space": "core", + "active_space": "god-core-space", "current_role": "cognition", "task_history": [], "short_term_memory": [], @@ -102,14 +86,7 @@ class ToolRegistry: def __init__(self): self._tools: Dict[str, Dict[str, Any]] = {} self._space_tools: Dict[str, List[str]] = { - "core": [], - "browser": [], - "sandbox": [], - "coding": [], - "vision": [], - "debug": [], - "deploy": [], - "communication": [], + **{space_id: [] for space_id in SPACE_IDS}, } def register(self, name: str, func, space: str, description: str): @@ -143,8 +120,8 @@ class AgentKernel: self._spaces: Dict[str, Any] = {} self._active_tasks: Dict[str, Dict] = {} self._task_history: List[Dict] = [] - self.version = "9.0.0" - log.info("π§ Agent Kernel v9 initialized β Space-Role Architecture") + self.version = "10.0.0" + log.info("π§ Agent Kernel v10 initialized β Distributed Worker Space Architecture") def register_space(self, name: str, space_instance): """Register a Space module.""" @@ -157,7 +134,7 @@ class AgentKernel: def get_status(self) -> Dict: return { "version": self.version, - "architecture": "Space-Role", + "architecture": "Distributed Worker Space", "spaces": list(self._spaces.keys()), "total_spaces": len(self._spaces), "active_tasks": len(self._active_tasks), @@ -185,7 +162,7 @@ class AgentKernel: # Fallback return { - "primary_space": "core", + "primary_space": "god-core-space", "secondary_spaces": [], "role": "cognition", "intent": user_message, @@ -199,7 +176,7 @@ class AgentKernel: """Route a task to the appropriate Space with the given Role.""" space = self._spaces.get(space_name) if not space: - space = self._spaces.get("core") + space = self._spaces.get("god-core-space") if not space: return f"Space '{space_name}' not available." diff --git a/backend/main_v9.py b/backend/main_v9.py index c6d3487eda40a1fefc308814b77d8033775645bd..61cdb4a9c873de32c004f888d970e0d03f4357f6 100644 --- a/backend/main_v9.py +++ b/backend/main_v9.py @@ -1,6 +1,5 @@ """ -π GOD AGENT OS v9 β General Autonomous Agent OS -Space-Role Architecture: Core + Browser + Sandbox + Coding + Vision + Debug + Deploy + Communication +π GOD AGENT OS v10 β Distributed 22-Space Agent OS Powered by Pyae Sone """ @@ -32,10 +31,7 @@ from ai_router.router_v8 import AIRouterV8 # βββ v9 Agent Kernel & Spaces βββββββββββββββββββββββββββββββββββββββββββββββββ from kernel.agent_kernel import AgentKernel -from spaces import ( - CoreSpace, BrowserSpace, SandboxSpace, CodingSpace, - VisionSpace, DebugSpace, DeploySpace, CommunicationSpace -) +from spaces import SPACE_CATALOG, build_all_spaces # βββ Legacy Agent Ecosystem (backward compatibility) ββββββββββββββββββββββββββ from agents.orchestrator_v7 import GodAgentOrchestratorV7 @@ -81,20 +77,11 @@ connector_manager = ConnectorManager() def build_kernel() -> AgentKernel: - """Build and configure the v9 Agent Kernel with all Spaces.""" + """Build and configure the distributed 22-space Agent Kernel.""" kernel = AgentKernel(ws_manager=ws_manager, ai_router=ai_router) - - # Register all 8 Spaces - kernel.register_space("core", CoreSpace(ws_manager, ai_router)) - kernel.register_space("browser", BrowserSpace(ws_manager, ai_router)) - kernel.register_space("sandbox", SandboxSpace(ws_manager, ai_router)) - kernel.register_space("coding", CodingSpace(ws_manager, ai_router)) - kernel.register_space("vision", VisionSpace(ws_manager, ai_router)) - kernel.register_space("debug", DebugSpace(ws_manager, ai_router)) - kernel.register_space("deploy", DeploySpace(ws_manager, ai_router)) - kernel.register_space("communication", CommunicationSpace(ws_manager, ai_router)) - - log.info("π§ GOD AGENT OS v9 β Agent Kernel initialized", spaces=8) + for space_name, space_instance in build_all_spaces(ws_manager=ws_manager, ai_router=ai_router).items(): + kernel.register_space(space_name, space_instance) + log.info("π§ GOD AGENT OS distributed kernel initialized", spaces=len(SPACE_CATALOG)) return kernel @@ -128,25 +115,25 @@ orchestrator = build_legacy_orchestrator() @asynccontextmanager async def lifespan(app: FastAPI): - log.info("π Starting GOD AGENT OS v9 β Space-Role Architecture...") + log.info("π Starting GOD AGENT OS v10 β Distributed 22-Space Architecture...") await init_db() await task_engine.start() asyncio.create_task(ws_manager.heartbeat_loop()) stats = ai_router.get_stats() active = [name for name, s in stats.items() if s["available"]] - log.info("β GOD AGENT v9 β 8 Spaces + 16 Legacy Agents online") + log.info("β GOD AGENT v10 β 22 Spaces + 16 Legacy Agents online") log.info(f"π Active AI providers: {active}") log.info("π Routing: SambaNova β Gemini β OpenAI β Groq β Cerebras") - log.info("π¦ Spaces: Core | Browser | Sandbox | Coding | Vision | Debug | Deploy | Communication") + log.info("π¦ Spaces: distributed 22-space runtime online") yield log.info("π Shutting down GOD AGENT OS v9...") await task_engine.stop() app = FastAPI( - title="π€ GOD AGENT OS v9", - description="General Autonomous Agent OS β Space-Role Architecture | Powered by Pyae Sone", - version="9.0.0", + title="π€ GOD AGENT OS v10", + description="Distributed 22-Space Autonomous Agent OS | Powered by Pyae Sone", + version="10.0.0", lifespan=lifespan, docs_url="/api/docs", redoc_url="/api/redoc", @@ -400,25 +387,25 @@ async def root(): stats = ai_router.get_stats() active_providers = [name for name, s in stats.items() if s["available"]] return { - "name": "π€ GOD AGENT OS v9", - "version": "9.0.0", + "name": "π€ GOD AGENT OS v10", + "version": "10.0.0", "status": "operational", "mode": "general_autonomous_agent_os", - "description": "Space-Role Architecture | Powered by Pyae Sone", - "architecture": "Space-Role Paradigm", + "description": "Distributed 22-Space Architecture | Powered by Pyae Sone", + "architecture": "Distributed Worker Space Paradigm", "spaces": kernel_status_data["spaces"], "total_spaces": kernel_status_data["total_spaces"], "ai_providers": active_providers, "connectors": {"connected": cs["connected"], "total": cs["total"]}, "docs": "/api/docs", "v9_features": [ - "π¦ 8-Space Architecture: Core | Browser | Sandbox | Coding | Vision | Debug | Deploy | Communication", + "π¦ 22 distributed worker spaces across cognition, execution, verification, deployment, memory, coordination, monitoring, session, and infrastructure layers", "π 5 Cognitive Roles: Cognition | Automation | Execution | Repair | Visual Intelligence", - "π§ Agent Kernel β generalized orchestration engine", - "π KeyPool multi-key management (Gemini + SambaNova)", - "π Automatic Space routing based on intent", - "πΎ Context Manager β short-term + long-term memory", - "β‘ Backward compatible with v8 16-agent fleet", + "π§ God Core Space orchestrates the worker fleet", + "π KeyPool multi-key management (Gemini + SambaNova + GitHub)", + "π Automatic worker-space routing based on intent", + "πΎ Context Manager for session-scoped runtime state", + "β‘ Backward compatible with v8/v9 agent fleet", "π Real-time streaming via WebSocket", ], } diff --git a/backend/memory/__pycache__/__init__.cpython-312.pyc b/backend/memory/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 1952a0ff6a2a22048f4412f42cc0f824a14104de..0000000000000000000000000000000000000000 Binary files a/backend/memory/__pycache__/__init__.cpython-312.pyc and /dev/null differ diff --git a/backend/memory/__pycache__/db.cpython-312.pyc b/backend/memory/__pycache__/db.cpython-312.pyc deleted file mode 100644 index 5592e627062b9e4e02c1ac97ff7f9b8f152e8b15..0000000000000000000000000000000000000000 Binary files a/backend/memory/__pycache__/db.cpython-312.pyc and /dev/null differ diff --git a/backend/spaces/__init__.py b/backend/spaces/__init__.py index ef6fe64f432400a91f8d11a1a9fef009eca9235f..2dc77999e3f7ad8b275044b919b6961e4da56588 100644 --- a/backend/spaces/__init__.py +++ b/backend/spaces/__init__.py @@ -1,21 +1,19 @@ from .base_space import BaseSpace -from .core_space import CoreSpace -from .browser_space import BrowserSpace -from .sandbox_space import SandboxSpace -from .coding_space import CodingSpace -from .vision_space import VisionSpace -from .debug_space import DebugSpace -from .deploy_space import DeploySpace -from .communication_space import CommunicationSpace +from .catalog import SPACE_CATALOG, SPACE_INDEX +from .worker_space import WorkerSpace + + +def build_all_spaces(ws_manager=None, ai_router=None): + return { + spec["id"]: WorkerSpace(spec=spec, ws_manager=ws_manager, ai_router=ai_router) + for spec in SPACE_CATALOG + } + __all__ = [ "BaseSpace", - "CoreSpace", - "BrowserSpace", - "SandboxSpace", - "CodingSpace", - "VisionSpace", - "DebugSpace", - "DeploySpace", - "CommunicationSpace", + "WorkerSpace", + "SPACE_CATALOG", + "SPACE_INDEX", + "build_all_spaces", ] diff --git a/backend/spaces/catalog.py b/backend/spaces/catalog.py new file mode 100644 index 0000000000000000000000000000000000000000..69580aa57e0875c1eecf02d2bdd7eb517c8de2af --- /dev/null +++ b/backend/spaces/catalog.py @@ -0,0 +1,226 @@ +from __future__ import annotations + +SPACE_CATALOG = [ + { + "id": "god-core-space", + "name": "God Core Space", + "icon": "π§ ", + "color": "#7c3aed", + "layer": "Core Cognitive Layer", + "description": "System brain for orchestration, planning, reasoning, workflow control, mission state, websocket events, and model routing.", + "responsibilities": ["orchestrator", "planner", "reasoning", "task graph", "workflow engine", "mission state", "memory routing", "websocket events", "llm routing"], + "roles": ["cognition", "automation"], + }, + { + "id": "coding-worker-space", + "name": "Coding Worker Space", + "icon": "π§", + "color": "#f59e0b", + "layer": "Execution Layer", + "description": "Code generation, file editing, refactoring, dependency handling, and code transformations.", + "responsibilities": ["code generation", "file editing", "refactoring", "dependency handling", "code transformations"], + "roles": ["execution", "cognition", "automation"], + }, + { + "id": "sandbox-worker-space", + "name": "Sandbox Worker Space", + "icon": "π§ͺ", + "color": "#10b981", + "layer": "Execution Layer", + "description": "Isolated execution, runtime sandboxing, subprocesses, environment resets, and lifecycle management.", + "responsibilities": ["isolated execution", "docker runtime", "subprocesses", "environment resets", "runtime lifecycle"], + "roles": ["execution", "repair"], + }, + { + "id": "terminal-worker-space", + "name": "Terminal Worker Space", + "icon": "β¨οΈ", + "color": "#14b8a6", + "layer": "Execution Layer", + "description": "Shell commands, package installs, build tools, and process monitoring.", + "responsibilities": ["shell commands", "package installs", "build tools", "process monitoring"], + "roles": ["execution", "automation"], + }, + { + "id": "filesystem-worker-space", + "name": "Filesystem Worker Space", + "icon": "ποΈ", + "color": "#22c55e", + "layer": "Execution Layer", + "description": "File writes, project trees, artifact management, and storage operations.", + "responsibilities": ["file writes", "project trees", "artifact management", "storage operations"], + "roles": ["execution", "automation"], + }, + { + "id": "browser-worker-space", + "name": "Browser Worker Space", + "icon": "π", + "color": "#3b82f6", + "layer": "Browser + UI Intelligence", + "description": "Playwright automation, navigation, screenshots, and interaction testing.", + "responsibilities": ["playwright", "browser automation", "navigation", "screenshots", "interaction testing"], + "roles": ["automation", "cognition"], + }, + { + "id": "vision-worker-space", + "name": "Vision Worker Space", + "icon": "ποΈ", + "color": "#ec4899", + "layer": "Browser + UI Intelligence", + "description": "Screenshot analysis, OCR, layout detection, visual regression, and UI understanding.", + "responsibilities": ["screenshot analysis", "ocr", "layout detection", "visual regression", "ui understanding"], + "roles": ["visual_intelligence", "cognition"], + }, + { + "id": "ui-worker-space", + "name": "UI Worker Space", + "icon": "π¨", + "color": "#8b5cf6", + "layer": "Browser + UI Intelligence", + "description": "Frontend generation, design systems, responsive layouts, component consistency, and visual polish.", + "responsibilities": ["frontend generation", "design systems", "responsive layouts", "component consistency", "visual polish"], + "roles": ["visual_intelligence", "execution"], + }, + { + "id": "debug-worker-space", + "name": "Debug Worker Space", + "icon": "π", + "color": "#ef4444", + "layer": "Verification + Repair Layer", + "description": "Error analysis, traceback parsing, repair strategies, and retry planning.", + "responsibilities": ["error analysis", "traceback parsing", "repair strategies", "retry planning"], + "roles": ["repair", "cognition"], + }, + { + "id": "test-worker-space", + "name": "Test Worker Space", + "icon": "π§ͺ", + "color": "#06b6d4", + "layer": "Verification + Repair Layer", + "description": "Run tests, assertions, integration checks, and regression testing.", + "responsibilities": ["run tests", "assertions", "integration checks", "regression testing"], + "roles": ["execution", "repair"], + }, + { + "id": "verification-worker-space", + "name": "Verification Worker Space", + "icon": "β ", + "color": "#84cc16", + "layer": "Verification + Repair Layer", + "description": "Validate outputs, compare expectations, quality scoring, and mission verification.", + "responsibilities": ["validate outputs", "compare expectations", "quality scoring", "mission verification"], + "roles": ["repair", "cognition"], + }, + { + "id": "git-worker-space", + "name": "Git Worker Space", + "icon": "π³", + "color": "#f97316", + "layer": "Deployment Layer", + "description": "Commits, branching, diffs, merges, and repository workflow operations.", + "responsibilities": ["commits", "branching", "diffs", "merges"], + "roles": ["automation", "execution"], + }, + { + "id": "deploy-worker-space", + "name": "Deploy Worker Space", + "icon": "π", + "color": "#0ea5e9", + "layer": "Deployment Layer", + "description": "Vercel, Railway, Docker deploys, preview URLs, and CI/CD triggers.", + "responsibilities": ["vercel deploy", "railway deploy", "docker deploy", "preview urls", "ci/cd triggers"], + "roles": ["automation", "execution"], + }, + { + "id": "connector-worker-space", + "name": "Connector Worker Space", + "icon": "π", + "color": "#6366f1", + "layer": "Deployment Layer", + "description": "GitHub, Supabase, APIs, and external integrations.", + "responsibilities": ["github", "supabase", "apis", "external integrations"], + "roles": ["automation", "cognition"], + }, + { + "id": "memory-worker-space", + "name": "Memory Worker Space", + "icon": "π§ ", + "color": "#a855f7", + "layer": "Memory + Knowledge Layer", + "description": "Vector DB, execution history, learned fixes, project memory, and long-term state.", + "responsibilities": ["vector db", "execution history", "learned fixes", "project memory", "long-term state"], + "roles": ["cognition", "automation"], + }, + { + "id": "knowledge-worker-space", + "name": "Knowledge Worker Space", + "icon": "π", + "color": "#4f46e5", + "layer": "Memory + Knowledge Layer", + "description": "Docs retrieval, semantic search, RAG pipelines, and indexed repositories.", + "responsibilities": ["docs retrieval", "semantic search", "rag pipelines", "indexed repositories"], + "roles": ["cognition", "automation"], + }, + { + "id": "workflow-worker-space", + "name": "Workflow Worker Space", + "icon": "π§", + "color": "#0f766e", + "layer": "Coordination Layer", + "description": "DAG execution, task queues, retries, scheduling, and background jobs.", + "responsibilities": ["dag execution", "task queues", "retries", "scheduling", "background jobs"], + "roles": ["automation", "execution"], + }, + { + "id": "eventbus-space", + "name": "Eventbus Space", + "icon": "π‘", + "color": "#06b6d4", + "layer": "Coordination Layer", + "description": "Redis PubSub, NATS, RabbitMQ, and event streams.", + "responsibilities": ["redis pubsub", "nats", "rabbitmq", "event streams"], + "roles": ["automation", "execution"], + }, + { + "id": "observability-space", + "name": "Observability Space", + "icon": "π", + "color": "#22c55e", + "layer": "Monitoring Layer", + "description": "Logs, metrics, tracing, agent monitoring, and runtime analytics.", + "responsibilities": ["logs", "metrics", "tracing", "agent monitoring", "runtime analytics"], + "roles": ["cognition", "automation"], + }, + { + "id": "session-runtime-space", + "name": "Session Runtime Space", + "icon": "π§·", + "color": "#64748b", + "layer": "Session Layer", + "description": "User sessions, mission isolation, runtime persistence, and checkpointing.", + "responsibilities": ["user sessions", "mission isolation", "runtime persistence", "checkpointing"], + "roles": ["automation", "cognition"], + }, + { + "id": "model-router-space", + "name": "Model Router Space", + "icon": "π£οΈ", + "color": "#eab308", + "layer": "Infrastructure Layer", + "description": "GPT routing, Claude routing, fallback models, cost optimization, and model selection.", + "responsibilities": ["gpt routing", "claude routing", "fallback models", "cost optimization", "model selection"], + "roles": ["cognition", "automation"], + }, + { + "id": "auth-gateway-space", + "name": "Auth Gateway Space", + "icon": "π", + "color": "#9333ea", + "layer": "Infrastructure Layer", + "description": "Auth, API keys, rate limits, and permissions.", + "responsibilities": ["auth", "api keys", "rate limits", "permissions"], + "roles": ["automation", "repair"], + }, +] + +SPACE_INDEX = {item["id"]: item for item in SPACE_CATALOG} diff --git a/backend/spaces/worker_space.py b/backend/spaces/worker_space.py new file mode 100644 index 0000000000000000000000000000000000000000..691beceebbd12e76c70900f000f46c1ecdd9b5fd --- /dev/null +++ b/backend/spaces/worker_space.py @@ -0,0 +1,69 @@ +from __future__ import annotations + +from typing import Any, Dict, List +import structlog + +from .base_space import BaseSpace + +log = structlog.get_logger() + + +class WorkerSpace(BaseSpace): + available_roles = ["cognition", "automation", "execution", "repair", "visual_intelligence"] + + def __init__(self, spec: Dict[str, Any], ws_manager=None, ai_router=None): + self.spec = spec + self.space_name = spec["id"] + self.space_description = spec["description"] + self.available_roles = spec.get("roles", self.available_roles) + super().__init__(ws_manager, ai_router) + self._register_default_tools() + + def _register_default_tools(self): + for responsibility in self.spec.get("responsibilities", []): + tool_name = responsibility.lower().replace(" ", "_").replace("/", "_") + self.register_tool(tool_name, self._generic_tool, responsibility) + + async def _generic_tool(self, **kwargs) -> str: + return f"{self.spec['name']} executed with {kwargs}" + + def _build_specialized_prompt(self, role: str, task: str, context: Dict[str, Any]) -> str: + responsibilities = ", ".join(self.spec.get("responsibilities", [])) + layer = self.spec.get("layer", "") + return f"""You are {self.spec['name']} inside GOD AGENT OS v10. + +Layer: {layer} +Space ID: {self.spec['id']} +Description: {self.spec['description']} +Responsibilities: {responsibilities} +Active Role: {role} + +Rules: +- Stay inside this space's domain responsibilities. +- Produce concrete, production-ready output. +- When a task spans multiple domains, explain how this space contributes and what should happen next. +- Prefer structured bullets for plans, commands, patches, interfaces, contracts, and validation criteria. +- Be concise but specific. +""" + + async def execute(self, task: str, role: str, session_id: str, context: Dict = None) -> str: + context = context or {} + await self.stream_update(session_id, f"{self.spec['icon']} {self.spec['name']} activated β {role} role", space=self.space_name) + + if not self.ai_router: + responsibilities = "\n".join(f"- {item}" for item in self.spec.get("responsibilities", [])) + return f"{self.spec['name']} is offline.\n\nResponsibilities:\n{responsibilities}" + + system_prompt = self._build_specialized_prompt(role, task, context) + try: + response = await self.ai_router.complete(prompt=task, system=system_prompt, max_tokens=2048) + if isinstance(response, dict): + return response.get("content", "") or f"{self.spec['name']} completed the task." + return str(response) + except Exception as exc: + log.error("worker_space_execute_failed", space=self.space_name, error=str(exc)) + responsibilities = ", ".join(self.spec.get("responsibilities", [])) + return ( + f"{self.spec['name']} error: {exc}\n\n" + f"Primary responsibilities: {responsibilities}" + ) diff --git a/backend/worker_spaces/__init__.py b/backend/worker_spaces/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..8d95b054b75726823220dc1b63f54967bff330be --- /dev/null +++ b/backend/worker_spaces/__init__.py @@ -0,0 +1 @@ +WORKER_SPACES = ['god-core-space', 'coding-worker-space', 'sandbox-worker-space', 'terminal-worker-space', 'filesystem-worker-space', 'browser-worker-space', 'vision-worker-space', 'ui-worker-space', 'debug-worker-space', 'test-worker-space', 'verification-worker-space', 'git-worker-space', 'deploy-worker-space', 'connector-worker-space', 'memory-worker-space', 'knowledge-worker-space', 'workflow-worker-space', 'eventbus-space', 'observability-space', 'session-runtime-space', 'model-router-space', 'auth-gateway-space'] diff --git a/backend/worker_spaces/auth_gateway_space/__init__.py b/backend/worker_spaces/auth_gateway_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..40fdff2384147ed7c380fd5e680a36881c0aa20d --- /dev/null +++ b/backend/worker_spaces/auth_gateway_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'auth-gateway-space' diff --git a/backend/worker_spaces/auth_gateway_space/spec.py b/backend/worker_spaces/auth_gateway_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..13aeb75c1614fedd0b85f34f56aa8ecda33d5bb8 --- /dev/null +++ b/backend/worker_spaces/auth_gateway_space/spec.py @@ -0,0 +1,18 @@ +SPACE_SPEC = { + "id": "auth-gateway-space", + "name": "Auth Gateway Space", + "icon": "π", + "color": "#9333ea", + "layer": "Infrastructure Layer", + "description": "Auth, API keys, rate limits, and permissions.", + "responsibilities": [ + "auth", + "api keys", + "rate limits", + "permissions" + ], + "roles": [ + "automation", + "repair" + ] +} diff --git a/backend/worker_spaces/browser_worker_space/__init__.py b/backend/worker_spaces/browser_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..c1ade85b757bd3602b7165138cd7a0185fdea5dd --- /dev/null +++ b/backend/worker_spaces/browser_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'browser-worker-space' diff --git a/backend/worker_spaces/browser_worker_space/spec.py b/backend/worker_spaces/browser_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..7505d3c937866c6fa3aa60c1be59b5993449a85f --- /dev/null +++ b/backend/worker_spaces/browser_worker_space/spec.py @@ -0,0 +1,19 @@ +SPACE_SPEC = { + "id": "browser-worker-space", + "name": "Browser Worker Space", + "icon": "π", + "color": "#3b82f6", + "layer": "Browser + UI Intelligence", + "description": "Playwright automation, navigation, screenshots, and interaction testing.", + "responsibilities": [ + "playwright", + "browser automation", + "navigation", + "screenshots", + "interaction testing" + ], + "roles": [ + "automation", + "cognition" + ] +} diff --git a/backend/worker_spaces/coding_worker_space/__init__.py b/backend/worker_spaces/coding_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..82a3268659db1767713230d05acb6636b48c2389 --- /dev/null +++ b/backend/worker_spaces/coding_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'coding-worker-space' diff --git a/backend/worker_spaces/coding_worker_space/spec.py b/backend/worker_spaces/coding_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..099e5fc5a5c02aa9f66ab85b07ddb156cd2e0b65 --- /dev/null +++ b/backend/worker_spaces/coding_worker_space/spec.py @@ -0,0 +1,20 @@ +SPACE_SPEC = { + "id": "coding-worker-space", + "name": "Coding Worker Space", + "icon": "π§", + "color": "#f59e0b", + "layer": "Execution Layer", + "description": "Code generation, file editing, refactoring, dependency handling, and code transformations.", + "responsibilities": [ + "code generation", + "file editing", + "refactoring", + "dependency handling", + "code transformations" + ], + "roles": [ + "execution", + "cognition", + "automation" + ] +} diff --git a/backend/worker_spaces/connector_worker_space/__init__.py b/backend/worker_spaces/connector_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..c15fe26eb245a383963905fdcdd05e3e2d693fc6 --- /dev/null +++ b/backend/worker_spaces/connector_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'connector-worker-space' diff --git a/backend/worker_spaces/connector_worker_space/spec.py b/backend/worker_spaces/connector_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..5c4d4fe011850dfe5dc227a2bcce93e2c1c408a6 --- /dev/null +++ b/backend/worker_spaces/connector_worker_space/spec.py @@ -0,0 +1,18 @@ +SPACE_SPEC = { + "id": "connector-worker-space", + "name": "Connector Worker Space", + "icon": "π", + "color": "#6366f1", + "layer": "Deployment Layer", + "description": "GitHub, Supabase, APIs, and external integrations.", + "responsibilities": [ + "github", + "supabase", + "apis", + "external integrations" + ], + "roles": [ + "automation", + "cognition" + ] +} diff --git a/backend/worker_spaces/debug_worker_space/__init__.py b/backend/worker_spaces/debug_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..2b1a338d8f1e7201f79a01996db11b9f864e29b6 --- /dev/null +++ b/backend/worker_spaces/debug_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'debug-worker-space' diff --git a/backend/worker_spaces/debug_worker_space/spec.py b/backend/worker_spaces/debug_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..3464fd50957b70df8f88c3119b9aa379a2b43c5d --- /dev/null +++ b/backend/worker_spaces/debug_worker_space/spec.py @@ -0,0 +1,18 @@ +SPACE_SPEC = { + "id": "debug-worker-space", + "name": "Debug Worker Space", + "icon": "π", + "color": "#ef4444", + "layer": "Verification + Repair Layer", + "description": "Error analysis, traceback parsing, repair strategies, and retry planning.", + "responsibilities": [ + "error analysis", + "traceback parsing", + "repair strategies", + "retry planning" + ], + "roles": [ + "repair", + "cognition" + ] +} diff --git a/backend/worker_spaces/deploy_worker_space/__init__.py b/backend/worker_spaces/deploy_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..f6ae9b9622bcf2ae5136a7fe8cc38862c132fc14 --- /dev/null +++ b/backend/worker_spaces/deploy_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'deploy-worker-space' diff --git a/backend/worker_spaces/deploy_worker_space/spec.py b/backend/worker_spaces/deploy_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..b38aff923d5793edb8633e80aa907d3a7ae18497 --- /dev/null +++ b/backend/worker_spaces/deploy_worker_space/spec.py @@ -0,0 +1,19 @@ +SPACE_SPEC = { + "id": "deploy-worker-space", + "name": "Deploy Worker Space", + "icon": "π", + "color": "#0ea5e9", + "layer": "Deployment Layer", + "description": "Vercel, Railway, Docker deploys, preview URLs, and CI/CD triggers.", + "responsibilities": [ + "vercel deploy", + "railway deploy", + "docker deploy", + "preview urls", + "ci/cd triggers" + ], + "roles": [ + "automation", + "execution" + ] +} diff --git a/backend/worker_spaces/eventbus_space/__init__.py b/backend/worker_spaces/eventbus_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..efbfcdfd16ab422cfd343b121cc4c5c7dadc8e5b --- /dev/null +++ b/backend/worker_spaces/eventbus_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'eventbus-space' diff --git a/backend/worker_spaces/eventbus_space/spec.py b/backend/worker_spaces/eventbus_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..403aab21e05fd12fbdc8fd1d960cbcb183053eb0 --- /dev/null +++ b/backend/worker_spaces/eventbus_space/spec.py @@ -0,0 +1,18 @@ +SPACE_SPEC = { + "id": "eventbus-space", + "name": "Eventbus Space", + "icon": "π‘", + "color": "#06b6d4", + "layer": "Coordination Layer", + "description": "Redis PubSub, NATS, RabbitMQ, and event streams.", + "responsibilities": [ + "redis pubsub", + "nats", + "rabbitmq", + "event streams" + ], + "roles": [ + "automation", + "execution" + ] +} diff --git a/backend/worker_spaces/filesystem_worker_space/__init__.py b/backend/worker_spaces/filesystem_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..a6e007f3052b84178d7a3afbc0c17a8efba04e43 --- /dev/null +++ b/backend/worker_spaces/filesystem_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'filesystem-worker-space' diff --git a/backend/worker_spaces/filesystem_worker_space/spec.py b/backend/worker_spaces/filesystem_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..b286172fef925236514a6134df367192a7d98e8e --- /dev/null +++ b/backend/worker_spaces/filesystem_worker_space/spec.py @@ -0,0 +1,18 @@ +SPACE_SPEC = { + "id": "filesystem-worker-space", + "name": "Filesystem Worker Space", + "icon": "ποΈ", + "color": "#22c55e", + "layer": "Execution Layer", + "description": "File writes, project trees, artifact management, and storage operations.", + "responsibilities": [ + "file writes", + "project trees", + "artifact management", + "storage operations" + ], + "roles": [ + "execution", + "automation" + ] +} diff --git a/backend/worker_spaces/git_worker_space/__init__.py b/backend/worker_spaces/git_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..2f59130d0f5f3889f3e9fb212adbcb53bac7efb3 --- /dev/null +++ b/backend/worker_spaces/git_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'git-worker-space' diff --git a/backend/worker_spaces/git_worker_space/spec.py b/backend/worker_spaces/git_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..869f45edeb0688eb21557358c7c3a8204ffe7c7b --- /dev/null +++ b/backend/worker_spaces/git_worker_space/spec.py @@ -0,0 +1,18 @@ +SPACE_SPEC = { + "id": "git-worker-space", + "name": "Git Worker Space", + "icon": "π³", + "color": "#f97316", + "layer": "Deployment Layer", + "description": "Commits, branching, diffs, merges, and repository workflow operations.", + "responsibilities": [ + "commits", + "branching", + "diffs", + "merges" + ], + "roles": [ + "automation", + "execution" + ] +} diff --git a/backend/worker_spaces/god_core_space/__init__.py b/backend/worker_spaces/god_core_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..641e91e9ddf7a40026510dfadffb6e2294324776 --- /dev/null +++ b/backend/worker_spaces/god_core_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'god-core-space' diff --git a/backend/worker_spaces/god_core_space/spec.py b/backend/worker_spaces/god_core_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..9f43ff3ee65de9048986e57e3daaf924fa91c11d --- /dev/null +++ b/backend/worker_spaces/god_core_space/spec.py @@ -0,0 +1,23 @@ +SPACE_SPEC = { + "id": "god-core-space", + "name": "God Core Space", + "icon": "π§ ", + "color": "#7c3aed", + "layer": "Core Cognitive Layer", + "description": "System brain for orchestration, planning, reasoning, workflow control, mission state, websocket events, and model routing.", + "responsibilities": [ + "orchestrator", + "planner", + "reasoning", + "task graph", + "workflow engine", + "mission state", + "memory routing", + "websocket events", + "llm routing" + ], + "roles": [ + "cognition", + "automation" + ] +} diff --git a/backend/worker_spaces/knowledge_worker_space/__init__.py b/backend/worker_spaces/knowledge_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..18248007a882e95da1e9454852cfed315f0cf183 --- /dev/null +++ b/backend/worker_spaces/knowledge_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'knowledge-worker-space' diff --git a/backend/worker_spaces/knowledge_worker_space/spec.py b/backend/worker_spaces/knowledge_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..e83ca7f4632774b15af6051c55859406b8f1b6dd --- /dev/null +++ b/backend/worker_spaces/knowledge_worker_space/spec.py @@ -0,0 +1,18 @@ +SPACE_SPEC = { + "id": "knowledge-worker-space", + "name": "Knowledge Worker Space", + "icon": "π", + "color": "#4f46e5", + "layer": "Memory + Knowledge Layer", + "description": "Docs retrieval, semantic search, RAG pipelines, and indexed repositories.", + "responsibilities": [ + "docs retrieval", + "semantic search", + "rag pipelines", + "indexed repositories" + ], + "roles": [ + "cognition", + "automation" + ] +} diff --git a/backend/worker_spaces/memory_worker_space/__init__.py b/backend/worker_spaces/memory_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..ab32e16ed27b4973e325686e43c5ebdec4800915 --- /dev/null +++ b/backend/worker_spaces/memory_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'memory-worker-space' diff --git a/backend/worker_spaces/memory_worker_space/spec.py b/backend/worker_spaces/memory_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..b392610d8db451c543b94d75e8ab2eda6e4ce316 --- /dev/null +++ b/backend/worker_spaces/memory_worker_space/spec.py @@ -0,0 +1,19 @@ +SPACE_SPEC = { + "id": "memory-worker-space", + "name": "Memory Worker Space", + "icon": "π§ ", + "color": "#a855f7", + "layer": "Memory + Knowledge Layer", + "description": "Vector DB, execution history, learned fixes, project memory, and long-term state.", + "responsibilities": [ + "vector db", + "execution history", + "learned fixes", + "project memory", + "long-term state" + ], + "roles": [ + "cognition", + "automation" + ] +} diff --git a/backend/worker_spaces/model_router_space/__init__.py b/backend/worker_spaces/model_router_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..c359382910a7ff37a595bd92dd7ebcd3a139cad7 --- /dev/null +++ b/backend/worker_spaces/model_router_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'model-router-space' diff --git a/backend/worker_spaces/model_router_space/spec.py b/backend/worker_spaces/model_router_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..cc28053fcd5927132569c0d4f084a29a1624d777 --- /dev/null +++ b/backend/worker_spaces/model_router_space/spec.py @@ -0,0 +1,19 @@ +SPACE_SPEC = { + "id": "model-router-space", + "name": "Model Router Space", + "icon": "π£οΈ", + "color": "#eab308", + "layer": "Infrastructure Layer", + "description": "GPT routing, Claude routing, fallback models, cost optimization, and model selection.", + "responsibilities": [ + "gpt routing", + "claude routing", + "fallback models", + "cost optimization", + "model selection" + ], + "roles": [ + "cognition", + "automation" + ] +} diff --git a/backend/worker_spaces/observability_space/__init__.py b/backend/worker_spaces/observability_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..cc973f7c98d8e29353f61937662cfc7ed0f098be --- /dev/null +++ b/backend/worker_spaces/observability_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'observability-space' diff --git a/backend/worker_spaces/observability_space/spec.py b/backend/worker_spaces/observability_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..82d1439082f8cbff07139bd572fe0eb04faef1e1 --- /dev/null +++ b/backend/worker_spaces/observability_space/spec.py @@ -0,0 +1,19 @@ +SPACE_SPEC = { + "id": "observability-space", + "name": "Observability Space", + "icon": "π", + "color": "#22c55e", + "layer": "Monitoring Layer", + "description": "Logs, metrics, tracing, agent monitoring, and runtime analytics.", + "responsibilities": [ + "logs", + "metrics", + "tracing", + "agent monitoring", + "runtime analytics" + ], + "roles": [ + "cognition", + "automation" + ] +} diff --git a/backend/worker_spaces/sandbox_worker_space/__init__.py b/backend/worker_spaces/sandbox_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..3477d1c1b32610a160f814ed50af57d1094ef806 --- /dev/null +++ b/backend/worker_spaces/sandbox_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'sandbox-worker-space' diff --git a/backend/worker_spaces/sandbox_worker_space/spec.py b/backend/worker_spaces/sandbox_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..5b41f384261280954d8325efeee03fb39dee20a1 --- /dev/null +++ b/backend/worker_spaces/sandbox_worker_space/spec.py @@ -0,0 +1,19 @@ +SPACE_SPEC = { + "id": "sandbox-worker-space", + "name": "Sandbox Worker Space", + "icon": "π§ͺ", + "color": "#10b981", + "layer": "Execution Layer", + "description": "Isolated execution, runtime sandboxing, subprocesses, environment resets, and lifecycle management.", + "responsibilities": [ + "isolated execution", + "docker runtime", + "subprocesses", + "environment resets", + "runtime lifecycle" + ], + "roles": [ + "execution", + "repair" + ] +} diff --git a/backend/worker_spaces/session_runtime_space/__init__.py b/backend/worker_spaces/session_runtime_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..535b64c8a274d467e607ec29e610ff2ecfe2be2a --- /dev/null +++ b/backend/worker_spaces/session_runtime_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'session-runtime-space' diff --git a/backend/worker_spaces/session_runtime_space/spec.py b/backend/worker_spaces/session_runtime_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..aaa8be3b0cefdb45180d23ce7f0a027f2f37ebe5 --- /dev/null +++ b/backend/worker_spaces/session_runtime_space/spec.py @@ -0,0 +1,18 @@ +SPACE_SPEC = { + "id": "session-runtime-space", + "name": "Session Runtime Space", + "icon": "π§·", + "color": "#64748b", + "layer": "Session Layer", + "description": "User sessions, mission isolation, runtime persistence, and checkpointing.", + "responsibilities": [ + "user sessions", + "mission isolation", + "runtime persistence", + "checkpointing" + ], + "roles": [ + "automation", + "cognition" + ] +} diff --git a/backend/worker_spaces/terminal_worker_space/__init__.py b/backend/worker_spaces/terminal_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..875a68566900428203ff00244941739d08cdbb41 --- /dev/null +++ b/backend/worker_spaces/terminal_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'terminal-worker-space' diff --git a/backend/worker_spaces/terminal_worker_space/spec.py b/backend/worker_spaces/terminal_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..a8747cdff54a7c294e270f8b020fa43215f3d3b1 --- /dev/null +++ b/backend/worker_spaces/terminal_worker_space/spec.py @@ -0,0 +1,18 @@ +SPACE_SPEC = { + "id": "terminal-worker-space", + "name": "Terminal Worker Space", + "icon": "β¨οΈ", + "color": "#14b8a6", + "layer": "Execution Layer", + "description": "Shell commands, package installs, build tools, and process monitoring.", + "responsibilities": [ + "shell commands", + "package installs", + "build tools", + "process monitoring" + ], + "roles": [ + "execution", + "automation" + ] +} diff --git a/backend/worker_spaces/test_worker_space/__init__.py b/backend/worker_spaces/test_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..8f97fdd7eb73cc6b6642ca30e265a2be1d480b2d --- /dev/null +++ b/backend/worker_spaces/test_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'test-worker-space' diff --git a/backend/worker_spaces/test_worker_space/spec.py b/backend/worker_spaces/test_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..fc36822dfbb5ec317f4c29b3029ce7db6308d09f --- /dev/null +++ b/backend/worker_spaces/test_worker_space/spec.py @@ -0,0 +1,18 @@ +SPACE_SPEC = { + "id": "test-worker-space", + "name": "Test Worker Space", + "icon": "π§ͺ", + "color": "#06b6d4", + "layer": "Verification + Repair Layer", + "description": "Run tests, assertions, integration checks, and regression testing.", + "responsibilities": [ + "run tests", + "assertions", + "integration checks", + "regression testing" + ], + "roles": [ + "execution", + "repair" + ] +} diff --git a/backend/worker_spaces/ui_worker_space/__init__.py b/backend/worker_spaces/ui_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..2055f9d5bb3dd8931de5a24b952e3cb8df7d952a --- /dev/null +++ b/backend/worker_spaces/ui_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'ui-worker-space' diff --git a/backend/worker_spaces/ui_worker_space/spec.py b/backend/worker_spaces/ui_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..c15eebcea9cf8309dd73ce9126061ff7642e0644 --- /dev/null +++ b/backend/worker_spaces/ui_worker_space/spec.py @@ -0,0 +1,19 @@ +SPACE_SPEC = { + "id": "ui-worker-space", + "name": "UI Worker Space", + "icon": "π¨", + "color": "#8b5cf6", + "layer": "Browser + UI Intelligence", + "description": "Frontend generation, design systems, responsive layouts, component consistency, and visual polish.", + "responsibilities": [ + "frontend generation", + "design systems", + "responsive layouts", + "component consistency", + "visual polish" + ], + "roles": [ + "visual_intelligence", + "execution" + ] +} diff --git a/backend/worker_spaces/verification_worker_space/__init__.py b/backend/worker_spaces/verification_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..d82e92a01bf079067cfdd47b8a70b8a740db0e97 --- /dev/null +++ b/backend/worker_spaces/verification_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'verification-worker-space' diff --git a/backend/worker_spaces/verification_worker_space/spec.py b/backend/worker_spaces/verification_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..b4c3034773f8d0a6fd1aeaa1f2b6c21725e62d22 --- /dev/null +++ b/backend/worker_spaces/verification_worker_space/spec.py @@ -0,0 +1,18 @@ +SPACE_SPEC = { + "id": "verification-worker-space", + "name": "Verification Worker Space", + "icon": "β ", + "color": "#84cc16", + "layer": "Verification + Repair Layer", + "description": "Validate outputs, compare expectations, quality scoring, and mission verification.", + "responsibilities": [ + "validate outputs", + "compare expectations", + "quality scoring", + "mission verification" + ], + "roles": [ + "repair", + "cognition" + ] +} diff --git a/backend/worker_spaces/vision_worker_space/__init__.py b/backend/worker_spaces/vision_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..2589fd9802388f103df0caad3ec06cb412e94204 --- /dev/null +++ b/backend/worker_spaces/vision_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'vision-worker-space' diff --git a/backend/worker_spaces/vision_worker_space/spec.py b/backend/worker_spaces/vision_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..7e09c19b95abb159abedb45ab449febb7307735f --- /dev/null +++ b/backend/worker_spaces/vision_worker_space/spec.py @@ -0,0 +1,19 @@ +SPACE_SPEC = { + "id": "vision-worker-space", + "name": "Vision Worker Space", + "icon": "ποΈ", + "color": "#ec4899", + "layer": "Browser + UI Intelligence", + "description": "Screenshot analysis, OCR, layout detection, visual regression, and UI understanding.", + "responsibilities": [ + "screenshot analysis", + "ocr", + "layout detection", + "visual regression", + "ui understanding" + ], + "roles": [ + "visual_intelligence", + "cognition" + ] +} diff --git a/backend/worker_spaces/workflow_worker_space/__init__.py b/backend/worker_spaces/workflow_worker_space/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..6246ac9a23aec72e3b9570d7b67d66aa77409206 --- /dev/null +++ b/backend/worker_spaces/workflow_worker_space/__init__.py @@ -0,0 +1 @@ +SPACE_ID = 'workflow-worker-space' diff --git a/backend/worker_spaces/workflow_worker_space/spec.py b/backend/worker_spaces/workflow_worker_space/spec.py new file mode 100644 index 0000000000000000000000000000000000000000..091f7a2e0ca426c2b6f9964601b469e06af3b05d --- /dev/null +++ b/backend/worker_spaces/workflow_worker_space/spec.py @@ -0,0 +1,19 @@ +SPACE_SPEC = { + "id": "workflow-worker-space", + "name": "Workflow Worker Space", + "icon": "π§", + "color": "#0f766e", + "layer": "Coordination Layer", + "description": "DAG execution, task queues, retries, scheduling, and background jobs.", + "responsibilities": [ + "dag execution", + "task queues", + "retries", + "scheduling", + "background jobs" + ], + "roles": [ + "automation", + "execution" + ] +} diff --git a/deploy/hf_spaces/auth-gateway-space/README.md b/deploy/hf_spaces/auth-gateway-space/README.md new file mode 100644 index 0000000000000000000000000000000000000000..4e525b8688fea11228d5c5691aa8b015912144b4 --- /dev/null +++ b/deploy/hf_spaces/auth-gateway-space/README.md @@ -0,0 +1,21 @@ +--- +title: Auth Gateway Space +emoji: π +colorFrom: indigo +colorTo: purple +sdk: static +pinned: false +license: mit +short_description: Infrastructure Layer β Auth, API keys, rate limits, and permissions. +--- + +# Auth Gateway Space + +**Layer:** Infrastructure Layer +**Roles:** automation, repair + +## Responsibilities +- auth +- api keys +- rate limits +- permissions diff --git a/deploy/hf_spaces/auth-gateway-space/index.html b/deploy/hf_spaces/auth-gateway-space/index.html new file mode 100644 index 0000000000000000000000000000000000000000..d4135df16365a6361f053d214ae46d95fa5815f6 --- /dev/null +++ b/deploy/hf_spaces/auth-gateway-space/index.html @@ -0,0 +1,8 @@ + +
Auth, API keys, rate limits, and permissions.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Playwright automation, navigation, screenshots, and interaction testing.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Code generation, file editing, refactoring, dependency handling, and code transformations.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
GitHub, Supabase, APIs, and external integrations.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Error analysis, traceback parsing, repair strategies, and retry planning.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Vercel, Railway, Docker deploys, preview URLs, and CI/CD triggers.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Redis PubSub, NATS, RabbitMQ, and event streams.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
File writes, project trees, artifact management, and storage operations.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Commits, branching, diffs, merges, and repository workflow operations.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
System brain for orchestration, planning, reasoning, workflow control, mission state, websocket events, and model routing.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Docs retrieval, semantic search, RAG pipelines, and indexed repositories.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Vector DB, execution history, learned fixes, project memory, and long-term state.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
GPT routing, Claude routing, fallback models, cost optimization, and model selection.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Logs, metrics, tracing, agent monitoring, and runtime analytics.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Isolated execution, runtime sandboxing, subprocesses, environment resets, and lifecycle management.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
User sessions, mission isolation, runtime persistence, and checkpointing.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Shell commands, package installs, build tools, and process monitoring.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Run tests, assertions, integration checks, and regression testing.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Frontend generation, design systems, responsive layouts, component consistency, and visual polish.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Validate outputs, compare expectations, quality scoring, and mission verification.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
Screenshot analysis, OCR, layout detection, visual regression, and UI understanding.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os
DAG execution, task queues, retries, scheduling, and background jobs.
Main project repo: github.com/pyaesonegtckglay-dotcom/god-agent-os