{
  "commands": {
    "aggregate:count": {
      "aliases": [],
      "args": {},
      "description": "Count records in a ServiceNow table.\n\nUses the Stats API to efficiently count records with optional encoded query filtering.\n\nFeatures:\n  • Fast record counting via Stats API\n  • Optional encoded query filtering\n  • JSON output for scripting",
      "examples": [
        {
          "description": "Count all incidents",
          "command": "<%= config.bin %> <%= command.id %> --table incident --auth dev"
        },
        {
          "description": "Count active critical incidents",
          "command": "<%= config.bin %> <%= command.id %> --table incident --query \"active=true^priority=1\" --auth dev"
        },
        {
          "description": "Count as JSON",
          "command": "<%= config.bin %> <%= command.id %> --table incident --query \"active=true\" --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "ServiceNow table name to count records in",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "query": {
          "char": "q",
          "description": "ServiceNow encoded query string to filter records",
          "name": "query",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "aggregate:count",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "aggregate",
        "count.js"
      ]
    },
    "aggregate:group": {
      "aliases": [],
      "args": {},
      "description": "Run a grouped aggregate query on a ServiceNow table.\n\nCompute aggregate statistics (COUNT, AVG, MIN, MAX, SUM) grouped by one or more fields using the Stats API. Supports HAVING clauses for filtering groups.\n\nFeatures:\n  • GROUP BY one or more fields\n  • Compute AVG, MIN, MAX, SUM per group\n  • HAVING clause for group filtering\n  • Display values for reference fields\n  • JSON output for scripting",
      "examples": [
        {
          "description": "Count incidents grouped by priority",
          "command": "<%= config.bin %> <%= command.id %> --table incident --group-by priority --count --auth dev"
        },
        {
          "description": "Average reassignment count grouped by priority and assignment group",
          "command": "<%= config.bin %> <%= command.id %> --table incident --group-by priority --group-by assignment_group --avg reassignment_count --count --display-value --auth dev"
        },
        {
          "description": "Groups with HAVING clause",
          "command": "<%= config.bin %> <%= command.id %> --table incident --group-by priority --count --having \"count>10\" --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "ServiceNow table name to aggregate",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "query": {
          "char": "q",
          "description": "ServiceNow encoded query string to filter records before grouping",
          "name": "query",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "group-by": {
          "char": "g",
          "description": "Field name(s) to group by",
          "name": "group-by",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "count": {
          "char": "c",
          "description": "Include record count per group",
          "name": "count",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "avg": {
          "description": "Comma-separated field names to compute AVG on per group",
          "name": "avg",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "min": {
          "description": "Comma-separated field names to compute MIN on per group",
          "name": "min",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "max": {
          "description": "Comma-separated field names to compute MAX on per group",
          "name": "max",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "sum": {
          "description": "Comma-separated field names to compute SUM on per group",
          "name": "sum",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "having": {
          "description": "HAVING clause to filter groups (e.g. \"count>10\")",
          "name": "having",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "display-value": {
          "char": "d",
          "description": "Return display values for group-by fields",
          "name": "display-value",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "aggregate:group",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "aggregate",
        "group.js"
      ]
    },
    "aggregate:query": {
      "aliases": [],
      "args": {},
      "description": "Run aggregate statistics on a ServiceNow table.\n\nCompute AVG, MIN, MAX, and SUM on specified fields using the Stats API. Optionally include a record count.\n\nFeatures:\n  • Compute AVG, MIN, MAX, SUM on any numeric field\n  • Optional record count\n  • Filter with encoded queries\n  • JSON output for scripting",
      "examples": [
        {
          "description": "Get average reassignment count for incidents",
          "command": "<%= config.bin %> <%= command.id %> --table incident --avg reassignment_count --auth dev"
        },
        {
          "description": "Get min, max, and average for active incidents",
          "command": "<%= config.bin %> <%= command.id %> --table incident --query \"active=true\" --avg reassignment_count --min reassignment_count --max reassignment_count --count --auth dev"
        },
        {
          "description": "Get sum as JSON",
          "command": "<%= config.bin %> <%= command.id %> --table incident --sum reassignment_count --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "ServiceNow table name to aggregate",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "query": {
          "char": "q",
          "description": "ServiceNow encoded query string to filter records",
          "name": "query",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "count": {
          "char": "c",
          "description": "Include record count in the result",
          "name": "count",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "avg": {
          "description": "Comma-separated field names to compute AVG on",
          "name": "avg",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "min": {
          "description": "Comma-separated field names to compute MIN on",
          "name": "min",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "max": {
          "description": "Comma-separated field names to compute MAX on",
          "name": "max",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        },
        "sum": {
          "description": "Comma-separated field names to compute SUM on",
          "name": "sum",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "aggregate:query",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "aggregate",
        "query.js"
      ]
    },
    "app": {
      "aliases": [],
      "args": {},
      "description": "Manage ServiceNow applications: uninstall applications from your instance.\n\nThis command provides programmatic control over ServiceNow applications, allowing you to uninstall applications remotely. This is useful for automated environment cleanup, testing workflows, and application lifecycle management.\n\nFeatures:\n  • Uninstall applications by sys_id and scope\n  • Automated application removal in CI/CD pipelines\n  • Proper cleanup and rollback handling\n  • Detailed logging and error reporting\n\nRequirements:\n  • User must have admin role\n  • Application must be in a removable state\n  • Both application sys_id and scope are required",
      "examples": [
        {
          "description": "Uninstall an application by sys_id and scope",
          "command": "<%= config.bin %> <%= command.id %> --uninstall --applicationId a1b2c3d4e5f6 --scope x_my_custom_app --auth dev-instance"
        },
        {
          "description": "Uninstall with enhanced debug logging",
          "command": "<%= config.bin %> <%= command.id %> -u -i a1b2c3d4e5f6 -s x_my_custom_app --auth dev-instance --log-level debug"
        },
        {
          "description": "Uninstall using short flags",
          "command": "<%= config.bin %> <%= command.id %> -u -i a1b2c3d4e5f6 -s x_my_custom_app -a dev-instance"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "uninstall": {
          "char": "u",
          "description": "Uninstall the app",
          "name": "uninstall",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "applicationId": {
          "char": "i",
          "description": "Application sys_id",
          "name": "applicationId",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scope": {
          "char": "s",
          "description": "Scope of application.",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "app",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "app",
        "index.js"
      ]
    },
    "app:install": {
      "aliases": [],
      "args": {},
      "description": "Install or upgrade multiple ServiceNow applications from a batch definition file.\n\nThis command enables automated installation and upgrade of multiple applications using a JSON definition file. Perfect for setting up new environments, deploying application bundles, or managing application dependencies. The batch file can specify multiple applications with their versions, scopes, and installation options.\n\nFeatures:\n  • Install multiple applications in a single operation\n  • Upgrade existing applications to new versions\n  • Control demo data loading per application\n  • Detailed installation progress and results\n  • Automatic dependency resolution\n  • Rollback support on failures\n\nBatch Definition Format:\n  The JSON file should contain an \"applications\" array with objects defining:\n  • name: Application name\n  • scope: Application scope (e.g., x_my_app)\n  • version: Target version number\n  • load_demo_data: Whether to load demo data (optional)\n  • notes: Installation notes (optional)",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --batch --definitionPath ./apps-to-install.json --auth dev-instance",
          "description": "Install applications from a batch definition file"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -b -d ./batch-apps.json -a dev-instance",
          "description": "Install with short flags"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -b -d ./apps.json -a dev-instance --log-level debug",
          "description": "Install with debug logging to troubleshoot issues"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "batch": {
          "char": "b",
          "description": "Enable batch installation mode from definition file",
          "name": "batch",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "definitionPath": {
          "char": "d",
          "description": "Path to JSON batch definition file containing applications to install",
          "name": "definitionPath",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "app:install",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "app",
        "install.js"
      ]
    },
    "app:repo-install": {
      "aliases": [],
      "args": {},
      "description": "Install an application from your ServiceNow company repository.\n\nThis command installs an application from your company's internal application repository. You can specify the application by its scope name, and optionally specify a particular version. The command will automatically look up the application details and initiate the installation.\n\nFeatures:\n  • Install applications by scope name\n  • Automatic lookup of application sys_id\n  • Optional version specification (defaults to latest)\n  • Wait for installation completion with progress monitoring\n  • No-wait mode for background installations\n  • Configurable polling intervals and timeouts\n  • Detailed installation status and error reporting\n\nInstallation Process:\n  1. Looks up the application in the company repository by scope\n  2. Verifies the application is available and installable\n  3. Initiates the installation via CI/CD API\n  4. Monitors progress until completion (unless --no-wait specified)\n  5. Reports final status and any errors\n\nRequirements:\n  • User must have sn_cicd.sys_ci_automation role\n  • Application must exist in company repository\n  • Application must not be already installed (or use upgrade)",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --scope x_my_custom_app --auth dev-instance",
          "description": "Install application by scope (latest version)"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --scope x_my_app --version 2.1.0 --auth dev-instance",
          "description": "Install specific version of an application"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --scope x_my_app --no-wait --auth dev-instance",
          "description": "Install without waiting for completion"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -s x_my_app -a dev-instance --timeout 3600000",
          "description": "Install with custom timeout (1 hour)"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -s x_my_app -a dev-instance --log-level debug",
          "description": "Install with debug logging"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "no-wait": {
          "char": "w",
          "description": "Do not wait for installation to complete",
          "name": "no-wait",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "poll-interval": {
          "description": "Polling interval in milliseconds (default: 5000)",
          "name": "poll-interval",
          "required": false,
          "default": 5000,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scope": {
          "char": "s",
          "description": "Application scope (e.g., x_my_custom_app)",
          "name": "scope",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "timeout": {
          "char": "t",
          "description": "Installation timeout in milliseconds (default: 1800000 = 30 min)",
          "name": "timeout",
          "required": false,
          "default": 1800000,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "version": {
          "char": "v",
          "description": "Specific version to install (defaults to latest)",
          "name": "version",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "app:repo-install",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "app",
        "repo-install.js"
      ]
    },
    "app:repo-list": {
      "aliases": [],
      "args": {},
      "description": "List applications available in your ServiceNow company repository.\n\nThis command retrieves and displays all applications that are available in your company's internal application repository. These are applications that have been published internally and are available for installation across your ServiceNow instances.\n\nFeatures:\n  • List all available company repository applications\n  • Filter to show only installed applications\n  • Filter to show only installable (not yet installed) applications\n  • View application details including versions and dependencies\n  • JSON output support for automation and scripting\n  • Vendor-based filtering\n\nUse Cases:\n  • Discover available applications for installation\n  • Audit installed company applications\n  • Find applications that can be upgraded\n  • Integration with CI/CD pipelines\n  • Automated environment setup and configuration",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --auth dev-instance",
          "description": "List all company repository applications"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --installed --auth dev-instance",
          "description": "List only installed applications"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --installable --auth dev-instance",
          "description": "List only installable (not installed) applications"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --json --auth dev-instance",
          "description": "Get JSON output for scripting"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -a dev-instance",
          "description": "List with short flags"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "installable": {
          "char": "n",
          "description": "Show only applications that can be installed (not yet installed)",
          "name": "installable",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "installed": {
          "char": "i",
          "description": "Show only installed applications",
          "name": "installed",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "app:repo-list",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "app",
        "repo-list.js"
      ]
    },
    "app:uninstall": {
      "aliases": [],
      "args": {},
      "description": "Uninstall a ServiceNow application from your instance.\n\nThis command provides programmatic control over ServiceNow application removal, allowing you to uninstall applications remotely. This is useful for automated environment cleanup, testing workflows, and application lifecycle management.\n\nFeatures:\n  • Uninstall applications by sys_id and scope\n  • Automated application removal in CI/CD pipelines\n  • Proper cleanup and rollback handling\n  • Detailed logging and error reporting\n\nRequirements:\n  • User must have admin role\n  • Application must be in a removable state\n  • Both application sys_id and scope are required",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --applicationId a1b2c3d4e5f6 --scope x_my_custom_app --auth dev-instance",
          "description": "Uninstall an application by sys_id and scope"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -i a1b2c3d4e5f6 -s x_my_custom_app --auth dev-instance --log-level debug",
          "description": "Uninstall with enhanced debug logging"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -i a1b2c3d4e5f6 -s x_my_custom_app -a dev-instance",
          "description": "Uninstall using short flags"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "applicationId": {
          "char": "i",
          "description": "Application sys_id",
          "name": "applicationId",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scope": {
          "char": "s",
          "description": "Scope of application",
          "name": "scope",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "app:uninstall",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "app",
        "uninstall.js"
      ]
    },
    "attachment:get": {
      "aliases": [],
      "args": {},
      "description": "Get metadata for a specific attachment.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --sys-id att123 --auth dev",
          "description": "Get attachment metadata by sys_id"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -s att123 --json --auth dev",
          "description": "Get attachment metadata as JSON"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "sys-id": {
          "char": "s",
          "description": "Sys ID of the attachment",
          "name": "sys-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "attachment:get",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "attachment",
        "get.js"
      ]
    },
    "attachment:list": {
      "aliases": [],
      "args": {},
      "description": "List attachments on a ServiceNow record.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --table incident --record-id abc123 --auth dev",
          "description": "List attachments on an incident"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -t incident -r abc123 --limit 50 --json --auth dev",
          "description": "List up to 50 attachments as JSON"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of attachments to return",
          "name": "limit",
          "required": false,
          "default": 20,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "record-id": {
          "char": "r",
          "description": "Sys ID of the record",
          "name": "record-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "Table name",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "attachment:list",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "attachment",
        "list.js"
      ]
    },
    "attachment:upload": {
      "aliases": [],
      "args": {},
      "description": "Upload a file as an attachment to a ServiceNow record.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --table incident --record-id abc123 --file ./report.pdf --auth dev",
          "description": "Upload a PDF to an incident record"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -t incident -r abc123 -f ./data.csv --content-type text/csv --auth dev",
          "description": "Upload a CSV with explicit content type"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "content-type": {
          "description": "MIME content type of the file",
          "name": "content-type",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "file": {
          "char": "f",
          "description": "Path to the file to upload",
          "name": "file",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "record-id": {
          "char": "r",
          "description": "Sys ID of the target record",
          "name": "record-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "Target table name",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "attachment:upload",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "attachment",
        "upload.js"
      ]
    },
    "batch:create": {
      "aliases": [],
      "args": {},
      "description": "Batch create records on a ServiceNow instance from a JSON file.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --file ./records.json --auth dev",
          "description": "Create records from a JSON file"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --file ./records.json --no-transaction --auth dev",
          "description": "Create records without transactional mode"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "file": {
          "char": "f",
          "description": "Path to JSON file with create operations",
          "name": "file",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "transaction": {
          "description": "Stop on first error (transactional)",
          "name": "transaction",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "batch:create",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "batch",
        "create.js"
      ]
    },
    "batch:update": {
      "aliases": [],
      "args": {},
      "description": "Batch update records on a ServiceNow instance from a JSON file.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --file ./updates.json --auth dev",
          "description": "Update records from a JSON file"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --file ./updates.json --stop-on-error --auth dev",
          "description": "Update records and stop on first error"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "file": {
          "char": "f",
          "description": "Path to JSON file with update operations",
          "name": "file",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "stop-on-error": {
          "description": "Stop processing on first error",
          "name": "stop-on-error",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "batch:update",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "batch",
        "update.js"
      ]
    },
    "atf": {
      "aliases": [],
      "args": {},
      "description": "Execute ATF (Automated Test Framework) tests or test suites on a ServiceNow instance.\n\nThis command allows you to run automated tests and test suites remotely, making it perfect for CI/CD pipelines and automated testing workflows. You can execute individual tests, entire test suites, and configure execution parameters such as browser type, OS, and performance mode.\n\nFeatures:\n  • Execute individual tests or complete test suites\n  • Real-time progress monitoring\n  • JSON output for CI/CD integration\n  • Detailed test results and summaries\n  • Browser and environment configuration\n  • Performance testing mode support",
      "examples": [
        {
          "description": "Execute a single ATF test by sys_id",
          "command": "<%= config.bin %> <%= command.id %> --test-id f717a8c783103210621e78c6feaad396 --auth dev-instance"
        },
        {
          "description": "Execute a test suite by sys_id and wait for completion",
          "command": "<%= config.bin %> <%= command.id %> --suite-id e077e00b83103210621e78c6feaad383 --auth dev-instance --wait"
        },
        {
          "description": "Execute a test suite by name",
          "command": "<%= config.bin %> <%= command.id %> --suite-name \"Smoke Tests\" --auth dev-instance"
        },
        {
          "description": "Execute with specific browser configuration",
          "command": "<%= config.bin %> <%= command.id %> --suite-id e077e00b83103210621e78c6feaad383 --browser chrome --auth dev-instance"
        },
        {
          "description": "Execute as performance test with JSON output for CI/CD",
          "command": "<%= config.bin %> <%= command.id %> --suite-id e077e00b83103210621e78c6feaad383 --performance --json --auth dev-instance"
        },
        {
          "description": "Execute with custom poll interval (10 seconds)",
          "command": "<%= config.bin %> <%= command.id %> --suite-id e077e00b83103210621e78c6feaad383 --poll-interval 10000 --auth dev-instance"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "test-id": {
          "char": "t",
          "description": "Test sys_id to execute",
          "exclusive": [
            "suite-id",
            "suite-name"
          ],
          "name": "test-id",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "suite-id": {
          "char": "s",
          "description": "Test Suite sys_id to execute",
          "exclusive": [
            "test-id",
            "suite-name"
          ],
          "name": "suite-id",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "suite-name": {
          "char": "n",
          "description": "Test Suite name to execute",
          "exclusive": [
            "test-id",
            "suite-id"
          ],
          "name": "suite-name",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "wait": {
          "char": "w",
          "description": "Wait for test suite execution to complete and return results",
          "name": "wait",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "poll-interval": {
          "char": "p",
          "description": "Polling interval in milliseconds when waiting for completion",
          "name": "poll-interval",
          "required": false,
          "default": 5000,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "browser": {
          "char": "b",
          "description": "Browser name for test execution (e.g., chrome, firefox)",
          "name": "browser",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "browser-version": {
          "description": "Browser version for test execution",
          "name": "browser-version",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "os-name": {
          "description": "Operating system name for test execution",
          "name": "os-name",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "os-version": {
          "description": "Operating system version for test execution",
          "name": "os-version",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "performance": {
          "description": "Run as performance test",
          "name": "performance",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "cloud": {
          "description": "Run in cloud",
          "name": "cloud",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "atf",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "atf",
        "index.js"
      ]
    },
    "bulk:delete": {
      "aliases": [],
      "args": {},
      "description": "Bulk delete records matching an encoded query.\n\nFinds all records in a table matching the given query, then deletes each one. Defaults to dry-run mode — use --confirm to execute.\n\nFeatures:\n  • Safe dry-run by default (shows match count without deleting)\n  • Encoded query filtering\n  • Configurable record limit (default 200, max 10000)\n  • Progress reporting for large operations\n  • Error collection — operation continues even if individual records fail",
      "examples": [
        {
          "description": "Dry run — see how many records would be deleted",
          "command": "<%= config.bin %> <%= command.id %> --table u_temp_import --query \"sys_created_on<2024-01-01\" --auth dev"
        },
        {
          "description": "Execute the delete (requires --confirm)",
          "command": "<%= config.bin %> <%= command.id %> --table u_temp_import --query \"sys_created_on<2024-01-01\" --confirm --auth dev"
        },
        {
          "description": "Delete with custom limit",
          "command": "<%= config.bin %> <%= command.id %> --table incident --query \"active=false^closed_at<2023-01-01\" --limit 1000 --confirm --auth dev"
        },
        {
          "description": "Delete as JSON output",
          "command": "<%= config.bin %> <%= command.id %> --table u_staging --query \"processed=true\" --confirm --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "Table name to delete records from",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "query": {
          "char": "q",
          "description": "Encoded query to match records for deletion",
          "name": "query",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "confirm": {
          "description": "Execute the delete (without this flag, performs a dry run)",
          "name": "confirm",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "limit": {
          "char": "l",
          "description": "Maximum number of records to delete (default 200, max 10000)",
          "name": "limit",
          "required": false,
          "default": 200,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "bulk:delete",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "bulk",
        "delete.js"
      ]
    },
    "bulk:update": {
      "aliases": [],
      "args": {},
      "description": "Bulk update records matching an encoded query.\n\nFinds all records in a table matching the given query, then applies field updates to each one. Defaults to dry-run mode — use --confirm to execute.\n\nFeatures:\n  • Safe dry-run by default (shows match count without modifying data)\n  • Encoded query filtering\n  • JSON field=value pairs for update data\n  • Configurable record limit (default 200, max 10000)\n  • Progress reporting for large operations\n  • Error collection — operation continues even if individual records fail",
      "examples": [
        {
          "description": "Dry run — see how many records would be updated",
          "command": "<%= config.bin %> <%= command.id %> --table incident --query \"active=true^priority=5\" --data '{\"priority\":\"4\"}' --auth dev"
        },
        {
          "description": "Execute the update (requires --confirm)",
          "command": "<%= config.bin %> <%= command.id %> --table incident --query \"active=true^priority=5\" --data '{\"priority\":\"4\"}' --confirm --auth dev"
        },
        {
          "description": "Update with custom limit",
          "command": "<%= config.bin %> <%= command.id %> --table incident --query \"state=1\" --data '{\"assignment_group\":\"group-sys-id\"}' --limit 500 --confirm --auth dev"
        },
        {
          "description": "Update as JSON output",
          "command": "<%= config.bin %> <%= command.id %> --table incident --query \"active=true\" --data '{\"state\":\"6\"}' --confirm --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "Table name to update records in",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "query": {
          "char": "q",
          "description": "Encoded query to match records",
          "name": "query",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "data": {
          "char": "d",
          "description": "JSON object of field=value pairs to apply (e.g. '{\"priority\":\"4\",\"state\":\"2\"}')",
          "name": "data",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "confirm": {
          "description": "Execute the update (without this flag, performs a dry run)",
          "name": "confirm",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "limit": {
          "char": "l",
          "description": "Maximum number of records to update (default 200, max 10000)",
          "name": "limit",
          "required": false,
          "default": 200,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "bulk:update",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "bulk",
        "update.js"
      ]
    },
    "exec": {
      "aliases": [],
      "args": {
        "scope": {
          "description": "Scope to execute script in. Use \"global\" for global scope.",
          "name": "scope",
          "required": true
        },
        "file": {
          "description": "File to execute in scripts background. If omitted, starts REPL mode.",
          "name": "file",
          "required": false
        }
      },
      "description": "Execute JavaScript on a ServiceNow instance remotely using Scripts - Background.\n\nThis command allows you to run JavaScript either from files or interactively via REPL mode. It mimics the functionality of the Scripts - Background interface in ServiceNow, providing a way to execute scripts programmatically without manual interaction. The output is returned in real-time and can be piped to other commands or saved to files.\n\nModes:\n  • File Mode: Provide a file path to execute scripts from a file\n  • REPL Mode: Omit the file path to start an interactive session\n\nFeatures:\n  • Execute local JavaScript files remotely\n  • Interactive REPL for ad-hoc script execution\n  • Script parameterization with {placeholder} replacement\n  • Multi-line script support in REPL\n  • Scope-aware execution (global or custom scope)\n  • Real-time console output capture\n  • Pipe-able output for command chaining\n  • Debug logging support\n  • Useful for data migration, testing, and administrative tasks\n\nScript Parameterization:\n  Use {paramName} placeholders in your script files, then provide values via --params:\n  • Supports any JSON-serializable values (strings, numbers, booleans)\n  • Multiple parameters supported\n  • All occurrences of each placeholder are replaced\n  • Example: {token}, {username}, {environment}\n\nREPL Controls:\n  • Press Enter to add a new line\n  • Type .exec or press Ctrl+D to execute the script\n  • Type .clear to clear the current input\n  • Type .exit or press Ctrl+C twice to exit REPL\n\n⚠️  IMPORTANT SECURITY WARNING:\nThis command executes scripts with the same permissions and risks as using Scripts - Background directly\nin ServiceNow. Always:\n  • Review scripts before execution\n  • Test in non-production environments first\n  • Use appropriate scoping to limit access\n  • Be aware of data modification risks\n  • Follow your organization's security policies\n  • Never execute untrusted scripts\n\nScript Capabilities:\n  Scripts run with full GlideSystem API access and can:\n  • Query and modify database records\n  • Create, update, and delete data\n  • Execute business rules and workflows\n  • Access all APIs available in Scripts - Background\n  • Use gs, GlideRecord, GlideAggregate, and other server-side APIs",
      "examples": [
        {
          "description": "Start REPL in global scope",
          "command": "<%= config.bin %> <%= command.id %> global --auth dev-instance"
        },
        {
          "description": "Start REPL in custom application scope",
          "command": "<%= config.bin %> <%= command.id %> x_my_custom_app --auth dev-instance"
        },
        {
          "description": "Execute a script file in global scope",
          "command": "<%= config.bin %> <%= command.id %> global ./scripts/cleanup.js --auth dev-instance"
        },
        {
          "description": "Execute a script file in a custom application scope",
          "command": "<%= config.bin %> <%= command.id %> x_my_custom_app ./scripts/app-config.js --auth dev-instance"
        },
        {
          "description": "Execute a parameterized script with single parameter",
          "command": "<%= config.bin %> <%= command.id %> global ./scripts/query-user.js --auth dev-instance --params '{\"username\":\"admin\"}'"
        },
        {
          "description": "Execute a parameterized script with multiple parameters",
          "command": "<%= config.bin %> <%= command.id %> global ./scripts/update-record.js --auth dev-instance --params '{\"table\":\"incident\",\"field\":\"priority\",\"value\":\"1\"}'"
        },
        {
          "description": "Execute and save output to a file",
          "command": "<%= config.bin %> <%= command.id %> global ./scripts/report.js --auth dev-instance > report.txt"
        },
        {
          "description": "Execute and pipe output to grep for filtering",
          "command": "<%= config.bin %> <%= command.id %> global ./scripts/list-users.js --auth dev-instance | grep \"admin\""
        },
        {
          "description": "Execute with debug logging to troubleshoot issues",
          "command": "<%= config.bin %> <%= command.id %> global ./script.js --auth dev-instance --log-level debug"
        },
        {
          "description": "Execute with parameters for template replacement",
          "command": "<%= config.bin %> <%= command.id %> global ./script.js --auth dev-instance --params '{\"token\":\"abc123\",\"env\":\"dev\"}'"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "params": {
          "char": "p",
          "description": "JSON object of parameters to replace in script file. Use {paramName} syntax in your script.",
          "name": "params",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "exec",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "autocomplete": {},
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "exec",
        "index.js"
      ]
    },
    "flow:action": {
      "aliases": [],
      "args": {},
      "description": "Execute a Flow Designer action by scoped name.\n\nRuns an action using the sn_fd.FlowAPI ScriptableFlowRunner.\n\nFeatures:\n  • Execute actions by scoped name\n  • Pass input values as JSON\n  • Foreground or background execution mode\n  • Returns context ID, outputs, and debug information",
      "examples": [
        {
          "description": "Run an action",
          "command": "<%= config.bin %> <%= command.id %> --name global.create_record --inputs '{\"table\":\"incident\",\"values\":{\"short_description\":\"Test\"}}' --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "Scoped name of the action (e.g. global.create_record)",
          "name": "name",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "inputs": {
          "char": "i",
          "description": "JSON object of input name-value pairs",
          "name": "inputs",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "mode": {
          "char": "m",
          "description": "Execution mode",
          "name": "mode",
          "required": false,
          "default": "foreground",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "foreground",
            "background"
          ],
          "type": "option"
        },
        "scope": {
          "description": "Scope context for script execution",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "quick": {
          "description": "Skip execution detail records for better performance",
          "name": "quick",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:action",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "action.js"
      ]
    },
    "flow:cancel": {
      "aliases": [],
      "args": {},
      "description": "Cancel a running or paused flow execution.\n\nCancels a flow context that is in QUEUED, IN_PROGRESS, or WAITING state.",
      "examples": [
        {
          "description": "Cancel a running flow",
          "command": "<%= config.bin %> <%= command.id %> --context-id abc123def456 --auth dev"
        },
        {
          "description": "Cancel with a reason",
          "command": "<%= config.bin %> <%= command.id %> --context-id abc123def456 --reason \"No longer needed\" --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "context-id": {
          "char": "c",
          "description": "Flow execution context sys_id",
          "name": "context-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "reason": {
          "char": "r",
          "description": "Cancellation reason",
          "name": "reason",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scope": {
          "description": "Scope context for script execution",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:cancel",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "cancel.js"
      ]
    },
    "flow:copy": {
      "aliases": [],
      "args": {},
      "description": "Copy an existing flow into a target scoped application.\n\nThis is the ServiceNow best practice before modifying any flow — OOB and shared flows must never be modified directly; always copy first. The copied flow lands in draft/unpublished state in the target scope.\n\nEnables the full CLI-driven flow development lifecycle:\n  copy → pull (now-sdk transform) → modify → push → test → publish\n\nFeatures:\n  • Copy flows by sys_id or scoped name\n  • Specify a display name for the new copy\n  • Target any scoped application by sys_id\n  • Returns the new flow sys_id for use in subsequent commands",
      "examples": [
        {
          "description": "Copy an OOB flow into your app scope",
          "command": "<%= config.bin %> <%= command.id %> --source-flow-id e89e3ade731310108ef62d2b04f6a744 --name \"Copy of Change - Standard\" --target-scope 4a5a6115402946939ee48e3fe80f60f8 --auth dev"
        },
        {
          "description": "Copy by scoped name",
          "command": "<%= config.bin %> <%= command.id %> -s global.change__standard -n \"My Custom Change Flow\" -t 4a5a6115402946939ee48e3fe80f60f8 --auth dev"
        },
        {
          "description": "Copy with JSON output for scripting",
          "command": "<%= config.bin %> <%= command.id %> -s e89e3ade731310108ef62d2b04f6a744 -n \"Copy\" -t 4a5a6115402946939ee48e3fe80f60f8 --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "source-flow-id": {
          "char": "s",
          "description": "Source flow sys_id or scoped name (e.g. global.change__standard)",
          "name": "source-flow-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "Display name for the new copied flow",
          "name": "name",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "target-scope": {
          "char": "t",
          "description": "Scope sys_id of the target application (use `nex scope` to find scope sys_ids)",
          "name": "target-scope",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:copy",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "copy.js"
      ]
    },
    "flow:details": {
      "aliases": [],
      "args": {},
      "description": "Get rich execution details for a flow context.\n\nReturns per-action timing, inputs, outputs, and high-level metadata (state, runtime, who ran it, test vs production). This is the primary diagnostic command after flow test or flow run.\n\nUses the ProcessFlow operations API (GET /api/now/processflow/operations/flow/context/{id}), the same endpoint Flow Designer uses to display execution details.\n\nNOTE: Requires flow operations logging to be enabled on the instance. If the execution report is unavailable, a notice will explain why.\n\nTypical workflow:\n  flow test → flow details → diagnose → modify flow → flow test again",
      "examples": [
        {
          "description": "Get execution details after testing a flow",
          "command": "<%= config.bin %> <%= command.id %> --context-id d4e5f6789012345678abcdef01234567 --auth dev"
        },
        {
          "description": "Get details with explicit scope",
          "command": "<%= config.bin %> <%= command.id %> -c d4e5f6789012345678abcdef01234567 --scope x_myapp --auth dev"
        },
        {
          "description": "Get details with JSON output for scripting",
          "command": "<%= config.bin %> <%= command.id %> -c d4e5f6789012345678abcdef01234567 --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "context-id": {
          "char": "c",
          "description": "Flow context sys_id returned by flow test, flow run, flow subflow, or flow action",
          "name": "context-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scope": {
          "description": "Scope sys_id for the ProcessFlow API transaction scope parameter",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "include-definition": {
          "char": "d",
          "description": "Include the full flow definition snapshot in the response",
          "name": "include-definition",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:details",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "details.js"
      ]
    },
    "flow:error": {
      "aliases": [],
      "args": {},
      "description": "Retrieve error details from a failed flow execution.\n\nGets the error message from a flow context that ended in an error state.",
      "examples": [
        {
          "description": "Get flow error details",
          "command": "<%= config.bin %> <%= command.id %> --context-id abc123def456 --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "context-id": {
          "char": "c",
          "description": "Flow execution context sys_id",
          "name": "context-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scope": {
          "description": "Scope context for script execution",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:error",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "error.js"
      ]
    },
    "flow:logs": {
      "aliases": [],
      "args": {},
      "description": "Retrieve flow execution log entries for a given context.\n\nLog entries include error messages, step-level debug output, and cancellation reasons. Use this alongside flow details to get the full picture of what happened during an execution.\n\nQueries sys_flow_log entries and maps numeric log levels to human-readable names (ERROR, WARN, INFO, DEBUG).\n\nNOTE: Log entries may be empty for simple successful executions, or if the flow reporting level is set to NONE. Errors and warnings are always logged regardless of the reporting level setting.",
      "examples": [
        {
          "description": "Get flow execution logs",
          "command": "<%= config.bin %> <%= command.id %> --context-id d4e5f6789012345678abcdef01234567 --auth dev"
        },
        {
          "description": "Get latest 10 log entries in reverse order",
          "command": "<%= config.bin %> <%= command.id %> -c d4e5f6789012345678abcdef01234567 --limit 10 --order desc --auth dev"
        },
        {
          "description": "Get logs with JSON output for scripting",
          "command": "<%= config.bin %> <%= command.id %> -c d4e5f6789012345678abcdef01234567 --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "context-id": {
          "char": "c",
          "description": "Flow context sys_id returned by flow test, flow run, flow subflow, or flow action",
          "name": "context-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "char": "l",
          "description": "Maximum number of log entries to return",
          "name": "limit",
          "required": false,
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "order": {
          "char": "o",
          "description": "Order direction: asc (oldest first) or desc (newest first)",
          "name": "order",
          "required": false,
          "default": "asc",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "asc",
            "desc"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:logs",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "logs.js"
      ]
    },
    "flow:message": {
      "aliases": [],
      "args": {},
      "description": "Send a message to a paused flow execution.\n\nSends a message to a flow context that is in a WAITING state (e.g. waiting on a \"Wait for Message\" action). Supports an optional JSON payload.",
      "examples": [
        {
          "description": "Send a message to resume a waiting flow",
          "command": "<%= config.bin %> <%= command.id %> --context-id abc123def456 --message \"approved\" --auth dev"
        },
        {
          "description": "Send a message with a JSON payload",
          "command": "<%= config.bin %> <%= command.id %> --context-id abc123def456 --message \"data_ready\" --payload '{\"status\":\"ok\"}' --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "context-id": {
          "char": "c",
          "description": "Flow execution context sys_id",
          "name": "context-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "message": {
          "char": "m",
          "description": "Message to send to the flow",
          "name": "message",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "payload": {
          "char": "p",
          "description": "Optional JSON payload to include with the message",
          "name": "payload",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scope": {
          "description": "Scope context for script execution",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:message",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "message.js"
      ]
    },
    "flow:outputs": {
      "aliases": [],
      "args": {},
      "description": "Retrieve outputs from a completed flow execution.\n\nGets the output name-value pairs from a flow, subflow, or action execution context.",
      "examples": [
        {
          "description": "Get flow outputs",
          "command": "<%= config.bin %> <%= command.id %> --context-id abc123def456 --auth dev"
        },
        {
          "description": "Get outputs as JSON",
          "command": "<%= config.bin %> <%= command.id %> --context-id abc123def456 --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "context-id": {
          "char": "c",
          "description": "Flow execution context sys_id",
          "name": "context-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scope": {
          "description": "Scope context for script execution",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:outputs",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "outputs.js"
      ]
    },
    "flow:run": {
      "aliases": [],
      "args": {},
      "description": "Execute a published Flow Designer flow by scoped name.\n\nRuns a flow using the sn_fd.FlowAPI ScriptableFlowRunner. Supports foreground (synchronous) and background (asynchronous) execution modes.\n\nNote: This command requires the flow to be published. For testing flows that are not yet published (draft/saved state), use `flow test` instead.\n\nFeatures:\n  • Execute flows by scoped name (e.g. global.my_flow)\n  • Pass input values as JSON\n  • Foreground or background execution mode\n  • Quick mode to skip execution detail records\n  • Returns context ID, outputs, and debug information",
      "examples": [
        {
          "description": "Run a flow in foreground mode",
          "command": "<%= config.bin %> <%= command.id %> --name global.my_flow --auth dev"
        },
        {
          "description": "Run with inputs",
          "command": "<%= config.bin %> <%= command.id %> --name global.my_flow --inputs '{\"record_sys_id\":\"abc123\"}' --auth dev"
        },
        {
          "description": "Run in background mode",
          "command": "<%= config.bin %> <%= command.id %> --name global.my_flow --mode background --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "Scoped name of the flow (e.g. global.my_flow)",
          "name": "name",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "inputs": {
          "char": "i",
          "description": "JSON object of input name-value pairs",
          "name": "inputs",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "mode": {
          "char": "m",
          "description": "Execution mode",
          "name": "mode",
          "required": false,
          "default": "foreground",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "foreground",
            "background"
          ],
          "type": "option"
        },
        "scope": {
          "description": "Scope context for script execution (e.g. global, x_myapp)",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "quick": {
          "description": "Skip execution detail records for better performance",
          "name": "quick",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:run",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "run.js"
      ]
    },
    "flow:status": {
      "aliases": [],
      "args": {},
      "description": "Get the status of a flow execution context.\n\nQueries sys_flow_context to retrieve the current state of a flow execution.\n\nPossible states: QUEUED, IN_PROGRESS, WAITING, COMPLETE, CANCELLED, ERROR",
      "examples": [
        {
          "description": "Check flow execution status",
          "command": "<%= config.bin %> <%= command.id %> --context-id abc123def456 --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "context-id": {
          "char": "c",
          "description": "Flow execution context sys_id",
          "name": "context-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scope": {
          "description": "Scope context for script execution",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:status",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "status.js"
      ]
    },
    "flow:subflow": {
      "aliases": [],
      "args": {},
      "description": "Execute a published Flow Designer subflow by scoped name.\n\nRuns a subflow using the sn_fd.FlowAPI ScriptableFlowRunner.\n\nNote: This command requires the subflow to be published. For testing flows that are not yet published (draft/saved state), use `flow test` instead.\n\nFeatures:\n  • Execute subflows by scoped name\n  • Pass input values as JSON\n  • Foreground or background execution mode\n  • Returns context ID, outputs, and debug information",
      "examples": [
        {
          "description": "Run a subflow",
          "command": "<%= config.bin %> <%= command.id %> --name global.my_subflow --auth dev"
        },
        {
          "description": "Run with inputs",
          "command": "<%= config.bin %> <%= command.id %> --name x_myapp.process_record --inputs '{\"table\":\"incident\",\"sys_id\":\"abc123\"}' --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "Scoped name of the subflow (e.g. global.my_subflow)",
          "name": "name",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "inputs": {
          "char": "i",
          "description": "JSON object of input name-value pairs",
          "name": "inputs",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "mode": {
          "char": "m",
          "description": "Execution mode",
          "name": "mode",
          "required": false,
          "default": "foreground",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "foreground",
            "background"
          ],
          "type": "option"
        },
        "scope": {
          "description": "Scope context for script execution",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "quick": {
          "description": "Skip execution detail records for better performance",
          "name": "quick",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:subflow",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "subflow.js"
      ]
    },
    "flow:test": {
      "aliases": [],
      "args": {},
      "description": "Test a Flow Designer flow without requiring it to be published.\n\nInvokes the same API as the \"Test\" button in Flow Designer, running the flow in its current saved (draft) state. Unlike `flow run` which requires a published flow and uses sn_fd.FlowAPI, `flow test` works on unpublished drafts via the ProcessFlow REST API.\n\nFeatures:\n  • Test flows by sys_id or scoped name\n  • Pass trigger output values as JSON via --output-map\n  • Auto-resolves scope from flow definition if not provided\n  • Synchronous or asynchronous execution",
      "examples": [
        {
          "description": "Test a flow by sys_id",
          "command": "<%= config.bin %> <%= command.id %> --flow-id 887dda5583237210fdb8f7b6feaad32c --output-map '{\"current\":\"0ecd7552db252200a6a2b31be0b8f5e6\",\"table_name\":\"change_request\"}' --auth dev"
        },
        {
          "description": "Test a flow by scoped name with explicit scope",
          "command": "<%= config.bin %> <%= command.id %> -f x_myapp.my_flow -o '{\"current\":\"abc123\",\"table_name\":\"incident\"}' --scope x_myapp --auth dev"
        },
        {
          "description": "Test with JSON output",
          "command": "<%= config.bin %> <%= command.id %> -f 887dda5583237210fdb8f7b6feaad32c -o '{\"current\":\"abc123\"}' --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "flow-id": {
          "char": "f",
          "description": "Flow sys_id or scoped name (e.g. x_myapp.my_flow)",
          "name": "flow-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "output-map": {
          "char": "o",
          "description": "JSON mapping of trigger output variable names to test values (e.g. '{\"current\":\"<sys_id>\",\"table_name\":\"change_request\"}')",
          "name": "output-map",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scope": {
          "description": "Scope sys_id for transaction scope (auto-resolved from flow definition if omitted)",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "synchronous": {
          "description": "Run test synchronously (default: true)",
          "name": "synchronous",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "flow:test",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "flow",
        "test.js"
      ]
    },
    "health:check": {
      "aliases": [],
      "args": {},
      "description": "Run a consolidated health check on a ServiceNow instance.\n\nPerforms comprehensive diagnostics including version info, cluster status, stuck job detection, semaphore counts, and operational record counts.\n\nFeatures:\n  • Instance version and build information\n  • Cluster node status\n  • Stuck job detection with configurable threshold\n  • Active semaphore count\n  • Operational counts (incidents, changes, problems)\n  • Color-coded status indicators\n  • JSON output for CI/CD monitoring",
      "examples": [
        {
          "description": "Run full health check",
          "command": "<%= config.bin %> <%= command.id %> --auth dev"
        },
        {
          "description": "Check only version and stuck jobs",
          "command": "<%= config.bin %> <%= command.id %> --include-version --include-stuck-jobs --no-include-cluster --no-include-semaphores --no-include-operational-counts --auth dev"
        },
        {
          "description": "Health check with custom stuck job threshold",
          "command": "<%= config.bin %> <%= command.id %> --stuck-job-threshold 60 --auth dev"
        },
        {
          "description": "Health check as JSON",
          "command": "<%= config.bin %> <%= command.id %> --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "include-version": {
          "description": "Include instance version information",
          "name": "include-version",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "include-cluster": {
          "description": "Include cluster node status",
          "name": "include-cluster",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "include-stuck-jobs": {
          "description": "Include stuck job detection",
          "name": "include-stuck-jobs",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "include-semaphores": {
          "description": "Include active semaphore count",
          "name": "include-semaphores",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "include-operational-counts": {
          "description": "Include operational record counts (incidents, changes, problems)",
          "name": "include-operational-counts",
          "required": false,
          "allowNo": true,
          "type": "boolean"
        },
        "stuck-job-threshold": {
          "description": "Minutes threshold for a job to be considered stuck",
          "name": "stuck-job-threshold",
          "required": false,
          "default": 30,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "health:check",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "health",
        "check.js"
      ]
    },
    "log": {
      "aliases": [],
      "args": {},
      "description": "Tail and monitor ServiceNow system logs in real-time with beautiful formatting.\n\nThis command provides real-time log monitoring with enhanced visual formatting using color-coded output that makes logs easy to scan and understand at a glance. Automatically highlights errors, warnings, success messages, and important keywords.\n\nKey Features:\n  • Real-time log tailing (like Unix tail -f)\n  • Powerful filtering with multiple operators (CONTAINS, REGEX, EQUALS, etc.)\n  • Smart keyword highlighting (errors in red, warnings in yellow, etc.)\n  • Beautiful color-coded console output with chalk\n  • Export logs to file with automatic appending\n  • Fast 1-second default polling interval\n  • Timestamps and sequence numbers for each log\n  • Graceful shutdown with Ctrl+C\n  • Clean output without colors (--no-color flag)\n\nSmart Highlighting:\n  • Error terms (error, exception, failed) - highlighted in RED\n  • Warning terms (warn, warning, deprecated) - highlighted in YELLOW\n  • Success terms (success, completed, done) - highlighted in GREEN\n  • System terms (system, user, transaction) - highlighted in BLUE\n\nFiltering:\n  • Apply filters using --filter flag with syntax: \"field OPERATOR value\"\n  • Supports case-sensitive and case-insensitive operations\n  • Multiple filters are combined with AND logic\n  • Operators: CONTAINS, CONTAINS_CI, EQUALS, EQUALS_CI, STARTS_WITH, STARTS_WITH_CI,\n    ENDS_WITH, ENDS_WITH_CI, REGEX, NOT_CONTAINS, NOT_CONTAINS_CI, NOT_EQUALS, NOT_EQUALS_CI\n\nUse Cases:\n  • Monitor logs during application development\n  • Debug issues in real-time\n  • Track system events during deployments\n  • Filter logs for specific application or component\n  • Quickly spot errors and warnings\n  • Collect logs for analysis or audit trails\n\n⚠️  IMPORTANT NOTES:\n  • Press Ctrl+C to stop tailing and exit gracefully\n  • Log files are created/appended automatically\n  • Uses ChannelAjax when available for better performance\n  • Default poll interval is 1 second for real-time monitoring",
      "examples": [
        {
          "description": "Tail all logs in real-time",
          "command": "<%= config.bin %> <%= command.id %> --auth dev-instance"
        },
        {
          "description": "Tail logs and save to a file",
          "command": "<%= config.bin %> <%= command.id %> --output ./logs/instance-logs.txt --auth dev-instance"
        },
        {
          "description": "Tail logs with custom polling interval (500ms for faster updates)",
          "command": "<%= config.bin %> <%= command.id %> --interval 500 --auth dev-instance"
        },
        {
          "description": "Filter logs containing specific text (case-insensitive)",
          "command": "<%= config.bin %> <%= command.id %> --filter \"message CONTAINS_CI error\" --auth dev-instance"
        },
        {
          "description": "Filter logs with multiple conditions (AND logic)",
          "command": "<%= config.bin %> <%= command.id %> --filter \"message CONTAINS x_acme_app\" --filter \"message CONTAINS error\" --auth dev-instance"
        },
        {
          "description": "Filter logs using regex pattern",
          "command": "<%= config.bin %> <%= command.id %> --filter \"message REGEX .*exception.*\" --auth dev-instance"
        },
        {
          "description": "Filter logs by message starting with a pattern",
          "command": "<%= config.bin %> <%= command.id %> --filter \"message STARTS_WITH [ERROR]\" --auth dev-instance"
        },
        {
          "description": "Tail logs without colored output",
          "command": "<%= config.bin %> <%= command.id %> --no-color --auth dev-instance"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "output": {
          "char": "o",
          "description": "Output file path to save logs. Creates parent directories if needed.",
          "name": "output",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "interval": {
          "char": "i",
          "description": "Polling interval in milliseconds",
          "name": "interval",
          "required": false,
          "default": 1000,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "no-color": {
          "description": "Disable colored output",
          "name": "no-color",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "filter": {
          "char": "f",
          "description": "Filter logs by field and value. Syntax: field OPERATOR value. Operators: CONTAINS, CONTAINS_CI (case-insensitive), EQUALS, EQUALS_CI, STARTS_WITH, STARTS_WITH_CI, ENDS_WITH, ENDS_WITH_CI, REGEX, NOT_CONTAINS, NOT_EQUALS. Field defaults to \"message\" if omitted. Multiple filters are combined with AND logic.",
          "name": "filter",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": true,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "log",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "log",
        "index.js"
      ]
    },
    "query:app": {
      "aliases": [],
      "args": {},
      "description": "Search for applications by name across scoped apps and plugins.\n\nSearches the sys_scope table for applications matching the provided search term.\n\nFeatures:\n  • Search by name (case-insensitive contains)\n  • Filter active/inactive applications\n  • Configurable result limit\n  • JSON output for scripting",
      "examples": [
        {
          "description": "Search for ITSM applications",
          "command": "<%= config.bin %> <%= command.id %> --search \"ITSM\" --auth dev"
        },
        {
          "description": "Search active apps only",
          "command": "<%= config.bin %> <%= command.id %> --search \"HR\" --active --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "search": {
          "char": "s",
          "description": "Application name search term",
          "name": "search",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "active": {
          "char": "a",
          "description": "Only show active applications",
          "name": "active",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "limit": {
          "char": "l",
          "description": "Maximum number of results to return",
          "name": "limit",
          "required": false,
          "default": 20,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "query:app",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "query",
        "app.js"
      ]
    },
    "query:columns": {
      "aliases": [],
      "args": {},
      "description": "List and search columns (fields) on a ServiceNow table.\n\nRetrieves all field definitions for a table from the sys_dictionary, with optional name/label filtering.\n\nFeatures:\n  • List all fields with types, lengths, and constraints\n  • Search/filter fields by name or label\n  • JSON output for scripting",
      "examples": [
        {
          "description": "List all columns on the incident table",
          "command": "<%= config.bin %> <%= command.id %> --table incident --auth dev"
        },
        {
          "description": "Search for date-related columns",
          "command": "<%= config.bin %> <%= command.id %> --table incident --search \"date\" --auth dev"
        },
        {
          "description": "List columns as JSON",
          "command": "<%= config.bin %> <%= command.id %> --table incident --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "ServiceNow table name to list columns for",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "search": {
          "char": "s",
          "description": "Filter columns by name or label (case-insensitive)",
          "name": "search",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "query:columns",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "query",
        "columns.js"
      ]
    },
    "query": {
      "aliases": [],
      "args": {},
      "description": "Query any ServiceNow table using the Table API.\n\nRetrieve records from any table with support for encoded queries, field selection, display values, and configurable limits.\n\nFeatures:\n  • Query any table with encoded query strings\n  • Select specific fields to return\n  • Toggle display values vs. internal values\n  • Configurable record limit\n  • JSON output for scripting and CI/CD",
      "examples": [
        {
          "description": "Query active incidents",
          "command": "<%= config.bin %> <%= command.id %> --table incident --query \"active=true\" --limit 10 --auth dev"
        },
        {
          "description": "Query with specific fields and display values",
          "command": "<%= config.bin %> <%= command.id %> --table incident --query \"priority=1\" --fields \"number,short_description,state\" --display-value --auth dev"
        },
        {
          "description": "Query as JSON output",
          "command": "<%= config.bin %> <%= command.id %> --table sys_user --query \"active=true\" --limit 5 --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "ServiceNow table name to query",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "query": {
          "char": "q",
          "description": "ServiceNow encoded query string",
          "name": "query",
          "required": false,
          "default": "",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "fields": {
          "char": "f",
          "description": "Comma-separated list of fields to return",
          "name": "fields",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "display-value": {
          "char": "d",
          "description": "Return display values instead of internal values",
          "name": "display-value",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "limit": {
          "char": "l",
          "description": "Maximum number of records to return",
          "name": "limit",
          "required": false,
          "default": 20,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "query",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "query",
        "index.js"
      ]
    },
    "query:syslog": {
      "aliases": [],
      "args": {},
      "description": "Query ServiceNow system logs (one-shot, non-tailing).\n\nRetrieves syslog records with optional encoded query filtering and configurable limits. For real-time log tailing, use the \"log tail\" command instead.\n\nFeatures:\n  • Query syslog with encoded query strings\n  • Configurable record limit\n  • Formatted table output with timestamps, levels, and sources\n  • JSON output for scripting",
      "examples": [
        {
          "description": "Query recent error logs",
          "command": "<%= config.bin %> <%= command.id %> --query \"level=2\" --limit 20 --auth dev"
        },
        {
          "description": "Query all recent syslog entries",
          "command": "<%= config.bin %> <%= command.id %> --limit 50 --auth dev"
        },
        {
          "description": "Query syslog as JSON",
          "command": "<%= config.bin %> <%= command.id %> --query \"sourceLIKEincident\" --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "query": {
          "char": "q",
          "description": "ServiceNow encoded query string for filtering syslog records",
          "name": "query",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "limit": {
          "char": "l",
          "description": "Maximum number of syslog records to return",
          "name": "limit",
          "required": false,
          "default": 100,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "query:syslog",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "query",
        "syslog.js"
      ]
    },
    "schema:field": {
      "aliases": [],
      "args": {},
      "description": "Get detailed information about a specific field on a ServiceNow table.\n\nThis command retrieves comprehensive details about a single field, including its type, constraints, choices, and other metadata. Useful for understanding field definitions during development.",
      "examples": [
        {
          "description": "Explain the state field on incident table",
          "command": "<%= config.bin %> <%= command.id %> --table incident --field state --auth dev"
        },
        {
          "description": "Explain the priority field on incident table with JSON output",
          "command": "<%= config.bin %> <%= command.id %> --table incident --field priority --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "ServiceNow table name",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "field": {
          "char": "f",
          "description": "Field name to explain",
          "name": "field",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "schema:field",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "schema",
        "field.js"
      ]
    },
    "schema": {
      "aliases": [],
      "args": {},
      "description": "Discover and inspect a ServiceNow table schema including fields, types, and relationships.\n\nThis command retrieves the full schema definition for a ServiceNow table, including all fields, their types, constraints, and optionally choices, relationships, UI policies, and business rules.\n\nFeatures:\n  • List all fields with types, lengths, and constraints\n  • Optionally include field choices\n  • Optionally include table relationships\n  • Optionally include UI policies\n  • Optionally include business rules\n  • JSON output for CI/CD integration",
      "examples": [
        {
          "description": "Discover incident table schema",
          "command": "<%= config.bin %> <%= command.id %> --table incident --auth dev"
        },
        {
          "description": "Include choices and relationships",
          "command": "<%= config.bin %> <%= command.id %> --table incident --include-choices --include-relationships --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "ServiceNow table name to discover schema for",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "include-choices": {
          "description": "Include field choices in the schema output",
          "name": "include-choices",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "include-relationships": {
          "description": "Include table relationships in the schema output",
          "name": "include-relationships",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "include-ui-policies": {
          "description": "Include UI policies in the schema output",
          "name": "include-ui-policies",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "include-business-rules": {
          "description": "Include business rules in the schema output",
          "name": "include-business-rules",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "schema",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "schema",
        "index.js"
      ]
    },
    "schema:validate-catalog": {
      "aliases": [],
      "args": {},
      "description": "Validate a ServiceNow catalog item configuration for common issues.\n\nThis command checks a catalog item configuration and reports any validation issues, warnings, or errors found. Useful for ensuring catalog items are properly configured before deployment.",
      "examples": [
        {
          "description": "Validate a catalog item by sys_id",
          "command": "<%= config.bin %> <%= command.id %> --sys-id a1b2c3d4e5f6 --auth dev"
        },
        {
          "description": "Validate a catalog item with JSON output",
          "command": "<%= config.bin %> <%= command.id %> --sys-id a1b2c3d4e5f6 --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "sys-id": {
          "char": "s",
          "description": "Catalog item sys_id to validate",
          "name": "sys-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "schema:validate-catalog",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "schema",
        "validate-catalog.js"
      ]
    },
    "scope": {
      "aliases": [],
      "args": {},
      "description": "Get the current application scope or list available applications.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --auth dev",
          "description": "Get the current application scope"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --list --auth dev",
          "description": "List all available applications"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -l --json --auth dev",
          "description": "List applications as JSON"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "list": {
          "char": "l",
          "description": "List all available applications",
          "name": "list",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "scope",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "scope",
        "index.js"
      ]
    },
    "scope:set": {
      "aliases": [],
      "args": {},
      "description": "Set the current application scope on a ServiceNow instance.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --app-id abc123def456ghi789jkl012mno345pq --auth dev",
          "description": "Set application scope by sys_id"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -a abc123def456ghi789jkl012mno345pq --json --auth dev",
          "description": "Set application scope and output as JSON"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "app-id": {
          "char": "a",
          "description": "32-char sys_id of application",
          "name": "app-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "scope:set",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "scope",
        "set.js"
      ]
    },
    "script-sync:pull": {
      "aliases": [],
      "args": {},
      "description": "Pull a script from a ServiceNow instance to a local file.\n\nThis command downloads a script record from your ServiceNow instance and saves it as a local file. Supports multiple script types including Script Includes, Business Rules, UI Scripts, UI Actions, and Client Scripts.\n\nFeatures:\n  • Download scripts by name and type\n  • Custom output file path support\n  • Auto-generated file names based on script name and type\n  • JSON output for CI/CD integration",
      "examples": [
        {
          "description": "Pull a Script Include to auto-generated file name",
          "command": "<%= config.bin %> <%= command.id %> --name MyScriptInclude --type sys_script_include --auth dev-instance"
        },
        {
          "description": "Pull a Business Rule to a specific file",
          "command": "<%= config.bin %> <%= command.id %> --name MyBusinessRule --type sys_script --output ./scripts/my-rule.js --auth dev-instance"
        },
        {
          "description": "Pull a Client Script with JSON output",
          "command": "<%= config.bin %> <%= command.id %> -n MyClientScript -t sys_script_client --json --auth dev-instance"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "Name of the script to pull",
          "name": "name",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "type": {
          "char": "t",
          "description": "Type of script to pull",
          "name": "type",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "sys_script_include",
            "sys_script",
            "sys_ui_script",
            "sys_ui_action",
            "sys_script_client"
          ],
          "type": "option"
        },
        "output": {
          "char": "o",
          "description": "Output file path. If not specified, a file name is auto-generated.",
          "name": "output",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "script-sync:pull",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "script-sync",
        "pull.js"
      ]
    },
    "script-sync:push": {
      "aliases": [],
      "args": {},
      "description": "Push a local script file to a ServiceNow instance.\n\nThis command uploads a local script file to your ServiceNow instance, updating the corresponding script record. Supports multiple script types including Script Includes, Business Rules, UI Scripts, UI Actions, and Client Scripts.\n\nFeatures:\n  • Upload scripts by name and type\n  • Specify the local file to push\n  • JSON output for CI/CD integration\n  • Detailed push result reporting",
      "examples": [
        {
          "description": "Push a Script Include from a local file",
          "command": "<%= config.bin %> <%= command.id %> --name MyScriptInclude --type sys_script_include --file ./scripts/MyScriptInclude.js --auth dev-instance"
        },
        {
          "description": "Push a Business Rule with short flags",
          "command": "<%= config.bin %> <%= command.id %> -n MyBusinessRule -t sys_script -f ./scripts/my-rule.js -a dev-instance"
        },
        {
          "description": "Push a UI Script with JSON output",
          "command": "<%= config.bin %> <%= command.id %> -n MyUIScript -t sys_ui_script -f ./scripts/ui-script.js --json --auth dev-instance"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "Name of the script to push",
          "name": "name",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "type": {
          "char": "t",
          "description": "Type of script to push",
          "name": "type",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "sys_script_include",
            "sys_script",
            "sys_ui_script",
            "sys_ui_action",
            "sys_script_client"
          ],
          "type": "option"
        },
        "file": {
          "char": "f",
          "description": "Path to the local script file to push",
          "name": "file",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "script-sync:push",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "script-sync",
        "push.js"
      ]
    },
    "script-sync:sync": {
      "aliases": [],
      "args": {},
      "description": "Synchronize all scripts in a directory with a ServiceNow instance.\n\nThis command scans a local directory for script files and synchronizes them with the corresponding records on your ServiceNow instance. You can optionally filter by script types to synchronize only specific kinds of scripts.\n\nFeatures:\n  • Batch synchronization of all scripts in a directory\n  • Filter by one or more script types\n  • Summary report with success/failure counts\n  • JSON output for CI/CD integration",
      "examples": [
        {
          "description": "Sync all scripts in a directory",
          "command": "<%= config.bin %> <%= command.id %> --directory ./scripts --auth dev-instance"
        },
        {
          "description": "Sync only Script Includes and Business Rules",
          "command": "<%= config.bin %> <%= command.id %> --directory ./scripts --types sys_script_include --types sys_script --auth dev-instance"
        },
        {
          "description": "Sync with JSON output for CI/CD",
          "command": "<%= config.bin %> <%= command.id %> -d ./scripts --json --auth dev-instance"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "directory": {
          "char": "d",
          "description": "Directory containing script files to synchronize",
          "name": "directory",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "types": {
          "char": "t",
          "description": "Script types to synchronize. Can be specified multiple times to include multiple types.",
          "name": "types",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": true,
          "options": [
            "sys_script_include",
            "sys_script",
            "sys_ui_script",
            "sys_ui_action",
            "sys_script_client"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "script-sync:sync",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "script-sync",
        "sync.js"
      ]
    },
    "search:add-table": {
      "aliases": [],
      "args": {},
      "description": "Add a table to a code search group on a ServiceNow instance.\n\nThis command registers a new table and its searchable fields with a search group, making the table's records discoverable through code search. This is useful when you need to include custom tables in code search results.\n\nFeatures:\n  • Add custom tables to search groups\n  • Specify which fields should be indexed\n  • JSON output for scripting and automation",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --table sys_script_include --search-fields script --search-group \"Script Includes\" --auth dev-instance",
          "description": "Add a table to a search group"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --table sys_ui_page --search-fields \"html,client_script,processing_script\" --search-group \"UI Pages\" --auth dev-instance",
          "description": "Add a table with multiple search fields"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --table u_custom_script --search-fields script --search-group \"Custom\" --json --auth dev-instance",
          "description": "Add a table with JSON output"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "search-fields": {
          "char": "f",
          "description": "Comma-separated list of fields to index for search",
          "name": "search-fields",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "search-group": {
          "char": "g",
          "description": "Search group to add the table to",
          "name": "search-group",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "Table name to add to the search group",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "search:add-table",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "search",
        "add-table.js"
      ]
    },
    "search:groups": {
      "aliases": [],
      "args": {},
      "description": "List all available code search groups on a ServiceNow instance.\n\nSearch groups organize searchable tables into logical categories. Use this command to discover which search groups are configured, then use the group names with other search commands to narrow your search scope.\n\nFeatures:\n  • List all configured search groups\n  • JSON output for scripting and automation",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --auth dev-instance",
          "description": "List all search groups"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --json --auth dev-instance",
          "description": "List search groups with JSON output"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "search:groups",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "search",
        "groups.js"
      ]
    },
    "search": {
      "aliases": [],
      "args": {},
      "description": "Search platform code across a ServiceNow instance.\n\nThis command allows you to search through code stored on the platform, including scripts, business rules, UI pages, and other scriptable records. You can search globally, within a specific application scope, or within a specific table and search group.\n\nFeatures:\n  • Full-text code search across the platform\n  • Scope-specific search within application boundaries\n  • Table-specific search within a search group\n  • JSON output for CI/CD integration\n  • Configurable result limits",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --term \"GlideRecord\" --auth dev-instance",
          "description": "Search for a term across the entire instance"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --term \"getValue\" --scope x_my_app --auth dev-instance",
          "description": "Search within a specific application scope"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --term \"initialize\" --search-group \"Script Includes\" --table sys_script_include --auth dev-instance",
          "description": "Search within a specific table and search group"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --term \"GlideRecord\" --limit 10 --json --auth dev-instance",
          "description": "Search with a result limit and JSON output"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "limit": {
          "char": "l",
          "description": "Maximum number of results to return",
          "name": "limit",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "scope": {
          "char": "s",
          "description": "Application scope to search within",
          "name": "scope",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "search-group": {
          "char": "g",
          "description": "Search group to search within (required when using --table)",
          "name": "search-group",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "table": {
          "description": "Table name to search within (requires --search-group)",
          "name": "table",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "term": {
          "char": "t",
          "description": "Search term to look for in platform code",
          "name": "term",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "search",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "search",
        "index.js"
      ]
    },
    "search:tables": {
      "aliases": [],
      "args": {},
      "description": "List tables configured for a specific code search group.\n\nEach search group contains one or more tables that are indexed for code search. Use this command to discover which tables belong to a search group, including the fields that are searchable on each table.\n\nFeatures:\n  • List all tables in a search group\n  • View searchable fields per table\n  • JSON output for scripting and automation",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --search-group \"Script Includes\" --auth dev-instance",
          "description": "List tables in a search group"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --search-group \"Business Rules\" --json --auth dev-instance",
          "description": "List tables with JSON output"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "search-group": {
          "char": "g",
          "description": "Search group name to list tables for",
          "name": "search-group",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "search:tables",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "search",
        "tables.js"
      ]
    },
    "store:install": {
      "aliases": [],
      "args": {},
      "description": "Install an application from the ServiceNow Store.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --app-id abc123 --version 1.0.0 --auth dev",
          "description": "Install a store application and wait for completion"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --app-id abc123 --version 1.0.0 --no-wait --auth dev",
          "description": "Install without waiting for completion"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -a abc123 -v 1.0.0 --demo-data --auth dev",
          "description": "Install with demo data"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "app-id": {
          "char": "a",
          "description": "Store application sys_id",
          "name": "app-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "demo-data": {
          "description": "Load demo data during installation",
          "name": "demo-data",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "no-wait": {
          "description": "Do not wait for installation to complete",
          "name": "no-wait",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "poll-interval": {
          "description": "Polling interval in milliseconds",
          "name": "poll-interval",
          "required": false,
          "default": 5000,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "timeout": {
          "description": "Installation timeout in milliseconds",
          "name": "timeout",
          "required": false,
          "default": 1800000,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "version": {
          "char": "v",
          "description": "Application version to install",
          "name": "version",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "store:install",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "store",
        "install.js"
      ]
    },
    "store:search": {
      "aliases": [],
      "args": {},
      "description": "Search for applications in the ServiceNow Store.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --term \"ITSM\" --auth dev",
          "description": "Search for applications matching a term"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --tab installed --auth dev",
          "description": "List installed applications"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --tab updates --limit 10 --auth dev",
          "description": "List applications with available updates"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of results to return",
          "name": "limit",
          "required": false,
          "default": 20,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "tab": {
          "description": "Store tab context to search",
          "name": "tab",
          "required": false,
          "default": "available_for_you",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "available_for_you",
            "installed",
            "updates"
          ],
          "type": "option"
        },
        "term": {
          "char": "t",
          "description": "Search term",
          "name": "term",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "store:search",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "store",
        "search.js"
      ]
    },
    "store:update": {
      "aliases": [],
      "args": {},
      "description": "Update a ServiceNow Store application to a new version.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --app-id abc123 --version 2.0.0 --auth dev",
          "description": "Update a store application and wait for completion"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --app-id abc123 --version 2.0.0 --no-wait --auth dev",
          "description": "Update without waiting for completion"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -a abc123 -v 2.0.0 --timeout 3600000 --auth dev",
          "description": "Update with custom timeout (1 hour)"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "app-id": {
          "char": "a",
          "description": "Store application sys_id",
          "name": "app-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "no-wait": {
          "description": "Do not wait for update to complete",
          "name": "no-wait",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "poll-interval": {
          "description": "Polling interval in milliseconds",
          "name": "poll-interval",
          "required": false,
          "default": 5000,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "timeout": {
          "description": "Update timeout in milliseconds",
          "name": "timeout",
          "required": false,
          "default": 1800000,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "version": {
          "char": "v",
          "description": "Target application version",
          "name": "version",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "store:update",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "store",
        "update.js"
      ]
    },
    "store:validate": {
      "aliases": [],
      "args": {},
      "description": "Validate a batch installation definition file.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --file ./batch-definition.json --auth dev",
          "description": "Validate a batch definition file"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "file": {
          "char": "f",
          "description": "Path to batch definition JSON file",
          "name": "file",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "store:validate",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "store",
        "validate.js"
      ]
    },
    "task:approve": {
      "aliases": [],
      "args": {},
      "description": "Approve a ServiceNow change request.\n\nThis command approves a change request identified by its number. You can optionally provide approval comments.\n\nFeatures:\n  - Approve change requests\n  - Optionally add approval comments\n  - Auto-resolves change request number to sys_id",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --number CHG0010001 --auth dev",
          "description": "Approve a change request"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -n CHG0010001 -c \"Looks good, approved\" --auth dev",
          "description": "Approve a change request with comments"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "comments": {
          "char": "c",
          "description": "Approval comments",
          "name": "comments",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "number": {
          "char": "n",
          "description": "Change request number (e.g., CHG0010001)",
          "name": "number",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "task:approve",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "task",
        "approve.js"
      ]
    },
    "task:assign": {
      "aliases": [],
      "args": {},
      "description": "Assign a ServiceNow task to a user or group.\n\nThis command assigns a task record identified by its number to a specified user and/or group. You can assign to a user, a group, or both simultaneously.\n\nFeatures:\n  - Assign tasks to individual users\n  - Assign tasks to assignment groups\n  - Assign to both user and group at once\n  - Supports any task-based table\n  - Auto-resolves task number to sys_id",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --number INC0010001 --user admin --auth dev",
          "description": "Assign an incident to a user"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -n INC0010001 -u admin -g \"Service Desk\" --auth dev",
          "description": "Assign an incident to a user and group"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --number CHG0010001 --table change_request --user admin --auth dev",
          "description": "Assign a change request to a user"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "group": {
          "char": "g",
          "description": "Assignment group",
          "name": "group",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "number": {
          "char": "n",
          "description": "Task number (e.g., INC0010001)",
          "name": "number",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "table": {
          "description": "ServiceNow table name",
          "name": "table",
          "required": false,
          "default": "task",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "user": {
          "char": "u",
          "description": "User to assign the task to",
          "name": "user",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "task:assign",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "task",
        "assign.js"
      ]
    },
    "task:close": {
      "aliases": [],
      "args": {},
      "description": "Close a ServiceNow incident.\n\nThis command closes an incident identified by its number, setting the close notes and optionally a close code. The incident must be in a state that allows closure.\n\nFeatures:\n  - Close incidents with close notes\n  - Optionally specify a close code\n  - Auto-resolves incident number to sys_id",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --number INC0010001 --notes \"Issue confirmed resolved by user\" --auth dev",
          "description": "Close an incident with close notes"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -n INC0010001 --notes \"Closed\" --close-code \"Solved (Permanently)\" --auth dev",
          "description": "Close with a specific close code"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "close-code": {
          "description": "Close code for the closure",
          "name": "close-code",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "notes": {
          "description": "Close notes",
          "name": "notes",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "number": {
          "char": "n",
          "description": "Incident number (e.g., INC0010001)",
          "name": "number",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "task:close",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "task",
        "close.js"
      ]
    },
    "task:comment": {
      "aliases": [],
      "args": {},
      "description": "Add a comment or work note to a ServiceNow task.\n\nThis command adds a comment or work note to a task record identified by its number. By default, comments are added as customer-visible comments. Use the --work-note flag to add an internal work note instead.\n\nFeatures:\n  - Add customer-visible comments to any task\n  - Add internal work notes visible only to fulfiller teams\n  - Supports any task-based table (incident, change_request, etc.)\n  - Auto-resolves task number to sys_id",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --number INC0010001 --comment \"Investigating the issue\" --auth dev",
          "description": "Add a comment to an incident"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -n INC0010001 -c \"Internal update\" --work-note --auth dev",
          "description": "Add a work note to an incident"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --number CHG0010001 --table change_request --comment \"Approved\" --auth dev",
          "description": "Add a comment to a change request"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "comment": {
          "char": "c",
          "description": "Comment text to add",
          "name": "comment",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "number": {
          "char": "n",
          "description": "Task number (e.g., INC0010001)",
          "name": "number",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "table": {
          "description": "ServiceNow table name",
          "name": "table",
          "required": false,
          "default": "task",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "work-note": {
          "description": "Add as work note instead of comment",
          "name": "work-note",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "task:comment",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "task",
        "comment.js"
      ]
    },
    "task:find": {
      "aliases": [],
      "args": {},
      "description": "Find a ServiceNow task by its number.\n\nThis command looks up a task record by its number in the specified table. Returns the full task details including sys_id, description, state, and assignment information.\n\nFeatures:\n  - Look up any task by number\n  - Supports any task-based table\n  - JSON output for scripting and automation",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --number INC0010001 --auth dev",
          "description": "Find an incident by number"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -n CHG0010001 --table change_request --auth dev",
          "description": "Find a change request by number"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -n INC0010001 --json --auth dev",
          "description": "Find an incident and output as JSON"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "number": {
          "char": "n",
          "description": "Task number (e.g., INC0010001, CHG0010001)",
          "name": "number",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "table": {
          "description": "ServiceNow table name",
          "name": "table",
          "required": false,
          "default": "task",
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "task:find",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "task",
        "find.js"
      ]
    },
    "task:resolve": {
      "aliases": [],
      "args": {},
      "description": "Resolve a ServiceNow incident with resolution notes.\n\nThis command resolves an incident identified by its number, setting the resolution notes and optionally a close code. The incident must be in a state that allows resolution.\n\nFeatures:\n  - Resolve incidents with resolution notes\n  - Optionally specify a close code\n  - Auto-resolves incident number to sys_id",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --number INC0010001 --notes \"Issue resolved by restarting the service\" --auth dev",
          "description": "Resolve an incident with resolution notes"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -n INC0010001 --notes \"Fixed\" --close-code \"Solved (Permanently)\" --auth dev",
          "description": "Resolve with a specific close code"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "close-code": {
          "description": "Close code for the resolution",
          "name": "close-code",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "notes": {
          "description": "Resolution notes",
          "name": "notes",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "number": {
          "char": "n",
          "description": "Incident number (e.g., INC0010001)",
          "name": "number",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "task:resolve",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "task",
        "resolve.js"
      ]
    },
    "update-set:clone": {
      "aliases": [],
      "args": {},
      "description": "Clone an update set and its records.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --source us-001 --name \"Cloned Set\" --auth dev-instance",
          "description": "Clone an update set"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --source us-001 --name \"Cloned Set\" --json --auth dev-instance",
          "description": "Clone with JSON output"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "Name for the cloned update set",
          "name": "name",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "source": {
          "char": "s",
          "description": "Source update set sys_id",
          "name": "source",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "update-set:clone",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "update-set",
        "clone.js"
      ]
    },
    "update-set:create": {
      "aliases": [],
      "args": {},
      "description": "Create a new update set.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --name \"My Feature Set\" --auth dev-instance",
          "description": "Create a new update set with a name"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --name \"My Feature Set\" --description \"Update set for feature X\" --auth dev-instance",
          "description": "Create with name and description"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --name \"My Feature Set\" --application x_my_app --auth dev-instance",
          "description": "Create within a specific application scope"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "application": {
          "description": "Application scope for the new update set",
          "name": "application",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "description": {
          "char": "d",
          "description": "Description for the new update set",
          "name": "description",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "name": {
          "char": "n",
          "description": "Name for the new update set",
          "name": "name",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "update-set:create",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "update-set",
        "create.js"
      ]
    },
    "update-set:current": {
      "aliases": [],
      "args": {},
      "description": "Get or set the current update set.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --auth dev-instance",
          "description": "Get the current update set"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --set us-001 --auth dev-instance",
          "description": "Set the current update set by sys_id"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --json --auth dev-instance",
          "description": "Get the current update set as JSON"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "set": {
          "char": "s",
          "description": "sys_id of update set to make current",
          "name": "set",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "update-set:current",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "update-set",
        "current.js"
      ]
    },
    "update-set": {
      "aliases": [],
      "args": {},
      "description": "List update sets on a ServiceNow instance.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --auth dev-instance",
          "description": "List update sets with default limit"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --query \"state=in progress\" --limit 50 --auth dev-instance",
          "description": "List update sets with a custom query filter"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --json --auth dev-instance",
          "description": "List update sets with JSON output"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "limit": {
          "description": "Maximum number of update sets to return",
          "name": "limit",
          "required": false,
          "default": 20,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "query": {
          "char": "q",
          "description": "Encoded query filter",
          "name": "query",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "update-set",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "update-set",
        "index.js"
      ]
    },
    "update-set:inspect": {
      "aliases": [],
      "args": {},
      "description": "Inspect the components of an update set.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --sys-id us-001 --auth dev-instance",
          "description": "Inspect an update set by sys_id"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --sys-id us-001 --json --auth dev-instance",
          "description": "Inspect with JSON output"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "sys-id": {
          "char": "s",
          "description": "sys_id of the update set to inspect",
          "name": "sys-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "update-set:inspect",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "update-set",
        "inspect.js"
      ]
    },
    "update-set:move": {
      "aliases": [],
      "args": {},
      "description": "Move records between update sets.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --target us-002 --source us-001 --auth dev-instance",
          "description": "Move all records from one update set to another"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --target us-002 --records \"rec-001,rec-002,rec-003\" --auth dev-instance",
          "description": "Move specific records to a target update set"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> --target us-002 --source us-001 --json --auth dev-instance",
          "description": "Move records with JSON output"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "records": {
          "description": "Comma-separated sys_ids of records to move",
          "name": "records",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "source": {
          "description": "Source update set sys_id",
          "name": "source",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "target": {
          "description": "Target update set sys_id",
          "name": "target",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "update-set:move",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "update-set",
        "move.js"
      ]
    },
    "workflow:create": {
      "aliases": [],
      "args": {},
      "description": "Create a complete workflow from a JSON specification file.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --spec ./workflow.json --auth dev",
          "description": "Create a workflow from a JSON spec file"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -s ./workflow.json --json --auth dev",
          "description": "Create a workflow and output result as JSON"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "spec": {
          "char": "s",
          "description": "Path to workflow JSON specification file",
          "name": "spec",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "workflow:create",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "workflow",
        "create.js"
      ]
    },
    "workflow:publish": {
      "aliases": [],
      "args": {},
      "description": "Publish a workflow version.",
      "examples": [
        {
          "command": "<%= config.bin %> <%= command.id %> --version-id wfv-001 --start-activity act-001 --auth dev",
          "description": "Publish a workflow version"
        },
        {
          "command": "<%= config.bin %> <%= command.id %> -v wfv-001 -s act-001 --json --auth dev",
          "description": "Publish a workflow version and output as JSON"
        }
      ],
      "flags": {
        "json": {
          "description": "Format output as json.",
          "helpGroup": "GLOBAL",
          "name": "json",
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "start-activity": {
          "char": "s",
          "description": "Sys ID of the start activity",
          "name": "start-activity",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "version-id": {
          "char": "v",
          "description": "Sys ID of the workflow version to publish",
          "name": "version-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "workflow:publish",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "workflow",
        "publish.js"
      ]
    },
    "xml:export": {
      "aliases": [],
      "args": {},
      "description": "Export a single ServiceNow record as XML.\n\nDownloads the XML representation of a specific record from a ServiceNow table. Without --output, the XML is printed to stdout. With --output, the XML is written to the specified file path.\n\nFeatures:\n  • Export any record by table and sys_id\n  • Print XML to stdout for piping to other tools\n  • Save directly to a file with --output\n  • JSON output mode for CI/CD integration",
      "examples": [
        {
          "description": "Export a record to stdout",
          "command": "<%= config.bin %> <%= command.id %> --table sys_script_include --sys-id abc123def456 --auth dev"
        },
        {
          "description": "Export and save to a file",
          "command": "<%= config.bin %> <%= command.id %> --table incident --sys-id abc123 --output ./export.xml --auth dev"
        },
        {
          "description": "Export as JSON metadata",
          "command": "<%= config.bin %> <%= command.id %> --table sys_script --sys-id abc123 --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "Table name of the record to export",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "sys-id": {
          "char": "s",
          "description": "Sys ID of the record to export",
          "name": "sys-id",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "output": {
          "char": "o",
          "description": "File path to write the exported XML to. If omitted, XML is printed to stdout.",
          "name": "output",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "xml:export",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "xml",
        "export.js"
      ]
    },
    "xml:import": {
      "aliases": [],
      "args": {},
      "description": "Import XML records into a ServiceNow instance.\n\nReads an XML file and imports its contents into the specified target table. The XML should be in ServiceNow unload format.\n\nFeatures:\n  • Import from local XML files\n  • Target a specific table\n  • JSON output mode for CI/CD integration",
      "examples": [
        {
          "description": "Import records from an XML file",
          "command": "<%= config.bin %> <%= command.id %> --file ./export.xml --table sys_script_include --auth dev"
        },
        {
          "description": "Import with JSON output",
          "command": "<%= config.bin %> <%= command.id %> --file ./records.xml --table incident --json --auth dev"
        }
      ],
      "flags": {
        "json": {
          "char": "j",
          "description": "Output results as JSON",
          "name": "json",
          "required": false,
          "allowNo": false,
          "type": "boolean"
        },
        "auth": {
          "char": "a",
          "description": "Auth alias to use.",
          "name": "auth",
          "required": false,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "log-level": {
          "helpGroup": "GLOBAL",
          "name": "log-level",
          "summary": "Specify level for logging.",
          "default": "info",
          "hasDynamicHelp": false,
          "multiple": false,
          "options": [
            "debug",
            "warn",
            "error",
            "info",
            "trace"
          ],
          "type": "option"
        },
        "file": {
          "char": "f",
          "description": "Path to the XML file to import",
          "name": "file",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        },
        "table": {
          "char": "t",
          "description": "Target table to import records into",
          "name": "table",
          "required": true,
          "hasDynamicHelp": false,
          "multiple": false,
          "type": "option"
        }
      },
      "hasDynamicHelp": false,
      "hiddenAliases": [],
      "id": "xml:import",
      "pluginAlias": "@sonisoft/now-sdk-ext-cli",
      "pluginName": "@sonisoft/now-sdk-ext-cli",
      "pluginType": "core",
      "strict": true,
      "enableJsonFlag": true,
      "isESM": true,
      "relativePath": [
        "dist",
        "commands",
        "xml",
        "import.js"
      ]
    }
  },
  "version": "2.3.2"
}