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,12 +1,10 @@
import { type MatrixClient } from "../client.ts";
import { UNSTABLE_MSC3089_LEAF } from "../@types/event.ts";
import { type Room } from "./room.ts";
import { type IContent } from "./event.ts";
import { MSC3089Branch } from "./MSC3089Branch.ts";
import { type ISendEventResponse } from "../@types/requests.ts";
import { type FileType } from "../http-api/index.ts";
import type { EncryptedFile } from "../@types/media.ts";
import { type EmptyObject } from "../@types/common.ts";
import { MatrixClient } from "../client";
import { IEncryptedFile } from "../@types/event";
import { Room } from "./room";
import { IContent } from "./event";
import { MSC3089Branch } from "./MSC3089Branch";
import { ISendEventResponse } from "../@types/requests";
import { FileType } from "../http-api";
/**
* The recommended defaults for a tree space's power levels. Note that this
* is UNSTABLE and subject to breaking changes without notice.
@@ -36,15 +34,10 @@ export declare const DEFAULT_TREE_POWER_LEVELS_TEMPLATE: {
* Note that this is UNSTABLE and subject to breaking changes without notice.
*/
export declare enum TreePermissions {
Viewer = "viewer",// Default
Editor = "editor",// "Moderator" or ~PL50
Viewer = "viewer",
Editor = "editor",
Owner = "owner"
}
declare module "../@types/media" {
interface FileContent {
[UNSTABLE_MSC3089_LEAF.name]?: EmptyObject;
}
}
/**
* Represents a [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089)
* file tree Space. Note that this is UNSTABLE and subject to breaking changes
@@ -75,9 +68,14 @@ export declare class MSC3089TreeSpace {
* @param userId - The user ID to invite.
* @param andSubspaces - True (default) to invite the user to all
* directories/subspaces too, recursively.
* @param shareHistoryKeys - True (default) to share encryption keys
* with the invited user. This will allow them to decrypt the events (files)
* in the tree. Keys will not be shared if the room is lacking appropriate
* history visibility (by default, history visibility is "shared" in trees,
* which is an appropriate visibility for these purposes).
* @returns Promise which resolves when complete.
*/
invite(userId: string, andSubspaces?: boolean): Promise<void>;
invite(userId: string, andSubspaces?: boolean, shareHistoryKeys?: boolean): Promise<void>;
private retryInvite;
/**
* Sets the permissions of a user to the given role. Note that if setting a user
@@ -145,7 +143,7 @@ export declare class MSC3089TreeSpace {
* @param additionalContent - Optional event content fields to include in the message.
* @returns Promise which resolves to the file event's sent response.
*/
createFile(name: string, encryptedContents: FileType, info: EncryptedFile, additionalContent?: IContent): Promise<ISendEventResponse>;
createFile(name: string, encryptedContents: FileType, info: Partial<IEncryptedFile>, additionalContent?: IContent): Promise<ISendEventResponse>;
/**
* Retrieves a file from the tree.
* @param fileEventId - The event ID of the file.