#!/usr/bin/env bash extract_openclaw_semver() { local raw="${1:-}" local parsed="" parsed="$( printf '%s\n' "$raw" \ | tr -d '\r' \ | grep -Eo 'v?[0-9]+\.[0-9]+\.[0-9]+([.-][0-9A-Za-z]+(\.[0-9A-Za-z]+)*)?(\+[0-9A-Za-z.-]+)?' \ | head -n 1 \ || true )" printf '%s' "${parsed#v}" }