#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" SKILL_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" SKILL_ENV_FILE="${SKILL_ENV_FILE:-$SKILL_ROOT/.env.local}" if [ -f "$SKILL_ENV_FILE" ]; then set -a # shellcheck disable=SC1090 . "$SKILL_ENV_FILE" set +a fi # Client-finder UAT (skill-credit + run-flow) # # Required env in live mode: # AUTH_BASE, CLIENT_KEY # # Optional env: # QUERY, COUNTRY # # Examples: # AUTH_BASE=https://api-gw-test.yuanwei-lnc.com CLIENT_KEY=sk_xxx ./skill-run-uat.sh # AUTH_BASE=https://api-gw-test.yuanwei-lnc.com CLIENT_KEY=sk_xxx QUERY="office machine in US" ./skill-run-uat.sh --live AUTH_BASE="${AUTH_BASE:-}" CLIENT_KEY="${CLIENT_KEY:-}" QUERY="${QUERY:-office machine in US}" COUNTRY="${COUNTRY:-us}" LIVE=0 if [ "${1:-}" = "--live" ]; then LIVE=1 fi if [ "$LIVE" -eq 1 ]; then if [ -z "$AUTH_BASE" ] || [ -z "$CLIENT_KEY" ]; then echo "Missing env: AUTH_BASE and CLIENT_KEY are required in --live mode." exit 1 fi fi json_get() { local raw="$1" local key="$2" python3 - "$raw" "$key" <<'PY' import json, sys raw = sys.argv[1] key = sys.argv[2] try: data = json.loads(raw) except Exception: print("") raise SystemExit(0) val = data.get(key, "") if val is None: val = "" print(val) PY } echo "== Client-finder UAT ==" echo "QUERY=$QUERY" echo "COUNTRY=$COUNTRY" if [ "$LIVE" -eq 0 ]; then echo "Mode: dry-run (no network request)" cat <" \\ -H "Content-Type: application/json" \\ -d '{"query":"$QUERY","country":"$COUNTRY"}' EOF exit 0 fi SESSION_JSON="$(curl -s -X POST "$AUTH_BASE/auth/skill-credit/session" \ -H "Content-Type: application/json" \ -d "{\"clientKey\":\"$CLIENT_KEY\"}")" ACCESS_TOKEN="$(json_get "$SESSION_JSON" "accessToken")" if [ -z "$ACCESS_TOKEN" ]; then echo "Session exchange failed: $SESSION_JSON" exit 1 fi echo "Session OK." RUN_JSON="$(curl -s -X POST "$AUTH_BASE/ecom/cold-outreach/run-flow" \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d "{\"query\":\"$QUERY\",\"country\":\"$COUNTRY\"}")" echo "Run-flow response:" echo "$RUN_JSON" echo "UAT completed."