Function: ensureAgentModel()
Makaio Framework / services-core / ensureAgentModel
Function: ensureAgentModel()
Section titled “Function: ensureAgentModel()”ensureAgentModel(
bus,agent,desiredModel,options?):Promise<{changed:false; } | {changed:true;swapped:boolean; }>
Defined in: ../../../packages/services/core/src/session/utils/agent-recovery.ts:85
Ensure an agent uses the desired model and/or reasoning effort, performing an in-place change or connector swap as needed.
Mirrors the ensureAgentCwd() pattern. At least one of desiredModel,
options.reasoningEffort, or options.providerConfigId must be defined for a
change to occur.
Parameters
Section titled “Parameters”The bus instance for RPC
The agent to change (mutated in-place on success)
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
desiredModel
Section titled “desiredModel”string | undefined
The model identifier to switch to, or undefined to keep current model
options?
Section titled “options?”Optional configuration: providerConfigId triggers a swap when it differs from the
current one; reasoningEffort is applied after the model change; skipWarning suppresses the
model-change confirmation dialog
providerConfigId?
Section titled “providerConfigId?”string
reasoningEffort?
Section titled “reasoningEffort?”"none" | "low" | "medium" | "high" | "extra-high"
skipWarning?
Section titled “skipWarning?”boolean
Returns
Section titled “Returns”Promise<{ changed: false; } | { changed: true; swapped: boolean; }>
Discriminated union: no change, or changed with swap info