@xynehq/jaf
Version:
Juspay Agent Framework - A purely functional agent framework with immutable state and composable tools
53 lines • 1.85 kB
TypeScript
/**
* A2A Task Serialization Functions for JAF
* Pure functions for serializing/deserializing A2A tasks for storage
*/
import { A2ATask } from '../types.js';
import { A2AResult } from './types.js';
export interface A2ATaskSerialized {
readonly taskId: string;
readonly contextId: string;
readonly state: string;
readonly taskData: string;
readonly statusMessage?: string;
readonly createdAt: string;
readonly updatedAt: string;
readonly metadata?: string;
}
/**
* Pure function to serialize an A2A task for storage
*/
export declare const serializeA2ATask: (task: A2ATask, metadata?: Record<string, any>) => A2AResult<A2ATaskSerialized>;
/**
* Pure function to deserialize an A2A task from storage
*/
export declare const deserializeA2ATask: (stored: A2ATaskSerialized) => A2AResult<A2ATask>;
/**
* Pure function to create a minimal task representation for indexing
*/
export declare const createTaskIndex: (task: A2ATask) => A2AResult<{
readonly taskId: string;
readonly contextId: string;
readonly state: string;
readonly timestamp: string;
readonly hasHistory: boolean;
readonly hasArtifacts: boolean;
}>;
/**
* Pure function to extract searchable text from a task for full-text search
*/
export declare const extractTaskSearchText: (task: A2ATask) => A2AResult<string>;
/**
* Pure function to validate task data integrity
*/
export declare const validateTaskIntegrity: (task: A2ATask) => A2AResult<true>;
/**
* Pure function to create a deep copy of a task (for immutability)
*/
export declare const cloneTask: (task: A2ATask) => A2AResult<A2ATask>;
/**
* Pure function to sanitize task data for storage
* Removes any potentially dangerous or invalid data
*/
export declare const sanitizeTask: (task: A2ATask) => A2AResult<A2ATask>;
//# sourceMappingURL=serialization.d.ts.map