{
  "space": "pbx",
  "kind": "tools",
  "product": "3wmp3",
  "version": "0.2.0",
  "channel": "stable",
  "published_at": "2026-03-26T13:46:08Z",
  "install": {
    "runtime_name": "3wmp3",
    "runtime_path": "files/3wmp3",
    "installer_name": "3wmp3_install.sh",
    "installer_path": "files/3wmp3_install.sh",
    "installer_supports_yes": true,
    "installer_supports_rollback": true
  },
  "site": {
    "title": "3wmp3",
    "summary": "3wmp3 0.2.0 is the current public release. It adds runtime version output, startup legal notice text, installer upgrade detection, local backup creation, rollback support, and post-install test guidance.",
    "status_label": "Current",
    "tags": [
      "Current",
      "Recommended",
      "0.2.0"
    ],
    "install_commands": [
      {
        "title": "Recommended Install",
        "command": "curl -fsSL https://software.3wcorner.com/pbx/tools/3wmp3/install.sh | bash",
        "description": "Uses the stable product bootstrap installer and resolves the current recommended release automatically."
      },
      {
        "title": "Pin Release 0.2.0",
        "command": "curl -fsSL https://software.3wcorner.com/pbx/tools/3wmp3/install.sh | bash -s -- --release 0.2.0",
        "description": "Uses the bootstrap installer but pins this exact release instead of following the current alias."
      },
      {
        "title": "Prepare System Only",
        "command": "curl -fsSL https://software.3wcorner.com/pbx/tools/3wmp3/install.sh | bash -s -- --prepare-system",
        "description": "Installs the required client-side dependencies without changing the current runtime install."
      },
      {
        "title": "Install Latest Published",
        "command": "curl -fsSL https://software.3wcorner.com/pbx/tools/3wmp3/install.sh | bash -s -- --latest",
        "description": "Installs the newest published release, even if the recommended current alias has not changed yet."
      },
      {
        "title": "Rollback Last Install",
        "command": "curl -fsSL https://software.3wcorner.com/pbx/tools/3wmp3/install.sh | bash -s -- --rollback-last",
        "description": "Restores the latest backup created during a prior upgrade or reinstall."
      },
      {
        "title": "Reinstall Current Release",
        "command": "curl -fsSL https://software.3wcorner.com/pbx/tools/3wmp3/install.sh | bash -s -- --reinstall",
        "description": "Forces the current recommended release to be installed again even when the same version is already present."
      },
      {
        "title": "Run Smoke Test",
        "command": "3wmp3 --version && 3wmp3 --help && 3wmp3 --test --recording-dir /path/to/sample-recordings",
        "description": "After install or upgrade, validate against staged recordings before touching live production audio."
      }
    ],
    "runtime_options": [
      {
        "flag": "3wmp3 --test",
        "description": "Converts one non-empty WAV file into the current working directory without changing the source WAV, database, or ownership."
      },
      {
        "flag": "3wmp3 --recording-dir PATH",
        "description": "Overrides the default recording directory instead of using `/var/spool/asterisk/monitor`."
      },
      {
        "flag": "3wmp3 --version",
        "description": "Shows the installed runtime version."
      },
      {
        "flag": "3wmp3 --help",
        "description": "Shows the runtime usage summary."
      }
    ],
    "installer_options": [
      {
        "flag": "install.sh --release VERSION",
        "description": "Pins an exact published release instead of following the current recommended alias."
      },
      {
        "flag": "install.sh --latest",
        "description": "Installs the newest published release instead of the current recommended one."
      },
      {
        "flag": "install.sh --target-dir PATH",
        "description": "Overrides the install destination. Default is `/usr/local/sbin`."
      },
      {
        "flag": "install.sh --prepare-system",
        "description": "Installs the required client-side runtime dependencies only and skips the runtime install."
      },
      {
        "flag": "install.sh --rollback-last",
        "description": "Uses the current installer to restore the latest backup created during a prior upgrade."
      },
      {
        "flag": "install.sh --reinstall",
        "description": "Forces the selected release to be installed again even if the same version is already present. `--clean-install` and `--force-install` are accepted aliases."
      },
      {
        "flag": "install.sh --list-versions",
        "description": "Prints the published versions list using JSON when `jq` is available and text fallback otherwise."
      },
      {
        "flag": "install.sh --yes",
        "description": "Accepts supported prompts automatically where that is safe."
      },
      {
        "flag": "install.sh --version",
        "description": "Shows the bootstrap installer version."
      },
      {
        "flag": "install.sh --help",
        "description": "Shows the bootstrap installer usage summary."
      }
    ],
    "callout": "**Scope:** This tool expects an existing PBX environment. The installer can prepare dependencies, but it does not provision a PBX or install a database server."
  },
  "files": [
    {
      "name": "3wmp3",
      "path": "files/3wmp3",
      "size_bytes": 9226,
      "sha256": "4bd23e97953b6edad72bdad9df8eb58ae9dc30a9af2de0998ca4b39eaad0634f",
      "content_type": "text/x-shellscript",
      "role": "runtime"
    },
    {
      "name": "3wmp3_install.sh",
      "path": "files/3wmp3_install.sh",
      "size_bytes": 15280,
      "sha256": "54c44288cba65c1c3053e46a5995f914f90a94741112f7548f700e6d252fe2d8",
      "content_type": "text/x-shellscript",
      "role": "installer"
    }
  ]
}
