Properties
DevinApiClient
required
Escape hatch: the full generated v3 API client.
required
The agent’s
cognition.ai/* capability flags (agentCapabilities._meta).JsonRpcConnection
required
required
The agent’s
initialize response (capabilities, auth methods).undefined | AgentRequestHandler
required
Type:
AgentRequestHandlerAnswer agent → client requests the SDK does not handle itself (anything
but session/request_permission). Without a handler — or when the
handler returns undefined — built-in defaults apply (diagnostics report
none) and other methods are declined with method not found.undefined | (notification: CognitionExtensionNotification) => void
required
Type:
CognitionExtensionNotificationObserve connection-scoped _cognition.ai/* notifications — those without
a sessionId (or one that matches no tracked session), e.g.
mcp/serversChanged and plugins/changed. Session-scoped notifications
go to the owning session’s onExtension instead.required
Which
session/prompt content blocks the agent accepts, and the cloud size limits.number
required
The ACP protocol version the agent settled on (
1 or 2).Methods
[asyncDispose]()
await using devin = … closes the client at scope exit, once the connection has shut down.
Returns
Promise<void>
assertNotOpen()
Parameters
string
required
attach()
replay: "none" unless overridden).
Parameters
string
required
Returns
CloudSession
attachTo()
connect. Closes ws if the
handshake fails.
Parameters
WebSocketLike
required
Returns
CloudDevin
close()
closePullRequest()
github.com/owner/repo/pull/123).
Parameters
string
required
Returns
PrCloseResponse
closeSession()
session/close): the
agent cancels any turn this client started and stops sending it updates.
On v1 agents this only releases the session locally.
Parameters
string
required
Returns
Promise<void>
connect()
initialize handshake.
Parameters
Returns
CloudDevin
createSecret()
Parameters
required
Returns
SecretCreateResponse
createSession()
orgId and repos are applied to the pending session
before that (in one request when both are given).
Parameters
Returns
CloudSession
extNotify()
_cognition.ai/* notification (no response).
Parameters
M
required
CognitionRequestParams<M>
required
Type:
CognitionRequestParams_cognition.ai/* notification (no response).
Parameters
string
required
unknown
extRequest()
_cognition.ai/* request. Typed when the method
is in the generated registry (CognitionAgentResponseMap); any other
_cognition.ai/* method is accepted untyped. For session-scoped methods
prefer AcpSession.extRequest, which fills in the session id.
Parameters
M
required
CognitionRequestParams<M>
required
Type:
CognitionRequestParamsReturns
CognitionRequestResult
_cognition.ai/* request. Typed when the method
is in the generated registry (CognitionAgentResponseMap); any other
_cognition.ai/* method is accepted untyped. For session-scoped methods
prefer AcpSession.extRequest, which fills in the session id.
Parameters
string
required
unknown
Returns
Promise<T>
handshake()
Parameters
JsonRpcConnection
required
Returns
InitializeResult
launchSession()
turn.accepted,
not the turn’s outcome. Cancel explicitly with session.cancel().
Startup errors after creation preserve sessionId; never retry blindly.
Parameters
required
LaunchSessionOptions<CloudSessionOptions, T> & { turn: RunOptions<T> & { output…
required
Returns
LaunchedSessionCloudSession
turn.accepted,
not the turn’s outcome. Cancel explicitly with session.cancel().
Startup errors after creation preserve sessionId; never retry blindly.
Parameters
required
LaunchSessionOptions<CloudSessionOptions, unknown> & { turn: Omit<RunOptions<un…
Returns
LaunchedSessionCloudSession
turn.accepted,
not the turn’s outcome. Cancel explicitly with session.cancel().
Startup errors after creation preserve sessionId; never retry blindly.
Parameters
required
LaunchSessionOptions<CloudSessionOptions, T>
required
Returns
LaunchedSessionCloudSession
listSessions()
listSessionsPage to
paginate with cursor.
Parameters
Returns
SessionInfo
listSessionsPage()
Parameters
Returns
CloudSessionsPage
loadSession()
devin-…). On ACP v2 this is
session/resume (with replayFrom chosen by options.replay); on v1 it
is session/load, which always replays the whole transcript.
Parameters
string
required
Returns
LoadedCloudSession
mcpServers()
Parameters
required
Returns
McpServer
mergePullRequest()
prPath is github.com/owner/repo/pull/123.
Parameters
string
required
Returns
PrMergeResponse
openSession()
session/new follow-ups such as choosing the model or organization). A
failing request releases the session and surfaces as a
SessionStartupError carrying the allocated id.
Parameters
required
required
() => Promise<unknown>
Returns
CloudSession
pullRequestMergeStatus()
github.com/owner/repo/pull/123).
Parameters
string
required
Returns
PrMergeStatusResponse
pullRequestReviewJob()
Parameters
string
required
string
required
string
required
Returns
PrReviewJobResponse
pullRequestReviewJobs()
Parameters
string
required
Returns
PrReviewJobsResponse
releaseSession()
Parameters
string
required
resumeSession()
openSession, but the agent
replays history as session/update notifications before load settles;
those are captured and returned instead of being delivered live. Refuses
a session that is already open on this client, since loading it again
would steal its notification routing.
Parameters
required
required
() => Promise<unknown>
required
Returns
LoadedSessionCloudSession
supports()
cognition.ai/* capability, e.g.
devin.supports("cognition.ai/sessionRename") before calling
session.rename().
Parameters
string
required
Returns
boolean
track()
Parameters
required
untrack()
Parameters
string
required

