diff options
| author | YeonGyu-Kim <[email protected]> | 2026-01-03 07:57:21 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-01-02 16:57:21 -0600 |
| commit | a3f38e0533e1a89fd20e66bf8bf3cefed6652ec8 (patch) | |
| tree | aa92ce6b8aec36b9e9fb3000f82bb282e689dbd5 /packages/sdk/js/src | |
| parent | 681a257df67d8e2f51bdee7d5cde24102a567276 (diff) | |
| download | opencode-a3f38e0533e1a89fd20e66bf8bf3cefed6652ec8.tar.gz opencode-a3f38e0533e1a89fd20e66bf8bf3cefed6652ec8.zip | |
feat(plugin): add tui.session.select API endpoint for TUI navigation (#6565)
Co-authored-by: Aiden Cline <[email protected]>
Diffstat (limited to 'packages/sdk/js/src')
| -rw-r--r-- | packages/sdk/js/src/v2/gen/sdk.gen.ts | 40 | ||||
| -rw-r--r-- | packages/sdk/js/src/v2/gen/types.gen.ts | 49 |
2 files changed, 87 insertions, 2 deletions
diff --git a/packages/sdk/js/src/v2/gen/sdk.gen.ts b/packages/sdk/js/src/v2/gen/sdk.gen.ts index f56e83677..5319a714b 100644 --- a/packages/sdk/js/src/v2/gen/sdk.gen.ts +++ b/packages/sdk/js/src/v2/gen/sdk.gen.ts @@ -19,6 +19,7 @@ import type { EventSubscribeResponses, EventTuiCommandExecute, EventTuiPromptAppend, + EventTuiSessionSelect, EventTuiToastShow, FileListResponses, FilePartInput, @@ -144,6 +145,8 @@ import type { TuiOpenThemesResponses, TuiPublishErrors, TuiPublishResponses, + TuiSelectSessionErrors, + TuiSelectSessionResponses, TuiShowToastResponses, TuiSubmitPromptResponses, VcsGetResponses, @@ -2688,7 +2691,7 @@ export class Tui extends HeyApiClient { public publish<ThrowOnError extends boolean = false>( parameters?: { directory?: string - body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow + body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect }, options?: Options<never, ThrowOnError>, ) { @@ -2705,6 +2708,41 @@ export class Tui extends HeyApiClient { }) } + /** + * Select session + * + * Navigate the TUI to display the specified session. + */ + public selectSession<ThrowOnError extends boolean = false>( + parameters?: { + directory?: string + sessionID?: string + }, + options?: Options<never, ThrowOnError>, + ) { + const params = buildClientParams( + [parameters], + [ + { + args: [ + { in: "query", key: "directory" }, + { in: "body", key: "sessionID" }, + ], + }, + ], + ) + return (options?.client ?? this.client).post<TuiSelectSessionResponses, TuiSelectSessionErrors, ThrowOnError>({ + url: "/tui/select-session", + ...options, + ...params, + headers: { + "Content-Type": "application/json", + ...options?.headers, + ...params.headers, + }, + }) + } + control = new Control({ client: this.client }) } diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts index 10764bebe..f0aa4a406 100644 --- a/packages/sdk/js/src/v2/gen/types.gen.ts +++ b/packages/sdk/js/src/v2/gen/types.gen.ts @@ -592,6 +592,16 @@ export type EventTuiToastShow = { } } +export type EventTuiSessionSelect = { + type: "tui.session.select" + properties: { + /** + * Session ID to navigate to + */ + sessionID: string + } +} + export type EventMcpToolsChanged = { type: "mcp.tools.changed" properties: { @@ -776,6 +786,7 @@ export type Event = | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow + | EventTuiSessionSelect | EventMcpToolsChanged | EventCommandExecuted | EventSessionCreated @@ -4310,7 +4321,7 @@ export type TuiShowToastResponses = { export type TuiShowToastResponse = TuiShowToastResponses[keyof TuiShowToastResponses] export type TuiPublishData = { - body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow + body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect path?: never query?: { directory?: string @@ -4336,6 +4347,42 @@ export type TuiPublishResponses = { export type TuiPublishResponse = TuiPublishResponses[keyof TuiPublishResponses] +export type TuiSelectSessionData = { + body?: { + /** + * Session ID to navigate to + */ + sessionID: string + } + path?: never + query?: { + directory?: string + } + url: "/tui/select-session" +} + +export type TuiSelectSessionErrors = { + /** + * Bad request + */ + 400: BadRequestError + /** + * Not found + */ + 404: NotFoundError +} + +export type TuiSelectSessionError = TuiSelectSessionErrors[keyof TuiSelectSessionErrors] + +export type TuiSelectSessionResponses = { + /** + * Session selected successfully + */ + 200: boolean +} + +export type TuiSelectSessionResponse = TuiSelectSessionResponses[keyof TuiSelectSessionResponses] + export type TuiControlNextData = { body?: never path?: never |
