fed3526b20
설정·스크립트·스킬·문서·큐레이션 메모리 추적. 시크릿(credentials/identity)·런타임 상태(state/logs/sessions/sqlite)· 백업(clobbered/bak)·dream 캐시는 .gitignore로 제외. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
25 lines
623 B
Python
25 lines
623 B
Python
"""launchd 진입점 — 만료된 활성 카드 정리 + 텔레그램 알림.
|
|
|
|
10초 간격으로 호출 (StartInterval=10). 활성 카드가 없거나 만료되지 않았으면 즉시 종료.
|
|
PinStore 가 파일 기반이므로 별도 프로세스에서도 동일 활성 카드를 본다.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import sys
|
|
|
|
from . import handler
|
|
|
|
|
|
def main() -> int:
|
|
try:
|
|
handler._sweep_expired_and_notify()
|
|
except Exception as e:
|
|
print(f'[expiry_watcher] {type(e).__name__}: {e}', file=sys.stderr)
|
|
return 1
|
|
return 0
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|