/** Jacdac IFrame Message protocol */ export interface EmbedMessage { id?: string; source: "jacdac"; type: string; data: any; requireAck?: boolean; } export interface EmbedAckMessage extends EmbedMessage { type: "ack"; ackId?: string; data: { status: "success" | "error"; data?: any; error?: any; }; } export type EmbedLogLevel = "error" | "warn" | "log" | "info" | "debug"; export interface EmbedLogMessage extends EmbedMessage { type: "log"; data: { level?: EmbedLogLevel; message: any; }; } export interface EmbedThemeMessage extends EmbedMessage { type: "theme"; data: { type: "light" | "dark"; }; } export interface EmbedSpecsMessage extends EmbedMessage { type: "specs"; data: { services?: jdspec.ServiceSpec[]; }; } export type EmbedStatus = "unknown" | "ready"; export interface EmbedStatusMessage extends EmbedMessage { type: "status"; data: { status: EmbedStatus; }; } export interface EmbedSaveTextMessage extends EmbedMessage { type: "save-text"; data: { name: string; data: string; }; } export interface EmbedFile { name: string; path: string; size: number; mimetype: string; } export interface EmbedFileContent { content: string; mimetype: string; } export interface EmbedModelListMessage extends EmbedMessage { type: "model-list"; data: { models: EmbedFile[]; inputConfigurations: EmbedFile[]; }; } export interface EmbedFileLoadMessage extends EmbedMessage { type: "file-load"; requireAck: true; data: { path: string; }; } /** End Jacdac protocol */ //# sourceMappingURL=protocol.d.ts.map