#!/bin/zsh
# grant-accessibility — 弹出 macOS Accessibility 标准授权请求 (破鸡生蛋死循环)
set -euo pipefail

BIN_DIR=${0:A:h}
ROOT_DIR=${BIN_DIR:h}
COMPONENT_DIR="$ROOT_DIR/components/macos/ui-permissions"
SOURCE="$COMPONENT_DIR/grant-accessibility.swift"
BUILD_DIR="$COMPONENT_DIR/.build"
BINARY="$BUILD_DIR/grant-accessibility"

if [[ ! -x "$BINARY" || "$SOURCE" -nt "$BINARY" ]]; then
  mkdir -p "$BUILD_DIR"
  tmp_binary="$BINARY.$$"
  swiftc -O -framework ApplicationServices -framework AppKit -o "$tmp_binary" "$SOURCE"
  chmod +x "$tmp_binary"
  mv "$tmp_binary" "$BINARY"
fi

exec "$BINARY" "$@"
