/** * Inter-Agent Protocol (I.A.P.) v1.0.0 * * Utility functions for message creation and handling */ import { IAPMessage, MessageType, AgentId, TaskId, MessageId, AgentHandshake, TaskProposal, TaskBid, ContextTransfer, ErrorMessage, CapabilityDiscovery, TaskAssignment, TaskResult, Heartbeat, DisconnectMessage } from './types'; /** * Generates a unique message ID */ export declare function generateMessageId(): MessageId; /** * Generates a unique task ID */ export declare function generateTaskId(): TaskId; /** * Generates a unique agent ID */ export declare function generateAgentId(prefix?: string): AgentId; /** * Gets current timestamp in ISO 8601 format */ export declare function getCurrentTimestamp(): string; /** * Creates a base I.A.P. message structure */ export declare function createBaseMessage(type: MessageType, from: AgentId, to: AgentId | 'router', payload: any, correlationId?: string): IAPMessage; /** * Creates a handshake message */ export declare function createHandshakeMessage(handshake: AgentHandshake): IAPMessage; /** * Creates a capability discovery message */ export declare function createCapabilityDiscoveryMessage(discovery: CapabilityDiscovery): IAPMessage; /** * Creates a task proposal message */ export declare function createTaskProposalMessage(proposal: TaskProposal): IAPMessage; /** * Creates a task bid message */ export declare function createTaskBidMessage(bid: TaskBid, agentId: AgentId): IAPMessage; /** * Creates a task assignment message */ export declare function createTaskAssignmentMessage(assignment: TaskAssignment): IAPMessage; /** * Creates a task result message */ export declare function createTaskResultMessage(result: TaskResult): IAPMessage; /** * Creates a context transfer message */ export declare function createContextTransferMessage(transfer: ContextTransfer): IAPMessage; /** * Creates an error message */ export declare function createErrorMessage(from: AgentId, to: AgentId | 'router', error: ErrorMessage, correlationId?: string): IAPMessage; /** * Creates a heartbeat message */ export declare function createHeartbeatMessage(heartbeat: Heartbeat): IAPMessage; /** * Creates a disconnect message */ export declare function createDisconnectMessage(disconnect: DisconnectMessage): IAPMessage; /** * Serializes a message to JSON string */ export declare function serializeMessage(message: IAPMessage): string; /** * Deserializes a JSON string to a message */ export declare function deserializeMessage(json: string): IAPMessage; /** * Extracts correlation ID from a message */ export declare function getCorrelationId(message: IAPMessage): string | undefined; /** * Checks if a message is a request type */ export declare function isRequestMessage(type: MessageType): boolean; /** * Checks if a message is a response type */ export declare function isResponseMessage(type: MessageType): boolean; /** * Calculates message size in bytes */ export declare function getMessageSize(message: IAPMessage): number; /** * Compresses large payloads (placeholder for actual compression) */ export declare function compressPayload(payload: any): { data: string; compressed: boolean; }; /** * Decompresses payloads (placeholder for actual decompression) */ export declare function decompressPayload(data: string, compressed: boolean): any; /** * Creates a response message from a request */ export declare function createResponseMessage(request: IAPMessage, responseType: MessageType, payload: any): IAPMessage; /** * Checks if a message has expired based on deadline */ export declare function isMessageExpired(message: IAPMessage, deadlineMs?: number): boolean; /** * Calculates message age in milliseconds */ export declare function getMessageAge(message: IAPMessage): number; /** * Redacts sensitive information from a message for logging */ export declare function redactMessage(message: IAPMessage): IAPMessage; /** * Formats a message for human-readable logging */ export declare function formatMessageForLog(message: IAPMessage): string; /** * Batch messages for efficient transmission */ export declare function batchMessages(messages: IAPMessage[]): string; /** * Unbatch messages from a batch transmission */ export declare function unbatchMessages(batch: string): IAPMessage[]; //# sourceMappingURL=utils.d.ts.map