Bundled Assets
Contents/Helpers/node
Contents/Helpers/adb
bridge/cli.js
agentdeck-d200h-helper.sh
SessionLauncher 461줄
Terminal.app / iTerm 자동 실행
.command 스크립트 생성 후 exec
6종 agent (claude/codex/opencode…)
NSWorkspace → AppleScript fallback
DaemonService 1,033줄
Node.js bridge 프로세스 spawn
D200H helper 스크립트 spawn
externalDaemonProcess 추적
Subprocess 호출
/usr/bin/security (Keychain)
/usr/bin/sqlite3 (쿠키 DB)
networksetup (Wi-Fi SSID)
whisper-cli (음성 전사)
openclaw doctor / logs
File Access
home-relative-path entitlement
~/.agentdeck/ 직접 접근
→ App Review 2.5.2 거부 사유
Session 감지
~/.agentdeck/sessions.json 파일시스템 감시
No Bundled Assets
verify-appstore-archive.sh — CI 자동 차단
Mach-O에서 /bin/sh, sqlite3, npm 문자열 grep
D200H: IOKit HID 직접 접근 (entitlement)
SessionLauncher 67줄 (85% 축소)
NSAlert — "터미널에서 직접 실행하세요"
Hook 활성화 시 세션 자동 감지
쉘 스크립트·프로세스 spawn 없음
→ App Review 4.2.3 통과
Swift Daemon (in-process) 813줄
WS Server :9120 (iPad/Web 페어링)
IOKit HID → D200H
Serial → ESP32
HTTP → Pixoo
alreadyRunning → WS client 전환 (CLI 공존)
Entitlements only
device.usb · device.serial · audio-input
network.client · network.server
subprocess 없이 직접 API 접근
File Access — App Sandbox Container
app-sandbox entitlement only
~/Library/Containers/bound…/Data/Library/Application Support/AgentDeck/
AgentDeckPaths.swift — 단일 라우터
첫 실행: ~/.agentdeck/ → 자동 마이그레이션
Hook HTTP Receiver + Progressive UI
~/.claude/settings.json hook → SessionStart POST
isUsingExternalDaemon → 미지원 섹션 숨김
"Sandbox 제한" 안내 없음 — feature-complete로 보임