apexe 0.6.1

Outside-In CLI-to-Agent Bridge
{
  "schema_version": "1.0",
  "command": "wc",
  "variant": "gnu",
  "match": {
    "probe": {
      "args": ["--version"],
      "expect": "success",
      "output_contains": "GNU coreutils"
    }
  },
  "mode": "authoritative",
  "confidence": "verified",
  "provenance": {
    "platform": "linux",
    "tool_version": "9.7",
    "package": "coreutils",
    "source": "help",
    "checked_on": "2026-07-27",
    "command": "docker run --rm debian@sha256:328d16499860ae6cb9b345e2e4cebca08c2a36e4f7278482c7bd1f39d71e5bfd wc --help",
    "environment": "debian@sha256:328d16499860ae6cb9b345e2e4cebca08c2a36e4f7278482c7bd1f39d71e5bfd",
    "notes": "Debian slim images ship no man pages, so the flag list was read from GNU --help, which is complete by GNU convention. Enum values for --total come from the same --help output. No flag carries a conflicts_with: --help states no mutual exclusion, and the binary accepts every pairing tested, including 'wc -c -m' and 'wc -c -l -w -L -m', which print all the requested counts side by side. This is a real divergence from BSD wc, whose page documents -c and -m as cancelling each other out; the descriptions and conflicts here were taken from GNU's own output only. The one exclusion GNU does enforce is not between two flags: --files0-from=F takes the place of the FILE operands, and 'wc --files0-from=F FILE' fails with \"extra operand\". That is recorded in the operand description because conflicts_with can only name flags. annotations: wc opens every operand read-only and has no option that names an output file, so readonly is true."
  },
  "description": "Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. A word is a nonempty sequence of non white space delimited by white space characters or by start or end of input. With no FILE, or when FILE is -, read standard input. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length.",
  "flags": [
    { "short": "-c", "long": "--bytes", "type": "boolean", "description": "Print the byte counts." },
    { "short": "-m", "long": "--chars", "type": "boolean", "description": "Print the character counts." },
    { "short": "-l", "long": "--lines", "type": "boolean", "description": "Print the newline counts." },
    { "long": "--files0-from", "type": "path", "value_name": "F", "description": "Read input from the files specified by NUL-terminated names in file F. If F is - then read names from standard input. This replaces the FILE operands rather than adding to them." },
    { "short": "-L", "long": "--max-line-length", "type": "boolean", "description": "Print the maximum display width." },
    { "short": "-w", "long": "--words", "type": "boolean", "description": "Print the word counts." },
    { "long": "--total", "type": "enum", "value_name": "WHEN", "enum_values": ["auto", "always", "only", "never"], "description": "When to print a line with total counts." },
    { "long": "--help", "type": "boolean", "description": "Display this help and exit." },
    { "long": "--version", "type": "boolean", "description": "Output version information and exit." }
  ],
  "positional_args": [
    { "name": "file", "type": "path", "variadic": true, "required": false, "description": "Files to count. With no FILE, or when FILE is -, read standard input. Not given when --files0-from is used, which rejects any FILE operand as an extra operand." }
  ],
  "annotations": {
    "readonly": true,
    "destructive": false,
    "idempotent": true,
    "requires_approval": false
  }
}