Tactical Media Broadcast Hub — initial release
Self-hosted multi-platform broadcast newsroom for activist collectives: publishing pipeline with group approval and DST-proof scheduling, TweetDeck-style column wall with hostile-content-safe rendering, live control room with Auto Director, bridged chat governance with polls and quorum, distributed sandboxed transcode workers, encrypted content-addressed archive, monthly analytics. MIT licensed. See README.md and docs/.
This commit is contained in:
commit
aa5e262f3a
880 changed files with 111042 additions and 0 deletions
47
packages/core/src/messaging.ts
Normal file
47
packages/core/src/messaging.ts
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/** Transport-agnostic list page — shared by every paginated surface. */
|
||||
export interface Page<T, C = string> {
|
||||
items: T[];
|
||||
nextCursor?: C;
|
||||
}
|
||||
|
||||
export interface RemoteMedia {
|
||||
remoteId: string;
|
||||
url?: string;
|
||||
mimeType: string;
|
||||
width?: number;
|
||||
height?: number;
|
||||
}
|
||||
|
||||
/** Result of resolving a live source for program input (WP6 go-live slice). */
|
||||
export interface LiveSourceResolution {
|
||||
/** Absolute HLS playback URL, or null when the source is not live. */
|
||||
playbackHlsUrl: string | null;
|
||||
live: boolean;
|
||||
}
|
||||
|
||||
export interface StreamPlaybackSource {
|
||||
remoteId: string;
|
||||
/** Absolute playback URL (HLS manifest, embed page, etc.). */
|
||||
url: string;
|
||||
kind: "hls" | "dash" | "embed";
|
||||
protocol: "https" | "rtmp" | "rtmps" | "srt";
|
||||
}
|
||||
|
||||
export interface DirectMessage {
|
||||
id: string;
|
||||
provider: string;
|
||||
conversationRemoteId: string;
|
||||
fromHandle: string;
|
||||
toHandle: string;
|
||||
text: string;
|
||||
sentAt: Date;
|
||||
}
|
||||
|
||||
export interface NormalizedWebhookEvent {
|
||||
provider: string;
|
||||
eventType: string;
|
||||
/** Connection or channel the event belongs to, when resolvable. */
|
||||
connectionKey?: string;
|
||||
payload: Record<string, unknown>;
|
||||
receivedAt: Date;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue