mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
* llm instructions * vibe dailyco * vibe dailyco * doc update (vibe) * dont show recording ui on call * stub processor (vibe) * stub processor (vibe) self-review * stub processor (vibe) self-review * chore(main): release 0.14.0 (#670) * Add multitrack pipeline * Mixdown audio tracks * Mixdown with pyav filter graph * Trigger multitrack processing for daily recordings * apply platform from envs in priority: non-dry * Use explicit track keys for processing * Align tracks of a multitrack recording * Generate waveforms for the mixed audio * Emit multriack pipeline events * Fix multitrack pipeline track alignment * dailico docs * Enable multitrack reprocessing * modal temp files uniform names, cleanup. remove llm temporary docs * docs cleanup * dont proceed with raw recordings if any of the downloads fail * dry transcription pipelines * remove is_miltitrack * comments * explicit dailyco room name * docs * remove stub data/method * frontend daily/whereby code self-review (no-mistake) * frontend daily/whereby code self-review (no-mistakes) * frontend daily/whereby code self-review (no-mistakes) * consent cleanup for multitrack (no-mistakes) * llm fun * remove extra comments * fix tests * merge migrations * Store participant names * Get participants by meeting session id * pop back main branch migration * s3 paddington (no-mistakes) * comment * pr comments * pr comments * pr comments * platform / meeting cleanup * Use participant names in summary generation * platform assignment to meeting at controller level * pr comment * room playform properly default none * room playform properly default none * restore migration lost * streaming WIP * extract storage / use common storage / proper env vars for storage * fix mocks tests * remove fall back * streaming for multifile * cenrtal storage abstraction (no-mistakes) * remove dead code / vars * Set participant user id for authenticated users * whereby recording name parsing fix * whereby recording name parsing fix * more file stream * storage dry + tests * remove homemade boto3 streaming and use proper boto * update migration guide * webhook creation script - print uuid --------- Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com> Co-authored-by: Mathieu Virbel <mat@meltingrocks.com> Co-authored-by: Sergey Mankovsky <sergey@monadical.com>
41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
from typing import Any, Dict, Literal, Optional
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from reflector.schemas.platform import WHEREBY_PLATFORM, Platform
|
|
|
|
RecordingType = Literal["none", "local", "cloud"]
|
|
|
|
|
|
class MeetingData(BaseModel):
|
|
platform: Platform
|
|
meeting_id: str = Field(description="Platform-specific meeting identifier")
|
|
room_url: str = Field(description="URL for participants to join")
|
|
host_room_url: str = Field(description="URL for hosts (may be same as room_url)")
|
|
room_name: str = Field(description="Human-readable room name")
|
|
extra_data: Dict[str, Any] = Field(default_factory=dict)
|
|
|
|
class Config:
|
|
json_schema_extra = {
|
|
"example": {
|
|
"platform": WHEREBY_PLATFORM,
|
|
"meeting_id": "12345678",
|
|
"room_url": "https://subdomain.whereby.com/room-20251008120000",
|
|
"host_room_url": "https://subdomain.whereby.com/room-20251008120000?roomKey=abc123",
|
|
"room_name": "room-20251008120000",
|
|
}
|
|
}
|
|
|
|
|
|
class VideoPlatformConfig(BaseModel):
|
|
api_key: str
|
|
webhook_secret: str
|
|
api_url: Optional[str] = None
|
|
subdomain: Optional[str] = None # Whereby/Daily subdomain
|
|
s3_bucket: Optional[str] = None
|
|
s3_region: Optional[str] = None
|
|
# Whereby uses access keys, Daily uses IAM role
|
|
aws_access_key_id: Optional[str] = None
|
|
aws_access_key_secret: Optional[str] = None
|
|
aws_role_arn: Optional[str] = None
|