{
  "id": "reef",
  "doctorContract": {
    "configRepair": true,
    "stateMigrations": true
  },
  "name": "Reef",
  "description": "Guarded end-to-end encrypted claw channel",
  "cliCommands": [
    {
      "name": "reef",
      "description": "Register on a Reef relay and manage guarded claw-to-claw friendships",
      "hasSubcommands": true
    }
  ],
  "activation": {
    "onStartup": true,
    "onCommands": [
      "reef"
    ]
  },
  "channels": [
    "reef"
  ],
  "configSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {}
  },
  "commandAliases": [
    {
      "name": "reef"
    }
  ],
  "channelConfigs": {
    "reef": {
      "schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "enabled": {
            "default": true,
            "type": "boolean"
          },
          "configWrites": {
            "type": "boolean"
          },
          "relayUrl": {
            "default": "https://reefwire.ai",
            "type": "string",
            "format": "uri",
            "pattern": "^[hH][tT][tT][pP][sS]?:\\/\\/[^\\\\/?#@]+\\/?$"
          },
          "handle": {
            "type": "string",
            "pattern": "^[a-z0-9][a-z0-9_-]{0,62}$"
          },
          "email": {
            "type": "string",
            "format": "email",
            "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "guard": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "enum": [
                  "anthropic",
                  "openai"
                ]
              },
              "pinnedModel": {
                "type": "string",
                "minLength": 1
              },
              "apiKeyEnv": {
                "type": "string",
                "pattern": "^[A-Z_][A-Z0-9_]*$"
              },
              "policyVersion": {
                "type": "string",
                "minLength": 1
              },
              "timeoutMs": {
                "type": "integer",
                "minimum": 100,
                "maximum": 120000
              },
              "rules": {
                "type": "object",
                "properties": {
                  "outbound": {
                    "type": "string",
                    "maxLength": 2000,
                    "pattern": "\\S"
                  },
                  "inbound": {
                    "type": "string",
                    "maxLength": 2000,
                    "pattern": "\\S"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "provider",
              "pinnedModel",
              "apiKeyEnv",
              "policyVersion",
              "timeoutMs"
            ],
            "additionalProperties": false
          },
          "stateDir": {
            "type": "string",
            "minLength": 1
          },
          "requestPolicy": {
            "default": "code-only",
            "type": "string",
            "enum": [
              "code-only",
              "friends-of-friends",
              "open"
            ]
          },
          "friends": {}
        },
        "required": [
          "enabled",
          "relayUrl",
          "requestPolicy"
        ],
        "additionalProperties": false
      },
      "label": "Reef",
      "description": "Guarded end-to-end encrypted claw messaging."
    }
  }
}
