UNPKG

@xynehq/jaf

Version:

Juspay Agent Framework - A purely functional agent framework with immutable state and composable tools

53 lines 3.07 kB
/** * JAF ADK Layer - Session Management * * Functional session management with pluggable providers */ import { Session, SessionContext, SessionProvider, SessionMetadata, Content, ValidationResult, createSessionError } from '../types'; export declare const generateSessionId: () => string; export declare const createSession: (appName: string, userId: string, sessionId?: string, metadata?: Partial<SessionMetadata>) => Session; export declare const createInMemorySessionProvider: () => SessionProvider; export { createRedisSessionProvider, type RedisConfig } from './redis-provider.js'; interface MockRedisConfig { host: string; port: number; password?: string; database?: number; keyPrefix?: string; } export declare const createMockRedisSessionProvider: (config: MockRedisConfig) => SessionProvider; export { createPostgresSessionProvider, type PostgresConfig } from './postgres-provider.js'; export declare const addMessageToSession: (session: Session, message: Content) => Session; export declare const addArtifactToSession: (session: Session, key: string, value: unknown) => Session; export declare const removeArtifactFromSession: (session: Session, key: string) => Session; export declare const updateSessionMetadata: (session: Session, metadata: Partial<SessionMetadata>) => Session; export declare const clearSessionMessages: (session: Session) => Session; export declare const validateSession: (session: Session) => ValidationResult<Session>; export declare const validateSessionContext: (context: SessionContext) => ValidationResult<SessionContext>; export declare const getOrCreateSession: (provider: SessionProvider, context: SessionContext) => Promise<Session>; export declare const getSessionStats: (session: Session) => { id: string; appName: string; userId: string; messageCount: number; userMessages: number; modelMessages: number; systemMessages: number; artifactCount: number; totalTextLength: number; created: Date; lastAccessed: Date | undefined; tags: string[] | undefined; }; export declare const cloneSession: (session: Session, newId?: string) => Session; export declare const mergeSessionArtifacts: (session: Session, artifacts: Record<string, unknown>) => Session; export declare const getLastUserMessage: (session: Session) => Content | null; export declare const getLastModelMessage: (session: Session) => Content | null; export declare const getMessagesByRole: (session: Session, role: Content["role"]) => Content[]; export declare const hasArtifact: (session: Session, key: string) => boolean; export declare const getArtifact: (session: Session, key: string) => unknown | null; export declare const getArtifactKeys: (session: Session) => string[]; export { createSessionError }; export declare const withSessionErrorHandling: <T extends unknown[], R>(fn: (...args: T) => Promise<R>, sessionId?: string) => (...args: T) => Promise<R>; export declare const createMemoryProviderBridge: (memoryProvider: any) => SessionProvider; //# sourceMappingURL=index.d.ts.map