diff --git a/packages/sdk/js/src/v2/gen/sdk.gen.ts b/packages/sdk/js/src/v2/gen/sdk.gen.ts index b2989b68df..9beb809922 100644 --- a/packages/sdk/js/src/v2/gen/sdk.gen.ts +++ b/packages/sdk/js/src/v2/gen/sdk.gen.ts @@ -333,6 +333,8 @@ import type { V2QuestionRequestListResponses, V2ReferenceListErrors, V2ReferenceListResponses, + V2SessionActiveErrors, + V2SessionActiveResponses, V2SessionCompactErrors, V2SessionCompactResponses, V2SessionContextErrors, @@ -5501,6 +5503,18 @@ export class Session3 extends HeyApiClient { }) } + /** + * List active sessions + * + * Retrieve foreground Session drains currently owned by this OpenCode process. Sessions absent from the result are inactive. + */ + public active(options?: Options) { + return (options?.client ?? this.client).get({ + url: "/api/session/active", + ...options, + }) + } + /** * Get session * diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts index 9fde0f4e5e..ae610a3f12 100644 --- a/packages/sdk/js/src/v2/gen/types.gen.ts +++ b/packages/sdk/js/src/v2/gen/types.gen.ts @@ -2690,6 +2690,10 @@ export type InvalidCursorError = { message: string } +export type SessionActive = { + type: "running" +} + export type SessionNotFoundError = { _tag: "SessionNotFoundError" sessionID: string @@ -11940,6 +11944,39 @@ export type V2SessionCreateResponses = { export type V2SessionCreateResponse = V2SessionCreateResponses[keyof V2SessionCreateResponses] +export type V2SessionActiveData = { + body?: never + path?: never + query?: never + url: "/api/session/active" +} + +export type V2SessionActiveErrors = { + /** + * InvalidRequestError + */ + 400: InvalidRequestError + /** + * UnauthorizedError + */ + 401: UnauthorizedError +} + +export type V2SessionActiveError = V2SessionActiveErrors[keyof V2SessionActiveErrors] + +export type V2SessionActiveResponses = { + /** + * Success + */ + 200: { + data: { + [key: string]: unknown | SessionActive + } + } +} + +export type V2SessionActiveResponse = V2SessionActiveResponses[keyof V2SessionActiveResponses] + export type V2SessionGetData = { body?: never path: { diff --git a/packages/sdk/openapi.json b/packages/sdk/openapi.json index 7377e63f9a..4e206d9114 100644 --- a/packages/sdk/openapi.json +++ b/packages/sdk/openapi.json @@ -10187,6 +10187,66 @@ ] } }, + "/api/session/active": { + "get": { + "tags": ["sessions"], + "operationId": "v2.session.active", + "parameters": [], + "security": [], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "patternProperties": { + "^ses": { + "$ref": "#/components/schemas/SessionActive" + } + } + } + }, + "required": ["data"], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "InvalidRequestError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvalidRequestError" + } + } + } + }, + "401": { + "description": "UnauthorizedError", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthorizedError" + } + } + } + } + }, + "description": "Retrieve foreground Session drains currently owned by this OpenCode process. Sessions absent from the result are inactive.", + "summary": "List active sessions", + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.session.active({\n ...\n})" + } + ] + } + }, "/api/session/{sessionID}": { "get": { "tags": ["sessions"], @@ -23445,6 +23505,17 @@ "required": ["_tag", "message"], "additionalProperties": false }, + "SessionActive": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["running"] + } + }, + "required": ["type"], + "additionalProperties": false + }, "SessionNotFoundError": { "type": "object", "properties": {