{
  "commands": {
    "env": {
      "aliases": [],
      "args": {
        "envVarName": {
          "description": "Environment variable name. Supported variables:\n\nABLY_API_KEY               API key for data plane commands\nABLY_TOKEN                 Token/JWT for data plane commands\nABLY_ACCESS_TOKEN          Access token for Control API commands\nABLY_ENDPOINT              Override Realtime/REST API endpoint\nABLY_APP_ID                Default app for --app flag\nABLY_CLI_CONFIG_DIR        Custom config directory\nABLY_HISTORY_FILE          Custom history file location\nABLY_CLI_DEFAULT_DURATION  Auto-exit long-running commands (seconds)\nABLY_CLI_NON_INTERACTIVE   Auto-confirm \"Did you mean?\" prompts",
          "name": "envVarName",
          "required": false
        }
      },
      "description": "Environment variables for authentication and configuration of default settings\n\nExplicitly set environment variables in your shell, CI/CD, or inline. They are not auto-loaded.",
      "examples": [
        "$ ably env ABLY_API_KEY",
        "$ ably env ABLY_TOKEN",
        "$ ably env ABLY_ACCESS_TOKEN",
        "$ ably env ABLY_ENDPOINT",
        "$ ably env ABLY_APP_ID",
        "$ ably env ABLY_CLI_CONFIG_DIR",
        "$ ably env ABLY_HISTORY_FILE",
        "$ ably env ABLY_CLI_DEFAULT_DURATION",
        "$ ably env ABLY_CLI_NON_INTERACTIVE",
        "$ ably env ABLY_API_KEY --json",
        "$ ably env ABLY_API_KEY --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "env",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "env.js"
      ]
    },
    "help": {
      "aliases": [],
      "args": {
        "commands": {
          "description": "Command to show help for",
          "name": "commands",
          "required": false
        }
      },
      "description": "Display help for ably",
      "examples": [
        "$ ably help",
        "$ ably help channels",
        "$ ably help channels publish"
      ],
      "flags": {
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "help",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "help.js"
      ]
    },
    "init": {
      "aliases": [],
      "args": {},
      "description": "Set up Ably for AI-powered development — authenticate and install Agent Skills",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --target claude-code",
        "<%= config.bin %> <%= command.id %> --target cursor --target windsurf",
        "<%= config.bin %> <%= command.id %> --target auto",
        "<%= config.bin %> <%= command.id %> --no-install",
        "<%= config.bin %> <%= command.id %> --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "target": {
          "char": "t",
          "description": "Target IDE(s) to install skills for",
          "name": "target",
          "default": [
            "auto"
          ],
          "hasDynamicHelp": false,
          "multiple": true,
          "options": [
            "auto",
            "claude-code",
            "cursor",
            "vscode",
            "windsurf"
          ],
          "type": "option"
        },
        "no-install": {
          "description": "Skip installing @ably/cli globally (only relevant when launched via npx)",
          "name": "no-install",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "init",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "init.js"
      ]
    },
    "interactive": {
      "aliases": [],
      "args": {},
      "description": "Launch interactive Ably shell (ALPHA - experimental feature)",
      "flags": {},
      "hasDynamicHelp": false,
      "hidden": true,
      "hiddenAliases": [],
      "id": "interactive",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "EXIT_CODE_USER_EXIT": 42,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "interactive.js"
      ]
    },
    "login": {
      "aliases": [],
      "args": {},
      "description": "Log in to your Ably account (alias for \"ably accounts login\")",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --alias mycompany",
        "<%= config.bin %> <%= command.id %> --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "endpoint": {
          "description": "Set a custom endpoint for all product API calls, stored in account config",
          "hidden": true,
          "name": "endpoint",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "alias": {
          "char": "a",
          "description": "Alias for this account (default account if not specified)",
          "name": "alias",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "no-browser": {
          "description": "Do not open a browser",
          "name": "no-browser",
          "allowNo": false,
          "type": "boolean"
        },
        "skip-logo": {
          "hidden": true,
          "name": "skip-logo",
          "allowNo": false,
          "type": "boolean"
        },
        "skip-completed-status": {
          "description": "Suppress the trailing JSON {status:'completed'} record. Used when this command is delegated to from another command (e.g. `init`) so the outer command's terminator is the only one in the stream.",
          "hidden": true,
          "name": "skip-completed-status",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "login",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "login.js"
      ]
    },
    "status": {
      "aliases": [],
      "args": {},
      "description": "Check the status of the Ably service",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "open": {
          "char": "o",
          "description": "Open the Ably status page in a browser",
          "name": "open",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "status",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "status.js"
      ]
    },
    "version": {
      "aliases": [],
      "args": {},
      "description": "Display CLI version information",
      "examples": [
        "<%= config.bin %> version",
        "<%= config.bin %> version --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hidden": true,
      "hiddenAliases": [],
      "id": "version",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "version.js"
      ]
    },
    "accounts:current": {
      "aliases": [],
      "args": {},
      "description": "Show the current Ably account",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --json",
        "<%= config.bin %> <%= command.id %> --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "accounts:current",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "accounts",
        "current.js"
      ]
    },
    "accounts": {
      "aliases": [],
      "args": {},
      "description": "Manage Ably accounts and your configured access tokens",
      "examples": [
        "$ ably accounts login",
        "$ ably accounts list",
        "$ ably accounts current",
        "$ ably accounts logout",
        "$ ably accounts switch my-account"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "accounts",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "accounts",
        "index.js"
      ]
    },
    "accounts:list": {
      "aliases": [],
      "args": {},
      "description": "List locally configured Ably accounts",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --json",
        "<%= config.bin %> <%= command.id %> --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "accounts:list",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "accounts",
        "list.js"
      ]
    },
    "accounts:login": {
      "aliases": [],
      "args": {},
      "description": "Log in to your Ably account",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --alias mycompany",
        "<%= config.bin %> <%= command.id %> --no-browser",
        "<%= config.bin %> <%= command.id %> --json",
        "<%= config.bin %> <%= command.id %> --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "endpoint": {
          "description": "Set a custom endpoint for all product API calls, stored in account config",
          "hidden": true,
          "name": "endpoint",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "alias": {
          "char": "a",
          "description": "Alias for this account (default account if not specified)",
          "name": "alias",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "no-browser": {
          "description": "Do not open a browser",
          "name": "no-browser",
          "allowNo": false,
          "type": "boolean"
        },
        "skip-logo": {
          "hidden": true,
          "name": "skip-logo",
          "allowNo": false,
          "type": "boolean"
        },
        "skip-completed-status": {
          "description": "Suppress the trailing JSON {status:'completed'} record. Used when this command is delegated to from another command (e.g. `init`) so the outer command's terminator is the only one in the stream.",
          "hidden": true,
          "name": "skip-completed-status",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "accounts:login",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "accounts",
        "login.js"
      ]
    },
    "accounts:logout": {
      "aliases": [],
      "args": {
        "accountAliasOrId": {
          "description": "Alias or ID of the account to log out from (defaults to current account)",
          "name": "accountAliasOrId",
          "required": false
        }
      },
      "description": "Log out from an Ably account",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> mycompany",
        "<%= config.bin %> <%= command.id %> VgQpOZ",
        "<%= config.bin %> <%= command.id %> --json",
        "<%= config.bin %> <%= command.id %> --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "accounts:logout",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "accounts",
        "logout.js"
      ]
    },
    "accounts:switch": {
      "aliases": [],
      "args": {
        "accountAliasOrId": {
          "description": "Alias or ID of the account to switch to",
          "name": "accountAliasOrId",
          "required": false
        }
      },
      "description": "Switch to a different Ably account",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> mycompany",
        "<%= config.bin %> <%= command.id %> VgQpOZ",
        "<%= config.bin %> <%= command.id %> --json",
        "<%= config.bin %> <%= command.id %> --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "endpoint": {
          "description": "Set a custom endpoint for all product API calls, stored in account config",
          "hidden": true,
          "name": "endpoint",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "accounts:switch",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "accounts",
        "switch.js"
      ]
    },
    "apps:create": {
      "aliases": [],
      "args": {
        "appName": {
          "description": "Name of the app",
          "name": "appName",
          "required": true
        }
      },
      "description": "Create a new app",
      "examples": [
        "$ ably apps create \"My New App\"",
        "$ ably apps create \"My New App\" --tls-only",
        "$ ably apps create \"My New App\" --json",
        "$ ABLY_ACCESS_TOKEN=\"YOUR_ACCESS_TOKEN\" ably apps create \"My New App\""
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-only": {
          "description": "Whether the app should accept TLS connections only",
          "name": "tls-only",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps:create",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "create.js"
      ]
    },
    "apps:current": {
      "aliases": [],
      "args": {},
      "description": "Show the currently selected app",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --json",
        "<%= config.bin %> <%= command.id %> --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps:current",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "current.js"
      ]
    },
    "apps:delete": {
      "aliases": [],
      "args": {
        "appId": {
          "description": "App ID to delete (uses current app if not specified)",
          "name": "appId",
          "required": false
        }
      },
      "description": "Delete an app",
      "examples": [
        "$ ably apps delete",
        "$ ably apps delete app-id",
        "$ ably apps delete --app app-id",
        "$ ABLY_ACCESS_TOKEN=\"YOUR_ACCESS_TOKEN\" ably apps delete app-id",
        "$ ably apps delete app-id --force",
        "$ ably apps delete app-id --json",
        "$ ably apps delete app-id --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "env": "ABLY_APP_ID",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps:delete",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "delete.js"
      ]
    },
    "apps": {
      "aliases": [],
      "args": {},
      "description": "Manage Ably apps",
      "examples": [
        "$ ably apps list",
        "$ ably apps create",
        "$ ably apps update",
        "$ ably apps delete",
        "$ ably apps rules list",
        "$ ably apps switch my-app"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "index.js"
      ]
    },
    "apps:list": {
      "aliases": [],
      "args": {},
      "description": "List all apps in the current account",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --json",
        "<%= config.bin %> <%= command.id %> --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps:list",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "list.js"
      ]
    },
    "apps:switch": {
      "aliases": [],
      "args": {
        "appNameOrId": {
          "description": "App name or ID to switch to",
          "name": "appNameOrId",
          "required": false
        }
      },
      "description": "Switch to a different Ably app",
      "examples": [
        "<%= config.bin %> <%= command.id %> \"My App\"",
        "<%= config.bin %> <%= command.id %> app-id",
        "<%= config.bin %> <%= command.id %>"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps:switch",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "switch.js"
      ]
    },
    "apps:update": {
      "aliases": [],
      "args": {
        "appNameOrId": {
          "description": "App name or ID to update",
          "name": "appNameOrId",
          "required": true
        }
      },
      "description": "Update the name or TLS setting of an app",
      "examples": [
        "$ ably apps update \"My App\" --name \"New App Name\"",
        "$ ably apps update my-app-id --tls-only",
        "$ ably apps update my-app-id --no-tls-only",
        "$ ably apps update \"My App\" --name \"New App Name\" --tls-only --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "name": {
          "description": "New name for the app",
          "name": "name",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-only": {
          "description": "Whether the app should accept TLS connections only",
          "name": "tls-only",
          "allowNo": true,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps:update",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "update.js"
      ]
    },
    "bench": {
      "aliases": [],
      "args": {},
      "description": "Commands for running benchmark tests",
      "examples": [
        "<%= config.bin %> <%= command.id %> publisher my-channel",
        "<%= config.bin %> <%= command.id %> subscriber my-channel"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "bench",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "bench",
        "index.js"
      ]
    },
    "bench:publisher": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The channel name to publish to",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Run a publisher benchmark test",
      "examples": [
        "$ ably bench publisher my-channel",
        "$ ably bench publisher --messages 5000 --rate 10 my-channel",
        "$ ably bench publisher --transport realtime my-channel",
        "$ ably bench publisher my-channel --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "message-size": {
          "description": "Size of the message payload in bytes",
          "name": "message-size",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "messages": {
          "char": "m",
          "description": "Number of messages to publish (max 10,000)",
          "name": "messages",
          "default": 1000,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "rate": {
          "char": "r",
          "description": "Messages per second to publish (max 20)",
          "name": "rate",
          "default": 15,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "transport": {
          "char": "t",
          "description": "Transport to use for publishing",
          "name": "transport",
          "default": "realtime",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "rest",
            "realtime"
          ],
          "type": "option"
        },
        "wait-for-subscribers": {
          "description": "Wait for subscribers to be present before starting",
          "name": "wait-for-subscribers",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "bench:publisher",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "bench",
        "publisher.js"
      ]
    },
    "bench:subscriber": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The channel name to subscribe to",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Run a subscriber benchmark test",
      "examples": [
        "$ ably bench subscriber my-channel",
        "$ ably bench subscriber my-channel --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "bench:subscriber",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "bench",
        "subscriber.js"
      ]
    },
    "auth": {
      "aliases": [],
      "args": {},
      "description": "Manage authentication, keys and tokens",
      "examples": [
        "<%= config.bin %> <%= command.id %> keys list",
        "<%= config.bin %> <%= command.id %> issue-jwt-token",
        "<%= config.bin %> <%= command.id %> issue-ably-token"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "index.js"
      ]
    },
    "auth:issue-ably-token": {
      "aliases": [],
      "args": {},
      "description": "Create an Ably Token with capabilities",
      "examples": [
        "$ ably auth issue-ably-token",
        "$ ably auth issue-ably-token --capability '{\"*\":[\"*\"]}'",
        "$ ably auth issue-ably-token --capability '{\"chat:*\":[\"publish\",\"subscribe\"], \"status:*\":[\"subscribe\"]}' --ttl 3600",
        "$ ably auth issue-ably-token --client-id client123 --ttl 86400",
        "$ ably auth issue-ably-token --client-id \"none\" --ttl 3600",
        "$ ably auth issue-ably-token --json",
        "$ ably auth issue-ably-token --pretty-json",
        "$ ably auth issue-ably-token --token-only",
        "$ ABLY_TOKEN=\"$(ably auth issue-ably-token --token-only)\" ably channels publish my-channel \"Hello\""
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "env": "ABLY_APP_ID",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "capability": {
          "description": "Capabilities JSON string (e.g. {\"channel\":[\"publish\",\"subscribe\"]})",
          "name": "capability",
          "default": "{\"*\":[\"*\"]}",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Client ID to associate with the token. Use \"none\" to explicitly issue a token with no client ID, otherwise a default will be generated.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "token-only": {
          "description": "Output only the token string without any formatting or additional information",
          "name": "token-only",
          "allowNo": false,
          "type": "boolean"
        },
        "ttl": {
          "description": "Time to live in seconds",
          "name": "ttl",
          "default": 3600,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth:issue-ably-token",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "issue-ably-token.js"
      ]
    },
    "auth:issue-jwt-token": {
      "aliases": [],
      "args": {},
      "description": "Create an Ably JWT token with capabilities",
      "examples": [
        "$ ably auth issue-jwt-token",
        "$ ably auth issue-jwt-token --capability '{\"*\":[\"*\"]}'",
        "$ ably auth issue-jwt-token --capability '{\"chat:*\":[\"publish\",\"subscribe\"], \"status:*\":[\"subscribe\"]}' --ttl 3600",
        "$ ably auth issue-jwt-token --client-id client123 --ttl 86400",
        "$ ably auth issue-jwt-token --json",
        "$ ably auth issue-jwt-token --pretty-json",
        "$ ably auth issue-jwt-token --token-only",
        "$ ABLY_TOKEN=\"$(ably auth issue-jwt-token --token-only)\" ably channels publish my-channel \"Hello\""
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "env": "ABLY_APP_ID",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "capability": {
          "description": "Capabilities JSON string (e.g. {\"channel\":[\"publish\",\"subscribe\"]})",
          "name": "capability",
          "default": "{\"*\":[\"*\"]}",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Client ID to associate with the token. Use \"none\" to explicitly issue a token with no client ID, otherwise a default will be generated.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "token-only": {
          "description": "Output only the token string without any formatting or additional information",
          "name": "token-only",
          "allowNo": false,
          "type": "boolean"
        },
        "ttl": {
          "description": "Time to live in seconds",
          "name": "ttl",
          "default": 3600,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth:issue-jwt-token",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "issue-jwt-token.js"
      ]
    },
    "auth:revoke-token": {
      "aliases": [],
      "args": {},
      "description": "Revoke tokens by client ID or revocation key",
      "examples": [
        "$ ably auth revoke-token --client-id \"userClientId\"",
        "$ ably auth revoke-token --client-id \"userClientId\" --force",
        "$ ably auth revoke-token --revocation-key group1",
        "$ ably auth revoke-token --client-id \"userClientId\" --allow-reauth-margin",
        "$ ably auth revoke-token --client-id \"userClientId\" --json --force"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "env": "ABLY_APP_ID",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Revoke all tokens issued to this client ID",
          "exclusive": [
            "revocation-key"
          ],
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "revocation-key": {
          "description": "Revoke all tokens matching this revocation key (JWT tokens only)",
          "exclusive": [
            "client-id"
          ],
          "name": "revocation-key",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "allow-reauth-margin": {
          "description": "Delay enforcement by 30s so connected clients can obtain a new token before disconnection.",
          "name": "allow-reauth-margin",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth:revoke-token",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "revoke-token.js"
      ]
    },
    "channels:append": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The channel name",
          "name": "channelName",
          "required": true
        },
        "messageSerial": {
          "description": "The serial of the message to append to",
          "name": "messageSerial",
          "required": true
        },
        "message": {
          "description": "The message to append (JSON format or plain text)",
          "name": "message",
          "required": true
        }
      },
      "description": "Append data to a message on an Ably channel",
      "examples": [
        "$ ably channels append my-channel \"01234567890:0\" '{\"data\":\"appended content\"}'",
        "$ ably channels append my-channel \"01234567890:0\" \"Appended plain text\"",
        "$ ably channels append my-channel \"01234567890:0\" '{\"data\":\"appended\"}' --name event-name",
        "$ ably channels append my-channel \"01234567890:0\" '{\"data\":\"appended\"}' --description \"Added context\"",
        "$ ably channels append my-channel \"01234567890:0\" '{\"data\":\"appended\"}' --json",
        "$ ably channels append my-channel \"01234567890:0\" '{\"data\":\"appended\"}' --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "description": {
          "description": "Description of the append operation",
          "name": "description",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "encoding": {
          "char": "e",
          "description": "The encoding for the message",
          "name": "encoding",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "The event name",
          "name": "name",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:append",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "append.js"
      ]
    },
    "channels:batch-publish": {
      "aliases": [],
      "args": {
        "message": {
          "description": "The message to publish (JSON format or plain text, not needed if using --spec)",
          "name": "message",
          "required": false
        }
      },
      "description": "Publish messages to multiple Ably channels with a single request",
      "examples": [
        "$ ably channels batch-publish --channels channel1,channel2 '{\"data\":\"Message to multiple channels\"}'",
        "$ ably channels batch-publish --channels channel1,channel2 --name event '{\"text\":\"Hello World\"}'",
        "$ ably channels batch-publish --channels-json '[\"channel1\", \"channel2\"]' '{\"data\":\"Using JSON array for channels\"}'",
        "$ ably channels batch-publish --spec '{\"channels\": [\"channel1\", \"channel2\"], \"messages\": {\"data\": \"Using complete batch spec\"}}'",
        "$ ably channels batch-publish --spec '[{\"channels\": \"channel1\", \"messages\": {\"data\": \"First spec\"}}, {\"channels\": \"channel2\", \"messages\": {\"data\": \"Second spec\"}}]'",
        "$ ably channels batch-publish --channels channel1,channel2 '{\"data\":\"Message\"}' --json",
        "$ ably channels batch-publish --channels channel1,channel2 '{\"data\":\"Message\"}' --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "channels": {
          "description": "Comma-separated list of channel names to publish to (mutually exclusive with --channels-json and --spec)",
          "exclusive": [
            "channels-json",
            "spec"
          ],
          "name": "channels",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "channels-json": {
          "description": "JSON array of channel names to publish to (mutually exclusive with --channels and --spec)",
          "exclusive": [
            "channels",
            "spec"
          ],
          "name": "channels-json",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "encoding": {
          "char": "e",
          "description": "The encoding for the message (not used with --spec)",
          "exclusive": [
            "spec"
          ],
          "name": "encoding",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "The event name (if not specified in the message JSON, not used with --spec)",
          "exclusive": [
            "spec"
          ],
          "name": "name",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "spec": {
          "description": "Complete batch spec JSON (either a single BatchSpec object or an array of BatchSpec objects). When used, --channels, --channels-json, --name, and --encoding are ignored",
          "exclusive": [
            "channels",
            "channels-json",
            "name",
            "encoding"
          ],
          "name": "spec",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:batch-publish",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "batch-publish.js"
      ]
    },
    "channels:delete": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The channel name",
          "name": "channelName",
          "required": true
        },
        "messageSerial": {
          "description": "The serial of the message to delete",
          "name": "messageSerial",
          "required": true
        }
      },
      "description": "Delete a message on an Ably channel",
      "examples": [
        "$ ably channels delete my-channel \"01234567890:0\"",
        "$ ably channels delete my-channel \"01234567890:0\" --description \"Removed by admin\"",
        "$ ably channels delete my-channel \"01234567890:0\" --json",
        "$ ably channels delete my-channel \"01234567890:0\" --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "description": {
          "description": "Description of the delete operation",
          "name": "description",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:delete",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "delete.js"
      ]
    },
    "channels:get-message": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The channel name",
          "name": "channelName",
          "required": true
        },
        "messageSerial": {
          "description": "The serial of the message to retrieve",
          "name": "messageSerial",
          "required": true
        }
      },
      "description": "Get the latest version of a message on an Ably channel. Requires `mutableMessages` enabled on the channel rule.",
      "examples": [
        "$ ably channels get-message my-channel \"01234567890:0\"",
        "$ ably channels get-message my-channel \"01234567890:0\" --json",
        "$ ably channels get-message my-channel \"01234567890:0\" --pretty-json",
        "$ ably channels get-message my-channel \"01234567890:0\" --cipher YOUR_CIPHER_KEY"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "cipher": {
          "description": "Decryption key for encrypted messages (base64-encoded or hex-encoded, supports AES-128-CBC and AES-256-CBC)",
          "name": "cipher",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:get-message",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "get-message.js"
      ]
    },
    "channels:history": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "Channel name to retrieve history for",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Retrieve message history for a channel",
      "examples": [
        "$ ably channels history my-channel",
        "$ ably channels history my-channel --json",
        "$ ably channels history my-channel --pretty-json",
        "$ ably channels history my-channel --start \"2023-01-01T00:00:00Z\" --end \"2023-01-02T00:00:00Z\"",
        "$ ably channels history my-channel --start 1h",
        "$ ably channels history my-channel --limit 100",
        "$ ably channels history my-channel --direction forwards"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "cipher": {
          "description": "Decryption key for encrypted messages (base64-encoded or hex-encoded, supports AES-128-CBC and AES-256-CBC)",
          "name": "cipher",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "direction": {
          "description": "Direction of message retrieval",
          "name": "direction",
          "default": "backwards",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "backwards",
            "forwards"
          ],
          "type": "option"
        },
        "end": {
          "description": "End time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "end",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "start": {
          "description": "Start time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "start",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 50,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:history",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "history.js"
      ]
    },
    "channels": {
      "aliases": [],
      "args": {},
      "description": "Interact with Ably Pub/Sub channels",
      "examples": [
        "<%= config.bin %> <%= command.id %> publish my-channel '{\"name\":\"message\",\"data\":\"Hello, World\"}'",
        "<%= config.bin %> <%= command.id %> subscribe my-channel",
        "<%= config.bin %> <%= command.id %> list"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "index.js"
      ]
    },
    "channels:inspect": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The name of the channel to inspect in the Ably dashboard",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Open the Ably dashboard to inspect a specific channel",
      "examples": [
        "<%= config.bin %> <%= command.id %> my-channel"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "env": "ABLY_APP_ID",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:inspect",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "inspect.js"
      ]
    },
    "channels:list": {
      "aliases": [],
      "args": {},
      "description": "List active channels using the channel enumeration API",
      "examples": [
        "$ ably channels list",
        "$ ably channels list --prefix my-channel",
        "$ ably channels list --limit 50",
        "$ ably channels list --json",
        "$ ably channels list --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "prefix": {
          "char": "p",
          "description": "Filter channels by prefix",
          "name": "prefix",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:list",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "list.js"
      ]
    },
    "channels:occupancy": {
      "aliases": [],
      "args": {},
      "description": "Get occupancy metrics for a channel",
      "examples": [
        "$ ably channels occupancy get my-channel",
        "$ ably channels occupancy subscribe my-channel"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:occupancy",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "occupancy.js"
      ]
    },
    "channels:presence": {
      "aliases": [],
      "args": {},
      "description": "Manage presence on Ably channels",
      "examples": [
        "$ ably channels presence enter my-channel",
        "$ ably channels presence subscribe my-channel"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:presence",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "presence.js"
      ]
    },
    "channels:publish": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The channel name to publish to",
          "name": "channelName",
          "required": true
        },
        "message": {
          "description": "The message to publish (JSON format or plain text)",
          "name": "message",
          "required": true
        }
      },
      "description": "Publish a message to an Ably channel",
      "examples": [
        "$ ably channels publish my-channel '{\"name\":\"event\",\"data\":\"Hello World\"}'",
        "$ ably channels publish --name event my-channel '{\"text\":\"Hello World\"}'",
        "$ ably channels publish my-channel \"Hello World\"",
        "$ ably channels publish --name event my-channel \"Plain text message\"",
        "$ ably channels publish --count 5 my-channel \"Message number {{.Count}}\"",
        "$ ably channels publish --count 10 --delay 1000 my-channel \"Message at {{.Timestamp}}\"",
        "$ ably channels publish --transport realtime my-channel \"Using realtime transport\"",
        "$ ably channels publish my-channel \"Hello World\" --json",
        "$ ably channels publish my-channel \"Hello World\" --pretty-json",
        "$ ably channels publish my-channel '{\"data\":\"Push notification\",\"extras\":{\"push\":{\"notification\":{\"title\":\"Hello\",\"body\":\"World\"}}}}'",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably channels publish my-channel '{\"data\":\"Simple message\"}'"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "count": {
          "char": "c",
          "description": "Number of messages to publish",
          "name": "count",
          "default": 1,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "delay": {
          "char": "d",
          "description": "Delay between messages in milliseconds (max 25 msgs/sec)",
          "name": "delay",
          "default": 40,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "encoding": {
          "char": "e",
          "description": "The encoding for the message",
          "name": "encoding",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "The event name (if not specified in the message JSON)",
          "name": "name",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "transport": {
          "description": "Transport method to use for publishing (rest or realtime)",
          "name": "transport",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "rest",
            "realtime"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:publish",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "publish.js"
      ]
    },
    "channels:subscribe": {
      "aliases": [],
      "args": {
        "channelNames": {
          "description": "Channel name(s) to subscribe to",
          "name": "channelNames",
          "required": true
        }
      },
      "description": "Subscribe to messages published on one or more Ably channels",
      "examples": [
        "$ ably channels subscribe my-channel",
        "$ ably channels subscribe my-channel another-channel",
        "$ ably channels subscribe --rewind 10 my-channel",
        "$ ably channels subscribe --delta my-channel",
        "$ ably channels subscribe --cipher YOUR_CIPHER_KEY my-channel",
        "$ ably channels subscribe my-channel --json",
        "$ ably channels subscribe my-channel --pretty-json",
        "$ ably channels subscribe my-channel --duration 30",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably channels subscribe my-channel"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "rewind": {
          "description": "Number of messages to rewind when subscribing (default: 0)",
          "name": "rewind",
          "default": 0,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "cipher": {
          "description": "Decryption key for encrypted messages (base64-encoded or hex-encoded, supports AES-128-CBC and AES-256-CBC)",
          "name": "cipher",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "delta": {
          "description": "Enable delta compression (VCDIFF) to reduce message payload sizes",
          "name": "delta",
          "allowNo": false,
          "type": "boolean"
        },
        "sequence-numbers": {
          "description": "Include sequence numbers in output",
          "name": "sequence-numbers",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "subscribe.js"
      ]
    },
    "channels:update": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The channel name",
          "name": "channelName",
          "required": true
        },
        "messageSerial": {
          "description": "The serial of the message to update",
          "name": "messageSerial",
          "required": true
        },
        "message": {
          "description": "The updated message (JSON format or plain text)",
          "name": "message",
          "required": true
        }
      },
      "description": "Update a message on an Ably channel",
      "examples": [
        "$ ably channels update my-channel \"01234567890:0\" '{\"data\":\"updated content\"}'",
        "$ ably channels update my-channel \"01234567890:0\" \"Updated plain text\"",
        "$ ably channels update my-channel \"01234567890:0\" '{\"data\":\"updated\"}' --name event-name",
        "$ ably channels update my-channel \"01234567890:0\" '{\"data\":\"updated\"}' --description \"Corrected typo\"",
        "$ ably channels update my-channel \"01234567890:0\" '{\"data\":\"updated\"}' --json",
        "$ ably channels update my-channel \"01234567890:0\" '{\"data\":\"updated\"}' --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "description": {
          "description": "Description of the update operation",
          "name": "description",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "encoding": {
          "char": "e",
          "description": "The encoding for the message",
          "name": "encoding",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "The event name",
          "name": "name",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:update",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "update.js"
      ]
    },
    "config": {
      "aliases": [],
      "args": {},
      "description": "Manage Ably CLI configuration",
      "examples": [
        "<%= config.bin %> <%= command.id %> path",
        "<%= config.bin %> <%= command.id %> show"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "config",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "config",
        "index.js"
      ]
    },
    "config:path": {
      "aliases": [],
      "args": {},
      "description": "Print the path to the Ably CLI config file",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --json",
        "# Open in your preferred editor:",
        "code $(ably config path)",
        "vim $(ably config path)"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "config:path",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "config",
        "path.js"
      ]
    },
    "config:show": {
      "aliases": [],
      "args": {},
      "description": "Display the contents of the Ably CLI config file",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "config:show",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "config",
        "show.js"
      ]
    },
    "connections": {
      "aliases": [],
      "args": {},
      "description": "Interact with Ably Pub/Sub connections",
      "examples": [
        "<%= config.bin %> <%= command.id %> logs connections-lifecycle",
        "<%= config.bin %> <%= command.id %> test"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "connections",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "connections",
        "index.js"
      ]
    },
    "connections:test": {
      "aliases": [],
      "args": {},
      "description": "Test connection to Ably",
      "examples": [
        "$ ably connections test",
        "$ ably connections test --transport ws",
        "$ ably connections test --transport xhr",
        "$ ably connections test --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "transport": {
          "description": "Transport protocol to use (ws for WebSockets, xhr for HTTP)",
          "name": "transport",
          "default": "all",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "ws",
            "xhr",
            "all"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "connections:test",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "connections",
        "test.js"
      ]
    },
    "integrations:create": {
      "aliases": [],
      "args": {},
      "description": "Create an integration",
      "examples": [
        "$ ably integrations create --rule-type \"http\" --source-type \"channel.message\" --target-url \"https://example.com/webhook\"",
        "$ ably integrations create --rule-type \"amqp\" --source-type \"channel.message\" --channel-filter \"chat:*\"",
        "$ ably integrations create --rule-type \"http\" --source-type \"channel.message\" --target-url \"https://example.com/webhook\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "channel-filter": {
          "description": "Channel filter pattern",
          "name": "channel-filter",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "request-mode": {
          "description": "Request mode for the integration",
          "name": "request-mode",
          "required": false,
          "default": "single",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "single",
            "batch"
          ],
          "type": "option"
        },
        "rule-type": {
          "description": "Type of integration (http, amqp, etc.)",
          "name": "rule-type",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "http",
            "amqp",
            "kinesis",
            "firehose",
            "pulsar",
            "kafka",
            "azure",
            "azure-functions",
            "mqtt",
            "cloudmqtt"
          ],
          "type": "option"
        },
        "source-type": {
          "description": "The event source type",
          "name": "source-type",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "channel.message",
            "channel.presence",
            "channel.lifecycle",
            "presence.message"
          ],
          "type": "option"
        },
        "status": {
          "description": "Initial status of the integration",
          "name": "status",
          "required": false,
          "default": "enabled",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "enabled",
            "disabled"
          ],
          "type": "option"
        },
        "target-url": {
          "description": "Target URL for HTTP integrations",
          "name": "target-url",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "integrations:create",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "integrations",
        "create.js"
      ]
    },
    "integrations:delete": {
      "aliases": [],
      "args": {
        "integrationId": {
          "description": "The integration ID to delete",
          "name": "integrationId",
          "required": true
        }
      },
      "description": "Delete an integration",
      "examples": [
        "$ ably integrations delete integration123",
        "$ ably integrations delete integration123 --app \"My App\"",
        "$ ably integrations delete integration123 --force",
        "$ ably integrations delete integration123 --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "integrations:delete",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "integrations",
        "delete.js"
      ]
    },
    "integrations:get": {
      "aliases": [],
      "args": {
        "integrationId": {
          "description": "The integration ID to get",
          "name": "integrationId",
          "required": true
        }
      },
      "description": "Get an integration rule by ID",
      "examples": [
        "$ ably integrations get rule123",
        "$ ably integrations get rule123 --json",
        "$ ably integrations get rule123 --app \"My App\" --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "integrations:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "integrations",
        "get.js"
      ]
    },
    "integrations": {
      "aliases": [],
      "args": {},
      "description": "Manage Ably integrations",
      "examples": [
        "<%= config.bin %> <%= command.id %> list",
        "<%= config.bin %> <%= command.id %> get rule123",
        "<%= config.bin %> <%= command.id %> create"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "integrations",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "integrations",
        "index.js"
      ]
    },
    "integrations:list": {
      "aliases": [],
      "args": {},
      "description": "List all integrations",
      "examples": [
        "$ ably integrations list",
        "$ ably integrations list --app \"My App\" --json",
        "$ ably integrations list --app \"My App\" --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "integrations:list",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "integrations",
        "list.js"
      ]
    },
    "integrations:update": {
      "aliases": [],
      "args": {
        "integrationId": {
          "description": "The integration ID to update",
          "name": "integrationId",
          "required": true
        }
      },
      "description": "Update an integration rule",
      "examples": [
        "$ ably integrations update rule123 --status disabled",
        "$ ably integrations update rule123 --channel-filter \"chat:*\"",
        "$ ably integrations update rule123 --target-url \"https://new-example.com/webhook\"",
        "$ ably integrations update rule123 --status disabled --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "channel-filter": {
          "description": "Channel filter pattern",
          "name": "channel-filter",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "status": {
          "description": "Status of the rule",
          "name": "status",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "enabled",
            "disabled"
          ],
          "type": "option"
        },
        "target-url": {
          "description": "Target URL for HTTP rules",
          "name": "target-url",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "request-mode": {
          "description": "Request mode of the rule",
          "name": "request-mode",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "source": {
          "description": "Source of the rule",
          "name": "source",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "target": {
          "description": "Target of the rule",
          "name": "target",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "integrations:update",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "integrations",
        "update.js"
      ]
    },
    "push:batch-publish": {
      "aliases": [],
      "args": {
        "payload": {
          "description": "Batch payload as JSON array, filepath, or - for stdin. Each item must have either a \"recipient\" or \"channels\" key. Items with \"channels\" are routed via channel batch publish with the payload wrapped in extras.push. Channel items may include an optional \"message\" field with realtime message data (string or JSON) to publish alongside the push notification.",
          "name": "payload"
        }
      },
      "description": "Publish push notifications to multiple recipients in a batch",
      "examples": [
        {
          "description": "Send a notification to a specific device",
          "command": "<%= config.bin %> <%= command.id %> '[{\"recipient\":{\"deviceId\":\"device-123\"},\"payload\":{\"notification\":{\"title\":\"Hello\",\"body\":\"World\"}}}]'"
        },
        {
          "description": "Send a notification to a client ID",
          "command": "<%= config.bin %> <%= command.id %> '[{\"recipient\":{\"clientId\":\"user-456\"},\"payload\":{\"notification\":{\"title\":\"Hello\",\"body\":\"World\"}}}]'"
        },
        {
          "description": "Send a data-only push (no notification) to a device",
          "command": "<%= config.bin %> <%= command.id %> '[{\"recipient\":{\"deviceId\":\"device-123\"},\"payload\":{\"data\":{\"orderId\":\"123\",\"action\":\"update\"}}}]'"
        },
        {
          "description": "Publish to all devices subscribed to a channel",
          "command": "<%= config.bin %> <%= command.id %> '[{\"channels\":[\"my-channel\"],\"payload\":{\"notification\":{\"title\":\"Hello\",\"body\":\"World\"}}}]' --force"
        },
        {
          "description": "Publish to a channel with an accompanying realtime message",
          "command": "<%= config.bin %> <%= command.id %> '[{\"channels\":[\"my-channel\"],\"payload\":{\"notification\":{\"title\":\"Hello\",\"body\":\"World\"}},\"message\":\"Hello from push\"}]' --force"
        },
        {
          "description": "Publish to multiple channels in one batch item",
          "command": "<%= config.bin %> <%= command.id %> '[{\"channels\":[\"channel-1\",\"channel-2\"],\"payload\":{\"notification\":{\"title\":\"Alert\",\"body\":\"Message\"}}}]' --force"
        },
        {
          "description": "Mixed batch: device recipient and channel in one request",
          "command": "<%= config.bin %> <%= command.id %> '[{\"recipient\":{\"deviceId\":\"device-123\"},\"payload\":{\"notification\":{\"title\":\"Hello\",\"body\":\"World\"}}},{\"channels\":[\"my-channel\"],\"payload\":{\"notification\":{\"title\":\"Hello\",\"body\":\"World\"}}}]' --force"
        },
        {
          "description": "Load batch payload from a JSON file",
          "command": "<%= config.bin %> <%= command.id %> ./notifications.json --force"
        },
        {
          "description": "Read batch payload from stdin",
          "command": "$ cat batch.json | <%= config.bin %> <%= command.id %> --force"
        },
        {
          "description": "Output results as JSON",
          "command": "<%= config.bin %> <%= command.id %> ./notifications.json --json --force"
        }
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:batch-publish",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "batch-publish.js"
      ]
    },
    "push": {
      "aliases": [],
      "args": {},
      "description": "Manage push notifications",
      "examples": [
        "<%= config.bin %> <%= command.id %> publish --device-id device1 --title Hello --body World",
        "<%= config.bin %> <%= command.id %> devices list",
        "<%= config.bin %> <%= command.id %> channels list \"my-channel\"",
        "<%= config.bin %> <%= command.id %> config show"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "index.js"
      ]
    },
    "push:publish": {
      "aliases": [],
      "args": {},
      "description": "Publish a push notification to a device, client, or channel",
      "examples": [
        "<%= config.bin %> <%= command.id %> --device-id device-123 --title Hello --body World",
        "<%= config.bin %> <%= command.id %> --device-id device-123 --title Hello --body World --data '{\"key\":\"value\"}'",
        "<%= config.bin %> <%= command.id %> --device-id device-123 --payload '{\"notification\":{\"title\":\"Hello\",\"body\":\"World\"}}'",
        "<%= config.bin %> <%= command.id %> --device-id device-123 --payload ./notification.json",
        "<%= config.bin %> <%= command.id %> --client-id client-1 --title Hello --body World",
        "<%= config.bin %> <%= command.id %> --client-id client-1 --payload '{\"notification\":{\"title\":\"Hello\",\"body\":\"World\"}}'",
        "<%= config.bin %> <%= command.id %> --channel my-channel --title Hello --body World",
        "<%= config.bin %> <%= command.id %> --channel my-channel --title Hello --body World --data '{\"key\":\"value\"}'",
        "<%= config.bin %> <%= command.id %> --channel my-channel --payload '{\"notification\":{\"title\":\"Hello\",\"body\":\"World\"},\"data\":{\"key\":\"value\"}}'",
        "<%= config.bin %> <%= command.id %> --channel my-channel --payload ./notification.json",
        "<%= config.bin %> <%= command.id %> --channel my-channel --title Hello --body World --message 'Hello from push'",
        "<%= config.bin %> <%= command.id %> --channel my-channel --title Hello --body World --message '{\"event\":\"push\",\"text\":\"Hello\"}'",
        "<%= config.bin %> <%= command.id %> --channel my-channel --title Hello --body World --message '{\"name\":\"greeting\",\"data\":\"Welcome back\"}'",
        "<%= config.bin %> <%= command.id %> --recipient '{\"transportType\":\"apns\",\"deviceToken\":\"token123\"}' --title Hello --body World",
        "<%= config.bin %> <%= command.id %> --device-id device-123 --title Hello --body World --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "device-id": {
          "description": "Target device ID",
          "exclusive": [
            "client-id",
            "recipient"
          ],
          "name": "device-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Target client ID",
          "exclusive": [
            "device-id",
            "recipient"
          ],
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "recipient": {
          "description": "Raw recipient JSON for advanced targeting",
          "exclusive": [
            "device-id",
            "client-id"
          ],
          "name": "recipient",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "channel": {
          "description": "Target channel name (publishes push notification via the channel using extras.push; ignored if --device-id, --client-id, or --recipient is also provided)",
          "name": "channel",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "message": {
          "description": "Realtime message to include alongside the push notification. Accepts plain text, JSON data, or a full message object ({\"name\":...,\"data\":...,\"extras\":...}). Only applies when publishing via --channel.",
          "name": "message",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "title": {
          "description": "Notification title",
          "name": "title",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "body": {
          "description": "Notification body",
          "name": "body",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "sound": {
          "description": "Notification sound",
          "name": "sound",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "icon": {
          "description": "Notification icon",
          "name": "icon",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "badge": {
          "description": "Notification badge count",
          "name": "badge",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "data": {
          "description": "Custom data payload as JSON",
          "name": "data",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "collapse-key": {
          "description": "Collapse key for notification grouping",
          "name": "collapse-key",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "ttl": {
          "description": "Time to live in seconds",
          "name": "ttl",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "payload": {
          "description": "Full notification payload as JSON (overrides convenience flags)",
          "name": "payload",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "apns": {
          "description": "APNs-specific override as JSON",
          "name": "apns",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "fcm": {
          "description": "FCM-specific override as JSON",
          "name": "fcm",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "web": {
          "description": "Web push-specific override as JSON",
          "name": "web",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:publish",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "publish.js"
      ]
    },
    "logs:history": {
      "aliases": [],
      "args": {},
      "description": "Retrieve application log history",
      "examples": [
        "$ ably logs history",
        "$ ably logs history --limit 20",
        "$ ably logs history --direction forwards",
        "$ ably logs history --json",
        "$ ably logs history --pretty-json",
        "$ ably logs history --start \"2023-01-01T00:00:00Z\" --end \"2023-01-02T00:00:00Z\"",
        "$ ably logs history --start 1h"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "end": {
          "description": "End time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "end",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "start": {
          "description": "Start time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "start",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "direction": {
          "description": "Direction of log retrieval",
          "name": "direction",
          "default": "backwards",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "backwards",
            "forwards"
          ],
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "logs:history",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "logs",
        "history.js"
      ]
    },
    "logs": {
      "aliases": [],
      "args": {},
      "description": "Streaming and retrieving logs from Ably",
      "examples": [
        "<%= config.bin %> <%= command.id %> subscribe",
        "<%= config.bin %> <%= command.id %> history",
        "<%= config.bin %> <%= command.id %> channel-lifecycle subscribe"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "logs",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "logs",
        "index.js"
      ]
    },
    "logs:subscribe": {
      "aliases": [],
      "args": {},
      "description": "Subscribe to live app logs",
      "examples": [
        "$ ably logs subscribe",
        "$ ably logs subscribe --rewind 10",
        "$ ably logs subscribe --type channel.lifecycle",
        "$ ably logs subscribe --json",
        "$ ably logs subscribe --pretty-json",
        "$ ably logs subscribe --duration 30"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "rewind": {
          "description": "Number of messages to rewind when subscribing (default: 0)",
          "name": "rewind",
          "default": 0,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "type": {
          "description": "Filter by log type",
          "name": "type",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "channel.lifecycle",
            "channel.occupancy",
            "channel.presence",
            "connection.lifecycle",
            "push.publish"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "logs:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "logs",
        "subscribe.js"
      ]
    },
    "queues:create": {
      "aliases": [],
      "args": {
        "queueName": {
          "description": "Name of the queue",
          "name": "queueName",
          "required": true
        }
      },
      "description": "Create a queue",
      "examples": [
        "$ ably queues create \"my-queue\"",
        "$ ably queues create \"my-queue\" --ttl 300 --max-length 5000",
        "$ ably queues create \"my-queue\" --region \"eu-west-1-a\" --app \"My App\"",
        "$ ably queues create \"my-queue\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "max-length": {
          "description": "Maximum number of messages in the queue (max: 10000)",
          "name": "max-length",
          "required": false,
          "default": 10000,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "region": {
          "description": "Region for the queue (e.g., us-east-1-a, eu-west-1-a)",
          "name": "region",
          "required": false,
          "default": "us-east-1-a",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "ttl": {
          "description": "Time to live for messages in seconds (max: 3600)",
          "name": "ttl",
          "required": false,
          "default": 60,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "queues:create",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "queues",
        "create.js"
      ]
    },
    "queues:delete": {
      "aliases": [],
      "args": {
        "queueNameOrId": {
          "description": "Name or ID of the queue to delete",
          "name": "queueNameOrId",
          "required": true
        }
      },
      "description": "Delete a queue",
      "examples": [
        "$ ably queues delete \"my-queue\"",
        "$ ably queues delete \"my-queue\" --app \"My App\"",
        "$ ably queues delete \"my-queue\" --force",
        "$ ably queues delete \"my-queue\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "queues:delete",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "queues",
        "delete.js"
      ]
    },
    "queues": {
      "aliases": [],
      "args": {},
      "description": "Manage Ably Queues",
      "examples": [
        "<%= config.bin %> <%= command.id %> list",
        "<%= config.bin %> <%= command.id %> create \"my-queue\"",
        "<%= config.bin %> <%= command.id %> delete \"my-queue\""
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "queues",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "queues",
        "index.js"
      ]
    },
    "queues:list": {
      "aliases": [],
      "args": {},
      "description": "List all queues",
      "examples": [
        "$ ably queues list",
        "$ ably queues list --json",
        "$ ably queues list --app \"My App\" --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "queues:list",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "queues",
        "list.js"
      ]
    },
    "rooms": {
      "aliases": [],
      "args": {},
      "description": "Interact with Ably Chat rooms",
      "examples": [
        "<%= config.bin %> <%= command.id %> list",
        "<%= config.bin %> <%= command.id %> messages send my-room \"Hello world!\"",
        "<%= config.bin %> <%= command.id %> messages subscribe my-room"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "index.js"
      ]
    },
    "rooms:list": {
      "aliases": [],
      "args": {},
      "description": "List active chat rooms",
      "examples": [
        "$ ably rooms list",
        "$ ably rooms list --prefix my-room",
        "$ ably rooms list --limit 50",
        "$ ably rooms list --json",
        "$ ably rooms list --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "prefix": {
          "char": "p",
          "description": "Filter rooms by prefix",
          "name": "prefix",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:list",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "list.js"
      ]
    },
    "rooms:occupancy": {
      "aliases": [],
      "args": {},
      "description": "Commands for monitoring room occupancy",
      "examples": [
        "<%= config.bin %> <%= command.id %> get my-room",
        "<%= config.bin %> <%= command.id %> subscribe my-room"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:occupancy",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "occupancy.js"
      ]
    },
    "rooms:presence": {
      "aliases": [],
      "args": {},
      "description": "Manage presence on Ably chat rooms",
      "examples": [
        "<%= config.bin %> <%= command.id %> enter my-room",
        "<%= config.bin %> <%= command.id %> subscribe my-room"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:presence",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "presence.js"
      ]
    },
    "rooms:reactions": {
      "aliases": [],
      "args": {},
      "description": "Manage reactions in Ably chat rooms",
      "examples": [
        "<%= config.bin %> <%= command.id %> send my-room thumbs_up",
        "<%= config.bin %> <%= command.id %> subscribe my-room"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:reactions",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "reactions.js"
      ]
    },
    "skills": {
      "aliases": [],
      "args": {},
      "description": "Install Ably Agent Skills for AI coding tools",
      "examples": [
        "<%= config.bin %> <%= command.id %> install",
        "<%= config.bin %> <%= command.id %> install --target claude-code"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "skills",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "skills",
        "index.js"
      ]
    },
    "skills:install": {
      "aliases": [],
      "args": {},
      "description": "Install Ably Agent Skills into AI coding tools",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --target claude-code",
        "<%= config.bin %> <%= command.id %> --target cursor --target windsurf",
        "<%= config.bin %> <%= command.id %> --target auto",
        "<%= config.bin %> <%= command.id %> --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "target": {
          "char": "t",
          "description": "Target IDE(s) to install skills for",
          "name": "target",
          "default": [
            "auto"
          ],
          "hasDynamicHelp": false,
          "multiple": true,
          "options": [
            "auto",
            "claude-code",
            "cursor",
            "vscode",
            "windsurf"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "skills:install",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "skills",
        "install.js"
      ]
    },
    "stats:account": {
      "aliases": [],
      "args": {},
      "description": "Get account stats with optional live updates",
      "examples": [
        "$ ably stats account",
        "$ ably stats account --unit hour",
        "$ ably stats account --start \"2023-01-01T00:00:00Z\" --end \"2023-01-02T00:00:00Z\"",
        "$ ably stats account --start 1h",
        "$ ably stats account --limit 10",
        "$ ably stats account --json",
        "$ ably stats account --pretty-json",
        "$ ably stats account --live",
        "$ ably stats account --live --interval 15"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "debug": {
          "description": "Show debug information for live stats polling",
          "name": "debug",
          "allowNo": false,
          "type": "boolean"
        },
        "end": {
          "description": "End time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "end",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "start": {
          "description": "Start time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "start",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "interval": {
          "description": "Polling interval in seconds (only used with --live)",
          "name": "interval",
          "default": 6,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 10,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "live": {
          "description": "Subscribe to live stats updates (uses minute interval)",
          "name": "live",
          "allowNo": false,
          "type": "boolean"
        },
        "unit": {
          "description": "Time unit for stats",
          "name": "unit",
          "default": "minute",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "minute",
            "hour",
            "day",
            "month"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "stats:account",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "statsFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "debug": {
          "default": false,
          "description": "Show debug information for live stats polling",
          "allowNo": false,
          "type": "boolean"
        },
        "end": {
          "description": "End time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "start": {
          "description": "Start time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "interval": {
          "default": 6,
          "description": "Polling interval in seconds (only used with --live)",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "default": 10,
          "description": "Maximum number of results to return",
          "min": 1,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "live": {
          "default": false,
          "description": "Subscribe to live stats updates (uses minute interval)",
          "allowNo": false,
          "type": "boolean"
        },
        "unit": {
          "default": "minute",
          "description": "Time unit for stats",
          "options": [
            "minute",
            "hour",
            "day",
            "month"
          ],
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "stats",
        "account.js"
      ]
    },
    "stats:app": {
      "aliases": [],
      "args": {
        "appNameOrId": {
          "description": "App name or ID to get stats for (uses default app if not provided)",
          "name": "appNameOrId",
          "required": false
        }
      },
      "description": "Get app stats with optional live updates",
      "examples": [
        "$ ably stats app",
        "$ ably stats app \"My App\"",
        "$ ably stats app app-id",
        "$ ably stats app --unit hour",
        "$ ably stats app app-id --unit hour",
        "$ ably stats app app-id --start \"2023-01-01T00:00:00Z\" --end \"2023-01-02T00:00:00Z\"",
        "$ ably stats app app-id --start 1h",
        "$ ably stats app app-id --limit 10",
        "$ ably stats app \"My App\" --start 1h --limit 10",
        "$ ably stats app app-id --json",
        "$ ably stats app app-id --pretty-json",
        "$ ably stats app --live",
        "$ ably stats app app-id --live",
        "$ ably stats app --live --interval 15"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "debug": {
          "description": "Show debug information for live stats polling",
          "name": "debug",
          "allowNo": false,
          "type": "boolean"
        },
        "end": {
          "description": "End time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "end",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "start": {
          "description": "Start time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "start",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "interval": {
          "description": "Polling interval in seconds (only used with --live)",
          "name": "interval",
          "default": 6,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 10,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "live": {
          "description": "Subscribe to live stats updates (uses minute interval)",
          "name": "live",
          "allowNo": false,
          "type": "boolean"
        },
        "unit": {
          "description": "Time unit for stats",
          "name": "unit",
          "default": "minute",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "minute",
            "hour",
            "day",
            "month"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "stats:app",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "statsFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "debug": {
          "default": false,
          "description": "Show debug information for live stats polling",
          "allowNo": false,
          "type": "boolean"
        },
        "end": {
          "description": "End time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "start": {
          "description": "Start time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "interval": {
          "default": 6,
          "description": "Polling interval in seconds (only used with --live)",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "default": 10,
          "description": "Maximum number of results to return",
          "min": 1,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "live": {
          "default": false,
          "description": "Subscribe to live stats updates (uses minute interval)",
          "allowNo": false,
          "type": "boolean"
        },
        "unit": {
          "default": "minute",
          "description": "Time unit for stats",
          "options": [
            "minute",
            "hour",
            "day",
            "month"
          ],
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "stats",
        "app.js"
      ]
    },
    "stats": {
      "aliases": [],
      "args": {},
      "description": "View statistics for your Ably account or apps",
      "examples": [
        "$ ably stats account",
        "$ ably stats account --unit hour",
        "$ ably stats account --live",
        "$ ably stats app",
        "$ ably stats app my-app-id",
        "$ ably stats app --live"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "stats",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "stats",
        "index.js"
      ]
    },
    "spaces:create": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to initialize",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Initialize a space without entering it",
      "examples": [
        "$ ably spaces create my-space",
        "$ ably spaces create my-space --json",
        "$ ably spaces create my-space --client-id my-client"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:create",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "create.js"
      ]
    },
    "spaces:cursors": {
      "aliases": [],
      "args": {},
      "description": "Commands for interacting with Cursors in Ably Spaces",
      "examples": [
        "<%= config.bin %> <%= command.id %> set my-space --x 100 --y 200",
        "<%= config.bin %> <%= command.id %> subscribe my-space",
        "<%= config.bin %> <%= command.id %> get my-space"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:cursors",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "cursors.js"
      ]
    },
    "spaces:get": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to get",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Get the current state of a space",
      "examples": [
        "$ ably spaces get my-space",
        "$ ably spaces get my-space --json",
        "$ ably spaces get my-space --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "get.js"
      ]
    },
    "spaces": {
      "aliases": [],
      "args": {},
      "description": "Interact with Ably Spaces",
      "examples": [
        "<%= config.bin %> <%= command.id %> list",
        "<%= config.bin %> <%= command.id %> get my-space",
        "<%= config.bin %> <%= command.id %> create my-space",
        "<%= config.bin %> <%= command.id %> subscribe my-space",
        "<%= config.bin %> <%= command.id %> members enter my-space",
        "<%= config.bin %> <%= command.id %> locations set my-space"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "index.js"
      ]
    },
    "spaces:list": {
      "aliases": [],
      "args": {},
      "description": "List active spaces",
      "examples": [
        "$ ably spaces list",
        "$ ably spaces list --prefix my-space",
        "$ ably spaces list --limit 50",
        "$ ably spaces list --json",
        "$ ably spaces list --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "prefix": {
          "char": "p",
          "description": "Filter spaces by prefix",
          "name": "prefix",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:list",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "list.js"
      ]
    },
    "spaces:locations": {
      "aliases": [],
      "args": {},
      "description": "Commands for location management in Ably Spaces",
      "examples": [
        "<%= config.bin %> <%= command.id %> set my-space",
        "<%= config.bin %> <%= command.id %> subscribe my-space",
        "<%= config.bin %> <%= command.id %> get my-space"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:locations",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "locations.js"
      ]
    },
    "spaces:locks": {
      "aliases": [],
      "args": {},
      "description": "Commands for component locking in Ably Spaces",
      "examples": [
        "<%= config.bin %> <%= command.id %> acquire my-space my-lock-id",
        "<%= config.bin %> <%= command.id %> subscribe my-space",
        "<%= config.bin %> <%= command.id %> get my-space my-lock-id",
        "<%= config.bin %> <%= command.id %> get my-space"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:locks",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "locks.js"
      ]
    },
    "spaces:members": {
      "aliases": [],
      "args": {},
      "description": "Commands for managing members in Ably Spaces",
      "examples": [
        "<%= config.bin %> <%= command.id %> enter my-space",
        "<%= config.bin %> <%= command.id %> subscribe my-space",
        "<%= config.bin %> <%= command.id %> get my-space"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:members",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "members.js"
      ]
    },
    "spaces:subscribe": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to subscribe to",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Subscribe to both spaces members and location update events",
      "examples": [
        "$ ably spaces subscribe my-space",
        "$ ably spaces subscribe my-space --json",
        "$ ably spaces subscribe my-space --pretty-json",
        "$ ably spaces subscribe my-space --duration 30"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "subscribe.js"
      ]
    },
    "test:wait": {
      "aliases": [],
      "args": {},
      "description": "Test command that waits for a specified duration",
      "examples": [
        "$ ably test:wait --duration 10",
        "$ ably test:wait -d 5"
      ],
      "flags": {
        "duration": {
          "char": "d",
          "description": "Duration to wait in seconds",
          "name": "duration",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hidden": true,
      "hiddenAliases": [],
      "id": "test:wait",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "test",
        "wait.js"
      ]
    },
    "support:ask": {
      "aliases": [],
      "args": {
        "question": {
          "description": "The question to ask the Ably AI agent",
          "name": "question",
          "required": true
        }
      },
      "description": "Ask a question to the Ably AI agent for help",
      "examples": [
        "<%= config.bin %> <%= command.id %> \"How do I get started with Ably?\"",
        "<%= config.bin %> <%= command.id %> \"What are the available capabilities for tokens?\"",
        "<%= config.bin %> <%= command.id %> --continue \"Can you explain more about token capabilities?\"",
        "<%= config.bin %> <%= command.id %> \"How do I get started with Ably?\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "continue": {
          "description": "Continue the previous conversation with the Ably AI agent",
          "name": "continue",
          "allowNo": false,
          "type": "boolean"
        },
        "help": {
          "char": "h",
          "description": "Show CLI help.",
          "name": "help",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "support:ask",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "support",
        "ask.js"
      ]
    },
    "support:contact": {
      "aliases": [],
      "args": {},
      "description": "Contact Ably for assistance",
      "examples": [
        "<%= config.bin %> <%= command.id %>"
      ],
      "flags": {
        "help": {
          "char": "h",
          "description": "Show CLI help.",
          "name": "help",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "support:contact",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "support",
        "contact.js"
      ]
    },
    "support": {
      "aliases": [],
      "args": {},
      "description": "Get support and help from Ably",
      "examples": [
        "$ ably support ask \"How do I publish to a channel?\"",
        "$ ably support contact",
        "$ ably support info"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "support",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "support",
        "index.js"
      ]
    },
    "apps:rules:create": {
      "aliases": [],
      "args": {
        "ruleName": {
          "description": "Name of the rule",
          "name": "ruleName",
          "required": true
        }
      },
      "description": "Create a rule",
      "examples": [
        "$ ably apps rules create \"chat\" --persisted",
        "$ ably apps rules create \"chat\" --mutable-messages",
        "$ ably apps rules create \"events\" --push-enabled",
        "$ ably apps rules create \"notifications\" --persisted --push-enabled --app \"My App\"",
        "$ ably apps rules create \"chat\" --persisted --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "authenticated": {
          "description": "Whether channels matching this rule require clients to be authenticated",
          "name": "authenticated",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "batching-enabled": {
          "description": "Whether to enable batching for messages on channels matching this rule",
          "name": "batching-enabled",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "batching-interval": {
          "description": "The batching interval for messages on channels matching this rule",
          "name": "batching-interval",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "conflation-enabled": {
          "description": "Whether to enable conflation for messages on channels matching this rule",
          "name": "conflation-enabled",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "conflation-interval": {
          "description": "The conflation interval for messages on channels matching this rule",
          "name": "conflation-interval",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "conflation-key": {
          "description": "The conflation key for messages on channels matching this rule",
          "name": "conflation-key",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "mutable-messages": {
          "description": "Whether messages on channels matching this rule can be updated or deleted after publishing. Automatically enables message persistence.",
          "name": "mutable-messages",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "persist-last": {
          "description": "Whether to persist only the last message on channels matching this rule",
          "name": "persist-last",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "persisted": {
          "description": "Whether messages on channels matching this rule should be persisted",
          "name": "persisted",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "populate-channel-registry": {
          "description": "Whether to populate the channel registry for channels matching this rule",
          "name": "populate-channel-registry",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "push-enabled": {
          "description": "Whether push notifications should be enabled for channels matching this rule",
          "name": "push-enabled",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "tls-only": {
          "description": "Whether to enforce TLS for channels matching this rule",
          "name": "tls-only",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps:rules:create",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "rules",
        "create.js"
      ]
    },
    "apps:rules:delete": {
      "aliases": [],
      "args": {
        "ruleNameOrId": {
          "description": "Name or ID of the rule to delete",
          "name": "ruleNameOrId",
          "required": true
        }
      },
      "description": "Delete a rule",
      "examples": [
        "$ ably apps rules delete chat",
        "$ ably apps rules delete events --app \"My App\"",
        "$ ably apps rules delete notifications --force",
        "$ ably apps rules delete chat --json",
        "$ ably apps rules delete chat --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps:rules:delete",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "rules",
        "delete.js"
      ]
    },
    "apps:rules": {
      "aliases": [],
      "args": {},
      "description": "Manage Ably rules (namespaces)",
      "examples": [
        "$ ably apps rules list",
        "$ ably apps rules create \"chat\" --persisted",
        "$ ably apps rules update \"chat\" --push-enabled",
        "$ ably apps rules delete \"chat\""
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps:rules",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "rules",
        "index.js"
      ]
    },
    "apps:rules:list": {
      "aliases": [],
      "args": {},
      "description": "List rules for an app",
      "examples": [
        "$ ably apps rules list",
        "$ ably apps rules list --app my-app-id",
        "$ ably apps rules list --json",
        "$ ably apps rules list --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps:rules:list",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "rules",
        "list.js"
      ]
    },
    "apps:rules:update": {
      "aliases": [],
      "args": {
        "ruleNameOrId": {
          "description": "Name or ID of the rule to update",
          "name": "ruleNameOrId",
          "required": true
        }
      },
      "description": "Update a rule",
      "examples": [
        "$ ably apps rules update chat --persisted",
        "$ ably apps rules update chat --mutable-messages",
        "$ ably apps rules update events --push-enabled=false",
        "$ ably apps rules update events --no-push-enabled",
        "$ ably apps rules update notifications --persisted --push-enabled --app \"My App\"",
        "$ ably apps rules update chat --persisted --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "authenticated": {
          "description": "Whether channels matching this rule require clients to be authenticated",
          "name": "authenticated",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "batching-enabled": {
          "description": "Whether to enable batching for messages on channels matching this rule",
          "name": "batching-enabled",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "batching-interval": {
          "description": "The batching interval for messages on channels matching this rule",
          "name": "batching-interval",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "conflation-enabled": {
          "description": "Whether to enable conflation for messages on channels matching this rule",
          "name": "conflation-enabled",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "conflation-interval": {
          "description": "The conflation interval for messages on channels matching this rule",
          "name": "conflation-interval",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "conflation-key": {
          "description": "The conflation key for messages on channels matching this rule",
          "name": "conflation-key",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "mutable-messages": {
          "description": "Whether messages on channels matching this rule can be updated or deleted after publishing. Automatically enables message persistence.",
          "name": "mutable-messages",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "persist-last": {
          "description": "Whether to persist only the last message on channels matching this rule",
          "name": "persist-last",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "persisted": {
          "description": "Whether messages on channels matching this rule should be persisted",
          "name": "persisted",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "populate-channel-registry": {
          "description": "Whether to populate the channel registry for channels matching this rule",
          "name": "populate-channel-registry",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "push-enabled": {
          "description": "Whether push notifications should be enabled for channels matching this rule",
          "name": "push-enabled",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "tls-only": {
          "description": "Whether to enforce TLS for channels matching this rule",
          "name": "tls-only",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "apps:rules:update",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "apps",
        "rules",
        "update.js"
      ]
    },
    "auth:keys:create": {
      "aliases": [],
      "args": {
        "keyName": {
          "description": "Name of the key",
          "name": "keyName",
          "required": true
        }
      },
      "description": "Create a new API key for an app",
      "examples": [
        "$ ably auth keys create \"My New Key\"",
        "$ ably auth keys create \"My New Key\" --app APP_ID",
        "$ ably auth keys create \"My New Key\" --capabilities '{\"*\":[\"*\"]}'",
        "$ ably auth keys create \"My New Key\" --capabilities '{\"channel1\":[\"publish\",\"subscribe\"],\"channel2\":[\"history\"]}'",
        "$ ably auth keys create \"My New Key\" --capabilities \"publish,subscribe\"",
        "$ ably auth keys create \"My New Key\" --json",
        "$ ably auth keys create \"My New Key\" --pretty-json",
        "$ ably auth keys create \"MyKey\" --app APP_ID --capabilities '{\"channel:*\":[\"publish\"]}'",
        "$ ably auth keys create \"MyOtherKey\" --app APP_ID --capabilities '{\"channel:chat-*\":[\"subscribe\"],\"channel:updates\":[\"publish\"]}'"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "env": "ABLY_APP_ID",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "capabilities": {
          "description": "Capabilities as JSON object (per-channel) or comma-separated list (all channels)",
          "name": "capabilities",
          "default": "{\"*\":[\"*\"]}",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth:keys:create",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "keys",
        "create.js"
      ]
    },
    "auth:keys:current": {
      "aliases": [],
      "args": {},
      "description": "Show the current API key for the selected app",
      "examples": [
        "$ ably auth keys current",
        "$ ably auth keys current --app APP_ID",
        "$ ably auth keys current --json",
        "$ ably auth keys current --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "env": "ABLY_APP_ID",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth:keys:current",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "keys",
        "current.js"
      ]
    },
    "auth:keys:get": {
      "aliases": [],
      "args": {
        "keyNameOrValue": {
          "description": "Key name \"<APP_ID>.<KEY_ID>\" or value \"<APP_ID>.<KEY_ID>:<KEY_SECRET>\"",
          "name": "keyNameOrValue",
          "required": true
        }
      },
      "description": "Get details for a specific key",
      "examples": [
        "$ ably auth keys get \"APP_ID.KEY_ID\"",
        "$ ably auth keys get \"APP_ID.KEY_ID:KEY_SECRET\"",
        "$ ably auth keys get \"APP_ID.KEY_ID\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth:keys:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "keys",
        "get.js"
      ]
    },
    "auth:keys": {
      "aliases": [],
      "args": {},
      "description": "Key management commands",
      "examples": [
        "$ ably auth keys list",
        "$ ably auth keys create \"My New Key\"",
        "$ ably auth keys get KEY_ID",
        "$ ably auth keys revoke KEY_ID",
        "$ ably auth keys update KEY_ID --name \"New Name\"",
        "$ ably auth keys switch KEY_ID"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth:keys",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "keys",
        "index.js"
      ]
    },
    "auth:keys:list": {
      "aliases": [],
      "args": {},
      "description": "List all keys in the app",
      "examples": [
        "$ ably auth keys list",
        "$ ably auth keys list --app APP_ID",
        "$ ably auth keys list --json",
        "$ ably auth keys list --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "env": "ABLY_APP_ID",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth:keys:list",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "keys",
        "list.js"
      ]
    },
    "auth:keys:revoke": {
      "aliases": [],
      "args": {
        "keyNameOrValue": {
          "description": "Key name \"<APP_ID>.<KEY_ID>\" or value \"<APP_ID>.<KEY_ID>:<KEY_SECRET>\"",
          "name": "keyNameOrValue",
          "required": true
        }
      },
      "description": "Revoke an API key (permanently disables the key)",
      "examples": [
        "$ ably auth keys revoke \"APP_ID.KEY_ID\"",
        "$ ably auth keys revoke \"APP_ID.KEY_ID:KEY_SECRET\"",
        "$ ably auth keys revoke \"APP_ID.KEY_ID\" --force",
        "$ ably auth keys revoke \"APP_ID.KEY_ID\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth:keys:revoke",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "keys",
        "revoke.js"
      ]
    },
    "auth:keys:switch": {
      "aliases": [],
      "args": {
        "keyNameOrValue": {
          "description": "Key name \"<APP_ID>.<KEY_ID>\" or value \"<APP_ID>.<KEY_ID>:<KEY_SECRET>\"",
          "name": "keyNameOrValue",
          "required": false
        }
      },
      "description": "Switch to a different API key for the current app",
      "examples": [
        "$ ably auth keys switch",
        "$ ably auth keys switch \"APP_ID.KEY_ID\"",
        "$ ably auth keys switch \"APP_ID.KEY_ID:KEY_SECRET\"",
        "$ ably auth keys switch --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "env": "ABLY_APP_ID",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth:keys:switch",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "keys",
        "switch.js"
      ]
    },
    "auth:keys:update": {
      "aliases": [],
      "args": {
        "keyNameOrValue": {
          "description": "Key name \"<APP_ID>.<KEY_ID>\" or value \"<APP_ID>.<KEY_ID>:<KEY_SECRET>\"",
          "name": "keyNameOrValue",
          "required": true
        }
      },
      "description": "Update the name or capabilities of a key",
      "examples": [
        "$ ably auth keys update \"APP_ID.KEY_ID\" --name \"New Name\"",
        "$ ably auth keys update \"APP_ID.KEY_ID:KEY_SECRET\" --name \"New Name\"",
        "$ ably auth keys update \"APP_ID.KEY_ID\" --capabilities '{\"channel1\":[\"publish\"],\"channel2\":[\"subscribe\"]}'",
        "$ ably auth keys update \"APP_ID.KEY_ID\" --capabilities \"publish,subscribe,history\"",
        "$ ably auth keys update \"APP_ID.KEY_ID\" --name \"New Name\" --capabilities \"publish,subscribe\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "capabilities": {
          "description": "New capabilities as JSON object (per-channel) or comma-separated list (all channels)",
          "name": "capabilities",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "name": {
          "description": "New name for the key",
          "name": "name",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "auth:keys:update",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "auth",
        "keys",
        "update.js"
      ]
    },
    "channels:annotations:delete": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The channel name",
          "name": "channelName",
          "required": true
        },
        "messageSerial": {
          "description": "The serial of the message to remove annotation from",
          "name": "messageSerial",
          "required": true
        },
        "annotationType": {
          "description": "The annotation type (e.g., reactions:flag.v1, reactions:multiple.v1)",
          "name": "annotationType",
          "required": true
        }
      },
      "description": "Delete an annotation from a channel message",
      "examples": [
        "$ ably channels annotations delete my-channel \"01234567890:0\" \"receipts:flag.v1\"",
        "$ ably channels annotations delete my-channel \"01234567890:0\" \"categories:distinct.v1\" --name important",
        "$ ably channels annotations delete my-channel \"01234567890:0\" \"reactions:unique.v1\" --name thumbsup",
        "$ ably channels annotations delete my-channel \"01234567890:0\" \"rating:multiple.v1\" --name stars",
        "$ ably channels annotations delete my-channel \"01234567890:0\" \"receipts:flag.v1\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "The annotation name (e.g., emoji name for reactions)",
          "name": "name",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:annotations:delete",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "annotations",
        "delete.js"
      ]
    },
    "channels:annotations:get": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The channel name",
          "name": "channelName",
          "required": true
        },
        "messageSerial": {
          "description": "The serial of the message to get annotations for",
          "name": "messageSerial",
          "required": true
        }
      },
      "description": "List individual annotation events published for a given channel message",
      "examples": [
        "$ ably channels annotations get my-channel \"01234567890:0\"",
        "$ ably channels annotations get my-channel \"01234567890:0\" --limit 100",
        "$ ably channels annotations get my-channel \"01234567890:0\" --json",
        "$ ably channels annotations get my-channel \"01234567890:0\" --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:annotations:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "annotations",
        "get.js"
      ]
    },
    "channels:annotations": {
      "aliases": [],
      "args": {},
      "description": "Manage annotations on Ably Pub/Sub channel messages",
      "examples": [
        "<%= config.bin %> <%= command.id %> publish my-channel \"01234567890:0\" \"metrics:total.v1\"",
        "<%= config.bin %> <%= command.id %> publish my-channel \"01234567890:0\" \"reactions:unique.v1\" --name thumbsup",
        "<%= config.bin %> <%= command.id %> subscribe my-channel",
        "<%= config.bin %> <%= command.id %> get my-channel \"01234567890:0\"",
        "<%= config.bin %> <%= command.id %> delete my-channel \"01234567890:0\" \"receipts:flag.v1\""
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:annotations",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "annotations",
        "index.js"
      ]
    },
    "channels:annotations:publish": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The channel name",
          "name": "channelName",
          "required": true
        },
        "messageSerial": {
          "description": "The serial of the message to annotate",
          "name": "messageSerial",
          "required": true
        },
        "annotationType": {
          "description": "The annotation type (e.g., reactions:flag.v1, reactions:multiple.v1)",
          "name": "annotationType",
          "required": true
        }
      },
      "description": "Publish an annotation on a channel message",
      "examples": [
        "$ ably channels annotations publish my-channel \"01234567890:0\" \"metrics:total.v1\"",
        "$ ably channels annotations publish my-channel \"01234567890:0\" \"receipts:flag.v1\"",
        "$ ably channels annotations publish my-channel \"01234567890:0\" \"categories:distinct.v1\" --name important",
        "$ ably channels annotations publish my-channel \"01234567890:0\" \"reactions:unique.v1\" --name thumbsup",
        "$ ably channels annotations publish my-channel \"01234567890:0\" \"rating:multiple.v1\" --name stars --count 4",
        "$ ably channels annotations publish my-channel \"01234567890:0\" \"metrics:total.v1\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "count": {
          "description": "The annotation count (for multiple.v1 types)",
          "name": "count",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "data": {
          "description": "Arbitrary annotation payload (JSON string or plain text)",
          "name": "data",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "encoding": {
          "char": "e",
          "description": "The encoding for the annotation data",
          "name": "encoding",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "The annotation name (e.g., emoji name for reactions)",
          "name": "name",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:annotations:publish",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "annotations",
        "publish.js"
      ]
    },
    "channels:annotations:subscribe": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "The channel name to subscribe to annotations on",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Subscribe to annotations on an Ably channel",
      "examples": [
        "$ ably channels annotations subscribe my-channel",
        "$ ably channels annotations subscribe my-channel --type \"reactions:flag.v1\"",
        "$ ably channels annotations subscribe my-channel --type \"metrics:total.v1\"",
        "$ ably channels annotations subscribe my-channel --duration 30",
        "$ ably channels annotations subscribe my-channel --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "rewind": {
          "description": "Number of messages to rewind when subscribing (default: 0)",
          "name": "rewind",
          "default": 0,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "type": {
          "description": "Filter annotations by type",
          "name": "type",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:annotations:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "annotations",
        "subscribe.js"
      ]
    },
    "channels:occupancy:get": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "Channel name to get occupancy for",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Get current occupancy metrics for a channel",
      "examples": [
        "$ ably channels occupancy get my-channel",
        "$ ably channels occupancy get my-channel --json",
        "$ ably channels occupancy get my-channel --pretty-json",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably channels occupancy get my-channel"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:occupancy:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "occupancy",
        "get.js"
      ]
    },
    "channels:occupancy:subscribe": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "Channel name to subscribe to occupancy events",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Subscribe to occupancy events on a channel",
      "examples": [
        "$ ably channels occupancy subscribe my-channel",
        "$ ably channels occupancy subscribe my-channel --json",
        "$ ably channels occupancy subscribe my-channel --pretty-json",
        "$ ably channels occupancy subscribe my-channel --duration 30",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably channels occupancy subscribe my-channel"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:occupancy:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "occupancy",
        "subscribe.js"
      ]
    },
    "channels:presence:enter": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "Channel to enter presence on",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Enter presence on a channel and remain present until terminated",
      "examples": [
        "$ ably channels presence enter my-channel",
        "$ ably channels presence enter my-channel --client-id \"client123\"",
        "$ ably channels presence enter my-channel --client-id \"client123\" --data '{\"name\":\"John\",\"status\":\"online\"}'",
        "$ ably channels presence enter my-channel --show-others",
        "$ ably channels presence enter my-channel --json",
        "$ ably channels presence enter my-channel --pretty-json",
        "$ ably channels presence enter my-channel --duration 30",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably channels presence enter my-channel"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "data": {
          "description": "Optional JSON data to associate with the presence",
          "name": "data",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "show-others": {
          "description": "Show other presence events while present (default: false)",
          "name": "show-others",
          "allowNo": false,
          "type": "boolean"
        },
        "sequence-numbers": {
          "description": "Include sequence numbers in output",
          "name": "sequence-numbers",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:presence:enter",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "presence",
        "enter.js"
      ]
    },
    "channels:presence:get": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "Channel name to get presence members for",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Get all current presence members on a channel",
      "examples": [
        "$ ably channels presence get my-channel",
        "$ ably channels presence get my-channel --limit 50",
        "$ ably channels presence get my-channel --json",
        "$ ably channels presence get my-channel --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:presence:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "presence",
        "get.js"
      ]
    },
    "channels:presence:subscribe": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "Channel name to subscribe to presence events",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Subscribe to presence events on a channel",
      "examples": [
        "$ ably channels presence subscribe my-channel",
        "$ ably channels presence subscribe my-channel --client-id \"my-client\"",
        "$ ably channels presence subscribe my-channel --json",
        "$ ably channels presence subscribe my-channel --pretty-json",
        "$ ably channels presence subscribe my-channel --duration 30",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably channels presence subscribe my-channel"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "channels:presence:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "channels",
        "presence",
        "subscribe.js"
      ]
    },
    "push:channels": {
      "aliases": [],
      "args": {},
      "description": "Manage push notification channel subscriptions",
      "examples": [
        "<%= config.bin %> <%= command.id %> list \"my-channel\"",
        "<%= config.bin %> <%= command.id %> save \"my-channel\" --device-id device-123",
        "<%= config.bin %> <%= command.id %> list-channels"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:channels",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "channels",
        "index.js"
      ]
    },
    "push:channels:list-channels": {
      "aliases": [],
      "args": {},
      "description": "List channels with push subscriptions",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --limit 50",
        "<%= config.bin %> <%= command.id %> --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:channels:list-channels",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "channels",
        "list-channels.js"
      ]
    },
    "push:channels:list": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "Channel name to list subscriptions for",
          "name": "channelName",
          "required": true
        }
      },
      "description": "List push channel subscriptions",
      "examples": [
        "<%= config.bin %> <%= command.id %> \"my-channel\"",
        "<%= config.bin %> <%= command.id %> \"my-channel\" --device-id device-123",
        "<%= config.bin %> <%= command.id %> \"my-channel\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "device-id": {
          "description": "Filter by device ID",
          "name": "device-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Filter by client ID",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:channels:list",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "channels",
        "list.js"
      ]
    },
    "push:channels:remove-where": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "Channel name to filter by",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Remove push channel subscriptions matching filter criteria",
      "examples": [
        "<%= config.bin %> <%= command.id %> \"my-channel\"",
        "<%= config.bin %> <%= command.id %> \"my-channel\" --device-id device-123 --force",
        "<%= config.bin %> <%= command.id %> \"my-channel\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "device-id": {
          "description": "Filter by device ID",
          "name": "device-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Filter by client ID",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:channels:remove-where",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "channels",
        "remove-where.js"
      ]
    },
    "push:channels:remove": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "Channel name to unsubscribe from",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Remove a push channel subscription",
      "examples": [
        "<%= config.bin %> <%= command.id %> \"my-channel\" --device-id device-123",
        "<%= config.bin %> <%= command.id %> \"my-channel\" --client-id client-1 --force",
        "<%= config.bin %> <%= command.id %> \"my-channel\" --device-id device-123 --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "device-id": {
          "description": "Device ID to unsubscribe",
          "exclusive": [
            "client-id"
          ],
          "name": "device-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Client ID to unsubscribe",
          "exclusive": [
            "device-id"
          ],
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:channels:remove",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "channels",
        "remove.js"
      ]
    },
    "push:channels:save": {
      "aliases": [],
      "args": {
        "channelName": {
          "description": "Channel name to subscribe to",
          "name": "channelName",
          "required": true
        }
      },
      "description": "Subscribe a device or client to push notifications on a channel",
      "examples": [
        "<%= config.bin %> <%= command.id %> \"my-channel\" --device-id device-123",
        "<%= config.bin %> <%= command.id %> \"my-channel\" --client-id client-1",
        "<%= config.bin %> <%= command.id %> \"my-channel\" --device-id device-123 --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "device-id": {
          "description": "Device ID to subscribe",
          "exclusive": [
            "client-id"
          ],
          "name": "device-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Client ID to subscribe",
          "exclusive": [
            "device-id"
          ],
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:channels:save",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "channels",
        "save.js"
      ]
    },
    "push:config:clear-apns": {
      "aliases": [],
      "args": {},
      "description": "Clear APNs push notification configuration for an app",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --app my-app --force",
        "<%= config.bin %> <%= command.id %> --force --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:config:clear-apns",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "config",
        "clear-apns.js"
      ]
    },
    "push:config:clear-fcm": {
      "aliases": [],
      "args": {},
      "description": "Clear FCM push notification configuration for an app",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --app my-app --force",
        "<%= config.bin %> <%= command.id %> --force --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:config:clear-fcm",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "config",
        "clear-fcm.js"
      ]
    },
    "push:config": {
      "aliases": [],
      "args": {},
      "description": "Manage push notification configuration (APNs, FCM)",
      "examples": [
        "<%= config.bin %> <%= command.id %> show",
        "<%= config.bin %> <%= command.id %> set-apns --certificate /path/to/cert.p12",
        "<%= config.bin %> <%= command.id %> set-fcm --service-account /path/to/service-account.json"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:config",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "config",
        "index.js"
      ]
    },
    "push:config:set-apns": {
      "aliases": [],
      "args": {},
      "description": "Configure APNs push notifications for an app",
      "examples": [
        "<%= config.bin %> <%= command.id %> --certificate /path/to/cert.p12",
        "<%= config.bin %> <%= command.id %> --certificate /path/to/cert.p12 --password secret --sandbox",
        "<%= config.bin %> <%= command.id %> --key-file /path/to/key.p8 --key-id ABC123 --team-id DEF456 --topic com.example.app",
        "<%= config.bin %> <%= command.id %> --certificate /path/to/cert.p12 --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "certificate": {
          "description": "Path to the P12 certificate file",
          "exclusive": [
            "key-file"
          ],
          "name": "certificate",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "key-file": {
          "description": "Path to the P8 key file",
          "exclusive": [
            "certificate"
          ],
          "name": "key-file",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "key-id": {
          "description": "The APNs key ID (required for P8)",
          "name": "key-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "password": {
          "description": "Password for the P12 certificate",
          "name": "password",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "sandbox": {
          "description": "Use the APNs sandbox environment",
          "name": "sandbox",
          "allowNo": false,
          "type": "boolean"
        },
        "team-id": {
          "description": "The Apple Developer Team ID (required for P8)",
          "name": "team-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "topic": {
          "description": "The APNs topic / bundle ID (required for P8)",
          "name": "topic",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:config:set-apns",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "config",
        "set-apns.js"
      ]
    },
    "push:config:set-fcm": {
      "aliases": [],
      "args": {},
      "description": "Configure FCM push notifications for an app",
      "examples": [
        "<%= config.bin %> <%= command.id %> --service-account /path/to/service-account.json",
        "<%= config.bin %> <%= command.id %> --service-account /path/to/service-account.json --app my-app",
        "<%= config.bin %> <%= command.id %> --service-account /path/to/service-account.json --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "service-account": {
          "description": "Path to the FCM service account JSON file",
          "name": "service-account",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:config:set-fcm",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "config",
        "set-fcm.js"
      ]
    },
    "push:config:show": {
      "aliases": [],
      "args": {},
      "description": "Show push notification configuration for an app",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --app my-app",
        "<%= config.bin %> <%= command.id %> --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "env": "ABLY_CONTROL_HOST",
          "hidden": true,
          "name": "control-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "env": "ABLY_DASHBOARD_HOST",
          "hidden": true,
          "name": "dashboard-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "env": "ABLY_OAUTH_HOST",
          "hidden": true,
          "name": "oauth-host",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "app": {
          "description": "The app ID or name (defaults to current app)",
          "name": "app",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:config:show",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "control-host": {
          "description": "Override the host endpoint for the control API, which defaults to control.ably.net",
          "hidden": true,
          "env": "ABLY_CONTROL_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "dashboard-host": {
          "description": "Override the host for the Ably dashboard, which defaults to https://ably.com",
          "hidden": true,
          "env": "ABLY_DASHBOARD_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "oauth-host": {
          "description": "Override the host for the OAuth authorization server, which defaults to ably.com",
          "hidden": true,
          "env": "ABLY_OAUTH_HOST",
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "config",
        "show.js"
      ]
    },
    "push:devices:get": {
      "aliases": [],
      "args": {
        "deviceId": {
          "description": "The device ID to retrieve",
          "name": "deviceId",
          "required": true
        }
      },
      "description": "Get details of a push device registration",
      "examples": [
        "<%= config.bin %> <%= command.id %> device-123",
        "<%= config.bin %> <%= command.id %> device-123 --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:devices:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "devices",
        "get.js"
      ]
    },
    "push:devices": {
      "aliases": [],
      "args": {},
      "description": "Manage push notification device registrations",
      "examples": [
        "<%= config.bin %> <%= command.id %> list",
        "<%= config.bin %> <%= command.id %> get device-123",
        "<%= config.bin %> <%= command.id %> save --id device-123 --platform ios --form-factor phone --transport-type apns --device-token token123"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:devices",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "devices",
        "index.js"
      ]
    },
    "push:devices:list": {
      "aliases": [],
      "args": {},
      "description": "List push device registrations",
      "examples": [
        "<%= config.bin %> <%= command.id %>",
        "<%= config.bin %> <%= command.id %> --device-id device-123",
        "<%= config.bin %> <%= command.id %> --client-id client-1",
        "<%= config.bin %> <%= command.id %> --limit 50 --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "device-id": {
          "description": "Filter by device ID",
          "name": "device-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Filter by client ID",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "state": {
          "description": "Filter by device state",
          "name": "state",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "ACTIVE",
            "FAILING",
            "FAILED"
          ],
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:devices:list",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "devices",
        "list.js"
      ]
    },
    "push:devices:remove-where": {
      "aliases": [],
      "args": {},
      "description": "Remove push device registrations matching filter criteria",
      "examples": [
        "<%= config.bin %> <%= command.id %> --device-id device-123",
        "<%= config.bin %> <%= command.id %> --client-id client-1 --force",
        "<%= config.bin %> <%= command.id %> --device-id device-123 --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "device-id": {
          "description": "Filter by device ID",
          "name": "device-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Filter by client ID",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:devices:remove-where",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "devices",
        "remove-where.js"
      ]
    },
    "push:devices:remove": {
      "aliases": [],
      "args": {
        "deviceId": {
          "description": "The device ID to remove",
          "name": "deviceId",
          "required": true
        }
      },
      "description": "Remove a push device registration",
      "examples": [
        "<%= config.bin %> <%= command.id %> device-123",
        "<%= config.bin %> <%= command.id %> device-123 --force",
        "<%= config.bin %> <%= command.id %> device-123 --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "force": {
          "char": "f",
          "description": "Skip confirmation prompt (required with --json)",
          "name": "force",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:devices:remove",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "devices",
        "remove.js"
      ]
    },
    "push:devices:save": {
      "aliases": [],
      "args": {},
      "description": "Register or update a push device",
      "examples": [
        "<%= config.bin %> <%= command.id %> --id device-123 --platform ios --form-factor phone --transport-type apns --device-token token123",
        "<%= config.bin %> <%= command.id %> --id browser-1 --platform browser --form-factor desktop --transport-type web --target-url https://push.example.com --p256dh-key KEY --auth-secret SECRET",
        "<%= config.bin %> <%= command.id %> --data '{\"id\":\"device-123\",\"platform\":\"ios\",\"formFactor\":\"phone\",\"push\":{\"recipient\":{\"transportType\":\"apns\",\"deviceToken\":\"token123\"}}}'",
        "<%= config.bin %> <%= command.id %> --data @device.json",
        "<%= config.bin %> <%= command.id %> --id device-123 --platform ios --form-factor phone --transport-type apns --device-token token123 --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "id": {
          "description": "Device ID",
          "name": "id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "platform": {
          "description": "Device platform",
          "name": "platform",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "ios",
            "android",
            "browser"
          ],
          "type": "option"
        },
        "form-factor": {
          "description": "Device form factor",
          "name": "form-factor",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "phone",
            "tablet",
            "desktop",
            "tv",
            "watch",
            "car",
            "embedded",
            "other"
          ],
          "type": "option"
        },
        "transport-type": {
          "description": "Push transport type",
          "name": "transport-type",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "apns",
            "fcm",
            "web"
          ],
          "type": "option"
        },
        "device-token": {
          "description": "Push device token (required for apns/fcm transport)",
          "name": "device-token",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "target-url": {
          "description": "Web push target URL (required for web transport)",
          "name": "target-url",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "p256dh-key": {
          "description": "Web push P256DH key (required for web transport)",
          "name": "p256dh-key",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "auth-secret": {
          "description": "Web push auth secret (required for web transport)",
          "name": "auth-secret",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Client ID to associate with the device",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "metadata": {
          "description": "Device metadata as JSON",
          "name": "metadata",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "data": {
          "description": "Full device details as JSON string or @filepath",
          "name": "data",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "push:devices:save",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "push",
        "devices",
        "save.js"
      ]
    },
    "logs:channel-lifecycle": {
      "aliases": [],
      "args": {},
      "description": "Stream logs from [meta]channel.lifecycle meta channel",
      "examples": [
        "$ ably logs channel-lifecycle subscribe",
        "$ ably logs channel-lifecycle subscribe --rewind 10"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "logs:channel-lifecycle",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "logs",
        "channel-lifecycle",
        "index.js"
      ]
    },
    "logs:channel-lifecycle:subscribe": {
      "aliases": [],
      "args": {},
      "description": "Stream logs from [meta]channel.lifecycle meta channel",
      "examples": [
        "$ ably logs channel-lifecycle subscribe",
        "$ ably logs channel-lifecycle subscribe --rewind 10",
        "$ ably logs channel-lifecycle subscribe --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "rewind": {
          "description": "Number of messages to rewind when subscribing (default: 0)",
          "name": "rewind",
          "default": 0,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "logs:channel-lifecycle:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "logs",
        "channel-lifecycle",
        "subscribe.js"
      ]
    },
    "logs:connection-lifecycle:history": {
      "aliases": [],
      "args": {},
      "description": "Retrieve connection lifecycle log history",
      "examples": [
        "$ ably logs connection-lifecycle history",
        "$ ably logs connection-lifecycle history --limit 20",
        "$ ably logs connection-lifecycle history --direction forwards",
        "$ ably logs connection-lifecycle history --json",
        "$ ably logs connection-lifecycle history --pretty-json",
        "$ ably logs connection-lifecycle history --start \"2023-01-01T00:00:00Z\" --end \"2023-01-02T00:00:00Z\"",
        "$ ably logs connection-lifecycle history --start 1h"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "end": {
          "description": "End time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "end",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "start": {
          "description": "Start time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "start",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "direction": {
          "description": "Direction of log retrieval",
          "name": "direction",
          "default": "backwards",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "backwards",
            "forwards"
          ],
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "logs:connection-lifecycle:history",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "logs",
        "connection-lifecycle",
        "history.js"
      ]
    },
    "logs:connection-lifecycle": {
      "aliases": [],
      "args": {},
      "description": "Stream logs from [meta]connection.lifecycle meta channel",
      "examples": [
        "$ ably logs connection-lifecycle subscribe",
        "$ ably logs connection-lifecycle subscribe --rewind 10"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "logs:connection-lifecycle",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "logs",
        "connection-lifecycle",
        "index.js"
      ]
    },
    "logs:connection-lifecycle:subscribe": {
      "aliases": [],
      "args": {},
      "description": "Subscribe to live connection lifecycle logs",
      "examples": [
        "$ ably logs connection-lifecycle subscribe",
        "$ ably logs connection-lifecycle subscribe --json",
        "$ ably logs connection-lifecycle subscribe --pretty-json",
        "$ ably logs connection-lifecycle subscribe --duration 30"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "rewind": {
          "description": "Number of messages to rewind when subscribing (default: 0)",
          "name": "rewind",
          "default": 0,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "logs:connection-lifecycle:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "logs",
        "connection-lifecycle",
        "subscribe.js"
      ]
    },
    "logs:push:history": {
      "aliases": [],
      "args": {},
      "description": "Retrieve push notification log history",
      "examples": [
        "$ ably logs push history",
        "$ ably logs push history --limit 20",
        "$ ably logs push history --direction forwards",
        "$ ably logs push history --json",
        "$ ably logs push history --pretty-json",
        "$ ably logs push history --start \"2023-01-01T00:00:00Z\" --end \"2023-01-02T00:00:00Z\"",
        "$ ably logs push history --start 1h"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "end": {
          "description": "End time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "end",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "start": {
          "description": "Start time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "start",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "direction": {
          "description": "Direction of log retrieval",
          "name": "direction",
          "default": "backwards",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "backwards",
            "forwards"
          ],
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "logs:push:history",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "logs",
        "push",
        "history.js"
      ]
    },
    "logs:push": {
      "aliases": [],
      "args": {},
      "description": "Stream or retrieve push notification logs from [meta]log:push",
      "examples": [
        "$ ably logs push subscribe",
        "$ ably logs push subscribe --rewind 10",
        "$ ably logs push history"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "logs:push",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "logs",
        "push",
        "index.js"
      ]
    },
    "logs:push:subscribe": {
      "aliases": [],
      "args": {},
      "description": "Stream logs from the push notifications meta channel [meta]log:push",
      "examples": [
        "$ ably logs push subscribe",
        "$ ably logs push subscribe --rewind 10",
        "$ ably logs push subscribe --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "rewind": {
          "description": "Number of messages to rewind when subscribing (default: 0)",
          "name": "rewind",
          "default": 0,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "logs:push:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "logs",
        "push",
        "subscribe.js"
      ]
    },
    "rooms:occupancy:get": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "Room to get occupancy for",
          "name": "roomName",
          "required": true
        }
      },
      "description": "Get current occupancy metrics for a room",
      "examples": [
        "$ ably rooms occupancy get my-room",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably rooms occupancy get my-room",
        "$ ably rooms occupancy get my-room --json",
        "$ ably rooms occupancy get my-room --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:occupancy:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "occupancy",
        "get.js"
      ]
    },
    "rooms:occupancy:subscribe": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "Room to subscribe to occupancy for",
          "name": "roomName",
          "required": true
        }
      },
      "description": "Subscribe to real-time occupancy metrics for a room",
      "examples": [
        "$ ably rooms occupancy subscribe my-room",
        "$ ably rooms occupancy subscribe my-room --json",
        "$ ably rooms occupancy subscribe --pretty-json my-room"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:occupancy:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "occupancy",
        "subscribe.js"
      ]
    },
    "rooms:messages:delete": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "The room containing the message to delete",
          "name": "roomName",
          "required": true
        },
        "messageSerial": {
          "description": "The serial of the message to delete",
          "name": "messageSerial",
          "required": true
        }
      },
      "description": "Delete a message in an Ably Chat room",
      "examples": [
        "$ ably rooms messages delete my-room \"serial-001\"",
        "$ ably rooms messages delete my-room \"serial-001\" --description \"spam removal\"",
        "$ ably rooms messages delete my-room \"serial-001\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "description": {
          "description": "Description of the delete operation",
          "name": "description",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:messages:delete",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "messages",
        "delete.js"
      ]
    },
    "rooms:messages:history": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "The room to get message history from",
          "name": "roomName",
          "required": true
        }
      },
      "description": "Get historical messages from an Ably Chat room",
      "examples": [
        "$ ably rooms messages history my-room",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably rooms messages history my-room",
        "$ ably rooms messages history --limit 50 my-room",
        "$ ably rooms messages history --show-metadata my-room",
        "$ ably rooms messages history my-room --start \"2025-01-01T00:00:00Z\"",
        "$ ably rooms messages history my-room --start \"2025-01-01T00:00:00Z\" --end \"2025-01-02T00:00:00Z\"",
        "$ ably rooms messages history my-room --start 1h",
        "$ ably rooms messages history my-room --order newestFirst",
        "$ ably rooms messages history my-room --json",
        "$ ably rooms messages history my-room --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "end": {
          "description": "End time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "end",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "start": {
          "description": "Start time as ISO 8601, Unix ms, or relative (e.g., \"1h\", \"30m\", \"2d\")",
          "name": "start",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "char": "l",
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 50,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "order": {
          "description": "Order of results: oldestFirst or newestFirst",
          "name": "order",
          "default": "newestFirst",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "oldestFirst",
            "newestFirst"
          ],
          "type": "option"
        },
        "show-metadata": {
          "description": "Display message metadata if available",
          "name": "show-metadata",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:messages:history",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "messages",
        "history.js"
      ]
    },
    "rooms:messages": {
      "aliases": [],
      "args": {},
      "description": "Commands for working with chat messages in rooms",
      "examples": [
        "<%= config.bin %> <%= command.id %> send my-room \"Hello world!\"",
        "<%= config.bin %> <%= command.id %> subscribe my-room",
        "<%= config.bin %> <%= command.id %> history my-room",
        "<%= config.bin %> <%= command.id %> update my-room \"serial\" \"Updated text\"",
        "<%= config.bin %> <%= command.id %> delete my-room \"serial\""
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:messages",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "messages",
        "index.js"
      ]
    },
    "rooms:messages:send": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "The room to send the message to",
          "name": "roomName",
          "required": true
        },
        "text": {
          "description": "The message text to send",
          "name": "text",
          "required": true
        }
      },
      "description": "Send a message to an Ably Chat room",
      "examples": [
        "$ ably rooms messages send my-room \"Hello World!\"",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably rooms messages send my-room \"Welcome to the chat!\"",
        "$ ably rooms messages send --metadata '{\"isImportant\":true}' my-room \"Attention please!\"",
        "$ ably rooms messages send --count 5 my-room \"Message number {{.Count}}\"",
        "$ ably rooms messages send --count 10 --delay 1000 my-room \"Message at {{.Timestamp}}\"",
        "$ ably rooms messages send my-room \"Hello World!\" --json",
        "$ ably rooms messages send my-room \"Hello World!\" --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "count": {
          "char": "c",
          "description": "Number of messages to send",
          "name": "count",
          "default": 1,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "delay": {
          "char": "d",
          "description": "Delay between messages in milliseconds (max 25 msgs/sec)",
          "name": "delay",
          "default": 40,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "metadata": {
          "description": "Additional metadata for the message (JSON format)",
          "name": "metadata",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:messages:send",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "messages",
        "send.js"
      ]
    },
    "rooms:messages:subscribe": {
      "aliases": [],
      "args": {
        "roomNames": {
          "description": "Room name(s) to subscribe to messages from",
          "name": "roomNames",
          "required": true
        }
      },
      "description": "Subscribe to messages in one or more Ably Chat rooms",
      "examples": [
        "$ ably rooms messages subscribe my-room",
        "$ ably rooms messages subscribe room1 room2 room3",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably rooms messages subscribe my-room",
        "$ ably rooms messages subscribe --show-metadata my-room",
        "$ ably rooms messages subscribe my-room --duration 30",
        "$ ably rooms messages subscribe my-room --json",
        "$ ably rooms messages subscribe my-room --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "show-metadata": {
          "description": "Display message metadata if available",
          "name": "show-metadata",
          "allowNo": false,
          "type": "boolean"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "sequence-numbers": {
          "description": "Include sequence numbers in output",
          "name": "sequence-numbers",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:messages:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "messages",
        "subscribe.js"
      ]
    },
    "rooms:messages:update": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "The room containing the message to update",
          "name": "roomName",
          "required": true
        },
        "messageSerial": {
          "description": "The serial of the message to update",
          "name": "messageSerial",
          "required": true
        },
        "text": {
          "description": "The new message text",
          "name": "text",
          "required": true
        }
      },
      "description": "Update a message in an Ably Chat room",
      "examples": [
        "$ ably rooms messages update my-room \"serial-001\" \"Updated text\"",
        "$ ably rooms messages update my-room \"serial-001\" \"Updated text\" --description \"typo fix\"",
        "$ ably rooms messages update my-room \"serial-001\" \"Updated text\" --metadata '{\"edited\":true}'",
        "$ ably rooms messages update my-room \"serial-001\" \"Updated text\" --headers '{\"source\":\"cli\"}'",
        "$ ably rooms messages update my-room \"serial-001\" \"Updated text\" --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "description": {
          "description": "Description of the update operation",
          "name": "description",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "headers": {
          "description": "Additional headers for the message (JSON format)",
          "name": "headers",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "metadata": {
          "description": "Additional metadata for the message (JSON format)",
          "name": "metadata",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:messages:update",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "messages",
        "update.js"
      ]
    },
    "rooms:presence:enter": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "Room to enter presence on",
          "name": "roomName",
          "required": true
        }
      },
      "description": "Enter presence in a chat room and remain present until terminated",
      "examples": [
        "$ ably rooms presence enter my-room",
        "$ ably rooms presence enter my-room --data '{\"name\":\"User\",\"status\":\"active\"}'",
        "$ ably rooms presence enter my-room --show-others",
        "$ ably rooms presence enter my-room --duration 30",
        "$ ably rooms presence enter my-room --json",
        "$ ably rooms presence enter my-room --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "show-others": {
          "description": "Show other presence events while present (default: false)",
          "name": "show-others",
          "allowNo": false,
          "type": "boolean"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "data": {
          "description": "Data to include with the member (JSON format)",
          "name": "data",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "sequence-numbers": {
          "description": "Include sequence numbers in output",
          "name": "sequence-numbers",
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:presence:enter",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "presence",
        "enter.js"
      ]
    },
    "rooms:presence:get": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "Room to get presence members for",
          "name": "roomName",
          "required": true
        }
      },
      "description": "Get all current presence members in a chat room",
      "examples": [
        "$ ably rooms presence get my-room",
        "$ ably rooms presence get my-room --limit 50",
        "$ ably rooms presence get my-room --json",
        "$ ably rooms presence get my-room --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:presence:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "presence",
        "get.js"
      ]
    },
    "rooms:presence:subscribe": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "Room to subscribe to presence for",
          "name": "roomName",
          "required": true
        }
      },
      "description": "Subscribe to presence events in a chat room",
      "examples": [
        "$ ably rooms presence subscribe my-room",
        "$ ably rooms presence subscribe my-room --json",
        "$ ably rooms presence subscribe my-room --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:presence:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "presence",
        "subscribe.js"
      ]
    },
    "rooms:reactions:send": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "The room to send the reaction to",
          "name": "roomName",
          "required": true
        },
        "emoji": {
          "description": "The emoji reaction to send (e.g. 👍, ❤️, 😂)",
          "name": "emoji",
          "required": true
        }
      },
      "description": "Send a reaction in a chat room",
      "examples": [
        "$ ably rooms reactions send my-room 👍",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably rooms reactions send my-room 🎉",
        "$ ably rooms reactions send my-room ❤️ --json",
        "$ ably rooms reactions send my-room 😂 --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "metadata": {
          "description": "Additional metadata to send with the reaction (as JSON string)",
          "name": "metadata",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:reactions:send",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "reactions",
        "send.js"
      ]
    },
    "rooms:reactions:subscribe": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "Room to subscribe to reactions in",
          "name": "roomName",
          "required": true
        }
      },
      "description": "Subscribe to reactions in a chat room",
      "examples": [
        "$ ably rooms reactions subscribe my-room",
        "$ ably rooms reactions subscribe my-room --json",
        "$ ably rooms reactions subscribe my-room --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:reactions:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "reactions",
        "subscribe.js"
      ]
    },
    "rooms:typing": {
      "aliases": [],
      "args": {},
      "description": "Commands for working with typing indicators in chat rooms",
      "examples": [
        "<%= config.bin %> <%= command.id %> subscribe my-room",
        "<%= config.bin %> <%= command.id %> keystroke my-room"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:typing",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "typing",
        "index.js"
      ]
    },
    "rooms:typing:keystroke": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "The room to start typing in",
          "name": "roomName",
          "required": true
        }
      },
      "description": "Send a typing indicator in an Ably Chat room (use --auto-type to keep typing automatically until terminated)",
      "examples": [
        "$ ably rooms typing keystroke my-room",
        "$ ably rooms typing keystroke my-room --auto-type",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably rooms typing keystroke my-room",
        "$ ably rooms typing keystroke my-room --json",
        "$ ably rooms typing keystroke my-room --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "auto-type": {
          "description": "Automatically keep typing indicator active",
          "name": "auto-type",
          "allowNo": false,
          "type": "boolean"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:typing:keystroke",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "typing",
        "keystroke.js"
      ]
    },
    "rooms:typing:subscribe": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "The room to subscribe to typing indicators from",
          "name": "roomName",
          "required": true
        }
      },
      "description": "Subscribe to typing indicators in an Ably Chat room",
      "examples": [
        "$ ably rooms typing subscribe my-room",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably rooms typing subscribe my-room",
        "$ ably rooms typing subscribe my-room --json",
        "$ ably rooms typing subscribe my-room --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:typing:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "typing",
        "subscribe.js"
      ]
    },
    "spaces:cursors:get": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to get cursors from",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Get all current cursors in a space",
      "examples": [
        "$ ably spaces cursors get my-space",
        "$ ably spaces cursors get my-space --json",
        "$ ably spaces cursors get my-space --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:cursors:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "cursors",
        "get.js"
      ]
    },
    "spaces:cursors:set": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to set cursor in",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Set a cursor with position data in a space",
      "examples": [
        "$ ably spaces cursors set my-space --x 100 --y 200",
        "$ ably spaces cursors set my-space --x 100 --y 200 --data '{\"name\": \"John\", \"color\": \"#ff0000\"}'",
        "$ ably spaces cursors set my-space --simulate",
        "$ ably spaces cursors set my-space --simulate --x 500 --y 500",
        "$ ably spaces cursors set my-space --data '{\"position\": {\"x\": 100, \"y\": 200}}'",
        "$ ably spaces cursors set my-space --data '{\"position\": {\"x\": 100, \"y\": 200}, \"data\": {\"name\": \"John\", \"color\": \"#ff0000\"}}'",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably spaces cursors set my-space --x 100 --y 200",
        "$ ably spaces cursors set my-space --x 100 --y 200 --json",
        "$ ably spaces cursors set my-space --x 100 --y 200 --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "data": {
          "description": "The cursor data to set (as JSON string)",
          "name": "data",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "x": {
          "description": "The x coordinate for cursor position",
          "name": "x",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "y": {
          "description": "The y coordinate for cursor position",
          "name": "y",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "simulate": {
          "description": "Simulate cursor movement every 250ms with random positions",
          "name": "simulate",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:cursors:set",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "cursors",
        "set.js"
      ]
    },
    "spaces:cursors:subscribe": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to subscribe to cursors for",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Subscribe to cursor movements in a space",
      "examples": [
        "$ ably spaces cursors subscribe my-space",
        "$ ably spaces cursors subscribe my-space --json",
        "$ ably spaces cursors subscribe my-space --pretty-json",
        "$ ably spaces cursors subscribe my-space --duration 30"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:cursors:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "cursors",
        "subscribe.js"
      ]
    },
    "spaces:locations:get": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to get locations from",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Get all current locations in a space",
      "examples": [
        "$ ably spaces locations get my-space",
        "$ ably spaces locations get my-space --json",
        "$ ably spaces locations get my-space --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:locations:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "locations",
        "get.js"
      ]
    },
    "spaces:locations:set": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to set location in",
          "name": "spaceName",
          "required": true
        },
        "location": {
          "description": "Location data to set (JSON format)",
          "name": "location",
          "required": true
        }
      },
      "description": "Set location in a space",
      "examples": [
        "$ ably spaces locations set \"my-space\" '{\"x\":10,\"y\":20}'",
        "$ ably spaces locations set \"my-space\" '{\"sectionId\":\"section1\"}'",
        "$ ably spaces locations set \"my-space\" '{\"x\":10,\"y\":20}' --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:locations:set",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "locations",
        "set.js"
      ]
    },
    "spaces:locations:subscribe": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to subscribe to locations for",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Subscribe to location updates for members in a space",
      "examples": [
        "$ ably spaces locations subscribe my-space",
        "$ ably spaces locations subscribe my-space --json",
        "$ ably spaces locations subscribe my-space --pretty-json",
        "$ ably spaces locations subscribe my-space --duration 30"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:locations:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "locations",
        "subscribe.js"
      ]
    },
    "spaces:locks:acquire": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to acquire lock in",
          "name": "spaceName",
          "required": true
        },
        "lockId": {
          "description": "ID of the lock to acquire",
          "name": "lockId",
          "required": true
        }
      },
      "description": "Acquire a lock in a space",
      "examples": [
        "$ ably spaces locks acquire my-space my-lock-id",
        "$ ably spaces locks acquire my-space my-lock-id --data '{\"type\":\"editor\"}'",
        "$ ably spaces locks acquire my-space my-lock-id --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "data": {
          "description": "Optional data to associate with the lock (JSON format)",
          "name": "data",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:locks:acquire",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "locks",
        "acquire.js"
      ]
    },
    "spaces:locks:get": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to get locks from",
          "name": "spaceName",
          "required": true
        },
        "lockId": {
          "description": "Lock ID to get (omit to get all locks)",
          "name": "lockId",
          "required": false
        }
      },
      "description": "Get a lock or all locks in a space",
      "examples": [
        "$ ably spaces locks get my-space",
        "$ ably spaces locks get my-space --json",
        "$ ably spaces locks get my-space --pretty-json",
        "$ ably spaces locks get my-space lock-id",
        "$ ably spaces locks get my-space lock-id --json",
        "$ ably spaces locks get my-space lock-id --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:locks:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "locks",
        "get.js"
      ]
    },
    "spaces:locks:subscribe": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to subscribe to locks for",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Subscribe to lock events in a space",
      "examples": [
        "$ ably spaces locks subscribe my-space",
        "$ ably spaces locks subscribe my-space --json",
        "$ ably spaces locks subscribe my-space --pretty-json",
        "$ ably spaces locks subscribe my-space --duration 30"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:locks:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "locks",
        "subscribe.js"
      ]
    },
    "spaces:members:enter": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to enter",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Enter a space and remain present until terminated",
      "examples": [
        "$ ably spaces members enter my-space",
        "$ ably spaces members enter my-space --profile '{\"name\":\"User\",\"status\":\"active\"}'",
        "$ ably spaces members enter my-space --duration 30",
        "$ ably spaces members enter my-space --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "profile": {
          "description": "Optional profile data to include with the member (JSON format)",
          "name": "profile",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:members:enter",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "members",
        "enter.js"
      ]
    },
    "spaces:members:get": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to get members from",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Get all members in a space",
      "examples": [
        "$ ably spaces members get my-space",
        "$ ably spaces members get my-space --json",
        "$ ably spaces members get my-space --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:members:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "members",
        "get.js"
      ]
    },
    "spaces:members:subscribe": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Name of the space to subscribe to members for",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Subscribe to member presence events in a space",
      "examples": [
        "$ ably spaces members subscribe my-space",
        "$ ably spaces members subscribe my-space --json",
        "$ ably spaces members subscribe my-space --pretty-json",
        "$ ably spaces members subscribe my-space --duration 30"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:members:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "members",
        "subscribe.js"
      ]
    },
    "spaces:occupancy:get": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Space name to get occupancy for",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Get current occupancy metrics for a space",
      "examples": [
        "$ ably spaces occupancy get my-space",
        "$ ably spaces occupancy get my-space --json",
        "$ ably spaces occupancy get my-space --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:occupancy:get",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "occupancy",
        "get.js"
      ]
    },
    "spaces:occupancy": {
      "aliases": [],
      "args": {},
      "description": "Commands for working with occupancy in Ably Spaces",
      "examples": [
        "<%= config.bin %> <%= command.id %> get my-space",
        "<%= config.bin %> <%= command.id %> subscribe my-space"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:occupancy",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "occupancy",
        "index.js"
      ]
    },
    "spaces:occupancy:subscribe": {
      "aliases": [],
      "args": {
        "spaceName": {
          "description": "Space name to subscribe to occupancy events",
          "name": "spaceName",
          "required": true
        }
      },
      "description": "Subscribe to occupancy events on a space",
      "examples": [
        "$ ably spaces occupancy subscribe my-space",
        "$ ably spaces occupancy subscribe my-space --json",
        "$ ably spaces occupancy subscribe my-space --duration 30"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "spaces:occupancy:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "spaces",
        "occupancy",
        "subscribe.js"
      ]
    },
    "rooms:messages:reactions": {
      "aliases": [],
      "args": {},
      "description": "Commands for working with message reactions in chat rooms",
      "examples": [
        "<%= config.bin %> <%= command.id %> send my-room \"message-id\" \"👍\"",
        "<%= config.bin %> <%= command.id %> subscribe my-room"
      ],
      "flags": {},
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:messages:reactions",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "strict": false,
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "messages",
        "reactions",
        "index.js"
      ]
    },
    "rooms:messages:reactions:remove": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "The room where the message is located",
          "name": "roomName",
          "required": true
        },
        "messageSerial": {
          "description": "The serial ID of the message to remove reaction from",
          "name": "messageSerial",
          "required": true
        },
        "reaction": {
          "description": "The reaction to remove (e.g. 👍, ❤️, 😂)",
          "name": "reaction",
          "required": true
        }
      },
      "description": "Remove a reaction from a message in a chat room",
      "examples": [
        "$ ably rooms messages reactions remove my-room message-serial 👍",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably rooms messages reactions remove my-room message-serial ❤️",
        "$ ably rooms messages reactions remove my-room message-serial 👍 --type unique",
        "$ ably rooms messages reactions remove my-room message-serial 👍 --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "type": {
          "description": "The type of reaction (unique, distinct, or multiple)",
          "name": "type",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "unique",
            "distinct",
            "multiple"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:messages:reactions:remove",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "messages",
        "reactions",
        "remove.js"
      ]
    },
    "rooms:messages:reactions:send": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "The room where the message is located",
          "name": "roomName",
          "required": true
        },
        "messageSerial": {
          "description": "The serial ID of the message to react to",
          "name": "messageSerial",
          "required": true
        },
        "reaction": {
          "description": "The reaction to send (e.g. 👍, ❤️, 😂)",
          "name": "reaction",
          "required": true
        }
      },
      "description": "Send a reaction to a message in a chat room",
      "examples": [
        "$ ably rooms messages reactions send my-room message-serial 👍",
        "$ ABLY_API_KEY=\"YOUR_API_KEY\" ably rooms messages reactions send my-room message-serial ❤️",
        "$ ably rooms messages reactions send my-room message-serial 👍 --type multiple --count 10",
        "$ ably rooms messages reactions send my-room message-serial 👍 --type unique",
        "$ ably rooms messages reactions send my-room message-serial 👍 --json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "type": {
          "description": "The type of reaction (unique, distinct, or multiple)",
          "name": "type",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "unique",
            "distinct",
            "multiple"
          ],
          "type": "option"
        },
        "count": {
          "dependsOn": [
            "type"
          ],
          "description": "Count value for Multiple type reactions",
          "name": "count",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:messages:reactions:send",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "messages",
        "reactions",
        "send.js"
      ]
    },
    "rooms:messages:reactions:subscribe": {
      "aliases": [],
      "args": {
        "roomName": {
          "description": "Room to subscribe to message reactions in",
          "name": "roomName",
          "required": true
        }
      },
      "description": "Subscribe to message reactions in a chat room",
      "examples": [
        "$ ably rooms messages reactions subscribe my-room",
        "$ ably rooms messages reactions subscribe my-room --raw",
        "$ ably rooms messages reactions subscribe my-room --json",
        "$ ably rooms messages reactions subscribe my-room --pretty-json"
      ],
      "flags": {
        "verbose": {
          "char": "v",
          "description": "Output verbose logs",
          "name": "verbose",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "name": "pretty-json",
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "name": "web-cli-help",
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "name": "port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "name": "tls-port",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "name": "tls",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "client-id": {
          "description": "Overrides any default client ID when using API authentication. Use \"none\" to explicitly set no client ID. Not applicable when using token authentication.",
          "name": "client-id",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "raw": {
          "description": "Subscribe to raw individual reaction events instead of summaries",
          "name": "raw",
          "allowNo": false,
          "type": "boolean"
        },
        "duration": {
          "char": "D",
          "description": "Automatically exit after N seconds",
          "name": "duration",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "rooms:messages:reactions:subscribe",
      "pluginAlias": "@ably/cli",
      "pluginName": "@ably/cli",
      "pluginType": "core",
      "globalFlags": {
        "verbose": {
          "char": "v",
          "default": false,
          "description": "Output verbose logs",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "json": {
          "description": "Output in JSON format",
          "exclusive": [
            "pretty-json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "pretty-json": {
          "description": "Output in colorized JSON format",
          "exclusive": [
            "json"
          ],
          "allowNo": false,
          "type": "boolean"
        },
        "web-cli-help": {
          "description": "Show help formatted for the web CLI",
          "hidden": true,
          "allowNo": false,
          "type": "boolean"
        },
        "port": {
          "description": "Override the port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls-port": {
          "description": "Override the TLS port for product API calls",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        },
        "tls": {
          "description": "Use TLS for product API calls (default is true)",
          "hidden": true,
          "input": [],
          "multiple": false,
          "type": "option"
        }
      },
      "isESM": true,
      "relativePath": [
        "dist",
        "src",
        "commands",
        "rooms",
        "messages",
        "reactions",
        "subscribe.js"
      ]
    }
  },
  "version": "1.1.1"
}