You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.0 KiB
2.0 KiB
Project State
Project Reference
See: .planning/PROJECT.md (updated 2026-01-09)
Core value: Provider infrastructure that dynamically discovers models from external APIs, enabling users to access hundreds of image/video generation models without hardcoding schemas. Current focus: Phase 2 - Model Discovery
Current Position
Phase: 2 of 6 (Model Discovery) Plan: 2 of 3 in current phase Status: In progress Last activity: 2026-01-09 - Completed 02-02-PLAN.md (fal.ai provider)
Progress: [==========================] 27% (4/15 plans)
Performance Metrics
Velocity:
- Total plans completed: 4
- Average duration: 6 min
- Total execution time: 0.4 hours
By Phase:
| Phase | Plans | Total | Avg/Plan |
|---|---|---|---|
| 1. Provider Infrastructure | 2/2 | 14 min | 7 min |
| 2. Model Discovery | 2/3 | 9 min | 4.5 min |
Recent Trend:
- Last 5 plans: 12 min, 2 min, 4 min, 5 min
- Trend: improving
Accumulated Context
Decisions
Decisions are logged in PROJECT.md Key Decisions table. Recent decisions affecting current work:
- Gemini always enabled via env var (GEMINI_API_KEY), Replicate/fal.ai optional
- API keys stored in localStorage under node-banana-provider-settings key
- Local state in modal to avoid saving on every keystroke
- Provider config pattern: {id, name, enabled, apiKey, apiKeyEnvVar?}
- Provider registry uses self-registration pattern via registerProvider()
- Gemini remains special-cased in /api/generate for now, not yet migrated
- Capability inference from model name/description keywords
- fal.ai API key optional (works without but rate limited)
- fal.ai auth header: "Key {apiKey}" format (not Bearer)
- fal.ai category maps directly to ModelCapability (no inference)
Deferred Issues
None.
Blockers/Concerns
- Pre-existing lint configuration issue (ESLint not configured). Not blocking development.
Session Continuity
Last session: 2026-01-09 Stopped at: Completed 02-02-PLAN.md Resume file: None Next action: Execute 02-03-PLAN.md (Model caching)