{
  "id": "opencode-bridge",
  "name": "OpenCode Bridge",
  "description": "Bridge plugin for OpenClaw ↔ OpenCode orchestration, execution routing, and callback observability.",
  "version": "0.1.6",
  "configSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "opencodeServerUrl": {
        "type": "string",
        "description": "Base URL of the OpenCode serve instance for this bridge."
      },
      "hookBaseUrl": {
        "type": "string",
        "description": "Base URL for OpenClaw callback delivery consumed by the OpenCode-side plugin."
      },
      "hookToken": {
        "type": "string",
        "description": "Bearer token for OpenClaw callback delivery consumed by the OpenCode-side plugin."
      },
      "projectRegistry": {
        "type": "array",
        "description": "Optional project-to-server registry entries.",
        "items": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "projectId": {
              "type": "string"
            },
            "repoRoot": {
              "type": "string"
            },
            "serverUrl": {
              "type": "string"
            },
            "idleTimeoutMs": {
              "type": "number"
            }
          },
          "required": [
            "projectId",
            "repoRoot",
            "serverUrl"
          ]
        }
      }
    }
  },
  "uiHints": {
    "opencodeServerUrl": {
      "label": "OpenCode Server URL",
      "placeholder": "http://127.0.0.1:4096"
    },
    "hookBaseUrl": {
      "label": "OpenClaw Hook Base URL",
      "placeholder": "http://127.0.0.1:18789"
    },
    "hookToken": {
      "label": "OpenClaw Hook Token"
    }
  }
}
