UNPKG

@invisiblecities/sidequest-cqo

Version:

Configuration-agnostic TypeScript and ESLint orchestrator with real-time watch mode, SQLite persistence, and intelligent terminal detection

43 lines 1.75 kB
/** * Polling Service for Code Quality Orchestrator * Handles rule execution scheduling and coordination */ import { EventEmitter } from "node:events"; import type { IPollingService, IStorageService, RuleCheckResult } from "./interfaces.js"; import type { RuleSchedule } from "../database/types.js"; export declare class PollingService extends EventEmitter implements IPollingService { private storageService; private isActive; private isPaused; private pollingInterval; private activeChecks; private defaultFrequencyMs; private maxConcurrentChecks; private pollingIntervalMs; constructor(storageService: IStorageService); start(): Promise<void>; stop(): Promise<void>; pause(): Promise<void>; resume(): Promise<void>; isRunning(): boolean; scheduleRule(rule: string, engine: "typescript" | "eslint", frequencyMs?: number): Promise<void>; unscheduleRule(rule: string, engine: "typescript" | "eslint"): Promise<void>; getScheduledRules(): Promise<RuleSchedule[]>; executeRule(rule: string, engine: "typescript" | "eslint"): Promise<RuleCheckResult>; executeNextRules(maxConcurrent?: number): Promise<RuleCheckResult[]>; setDefaultFrequency(frequencyMs: number): void; setMaxConcurrentChecks(max: number): void; enableAdaptivePolling(enabled: boolean): void; private executePollCycle; private performRuleCheck; private simulateRuleExecution; } /** * Get or create polling service instance */ export declare function getPollingService(storageService: IStorageService): PollingService; /** * Reset polling service instance (useful for testing) */ export declare function resetPollingService(): void; //# sourceMappingURL=polling-service.d.ts.map