claude-cac 1.5.1-beta.1 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/cac +19 -5
  2. package/package.json +1 -1
package/cac CHANGED
@@ -11,7 +11,7 @@ VERSIONS_DIR="$CAC_DIR/versions"
11
11
  # ── utils: colors, read/write, UUID, proxy parsing ───────────────────────
12
12
 
13
13
  # shellcheck disable=SC2034 # used in build-concatenated cac script
14
- CAC_VERSION="1.5.1-beta.1"
14
+ CAC_VERSION="1.5.1"
15
15
 
16
16
  _read() { [[ -f "$1" ]] && tr -d '[:space:]' < "$1" || echo "${2:-}"; }
17
17
  _die() { printf '%b\n' "$(_red "error:") $*" >&2; exit 1; }
@@ -1406,10 +1406,15 @@ if [[ -n "$PROXY" ]] && [[ -f "$CAC_DIR/relay.js" ]]; then
1406
1406
  sleep 5
1407
1407
  # relay.proxy removed by _relay_stop — intentional stop, exit watchdog
1408
1408
  [[ -f "$CAC_DIR/relay.proxy" ]] || exit 0
1409
- # relay alive — nothing to do
1409
+ # relay alive and port reachable — nothing to do
1410
1410
  if [[ -f "$CAC_DIR/relay.pid" ]]; then
1411
1411
  _rpid=$(tr -d '[:space:]' < "$CAC_DIR/relay.pid")
1412
- kill -0 "$_rpid" 2>/dev/null && continue
1412
+ if kill -0 "$_rpid" 2>/dev/null; then
1413
+ _rport=$(tr -d '[:space:]' < "$CAC_DIR/relay.port" 2>/dev/null || true)
1414
+ (echo >/dev/tcp/127.0.0.1/"$_rport") 2>/dev/null && continue
1415
+ # process alive but port unresponsive — kill and restart
1416
+ kill "$_rpid" 2>/dev/null || true
1417
+ fi
1413
1418
  fi
1414
1419
  # relay dead — restart on same port with same proxy
1415
1420
  _rport=$(tr -d '[:space:]' < "$CAC_DIR/relay.port" 2>/dev/null || true)
@@ -2044,6 +2049,13 @@ _env_cmd_set() {
2044
2049
  esac
2045
2050
  }
2046
2051
 
2052
+ _env_cmd_stop() {
2053
+ _relay_stop 2>/dev/null || true
2054
+ touch "$CAC_DIR/stopped"
2055
+ echo " $(_green "✓") cac paused — claude will run without any cac injection"
2056
+ echo " $(_dim "resume with:") $(_green "cac <name>")"
2057
+ }
2058
+
2047
2059
  cmd_env() {
2048
2060
  case "${1:-help}" in
2049
2061
  create) _env_cmd_create "${@:2}" ;;
@@ -2051,6 +2063,7 @@ cmd_env() {
2051
2063
  ls|list) _env_cmd_ls ;;
2052
2064
  rm|remove) _env_cmd_rm "${@:2}" ;;
2053
2065
  activate) _env_cmd_activate "${@:2}" ;;
2066
+ stop) _env_cmd_stop ;;
2054
2067
  check) cmd_check "${@:2}" ;;
2055
2068
  deactivate) echo "$(_yellow "warning:") deactivate has been removed — switch with 'cac <name>' or uninstall with 'cac self delete'" >&2 ;;
2056
2069
  help|-h|--help)
@@ -2064,7 +2077,8 @@ cmd_env() {
2064
2077
  echo " $(_green "ls") List all environments"
2065
2078
  echo " $(_green "rm") <name> Remove an environment"
2066
2079
  echo " $(_green "check") Verify current environment"
2067
- echo " $(_green "cac") <name> Switch environment"
2080
+ echo " $(_green "stop") Pause cac (claude runs natively, no injection)"
2081
+ echo " $(_green "cac") <name> Switch environment (also resumes if stopped)"
2068
2082
  echo
2069
2083
  ;;
2070
2084
  *)
@@ -3509,7 +3523,7 @@ case "$1" in
3509
3523
  add) echo "$(_yellow "warning:") 'cac add' → 'cac env create <name> -p <proxy>'" >&2; exit 1 ;;
3510
3524
  setup) echo "$(_yellow "removed:") 'cac setup' no longer exists — cac auto-initializes on first use" >&2 ;;
3511
3525
  check) echo "$(_yellow "warning:") 'cac check' → 'cac env check'" >&2; cmd_check ;;
3512
- stop) echo "$(_yellow "warning:") 'cac stop' has been removed — switch with 'cac <name>'" >&2 ;;
3526
+ stop) _env_cmd_stop ;;
3513
3527
  resume|-c) echo "$(_yellow "warning:") 'cac resume' removed — use 'cac env activate <name>'" >&2; exit 1 ;;
3514
3528
  relay) echo "$(_yellow "warning:") relay is now automatic (TUN auto-detected)" >&2 ;;
3515
3529
  delete|uninstall) echo "$(_yellow "warning:") 'cac delete' → 'cac self delete'" >&2; cmd_delete ;;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-cac",
3
- "version": "1.5.1-beta.1",
3
+ "version": "1.5.1",
4
4
  "description": "Isolate, protect, and manage your Claude Code — versions, environments, identity, and proxy.",
5
5
  "bin": {
6
6
  "cac": "cac"