/** * Agent Context * * Provides context to agent tool handlers, including access to * Ductape components (actions, database, graph, etc.) and state management. */ import { IAgentToolContext, IAgentActionContext, IAgentDatabaseContext, IAgentGraphContext, IAgentNotificationContext, IAgentStorageContext, IAgentMessagingContext, IAgentPublishContext, IAgentFeatureContext, IAgentResilienceContext, IAgentResilienceConfig, IAgentLogger, IConversationMessage, IToolCallResult, IMemoryResult, IAgentState } from './types'; import { IAgentServiceConfig } from './types'; /** * Memory adapter interface * Allows pluggable memory implementations (in-memory, vector store, etc.) */ export interface IMemoryAdapter { /** Store content with metadata */ store(content: string, metadata?: Record): Promise; /** Retrieve similar content */ retrieve(query: string, topK?: number): Promise; /** Clear memory */ clear(): Promise; } /** * In-memory adapter (fallback when vector store not available) */ export declare class InMemoryAdapter implements IMemoryAdapter { private memories; store(content: string, metadata?: Record): Promise; retrieve(query: string, topK?: number): Promise; clear(): Promise; } /** * Service references for context */ export interface IAgentContextServices { config: IAgentServiceConfig; processorService?: any; productBuilder?: any; databaseService?: any; graphService?: any; storageService?: any; brokersService?: any; resilienceService?: any; /** Agent resilience configuration */ resilienceConfig?: IAgentResilienceConfig; } /** * Agent Context Implementation * * Provides the execution context for agent tool handlers, * wrapping Ductape services and managing state. */ export declare class AgentContext implements IAgentToolContext { private _state; private _customState; private _services; private _memoryAdapter; private _session?; readonly action: IAgentActionContext; readonly database: IAgentDatabaseContext; readonly graph: IAgentGraphContext; readonly notification: IAgentNotificationContext; readonly storage: IAgentStorageContext; readonly events: IAgentMessagingContext; readonly publish: IAgentPublishContext; readonly feature: IAgentFeatureContext; readonly resilience: IAgentResilienceContext; readonly log: IAgentLogger; constructor(state: IAgentState, services: IAgentContextServices, memoryAdapter?: IMemoryAdapter, session?: string); get input(): Record; get execution_id(): string; get agent_tag(): string; get env(): string; get product(): string; get iteration(): number; get session(): string | undefined; get api(): IAgentActionContext; getConversationHistory(): IConversationMessage[]; getToolCallHistory(): IToolCallResult[]; setState(key: string, value: unknown): void; getState(key: string): T | undefined; remember(content: string, metadata?: Record): Promise; recall(query: string, topK?: number): Promise; private createActionContext; private createDatabaseContext; private createGraphContext; private createNotificationContext; private createStorageContext; private createMessagingContext; private createPublishContext; private createFeatureContext; private createResilienceContext; private createLogger; /** * Update internal state (called by AgentExecutor) */ updateState(updates: Partial): void; /** * Get current state snapshot */ getStateSnapshot(): IAgentState; } export default AgentContext;