{
  "name": "Aiopta Addon Marketplace",
  "generatedAt": "2026-06-17T21:19:23.461Z",
  "registry": "Aiopta/aiopta-addons",
  "count": 61,
  "addons": [
    {
      "id": "accounting",
      "name": "Accounting (Einnahmen/Ausgaben/Belege/USt/DATEV)",
      "version": "1.0.0",
      "description": "Per-User Buchhaltung: Einnahmen & Ausgaben, Belege, USt-Voranmeldung und DATEV-CSV-Export. Integriert lesend mit dem payments-Addon (bezahlte Rechnungen fließen als steuerpflichtige Erlöse in die USt ein, ohne payments zu verändern). Lokale SQLite ist die Quelle der Wahrheit (ADR-054).",
      "author": "Mission Control",
      "icon": "🧾",
      "capabilities": [
        "accounting",
        "income",
        "expenses",
        "receipts",
        "vat",
        "reports",
        "datev-export"
      ],
      "download": "/artifacts/accounting-1.0.0.zip",
      "sha256": "7ead9dae2c25f99838cf6742ae51dc459452844f817172b269fc3693021738cb",
      "size": 96649,
      "page": {
        "id": "accounting-page",
        "path": "/addons/accounting",
        "name": "Accounting",
        "icon": "🧾",
        "section": "Money",
        "component": "@addons/accounting/src/components/AccountingPage"
      },
      "endpoints": [
        "/api/v1/addons/accounting/transactions",
        "/api/v1/addons/accounting/transactions/:id",
        "/api/v1/addons/accounting/receipts",
        "/api/v1/addons/accounting/reports/summary",
        "/api/v1/addons/accounting/vat",
        "/api/v1/addons/accounting/datev"
      ]
    },
    {
      "id": "analytics",
      "name": "Analytics",
      "version": "1.0.0",
      "description": "Usage analytics, cost tracking, performance metrics, and report generation.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "analytics",
        "reports",
        "usage-events",
        "cost-tracking",
        "observability"
      ],
      "download": "/artifacts/analytics-1.0.0.zip",
      "sha256": "f9f44715ad88ce807956bcb2d223c9da3a185c2931a17d2acfac3ba6e31b4ef5",
      "size": 200269,
      "page": {
        "id": "analytics",
        "path": "/addons/analytics",
        "name": "Analytics",
        "icon": "📈",
        "section": "Overview",
        "component": "@addons/analytics/src/components/AnalyticsPage"
      },
      "endpoints": [
        "/api/v1/addons/analytics/activity",
        "/api/v1/addons/analytics/costs",
        "/api/v1/addons/analytics/dashboard",
        "/api/v1/addons/analytics/events",
        "/api/v1/addons/analytics/observability",
        "/api/v1/addons/analytics/performance",
        "/api/v1/addons/analytics/reports",
        "/api/v1/addons/analytics/reports/{id}",
        "/api/v1/addons/analytics/reports/export"
      ]
    },
    {
      "id": "artefakt-workspace",
      "name": "Artefakt-Workspace",
      "version": "1.0.0",
      "description": "A typed, auto-collected gallery of ALL agent outputs — subscribes to the in-process event-bus and turns every produced agent output (image/file/code/text/link/data) into a per-user artefact, then presents a filterable grid to view, open, and delete.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "artefacts",
        "agent-output-gallery",
        "event-bus-consumer"
      ],
      "download": "/artifacts/artefakt-workspace-1.0.0.zip",
      "sha256": "83c2d482594780b7355ac035ab8d21df420511aab857692eb5f3684e1329abcf",
      "size": 78822,
      "page": {
        "id": "artefakt-workspace",
        "path": "/addons/artefakt-workspace",
        "name": "Artefakt-Workspace",
        "icon": "🗂️",
        "section": "Data",
        "component": "@addons/artefakt-workspace/src/components/ArtefaktWorkspacePage"
      },
      "endpoints": [
        "/api/v1/addons/artefakt-workspace",
        "/api/v1/addons/artefakt-workspace/facets",
        "/api/v1/addons/artefakt-workspace/{id}"
      ]
    },
    {
      "id": "backups",
      "name": "Backups",
      "version": "1.3.0",
      "description": "Full-instance backup and restore: create a single archive containing a logical dump of every database table (incl. app_settings/license/config) plus the files under DATA_DIR plus a manifest with a SHA-256 checksum, download it, and restore from a stored, uploaded, or remote-pulled archive. Archives are ENCRYPTED AT REST (AES-256-GCM, self-managed key) and can be copied off-site to an S3, SFTP, or NAS (WebDAV) remote target (owner creds; gracefully inactive when unset); a restore can pull the archive back from that target. A retention prune keeps the last N / N days (never the last copy). Backup schedules auto-fire (create + prune) on the durable in-process scheduler. Restore is destructive, admin-gated, requires an explicit confirm, takes a pre-restore safety snapshot first, and is never auto-run; extraction is zip-slip/zip-bomb-safe.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "backups",
        "restore",
        "schedules"
      ],
      "download": "/artifacts/backups-1.3.0.zip",
      "sha256": "33642172a3067b376537b7f13c1b723c67426cab68bf299340edd4a9cb2bfb28",
      "size": 286894,
      "page": {
        "id": "backups",
        "path": "/addons/backups",
        "name": "Backups",
        "icon": "💾",
        "section": "Admin",
        "component": "@addons/backups/src/components/BackupPage"
      },
      "endpoints": [
        "/api/v1/addons/backups",
        "/api/v1/addons/backups/{id}",
        "/api/v1/addons/backups/{id}/download",
        "/api/v1/addons/backups/{id}/restore",
        "/api/v1/addons/backups/restore",
        "/api/v1/addons/backups/config",
        "/api/v1/addons/backups/schedules",
        "/api/v1/addons/backups/schedules/{id}"
      ]
    },
    {
      "id": "bahn-bet",
      "name": "BahnBet",
      "version": "1.0.0",
      "description": "Live BahnBet monitor for public train-delay markets, platform stats, and leaderboard highlights.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "train-delay-markets",
        "leaderboard",
        "web-scraping"
      ],
      "download": "/artifacts/bahn-bet-1.0.0.zip",
      "sha256": "bfa1942fb463333fdb5a597399157b25ac4ad7ea276ff4b2f89c54f5c343a6f7",
      "size": 29986,
      "page": {
        "path": "/addons/bahn-bet",
        "name": "BahnBet",
        "icon": "🚆",
        "section": "Experiments",
        "component": "@addons/bahn-bet/src/components/BahnBetDashboard"
      },
      "endpoints": [
        "/api/v1/addons/bahn-bet/summary",
        "/api/v1/addons/bahn-bet/leaderboard"
      ]
    },
    {
      "id": "booking",
      "name": "Booking",
      "version": "1.0.0",
      "description": "Per-user booking addon: owner-configured bookable resources, weekly availability and time slots, a calendar of bookings, plus a public booking page where visitors pick an open slot and book — with confirmation/reminder emails.",
      "author": "Mission Control",
      "icon": "📆",
      "capabilities": [
        "booking",
        "scheduling",
        "calendar"
      ],
      "download": "/artifacts/booking-1.0.0.zip",
      "sha256": "7c4cd19d15316dc7fc33917c27557677dadc50a300914f94c2f7d866ab3d0e82",
      "size": 117210,
      "page": null,
      "endpoints": [
        "/api/v1/addons/booking"
      ]
    },
    {
      "id": "briefing-studio",
      "name": "Briefing Studio",
      "version": "1.0.0",
      "description": "DEPRECATED (merged into websearch / Research, ADR-008): Builds research briefs and script frames from current topic signals for creator and operator workflows.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "briefing-generation",
        "script-framing",
        "topic-research",
        "news-synthesis"
      ],
      "download": "/artifacts/briefing-studio-1.0.0.zip",
      "sha256": "4e62f55554aa406524570436aaf952d307816655f52fbe35b740646600399e2a",
      "size": 5095,
      "page": null,
      "endpoints": [
        "/api/v1/addons/briefing-studio/status",
        "/api/v1/addons/briefing-studio/research",
        "/api/v1/addons/briefing-studio/script-frame"
      ]
    },
    {
      "id": "browser",
      "name": "Browser",
      "version": "1.0.0",
      "description": "Container-local browser automation addon with screenshot and page snapshot APIs.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "browser-automation",
        "screenshots",
        "page-snapshots"
      ],
      "download": "/artifacts/browser-1.0.0.zip",
      "sha256": "128aa2337400a029fff29ce036a900e93be6cbbdf8a97bfdaf4976a3f47d80d8",
      "size": 44781,
      "page": {
        "path": "/addons/browser",
        "name": "Browser",
        "icon": "🌐",
        "section": "Tools",
        "component": "@addons/browser/src/ui/BrowserSettings"
      },
      "endpoints": [
        "/api/v1/addons/browser/health",
        "/api/v1/addons/browser/status",
        "/api/v1/addons/browser/start",
        "/api/v1/addons/browser/stop",
        "/api/v1/addons/browser/snapshot",
        "/api/v1/addons/browser/screenshot"
      ]
    },
    {
      "id": "budget",
      "name": "Budget (Konten/Kategorien/Budgets/wiederkehrend/Charts)",
      "version": "1.0.0",
      "description": "Per-User Budgeting: Konten, Kategorien, Budgets, wiederkehrende Transaktionen und Charts (Ausgaben über Zeit, Kategorie-Aufschlüsselung, Budget vs Ist). Integriert lesend mit den trading- + payments-Addons (realisierte PnL / bezahlte Rechnungen fließen in die Reports), ohne diese zu verändern. Lokale SQLite ist die Quelle der Wahrheit (ADR-054).",
      "author": "Mission Control",
      "icon": "💰",
      "capabilities": [
        "budget",
        "accounts",
        "categories",
        "budgets",
        "transactions",
        "recurring",
        "reports",
        "charts"
      ],
      "download": "/artifacts/budget-1.0.0.zip",
      "sha256": "75198e0f018d0661020e57433f56af94418a44736d6e3b6dd5b42b01f730f88d",
      "size": 144196,
      "page": {
        "id": "budget-page",
        "path": "/addons/budget",
        "name": "Budget",
        "icon": "💰",
        "section": "Money",
        "component": "@addons/budget/src/components/BudgetPage"
      },
      "endpoints": [
        "/api/v1/addons/budget/accounts",
        "/api/v1/addons/budget/accounts/:id",
        "/api/v1/addons/budget/categories",
        "/api/v1/addons/budget/categories/:id",
        "/api/v1/addons/budget/budgets",
        "/api/v1/addons/budget/budgets/:id",
        "/api/v1/addons/budget/transactions",
        "/api/v1/addons/budget/transactions/:id",
        "/api/v1/addons/budget/recurring",
        "/api/v1/addons/budget/recurring/:id",
        "/api/v1/addons/budget/reports/bundle",
        "/api/v1/addons/budget/reports/summary"
      ]
    },
    {
      "id": "business-operator",
      "name": "Autonomous Business-Operator",
      "version": "1.0.0",
      "description": "An autonomous business operator that pursues configured business goals by running agent-driven cycles which orchestrate the existing money/business addons (dropshipping, seo-content, lead-gen, wordpress) and the workflow-builder through the MC API/gateway. Mandatory guardrails: dry-run by default (propose, don't execute) until explicitly armed; a per-operator addon allow-list; approval-required for any spend/publish/outreach action (a pending-actions queue + approve/reject); optional budget + per-day caps. It drives the tools — it never re-implements them, never calls external services (ADR-009), and never auto-runs an approval-required action.",
      "author": "Mission Control",
      "icon": "🧭",
      "capabilities": [
        "business-goals",
        "operator-cycles",
        "action-allow-list",
        "approval-queue",
        "spend-day-caps"
      ],
      "download": "/artifacts/business-operator-1.0.0.zip",
      "sha256": "23a9edb0c1e5861de37fcaa101d4b59cf4e54595b8fa3c4df4841803b893956e",
      "size": 237487,
      "page": {
        "id": "business-operator-page",
        "path": "/addons/business-operator",
        "name": "Business-Operator",
        "icon": "🧭",
        "section": "Automation",
        "component": "@addons/business-operator/src/page"
      },
      "endpoints": [
        "/api/v1/addons/business-operator/status",
        "/api/v1/addons/business-operator/operators",
        "/api/v1/addons/business-operator/operators/:id",
        "/api/v1/addons/business-operator/operators/:id/run",
        "/api/v1/addons/business-operator/operators/:id/runs",
        "/api/v1/addons/business-operator/actions",
        "/api/v1/addons/business-operator/actions/:id/approve",
        "/api/v1/addons/business-operator/actions/:id/reject",
        "/api/v1/addons/business-operator/widget"
      ]
    },
    {
      "id": "calendar",
      "name": "Calendar",
      "version": "1.0.0",
      "description": "Calendar UI and calendar integration API as an installable addon.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "calendar",
        "scheduling"
      ],
      "download": "/artifacts/calendar-1.0.0.zip",
      "sha256": "88940ac78bb63e85a28d56a21a9bd02b6636d4ef50cdbc29102886b5feaebca7",
      "size": 57379,
      "page": null,
      "endpoints": [
        "/api/v1/addons/calendar"
      ]
    },
    {
      "id": "chat",
      "name": "Chat",
      "version": "1.1.0",
      "description": "Agent chat sessions, messages, streaming responses, agent selection, group chat, plus chat I/O: file upload (+drag&drop), voice-to-text and agent file-returns (download + preview, mirrored to artefakt-workspace).",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "chat",
        "sessions",
        "messages",
        "streaming",
        "groups",
        "attachments",
        "voice-input",
        "artifacts"
      ],
      "download": "/artifacts/chat-1.1.0.zip",
      "sha256": "b4535b9c1793c73aadccbc8a57816c7943fd739ec568040f9bd6bcd2d0c5fca4",
      "size": 478586,
      "page": {
        "id": "chat",
        "path": "/addons/chat",
        "name": "Chat",
        "icon": "💬",
        "section": "Agents",
        "component": "@addons/chat/src/components/chat/ChatPage"
      },
      "endpoints": [
        "/api/v1/addons/chat/agents",
        "/api/v1/addons/chat/sessions",
        "/api/v1/addons/chat/sessions/{id}",
        "/api/v1/addons/chat/sessions/{id}/messages",
        "/api/v1/addons/chat/sessions/{id}/stream",
        "/api/v1/addons/chat/sessions/{id}/compact",
        "/api/v1/addons/chat/sessions/{id}/attachments",
        "/api/v1/addons/chat/sessions/{id}/attachments/{attachmentId}/serve",
        "/api/v1/addons/chat/sessions/{id}/artifacts",
        "/api/v1/addons/chat/sessions/{id}/artifacts/{artifactId}/serve",
        "/api/v1/addons/chat/stt-status",
        "/api/v1/addons/chat/plan-limits",
        "/api/v1/addons/chat/groups",
        "/api/v1/addons/chat/groups/{id}/members",
        "/api/v1/addons/chat/groups/{id}/members/{memberId}",
        "/api/v1/addons/chat/groups/{id}/messages"
      ]
    },
    {
      "id": "claude-zai-controller",
      "name": "Claude/ZAI Controller",
      "version": "0.1.0",
      "description": "Container blueprint addon for authorized remote control of Claude Code and ZAI GLM coding plans.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "coding-control",
        "plan-orchestration",
        "agent-bridge"
      ],
      "download": "/artifacts/claude-zai-controller-0.1.0.zip",
      "sha256": "79cd5f0fd297844061692a6ed44c8511d8c85e6f0207628070ac40c3043c569b",
      "size": 9272,
      "page": [
        {
          "id": "claude-zai-controller",
          "name": "Claude/ZAI Controller",
          "path": "/addons/claude-zai-controller",
          "section": "developer"
        }
      ],
      "endpoints": [
        "/api/v1/addons/claude-zai-controller",
        "/api/v1/addons/claude-zai-controller/sessions",
        "/api/v1/addons/claude-zai-controller/plans"
      ]
    },
    {
      "id": "coding-orchestrator",
      "name": "Coding Orchestrator",
      "version": "1.2.0",
      "description": "Lets agents start, steer, inspect, and terminate tmux-backed coding sessions (Claude Code, opencode, codex) via a pluggable engine-adapter registry, with per-session git-worktree isolation so parallel sessions on one repo never corrupt each other, plus per-session engine config (model, permissions, tools, system prompt) and custom provider environment overrides.",
      "author": "Mission Control",
      "icon": "🧠",
      "capabilities": [
        "coding-sessions",
        "tmux-control",
        "agent-steering",
        "custom-llm-routing",
        "terminal-automation",
        "git-worktree-isolation",
        "engine-adapters",
        "parallel-orchestration",
        "per-session-engine-config"
      ],
      "download": "/artifacts/coding-orchestrator-1.2.0.zip",
      "sha256": "c9da38d924498d22af83ba7c68bd6e965e982595f28786c6205398ffaf4ba1c3",
      "size": 433226,
      "page": {
        "id": "coding-orchestrator",
        "name": "Coding Orchestrator",
        "path": "/addons/coding-orchestrator",
        "icon": "🧠",
        "section": "Tools",
        "component": "@addons/coding-orchestrator/src/page"
      },
      "endpoints": [
        "/api/v1/addons/coding-orchestrator/status",
        "/api/v1/addons/coding-orchestrator/engines",
        "/api/v1/addons/coding-orchestrator/providers",
        "/api/v1/addons/coding-orchestrator/auth",
        "/api/v1/addons/coding-orchestrator/sessions",
        "/api/v1/addons/coding-orchestrator/sessions/:id/output",
        "/api/v1/addons/coding-orchestrator/sessions/:id/input",
        "/api/v1/addons/coding-orchestrator/sessions/:id/run",
        "/api/v1/addons/coding-orchestrator/sessions/:id/terminate"
      ]
    },
    {
      "id": "comfyui-web-app",
      "name": "ComfyUI Web App",
      "version": "1.0.0",
      "description": "Mission Control addon wrapper for the ComfyUI Web App with embedded UI, connection config, and passthrough API endpoints.",
      "author": "Mission Control",
      "icon": "🎛️",
      "capabilities": [
        "comfyui-embed",
        "workflow-management",
        "job-execution",
        "api-proxy"
      ],
      "download": "/artifacts/comfyui-web-app-1.0.0.zip",
      "sha256": "1898fdf9a35f5a4321abf8b633a51699969443656e1b36c8ab24e8955c4d3176",
      "size": 38409,
      "page": {
        "id": "comfyui-web-app",
        "name": "ComfyUI Web App",
        "path": "/addons/comfyui-web-app",
        "icon": "🎛️",
        "section": "Media",
        "component": "@addons/comfyui-web-app/src/page"
      },
      "endpoints": [
        "/api/v1/addons/comfyui-web-app/config",
        "/api/v1/addons/comfyui-web-app/status",
        "/api/v1/addons/comfyui-web-app/workflows",
        "/api/v1/addons/comfyui-web-app/jobs",
        "/api/v1/addons/comfyui-web-app/execute"
      ]
    },
    {
      "id": "crm",
      "name": "CRM (Kontakte, Firmen, Pipeline, Deals, Aktivitäten)",
      "version": "1.0.0",
      "description": "Vollständiges CRM auf der lead-gen-CRM-lite (ADR-015): Firmen (Organisationen), Kontakte (Personen, optional einer Firma zugeordnet), eine Deal-Pipeline (Stages → Deals), Aktivitäten (Anrufe/Notizen/Aufgaben/Meetings, an Kontakte/Deals gehängt) und eine E-Mail-/Touchpoint-Timeline. Lokale SQLite ist die Quelle der Wahrheit; reine Daten — KEIN externer Container, KEIN Provider, KEIN Secret. Jede Zeile ist pro Nutzer isoliert (user_id, ADR-054): Nutzer B sieht/ändert nie die Daten von Nutzer A. Ein erfasster lead-gen-Lead kann per Import zu einem CRM-Kontakt werden (lose Verknüpfung über die E-Mail, kein Hard-Coupling). ADR-054.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "crm-companies",
        "crm-contacts",
        "crm-deals",
        "crm-pipeline",
        "crm-activities",
        "crm-touchpoints",
        "lead-gen-import"
      ],
      "download": "/artifacts/crm-1.0.0.zip",
      "sha256": "32e25a9e685afd96d1367771c70229f4635d95a0fc76ab223ca2b9c6ecb9ada4",
      "size": 143632,
      "page": {
        "id": "crm-page",
        "path": "/addons/crm",
        "name": "CRM",
        "icon": "🤝",
        "section": "Money",
        "component": "@addons/crm/src/page"
      },
      "endpoints": [
        "/api/v1/addons/crm/status",
        "/api/v1/addons/crm/companies",
        "/api/v1/addons/crm/companies/:id",
        "/api/v1/addons/crm/contacts",
        "/api/v1/addons/crm/contacts/:id",
        "/api/v1/addons/crm/contacts/:id/detail",
        "/api/v1/addons/crm/contacts/:id/touchpoints",
        "/api/v1/addons/crm/deals",
        "/api/v1/addons/crm/deals/:id",
        "/api/v1/addons/crm/deals/:id/stage",
        "/api/v1/addons/crm/activities",
        "/api/v1/addons/crm/activities/:id",
        "/api/v1/addons/crm/import/leads",
        "/api/v1/addons/crm/widget"
      ]
    },
    {
      "id": "dataannotation-bot",
      "name": "DataAnnotation Bot",
      "version": "1.0.0",
      "description": "Human-like task automation for DataAnnotation.tech — browser automation (Puppeteer), Bezier-curve mouse movements, scheduling, and reporting. Runs as a Mission Control extension.",
      "author": "Mission Control",
      "icon": "🤖",
      "capabilities": [
        "automation",
        "browser",
        "puppeteer",
        "scheduling",
        "human-like-input"
      ],
      "download": "/artifacts/dataannotation-bot-1.0.0.zip",
      "sha256": "f0d196a61c18b7e6abb9c5181b9d47e354de16e70d62d669221490af449cc412",
      "size": 53351,
      "page": null,
      "endpoints": [
        "/api/dataannotation-bot/status"
      ]
    },
    {
      "id": "discord-notifications",
      "name": "External Notifications",
      "version": "2.0.0",
      "description": "DEPRECATED (merged into notifications, ADR-008): Multi-platform external notifications for Mission Control. Supports Discord, Telegram, Slack, WhatsApp, Signal, Email. Reads from Hermes gateway config when available.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "notifications",
        "discord",
        "telegram",
        "slack",
        "whatsapp",
        "signal",
        "email"
      ],
      "download": "/artifacts/discord-notifications-2.0.0.zip",
      "sha256": "bf72728287b63221dda3d596d54aa9b33ee399c47de557c0be1d0e2042853578",
      "size": 38264,
      "page": null,
      "endpoints": [
        "/api/v1/addons/discord-notifications/config",
        "/api/v1/addons/discord-notifications/test",
        "/api/v1/addons/discord-notifications/platforms",
        "/api/v1/addons/discord-notifications/platforms/{id}",
        "/api/v1/addons/discord-notifications/platforms/{id}/test"
      ]
    },
    {
      "id": "documents",
      "name": "Documents",
      "version": "1.0.0",
      "description": "DEPRECATED (merged into file-hosting / Files, ADR-008): Document library, workspace landing page, and agent default file management.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "documents",
        "workspace",
        "agent-files"
      ],
      "download": "/artifacts/documents-1.0.0.zip",
      "sha256": "40affc9a5b0c56f54b42100ad42b5367daa944c469e7dbdb3c75012a557c9eca",
      "size": 28606,
      "page": [
        {
          "id": "documents",
          "path": "/addons/documents",
          "name": "Documents",
          "icon": "📄",
          "section": "Data",
          "component": "@addons/documents/src/components/documents/DocumentList"
        },
        {
          "id": "workspace",
          "path": "/addons/documents/workspace",
          "name": "Workspace",
          "icon": "🗂️",
          "section": "Data",
          "component": "@addons/documents/src/components/WorkspacePage"
        }
      ],
      "endpoints": [
        "/api/v1/addons/documents/agent-files"
      ]
    },
    {
      "id": "dropshipping",
      "name": "Dropshipping & POD",
      "version": "1.0.0",
      "description": "Import print-on-demand products, set margins, place and fulfill orders via Printful / Printify. The suppliers are external SaaS APIs reached with the owner's API key from MC-config (no container) — auto-fulfillment is always an explicit call (ADR-013).",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "dropshipping-products",
        "dropshipping-orders",
        "dropshipping-fulfillment",
        "dropshipping-margins",
        "pod-printful",
        "pod-printify"
      ],
      "download": "/artifacts/dropshipping-1.0.0.zip",
      "sha256": "1926651baef46d3ecc44929b763ee2b252d3706bef93fb51ecd802be3001c065",
      "size": 113148,
      "page": {
        "id": "dropshipping-page",
        "path": "/addons/dropshipping",
        "name": "Dropshipping & POD",
        "icon": "📦",
        "section": "Money",
        "component": "@addons/dropshipping/src/page"
      },
      "endpoints": [
        "/api/v1/addons/dropshipping/status",
        "/api/v1/addons/dropshipping/products",
        "/api/v1/addons/dropshipping/orders",
        "/api/v1/addons/dropshipping/orders/:id",
        "/api/v1/addons/dropshipping/orders/:id/fulfill",
        "/api/v1/addons/dropshipping/fulfillments",
        "/api/v1/addons/dropshipping/margins"
      ]
    },
    {
      "id": "email-marketing",
      "name": "E-Mail-Marketing (Listen, Kampagnen, Templates, Sequenzen)",
      "version": "1.0.0",
      "description": "E-Mail-Marketing über die in Mission Control konfigurierte E-Mail (SMTP/ESP, wie lead-gen): Listen & Abonnenten mit Double-Opt-in, wiederverwendbare Templates, Kampagnen mit Segmentierung, Drip-Sequenzen sowie Öffnungs-/Klick-/Bounce-Tracking. Lokale SQLite ist die Quelle der Wahrheit; ohne konfigurierten Versand läuft das Addon graceful (Listen/Abonnenten/Templates anlegbar, Versand meldet 'zuerst E-Mail konfigurieren', nie ein 500). Jede Marketing-Mail trägt einen Abmeldelink; unbestätigte Adressen werden nie angeschrieben. Confirm/Unsubscribe/Open/Click sind öffentlich, aber tokengeschützt; der Klick-Redirect leitet nur auf die gespeicherte URL um (kein Open-Redirect). ADR-042.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "lists",
        "subscribers",
        "double-opt-in",
        "templates",
        "campaigns",
        "sequences",
        "segmentation",
        "open-tracking",
        "click-tracking",
        "bounce-tracking",
        "unsubscribe"
      ],
      "download": "/artifacts/email-marketing-1.0.0.zip",
      "sha256": "4b6e4932881794b74171ec97a08644e729d85afd7245792f487d0ea2a6706d38",
      "size": 228046,
      "page": {
        "id": "email-marketing-page",
        "path": "/addons/email-marketing",
        "name": "E-Mail-Marketing",
        "icon": "📣",
        "section": "Money",
        "component": "@addons/email-marketing/src/page"
      },
      "endpoints": [
        "/api/v1/addons/email-marketing/status",
        "/api/v1/addons/email-marketing/lists",
        "/api/v1/addons/email-marketing/lists/:id",
        "/api/v1/addons/email-marketing/lists/:id/subscribers",
        "/api/v1/addons/email-marketing/subscribers/:id",
        "/api/v1/addons/email-marketing/templates",
        "/api/v1/addons/email-marketing/templates/:id",
        "/api/v1/addons/email-marketing/campaigns",
        "/api/v1/addons/email-marketing/campaigns/:id",
        "/api/v1/addons/email-marketing/campaigns/:id/send",
        "/api/v1/addons/email-marketing/sequences",
        "/api/v1/addons/email-marketing/sequences/:id",
        "/api/v1/addons/email-marketing/sends/:id/bounce",
        "/api/v1/addons/email-marketing/public/confirm",
        "/api/v1/addons/email-marketing/public/unsubscribe",
        "/api/v1/addons/email-marketing/public/open",
        "/api/v1/addons/email-marketing/public/click",
        "/api/v1/addons/email-marketing/widget"
      ]
    },
    {
      "id": "error-monitoring",
      "name": "Error Monitoring",
      "version": "1.0.0",
      "description": "Self-hosted, Sentry-like in-app error capture: unhandled client exceptions, API 500s and server errors are captured per-user, grouped by fingerprint with occurrence counts, and surfaced for acknowledgement/resolution. No external service.",
      "author": "Mission Control",
      "icon": "🐞",
      "capabilities": [
        "error-monitoring",
        "observability",
        "errors"
      ],
      "download": "/artifacts/error-monitoring-1.0.0.zip",
      "sha256": "1722dcecd6cecfacee5c76c202a4ff9f10a1222b438dc43052531092ccd549cb",
      "size": 45085,
      "page": null,
      "endpoints": [
        "/api/v1/addons/error-monitoring/errors",
        "/api/v1/addons/error-monitoring/resolve",
        "/api/v1/addons/error-monitoring/stats"
      ]
    },
    {
      "id": "etsy",
      "name": "Etsy",
      "version": "1.0.0",
      "description": "Commerce channel: sync listings, stock & orders from your Etsy shop via the OpenAPI v3 REST API (external SaaS). Each user brings their own API key + OAuth2 access token (BYOK) stored per-user through the scoped data-access layer (ADR-054); no secret is hard-coded or logged and there is no container. Sync is always an explicit call.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "commerce-etsy",
        "etsy-products",
        "etsy-stock",
        "etsy-orders",
        "etsy-sync"
      ],
      "download": "/artifacts/etsy-1.0.0.zip",
      "sha256": "d7567e7547f3bccb3d1bbe3f094d7debf84d73e55dff911bae8437aa9da427cc",
      "size": 69297,
      "page": {
        "id": "etsy-page",
        "path": "/addons/etsy",
        "name": "Etsy",
        "icon": "🎨",
        "section": "Money",
        "component": "@addons/etsy/src/page"
      },
      "endpoints": [
        "/api/v1/addons/etsy/status",
        "/api/v1/addons/etsy/config",
        "/api/v1/addons/etsy/products",
        "/api/v1/addons/etsy/stock",
        "/api/v1/addons/etsy/orders",
        "/api/v1/addons/etsy/sync"
      ]
    },
    {
      "id": "file-hosting",
      "name": "Files",
      "version": "2.0.0",
      "description": "Files: library (documents) + hosting/upload/public-URL. Canonical Files addon (ADR-008) consolidating the former documents addon, with upload, download, and public URL generation using Mission Control's Next.js API routes.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "file-upload",
        "file-download",
        "url-generation",
        "token-based-access",
        "documents",
        "workspace",
        "agent-files"
      ],
      "download": "/artifacts/file-hosting-2.0.0.zip",
      "sha256": "bb357e23b5a92f49387a589d88d8003ec46435c77f7e30ead698993177dfc727",
      "size": 122526,
      "page": {
        "path": "/addons/file-hosting",
        "name": "Files",
        "icon": "📁",
        "section": "Tools",
        "component": "@addons/file-hosting/src/components/FileHostingPage"
      },
      "endpoints": [
        "/api/v1/addons/file-hosting/upload",
        "/api/v1/addons/file-hosting/files",
        "/api/v1/addons/file-hosting/list",
        "/api/v1/addons/file-hosting/file/:id",
        "/api/v1/addons/file-hosting/serve/:id",
        "/api/v1/addons/file-hosting/config",
        "/api/v1/addons/file-hosting/agent-files"
      ]
    },
    {
      "id": "homeassistant",
      "name": "Home Assistant",
      "version": "1.0.0",
      "description": "Monitor and control Home Assistant entities — lights, climate, sensors, switches, locks, and automations via REST API.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "entity-browser",
        "entity-control",
        "dashboard",
        "automation-trigger",
        "yaml-config-editor",
        "lovelace-dashboards",
        "helpers-management",
        "areas-management",
        "voice-assistant",
        "connection-config"
      ],
      "download": "/artifacts/homeassistant-1.0.0.zip",
      "sha256": "ccecc95e283409ada5ca2e0ce5a287f90034858b2eb332d6026b5b92461596b8",
      "size": 350882,
      "page": null,
      "endpoints": [
        "/api/v1/addons/homeassistant/status",
        "/api/v1/addons/homeassistant/entities",
        "/api/v1/addons/homeassistant/entities/:id",
        "/api/v1/addons/homeassistant/entities/:id/toggle",
        "/api/v1/addons/homeassistant/entities/:id/service",
        "/api/v1/addons/homeassistant/automations",
        "/api/v1/addons/homeassistant/automations/:id/trigger",
        "/api/v1/addons/homeassistant/automations/:id/yaml",
        "/api/v1/addons/homeassistant/automations/:id/update",
        "/api/v1/addons/homeassistant/scenes",
        "/api/v1/addons/homeassistant/scenes/:id",
        "/api/v1/addons/homeassistant/scenes/:id/yaml",
        "/api/v1/addons/homeassistant/scenes/:id/update",
        "/api/v1/addons/homeassistant/scenes/reload",
        "/api/v1/addons/homeassistant/scripts",
        "/api/v1/addons/homeassistant/scripts/:id",
        "/api/v1/addons/homeassistant/scripts/:id/yaml",
        "/api/v1/addons/homeassistant/scripts/:id/update",
        "/api/v1/addons/homeassistant/scripts/reload",
        "/api/v1/addons/homeassistant/lovelace/dashboards",
        "/api/v1/addons/homeassistant/lovelace/dashboards/:id",
        "/api/v1/addons/homeassistant/lovelace/dashboards/:id/config",
        "/api/v1/addons/homeassistant/helpers/:domain",
        "/api/v1/addons/homeassistant/helpers/:domain/:id",
        "/api/v1/addons/homeassistant/areas",
        "/api/v1/addons/homeassistant/areas/:id",
        "/api/v1/addons/homeassistant/assist",
        "/api/v1/addons/homeassistant/assist-config",
        "/api/v1/addons/homeassistant/config",
        "/api/v1/addons/homeassistant/test"
      ]
    },
    {
      "id": "integrations",
      "name": "Integrations",
      "version": "1.0.0",
      "description": "Webhook and cron integration endpoints.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "webhooks",
        "cron",
        "integrations"
      ],
      "download": "/artifacts/integrations-1.0.0.zip",
      "sha256": "089e971621151de10097e1c98504192766d833cd9d6a8895e192c1edb3f087e3",
      "size": 37346,
      "page": null,
      "endpoints": [
        "/api/v1/addons/integrations/webhooks",
        "/api/v1/addons/integrations/cron"
      ]
    },
    {
      "id": "jarvis",
      "name": "Jarvis",
      "version": "1.0.0",
      "description": "Voice-first personal operations console with morning briefing, live weather, agenda, Tesla controls, and Home Assistant visibility.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "voice-assistant",
        "briefing",
        "calendar",
        "weather",
        "tesla",
        "home-assistant"
      ],
      "download": "/artifacts/jarvis-1.0.0.zip",
      "sha256": "f91f6cc19d14bf86aa20242cc976c290251f19078984155de4ee1c39cbc8ccce",
      "size": 82913,
      "page": {
        "path": "/addons/jarvis",
        "name": "Jarvis",
        "icon": "🤖",
        "section": "Tools",
        "component": "@addons/jarvis/src/components/dashboard/JarvisDashboard"
      },
      "endpoints": [
        "/api/v1/addons/jarvis",
        "/api/v1/addons/jarvis/briefing",
        "/api/v1/addons/jarvis/weather",
        "/api/v1/addons/jarvis/calendar",
        "/api/v1/addons/jarvis/tesla",
        "/api/v1/addons/jarvis/home-assistant"
      ]
    },
    {
      "id": "lead-gen",
      "name": "Lead-Gen & Outreach (CRM-lite)",
      "version": "1.0.0",
      "description": "CRM-lite (contacts, pipeline, suppression, sequences) + cold outreach. Scrape/enrich via an MC-managed container (ADR-009, reached only via the internal URL — no hard-coded host), draft personalized messages via the MC gateway, and send under mandatory anti-spam guardrails (suppression + per-run/daily rate-limit + explicit confirm). SMTP/ESP config + enrichment keys come from MC addon-config, never the manifest. Money-Stufe-1 (ADR-015).",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "crm-contacts",
        "crm-pipeline",
        "lead-scraping",
        "lead-enrichment",
        "outreach-sequences",
        "outreach-sending",
        "outreach-suppression"
      ],
      "download": "/artifacts/lead-gen-1.0.0.zip",
      "sha256": "69416db90e5d240ffbd310d5acb27221af965294a33896a4dc582565963690e4",
      "size": 183320,
      "page": {
        "id": "lead-gen-page",
        "path": "/addons/lead-gen",
        "name": "Lead-Gen & Outreach",
        "icon": "🎯",
        "section": "Money",
        "component": "@addons/lead-gen/src/page"
      },
      "endpoints": [
        "/api/v1/addons/lead-gen/status",
        "/api/v1/addons/lead-gen/contacts",
        "/api/v1/addons/lead-gen/contacts/:id",
        "/api/v1/addons/lead-gen/pipeline",
        "/api/v1/addons/lead-gen/sequences",
        "/api/v1/addons/lead-gen/sequences/:id/generate",
        "/api/v1/addons/lead-gen/sequences/:id/send",
        "/api/v1/addons/lead-gen/suppression",
        "/api/v1/addons/lead-gen/enrich",
        "/api/v1/addons/lead-gen/widget"
      ]
    },
    {
      "id": "manifest-routing",
      "name": "Manifest Routing",
      "version": "1.0.0",
      "description": "Provider routing, subscriptions and monitoring as an installable addon.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "llm-routing",
        "provider-management",
        "subscription-management",
        "usage-monitoring",
        "zai"
      ],
      "download": "/artifacts/manifest-routing-1.0.0.zip",
      "sha256": "e7e3e11ac1fc16bfdf39f0dbedd3394b5186a9cdf58cd01133f3c20cfae74a14",
      "size": 161524,
      "page": {
        "path": "/addons/manifest-routing",
        "name": "Manifest Routing",
        "icon": "🧭",
        "section": "Admin",
        "component": "@addons/manifest-routing/src/components/ManifestRoutingSettings"
      },
      "endpoints": [
        "/api/v1/addons/manifest-routing",
        "/api/v1/addons/manifest-routing/llm-provider",
        "/api/v1/addons/manifest-routing/subscriptions",
        "/api/v1/addons/manifest-routing/zai",
        "/api/v1/addons/manifest-routing/notifications",
        "/api/v1/addons/manifest-routing/failed-requests",
        "/api/v1/addons/manifest-routing/health-check",
        "/api/v1/addons/manifest-routing/stats",
        "/api/v1/addons/manifest-routing/rule/{id}"
      ]
    },
    {
      "id": "marketing-ads",
      "name": "Marketing & Ads (Affiliate-Tracking + Google/Meta Kampagnen + KI-Creatives)",
      "version": "1.0.0",
      "description": "Per-User Marketing: Ad-Kampagnen (Google/Meta) mit Budget & ROAS, Affiliate-Tracking mit Klick-/Conversion-Zählern und KI-Creative-Prompts. Plattform-Spend/Revenue fließen über einen injizierbaren, per-User BYOK Fetch-Seam (nie hartcodiert); KI-Creatives hinter einem LLM-Gateway-Seam mit graceful Degradation. Lokale SQLite ist die Quelle der Wahrheit (ADR-054).",
      "author": "Mission Control",
      "icon": "📣",
      "capabilities": [
        "marketing",
        "ads",
        "campaigns",
        "google",
        "meta",
        "affiliates",
        "creatives",
        "budget",
        "roas"
      ],
      "download": "/artifacts/marketing-ads-1.0.0.zip",
      "sha256": "987067eb605ea7b21d0577e0f2b96fe5c29478a606d39259999e27e8beea03de",
      "size": 105458,
      "page": {
        "id": "marketing-ads-page",
        "path": "/addons/marketing-ads",
        "name": "Marketing & Ads",
        "icon": "📣",
        "section": "Money",
        "component": "@addons/marketing-ads/src/components/MarketingAdsPage"
      },
      "endpoints": [
        "/api/v1/addons/marketing-ads/campaigns",
        "/api/v1/addons/marketing-ads/campaigns/:id",
        "/api/v1/addons/marketing-ads/affiliates",
        "/api/v1/addons/marketing-ads/affiliates/:id",
        "/api/v1/addons/marketing-ads/affiliates/:id/click",
        "/api/v1/addons/marketing-ads/affiliates/:id/convert",
        "/api/v1/addons/marketing-ads/creatives",
        "/api/v1/addons/marketing-ads/creatives/:id",
        "/api/v1/addons/marketing-ads/stats"
      ]
    },
    {
      "id": "marketplace",
      "name": "Agent-/Addon-Marketplace",
      "version": "1.0.0",
      "description": "An in-instance marketplace: a browsable catalog to discover, install and publish agents (as shared templates) and addons. A thin curation surface over existing primitives — agent listings are shared agent-templates (instantiate to install, Phase A), addon listings are installable addons from the registry (enable to install, Phase K). Listings may be PAID (one-time and/or subscription price + currency); a configurable platform revenue-share % splits each paid transaction (seller payout vs platform cut). Purchases create a payment via the existing payments addon — when payments is unconfigured the paid flow is gracefully inactive while free listings + browsing keep working. It never re-implements sharing/install/Stripe-PayPal, never copies a secret, is visibility-aware (a private template is never exposed), and never calls external services (ADR-009, ADR-026). Cross-instance/remote-registry marketplace is out of scope.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "marketplace-catalog",
        "marketplace-agent-listings",
        "marketplace-addon-listings",
        "marketplace-install",
        "marketplace-publish",
        "marketplace-paid-listings",
        "marketplace-revenue-share"
      ],
      "download": "/artifacts/marketplace-1.0.0.zip",
      "sha256": "4a1a5b850cf9885142bed9dd86bf085de694784ed587f09fd896550baf9a9035",
      "size": 233440,
      "page": {
        "id": "marketplace-page",
        "path": "/addons/marketplace",
        "name": "Marketplace",
        "icon": "🛍️",
        "section": "Addons",
        "component": "@addons/marketplace/src/page"
      },
      "endpoints": [
        "/api/v1/addons/marketplace/status",
        "/api/v1/addons/marketplace/listings",
        "/api/v1/addons/marketplace/listings/:id",
        "/api/v1/addons/marketplace/listings/:id/install",
        "/api/v1/addons/marketplace/listings/:id/purchase",
        "/api/v1/addons/marketplace/listings/:id/pricing",
        "/api/v1/addons/marketplace/revenue-share",
        "/api/v1/addons/marketplace/publish",
        "/api/v1/addons/marketplace/widget"
      ]
    },
    {
      "id": "marketplace-automation",
      "name": "Marketplace Automation",
      "version": "1.0.0",
      "description": "Manage marketplace accounts, create listing drafts, publish to supported portals, and track publish jobs from inside Mission Control.",
      "author": "Mission Control",
      "icon": "🛍️",
      "capabilities": [
        "marketplace-accounts",
        "listing-drafts",
        "listing-publish",
        "listing-tracking"
      ],
      "download": "/artifacts/marketplace-automation-1.0.0.zip",
      "sha256": "439ff1b2d21129aca5e172ff96b5980d2cf5bc4f10c56111a9a6790f17f52bd5",
      "size": 64923,
      "page": {
        "id": "marketplace-automation",
        "name": "Marketplace Automation",
        "path": "/addons/marketplace-automation",
        "icon": "🛍️",
        "section": "Operations",
        "component": "@addons/marketplace-automation/src/page"
      },
      "endpoints": [
        "/api/v1/addons/marketplace-automation/status",
        "/api/v1/addons/marketplace-automation/accounts",
        "/api/v1/addons/marketplace-automation/accounts/:id",
        "/api/v1/addons/marketplace-automation/listings",
        "/api/v1/addons/marketplace-automation/listings/:id",
        "/api/v1/addons/marketplace-automation/listings/:id/publish",
        "/api/v1/addons/marketplace-automation/jobs"
      ]
    },
    {
      "id": "mc-copilot",
      "name": "Mission Control Copilot",
      "version": "1.0.0",
      "description": "The admin/setup copilot: an agent that controls, manages, sets up and configures Mission Control itself via natural language. It drives MC's own management operations through the MC-API/agent-capable Live-OpenAPI (diagnose, config, addons, agents, build dashboards/workflows). Every tool is gated by the owner/admin-only mc.manage capability (default-deny), audited via logAudit (secrets masked), and — when sensitive/irreversible — queued for the owner's approval, never auto-run. No container: it reuses MC's own agent/backend infrastructure (connector/internal pattern). Idempotently seeded as a system-agent after onboarding.",
      "author": "Mission Control",
      "icon": "🛠️",
      "capabilities": [
        "mc-management",
        "copilot-console",
        "management-toolset",
        "approval-queue",
        "audited-tools"
      ],
      "download": "/artifacts/mc-copilot-1.0.0.zip",
      "sha256": "485b5de74d22314bd3488b761b4d55830b5256a161869db298fa33652721830c",
      "size": 168140,
      "page": {
        "id": "mc-copilot-page",
        "path": "/addons/mc-copilot",
        "name": "Mission Control Copilot",
        "icon": "🛠️",
        "section": "Automation",
        "component": "@addons/mc-copilot/src/page"
      },
      "endpoints": [
        "/api/v1/addons/mc-copilot/status",
        "/api/v1/addons/mc-copilot/sessions",
        "/api/v1/addons/mc-copilot/sessions/:id",
        "/api/v1/addons/mc-copilot/sessions/:id/message",
        "/api/v1/addons/mc-copilot/actions",
        "/api/v1/addons/mc-copilot/actions/:id/approve",
        "/api/v1/addons/mc-copilot/actions/:id/reject",
        "/api/v1/addons/mc-copilot/seed",
        "/api/v1/addons/mc-copilot/widget"
      ]
    },
    {
      "id": "mcp",
      "name": "MCP Servers",
      "version": "1.0.0",
      "description": "Model Context Protocol server management, runtime installation, tool discovery, and agent tool execution.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "mcp",
        "tools",
        "servers",
        "agent-tools"
      ],
      "download": "/artifacts/mcp-1.0.0.zip",
      "sha256": "bfc224898d31a5d4e9194fed3b95a600f838ed0ebe94e8efdd43cc6e23acc3f6",
      "size": 153578,
      "page": {
        "id": "mcp",
        "path": "/addons/mcp",
        "name": "MCP Servers",
        "icon": "🔌",
        "section": "Admin",
        "component": "@addons/mcp/src/components/MCPPage"
      },
      "endpoints": [
        "/api/v1/addons/mcp/agent",
        "/api/v1/addons/mcp/deploy",
        "/api/v1/addons/mcp/servers",
        "/api/v1/addons/mcp/servers/{id}",
        "/api/v1/addons/mcp/servers/{id}/discover",
        "/api/v1/addons/mcp/servers/{id}/test-auth",
        "/api/v1/addons/mcp/servers/{id}/tools",
        "/api/v1/addons/mcp/tools"
      ]
    },
    {
      "id": "media",
      "name": "Media Server",
      "version": "1.0.0",
      "description": "Home media server management — Plex, Jellyfin, Sonarr, Radarr, qBittorrent, and more. Monitor what's playing, manage libraries, request new content, and control downloads.",
      "author": "Mission Control",
      "icon": "🎬",
      "capabilities": [
        "media",
        "streaming",
        "downloads",
        "plex",
        "jellyfin"
      ],
      "download": "/artifacts/media-1.0.0.zip",
      "sha256": "e75824cf1cbce236632c3f455bd9c982ff17c17772e598aa143b235c35004cdf",
      "size": 331876,
      "page": {
        "path": "/addons/media",
        "name": "Media Server",
        "icon": "🎬",
        "section": "Media",
        "component": "@addons/media/src/components/MediaDashboard"
      },
      "endpoints": [
        "/api/v1/addons/media/status",
        "/api/v1/addons/media/sessions",
        "/api/v1/addons/media/libraries",
        "/api/v1/addons/media/search",
        "/api/v1/addons/media/request",
        "/api/v1/addons/media/blacklist",
        "/api/v1/addons/media/releases",
        "/api/v1/addons/media/download-queue",
        "/api/v1/addons/media/config",
        "/api/v1/addons/media/health",
        "/api/v1/addons/media/history"
      ]
    },
    {
      "id": "membership",
      "name": "Membership (Mitglieder/Abos/Paywall/Kurse/E-Books)",
      "version": "1.0.0",
      "description": "Per-User Mitgliedschaften: Mitglieder, Abo-Stufen mit Entitlement-Bündeln, Subscriptions (Paywall-Autorität), Kurse und E-Books. Integriert lesend mit dem payments-Addon (ein Abo darf die billing-Subscription referenzieren), ohne payments zu verändern. Lokale SQLite ist die Quelle der Wahrheit (ADR-054).",
      "author": "Mission Control",
      "icon": "🎟️",
      "capabilities": [
        "membership",
        "members",
        "plans",
        "subscriptions",
        "paywall",
        "entitlements",
        "courses",
        "ebooks"
      ],
      "download": "/artifacts/membership-1.0.0.zip",
      "sha256": "7a47806ed86979cc7705705d764515fa0bde4a79ebf0d86501eedbd97076bb10",
      "size": 114723,
      "page": {
        "id": "membership-page",
        "path": "/addons/membership",
        "name": "Membership",
        "icon": "🎟️",
        "section": "Money",
        "component": "@addons/membership/src/components/MembershipPage"
      },
      "endpoints": [
        "/api/v1/addons/membership/members",
        "/api/v1/addons/membership/members/:id",
        "/api/v1/addons/membership/plans",
        "/api/v1/addons/membership/plans/:id",
        "/api/v1/addons/membership/subscriptions",
        "/api/v1/addons/membership/subscriptions/:id",
        "/api/v1/addons/membership/courses",
        "/api/v1/addons/membership/courses/:id",
        "/api/v1/addons/membership/ebooks",
        "/api/v1/addons/membership/ebooks/:id",
        "/api/v1/addons/membership/entitlements"
      ]
    },
    {
      "id": "memories",
      "name": "Memories",
      "version": "1.0.0",
      "description": "Long-term memories, memory search, memory group sharing, and a per-user knowledge-map graph.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "memories",
        "memory-groups",
        "search",
        "sharing",
        "knowledge-map",
        "memory-loop"
      ],
      "download": "/artifacts/memories-1.0.0.zip",
      "sha256": "544be67e2b26ec58b0b1772a0ae4c94daf3c18e5f26f86ef5b4ff2668a12f681",
      "size": 192265,
      "page": [
        {
          "id": "memories",
          "path": "/addons/memories",
          "name": "Memories",
          "icon": "🧠",
          "section": "Data",
          "component": "@addons/memories/src/components/memories/MemoryList"
        },
        {
          "id": "memories-graph",
          "path": "/addons/memories/graph",
          "name": "Knowledge Map",
          "icon": "🕸️",
          "section": "Data",
          "component": "@addons/memories/src/components/memories/MemoryGraph"
        },
        {
          "id": "memories-loop",
          "path": "/addons/memories/agent-loop",
          "name": "Memory-Loop",
          "icon": "♻️",
          "section": "Data",
          "component": "@addons/memories/src/components/memories/MemoryLoopSettings"
        }
      ],
      "endpoints": [
        "/api/v1/addons/memories",
        "/api/v1/addons/memories/{id}",
        "/api/v1/addons/memories/search",
        "/api/v1/addons/memories/graph",
        "/api/v1/addons/memories/memory-groups",
        "/api/v1/addons/memories/memory-groups/{id}",
        "/api/v1/addons/memories/memory-groups/{id}/members",
        "/api/v1/addons/memories/memory-groups/{id}/memories",
        "/api/v1/addons/memories/memory-groups/share",
        "/api/v1/addons/memories/memory-groups/visible",
        "/api/v1/addons/memories/agent-loop/settings",
        "/api/v1/addons/memories/agent-loop/sync"
      ]
    },
    {
      "id": "moto-routeplanner",
      "name": "Moto Route Planner (GPX)",
      "version": "1.1.0",
      "description": "Plan motorcycle tours — round-trip or one-way, with waypoints, by target distance or duration, with a curviness level, avoid-highway (or highway-until-X then curvy/passes), prefer-passes — and export a valid GPX 1.1 for your navi (Garmin/TomTom/Calimoto). v1.1 adds POIs along the route (fuel/food/viewpoint via OpenStreetMap/Overpass), multi-day tours split into day stages with one GPX per stage, and an elevation profile (Höhenprofil). Routing runs on an MC-managed BRouter container (ADR-009, reached only via the internal URL — no hard-coded host) with an owner-keyed GraphHopper/ORS Directions API fallback; when neither is configured, plan calls return a clear 503. The fallback + Overpass API keys + BRouter rd5 region/disk are owner-config (OPEN-DECISIONS), never the manifest. ADR-037.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "route-planning",
        "gpx-export",
        "roundtrip-generation",
        "curvy-routing",
        "pois-along-route",
        "multi-day-stages",
        "elevation-profile"
      ],
      "download": "/artifacts/moto-routeplanner-1.1.0.zip",
      "sha256": "25bd17b551a04900d4a0fa82f5a105287897b8e4e26904ec546c4e13c7db78ce",
      "size": 249761,
      "page": {
        "id": "moto-routeplanner-page",
        "path": "/addons/moto-routeplanner",
        "name": "Moto Route Planner",
        "icon": "🏍️",
        "section": "Tools",
        "component": "@addons/moto-routeplanner/src/page"
      },
      "endpoints": [
        "/api/v1/addons/moto-routeplanner/status",
        "/api/v1/addons/moto-routeplanner/plan",
        "/api/v1/addons/moto-routeplanner/tours",
        "/api/v1/addons/moto-routeplanner/tours/:id",
        "/api/v1/addons/moto-routeplanner/tours/:id/gpx",
        "/api/v1/addons/moto-routeplanner/tours/:id/stages",
        "/api/v1/addons/moto-routeplanner/tours/:id/stages/:stage/gpx",
        "/api/v1/addons/moto-routeplanner/widget"
      ]
    },
    {
      "id": "notifications",
      "name": "Notifications",
      "version": "1.0.0",
      "description": "Universal notifications: agent-backend dispatch (OpenClaw, Pi Agent, Hermes) + external channels (Discord, Telegram, Slack, WhatsApp, Signal, Email). Reads from Hermes gateway config when available.",
      "author": "Mission Control",
      "icon": "🔔",
      "capabilities": [
        "notifications",
        "discord",
        "telegram",
        "slack",
        "whatsapp",
        "signal",
        "email",
        "push",
        "webhook"
      ],
      "download": "/artifacts/notifications-1.0.0.zip",
      "sha256": "ce3bb21f10107f1081050d6d2214389884d995a96e4624353339f8542d6060be",
      "size": 138710,
      "page": {
        "path": "/addons/notifications",
        "name": "Notifications",
        "icon": "🔔",
        "section": "Settings",
        "component": "@addons/notifications/src/components/ExternalNotificationsSettings"
      },
      "endpoints": [
        "/api/v1/addons/notifications/send",
        "/api/v1/addons/notifications/config",
        "/api/v1/addons/notifications/test",
        "/api/v1/addons/notifications/channels",
        "/api/v1/addons/notifications/history",
        "/api/v1/addons/notifications/status",
        "/api/v1/addons/notifications/platforms",
        "/api/v1/addons/notifications/platforms/{id}",
        "/api/v1/addons/notifications/platforms/{id}/test",
        "/api/v1/addons/notifications/external-config",
        "/api/v1/addons/notifications/external-channels",
        "/api/v1/addons/notifications/external-test",
        "/api/v1/addons/notifications/ntfy/settings",
        "/api/v1/addons/notifications/ntfy/test"
      ]
    },
    {
      "id": "octoprint",
      "name": "OctoPrint (3D-Druck: Status/Aufträge/Temp/Webcam/G-Code-Queue/Multi)",
      "version": "1.0.0",
      "description": "Per-User OctoPrint-Anbindung: BYOK URL+API-Key pro Drucker, Live-Status/Jobs/Temperatur/Webcam, G-Code-Queue und Multi-Drucker. Brückt lesend zum openscad-generator-Addon (generierte Modelle in die Queue), ohne openscad-generator zu verändern. Lokale SQLite ist die Quelle der Wahrheit (ADR-054).",
      "author": "Mission Control",
      "icon": "🖨️",
      "capabilities": [
        "octoprint",
        "printers",
        "jobs",
        "temperature",
        "webcam",
        "queue",
        "gcode",
        "3d-printing"
      ],
      "download": "/artifacts/octoprint-1.0.0.zip",
      "sha256": "8c38fabe6e690d6103def2216c970535ef4957b354cc8bfd9dc2f1e8df5a5dff",
      "size": 104867,
      "page": {
        "id": "octoprint-page",
        "path": "/addons/octoprint",
        "name": "OctoPrint",
        "icon": "🖨️",
        "section": "Tools",
        "component": "@addons/octoprint/src/components/OctoprintPage"
      },
      "endpoints": [
        "/api/v1/addons/octoprint/printers",
        "/api/v1/addons/octoprint/printers/:id",
        "/api/v1/addons/octoprint/jobs",
        "/api/v1/addons/octoprint/temperature",
        "/api/v1/addons/octoprint/webcam",
        "/api/v1/addons/octoprint/queue",
        "/api/v1/addons/octoprint/queue/:id",
        "/api/v1/addons/octoprint/bridge/openscad"
      ]
    },
    {
      "id": "openscad-generator",
      "name": "OpenSCAD Generator",
      "version": "1.1.0",
      "description": "Generate OpenSCAD 3D models from text prompts (via the LLM gateway) and images, with containerized OpenSCAD rendering and STL export",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "text-to-openscad",
        "image-to-openscad",
        "stl-export",
        "preview-rendering"
      ],
      "download": "/artifacts/openscad-generator-1.1.0.zip",
      "sha256": "c6347b31f95655b389734e2d2c894e6f3a88381d955e97092ae31f3d642970f7",
      "size": 63459,
      "page": {
        "path": "/addons/openscad-generator",
        "name": "OpenSCAD Generator",
        "icon": "🧱",
        "section": "Tools",
        "component": "@addons/openscad-generator/src/page"
      },
      "endpoints": [
        "/api/v1/addons/openscad-generator/generate",
        "/api/v1/addons/openscad-generator/render",
        "/api/v1/addons/openscad-generator/status"
      ]
    },
    {
      "id": "payments",
      "name": "Payments (Rechnungen, Abos, Payment-Links, Mahnwesen)",
      "version": "1.0.0",
      "description": "Rechnungen, Abos, Payment-Links und Mahnwesen über Stripe + PayPal — providerseitig konfigurierbar (Keys/Webhook-Secret/Mode via MC addon-config, nie im Manifest) und auch für MCs eigene Abrechnung (Phase Q, ADR-023) nutzbar. Lokale SQLite ist die Quelle der Wahrheit; ohne konfigurierten Provider läuft das Addon graceful im Lesemodus — KEIN Geld ohne Owner-Keys. Webhooks sind signaturverifiziert. Money-Stufe-1 (ADR-039).",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "invoices",
        "subscriptions",
        "payment-links",
        "dunning",
        "payment-providers",
        "webhooks",
        "mc-billing"
      ],
      "download": "/artifacts/payments-1.0.0.zip",
      "sha256": "9300379aefcebbdfa7ae9556f9a341ec97554d67e18e55f972550c6c3c700ee0",
      "size": 242461,
      "page": {
        "id": "payments-page",
        "path": "/addons/payments",
        "name": "Payments",
        "icon": "💳",
        "section": "Money",
        "component": "@addons/payments/src/page"
      },
      "endpoints": [
        "/api/v1/addons/payments/status",
        "/api/v1/addons/payments/invoices",
        "/api/v1/addons/payments/invoices/:id",
        "/api/v1/addons/payments/subscriptions",
        "/api/v1/addons/payments/subscriptions/:id",
        "/api/v1/addons/payments/payment-links",
        "/api/v1/addons/payments/payment-links/:id",
        "/api/v1/addons/payments/dunning",
        "/api/v1/addons/payments/webhooks/:provider",
        "/api/v1/addons/payments/widget"
      ]
    },
    {
      "id": "polymarket",
      "name": "Polymarket",
      "version": "1.0.0",
      "description": "Prediction market addon with market discovery, positions, open orders, and direct order placement via the official Polymarket CLOB client.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "prediction-markets",
        "market-discovery",
        "positions",
        "orders",
        "trading"
      ],
      "download": "/artifacts/polymarket-1.0.0.zip",
      "sha256": "25eb6a89f50387dc864a086b059eb7a2220c8d88174debceabba6bac2d3c5fa5",
      "size": 90704,
      "page": {
        "path": "/addons/polymarket",
        "name": "Polymarket",
        "icon": "🎯",
        "section": "Finance",
        "component": "@addons/polymarket/src/components/PolymarketPage"
      },
      "endpoints": [
        "/api/v1/addons/polymarket",
        "/api/v1/addons/polymarket/status",
        "/api/v1/addons/polymarket/config",
        "/api/v1/addons/polymarket/markets",
        "/api/v1/addons/polymarket/book",
        "/api/v1/addons/polymarket/positions",
        "/api/v1/addons/polymarket/orders"
      ]
    },
    {
      "id": "project-management",
      "name": "Project Management",
      "version": "1.0.0",
      "description": "DEPRECATED (merged into task-board / Projects & Tasks, ADR-008): Project management pages and project-scoped APIs as an installable addon. Routes are thin re-export shims; logic now lives under the task-board addon.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "projects",
        "project-management"
      ],
      "download": "/artifacts/project-management-1.0.0.zip",
      "sha256": "8cdaabea1b3833464b6199b9177929457026ce0d04177664568595ffc7a2661b",
      "size": 41909,
      "page": [
        {
          "id": "projects",
          "path": "/projects",
          "name": "Projects",
          "icon": "📁",
          "section": "Work",
          "component": "@addons/task-board/src/components/project-management/projects/CoreProjectsPage"
        }
      ],
      "endpoints": [
        "/api/v1/addons/project-management",
        "/api/v1/addons/project-management/categories",
        "/api/v1/addons/project-management/create",
        "/api/v1/addons/project-management/import",
        "/api/v1/addons/project-management/sync",
        "/api/v1/addons/project-management/tags",
        "/api/v1/addons/project-management/templates",
        "/api/v1/addons/project-management/{id}",
        "/api/v1/addons/project-management/{id}/activity",
        "/api/v1/addons/project-management/{id}/archive",
        "/api/v1/addons/project-management/{id}/export",
        "/api/v1/addons/project-management/{id}/members",
        "/api/v1/addons/project-management/{id}/settings",
        "/api/v1/addons/project-management/{id}/stats",
        "/api/v1/addons/project-management/{id}/tags",
        "/api/v1/addons/project-management/{id}/tasks",
        "/api/v1/addons/project-management/projects",
        "/api/v1/addons/project-management/projects/{id}"
      ]
    },
    {
      "id": "proxmox",
      "name": "Proxmox VE",
      "version": "1.0.0",
      "description": "Control Proxmox VE — start/stop/shutdown/reboot VMs and LXC containers, node overview and cluster resources via the Proxmox API.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "node-overview",
        "vm-control",
        "lxc-control",
        "cluster-resources",
        "connection-config"
      ],
      "download": "/artifacts/proxmox-1.0.0.zip",
      "sha256": "79c11a48c3eff57ceff68e4473b9ed032c6939937ab4e6bde4eff5a9cd6e1c17",
      "size": 91071,
      "page": {
        "id": "proxmox-page",
        "path": "/addons/proxmox",
        "name": "Proxmox VE",
        "icon": "🖥️",
        "section": "Tools",
        "component": "@addons/proxmox/src/components/ProxmoxPage"
      },
      "endpoints": [
        "/api/v1/addons/proxmox/status",
        "/api/v1/addons/proxmox/nodes",
        "/api/v1/addons/proxmox/resources",
        "/api/v1/addons/proxmox/nodes/:node/qemu",
        "/api/v1/addons/proxmox/nodes/:node/qemu/:vmid/status",
        "/api/v1/addons/proxmox/nodes/:node/qemu/:vmid/start",
        "/api/v1/addons/proxmox/nodes/:node/qemu/:vmid/stop",
        "/api/v1/addons/proxmox/nodes/:node/qemu/:vmid/shutdown",
        "/api/v1/addons/proxmox/nodes/:node/qemu/:vmid/reboot",
        "/api/v1/addons/proxmox/nodes/:node/lxc",
        "/api/v1/addons/proxmox/nodes/:node/lxc/:vmid/status",
        "/api/v1/addons/proxmox/nodes/:node/lxc/:vmid/start",
        "/api/v1/addons/proxmox/nodes/:node/lxc/:vmid/stop",
        "/api/v1/addons/proxmox/nodes/:node/lxc/:vmid/shutdown",
        "/api/v1/addons/proxmox/nodes/:node/lxc/:vmid/reboot",
        "/api/v1/addons/proxmox/config",
        "/api/v1/addons/proxmox/test"
      ]
    },
    {
      "id": "real-estate-investor",
      "name": "Real Estate Investor",
      "version": "1.0.0",
      "description": "Tracks investment property leads from IMAP and external market sources, calculates deal metrics, and ranks opportunities by configurable scoring.",
      "author": "Mission Control",
      "icon": "🏘️",
      "capabilities": [
        "real-estate-tracking",
        "imap-ingest",
        "market-comparison",
        "deal-scoring",
        "investment-analysis"
      ],
      "download": "/artifacts/real-estate-investor-1.0.0.zip",
      "sha256": "35a77e6b746df6a14905abf16569b12efce64e6b60acb0d86ccd69513815ac1b",
      "size": 112864,
      "page": {
        "id": "real-estate-investor",
        "name": "Real Estate Investor",
        "path": "/addons/real-estate-investor",
        "icon": "🏘️",
        "section": "Finance",
        "component": "@addons/real-estate-investor/src/components/RealEstateInvestorPage"
      },
      "endpoints": [
        "/api/v1/addons/real-estate-investor/status",
        "/api/v1/addons/real-estate-investor/config",
        "/api/v1/addons/real-estate-investor/regions",
        "/api/v1/addons/real-estate-investor/sources",
        "/api/v1/addons/real-estate-investor/sync/mail",
        "/api/v1/addons/real-estate-investor/sync/market",
        "/api/v1/addons/real-estate-investor/candidates",
        "/api/v1/addons/real-estate-investor/candidates/:id/promote",
        "/api/v1/addons/real-estate-investor/objects",
        "/api/v1/addons/real-estate-investor/objects/:id"
      ]
    },
    {
      "id": "research-tools",
      "name": "Research Tools",
      "version": "1.0.0",
      "description": "Web search (Brave Search API), web fetch/URL extraction, image analysis (ZAI Vision), and PDF analysis (ZAI PDF) for Mission Control.",
      "author": "Mission Control",
      "icon": "🔬",
      "capabilities": [
        "research",
        "web-search",
        "web-fetch",
        "image-analysis",
        "pdf-analysis"
      ],
      "download": "/artifacts/research-tools-1.0.0.zip",
      "sha256": "2277493e2d348a232cad66780190cb37894cfddf74943addd5fac66108801e14",
      "size": 35309,
      "page": {
        "id": "research",
        "path": "/addons/research",
        "name": "Research",
        "icon": "🔬",
        "section": "Tools",
        "component": "@addons/research-tools/src/pages/research/page"
      },
      "endpoints": []
    },
    {
      "id": "seo-content",
      "name": "SEO Content Engine",
      "version": "1.0.0",
      "description": "Keyword → AI draft → on-page optimize → publish pipeline plus rank tracking. Research goes through the websearch addon, AI drafting through the MC gateway, publishing through the wordpress addon (all via MC-API); the rank-tracker SEO-data provider is an external SaaS reached with the owner's API key from MC-config (no container, ADR-014).",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "seo-keyword-research",
        "seo-article-generation",
        "seo-on-page-analysis",
        "seo-publishing",
        "seo-rank-tracking"
      ],
      "download": "/artifacts/seo-content-1.0.0.zip",
      "sha256": "c3253e61aee12ff5ed3f0359fe24130963bd4c4746fa0c931595ec3cafee4a94",
      "size": 150777,
      "page": {
        "id": "seo-content-page",
        "path": "/addons/seo-content",
        "name": "SEO Content Engine",
        "icon": "📈",
        "section": "Money",
        "component": "@addons/seo-content/src/page"
      },
      "endpoints": [
        "/api/v1/addons/seo-content/status",
        "/api/v1/addons/seo-content/keywords",
        "/api/v1/addons/seo-content/articles",
        "/api/v1/addons/seo-content/articles/:id",
        "/api/v1/addons/seo-content/articles/:id/optimize",
        "/api/v1/addons/seo-content/articles/:id/publish",
        "/api/v1/addons/seo-content/rankings",
        "/api/v1/addons/seo-content/widget"
      ]
    },
    {
      "id": "shopify",
      "name": "Shopify",
      "version": "1.0.0",
      "description": "Commerce channel: sync products, stock & orders from your Shopify shop via the Admin API (external SaaS). Each user brings their own access token (BYOK) stored per-user through the scoped data-access layer (ADR-054); no secret is hard-coded or logged and there is no container. Sync is always an explicit call.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "commerce-shopify",
        "shopify-products",
        "shopify-stock",
        "shopify-orders",
        "shopify-sync"
      ],
      "download": "/artifacts/shopify-1.0.0.zip",
      "sha256": "5f50c171bd773df1aa5c89e0f40889447ee84d878568cb53fca97b9efc47a863",
      "size": 79519,
      "page": {
        "id": "shopify-page",
        "path": "/addons/shopify",
        "name": "Shopify",
        "icon": "🛍️",
        "section": "Money",
        "component": "@addons/shopify/src/page"
      },
      "endpoints": [
        "/api/v1/addons/shopify/status",
        "/api/v1/addons/shopify/config",
        "/api/v1/addons/shopify/products",
        "/api/v1/addons/shopify/stock",
        "/api/v1/addons/shopify/orders",
        "/api/v1/addons/shopify/sync"
      ]
    },
    {
      "id": "skills",
      "name": "Skills",
      "version": "1.0.0",
      "description": "Skill catalog, local skill management, ClawHub integration, and dynamic skill generation helpers.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "skills",
        "clawhub",
        "skill-repository",
        "dynamic-skills"
      ],
      "download": "/artifacts/skills-1.0.0.zip",
      "sha256": "a7367c9c4d5af4b1aeec6a4014314a73919b933064ac37f18e39689d3b171aae",
      "size": 203051,
      "page": {
        "id": "skills",
        "path": "/addons/skills",
        "name": "Skills",
        "icon": "🧩",
        "section": "Agents",
        "component": "@addons/skills/src/components/skills/SkillsPage"
      },
      "endpoints": [
        "/api/v1/addons/skills",
        "/api/v1/addons/skills/clawhub",
        "/api/v1/addons/skills/repository"
      ]
    },
    {
      "id": "social-media",
      "name": "Social Media (Planung & Posting)",
      "version": "1.0.0",
      "description": "Multi-Plattform-Planung und -Posting (Mastodon voll implementiert; X/Instagram/Facebook/LinkedIn über die gleiche Connector-Schnittstelle, sobald die Owner-OAuth-Apps konfiguriert sind), KI-gestützte Captions über den MC-Gateway, Redaktionskalender und Basis-Analytics. Lokale SQLite ist die Quelle der Wahrheit; ohne verbundene Plattform meldet ein Post graceful ein 400 ('zuerst eine Plattform verbinden'), nie ein 500 und nie ein stilles No-op. Plattform-Tokens nur via MC-Config, maskiert, nie geloggt. KI-Vorschläge werden dem Nutzer angezeigt, nie automatisch gepostet. ADR-043.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "multi-platform-posting",
        "scheduling",
        "editorial-calendar",
        "ai-captions",
        "basic-analytics",
        "mastodon"
      ],
      "download": "/artifacts/social-media-1.0.0.zip",
      "sha256": "c632898e15edef689b36b51128259e9dad6efa85b1dc1e50420596c6e2ef6349",
      "size": 88335,
      "page": {
        "id": "social-media-page",
        "path": "/addons/social-media",
        "name": "Social Media",
        "icon": "📱",
        "section": "Money",
        "component": "@addons/social-media/src/page"
      },
      "endpoints": [
        "/api/v1/addons/social-media/status",
        "/api/v1/addons/social-media/accounts",
        "/api/v1/addons/social-media/accounts/:id",
        "/api/v1/addons/social-media/posts",
        "/api/v1/addons/social-media/posts/:id",
        "/api/v1/addons/social-media/posts/:id/publish",
        "/api/v1/addons/social-media/scheduled/run-due",
        "/api/v1/addons/social-media/ai/caption",
        "/api/v1/addons/social-media/widget"
      ]
    },
    {
      "id": "task-board",
      "name": "Projects & Tasks",
      "version": "2.0.0",
      "description": "Canonical Projects & Tasks addon (ADR-008): task board + kanban plus the project-management surface (projects, members, tags, templates, stats) absorbed under task-board/project-management/*. Old /api/v1/addons/project-management/* paths keep working via re-export shims.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "tasks",
        "kanban",
        "projects",
        "project-management"
      ],
      "download": "/artifacts/task-board-2.0.0.zip",
      "sha256": "83591169656cfc54e525b1b252942be5d30b270cf537425c1baa86823e63298a",
      "size": 366891,
      "page": [
        {
          "id": "tasks",
          "path": "/tasks",
          "name": "Tasks",
          "icon": "📋",
          "section": "Work",
          "component": "@addons/task-board/src/components/tasks/TasksPage"
        }
      ],
      "endpoints": [
        "/api/v1/addons/task-board",
        "/api/v1/addons/task-board/search",
        "/api/v1/addons/task-board/templates",
        "/api/v1/addons/task-board/{id}",
        "/api/v1/addons/task-board/{id}/attachments",
        "/api/v1/addons/task-board/{id}/comments",
        "/api/v1/addons/task-board/{id}/dependencies",
        "/api/v1/addons/task-board/{id}/subtasks",
        "/api/v1/addons/task-board/{id}/time",
        "/api/v1/addons/task-board/tasks",
        "/api/v1/addons/task-board/tasks/{id}",
        "/api/v1/addons/task-board/tasks/search",
        "/api/v1/addons/task-board/kanban/boards",
        "/api/v1/addons/task-board/kanban/{boardId}/analytics",
        "/api/v1/addons/task-board/kanban/{boardId}/columns",
        "/api/v1/addons/task-board/kanban/{boardId}/export",
        "/api/v1/addons/task-board/kanban/{boardId}/swimlanes",
        "/api/v1/addons/task-board/comments/destinations",
        "/api/v1/addons/task-board/project-management",
        "/api/v1/addons/task-board/project-management/categories",
        "/api/v1/addons/task-board/project-management/create",
        "/api/v1/addons/task-board/project-management/import",
        "/api/v1/addons/task-board/project-management/sync",
        "/api/v1/addons/task-board/project-management/tags",
        "/api/v1/addons/task-board/project-management/templates",
        "/api/v1/addons/task-board/project-management/{id}",
        "/api/v1/addons/task-board/project-management/{id}/activity",
        "/api/v1/addons/task-board/project-management/{id}/archive",
        "/api/v1/addons/task-board/project-management/{id}/export",
        "/api/v1/addons/task-board/project-management/{id}/members",
        "/api/v1/addons/task-board/project-management/{id}/settings",
        "/api/v1/addons/task-board/project-management/{id}/stats",
        "/api/v1/addons/task-board/project-management/{id}/tags",
        "/api/v1/addons/task-board/project-management/{id}/tasks",
        "/api/v1/addons/task-board/project-management/projects",
        "/api/v1/addons/task-board/project-management/projects/{id}"
      ]
    },
    {
      "id": "trading",
      "name": "trading",
      "version": "1.0.0",
      "description": "Hyperliquid trading extension with real-time orders, positions, journal, workflow automation, and self-contained market research tooling",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "trading",
        "orders",
        "positions",
        "journal",
        "autotrading",
        "strategy-automation",
        "risk-management",
        "research",
        "workflow"
      ],
      "download": "/artifacts/trading-1.0.0.zip",
      "sha256": "a84c9128d2411c49169ea066d443f11ae1962c4b4601e9998e62a5a499713308",
      "size": 794003,
      "page": {
        "path": "/addons/trading",
        "name": "Trading",
        "icon": "📊",
        "section": "Finance",
        "component": "@addons/trading/src/components/TradingPage"
      },
      "endpoints": [
        "/api/v1/addons/trading/config",
        "/api/v1/addons/trading/settings",
        "/api/v1/addons/trading/strategies",
        "/api/v1/addons/trading/strategies/preview",
        "/api/v1/addons/trading/strategies/ladder",
        "/api/v1/addons/trading/positions",
        "/api/v1/addons/trading/orders",
        "/api/v1/addons/trading/journal",
        "/api/v1/addons/trading/stats",
        "/api/v1/addons/trading/autotrading",
        "/api/v1/addons/trading/hyperliquid",
        "/api/v1/addons/trading/analyze",
        "/api/v1/addons/trading/buy",
        "/api/v1/addons/trading/sell",
        "/api/v1/addons/trading/close",
        "/api/v1/addons/trading/stop-loss",
        "/api/v1/addons/trading/sl",
        "/api/v1/addons/trading/charts",
        "/api/v1/addons/trading/status",
        "/api/v1/addons/trading/history",
        "/api/v1/addons/trading/risk",
        "/api/v1/addons/trading/account",
        "/api/v1/addons/trading/lessons",
        "/api/v1/addons/trading/research/search",
        "/api/v1/addons/trading/research/fetch",
        "/api/v1/addons/trading/workflow",
        "/api/v1/addons/trading/workflow/run",
        "/api/v1/addons/trading/workflow-config",
        "/api/v1/addons/trading/market/{category}"
      ]
    },
    {
      "id": "trend-radar",
      "name": "Trend Radar",
      "version": "1.0.0",
      "description": "DEPRECATED (merged into websearch / Research, ADR-008): Scans Google News for topic momentum, stores watchlists, and surfaces alert-worthy signals for proactive agent workflows.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "trend-scanning",
        "watchlists",
        "news-monitoring",
        "alert-signals",
        "topic-velocity"
      ],
      "download": "/artifacts/trend-radar-1.0.0.zip",
      "sha256": "fa431b2e3951dee8d09632c3e03fef28a56f2c6f87ad28bbf2c6bee82d29d7f5",
      "size": 6292,
      "page": null,
      "endpoints": [
        "/api/v1/addons/trend-radar/status",
        "/api/v1/addons/trend-radar/news",
        "/api/v1/addons/trend-radar/scan",
        "/api/v1/addons/trend-radar/watchlists",
        "/api/v1/addons/trend-radar/watchlists/:id/run"
      ]
    },
    {
      "id": "trip-planner",
      "name": "Trip-Planner (Reisen: Etappen/Unterkünfte/POIs/Packliste/Budget/Karte)",
      "version": "1.0.0",
      "description": "Per-User Reisen: Trips mit Etappen (Timeline), Unterkünften, POIs, Packliste, pro-Trip Budget (Rollup aus Etappen + Unterkünften) und einer Karte. Lokale SQLite ist die Quelle der Wahrheit (ADR-054).",
      "author": "Mission Control",
      "icon": "🧳",
      "capabilities": [
        "trip-planner",
        "trips",
        "stages",
        "accommodations",
        "pois",
        "packing",
        "budget",
        "map"
      ],
      "download": "/artifacts/trip-planner-1.0.0.zip",
      "sha256": "617af8cd618f4784bc93e8dca080577eff611f77e0bbcd90042ed496e4eb66c9",
      "size": 120542,
      "page": {
        "id": "trip-planner-page",
        "path": "/addons/trip-planner",
        "name": "Trip-Planner",
        "icon": "🧳",
        "section": "Tools",
        "component": "@addons/trip-planner/src/components/TripPlannerPage"
      },
      "endpoints": [
        "/api/v1/addons/trip-planner/trips",
        "/api/v1/addons/trip-planner/trips/:id",
        "/api/v1/addons/trip-planner/stages",
        "/api/v1/addons/trip-planner/stages/:id",
        "/api/v1/addons/trip-planner/accommodations",
        "/api/v1/addons/trip-planner/accommodations/:id",
        "/api/v1/addons/trip-planner/pois",
        "/api/v1/addons/trip-planner/pois/:id",
        "/api/v1/addons/trip-planner/packing",
        "/api/v1/addons/trip-planner/packing/:id",
        "/api/v1/addons/trip-planner/budget"
      ]
    },
    {
      "id": "voice",
      "name": "Voice",
      "version": "1.0.0",
      "description": "Unified voice addon combining Text-to-Speech and Speech-to-Text with multiple backend support.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "tts",
        "stt",
        "voice",
        "audio"
      ],
      "download": "/artifacts/voice-1.0.0.zip",
      "sha256": "81d5632e667dcb506aa4fa5c155282daf52f50d216bbc07e06d2ae7ddedcb81e",
      "size": 103872,
      "page": {
        "path": "/addons/voice",
        "name": "Voice",
        "icon": "🎤",
        "section": "Settings",
        "component": "@addons/voice/src/ui/VoiceSettings"
      },
      "endpoints": [
        "/api/v1/addons/voice/health",
        "/api/v1/addons/voice/status",
        "/api/v1/addons/voice/start",
        "/api/v1/addons/voice/stop",
        "/api/v1/addons/voice/synthesize",
        "/api/v1/addons/voice/transcribe",
        "/api/v1/addons/voice/voices",
        "/api/v1/addons/voice/backends",
        "/api/v1/addons/voice/backend/switch",
        "/api/v1/addons/voice/settings",
        "/api/v1/addons/voice/tools/synthesize",
        "/api/v1/addons/voice/tools/transcribe",
        "/api/v1/addons/voice/tools/voice-proxy",
        "/api/v1/addons/voice/tools/voice-reply",
        "/api/v1/addons/voice/tools/voice-reply-external"
      ]
    },
    {
      "id": "websearch",
      "name": "Research",
      "version": "2.0.0",
      "description": "Unified research capability: web search (Brave, ZAI, Google, SearXNG) for chat agents, plus trend radar, briefing studio, and YouTube intelligence. Consolidates websearch + trend-radar + briefing-studio + youtube-intelligence (ADR-008).",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "search",
        "web-search",
        "multi-provider",
        "brave-search",
        "zai-search",
        "google-search",
        "searxng",
        "trend-scanning",
        "watchlists",
        "news-monitoring",
        "briefing-generation",
        "script-framing",
        "youtube-analysis",
        "transcript-analysis",
        "content-ideation",
        "title-patterns"
      ],
      "download": "/artifacts/websearch-2.0.0.zip",
      "sha256": "a5e81072eb059b35a33c258d3c40db3a4b2b667cecc29715a21d939a08aa67a9",
      "size": 109553,
      "page": {
        "path": "/addons/websearch",
        "name": "Research",
        "icon": "🔍",
        "section": "Tools",
        "component": "@addons/websearch/src/components/WebSearchSettings"
      },
      "endpoints": [
        "/api/v1/addons/websearch/search",
        "/api/v1/addons/websearch/zread",
        "/api/v1/addons/websearch/settings",
        "/api/v1/addons/websearch/status",
        "/api/v1/addons/websearch/providers",
        "/api/v1/addons/websearch/trend-radar/status",
        "/api/v1/addons/websearch/trend-radar/news",
        "/api/v1/addons/websearch/trend-radar/scan",
        "/api/v1/addons/websearch/trend-radar/watchlists",
        "/api/v1/addons/websearch/trend-radar/watchlists/:id/run",
        "/api/v1/addons/websearch/briefing-studio/status",
        "/api/v1/addons/websearch/briefing-studio/research",
        "/api/v1/addons/websearch/briefing-studio/script-frame",
        "/api/v1/addons/websearch/youtube-intelligence/status",
        "/api/v1/addons/websearch/youtube-intelligence/channel/analyze",
        "/api/v1/addons/websearch/youtube-intelligence/video/transcript",
        "/api/v1/addons/websearch/youtube-intelligence/patterns",
        "/api/v1/addons/websearch/youtube-intelligence/ideas"
      ]
    },
    {
      "id": "white-label",
      "name": "White-Label & Business-Packs",
      "version": "1.0.0",
      "description": "Rebrand the instance (app name, logo, accent color, login tagline, powered-by toggle) with SAFE DEFAULTS so an unconfigured instance is visually unchanged, and apply business-packs — named bundles of addons + agent templates that set up a business vertical in a few clicks by reusing the existing enable/instantiate primitives (Phase K / Phase A). FULL white-label (OD #34/#35/#36): upload a brand LOGO (magic-byte validated, size-capped, registry-free storage under DATA_DIR, served via the addon and wired into the core logo URL); the custom-branding capability is TIER-GATED via the #119 licensing scaffold (graceful fallback to default MC branding + upgrade hint on a non-entitled tier); and a per-customer CUSTOM-DOMAIN config + status is stored (actual TLS cert issuance + DNS remain owner/infra at the reverse-proxy). Branding lives in core app_settings (a sibling of provisioning, ADR-020); the shell + login read it via the public GET /api/v1/branding and the accent threads through var(--color-accent*). Admin-gated; writes entitlement-gated; pack apply safe + idempotent. No container, no external calls (ADR-009, ADR-027).",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "white-label-branding",
        "white-label-business-packs"
      ],
      "download": "/artifacts/white-label-1.0.0.zip",
      "sha256": "8400c55e48ebe39abda9a4ced20e2a206545076f8dab13bea3c57166871fff36",
      "size": 195511,
      "page": {
        "id": "white-label-page",
        "path": "/addons/white-label",
        "name": "White-Label",
        "icon": "🏷️",
        "section": "Admin",
        "component": "@addons/white-label/src/page"
      },
      "endpoints": [
        "/api/v1/addons/white-label/status",
        "/api/v1/addons/white-label/branding",
        "/api/v1/addons/white-label/packs",
        "/api/v1/addons/white-label/packs/:id/apply",
        "/api/v1/addons/white-label/widget",
        "/api/v1/addons/white-label/logo",
        "/api/v1/addons/white-label/config"
      ]
    },
    {
      "id": "wordpress",
      "name": "WordPress & WooCommerce",
      "version": "1.0.0",
      "description": "Create and manage WordPress sites and WooCommerce shops — pages, posts, themes, menus, products, orders, coupons and customers — agent- and web-usable. Dual-mode (INBOX-63): connect an EXISTING WordPress+WooCommerce site, or run the MC-managed container (ADR-009/ADR-010).",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "wordpress-sites",
        "wordpress-pages",
        "wordpress-posts",
        "wordpress-themes",
        "wordpress-menus",
        "woocommerce-products",
        "woocommerce-orders",
        "woocommerce-coupons",
        "woocommerce-customers"
      ],
      "download": "/artifacts/wordpress-1.0.0.zip",
      "sha256": "a7a52cfc659f27a08726079cae5d41531db0f4b90c641f5824342c45243092c2",
      "size": 131838,
      "page": {
        "id": "wordpress-page",
        "path": "/addons/wordpress",
        "name": "WordPress & WooCommerce",
        "icon": "🛍️",
        "section": "Tools",
        "component": "@addons/wordpress/src/page"
      },
      "endpoints": [
        "/api/v1/addons/wordpress/status",
        "/api/v1/addons/wordpress/config",
        "/api/v1/addons/wordpress/test",
        "/api/v1/addons/wordpress/sites",
        "/api/v1/addons/wordpress/pages",
        "/api/v1/addons/wordpress/posts",
        "/api/v1/addons/wordpress/themes",
        "/api/v1/addons/wordpress/menus",
        "/api/v1/addons/wordpress/products",
        "/api/v1/addons/wordpress/products/:id",
        "/api/v1/addons/wordpress/orders",
        "/api/v1/addons/wordpress/orders/:id",
        "/api/v1/addons/wordpress/coupons",
        "/api/v1/addons/wordpress/customers"
      ]
    },
    {
      "id": "workflow-builder",
      "name": "Workflow / Automation Builder",
      "version": "1.0.0",
      "description": "Define automations (a trigger + ordered steps) that Mission Control runs server-side — an n8n-lite scoped to this platform. Triggers: manual, schedule (interval), webhook (tokened inbound URL), event. Step types: http (same-origin MC API call), agent (run an MC agent via the gateway), condition, delay. Steps thread prior-step output via {{stepN.field}}; the engine enforces a same-origin allow-list (never external services, never eval) and persists run history. No container (ADR-024).",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "workflow-definitions",
        "workflow-execution",
        "workflow-triggers",
        "workflow-run-history",
        "workflow-webhooks"
      ],
      "download": "/artifacts/workflow-builder-1.0.0.zip",
      "sha256": "afd7543cee9ea9ecde7046e8da0992003549b7d6a2b4e3a4ef6a87a61077b9ba",
      "size": 184537,
      "page": {
        "id": "workflow-builder-page",
        "path": "/addons/workflow-builder",
        "name": "Workflow Builder",
        "icon": "🔀",
        "section": "Automation",
        "component": "@addons/workflow-builder/src/page"
      },
      "endpoints": [
        "/api/v1/addons/workflow-builder/status",
        "/api/v1/addons/workflow-builder/workflows",
        "/api/v1/addons/workflow-builder/workflows/:id",
        "/api/v1/addons/workflow-builder/workflows/:id/run",
        "/api/v1/addons/workflow-builder/workflows/:id/runs",
        "/api/v1/addons/workflow-builder/workflows/:id/webhook",
        "/api/v1/addons/workflow-builder/widget",
        "/api/v1/addons/workflow-builder/widget-runs",
        "/api/v1/addons/workflow-builder/widget-link"
      ]
    },
    {
      "id": "youtube-intelligence",
      "name": "YouTube Intelligence",
      "version": "1.0.0",
      "description": "DEPRECATED (merged into websearch / Research, ADR-008): Analyzes YouTube channels, transcripts, recurring title mechanics, and topic opportunities for creator workflows.",
      "author": "Mission Control",
      "icon": "🧩",
      "capabilities": [
        "youtube-analysis",
        "transcript-analysis",
        "content-ideation",
        "title-patterns",
        "creator-research"
      ],
      "download": "/artifacts/youtube-intelligence-1.0.0.zip",
      "sha256": "456e676aed8bacb969b14b3827f71730fd8c65f9239cdd6305e33a04e3e24bdf",
      "size": 7321,
      "page": null,
      "endpoints": [
        "/api/v1/addons/youtube-intelligence/status",
        "/api/v1/addons/youtube-intelligence/channel/analyze",
        "/api/v1/addons/youtube-intelligence/video/transcript",
        "/api/v1/addons/youtube-intelligence/patterns",
        "/api/v1/addons/youtube-intelligence/ideas"
      ]
    }
  ]
}
