T-HUB/packages/core/src/connection.ts
glass beadian aa5e262f3a 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/.
2026-10-10 11:56:42 +00:00

51 lines
1.2 KiB
TypeScript

import type { ConnectorCapabilities } from "./capabilities.js";
/**
* Credential references are opaque handles into the vault (WP2).
* Raw tokens never appear in these types by design.
*/
export interface CredentialRef {
readonly kind: "credential-ref";
readonly id: string;
}
export type ProviderId = string;
export interface Channel {
id: string;
workspaceId: string;
provider: ProviderId;
displayName: string;
createdAt: Date;
}
export interface ConnectorConnection {
id: string;
workspaceId: string;
provider: ProviderId;
channelId: string;
credentialId: CredentialRef;
/** Manifest-declared field values, e.g. instanceUrl for federated platforms. */
fields: Record<string, string>;
createdAt: Date;
}
export interface NormalizedIdentity {
provider: ProviderId;
remoteId: string;
handle: string;
displayName?: string;
avatarUrl?: string;
}
/** Channel on a remote video platform; account ≠ channel (federated platforms). */
export interface RemoteVideoChannel {
id: string;
provider: ProviderId;
instanceUrl: string;
remoteChannelId: string;
handle: string;
displayName?: string;
avatarUrl?: string;
capabilities: ConnectorCapabilities;
}