{
  "$schema": "https://json-schema.org/schema",
  "version": 2,
  "title": "ServeBot executor",
  "description": "Serve Botonic app with all processes (build, lambda, webchat, webviews) running in parallel with labeled output",
  "type": "object",
  "properties": {
    "configuration": {
      "type": "string",
      "description": "Configuration/environment to use. Defaults to 'prod' in generated workspaces; set defaultConfiguration: 'local' in project.json for development repos.",
      "enum": ["local", "dev", "dev2", "qa", "prod"]
    },
    "skipWebviews": {
      "type": "boolean",
      "description": "Skip starting the webviews server",
      "default": false
    },
    "skipLambda": {
      "type": "boolean",
      "description": "Skip starting the lambda server (useful if running lambda externally)",
      "default": false
    },
    "lambdaEndpoint": {
      "type": "string",
      "description": "Use an external Lambda endpoint (e.g. ngrok URL) instead of starting sam local start-lambda. When set, the Lambda server is not started (it is already running elsewhere). Also run deploy_local_runtime with this URL so the backend can invoke your Lambda."
    },
    "open": {
      "type": "boolean",
      "description": "Open browser for webchat dev server",
      "default": true
    },
    "tunnelPort": {
      "type": "number",
      "description": "Local port the Lambda listens on (used for cloudflared --url). Default 3001.",
      "default": 3001
    },
    "logViewerPort": {
      "type": "number",
      "description": "Port for the log viewer web interface",
      "default": 9001
    },
    "provider": {
      "type": "string",
      "description": "Channel provider to enable local routing for. Currently only 'whatsapp' is supported.",
      "enum": ["whatsapp"]
    },
    "phone": {
      "type": "string",
      "description": "Your phone number in E.164 format (e.g. +34612345678). Required when provider=whatsapp. Messages from this number will route to your local Lambda."
    },
    "botName": {
      "type": "string",
      "description": "Name of the Hubtype bot to use for local development. Skips the interactive bot-selection prompt."
    }
  },
  "required": []
}
