T-HUB/packages/egress/src/client.d.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

20 lines
1 KiB
TypeScript

import { HostBudgets, type HostBudgetOptions } from "./budget.js";
import { EgressPolicy, type EgressPolicyOptions } from "./policy.js";
export interface EgressClientOptions extends HostBudgetOptions, EgressPolicyOptions {
timeoutMs?: number;
maxResponseBytes?: number;
maxRequestBytes?: number;
maxRedirects?: number;
}
export interface EgressRequestOptions {
hostClass: string;
/** true pins to the initial origin; a URL string explicitly pins to that origin. */
pinnedOrigin?: boolean | string | URL;
}
export declare function createEgressClient(options: EgressClientOptions): {
egressFetch: (raw: string | URL, init: RequestInit | undefined, context: EgressRequestOptions) => Promise<Response>;
policy: EgressPolicy;
budgets: HostBudgets;
};
/** Stateless convenience form. Reuse createEgressClient when pool/config are fixed. */
export declare function egressFetch(url: string | URL, init: RequestInit | undefined, options: EgressClientOptions & EgressRequestOptions): Promise<Response>;