// Centralizes the type-only import of the shared `/chat` Socket.IO contract from // the public `@mosaicstack/types` package. `import type` is erased at compile // time, so this introduces no runtime dependency — it only reuses the exact // payload shapes instead of redeclaring them. import type { Socket } from 'socket.io-client'; import type { AbortPayload, AgentEndPayload, AgentStartPayload, AgentTextPayload, AgentThinkingPayload, ChatMessagePayload, ChatSendCapabilityPayload, ChatSendProtocol, ClientToServerEvents, CommandDef, CommandManifest, CommandManifestPayload, ErrorPayload, HarnessSelection, HarnessTurnAckPayload, HarnessTurnSendPayload, MessageAckPayload, RoutingDecisionInfo, ServerToClientEvents, SessionInfoPayload, SessionUsagePayload, SetThinkingPayload, SkillCommandDef, SlashCommandApprovalResultPayload, SlashCommandPayload, SlashCommandResultPayload, SystemReloadPayload, ToolEndPayload, ToolStartPayload, } from '@mosaicstack/types'; export type { AbortPayload, AgentEndPayload, AgentStartPayload, AgentTextPayload, AgentThinkingPayload, ChatMessagePayload, ChatSendCapabilityPayload, ChatSendProtocol, ClientToServerEvents, CommandDef, CommandManifest, CommandManifestPayload, ErrorPayload, HarnessSelection, HarnessTurnAckPayload, HarnessTurnSendPayload, MessageAckPayload, RoutingDecisionInfo, ServerToClientEvents, SessionInfoPayload, SessionUsagePayload, SetThinkingPayload, SkillCommandDef, SlashCommandApprovalResultPayload, SlashCommandPayload, SlashCommandResultPayload, SystemReloadPayload, ToolEndPayload, ToolStartPayload, }; /** The `/chat` namespace socket, narrowed to the exact typed event contract. */ export type ChatSocket = Socket;