kaitranntt
4f4ab43eb3
refactor(config): remove secrets.yaml architecture
...
- delete secrets-manager.ts entirely
- remove secrets API routes and client methods
- simplify unified-config-types (remove vault/secrets)
- update profile-reader to remove secrets loading
- clean up unused hooks and API client methods
2025-12-20 23:10:35 -05:00
kaitranntt
d343abca53
fix(config): prevent profile loss from strict config validation
...
Relaxed isUnifiedConfig() type guard to accept version >= 1 and partial
configs. Added mergeWithDefaults() to preserve user data while filling
missing sections. Fixes profile "not found" after terminal restart.
Closes #82
2025-12-12 05:12:08 -05:00
kaitranntt
b621b8e47b
feat(config): add unified YAML config with migration support
...
Implements unified config.yaml format consolidating:
- config.json (API profiles)
- profiles.json (account metadata)
- *.settings.json (env vars)
Features:
- Auto-migration from v1 JSON to v2 YAML with backup
- Secrets separation into secrets.yaml (chmod 600)
- Enhanced YAML output with section comments
- CLIProxy OAuth settings migration with env var support
- Feature flag for gradual rollout (CCS_UNIFIED_CONFIG=1)
- Rollback support via ccs migrate --rollback
New commands:
- ccs migrate - Run migration
- ccs migrate --dry-run - Preview changes
- ccs migrate --rollback <path> - Restore from backup
- ccs migrate --list-backups - List available backups
Closes #75
2025-12-10 17:42:40 -05:00