{
  "id": "acpx",
  "enabledByDefault": true,
  "name": "ACPX Runtime",
  "description": "Embedded ACP runtime backend with plugin-owned session and transport management.",
  "skills": ["./skills"],
  "configSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "cwd": {
        "type": "string",
        "minLength": 1
      },
      "stateDir": {
        "type": "string",
        "minLength": 1
      },
      "permissionMode": {
        "type": "string",
        "enum": ["approve-all", "approve-reads", "deny-all"]
      },
      "nonInteractivePermissions": {
        "type": "string",
        "enum": ["deny", "fail"]
      },
      "pluginToolsMcpBridge": {
        "type": "boolean"
      },
      "strictWindowsCmdWrapper": {
        "type": "boolean"
      },
      "timeoutSeconds": {
        "type": "number",
        "minimum": 0.001,
        "default": 120
      },
      "queueOwnerTtlSeconds": {
        "type": "number",
        "minimum": 0
      },
      "mcpServers": {
        "type": "object",
        "additionalProperties": {
          "type": "object",
          "properties": {
            "command": {
              "type": "string",
              "minLength": 1,
              "description": "Command to run the MCP server"
            },
            "args": {
              "type": "array",
              "items": { "type": "string" },
              "description": "Arguments to pass to the command"
            },
            "env": {
              "type": "object",
              "additionalProperties": { "type": "string" },
              "description": "Environment variables for the MCP server"
            }
          },
          "required": ["command"]
        }
      },
      "agents": {
        "type": "object",
        "additionalProperties": {
          "type": "object",
          "properties": {
            "command": {
              "type": "string",
              "minLength": 1
            }
          },
          "required": ["command"]
        }
      }
    }
  },
  "uiHints": {
    "cwd": {
      "label": "Default Working Directory",
      "help": "Default working directory for embedded ACP session operations when not set per session."
    },
    "stateDir": {
      "label": "State Directory",
      "help": "Directory used for embedded ACP session state and persistence."
    },
    "permissionMode": {
      "label": "Permission Mode",
      "help": "Default permission policy for embedded ACP runtime prompts."
    },
    "nonInteractivePermissions": {
      "label": "Non-Interactive Permission Policy",
      "help": "Policy when interactive permission prompts are unavailable."
    },
    "pluginToolsMcpBridge": {
      "label": "Plugin Tools MCP Bridge",
      "help": "Default off. When enabled, inject the built-in OpenClaw plugin-tools MCP server into embedded ACP sessions so ACP agents can call plugin-registered tools.",
      "advanced": true
    },
    "strictWindowsCmdWrapper": {
      "label": "Strict Windows cmd Wrapper",
      "help": "Legacy compatibility field. The current embedded acpx/runtime package uses its own Windows command resolution behavior. Setting this to false is accepted for compatibility and logged as ignored.",
      "advanced": true
    },
    "timeoutSeconds": {
      "label": "Prompt Timeout Seconds",
      "help": "Timeout for each embedded runtime turn. Defaults to 120 seconds so slower Gemini CLI ACP startups have room to initialize.",
      "advanced": true
    },
    "queueOwnerTtlSeconds": {
      "label": "Queue Owner TTL Seconds",
      "help": "Reserved compatibility field for the older embedded ACPX queue-owner path. Accepted for compatibility and logged as ignored.",
      "advanced": true
    },
    "mcpServers": {
      "label": "MCP Servers",
      "help": "Named MCP server definitions to inject into embedded ACP session bootstrap. Each entry needs a command and can include args and env.",
      "advanced": true
    },
    "agents": {
      "label": "Agent Commands",
      "help": "Optional per-agent command overrides for the embedded ACP runtime.",
      "advanced": true
    }
  },
  "configContracts": {
    "dangerousFlags": [
      {
        "path": "permissionMode",
        "equals": "approve-all"
      }
    ],
    "secretInputs": {
      "bundledDefaultEnabled": false,
      "paths": [
        {
          "path": "mcpServers.*.env.*",
          "expected": "string"
        }
      ]
    }
  }
}
