@a2alite/sdk
Version:
A Modular SDK (Server & Client) for Agent to Agent (A2A) protocol, with easy task lifecycle management
28 lines (27 loc) • 1.21 kB
TypeScript
import { Message, MessageRole, Part, Task, FileWithBytes, FileWithUri, FilePart, TextPart, DataPart } from "../types/types.ts";
/**
* Helper class to create, modify or parse messages
*/
declare class MessageHandler {
private message;
constructor(baseMessage?: Partial<Message>);
withId(messageId: string): MessageHandler;
withRole(role: MessageRole): MessageHandler;
inResponseTo(source: Task | Message): MessageHandler;
withContextId(contextId: string): MessageHandler;
withParts(parts: Part[]): MessageHandler;
addParts(parts: Part[]): MessageHandler;
addTextPart(text: string, metadata?: Record<string, any>): MessageHandler;
addFilePart(file: FileWithBytes | FileWithUri, metadata?: Record<string, any>): MessageHandler;
addDataPart(data: any, metadata?: Record<string, any>): MessageHandler;
clearParts(): MessageHandler;
withMetadata(metadata: Record<string, any>): MessageHandler;
getMessage(): Message;
getTextParts(): TextPart[];
getText(): string;
getFileParts(): FilePart[];
getFiles(): Array<FileWithBytes | FileWithUri>;
getDataParts(): DataPart[];
getData(): Record<string, any>[];
}
export { MessageHandler };