// This file is the single source of truth for A2A protocol types in the frontend.
// It re-exports types from the official @a2a-js/sdk to ensure compliance.

import type {
    AgentCard,
    AgentExtension,
    AgentProvider,
    AgentSkill,
    Artifact,
    CancelTaskRequest,
    DataPart,
    FilePart,
    FileWithBytes,
    FileWithUri,
    JSONRPCError,
    JSONRPCErrorResponse,
    JSONRPCResponse,
    Message,
    Part,
    SendMessageRequest,
    SendStreamingMessageRequest,
    SendStreamingMessageSuccessResponse,
    Task,
    TaskArtifactUpdateEvent,
    TaskState,
    TaskStatus,
    TaskStatusUpdateEvent,
    TextPart,
} from "@a2a-js/sdk";

// Re-export all the necessary types from the SDK.
export type {
    AgentCard,
    AgentExtension,
    AgentProvider,
    AgentSkill,
    Artifact,
    CancelTaskRequest,
    DataPart,
    FilePart,
    FileWithBytes,
    FileWithUri,
    JSONRPCError,
    JSONRPCErrorResponse,
    JSONRPCResponse,
    Message,
    Part,
    SendMessageRequest,
    SendStreamingMessageRequest,
    SendStreamingMessageSuccessResponse,
    Task,
    TaskArtifactUpdateEvent,
    TaskState,
    TaskStatus,
    TaskStatusUpdateEvent,
    TextPart,
};
