/** * What a domain adapter is handed, and what every one of them needs. * * Its own module so a domain can live in its own file without importing the * registry that dispatches to it. */ import type { ApiContext } from "../../gateway/api.js"; import type { TalkControlAdapterContext, TalkControlExecution, TalkControlReceiptStore } from "./types.js"; export interface TalkControlHost { context: ApiContext; sourceSessionId: string; receipts?: TalkControlReceiptStore; } export type DomainHandler = (host: TalkControlHost, args: Record, call: TalkControlAdapterContext) => TalkControlExecution | Promise; /** A required argument, trimmed. The throw is the operator's answer now that * the runtime carries an adapter's own words, so it names the field. */ export declare function requiredText(args: Record, key: string): string; //# sourceMappingURL=domain-types.d.ts.map