feat: implement authentication control with support for BYO API keys, episode deduplication, and a task queue for async processing.

This commit is contained in:
2026-09-08 23:01:07 -07:00
parent f033a6045c
commit b3dd9c6933
40 changed files with 3393 additions and 827 deletions
+8 -1
View File
@@ -11,9 +11,14 @@ model Episode {
id String @id @default(cuid())
title String
originalContent String
contentHash String? // SHA-256 for deduplication
scriptContent String?
mode String @default("VERBATIM") // VERBATIM | FEYNMAN | DUAL_HOST
status String @default("PENDING") // PENDING | PROCESSING | READY | FAILED
targetLanguage String @default("auto") // auto | zh | en
status String @default("QUEUED") // QUEUED | PROCESSING | READY | FAILED
retryCount Int @default(0)
maxRetries Int @default(3)
nextAttemptAt DateTime?
errorMessage String?
durationSeconds Float?
audioUrl String?
@@ -22,6 +27,8 @@ model Episode {
stages StageItem[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([contentHash])
}
model StageItem {