summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk/js/src
diff options
context:
space:
mode:
authoropencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>2026-02-20 13:46:03 +0000
committeropencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>2026-02-20 13:46:03 +0000
commit7867ba441ff416ebda51fe13b0b139fc6d81de25 (patch)
treec49ffbffbae2e01055fb25021faa9d7ce01f7b0d /packages/sdk/js/src
parent7419ebc872ae99f0d8bb8cca0579619f46712723 (diff)
downloadopencode-7867ba441ff416ebda51fe13b0b139fc6d81de25.tar.gz
opencode-7867ba441ff416ebda51fe13b0b139fc6d81de25.zip
chore: generate
Diffstat (limited to 'packages/sdk/js/src')
-rw-r--r--packages/sdk/js/src/v2/gen/sdk.gen.ts56
-rw-r--r--packages/sdk/js/src/v2/gen/types.gen.ts84
2 files changed, 136 insertions, 4 deletions
diff --git a/packages/sdk/js/src/v2/gen/sdk.gen.ts b/packages/sdk/js/src/v2/gen/sdk.gen.ts
index af79c44a1..b4848e605 100644
--- a/packages/sdk/js/src/v2/gen/sdk.gen.ts
+++ b/packages/sdk/js/src/v2/gen/sdk.gen.ts
@@ -25,6 +25,7 @@ import type {
EventTuiSessionSelect,
EventTuiToastShow,
ExperimentalResourceListResponses,
+ ExperimentalSessionListResponses,
FileListResponses,
FilePartInput,
FilePartSource,
@@ -898,6 +899,48 @@ export class Worktree extends HeyApiClient {
}
}
+export class Session extends HeyApiClient {
+ /**
+ * List sessions
+ *
+ * Get a list of all OpenCode sessions across projects, sorted by most recently updated. Archived sessions are excluded by default.
+ */
+ public list<ThrowOnError extends boolean = false>(
+ parameters?: {
+ directory?: string
+ roots?: boolean
+ start?: number
+ cursor?: number
+ search?: string
+ limit?: number
+ archived?: boolean
+ },
+ options?: Options<never, ThrowOnError>,
+ ) {
+ const params = buildClientParams(
+ [parameters],
+ [
+ {
+ args: [
+ { in: "query", key: "directory" },
+ { in: "query", key: "roots" },
+ { in: "query", key: "start" },
+ { in: "query", key: "cursor" },
+ { in: "query", key: "search" },
+ { in: "query", key: "limit" },
+ { in: "query", key: "archived" },
+ ],
+ },
+ ],
+ )
+ return (options?.client ?? this.client).get<ExperimentalSessionListResponses, unknown, ThrowOnError>({
+ url: "/experimental/session",
+ ...options,
+ ...params,
+ })
+ }
+}
+
export class Resource extends HeyApiClient {
/**
* Get MCP resources
@@ -920,13 +963,18 @@ export class Resource extends HeyApiClient {
}
export class Experimental extends HeyApiClient {
+ private _session?: Session
+ get session(): Session {
+ return (this._session ??= new Session({ client: this.client }))
+ }
+
private _resource?: Resource
get resource(): Resource {
return (this._resource ??= new Resource({ client: this.client }))
}
}
-export class Session extends HeyApiClient {
+export class Session2 extends HeyApiClient {
/**
* List sessions
*
@@ -3231,9 +3279,9 @@ export class OpencodeClient extends HeyApiClient {
return (this._experimental ??= new Experimental({ client: this.client }))
}
- private _session?: Session
- get session(): Session {
- return (this._session ??= new Session({ client: this.client }))
+ private _session?: Session2
+ get session(): Session2 {
+ return (this._session ??= new Session2({ client: this.client }))
}
private _part?: Part
diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts
index efb7e202e..4050ef157 100644
--- a/packages/sdk/js/src/v2/gen/types.gen.ts
+++ b/packages/sdk/js/src/v2/gen/types.gen.ts
@@ -2044,6 +2044,45 @@ export type WorktreeResetInput = {
directory: string
}
+export type ProjectSummary = {
+ id: string
+ name?: string
+ worktree: string
+}
+
+export type GlobalSession = {
+ id: string
+ slug: string
+ projectID: string
+ directory: string
+ parentID?: string
+ summary?: {
+ additions: number
+ deletions: number
+ files: number
+ diffs?: Array<FileDiff>
+ }
+ share?: {
+ url: string
+ }
+ title: string
+ version: string
+ time: {
+ created: number
+ updated: number
+ compacting?: number
+ archived?: number
+ }
+ permission?: PermissionRuleset
+ revert?: {
+ messageID: string
+ partID?: string
+ snapshot?: string
+ diff?: string
+ }
+ project: ProjectSummary | null
+}
+
export type McpResource = {
name: string
uri: string
@@ -2870,6 +2909,51 @@ export type WorktreeResetResponses = {
export type WorktreeResetResponse = WorktreeResetResponses[keyof WorktreeResetResponses]
+export type ExperimentalSessionListData = {
+ body?: never
+ path?: never
+ query?: {
+ /**
+ * Filter sessions by project directory
+ */
+ directory?: string
+ /**
+ * Only return root sessions (no parentID)
+ */
+ roots?: boolean
+ /**
+ * Filter sessions updated on or after this timestamp (milliseconds since epoch)
+ */
+ start?: number
+ /**
+ * Return sessions updated before this timestamp (milliseconds since epoch)
+ */
+ cursor?: number
+ /**
+ * Filter sessions by title (case-insensitive)
+ */
+ search?: string
+ /**
+ * Maximum number of sessions to return
+ */
+ limit?: number
+ /**
+ * Include archived sessions (default false)
+ */
+ archived?: boolean
+ }
+ url: "/experimental/session"
+}
+
+export type ExperimentalSessionListResponses = {
+ /**
+ * List of sessions
+ */
+ 200: Array<GlobalSession>
+}
+
+export type ExperimentalSessionListResponse = ExperimentalSessionListResponses[keyof ExperimentalSessionListResponses]
+
export type ExperimentalResourceListData = {
body?: never
path?: never