Foundation lib for v1.12.0 cron rewrite. Detects which Claude auth mode is in scope and rejects modes that are architecturally incompatible with cron. Resolution order: - ANTHROPIC_API_KEY env-var → 'api-key' - CLAUDE_CODE_OAUTH_TOKEN env-var → 'long-oauth' - ~/.claude.json onboarded + runner exit 0 → 'subscription-browser-only' - otherwise → 'unauthenticated' Subscription browser-OAuth tokens expire ~15h and cannot survive cron — the detector flags them explicitly so validateAuthForCron throws EAUTHCRON with a remediation message pointing to `claude setup-token` or ANTHROPIC_API_KEY. Both runner (subprocess invoker) and claudeJsonPath (~/.claude.json) are dependency-injected. Tests stub them — no real subprocess spawn, no home- directory reads. 15/15 tests pass: precedence, env-var detection, onboarded subscription, non-onboarded fallback, validateAuthForCron throw paths. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ai-psychosis | ||
| config-audit | ||
| graceful-handoff | ||
| human-friendly-style | ||
| linkedin-thought-leadership | ||
| llm-security | ||
| ms-ai-architect | ||
| okr | ||
| ultraplan-local | ||