From a3f38e0533e1a89fd20e66bf8bf3cefed6652ec8 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Sat, 3 Jan 2026 07:57:21 +0900 Subject: feat(plugin): add tui.session.select API endpoint for TUI navigation (#6565) Co-authored-by: Aiden Cline --- packages/sdk/js/src/v2/gen/sdk.gen.ts | 40 ++++++++++++++++++++++++++- packages/sdk/js/src/v2/gen/types.gen.ts | 49 ++++++++++++++++++++++++++++++++- 2 files changed, 87 insertions(+), 2 deletions(-) (limited to 'packages/sdk') 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( parameters?: { directory?: string - body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow + body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect }, options?: Options, ) { @@ -2705,6 +2708,41 @@ export class Tui extends HeyApiClient { }) } + /** + * Select session + * + * Navigate the TUI to display the specified session. + */ + public selectSession( + parameters?: { + directory?: string + sessionID?: string + }, + options?: Options, + ) { + const params = buildClientParams( + [parameters], + [ + { + args: [ + { in: "query", key: "directory" }, + { in: "body", key: "sessionID" }, + ], + }, + ], + ) + return (options?.client ?? this.client).post({ + 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 -- cgit v1.2.3