anon-identity
Version:
Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure
131 lines • 3.6 kB
TypeScript
import { AgentActivity, ActivityType, ActivityStatus, ActivityLoggerConfig, ActivitySubscription, ActivityHook } from './types';
import { IPFSActivityStorage } from './ipfs-activity-storage';
import { ActivityIndex } from './activity-index';
import { ActivityStreamManager } from './activity-stream-manager';
/**
* ActivityLogger - Core service for logging agent activities
*
* Provides activity tracking, batching, and real-time streaming
*/
export declare class ActivityLogger {
private config;
private activityBuffer;
private batchTimer?;
private subscriptions;
private hooks;
private processingBatch;
private ipfsStorage?;
private redundancyManager?;
private activityIndex?;
private streamManager?;
constructor(config?: ActivityLoggerConfig);
/**
* Log a single activity
*/
logActivity(activity: Partial<AgentActivity>): Promise<AgentActivity>;
/**
* Log multiple activities at once
*/
logActivities(activities: Partial<AgentActivity>[]): Promise<AgentActivity[]>;
/**
* Subscribe to real-time activity updates
*/
subscribe(filter: {
agentDID?: string;
parentDID?: string;
types?: ActivityType[];
}, callback: (activity: AgentActivity) => void): ActivitySubscription;
/**
* Register a hook for activities
*/
registerHook(hook: ActivityHook): void;
/**
* Force process the current batch
*/
flush(): Promise<void>;
/**
* Process a batch of activities
*/
private processBatch;
/**
* Start the batch processing timer
*/
private startBatchTimer;
/**
* Stop the batch processing timer
*/
stopBatchTimer(): void;
/**
* Notify subscribers of a new activity
*/
private notifySubscribers;
/**
* Check if an activity matches a subscription filter
*/
private matchesSubscription;
/**
* Run before hooks for an activity
*/
private runBeforeHooks;
/**
* Run after hooks for an activity
*/
private runAfterHooks;
/**
* Emit batch processed event
*/
private emitBatchProcessed;
/**
* Get current buffer size
*/
getBufferSize(): number;
/**
* Get subscription count
*/
getSubscriptionCount(): number;
/**
* Retrieve activities from IPFS
*/
retrieveActivitiesFromIPFS(ipfsHashes: string[]): Promise<AgentActivity[]>;
/**
* Get IPFS storage instance
*/
getIPFSStorage(): IPFSActivityStorage | undefined;
/**
* Get activity index instance
*/
getActivityIndex(): ActivityIndex | undefined;
/**
* Get stream manager instance
*/
getStreamManager(): ActivityStreamManager | undefined;
/**
* Enable or disable IPFS storage
*/
setIPFSEnabled(enabled: boolean, ipfsUrl?: string): Promise<void>;
/**
* Check if IPFS is connected
*/
checkIPFSConnection(): Promise<boolean>;
/**
* Cleanup resources
*/
cleanup(): Promise<void>;
}
/**
* Get or create the global activity logger instance
*/
export declare function getActivityLogger(config?: ActivityLoggerConfig): ActivityLogger;
/**
* Helper function to create a standard activity object
*/
export declare function createActivity(type: ActivityType, params: {
agentDID: string;
parentDID: string;
serviceDID: string;
status: ActivityStatus;
scopes?: string[];
details?: any;
sessionId?: string;
}): Partial<AgentActivity>;
//# sourceMappingURL=activity-logger.d.ts.map