import type Database from 'better-sqlite3'; import type { ForgettingPolicyService } from '../../../domains/forgetting/services/forgetting-policy-service.js'; import type { PerformanceMonitor } from '../../../domains/monitoring/services/performance-monitor.js'; import type { IntrospectionScanCache } from '../../../domains/memory/services/introspection-scan-cache.js'; import type { SleepConsolidationService } from '../../../domains/consolidation/services/sleep-consolidation-service.js'; import type { TelemetryRepository } from '../../../domains/telemetry/repositories/telemetry-repository.js'; import type { AnchorManager } from '../../../domains/anchor/services/anchor/anchor-manager.js'; import type { ConsolidationScoreWorker } from '../../../workers/consolidation-score-worker.js'; import type { BatchJobConfig, BatchJobResult } from '../batch-scheduler-types.js'; import type { BatchJobExecutionCoordinator } from '../batch-job-execution-coordinator.js'; import type { JobQueue } from '../job-queue.js'; import type { HealthChecker } from '../health-checker.js'; import type { FileLogger } from '../file-logger.js'; import type { RelationValidatorExecutor } from '../relation-validator-executor.js'; import type { TripleExtractionBatchJob } from '../jobs/triple-extraction-batch-job.js'; import type { QualityMeasurementBatchJob } from '../jobs/quality-measurement-batch-job.js'; import type { SleepConsolidationBatchJob } from '../jobs/sleep-consolidation-batch-job.js'; import type { TelemetryCleanupBatchJob } from '../jobs/telemetry-cleanup-batch-job.js'; import type { BatchSchedulerLogMethod, BatchSchedulerRunContext } from '../handlers/batch-scheduler-run-context.js'; import type { BatchRecurringScheduleContext } from '../batch-recurring-schedules.js'; export interface BatchSchedulerContextSource { db: Database.Database | null; config: BatchJobConfig; forgettingService: ForgettingPolicyService; performanceMonitor: PerformanceMonitor; healthChecker: HealthChecker; jobQueue: JobQueue; fileLogger: FileLogger; relationValidatorExecutor: RelationValidatorExecutor; consolidationScoreWorker: ConsolidationScoreWorker | null; introspectionScanCache: IntrospectionScanCache | null; sleepConsolidationService: SleepConsolidationService | null; telemetryCleanupRepository: TelemetryRepository | null; tripleExtractionBatchJob: TripleExtractionBatchJob | null; qualityMeasurementBatchJob: QualityMeasurementBatchJob | null; sleepConsolidationBatchJob: SleepConsolidationBatchJob | null; telemetryCleanupBatchJob: TelemetryCleanupBatchJob | null; lastExecution: Map; totalExecutions: Map; anchorManager: AnchorManager | null; log: BatchSchedulerLogMethod; emitMemoryReviewCandidatesRunRecord: (result: BatchJobResult) => Promise; } export interface BatchSchedulerRecurringContextSource extends BatchSchedulerContextSource { consolidationScoreEnabled: boolean; intervals: Map>; jobExecutionCoordinator: BatchJobExecutionCoordinator; scheduleJob: (name: string, interval: number, job: () => Promise, priority: number) => void; runMemoryCleanup: () => Promise; runMonitoring: () => Promise; runHealthCheck: () => Promise; runConsolidationScoreIncremental: () => Promise; runConsolidationScoreFullSweep: () => Promise; runWeeklyRelationValidation: () => Promise; runLogRotation: () => Promise; runTripleExtractionBatch: () => Promise; runQualityMeasurementBatch: () => Promise; runMetaMemoryIntrospection: () => Promise; runMemoryReviewCandidatesJob: () => Promise; runSleepConsolidationBatch: () => Promise; runTelemetryCleanupBatch: () => Promise; runAnchorAutoRefresh: () => Promise; } export declare function buildBatchSchedulerRunContext(source: BatchSchedulerContextSource): BatchSchedulerRunContext; export declare function buildBatchRecurringScheduleContext(source: BatchSchedulerRecurringContextSource): BatchRecurringScheduleContext; //# sourceMappingURL=batch-scheduler-context.d.ts.map