picoclaw/pkg/config
ex-takashima 4ada4063d7 feat(media): integrate TTL cleanup into FileMediaStore
Add background TTL-based cleanup (L2 safety net) directly into
FileMediaStore so file deletion and in-memory ref removal happen
atomically under the same mutex, preventing dangling references.

- Add storedAt timestamp and refToScope reverse map to mediaEntry
- Add CleanExpired() for atomic TTL-based expiration
- Add Start()/Stop() for background goroutine lifecycle
- Add MediaCleanupConfig (enabled, max_age, interval) to config
- Wire up in cmd_gateway.go with config-driven defaults
- Add 8 new tests including concurrent cleanup safety

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 21:24:32 +09:00
..
config.go feat(media): integrate TTL cleanup into FileMediaStore 2026-02-24 21:24:32 +09:00
config_test.go config: change default dm_scope to per-channel-peer 2026-02-26 16:51:18 +08:00
defaults.go feat(media): integrate TTL cleanup into FileMediaStore 2026-02-24 21:24:32 +09:00
migration.go fix(providers): support per-model request_timeout in model_list (#733) 2026-02-26 19:08:19 +11:00
migration_test.go fix(providers): support per-model request_timeout in model_list (#733) 2026-02-26 19:08:19 +11:00
model_config_test.go fix(providers): support per-model request_timeout in model_list (#733) 2026-02-26 19:08:19 +11:00