Cloud Mode (cloud:true)
Cloud Sessions
Cloud session lifecycle, contracts, and runtime helpers.
Lifecycle
- Create —
launch()sendsPOST /sessionsto the control API - Active — SDK communicates via WebSocket (
/ws/action/:sessionId) - Close —
close()sendsDELETE /sessions/:sessionId
Contract Version
All sessions use contract version v3. The SDK sets cloudSessionContractVersion: "v3" and sourceType: "local-cloud" automatically.
Session Create Request
| Field | Type | Required | Description |
|---|---|---|---|
cloudSessionContractVersion | "v3" | Yes | Contract version |
sourceType | "local-cloud" | Yes | Session source type |
clientSessionHint | string | Yes | Client/session hint for diagnostics |
localRunId | string | Yes | Client run correlation ID |
name | string | No | Session label/namespace hint |
model | string | No | Model label for cloud runtime |
launchContext | object | No | Launch metadata forwarded to runtime |
launchConfig | object | No | Platform launch plan preferences |
Session Create Response
| Field | Type | Description |
|---|---|---|
sessionId | string | Cloud session ID |
actionWsUrl | string | Action WebSocket endpoint |
cdpWsUrl | string | CDP WebSocket endpoint |
actionToken | string | Action WebSocket auth token |
cdpToken | string | CDP WebSocket auth token |
cloudSessionUrl | string | Link to session in dashboard |
cloudSession | object | Session metadata |
WebSocket Endpoints
| Endpoint | Purpose |
|---|---|
/ws/action/:sessionId | Action transport |
/ws/cdp/:sessionId | CDP transport |
Runtime Helpers
// After launch()
const sessionId = opensteer.getCloudSessionId()
const sessionUrl = opensteer.getCloudSessionUrl()
console.log(`View session: ${sessionUrl}`)
