import type { ArtifactDescriptor } from '../artifacts/index.js'; /** * conversation-message.ts * * Shared envelope types for conversation messages flowing through the * control-plane gateway. All consumers, SSE companion-chat streams, * TUI-surface follow-up listeners, and web-UI clients, depend on this * stable shape. */ /** * Provenance of a message/event flowing through a conversation. * Used both for chat-mode (where the SDK owns the ConversationManager) * and for companion follow-ups (where the TUI client owns it cross-process). */ export type MessageSource = 'operator' | 'companion-chat-user' | 'companion-chat-assistant' | 'companion-followup' | 'ntfy-chat' | 'system' | 'tool'; /** * Stable envelope shape for any conversation-message-related event published * through the control-plane gateway. All consumers (SSE companion chat stream, * TUI surface follow-up listener, web-UI clients) can depend on this shape. */ export interface ConversationMessageEnvelope { readonly sessionId: string; readonly messageId: string; readonly body: string; readonly source: MessageSource; readonly timestamp: number; /** Artifacts attached to this conversation message. */ readonly attachments?: readonly (ArtifactDescriptor & { readonly artifactId: string; readonly label?: string | undefined; })[] | undefined; /** Optional metadata for tool info, model id, etc. */ readonly metadata?: Readonly> | undefined; } //# sourceMappingURL=conversation-message.d.ts.map