#!/bin/zsh
set -euo pipefail
case "${1:-help}" in
  help|--help|-h)
    print 'SecureSync: list [--query NAME] | status | run api-ID --env SERVICE_API_KEY [--field NAME] -- /absolute/command args'
    print 'キーを表示するコマンドはありません。runは本人確認後、実行先の環境変数へ直接渡します。'
    exit 0 ;;
  list|run|status) ;;
  *) print -u2 '未対応の操作です。--help を確認してください。'; exit 2 ;;
esac
if [[ "$(uname -s)" != Darwin ]]; then
  print -u2 'このキー連携CLIはMac専用です。Windows版の対応CLIは未提供です。'
  exit 2
fi
PROJECT_ROOT="${0:A:h:h}"
APP_BIN="${SECURESYNC_APP:-}"
if [[ -n "$APP_BIN" ]]; then
  if [[ "$APP_BIN" != /* || ! -x "$APP_BIN" ]]; then
    print -u2 'SECURESYNC_APPには実行可能なアプリの絶対パスを指定してください。'
    exit 2
  fi
else
  for candidate in "$HOME/Applications/SecureSync.app/Contents/MacOS/SecureSyncPaste" "/Applications/SecureSync.app/Contents/MacOS/SecureSyncPaste" "$HOME/Applications/SecureSync Paste.app/Contents/MacOS/SecureSyncPaste" "/Applications/SecureSync Paste.app/Contents/MacOS/SecureSyncPaste" "$PROJECT_ROOT/build/SecureSync Paste.app/Contents/MacOS/SecureSyncPaste"; do
    if [[ -x "$candidate" ]]; then APP_BIN="$candidate"; break; fi
  done
fi
if [[ ! -x "$APP_BIN" ]]; then
  print -u2 'SecureSyncアプリが見つかりません。Applicationsへインストールしてから再実行してください。'
  exit 2
fi
case "${1:-help}" in
  list) shift; exec "$APP_BIN" --secrets-list "$@" ;;
  run) shift; exec "$APP_BIN" --secrets-run "$@" ;;
  status) shift; exec "$APP_BIN" --protection-summary "$@" ;;
esac
