/** * Lazy dependency binding container for the sidecar HTTP server. * * The sidecar server starts at plugin init step 5.5, before many * plugin modules exist. This registry lets the server accept * dependencies after construction via typed setter methods, with * `[Hivemind]` error guards on unbound access. * * Core dependencies (DelegationManager + SessionTracker + OpenCodeClient) * determine {@link isReady}; trajectory, pressure, and config subscriber * are optional extras. * * @module sidecar/server/registry */ import type { DelegationManager } from "../../coordination/delegation/manager.js"; import type { SessionTracker } from "../../features/session-tracker/index.js"; import type { OpenCodeClient } from "../../shared/session-api.js"; import type { TrajectoryLedger } from "../../task-management/trajectory/types.js"; /** * Lazy dependency registry for the sidecar server. * * All module references use `import type` to avoid circular imports — * the sidecar server starts before these modules are constructed. */ export declare class SidecarDependencyRegistry { #private; setDelegationManager(m: DelegationManager): void; setSessionTracker(t: SessionTracker): void; setClient(c: OpenCodeClient): void; setTrajectory(t: TrajectoryLedger): void; setPressure(p: Record): void; setConfigSubscriber(c: Partial> | (() => Partial>)): void; get delegationManager(): DelegationManager; get sessionTracker(): SessionTracker; get client(): OpenCodeClient; get trajectory(): TrajectoryLedger; get pressure(): Record; get configSubscriber(): Partial> | (() => Partial>); /** * Returns `true` when all three **core** dependencies are bound. * Trajectory, pressure, and config subscriber are optional extras * and do not affect readiness. */ isReady(): boolean; } //# sourceMappingURL=registry.d.ts.map