/** * KnowledgeContextStore Infrastructure * * Persists execution contexts to @musubix/knowledge store * * @see REQ-SDD-003 - Context Sharing */ import type { ExecutionContext } from '../domain/entities/ExecutionContext.js'; /** * Context store interface */ export interface IContextStore { /** * Save context * @param context - Context to save * @returns Context ID */ save(context: ExecutionContext): Promise; /** * Load context by task ID * @param taskId - Task ID * @returns Context or null */ load(taskId: string): Promise; /** * Delete context * @param taskId - Task ID * @returns true if deleted */ delete(taskId: string): Promise; /** * List all context IDs * @returns Context task IDs */ list(): Promise; } /** * Knowledge store adapter interface * Compatible with @musubix/knowledge KnowledgeStore */ export interface IKnowledgeStoreAdapter { putEntity(entity: { id: string; type: string; name: string; properties: Record; tags: string[]; }): Promise; getEntity(id: string): Promise<{ id: string; type: string; name: string; properties: Record; tags: string[]; } | null>; deleteEntity(id: string): Promise; query(filter: { type?: string; tags?: string[]; }): Promise; tags: string[]; }>>; } /** * In-memory context store (for testing) */ export declare function createInMemoryContextStore(): IContextStore; /** * Knowledge Store-based context store (v3.0.0) * * Uses @musubix/knowledge for context persistence */ export declare function createKnowledgeContextStore(knowledgeStore: IKnowledgeStoreAdapter): IContextStore; /** * Store factory * * @param knowledgeStore - Optional knowledge store adapter. If provided, uses persistent storage. * @returns Context store instance */ export declare function createContextStoreFactory(knowledgeStore?: IKnowledgeStoreAdapter): IContextStore; //# sourceMappingURL=KnowledgeContextStore.d.ts.map