import { MsgBox, OptionalAuth, ResultVibesDiy, VibesDiyError } from "@vibes.diy/api-types"; import { Result } from "@adviser/cement"; import { DashAuthType } from "@vibes.diy/identity"; import { VibeDiyApiConnection } from "./api-connection.js"; import { VibesDiyApiConfig, WithAuth } from "./vibes-diy-api-types.js"; import type { SendMsgParam } from "./vibes-diy-api-transport.js"; export interface VibesDiyApiCtx { readonly cfg: Pick; getReadyConnection(): Promise; send(req: T, msgParam: SendMsgParam): Promise>, VibesDiyError>>; request(req: Q, msgParam: { tid?: string; resMatch: (res: unknown) => boolean; identityBearing?: boolean; }): Promise>; }