@qwen-code/web-shell 0.26.3-preview.0 → 0.26.4-nightly.20261029.70be140e14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -10
- package/dist/{PierreFilePreview-DK0Qg591.js → PierreFilePreview-CfV0XRoK.js} +1 -1
- package/dist/{SpreadsheetPreview-nx5JXOUL.js → SpreadsheetPreview-Bs2-wOb1.js} +2 -2
- package/dist/{WorkspaceFileBrowser-D5vot7Ow.js → WorkspaceFileBrowser-B-0Ycb2D.js} +2 -2
- package/dist/agents-route-DK8lW-Vp.js +1552 -0
- package/dist/daemon-react-sdk.js +1 -1
- package/dist/{index-bGRCmaBo.js → index-Bc6NSs-5.js} +59916 -59145
- package/dist/index.js +3 -3
- package/dist/sw.js +1 -1
- package/dist/transcript.js +10497 -10228
- package/dist/types/App.d.ts +9 -5
- package/dist/types/adapters/messageTypes.d.ts +7 -0
- package/dist/types/components/ChatEditor.d.ts +2 -0
- package/dist/types/components/DaemonConnectionBanner.d.ts +1 -0
- package/dist/types/components/SessionOverviewPanel.d.ts +6 -3
- package/dist/types/components/WebShellTranscript.d.ts +1 -1
- package/dist/types/components/composer/AddMenu.d.ts +2 -1
- package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +7 -3
- package/dist/types/components/dialogs/DialogShell.d.ts +5 -2
- package/dist/types/components/local-control-api.d.ts +2 -1
- package/dist/types/components/managed/ManagedSessionWorktrees.d.ts +12 -0
- package/dist/types/components/managed/ManagedWorktreePopover.d.ts +9 -0
- package/dist/types/components/managed/generated/managed-agent-api.d.ts +344 -12
- package/dist/types/components/managed/java-managed-agent-client.d.ts +9 -9
- package/dist/types/components/managed/managed-agent-provider.d.ts +43 -10
- package/dist/types/components/managed/managed-session-export.d.ts +1 -0
- package/dist/types/components/managed/managed-session-messages.d.ts +1 -1
- package/dist/types/components/managed/managed-worktree-messages.d.ts +41 -0
- package/dist/types/components/managed/use-managed-file-upload.d.ts +3 -5
- package/dist/types/components/messages/McpApp.d.ts +4 -0
- package/dist/types/components/messages/SettingsMessage.d.ts +2 -1
- package/dist/types/components/messages/tools/DiffView.d.ts +6 -0
- package/dist/types/components/sidebar/SessionDetailsTooltip.d.ts +3 -2
- package/dist/types/components/sidebar/WebShellSidebar.d.ts +5 -3
- package/dist/types/components/ui/alert.d.ts +1 -1
- package/dist/types/components/ui/badge.d.ts +1 -1
- package/dist/types/components/ui/button.d.ts +2 -2
- package/dist/types/components/workspace-agents/agent-events.d.ts +1 -1
- package/dist/types/components/workspace-agents/session-agents-api.d.ts +2 -1
- package/dist/types/components/workspace-agents/threads-api.d.ts +2 -1
- package/dist/types/components/workspace-agents/useAgentChatEntry.d.ts +3 -1
- package/dist/types/customization.d.ts +5 -0
- package/dist/types/daemon/availability-context.d.ts +4 -0
- package/dist/types/daemon/availability.d.ts +43 -0
- package/dist/types/daemon/availability.test-fixtures.d.ts +12 -0
- package/dist/types/daemon/rest-request.d.ts +8 -0
- package/dist/types/desktop-relay/desktop-relay-client.d.ts +1 -1
- package/dist/types/hooks/useMcpAppMessages.d.ts +16 -1
- package/dist/types/i18n.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/live/useLiveVoiceSetup.d.ts +1 -1
- package/dist/types/local-files/bridge-client.d.ts +5 -0
- package/dist/types/mcp-app/messages.d.ts +4 -2
- package/dist/types/mcpAppHostContext.d.ts +44 -3
- package/dist/types/session-catalog/session-catalog-store.d.ts +2 -0
- package/dist/types/settings.d.ts +1 -1
- package/dist/types/utils/composerTasks.d.ts +7 -0
- package/dist/types/utils/planMode.d.ts +1 -1
- package/dist/{useDaemonMidTurnInjected-DPmdVYAB.js → useDaemonMidTurnInjected-CioAIlrV.js} +8361 -6972
- package/package.json +1 -1
- package/dist/agents-route-CoDAxwQK.js +0 -1546
package/dist/types/App.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ import { type ComposerPlaceholderState } from './utils/composerInputState';
|
|
|
21
21
|
import type { CommandInfo, Message } from './adapters/types';
|
|
22
22
|
import { type WebShellBrand, type WebShellResolvedBrand } from './brandContext';
|
|
23
23
|
import { type WebShellTheme } from './themeContext';
|
|
24
|
-
import { type WebShellCustomization, type WebShellAssistantFeedbackOptions, type WebShellComposerApi, type WebShellComposerInput, type WebShellMarkdownCustomization, type WebShellSourceIconResolver, type WebShellSourceReference, type ToolHeaderExtraRenderer, type UserMessageContentRenderer, type UserMessageContentParser, type AssistantTurnFooterRenderer, type WebShellArtifactCustomization, type WelcomeHeaderRenderer, type WelcomeFooterRenderer, type ComposerToolbarStartRenderer, type ComposerToolbarEndRenderer, type ComposerToolbarRightRenderer, type ComposerHeaderRenderer, type ComposerFooterRenderer, type ChatHeaderRenderer, type WebShellChatHeaderOptions, type WebShellRightPanelOptions, type WebShellEnvironmentPanelOptions, type FooterRenderer, type LoadingPhrasesResolver, type MarkdownTableMode, type WebShellAtProvider, type WebShellBuiltinAtProvidersConfig, type ComposerTagClickHandler, type ComposerTagRenderer, type WebShellComposerTagIconMap, type WebShellBottomStatusItem, type WebShellPreparedSubmit, type WebShellSubmitSnapshot, type WebShellAssistantTurnSettledEvent, type WebShellSessionArtifactsChange } from './customization';
|
|
24
|
+
import { type WebShellCustomization, type WebShellWorkspaceDirectoryPicker, type WebShellAssistantFeedbackOptions, type WebShellComposerApi, type WebShellComposerInput, type WebShellMarkdownCustomization, type WebShellSourceIconResolver, type WebShellSourceReference, type ToolHeaderExtraRenderer, type UserMessageContentRenderer, type UserMessageContentParser, type AssistantTurnFooterRenderer, type WebShellArtifactCustomization, type WelcomeHeaderRenderer, type WelcomeFooterRenderer, type ComposerToolbarStartRenderer, type ComposerToolbarEndRenderer, type ComposerToolbarRightRenderer, type ComposerHeaderRenderer, type ComposerFooterRenderer, type ChatHeaderRenderer, type WebShellChatHeaderOptions, type WebShellRightPanelOptions, type WebShellEnvironmentPanelOptions, type FooterRenderer, type LoadingPhrasesResolver, type MarkdownTableMode, type WebShellAtProvider, type WebShellBuiltinAtProvidersConfig, type ComposerTagClickHandler, type ComposerTagRenderer, type WebShellComposerTagIconMap, type WebShellBottomStatusItem, type WebShellPreparedSubmit, type WebShellSubmitSnapshot, type WebShellAssistantTurnSettledEvent, type WebShellSessionArtifactsChange } from './customization';
|
|
25
25
|
import type { CommandDisplayCategoryOrder } from './utils/commandDisplay';
|
|
26
26
|
export interface BugReportInfo {
|
|
27
27
|
title: string;
|
|
@@ -38,9 +38,9 @@ export interface WebShellSidebarOptions {
|
|
|
38
38
|
showLive?: boolean;
|
|
39
39
|
/** Hide or replace the complete sidebar branding row. */
|
|
40
40
|
branding?: false | WebShellSidebarBranding;
|
|
41
|
-
/** Customize the primary navigation area (new
|
|
41
|
+
/** Customize the primary navigation area (new session button, custom entries). */
|
|
42
42
|
primaryNav?: WebShellSidebarPrimaryNavOptions;
|
|
43
|
-
/** Whether to hide the "
|
|
43
|
+
/** Whether to hide the "Workspaces" header row (with search and add workspace). Defaults to false (shown). */
|
|
44
44
|
hideProjectHeader?: boolean;
|
|
45
45
|
/** Customize which action buttons appear on session rows. */
|
|
46
46
|
sessionActions?: WebShellSidebarSessionActionsOptions;
|
|
@@ -136,7 +136,7 @@ export interface WebShellProps {
|
|
|
136
136
|
*/
|
|
137
137
|
onThemeResolved?: (theme: WebShellTheme) => void;
|
|
138
138
|
/** UI language for the web-shell. Defaults to `?language=` or browser language. */
|
|
139
|
-
language?: 'en' | 'zh-CN' | 'zh' | 'zh-cn';
|
|
139
|
+
language?: 'en' | 'zh-CN' | 'zh' | 'zh-cn' | 'ru' | 'ru-ru';
|
|
140
140
|
/** Called when `/language ui` changes the web-shell UI language. */
|
|
141
141
|
onLanguageChange?: (language: WebShellLanguage) => void;
|
|
142
142
|
/**
|
|
@@ -201,6 +201,8 @@ export interface WebShellProps {
|
|
|
201
201
|
}>) => void;
|
|
202
202
|
/** Open a workspace file in the embedding host instead of WebShell preview. */
|
|
203
203
|
onWorkspaceFileOpen?: (path: string) => void;
|
|
204
|
+
/** Select a directory on the connected daemon. Overrides native picking without registering or trusting the path. */
|
|
205
|
+
onPickWorkspaceDirectory?: WebShellWorkspaceDirectoryPicker;
|
|
204
206
|
/** Open a completed Insight report in a host-native surface. */
|
|
205
207
|
onInsightReportOpen?: (path: string) => void;
|
|
206
208
|
/** Open context usage details in the host instead of the built-in panel. */
|
|
@@ -220,6 +222,8 @@ export interface WebShellProps {
|
|
|
220
222
|
composerToolbarActions?: readonly ComposerToolbarAction[];
|
|
221
223
|
/** Execution mode choices. Overrides ui.allowedApprovalModes; [] offers none. Presentation only. */
|
|
222
224
|
allowedApprovalModes?: readonly WebShellApprovalMode[];
|
|
225
|
+
/** Composer presentation shared by the main chat, split panes, and side tasks. */
|
|
226
|
+
composerVariant?: 'default' | 'simple';
|
|
223
227
|
/** Optionally filter main-model entries without changing shared defaults. */
|
|
224
228
|
mainModelFilter?: (model: ModelDialogModel) => boolean;
|
|
225
229
|
/** Stack completion details vertically for narrow embedded hosts. */
|
|
@@ -456,4 +460,4 @@ export declare function canArchiveSideTaskSummary(session: Pick<DaemonSessionSum
|
|
|
456
460
|
export declare function mergeSideTaskCatalog(catalog: SideTaskCatalogState, parentSessionId: string, listedItems: SideTaskListItem[], optimisticIds: ReadonlySet<string>): SideTaskCatalogState;
|
|
457
461
|
export declare function getEnvironmentAgentTasks(messages: readonly Message[], sessionTasks: readonly DaemonSessionTaskWithWorkflowStatus[]): EnvironmentAgentTask[];
|
|
458
462
|
export declare function mergeAgentTrace(liveAgents: readonly EnvironmentAgentTask[], trace: DaemonAgentTrace | undefined, now?: number): EnvironmentAgentTask[];
|
|
459
|
-
export declare function App({ onRefreshModels, askUserFreeTextLabel, onSessionIdChange, onSessionInfoChange, onSessionCreated, managedAgentProvider, theme: providedTheme, onThemeChange, onThemeResolved, language: providedLanguage, onLanguageChange, onLanguageResolved, brand: providedBrand, onBrandResolved, className: externalClassName, style: externalStyle, shadowDom, onConnectionChange, onStreamingStateChange, onError, onBugReport, hiddenSlashCommands, slashCommandCategoryOrder, onSlashCommand, builtinAtProviders, atProviders, composerTagIcons, fileUploadEnabled, fileUploadDirectory, artifact, fileDropAction, renderToolHeaderExtra, renderWelcomeHeader, renderWelcomeFooter, mobileWelcomeFooterMiddle, parseUserMessageContent, renderUserMessageContent, renderComposerTag, renderComposerTagTooltip, onComposerTagClick, renderAssistantTurnFooter, assistantFeedback, getAssistantSourcesIcon, sourceReferences, renderComposerToolbarStart, renderComposerToolbarEnd, renderComposerToolbarRight, renderComposerHeader, renderComposerFooter, renderChatHeader, renderFooter, bottomStatusItems, chatMaxWidth, sidebar, settings: settingsPresentation, modelManagement, unavailableModels, mountUnavailableModelTooltip, header, rightPanel, showToolCalls, environmentPanel, splitSessionIds: externalSplitSessionIds, onSplitSessionIdsChange, renderPaneHeaderActions, onRightPanelOpen, onFileReviewOpen, onWorkspaceFileOpen, onInsightReportOpen, onContextUsageOpen, messageTurnOutputs, filterArtifact, shellRef, composerToolbarActions, allowedApprovalModes: allowedApprovalModesProp, mainModelFilter, compactComposerOverlays, autoSubmitSlashCommands, additionalSlashCommands, contextUsageAlwaysVisible, userMessageEditing, onUserMessageEditRequest, cycleModeOnTab, sessionSourceType, composerToolbarAdditionalActions, composerPlaceholders, compactThinking, hostOwnsEditDiffPreview, collapseCompletedTurns, markdownTableMode, virtualScrollThreshold, conversationSearchThreshold, markdown, loadingPhrases, onAgentTasksChange, onTranscriptChange, onSessionArtifactsChange, onToast, composerRef, onComposerReady, composerInput, composerInputVersion, onSessionChange, onAssistantTurnSettled, prepareSubmit, onSubmitBefore, restartSseOnPrompt, historyPageSize, initialSelectedWorkspaceCwd, lockedWorkspaceCwd, lockedWorkspaceCapability, }?: AppProps): import("react/jsx-runtime").JSX.Element;
|
|
463
|
+
export declare function App({ onRefreshModels, askUserFreeTextLabel, onSessionIdChange, onSessionInfoChange, onSessionCreated, managedAgentProvider, theme: providedTheme, onThemeChange, onThemeResolved, language: providedLanguage, onLanguageChange, onLanguageResolved, brand: providedBrand, onBrandResolved, className: externalClassName, style: externalStyle, shadowDom, onConnectionChange, onStreamingStateChange, onError, onBugReport, hiddenSlashCommands, slashCommandCategoryOrder, onSlashCommand, builtinAtProviders, atProviders, composerTagIcons, fileUploadEnabled, fileUploadDirectory, artifact, fileDropAction, renderToolHeaderExtra, renderWelcomeHeader, renderWelcomeFooter, mobileWelcomeFooterMiddle, parseUserMessageContent, renderUserMessageContent, renderComposerTag, renderComposerTagTooltip, onComposerTagClick, renderAssistantTurnFooter, assistantFeedback, getAssistantSourcesIcon, sourceReferences, renderComposerToolbarStart, renderComposerToolbarEnd, renderComposerToolbarRight, renderComposerHeader, renderComposerFooter, renderChatHeader, renderFooter, bottomStatusItems, chatMaxWidth, sidebar, settings: settingsPresentation, modelManagement, unavailableModels, mountUnavailableModelTooltip, header, rightPanel, showToolCalls, environmentPanel, splitSessionIds: externalSplitSessionIds, onSplitSessionIdsChange, renderPaneHeaderActions, onRightPanelOpen, onFileReviewOpen, onWorkspaceFileOpen, onPickWorkspaceDirectory, onInsightReportOpen, onContextUsageOpen, messageTurnOutputs, filterArtifact, shellRef, composerToolbarActions, allowedApprovalModes: allowedApprovalModesProp, composerVariant, mainModelFilter, compactComposerOverlays, autoSubmitSlashCommands, additionalSlashCommands, contextUsageAlwaysVisible, userMessageEditing, onUserMessageEditRequest, cycleModeOnTab, sessionSourceType, composerToolbarAdditionalActions, composerPlaceholders, compactThinking, hostOwnsEditDiffPreview, collapseCompletedTurns, markdownTableMode, virtualScrollThreshold, conversationSearchThreshold, markdown, loadingPhrases, onAgentTasksChange, onTranscriptChange, onSessionArtifactsChange, onToast, composerRef, onComposerReady, composerInput, composerInputVersion, onSessionChange, onAssistantTurnSettled, prepareSubmit, onSubmitBefore, restartSseOnPrompt, historyPageSize, initialSelectedWorkspaceCwd, lockedWorkspaceCwd, lockedWorkspaceCapability, }?: AppProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -55,6 +55,13 @@ export interface DaemonMessageToolCall {
|
|
|
55
55
|
endTime?: number;
|
|
56
56
|
wasCancelled?: boolean;
|
|
57
57
|
subContent?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Path-style identity of the agent that produced this call's sub-content,
|
|
60
|
+
* e.g. `/root/general-purpose`. Carried from the transcript block's `agent`
|
|
61
|
+
* field so the panel can name a subagent precisely instead of by type alone
|
|
62
|
+
* — two parallel subagents of the same type are otherwise indistinguishable.
|
|
63
|
+
*/
|
|
64
|
+
agentPath?: string;
|
|
58
65
|
subTools?: DaemonMessageToolCall[];
|
|
59
66
|
/** Transcript blocks folded into this tool presentation. */
|
|
60
67
|
sourceBlockIds?: string[];
|
|
@@ -53,6 +53,8 @@ interface ChatEditorProps {
|
|
|
53
53
|
currentModel?: string;
|
|
54
54
|
modelControlsDisabled?: boolean;
|
|
55
55
|
gitBranch?: string;
|
|
56
|
+
/** Service-owned Git control in the workspace row below the composer. */
|
|
57
|
+
gitContextControl?: ReactNode;
|
|
56
58
|
/** Whether the session is in a worktree (styles the git chip purple). */
|
|
57
59
|
gitWorktree?: boolean;
|
|
58
60
|
/** Git working directory for worktree sessions; targets git operations. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function DaemonConnectionBanner(): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Copyright 2025 Qwen Team
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
6
|
+
import { type DaemonProductSessionContext } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
7
|
+
import { type DaemonSessionGroupPresetColor, type DaemonSessionPrInfo, type DaemonSessionSummary, type DaemonStatusReportSession } from '@qwen-code/sdk/daemon';
|
|
7
8
|
export type SessionCardStatus = 'needsApproval' | 'askUserQuestion' | 'running' | 'idle';
|
|
8
9
|
export interface SessionCard {
|
|
9
10
|
sessionId: string;
|
|
@@ -17,6 +18,8 @@ export interface SessionCard {
|
|
|
17
18
|
gitBranch?: string;
|
|
18
19
|
/** The workspace the session lives in. */
|
|
19
20
|
workspaceCwd: string;
|
|
21
|
+
/** Catalog the session came from; 'standalone' has no workspace of its own. */
|
|
22
|
+
sourceType?: string;
|
|
20
23
|
}
|
|
21
24
|
type SessionIdentity = Pick<SessionCard, 'sessionId' | 'workspaceCwd'>;
|
|
22
25
|
/**
|
|
@@ -30,13 +33,13 @@ type SessionIdentity = Pick<SessionCard, 'sessionId' | 'workspaceCwd'>;
|
|
|
30
33
|
* idle, then most-recent first, so sessions that want attention float to the
|
|
31
34
|
* top of a 10+ session grid.
|
|
32
35
|
*/
|
|
33
|
-
export declare function deriveSessionCards(sessions: DaemonSessionSummary[], currentSessionId: string | undefined, statusSessions?: DaemonStatusReportSession[], currentWorkspaceCwd?: string): SessionCard[];
|
|
36
|
+
export declare function deriveSessionCards(sessions: DaemonSessionSummary[], currentSessionId: string | undefined, statusSessions?: DaemonStatusReportSession[], currentWorkspaceCwd?: string, currentContextKind?: string): SessionCard[];
|
|
34
37
|
/**
|
|
35
38
|
* A malformed daemon payload must not white-screen the shell; contain any
|
|
36
39
|
* render throw to the panel, mirroring DaemonStatusDialog.
|
|
37
40
|
*/
|
|
38
41
|
export declare function SessionOverviewPanel({ onOpenSession, onOpenSplit, onCurrentSessionRemoved, includeOtherWorkspaces, workspaceCwd, manageLiveState, }: {
|
|
39
|
-
onOpenSession: (sessionId: string, workspaceCwd?: string) => void;
|
|
42
|
+
onOpenSession: (sessionId: string, workspaceCwd?: string, sessionContext?: DaemonProductSessionContext) => void;
|
|
40
43
|
onOpenSplit?: (sessionIds: string[]) => void;
|
|
41
44
|
onCurrentSessionRemoved?: (session: SessionIdentity) => Promise<boolean | void> | boolean | void;
|
|
42
45
|
includeOtherWorkspaces?: boolean;
|
|
@@ -8,7 +8,7 @@ export interface WebShellTranscriptProps {
|
|
|
8
8
|
blocks: readonly DaemonTranscriptBlock[];
|
|
9
9
|
renderMode?: 'readonly' | 'document';
|
|
10
10
|
theme?: WebShellTheme;
|
|
11
|
-
language?: 'en' | 'zh-CN' | 'zh' | 'zh-cn';
|
|
11
|
+
language?: 'en' | 'zh-CN' | 'zh' | 'zh-cn' | 'ru' | 'ru-ru';
|
|
12
12
|
className?: string;
|
|
13
13
|
style?: CSSProperties;
|
|
14
14
|
chatMaxWidth?: number;
|
|
@@ -36,6 +36,7 @@ export interface AddMenuProps {
|
|
|
36
36
|
onLiveVoice?: () => void;
|
|
37
37
|
};
|
|
38
38
|
commandsOnly?: boolean;
|
|
39
|
+
simpleMode?: boolean;
|
|
39
40
|
}
|
|
40
41
|
export interface AddMenuPlanControl {
|
|
41
42
|
checked: boolean;
|
|
@@ -43,4 +44,4 @@ export interface AddMenuPlanControl {
|
|
|
43
44
|
disabled?: boolean;
|
|
44
45
|
onToggle: () => void;
|
|
45
46
|
}
|
|
46
|
-
export declare function AddMenu({ disabled, availabilityKey, addFileAvailable, uploadAvailable, onAddFiles, onFilePickerCancel, onInsertReference, onPrependSkill, getWorkspaceActions, skills, onSkillsOpenChange, skillsLoading, skillsLoadError, skillsLoaded, plan, btw, mobileActions, commandsOnly, }: AddMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
export declare function AddMenu({ disabled, availabilityKey, addFileAvailable, uploadAvailable, onAddFiles, onFilePickerCancel, onInsertReference, onPrependSkill, getWorkspaceActions, skills, onSkillsOpenChange, skillsLoading, skillsLoadError, skillsLoaded, plan, btw, mobileActions, commandsOnly, simpleMode, }: AddMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { WebShellWorkspaceDirectoryPicker } from '../../customization';
|
|
1
2
|
import { type WorkspaceExecutionMode } from '../workspaces/WorkspaceExecutionSelect';
|
|
2
3
|
export interface WorkspacePathSuggestion {
|
|
3
4
|
name: string;
|
|
@@ -37,7 +38,7 @@ export interface GitWorkspaceCloneControls {
|
|
|
37
38
|
cancel(jobId: string): Promise<void>;
|
|
38
39
|
}
|
|
39
40
|
interface AddWorkspaceDialogProps {
|
|
40
|
-
/** Overrides the default "Add
|
|
41
|
+
/** Overrides the default "Add workspace" heading. */
|
|
41
42
|
title?: string;
|
|
42
43
|
/** Overrides the default submit label; the in-flight label is unchanged. */
|
|
43
44
|
submitLabel?: string;
|
|
@@ -59,7 +60,10 @@ interface AddWorkspaceDialogProps {
|
|
|
59
60
|
* surfaces matching subdirectories in a listbox under the input.
|
|
60
61
|
*/
|
|
61
62
|
onSuggest?: (prefix: string) => Promise<WorkspacePathSuggestions>;
|
|
62
|
-
onPick?:
|
|
63
|
+
onPick?: WebShellWorkspaceDirectoryPicker;
|
|
64
|
+
/** Stable identity for the current connection/target; replace it to cancel a pick. */
|
|
65
|
+
pickerTarget?: unknown;
|
|
66
|
+
pickerUsesHostUi?: boolean;
|
|
63
67
|
persistenceSupported?: boolean;
|
|
64
68
|
/**
|
|
65
69
|
* Git clone controls. Presence means the connected daemon advertises
|
|
@@ -67,5 +71,5 @@ interface AddWorkspaceDialogProps {
|
|
|
67
71
|
*/
|
|
68
72
|
gitClone?: GitWorkspaceCloneControls;
|
|
69
73
|
}
|
|
70
|
-
export declare function AddWorkspaceDialog({ title, submitLabel, executionMode, onExecutionModeChange, executionModeLocked, browseDirectories, initialPath, pathHint, pathPlaceholder, onClose, onAdd, displayNameEnabled, locations, selectedLocation, onLocationChange, onSuggest, onPick, persistenceSupported, gitClone, }: AddWorkspaceDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
74
|
+
export declare function AddWorkspaceDialog({ title, submitLabel, executionMode, onExecutionModeChange, executionModeLocked, browseDirectories, initialPath, pathHint, pathPlaceholder, onClose, onAdd, displayNameEnabled, locations, selectedLocation, onLocationChange, onSuggest, onPick, pickerTarget, pickerUsesHostUi, persistenceSupported, gitClone, }: AddWorkspaceDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
71
75
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import { type ReactNode, type RefObject } from 'react';
|
|
2
2
|
type DialogSize = 'sm' | 'md' | 'lg' | 'xl' | 'auto';
|
|
3
3
|
interface DialogShellProps {
|
|
4
4
|
title: string;
|
|
@@ -6,10 +6,13 @@ interface DialogShellProps {
|
|
|
6
6
|
size?: DialogSize;
|
|
7
7
|
allowFullscreen?: boolean;
|
|
8
8
|
dismissible?: boolean;
|
|
9
|
+
modal?: boolean;
|
|
10
|
+
modalRestoreFocusRef?: RefObject<HTMLElement | null>;
|
|
11
|
+
'aria-busy'?: boolean;
|
|
9
12
|
onClose: () => void;
|
|
10
13
|
children: ReactNode;
|
|
11
14
|
}
|
|
12
15
|
export declare const DialogShellIdContext: import("react").Context<object | null>;
|
|
13
16
|
export declare function isTopDialogShellId(shellId: object | null): boolean;
|
|
14
|
-
export declare function DialogShell({ title, subtitle, size, allowFullscreen, dismissible, onClose, children, }: DialogShellProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function DialogShell({ title, subtitle, size, allowFullscreen, dismissible, modal, modalRestoreFocusRef, 'aria-busy': ariaBusy, onClose, children, }: DialogShellProps): import("react/jsx-runtime").JSX.Element;
|
|
15
18
|
export {};
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2025 Qwen Team
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import type { DaemonClient } from '@qwen-code/sdk/daemon';
|
|
6
7
|
export interface LanCandidate {
|
|
7
8
|
interfaceName: string;
|
|
8
9
|
address: string;
|
|
@@ -29,4 +30,4 @@ export declare class LocalControlRequestError extends Error {
|
|
|
29
30
|
readonly status?: number | undefined;
|
|
30
31
|
constructor(message: string, payload?: LocalControlStatus | undefined, status?: number | undefined);
|
|
31
32
|
}
|
|
32
|
-
export declare function requestLocalControl(baseUrl: string, token: string | undefined, method: 'GET' | 'POST', path: string, body?: object): Promise<LocalControlStatus>;
|
|
33
|
+
export declare function requestLocalControl(baseUrl: string, token: string | undefined, method: 'GET' | 'POST', path: string, body?: object, client?: DaemonClient): Promise<LocalControlStatus>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ManagedAgentProvider, ManagedSessionWorktree } from './managed-agent-provider';
|
|
2
|
+
export declare function ManagedWorktreeStatus({ worktree, compact, }: {
|
|
3
|
+
worktree: ManagedSessionWorktree;
|
|
4
|
+
compact?: boolean;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function ManagedSessionWorktrees({ provider, clientId, workspaceId, open, onOpenChange, }: {
|
|
7
|
+
provider: Pick<ManagedAgentProvider, 'storageKey' | 'sessionWorktrees'>;
|
|
8
|
+
clientId: string;
|
|
9
|
+
workspaceId: string;
|
|
10
|
+
open: boolean;
|
|
11
|
+
onOpenChange: (open: boolean) => void;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function ManagedWorktreePopover({ worktree, currentBranch, open, onOpenChange, disabled, onWorktreeChange, onManage, }: {
|
|
2
|
+
worktree: boolean;
|
|
3
|
+
currentBranch?: string | null;
|
|
4
|
+
open: boolean;
|
|
5
|
+
onOpenChange: (value: boolean) => void;
|
|
6
|
+
disabled: boolean;
|
|
7
|
+
onWorktreeChange: (value: boolean) => void;
|
|
8
|
+
onManage: () => void;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|