personal memory agent
1# SPDX-License-Identifier: AGPL-3.0-only
2# Copyright (c) 2026 sol pbc
3
4"""Media format registry - single source of truth for extensions, MIME types, and kind."""
5
6FORMATS = [
7 (".flac", "audio/flac", "audio"),
8 (".opus", "audio/opus", "audio"),
9 (".ogg", "audio/ogg", "audio"),
10 (".m4a", "audio/mp4", "audio"),
11 (".mp3", "audio/mpeg", "audio"),
12 (".wav", "audio/wav", "audio"),
13 (".webm", "video/webm", "video"),
14 (".mp4", "video/mp4", "video"),
15 (".mov", "video/quicktime", "video"),
16]
17
18AUDIO_EXTENSIONS: frozenset[str] = frozenset(
19 ext for ext, _, kind in FORMATS if kind == "audio"
20)
21VIDEO_EXTENSIONS: frozenset[str] = frozenset(
22 ext for ext, _, kind in FORMATS if kind == "video"
23)
24MEDIA_EXTENSIONS: frozenset[str] = frozenset(ext for ext, _, _ in FORMATS)
25MIME_TYPES: dict[str, str] = {ext: mime for ext, mime, _ in FORMATS}