export interface IVeloApiCallMessage { /** * The role of the messages author, in this case `tool`. */ role: 'tool'; /** * The id of the tool call. */ tool_call_id: string; /** * The url to call in the API. */ url: string; /** * The method to use in the API call. */ method: string; /** * The body of the API call. */ body: Record; /** * The message to display while the API call is loading. */ loadingMessage: string; } export interface IVeloUserMessage { /** * The role of the messages author, in this case `user`. */ role: 'user'; /** * The contents of the user message. */ content: string; /** * An optional name for the participant. Provides the model information to * differentiate between participants of the same role. */ name?: string; } export interface IVeloAssistantMessage { /** * The contents of the user message. */ content: string; /** * The role of the messages author, in this case `user`. */ role: 'user'; /** * An optional name for the participant. Provides the model information to * differentiate between participants of the same role. */ name?: string; } export type IVeloConversationMessageResponse = IVeloApiCallMessage | IVeloUserMessage | IVeloAssistantMessage; export interface IGetVeloConversationPayload { id: string; } export interface IVeloConversationsResponse { id: string; title: string; messages: IVeloConversationMessageResponse[]; createdAt: string; updatedAt: string; } type Localized = { en: T; [key: string]: T; }; interface IModelQuickActionsResponse { icon: string; title: Localized; prompt: string; } export interface IVeloAgentConfigResponse { id: string; agentName: string; version: number; whatCanDo: Localized; quickActions: IModelQuickActionsResponse[]; createdAt: string; updatedAt: string; } export interface ISendVeloConversationMessagePayload { conversationId: string; message: string; stream?: boolean; } export type IVeloMessageStream = ReadableStream; export interface ISendVeloConversationApiResponsePayload { conversationId: string; callId: string; data: string; status: number; stream?: boolean; } export interface IGetVeloConversationResourcePayload { conversationId: string; resourceId: string; } export interface IVeloConversationResource { id: string; type: string; content: string; } export {};