export type AssistantStreamRenderState = {
  sourceMessageId: string
  providerMessageId: string | null
  renderedText: string
}

export type ToolProgressRenderState = {
  toolCallId: string
  providerMessageId: string | null
  renderedSummary: string
  status: string
}

export type ArtifactRenderState = {
  artifactId: string
  providerMessageId: string | null
  renderedSequence: number
}

export type GatewaySessionRenderState = {
  assistantStreams: Map<string, AssistantStreamRenderState>
  toolProgress: Map<string, ToolProgressRenderState>
  artifacts: Map<string, ArtifactRenderState>
}

export function createGatewaySessionRenderState(): GatewaySessionRenderState {
  return {
    assistantStreams: new Map(),
    toolProgress: new Map(),
    artifacts: new Map(),
  }
}
