From 180ded6a27c49c0f95c8af5ff17ccacaa54eceab Mon Sep 17 00:00:00 2001 From: James Long Date: Fri, 10 Apr 2026 13:03:20 -0400 Subject: rector(core,tui): handle workspace state in project context, add workspace status, improve ui (#21896) --- packages/sdk/js/src/v2/gen/sdk.gen.ts | 31 ++++++++++++++++++++++++++++++ packages/sdk/js/src/v2/gen/types.gen.ts | 34 +++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) (limited to 'packages/sdk/js/src/v2/gen') diff --git a/packages/sdk/js/src/v2/gen/sdk.gen.ts b/packages/sdk/js/src/v2/gen/sdk.gen.ts index b2e37db59..d06a504d6 100644 --- a/packages/sdk/js/src/v2/gen/sdk.gen.ts +++ b/packages/sdk/js/src/v2/gen/sdk.gen.ts @@ -34,6 +34,7 @@ import type { ExperimentalWorkspaceListResponses, ExperimentalWorkspaceRemoveErrors, ExperimentalWorkspaceRemoveResponses, + ExperimentalWorkspaceStatusResponses, FileListResponses, FilePartInput, FilePartSource, @@ -1163,6 +1164,36 @@ export class Workspace extends HeyApiClient { }) } + /** + * Workspace status + * + * Get connection status for workspaces in the current project. + */ + public status( + parameters?: { + directory?: string + workspace?: string + }, + options?: Options, + ) { + const params = buildClientParams( + [parameters], + [ + { + args: [ + { in: "query", key: "directory" }, + { in: "query", key: "workspace" }, + ], + }, + ], + ) + return (options?.client ?? this.client).get({ + url: "/experimental/workspace/status", + ...options, + ...params, + }) + } + /** * Remove workspace * diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts index 823c452f9..c1a77bfe8 100644 --- a/packages/sdk/js/src/v2/gen/types.gen.ts +++ b/packages/sdk/js/src/v2/gen/types.gen.ts @@ -330,6 +330,15 @@ export type EventWorkspaceFailed = { } } +export type EventWorkspaceStatus = { + type: "workspace.status" + properties: { + workspaceID: string + status: "connected" | "connecting" | "disconnected" | "error" + error?: string + } +} + export type QuestionOption = { /** * Display text (1-5 words, concise) @@ -988,6 +997,7 @@ export type Event = | EventCommandExecuted | EventWorkspaceReady | EventWorkspaceFailed + | EventWorkspaceStatus | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected @@ -2857,6 +2867,30 @@ export type ExperimentalWorkspaceCreateResponses = { export type ExperimentalWorkspaceCreateResponse = ExperimentalWorkspaceCreateResponses[keyof ExperimentalWorkspaceCreateResponses] +export type ExperimentalWorkspaceStatusData = { + body?: never + path?: never + query?: { + directory?: string + workspace?: string + } + url: "/experimental/workspace/status" +} + +export type ExperimentalWorkspaceStatusResponses = { + /** + * Workspace status + */ + 200: Array<{ + workspaceID: string + status: "connected" | "connecting" | "disconnected" | "error" + error?: string + }> +} + +export type ExperimentalWorkspaceStatusResponse = + ExperimentalWorkspaceStatusResponses[keyof ExperimentalWorkspaceStatusResponses] + export type ExperimentalWorkspaceRemoveData = { body?: never path: { -- cgit v1.2.3