feat(config): upload and transcription settings (ADR-033)
Embedded UploadConfig. Off by default until the image carries ffmpeg; 200 MB / 90 min; iguana primary with a berget fallback that an explicit empty TAPIR_TRANSCRIBE_FALLBACK_MODEL disables (private audio then never leaves the homelab); zero or negative limits fail at load instead of rejecting every upload at runtime. uploads.go and the two-line hook in config.go are one commit: the tests need both. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -20,6 +20,9 @@ import (
|
||||
|
||||
// Config is Tapir's fully-resolved runtime configuration.
|
||||
type Config struct {
|
||||
// UploadConfig is the audio-upload and private-transcription settings (ADR-033).
|
||||
UploadConfig
|
||||
|
||||
// UserID is the Tapir user the run operates as. Stage 0 has exactly one.
|
||||
// It must be a UUID: it keys the UUID user_id/video_id columns (data-model).
|
||||
UserID string
|
||||
@@ -320,6 +323,10 @@ func Load() (Config, error) {
|
||||
}
|
||||
c.OnboardMaxVideoSeconds = onboardMax
|
||||
|
||||
if c.UploadConfig, err = loadUploadConfig(); err != nil {
|
||||
return Config{}, err
|
||||
}
|
||||
|
||||
return c, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user