{
  "id": "a2a",
  "name": "A2A",
  "description": "A2A v1.0 Agent-to-Agent protocol channel plugin.",
  "activation": {
    "onStartup": false
  },
  "channels": [
    "a2a"
  ],
  "channelConfigs": {
    "a2a": {
      "schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "configWrites": {
            "type": "boolean"
          },
          "advertisedUrl": {
            "allOf": [
              {
                "type": "string",
                "format": "uri"
              },
              {
                "type": "string",
                "pattern": "^https?:\\/\\/"
              }
            ]
          },
          "replyTimeoutMs": {
            "type": "integer",
            "minimum": 5000,
            "maximum": 600000
          },
          "rateLimitPerMinute": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "exposeAgents": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "peers": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "token": {
                  "type": "string",
                  "minLength": 1
                },
                "url": {
                  "allOf": [
                    {
                      "type": "string",
                      "format": "uri"
                    },
                    {
                      "type": "string",
                      "pattern": "^https?:\\/\\/"
                    }
                  ]
                },
                "outboundToken": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "token"
              ],
              "additionalProperties": false
            }
          }
        },
        "additionalProperties": false
      },
      "label": "A2A",
      "description": "A2A peer authentication, discovery, and task delivery.",
      "uiHints": {
        "advertisedUrl": {
          "label": "Advertised Gateway URL",
          "help": "Public Gateway origin included in the A2A agent card."
        },
        "replyTimeoutMs": {
          "label": "Blocking Reply Timeout (ms)",
          "advanced": true
        },
        "rateLimitPerMinute": {
          "label": "Requests Per Peer Per Minute",
          "advanced": true
        },
        "exposeAgents": {
          "label": "Exposed Agent IDs"
        },
        "peers.*.token": {
          "label": "Inbound Bearer Token",
          "sensitive": true
        },
        "peers.*.outboundToken": {
          "label": "Outbound Bearer Token",
          "sensitive": true
        }
      }
    }
  },
  "configSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {}
  }
}
