{
  "id": "beam",
  "categories": [
    "developer-tools"
  ],
  "activation": {
    "onStartup": false,
    "onConfigPaths": [
      "plugins.entries.beam"
    ]
  },
  "configContracts": {
    "secretInputs": {
      "bundledDefaultEnabled": false,
      "paths": [
        {
          "path": "mirror.token",
          "expected": "string",
          "ownerKind": "capability"
        }
      ]
    }
  },
  "uiHints": {
    "mirror.endpoint": {
      "label": "Mirror Endpoint",
      "help": "Final Beam receiver URL, e.g. https://team.example.com/api/v1/beam/sessions. Redirects are not followed; retries pause until the service restarts or the endpoint changes."
    },
    "mirror.token": {
      "label": "Mirror Token",
      "help": "Gateway credential for the remote receiver, sent as a Bearer token.",
      "sensitive": true
    }
  },
  "configGroups": [
    {
      "id": "session-mirroring",
      "title": "Session mirroring",
      "order": 10,
      "properties": [
        "mirror"
      ]
    }
  ],
  "configSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "mirror": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "endpoint",
          "catalogs"
        ],
        "properties": {
          "endpoint": {
            "type": "string"
          },
          "token": {
            "type": [
              "string",
              "object"
            ]
          },
          "catalogs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "pollSeconds": {
            "type": "number"
          },
          "activeWindowMinutes": {
            "type": "number"
          }
        }
      }
    }
  }
}
