/** * AgentService — Multi-agent registration, task locking, and lifecycle management. * * Provides agent registration with unique identity, task locking via in-memory Map * (single-process, race-condition-free), with file persistence for crash recovery. */ import type { ILogger } from '../../shared/logger.js'; import type { IAgentStore, AgentRegistration, RegisteredAgent, TaskLock } from './agent-store.js'; export interface IAgentService { registerAgent(registration: AgentRegistration): Promise; getAgent(agentId: string): Promise; listAgents(): Promise; lockTask(agentId: string, issueNumber: number): Promise; releaseTask(agentId: string, issueNumber: number): Promise; getTaskLock(issueNumber: number): Promise; releaseExpiredLocks(): Promise; heartbeat(agentId: string): Promise; } export declare class AgentService implements IAgentService { private readonly store; private readonly logger; private data; private initialized; private readonly lockTtlMs; constructor(store: IAgentStore, logger: ILogger, lockTtlMs?: number); registerAgent(registration: AgentRegistration): Promise; getAgent(agentId: string): Promise; listAgents(): Promise; lockTask(agentId: string, issueNumber: number): Promise; releaseTask(agentId: string, issueNumber: number): Promise; getTaskLock(issueNumber: number): Promise; releaseExpiredLocks(): Promise; heartbeat(agentId: string): Promise; isAgentStale(agent: RegisteredAgent): boolean; private ensureInitialized; private persist; } //# sourceMappingURL=agent-service.d.ts.map