feat: complete Ancestor quote bot with production-ready Docker support

This commit is contained in:
unfunny
2026-09-13 14:14:38 -04:00
parent f2016da05a
commit fe7351a7dc
1145 changed files with 30890 additions and 97684 deletions

View File

@@ -1,13 +1,13 @@
import { TypedEventEmitter } from "../models/typed-event-emitter.ts";
import { CallFeed } from "./callFeed.ts";
import { type MatrixClient } from "../client.ts";
import { CallEvent, type CallEventHandlerMap, type MatrixCall } from "./call.ts";
import { type RoomMember } from "../models/room-member.ts";
import { type Room } from "../models/room.ts";
import { SDPStreamMetadataPurpose } from "./callEventTypes.ts";
import { type IScreensharingOpts } from "./mediaHandler.ts";
import { GroupCallStats } from "./stats/groupCallStats.ts";
import { type ByteSentStatsReport, type CallFeedReport, type ConnectionStatsReport, type SummaryStatsReport } from "./stats/statsReport.ts";
import { TypedEventEmitter } from "../models/typed-event-emitter";
import { CallFeed } from "./callFeed";
import { MatrixClient } from "../client";
import { CallEvent, CallEventHandlerMap, MatrixCall } from "./call";
import { RoomMember } from "../models/room-member";
import { Room } from "../models/room";
import { SDPStreamMetadataPurpose } from "./callEventTypes";
import { IScreensharingOpts } from "./mediaHandler";
import { GroupCallStats } from "./stats/groupCallStats";
import { ByteSentStatsReport, CallFeedReport, ConnectionStatsReport, SummaryStatsReport } from "./stats/statsReport";
export declare enum GroupCallIntent {
Ring = "m.ring",
Prompt = "m.prompt",
@@ -53,7 +53,7 @@ export type GroupCallEventHandlerMap = {
* `MatrixCall.ERR_NO_USER_MEDIA`. `ERR_LOCAL_OFFER_FAILED` is emitted when the local client
* fails to create an offer. `ERR_NO_USER_MEDIA` is emitted when the user has denied access
* to their audio/video hardware.
* @param error - The error raised by MatrixCall.
* @param err - The error raised by MatrixCall.
* @example
* ```
* matrixCall.on("error", function(err){
@@ -106,11 +106,9 @@ export interface IGroupCallDataChannelOptions {
export interface IGroupCallRoomState {
"m.intent": GroupCallIntent;
"m.type": GroupCallType;
"m.terminated"?: GroupCallTerminationReason;
"io.element.ptt"?: boolean;
"dataChannelsEnabled"?: boolean;
"dataChannelOptions"?: IGroupCallDataChannelOptions;
"io.element.livekit_service_url"?: string;
}
export interface IGroupCallRoomMemberFeed {
purpose: SDPStreamMetadataPurpose;
@@ -148,7 +146,6 @@ export declare class GroupCall extends TypedEventEmitter<GroupCallEvent | CallEv
intent: GroupCallIntent;
private dataChannelsEnabled?;
private dataChannelOptions?;
private useLivekit;
activeSpeakerInterval: number;
retryCallInterval: number;
participantTimeout: number;
@@ -173,22 +170,18 @@ export declare class GroupCall extends TypedEventEmitter<GroupCallEvent | CallEv
private initWithAudioMuted;
private initWithVideoMuted;
private initCallFeedPromise?;
private _livekitServiceURL?;
private stats;
/**
* Configure default webrtc stats collection interval in ms
* Disable collecting webrtc stats by setting interval to 0
*/
private statsCollectIntervalTime;
constructor(client: MatrixClient, room: Room, type: GroupCallType, isPtt: boolean, intent: GroupCallIntent, groupCallId?: string, dataChannelsEnabled?: boolean | undefined, dataChannelOptions?: IGroupCallDataChannelOptions | undefined, isCallWithoutVideoAndAudio?: boolean, useLivekit?: boolean, livekitServiceURL?: string);
constructor(client: MatrixClient, room: Room, type: GroupCallType, isPtt: boolean, intent: GroupCallIntent, groupCallId?: string, dataChannelsEnabled?: boolean | undefined, dataChannelOptions?: IGroupCallDataChannelOptions | undefined, isCallWithoutVideoAndAudio?: boolean);
private onConnectionStats;
private onByteSentStats;
private onSummaryStats;
private onCallFeedReport;
create(): Promise<GroupCall>;
private sendCallStateEvent;
get livekitServiceURL(): string | undefined;
updateLivekitServiceURL(newURL: string): Promise<void>;
private _state;
/**
* The group call's state.