File size: 1,918 Bytes
1b46b61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env bash
# Fail closed if the running Comfy (or offline tree) is not the Power Pack keys-2k stack.
set -euo pipefail
OFFLINE=0
IP="${1:-127.0.0.1}"
PORT="${H3_PORT:-8188}"
if [[ "${1:-}" == "--offline" ]]; then OFFLINE=1; fi

fail() { echo "FAIL: $*" >&2; exit 1; }
ok() { echo "OK: $*"; }

if [[ "$OFFLINE" == "1" ]]; then
  COMFY="${COMFY_DIR:-/opt/powerpack-h3/ComfyUI}"
  [[ -f "$COMFY/main.py" ]] || fail "no Comfy at $COMFY"
  grep -q '0.31.1' "$COMFY/comfyui_version.py" 2>/dev/null || fail "ComfyUI version not 0.31.1"
  [[ -d "$COMFY/custom_nodes/ComfyUI-Spectrum-MiniMax-H3" ]] || fail "Spectrum missing"
  grep -q '0.2.1' "$COMFY/custom_nodes/ComfyUI-Spectrum-MiniMax-H3/pyproject.toml" 2>/dev/null \
    || fail "Spectrum not v0.2.1"
  [[ -d "$COMFY/custom_nodes/ComfyUI-MiniMaxH3-Contex-Loop" ]] || fail "Contex-Loop missing"
  ok "offline tree looks like keys-2k stack"
  exit 0
fi

curl -sf -m 5 "http://${IP}:${PORT}/system_stats" >/dev/null || fail "Comfy down at ${IP}:${PORT}"
curl -sf "http://${IP}:${PORT}/object_info" | python3 -c '
import sys,json
d=json.load(sys.stdin)
need=["PathchSageAttentionKJ","SolAttnPatch","SpectrumApplyMiniMaxH3","H3FirstBlockCache",
      "MiniMaxH3MotionContext","ImageUpscaleWithModel","UpscaleModelLoader","MiniMaxH3ImageToVideo"]
miss=[n for n in need if n not in d]
if miss:
  print("MISSING", miss); sys.exit(1)
print("object_info nodes OK")
'
curl -sf "http://${IP}:${PORT}/object_info/SpectrumApplyMiniMaxH3" | python3 -c '
import sys,json
j=json.load(sys.stdin); k=next(iter(j))
bag=j[k]["input"].get("required",{})|j[k]["input"].get("optional",{})
f=bag.get("offline_smoothing_replay")
d=f[1].get("default") if isinstance(f,list) and len(f)>1 and isinstance(f[1],dict) else None
assert d is True, f"offline_smoothing_replay default={d} (want True)"
print("Spectrum audio fix default OK")
'
ok "live stack at ${IP}:${PORT} is keys-2k compatible"