Self-hosted, Docker-based agentic troubleshooting platform: FastAPI backend + LangGraph agent, Next.js UI, tiered LLM routing (local Ollama -> Gemini -> DeepSeek -> OpenRouter), MCP server manager, encrypted device credentials, RBAC, audit log, project-memory + Obsidian integrations, and editable troubleshooting decision rules tuned for the GeneseasX vessel stack. Co-authored-by: Cursor <cursoragent@cursor.com>
38 lines
823 B
Python
38 lines
823 B
Python
"""Shared enums."""
|
|
from __future__ import annotations
|
|
|
|
import enum
|
|
|
|
|
|
class Role(str, enum.Enum):
|
|
admin = "admin"
|
|
support = "support"
|
|
readonly = "readonly"
|
|
|
|
|
|
class DeviceType(str, enum.Enum):
|
|
debian = "debian" # plain Debian/Linux server (ssh-generic-mcp)
|
|
geneseasx = "geneseasx" # GeneseasX host
|
|
proxmox = "proxmox"
|
|
pfsense = "pfsense"
|
|
asterisk = "asterisk"
|
|
fortigate = "fortigate"
|
|
fortiswitch = "fortiswitch"
|
|
tplink = "tplink"
|
|
other = "other"
|
|
|
|
|
|
class TaskStatus(str, enum.Enum):
|
|
queued = "queued"
|
|
running = "running"
|
|
waiting_approval = "waiting_approval"
|
|
succeeded = "succeeded"
|
|
failed = "failed"
|
|
cancelled = "cancelled"
|
|
|
|
|
|
class ApprovalStatus(str, enum.Enum):
|
|
pending = "pending"
|
|
approved = "approved"
|
|
rejected = "rejected"
|