Function: recoverAgent()
Makaio Framework / services-core / recoverAgent
Function: recoverAgent()
Section titled “Function: recoverAgent()”recoverAgent(
bus,deadAgent,recoveryConfig):Promise<{adapterId:string;adapterName:string;adapterSessionId?:string;agentId:string;clientId?:string;compressionMode?:"manual"|"auto"|"off";createdAt:number;cwd?:string;harnessId?:string;lastActivityAt:number;model?:string;personaId?:string;profileId?:string;providerConfigId?:string;role:"lead"|"member";sessionId:string;status:"active"|"idle"|"dead"|"disposed"; }>
Defined in: ../../../packages/services/core/src/session/utils/agent-recovery.ts:197
Recover a dead agent by triggering connector swap via the adapter. The agent keeps its identity — no session mutation needed.
Context delivery happens via the normal sendMessage path that follows recovery (same handler invocation). No staging needed.
Parameters
Section titled “Parameters”Bus instance
deadAgent
Section titled “deadAgent”The dead agent to recover
adapterId
Section titled “adapterId”string = ...
Adapter instance that owns this agent
adapterName
Section titled “adapterName”string = ...
Adapter type name (e.g., ‘claude-code’, ‘copilot’)
adapterSessionId?
Section titled “adapterSessionId?”string = ...
Provider’s session ID for native resume support
agentId
Section titled “agentId”string = ...
Unique agent execution unit ID (stable across connector swaps and restarts)
clientId?
Section titled “clientId?”string = ...
Client identifier for the client application this agent runs under (e.g., ‘claude-code’, ‘codex’). Omit for API-only adapters.
compressionMode?
Section titled “compressionMode?”"manual" | "auto" | "off" = ...
Compression mode for session context management.
createdAt
Section titled “createdAt”number = ...
Timestamp when agent was created (= when added to session)
string = ...
Current working directory
harnessId?
Section titled “harnessId?”string = ...
Resolved harness ID for this agent.
lastActivityAt
Section titled “lastActivityAt”number = ...
Timestamp of last activity (message sent/received)
model?
Section titled “model?”string = ...
Current model identifier
personaId?
Section titled “personaId?”string = ...
Persona used to configure this agent (if any).
profileId?
Section titled “profileId?”string = ...
Profile used to configure this agent (if any).
providerConfigId?
Section titled “providerConfigId?”string = ...
Provider config UUID for credential/endpoint resolution
"lead" | "member" = AgentRoleSchema
Agent’s role in the session
sessionId
Section titled “sessionId”string = ...
Makaio session this agent belongs to
status
Section titled “status”"active" | "idle" | "dead" | "disposed" = AgentStatusSchema
Agent lifecycle status
recoveryConfig
Section titled “recoveryConfig”Configuration for the recovered connector
Returns
Section titled “Returns”Promise<{ adapterId: string; adapterName: string; adapterSessionId?: string; agentId: string; clientId?: string; compressionMode?: "manual" | "auto" | "off"; createdAt: number; cwd?: string; harnessId?: string; lastActivityAt: number; model?: string; personaId?: string; profileId?: string; providerConfigId?: string; role: "lead" | "member"; sessionId: string; status: "active" | "idle" | "dead" | "disposed"; }>
Same agent reference — identity preserved