Initial commit: Nat20 Notes — TTRPG session transcription & summarization

This commit is contained in:
KansaiGaijin
2026-07-06 23:45:54 +12:00
commit 0f9e9d4c5c
49 changed files with 2926 additions and 0 deletions

29
backend/app/errors.py Normal file
View File

@@ -0,0 +1,29 @@
class PipelineError(Exception):
"""Base class for pipeline failures. `stage` and `message` are shown to the
user directly; the original exception (if any) is kept for logs only."""
def __init__(self, stage: str, message: str, cause: Exception | None = None):
self.stage = stage
self.message = message
self.cause = cause
super().__init__(f"[{stage}] {message}")
class AudioExtractionError(PipelineError):
def __init__(self, message: str, cause: Exception | None = None):
super().__init__("audio_extraction", message, cause)
class TranscriptionError(PipelineError):
def __init__(self, message: str, cause: Exception | None = None):
super().__init__("transcription", message, cause)
class DiarizationError(PipelineError):
def __init__(self, message: str, cause: Exception | None = None):
super().__init__("diarization", message, cause)
class SummarizationError(PipelineError):
def __init__(self, message: str, cause: Exception | None = None):
super().__init__("summarization", message, cause)