@qwen-code/web-shell 0.25.4-preview.0 → 0.26.0-nightly.20261022.bf66a26c97
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 +82 -34
- package/dist/{PierreFilePreview-vbxsbBX2.js → PierreFilePreview-4cB4L1-g.js} +1 -1
- package/dist/{SpreadsheetPreview-yFPFfgME.js → SpreadsheetPreview-DGbGBaEF.js} +2 -2
- package/dist/{WorkspaceFileBrowser-DGQbVeSD.js → WorkspaceFileBrowser-B5XfnDl5.js} +1008 -1041
- package/dist/{agents-route-D6wGe0cs.js → agents-route-hl7LLKgC.js} +2 -2
- package/dist/daemon-react-sdk.js +1 -1
- package/dist/{index-ChD_Ub2E.js → index-OJ6CsSGD.js} +63040 -58550
- package/dist/index.js +3 -3
- package/dist/sw.js +1 -1
- package/dist/transcript.js +7992 -8072
- package/dist/types/App.d.ts +6 -1
- package/dist/types/ManagedStandaloneApp.d.ts +9 -0
- package/dist/types/components/ChatEditor.d.ts +8 -2
- package/dist/types/components/ChatPane.d.ts +4 -1
- package/dist/types/components/ContextCompressionFeedback.d.ts +2 -2
- package/dist/types/components/ContextUsagePopover.d.ts +2 -2
- package/dist/types/components/ModelRefreshControl.d.ts +3 -0
- package/dist/types/components/SessionPrBadge.d.ts +7 -2
- package/dist/types/components/SplitView.d.ts +4 -1
- package/dist/types/components/UnavailableModelTooltip.d.ts +12 -0
- package/dist/types/components/WorkspaceSelector.d.ts +3 -1
- package/dist/types/components/artifacts/ArtifactPanel.d.ts +4 -1
- package/dist/types/components/artifacts/SideTaskPanel.d.ts +4 -1
- package/dist/types/components/artifacts/TrajectoryDetail.d.ts +34 -0
- package/dist/types/components/artifacts/TrajectoryExecutions.d.ts +6 -8
- package/dist/types/components/artifacts/TrajectoryOverview.d.ts +2 -0
- package/dist/types/components/artifacts/TrajectorySummaryBar.d.ts +35 -0
- package/dist/types/components/artifacts/TrajectoryToolbar.d.ts +24 -0
- package/dist/types/components/artifacts/TurnCallsPanel.d.ts +5 -0
- package/dist/types/components/artifacts/tool-call-content.d.ts +34 -0
- package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +5 -1
- package/dist/types/components/dialogs/SessionRenameDialog.d.ts +10 -0
- package/dist/types/components/dialogs/WorkspaceAddStatusDialog.d.ts +3 -1
- package/dist/types/components/managed/ManagedChildSessionView.d.ts +8 -0
- package/dist/types/components/managed/ManagedMcpManagerPage.d.ts +8 -0
- package/dist/types/components/managed/ManagedRecoveryPanel.d.ts +9 -0
- package/dist/types/components/managed/ManagedSessionActions.d.ts +18 -0
- package/dist/types/components/managed/ManagedSessionsPage.d.ts +20 -3
- package/dist/types/components/managed/ManagedTaskPanel.d.ts +3 -1
- package/dist/types/components/managed/ManagedWorkspaceNavigation.d.ts +16 -0
- package/dist/types/components/managed/WorkspaceBindingCreator.d.ts +17 -2
- package/dist/types/components/managed/generated/managed-agent-api.d.ts +807 -68
- package/dist/types/components/managed/java-managed-agent-client.d.ts +70 -0
- package/dist/types/components/managed/java-managed-agent-provider.d.ts +2 -5
- package/dist/types/components/managed/managed-agent-provider.d.ts +95 -7
- package/dist/types/components/managed/managed-creation-skills.d.ts +7 -0
- package/dist/types/components/managed/managed-lifecycle-messages.d.ts +80 -0
- package/dist/types/components/managed/managed-lifecycle-messages.transcript-stub.d.ts +2 -0
- package/dist/types/components/managed/managed-mcp-command-storage.d.ts +16 -0
- package/dist/types/components/managed/managed-mcp-management-types.d.ts +8 -0
- package/dist/types/components/managed/managed-mcp-messages.d.ts +4 -0
- package/dist/types/components/managed/managed-mcp-messages.transcript-stub.d.ts +2 -0
- package/dist/types/components/managed/managed-recovery-handoff.d.ts +17 -0
- package/dist/types/components/managed/managed-recovery-messages.d.ts +31 -0
- package/dist/types/components/managed/managed-session-export.d.ts +21 -0
- package/dist/types/components/managed/use-managed-actions.d.ts +2 -1
- package/dist/types/components/managed/use-managed-context-compression.d.ts +23 -0
- package/dist/types/components/managed/use-managed-mcp-management.d.ts +25 -0
- package/dist/types/components/managed/use-managed-mcp.d.ts +3 -0
- package/dist/types/components/managed/use-managed-recovery.d.ts +14 -0
- package/dist/types/components/managed/use-managed-session-lifecycle.d.ts +26 -0
- package/dist/types/components/managed/use-managed-session-rename.d.ts +13 -0
- package/dist/types/components/managed/use-managed-session.d.ts +1 -0
- package/dist/types/components/managed/use-managed-skills.d.ts +9 -2
- package/dist/types/components/managed/use-managed-tasks.d.ts +3 -0
- package/dist/types/components/managed/use-managed-turn-cancel.d.ts +9 -0
- package/dist/types/components/mcp/McpDetails.d.ts +30 -0
- package/dist/types/components/messages/McpApp.d.ts +4 -0
- package/dist/types/components/plugins/PluginManagerPage.d.ts +8 -1
- package/dist/types/components/sidebar/WebShellSidebar.d.ts +5 -1
- package/dist/types/components/sidebar/WorkspaceSection.d.ts +2 -1
- package/dist/types/components/ui/tabs.d.ts +1 -1
- package/dist/types/components/workspaces/WorkspaceExecutionSelect.d.ts +6 -0
- package/dist/types/daemon/index.d.ts +1 -1
- package/dist/types/daemon/workspace/index.d.ts +1 -1
- package/dist/types/daemon/workspace/types.d.ts +19 -0
- package/dist/types/daemon-react-sdk.d.ts +2 -0
- package/dist/types/desktop-relay/desktop-relay-client.d.ts +1 -1
- package/dist/types/hooks/useContextUsageControls.d.ts +8 -3
- package/dist/types/index.d.ts +1 -0
- package/dist/types/main.d.ts +3 -1
- package/dist/types/mcpAppHostContext.d.ts +10 -1
- package/dist/types/settings.d.ts +1 -0
- package/dist/types/trajectory/summarizeTrajectory.d.ts +5 -0
- package/dist/types/trajectory/trajectory-status.d.ts +51 -0
- package/dist/types/trajectory/useTrajectoryWindow.d.ts +2 -0
- package/dist/types/unavailableModels.d.ts +24 -0
- package/dist/types/utils/composerModels.d.ts +18 -0
- package/dist/{useDaemonMidTurnInjected-CfhBFIym.js → useDaemonMidTurnInjected-TnZPRjfx.js} +4256 -4021
- package/package.json +1 -1
- package/dist/types/components/artifacts/TrajectoryFilters.d.ts +0 -15
- package/dist/types/components/artifacts/TrajectoryInspector.d.ts +0 -25
package/dist/types/App.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type WebShellModelManagementOptions } from './modelManagement';
|
|
2
|
+
import type { WebShellUnavailableModel, WebShellUnavailableModelTooltipMount } from './unavailableModels';
|
|
2
3
|
import './styles/globals.css';
|
|
3
4
|
import { type WebShellMessageNavigationRequest, type WebShellMessageNavigationResult } from './hooks/useMessageNavigation';
|
|
4
5
|
import { type DaemonProductSessionContext, type DaemonStreamingState } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
@@ -104,6 +105,10 @@ export interface WebShellProps {
|
|
|
104
105
|
settings?: WebShellSettingsOptions;
|
|
105
106
|
/** Model add/delete interactions across WebShell. Not a backend permission policy. */
|
|
106
107
|
modelManagement?: WebShellModelManagementOptions;
|
|
108
|
+
/** Extra catalog models shown disabled in the composer picker. */
|
|
109
|
+
unavailableModels?: readonly WebShellUnavailableModel[];
|
|
110
|
+
/** Host-owned hint for a disabled model. DOM/Solid hosts mount into the container. */
|
|
111
|
+
mountUnavailableModelTooltip?: WebShellUnavailableModelTooltipMount;
|
|
107
112
|
/** Host-specific label for the Ask User Question free-text choice. */
|
|
108
113
|
askUserFreeTextLabel?: string;
|
|
109
114
|
/** Called whenever the attached daemon session or workspace changes. */
|
|
@@ -450,4 +455,4 @@ export declare function canArchiveSideTaskSummary(session: Pick<DaemonSessionSum
|
|
|
450
455
|
export declare function mergeSideTaskCatalog(catalog: SideTaskCatalogState, parentSessionId: string, listedItems: SideTaskListItem[], optimisticIds: ReadonlySet<string>): SideTaskCatalogState;
|
|
451
456
|
export declare function getEnvironmentAgentTasks(messages: readonly Message[], sessionTasks: readonly DaemonSessionTaskWithWorkflowStatus[]): EnvironmentAgentTask[];
|
|
452
457
|
export declare function mergeAgentTrace(liveAgents: readonly EnvironmentAgentTask[], trace: DaemonAgentTrace | undefined, now?: number): EnvironmentAgentTask[];
|
|
453
|
-
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, 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;
|
|
458
|
+
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;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { ManagedAgentProvider } from './components/managed/managed-agent-provider';
|
|
3
|
+
import type { WebShellLanguage } from './i18n';
|
|
4
|
+
export declare function hasManagedAppMarker(): boolean;
|
|
5
|
+
export declare function ManagedStandaloneApp({ daemonToken, language, children, }: {
|
|
6
|
+
daemonToken?: string;
|
|
7
|
+
language?: WebShellLanguage;
|
|
8
|
+
children: (provider: ManagedAgentProvider) => ReactNode;
|
|
9
|
+
}): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ModelRefreshState } from './ModelRefreshControl';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
2
3
|
import type { CommandInfo } from '../adapters/types';
|
|
3
4
|
import type { AtMentionWorkspaceActions } from '../hooks/useAtMentionSources';
|
|
4
5
|
import type { AttachmentPreviewRequest } from '../adapters/messageTypes';
|
|
@@ -9,7 +10,8 @@ import type { SkillInfo } from '../completions/slashCompletion';
|
|
|
9
10
|
import type { DaemonReasoningControls } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
10
11
|
import { type WebShellComposerInput, type WebShellComposerTagIconMap, type WebShellAtProvider, type WebShellBuiltinAtProvidersConfig } from '../customization';
|
|
11
12
|
import { type ComposerSubmitMetadata, type EditorHandle } from '../hooks/useComposerCore';
|
|
12
|
-
import type {
|
|
13
|
+
import type { ContextCompressionControls } from '../hooks/useContextUsageControls';
|
|
14
|
+
import type { WebShellUnavailableModel, WebShellUnavailableModelTooltipMount } from '../unavailableModels';
|
|
13
15
|
import type { VoiceStatusRevision, VoiceWorkspaceTarget } from '../voice/voice-workspace-target';
|
|
14
16
|
import { type SessionGitIntent } from './GitModePopover';
|
|
15
17
|
import { type WorkspaceSelectorOption } from './WorkspaceSelector';
|
|
@@ -44,6 +46,7 @@ interface ChatEditorProps {
|
|
|
44
46
|
availableModes?: readonly string[];
|
|
45
47
|
planMode?: boolean;
|
|
46
48
|
modeControlsDisabled?: boolean;
|
|
49
|
+
planControlsDisabled?: boolean;
|
|
47
50
|
onTogglePlan?: () => void;
|
|
48
51
|
sessionWorkflowEnabled?: boolean;
|
|
49
52
|
currentModel?: string;
|
|
@@ -99,12 +102,14 @@ interface ChatEditorProps {
|
|
|
99
102
|
/** Show the context-usage breakdown, exactly like typing /context. */
|
|
100
103
|
onShowContextUsage?: () => void;
|
|
101
104
|
onOpenContextUsage?: () => void;
|
|
102
|
-
contextUsageControls?:
|
|
105
|
+
contextUsageControls?: ContextCompressionControls;
|
|
103
106
|
modelRefresh?: ModelRefreshState;
|
|
104
107
|
availableModels?: Array<{
|
|
105
108
|
id: string;
|
|
106
109
|
label?: string;
|
|
107
110
|
}>;
|
|
111
|
+
unavailableModels?: readonly WebShellUnavailableModel[];
|
|
112
|
+
mountUnavailableModelTooltip?: WebShellUnavailableModelTooltipMount;
|
|
108
113
|
onSelectMode?: (mode: string) => void;
|
|
109
114
|
onSelectModel?: (model: string) => void;
|
|
110
115
|
reasoning?: DaemonReasoningControls;
|
|
@@ -113,6 +118,7 @@ interface ChatEditorProps {
|
|
|
113
118
|
selectedWorkspaceCwd?: string;
|
|
114
119
|
workspaceSelectionDisabled?: boolean;
|
|
115
120
|
workspaceSelectorAlwaysVisible?: boolean;
|
|
121
|
+
workspaceMenuItems?: ReactNode;
|
|
116
122
|
onSelectWorkspace?: (workspaceCwd: string | undefined) => void;
|
|
117
123
|
/** Host-aware variant; see WorkspaceSelector. */
|
|
118
124
|
onSelectHostedWorkspace?: (hostOrigin: string, workspaceCwd: string | undefined) => void;
|
|
@@ -7,6 +7,7 @@ import { type ReactNode } from 'react';
|
|
|
7
7
|
import { type DaemonSessionActions } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
8
8
|
import { type DaemonSessionArtifact, type DaemonSessionMonitorTaskStatus, type DaemonSessionSummary, type DaemonWorkspaceCapability } from '@qwen-code/sdk/daemon';
|
|
9
9
|
import { type WebShellModelManagementOptions } from '../modelManagement';
|
|
10
|
+
import type { WebShellUnavailableModel, WebShellUnavailableModelTooltipMount } from '../unavailableModels';
|
|
10
11
|
import { type RegisterContextUsageControls } from '../hooks/useContextUsageControls';
|
|
11
12
|
import type { WebShellSlashCommandHandler } from '../App';
|
|
12
13
|
import type { TurnOutputKind, TurnOutputOpenRequest } from './artifacts/TurnOutputs';
|
|
@@ -64,6 +65,8 @@ export interface ChatPaneProps {
|
|
|
64
65
|
/** Host slash-command callback shared with the main chat composer. */
|
|
65
66
|
onSlashCommand?: WebShellSlashCommandHandler;
|
|
66
67
|
modelManagement?: WebShellModelManagementOptions;
|
|
68
|
+
unavailableModels?: readonly WebShellUnavailableModel[];
|
|
69
|
+
mountUnavailableModelTooltip?: WebShellUnavailableModelTooltipMount;
|
|
67
70
|
onOpenGoals?: () => void;
|
|
68
71
|
onRightPanelOpen?: (request: TurnOutputOpenRequest) => void;
|
|
69
72
|
onOpenMonitor?: (task: DaemonSessionMonitorTaskStatus, sessionId: string, sessionActions: DaemonSessionActions) => void;
|
|
@@ -93,4 +96,4 @@ export interface ChatPaneProps {
|
|
|
93
96
|
* state, approvals, and composer, and the browser scopes keyboard focus to the
|
|
94
97
|
* pane the user clicks into — so there is no cross-pane approval arbitration.
|
|
95
98
|
*/
|
|
96
|
-
export declare function ChatPane({ title, sessionSummary, isActive, onApprovalChange, workspaceCwd, renderHeaderActions, onClose, onToggleMaximize, isMaximized, onError, onImageIngestionNotice, onSlashCommand, modelManagement, onOpenGoals, onRightPanelOpen, onOpenMonitor, onPaneArtifactsChange, registerContextUsageControls, onBeforeContextCompress, onOpenContextUsage, messageTurnOutputs, embedded, onFirstPromptAdmitted, reportCatalogTurnCompletion, hidden, voiceUserRevision, voiceWorkspaceRevisions, voiceWorkspaces, sessionWorkflowEnabled, showResponseTokensPerSecond, planControlVisible, }: ChatPaneProps): import("react/jsx-runtime").JSX.Element;
|
|
99
|
+
export declare function ChatPane({ title, sessionSummary, isActive, onApprovalChange, workspaceCwd, renderHeaderActions, onClose, onToggleMaximize, isMaximized, onError, onImageIngestionNotice, onSlashCommand, modelManagement, unavailableModels, mountUnavailableModelTooltip, onOpenGoals, onRightPanelOpen, onOpenMonitor, onPaneArtifactsChange, registerContextUsageControls, onBeforeContextCompress, onOpenContextUsage, messageTurnOutputs, embedded, onFirstPromptAdmitted, reportCatalogTurnCompletion, hidden, voiceUserRevision, voiceWorkspaceRevisions, voiceWorkspaces, sessionWorkflowEnabled, showResponseTokensPerSecond, planControlVisible, }: ChatPaneProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ContextCompressionControls } from '../hooks/useContextUsageControls';
|
|
2
2
|
export declare function ContextCompressionFeedback({ controls, className, }: {
|
|
3
|
-
controls?: Pick<
|
|
3
|
+
controls?: Pick<ContextCompressionControls, 'compressing' | 'result'>;
|
|
4
4
|
className?: string;
|
|
5
5
|
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type ReactElement } from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ContextCompressionControls } from '../hooks/useContextUsageControls';
|
|
3
3
|
export declare function ContextUsagePopover({ tokenCount, contextWindow, known: observedKnown, controls, onOpenDetails, showSnapshotHint, children, }: {
|
|
4
4
|
tokenCount: number;
|
|
5
5
|
contextWindow: number;
|
|
6
6
|
known?: boolean;
|
|
7
|
-
controls?:
|
|
7
|
+
controls?: ContextCompressionControls;
|
|
8
8
|
onOpenDetails?: () => void;
|
|
9
9
|
showSnapshotHint: boolean;
|
|
10
10
|
children: ReactElement;
|
|
@@ -3,3 +3,6 @@ export type ModelRefreshState = ReturnType<typeof useModelRefresh>;
|
|
|
3
3
|
export declare function ModelRefreshControl({ state }: {
|
|
4
4
|
state?: ModelRefreshState;
|
|
5
5
|
}): import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
export declare function ModelRefreshError({ state }: {
|
|
7
|
+
state?: ModelRefreshState;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -13,12 +13,17 @@ interface SessionPrBadgeProps {
|
|
|
13
13
|
*/
|
|
14
14
|
tabIndex?: number;
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* The bound PRs the badge can open. Non-http(s) bindings are filtered out as
|
|
18
|
+
* a defense-in-depth measure on top of the daemon-side validators; callers
|
|
19
|
+
* that lay out around the badge use this to know whether it renders.
|
|
20
|
+
*/
|
|
21
|
+
export declare function openableSessionPrs(prs: DaemonSessionPrInfo[]): DaemonSessionPrInfo[];
|
|
16
22
|
/**
|
|
17
23
|
* The `#N (+M)` pull-request badge shared by the sidebar session row, the
|
|
18
24
|
* session overview card, and the picker dialogs. Renders the latest bound
|
|
19
25
|
* PR with an overflow count and opens it through the desktop-aware
|
|
20
|
-
* external-link opener.
|
|
21
|
-
* defense-in-depth measure on top of the daemon-side validators.
|
|
26
|
+
* external-link opener.
|
|
22
27
|
*/
|
|
23
28
|
export declare function SessionPrBadge({ prs, tabIndex }: SessionPrBadgeProps): import("react/jsx-runtime").JSX.Element | null;
|
|
24
29
|
export {};
|
|
@@ -7,6 +7,7 @@ import { type DaemonSessionActions } from '@qwen-code/web-shell/daemon-react-sdk
|
|
|
7
7
|
import type { DaemonSessionArtifact, DaemonSessionMonitorTaskStatus, DaemonWorkspaceCapability } from '@qwen-code/sdk/daemon';
|
|
8
8
|
import type { WebShellSlashCommandHandler } from '../App';
|
|
9
9
|
import type { WebShellModelManagementOptions } from '../modelManagement';
|
|
10
|
+
import type { WebShellUnavailableModel, WebShellUnavailableModelTooltipMount } from '../unavailableModels';
|
|
10
11
|
import type { RegisterContextUsageControls } from '../hooks/useContextUsageControls';
|
|
11
12
|
import { type PaneHeaderActionsRenderer } from './ChatPane';
|
|
12
13
|
import type { TurnOutputKind, TurnOutputOpenRequest } from './artifacts/TurnOutputs';
|
|
@@ -37,6 +38,8 @@ export interface SplitViewProps {
|
|
|
37
38
|
onImageIngestionNotice?: (tone: 'warning' | 'error', message: string) => void;
|
|
38
39
|
onSlashCommand?: WebShellSlashCommandHandler;
|
|
39
40
|
modelManagement?: WebShellModelManagementOptions;
|
|
41
|
+
unavailableModels?: readonly WebShellUnavailableModel[];
|
|
42
|
+
mountUnavailableModelTooltip?: WebShellUnavailableModelTooltipMount;
|
|
40
43
|
onOpenGoals?: () => void;
|
|
41
44
|
onRightPanelOpen?: (request: TurnOutputOpenRequest) => void;
|
|
42
45
|
onOpenMonitor?: (task: DaemonSessionMonitorTaskStatus, sessionId: string, sessionActions: DaemonSessionActions) => void;
|
|
@@ -71,4 +74,4 @@ export interface SplitViewProps {
|
|
|
71
74
|
* naturally scopes the keyboard to the pane the user clicks into, so panes never
|
|
72
75
|
* fight over which session an approval or Enter belongs to.
|
|
73
76
|
*/
|
|
74
|
-
export declare function SplitView({ sessionIds, showSessionDetails, onPanesChange, onAssistantTurnSettled, onPendingPanesChange, onExit, onError, onImageIngestionNotice, onSlashCommand, modelManagement, onOpenGoals, onRightPanelOpen, onOpenMonitor, onPaneArtifactsChange, registerContextUsageControls, onBeforeContextCompress, onOpenContextUsage, messageTurnOutputs, renderPaneHeaderActions, includeOtherWorkspaces, workspaceCwd, restartSseOnPrompt, historyPageSize, voiceUserRevision, voiceWorkspaceRevisions, voiceWorkspaces, sessionWorkflowEnabled, showResponseTokensPerSecond, planControlVisible, }: SplitViewProps): import("react/jsx-runtime").JSX.Element;
|
|
77
|
+
export declare function SplitView({ sessionIds, showSessionDetails, onPanesChange, onAssistantTurnSettled, onPendingPanesChange, onExit, onError, onImageIngestionNotice, onSlashCommand, modelManagement, unavailableModels, mountUnavailableModelTooltip, onOpenGoals, onRightPanelOpen, onOpenMonitor, onPaneArtifactsChange, registerContextUsageControls, onBeforeContextCompress, onOpenContextUsage, messageTurnOutputs, renderPaneHeaderActions, includeOtherWorkspaces, workspaceCwd, restartSseOnPrompt, historyPageSize, voiceUserRevision, voiceWorkspaceRevisions, voiceWorkspaces, sessionWorkflowEnabled, showResponseTokensPerSecond, planControlVisible, }: SplitViewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { type ReactElement } from 'react';
|
|
7
|
+
import type { WebShellUnavailableModel, WebShellUnavailableModelTooltipMount } from '../unavailableModels';
|
|
8
|
+
export declare function UnavailableModelTooltip({ model, mount, children, }: {
|
|
9
|
+
model: WebShellUnavailableModel;
|
|
10
|
+
mount?: WebShellUnavailableModelTooltipMount;
|
|
11
|
+
children: ReactElement;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
1
2
|
export interface WorkspaceSelectorOption {
|
|
2
3
|
id: string;
|
|
3
4
|
cwd: string;
|
|
@@ -13,6 +14,7 @@ interface WorkspaceSelectorProps {
|
|
|
13
14
|
disabled?: boolean;
|
|
14
15
|
busy?: boolean;
|
|
15
16
|
alwaysVisible?: boolean;
|
|
17
|
+
menuItems?: ReactNode;
|
|
16
18
|
scratchSupported: boolean;
|
|
17
19
|
existingFolderSupported: boolean;
|
|
18
20
|
/** Offer a projectless (standalone) target alongside the workspaces. */
|
|
@@ -34,5 +36,5 @@ interface WorkspaceSelectorProps {
|
|
|
34
36
|
* Composer workspace menu. Capability-gated creation actions and disabled
|
|
35
37
|
* untrusted entries keep presentation aligned with daemon authorization.
|
|
36
38
|
*/
|
|
37
|
-
export declare function WorkspaceSelector({ workspaces, selectedWorkspaceCwd, disabled, busy, alwaysVisible, scratchSupported, existingFolderSupported, standaloneSupported, selectedStandalone, className, onSelectWorkspace, onSelectHostedWorkspace, onSelectStandalone, onCreateScratch, onOpenExistingFolder, }: WorkspaceSelectorProps): import("react/jsx-runtime").JSX.Element | null;
|
|
39
|
+
export declare function WorkspaceSelector({ workspaces, selectedWorkspaceCwd, disabled, busy, alwaysVisible, menuItems, scratchSupported, existingFolderSupported, standaloneSupported, selectedStandalone, className, onSelectWorkspace, onSelectHostedWorkspace, onSelectStandalone, onCreateScratch, onOpenExistingFolder, }: WorkspaceSelectorProps): import("react/jsx-runtime").JSX.Element | null;
|
|
38
40
|
export {};
|
|
@@ -5,6 +5,7 @@ import { type DaemonSessionOwnerSnapshot, type DaemonSessionActions } from '@qwe
|
|
|
5
5
|
import { type TurnOutputFileChange, type TurnOutputOpenRequest, type TurnOutputScheduledTask } from './TurnOutputs';
|
|
6
6
|
import type { EnvironmentAgentTask } from '../panels/EnvironmentPanel';
|
|
7
7
|
import type { WebShellModelManagementOptions } from '../../modelManagement';
|
|
8
|
+
import type { WebShellUnavailableModel, WebShellUnavailableModelTooltipMount } from '../../unavailableModels';
|
|
8
9
|
import type { SessionWorkflowProjection } from '../workflow/session-workflow-model';
|
|
9
10
|
import type { WebPreviewState } from '../preview/web-preview';
|
|
10
11
|
import type { TrajectoryPageLoader } from '../../trajectory/useTrajectoryWindow';
|
|
@@ -256,6 +257,8 @@ interface ArtifactPanelProps {
|
|
|
256
257
|
onError?: (error: unknown, fallback: string) => void;
|
|
257
258
|
sessionWorkflowEnabled?: boolean;
|
|
258
259
|
modelManagement?: WebShellModelManagementOptions;
|
|
260
|
+
unavailableModels?: readonly WebShellUnavailableModel[];
|
|
261
|
+
mountUnavailableModelTooltip?: WebShellUnavailableModelTooltipMount;
|
|
259
262
|
workflow?: {
|
|
260
263
|
todos: readonly TodoItem[];
|
|
261
264
|
tools: readonly ACPToolCall[];
|
|
@@ -277,5 +280,5 @@ interface ArtifactPanelProps {
|
|
|
277
280
|
fullscreen?: boolean;
|
|
278
281
|
onToggleFullscreen?: () => void;
|
|
279
282
|
}
|
|
280
|
-
export declare function ArtifactPanel({ contextUsageControls, artifacts, tabs, activeTabId, reviewChanges, selectedReviewPath, panelWidth, workspaceCwd, loading, restoring, error, onSelectTab, onSelectTurnCallsPrompt, onCloseTab, onOpenFilePreview, latestReviewAvailable, onOpenLatestReview, onOpenTerminal, onOpenTrajectory, trajectoryTabId, onOpenFiles, onReferenceFile, onOpenWebPreview, onWebPreviewChange, items, sideTaskAvailable, sideTasks, archivedSideTasks, sideTasksLoading, onCreateSideTask, onOpenSideTask, onArchiveSideTasks, onUnarchiveSideTasks, onSideTaskMenuOpen, onCreateSideTaskSession, onSideTaskCreated, onSideTaskTitleChange, onSideTaskInitialPromptRefused, onNestedRightPanelOpen, onNestedArtifactsChange, onOpenNestedSubagent, agentTasks, agentTraceLoading, agentTraceError, onOpenWorkflowAgent, onError, sessionWorkflowEnabled, modelManagement, workflow, onImageIngestionNotice, deferSubagentMount, onClose, variant, fullscreen, onToggleFullscreen, }: ArtifactPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
283
|
+
export declare function ArtifactPanel({ contextUsageControls, artifacts, tabs, activeTabId, reviewChanges, selectedReviewPath, panelWidth, workspaceCwd, loading, restoring, error, onSelectTab, onSelectTurnCallsPrompt, onCloseTab, onOpenFilePreview, latestReviewAvailable, onOpenLatestReview, onOpenTerminal, onOpenTrajectory, trajectoryTabId, onOpenFiles, onReferenceFile, onOpenWebPreview, onWebPreviewChange, items, sideTaskAvailable, sideTasks, archivedSideTasks, sideTasksLoading, onCreateSideTask, onOpenSideTask, onArchiveSideTasks, onUnarchiveSideTasks, onSideTaskMenuOpen, onCreateSideTaskSession, onSideTaskCreated, onSideTaskTitleChange, onSideTaskInitialPromptRefused, onNestedRightPanelOpen, onNestedArtifactsChange, onOpenNestedSubagent, agentTasks, agentTraceLoading, agentTraceError, onOpenWorkflowAgent, onError, sessionWorkflowEnabled, modelManagement, unavailableModels, mountUnavailableModelTooltip, workflow, onImageIngestionNotice, deferSubagentMount, onClose, variant, fullscreen, onToggleFullscreen, }: ArtifactPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
281
284
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { TurnOutputOpenRequest } from './TurnOutputs';
|
|
2
2
|
import type { DaemonSessionArtifact } from '@qwen-code/sdk/daemon';
|
|
3
3
|
import { type WebShellModelManagementOptions } from '../../modelManagement';
|
|
4
|
+
import type { WebShellUnavailableModel, WebShellUnavailableModelTooltipMount } from '../../unavailableModels';
|
|
4
5
|
interface SideTaskPanelProps {
|
|
5
6
|
tabId: string;
|
|
6
7
|
sessionId?: string;
|
|
@@ -20,9 +21,11 @@ interface SideTaskPanelProps {
|
|
|
20
21
|
onError?: (error: unknown, fallback: string) => void;
|
|
21
22
|
sessionWorkflowEnabled?: boolean;
|
|
22
23
|
modelManagement?: WebShellModelManagementOptions;
|
|
24
|
+
unavailableModels?: readonly WebShellUnavailableModel[];
|
|
25
|
+
mountUnavailableModelTooltip?: WebShellUnavailableModelTooltipMount;
|
|
23
26
|
onImageIngestionNotice?: (tone: 'warning' | 'error', message: string) => void;
|
|
24
27
|
/** Policy refused the stored initial prompt; the parent drops it from the tab. */
|
|
25
28
|
onInitialPromptRefused?: (tabId: string) => void;
|
|
26
29
|
}
|
|
27
|
-
export declare function SideTaskPanel({ tabId, sessionId, parentSessionId, workspaceCwd, title, shouldNameFromFirstPrompt, initialPrompt, createSession, onCreated, onTitleChange, onRightPanelOpen, onArtifactsChange, onError, sessionWorkflowEnabled, modelManagement, onImageIngestionNotice, onInitialPromptRefused, }: SideTaskPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export declare function SideTaskPanel({ tabId, sessionId, parentSessionId, workspaceCwd, title, shouldNameFromFirstPrompt, initialPrompt, createSession, onCreated, onTitleChange, onRightPanelOpen, onArtifactsChange, onError, sessionWorkflowEnabled, modelManagement, unavailableModels, mountUnavailableModelTooltip, onImageIngestionNotice, onInitialPromptRefused, }: SideTaskPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
28
31
|
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { TrajectoryLifecycleEntry } from '../../trajectory/project-trajectory-lifecycle';
|
|
7
|
+
import type { TrajectoryExecutionRow } from '../../trajectory/project-trajectory-executions';
|
|
8
|
+
import type { TrajectoryRow, TrajectoryTurn } from '../../trajectory/types';
|
|
9
|
+
/**
|
|
10
|
+
* Everything recorded about one record, turn or live execution: a header that
|
|
11
|
+
* names it and steps through the list, the measured facts, then its content.
|
|
12
|
+
* Docked it covers the list (`drill-in`); fullscreen it sits beside it.
|
|
13
|
+
*/
|
|
14
|
+
export declare function TrajectoryDetail({ row, turn, lifecycle, execution, onLocateExecution, title, presentation, stale, hiddenByRange, hiddenByCollapse, hiddenByFilter, onClearFilter, onReveal, onClearRange, onClose, onStep, onFocusedUnmount, }: {
|
|
15
|
+
/** For a turn, its prompt; absent when the window cut the turn's head off. */
|
|
16
|
+
row?: TrajectoryRow;
|
|
17
|
+
turn?: TrajectoryTurn;
|
|
18
|
+
lifecycle?: TrajectoryLifecycleEntry;
|
|
19
|
+
execution?: TrajectoryExecutionRow;
|
|
20
|
+
onLocateExecution?: () => void;
|
|
21
|
+
title?: string;
|
|
22
|
+
presentation: 'drill-in' | 'side';
|
|
23
|
+
stale?: boolean;
|
|
24
|
+
hiddenByRange?: boolean;
|
|
25
|
+
hiddenByCollapse?: boolean;
|
|
26
|
+
hiddenByFilter?: boolean;
|
|
27
|
+
onClearFilter?: () => void;
|
|
28
|
+
onReveal?: () => void;
|
|
29
|
+
onClearRange?: () => void;
|
|
30
|
+
onClose: () => void;
|
|
31
|
+
/** Steps to the previous or next record in the list; absent for executions. */
|
|
32
|
+
onStep?: (direction: 1 | -1) => void;
|
|
33
|
+
onFocusedUnmount?: () => void;
|
|
34
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import type { TrajectoryExecutionRow } from '../../trajectory/project-trajectory-executions';
|
|
2
2
|
import type { TrajectoryLifecycleProjection } from '../../trajectory/project-trajectory-lifecycle';
|
|
3
|
-
export declare function TrajectoryExecutions({ rows,
|
|
3
|
+
export declare function TrajectoryExecutions({ rows, selectedKey, onSelect, following, liveStatus, historySnapshot, onPause, onUpdatedChange, onFocusLost, }: {
|
|
4
4
|
rows: readonly TrajectoryExecutionRow[];
|
|
5
|
-
omitted: number;
|
|
6
|
-
incomplete: boolean;
|
|
7
|
-
outsideWindow: number;
|
|
8
5
|
selectedKey?: string;
|
|
9
6
|
onSelect: (key: string) => void;
|
|
10
7
|
following: boolean;
|
|
11
8
|
liveStatus: TrajectoryLifecycleProjection['status'];
|
|
12
9
|
historySnapshot: object | undefined;
|
|
13
10
|
onPause: () => void;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
/** New executions arrived while the reader was not following. */
|
|
12
|
+
onUpdatedChange?: (updated: boolean) => void;
|
|
13
|
+
/** The focused grid went away with nothing of the strip left to take it. */
|
|
14
|
+
onFocusLost?: () => void;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -70,4 +70,6 @@ export declare function formatWindowTime(ms: number, windowMs: number): string;
|
|
|
70
70
|
* milliseconds.
|
|
71
71
|
*/
|
|
72
72
|
export declare function formatClockTime(epochMs: number, windowMs: number, language: string): string;
|
|
73
|
+
/** A point on the axis, as the model's mode names one. */
|
|
74
|
+
export declare function formatTimelinePoint(model: Pick<TimelineModel, 'mode' | 'originMs'> | undefined, ms: number, windowMs: number, language: string): string;
|
|
73
75
|
export declare function TrajectoryOverview({ model, viewportControl, notice, selectedKey, onSelect, describe, range, onRangeChange, onModeChange, }: TrajectoryOverviewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { TrajectorySummary } from '../../trajectory/summarizeTrajectory';
|
|
7
|
+
import { type TrajectoryPillState, type TrajectoryWarning } from '../../trajectory/trajectory-status';
|
|
8
|
+
/** Same rounding as the table: 999,950 tokens already reads as `1.0M`. */
|
|
9
|
+
export declare function compactTokens(value: number): string;
|
|
10
|
+
export interface TrajectoryAboutInfo {
|
|
11
|
+
pages: number;
|
|
12
|
+
searchExcluded: number;
|
|
13
|
+
executionsOmitted: number;
|
|
14
|
+
executionsOutside: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* One line above the strip: what the loaded records add up to, whether the
|
|
18
|
+
* panel is following the session, and anything that needs attention. Every
|
|
19
|
+
* caveat about scope lives behind the About button rather than on screen.
|
|
20
|
+
*/
|
|
21
|
+
export declare function TrajectorySummaryBar({ summary, pill, onPill, warnings, onRetry, onRefresh, onReturnToLatest, canRefresh, history, failuresOn, onToggleFailures, about, }: {
|
|
22
|
+
summary?: TrajectorySummary;
|
|
23
|
+
pill: TrajectoryPillState;
|
|
24
|
+
onPill: () => void;
|
|
25
|
+
warnings: readonly TrajectoryWarning[];
|
|
26
|
+
onRetry: () => void;
|
|
27
|
+
onRefresh: () => void;
|
|
28
|
+
onReturnToLatest: () => void;
|
|
29
|
+
canRefresh: boolean;
|
|
30
|
+
/** An earlier window is on screen: a refresh would leave it for the latest. */
|
|
31
|
+
history: boolean;
|
|
32
|
+
failuresOn: boolean;
|
|
33
|
+
onToggleFailures: () => void;
|
|
34
|
+
about: TrajectoryAboutInfo;
|
|
35
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { TrajectoryFilter } from '../../trajectory/filterTrajectory';
|
|
7
|
+
/**
|
|
8
|
+
* Search, the type and status facets, and the selected time range, in one
|
|
9
|
+
* row. Matching rules live in `filterTrajectory`; this only edits the filter.
|
|
10
|
+
*/
|
|
11
|
+
export declare function TrajectoryToolbar({ value, onChange, onNavigate, onClear, count, position, truncatedCount, range, onClearRange, status, }: {
|
|
12
|
+
value: TrajectoryFilter;
|
|
13
|
+
onChange: (filter: TrajectoryFilter) => void;
|
|
14
|
+
onNavigate: (direction: 1 | -1, filter?: TrajectoryFilter) => void;
|
|
15
|
+
onClear: () => void;
|
|
16
|
+
count: number;
|
|
17
|
+
position: number;
|
|
18
|
+
truncatedCount: number;
|
|
19
|
+
/** Label of the selected time range, when there is one. */
|
|
20
|
+
range?: string;
|
|
21
|
+
onClearRange: () => void;
|
|
22
|
+
/** How many records the current filters leave visible; announced only. */
|
|
23
|
+
status?: string;
|
|
24
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,6 +2,11 @@ import type { DaemonToolTranscriptBlock, DaemonTranscriptBlock } from '@qwen-cod
|
|
|
2
2
|
import type { ACPToolCall } from '../../adapters/types';
|
|
3
3
|
import type { TurnOutputOpenRequest } from './TurnOutputs';
|
|
4
4
|
import { type OpenTurnCalls } from '../../turnCallsContext';
|
|
5
|
+
/**
|
|
6
|
+
* Strong ceiling for a single expanded field. Tool arguments and results can be
|
|
7
|
+
* arbitrarily large; the panel keeps them readable instead of letting a
|
|
8
|
+
* multi-megabyte payload reach the DOM.
|
|
9
|
+
*/
|
|
5
10
|
export interface TurnCallRow {
|
|
6
11
|
block: DaemonToolTranscriptBlock;
|
|
7
12
|
/** 0 for a top-level call, 1 for a call made by a sub-agent, and so on. */
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { DaemonToolTranscriptBlock } from '@qwen-code/sdk/daemon';
|
|
7
|
+
import type { ACPToolCall } from '../../adapters/types';
|
|
8
|
+
/** The longest stretch of one argument or result put in the DOM by default. */
|
|
9
|
+
export declare const MAX_DETAIL_LENGTH = 4000;
|
|
10
|
+
export declare function stringifyValue(value: unknown): string;
|
|
11
|
+
/** Valid JSON renders as a code block; anything else stays plain text. */
|
|
12
|
+
export declare function ToolCallDetail({ text, limit, }: {
|
|
13
|
+
text: string;
|
|
14
|
+
limit?: number;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function shellDetails(tool: ACPToolCall): {
|
|
17
|
+
command: string;
|
|
18
|
+
output: string;
|
|
19
|
+
other: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* What a tool call's arguments and result read as: a shell call as its command
|
|
23
|
+
* and output, an edit or write as its diff, anything else as recorded.
|
|
24
|
+
*/
|
|
25
|
+
export declare function toolCallContent(tool: ACPToolCall, block: Pick<DaemonToolTranscriptBlock, 'rawInput' | 'rawOutput' | 'content'>): {
|
|
26
|
+
diff: string;
|
|
27
|
+
shell: {
|
|
28
|
+
command: string;
|
|
29
|
+
output: string;
|
|
30
|
+
other: string;
|
|
31
|
+
} | undefined;
|
|
32
|
+
argumentsText: string;
|
|
33
|
+
resultText: string;
|
|
34
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type WorkspaceExecutionMode } from '../workspaces/WorkspaceExecutionSelect';
|
|
1
2
|
export interface WorkspacePathSuggestion {
|
|
2
3
|
name: string;
|
|
3
4
|
path: string;
|
|
@@ -14,6 +15,9 @@ export interface WorkspaceLocationOption {
|
|
|
14
15
|
remote: boolean;
|
|
15
16
|
}
|
|
16
17
|
interface AddWorkspaceDialogProps {
|
|
18
|
+
executionMode?: WorkspaceExecutionMode;
|
|
19
|
+
onExecutionModeChange?: (mode: WorkspaceExecutionMode) => void;
|
|
20
|
+
executionModeLocked?: boolean;
|
|
17
21
|
browseDirectories?: boolean;
|
|
18
22
|
initialPath?: string;
|
|
19
23
|
pathHint?: string;
|
|
@@ -32,5 +36,5 @@ interface AddWorkspaceDialogProps {
|
|
|
32
36
|
onPick?: () => Promise<string | undefined>;
|
|
33
37
|
persistenceSupported?: boolean;
|
|
34
38
|
}
|
|
35
|
-
export declare function AddWorkspaceDialog({ browseDirectories, initialPath, pathHint, pathPlaceholder, onClose, onAdd, displayNameEnabled, locations, selectedLocation, onLocationChange, onSuggest, onPick, persistenceSupported, }: AddWorkspaceDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export declare function AddWorkspaceDialog({ executionMode, onExecutionModeChange, executionModeLocked, browseDirectories, initialPath, pathHint, pathPlaceholder, onClose, onAdd, displayNameEnabled, locations, selectedLocation, onLocationChange, onSuggest, onPick, persistenceSupported, }: AddWorkspaceDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
36
40
|
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface SessionRenameDialogProps {
|
|
2
|
+
value: string;
|
|
3
|
+
busy: boolean;
|
|
4
|
+
error?: string;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
onSubmit: (displayName: string) => void;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function SessionRenameDialog({ value, busy, error, onChange, onSubmit, onClose, }: SessionRenameDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
1
2
|
/**
|
|
2
3
|
* The folder step before it can show folders: the daemon's capabilities are
|
|
3
4
|
* still loading, the lookup failed, or the daemon cannot register workspaces at
|
|
4
5
|
* all. One shell for all three, so the states cannot overlap or leave a gap.
|
|
5
6
|
*/
|
|
6
|
-
export declare function WorkspaceAddStatusDialog({ message, tone, subtitle, onClose, }: {
|
|
7
|
+
export declare function WorkspaceAddStatusDialog({ message, tone, subtitle, onClose, children, }: {
|
|
7
8
|
message: string;
|
|
8
9
|
tone: 'status' | 'alert';
|
|
9
10
|
subtitle?: string;
|
|
10
11
|
onClose: () => void;
|
|
12
|
+
children?: ReactNode;
|
|
11
13
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ManagedAgentProvider } from './managed-agent-provider';
|
|
2
|
+
export declare function ManagedChildSessionView({ provider, clientId, sessionId, onClose, restoreFocus, }: {
|
|
3
|
+
provider: ManagedAgentProvider;
|
|
4
|
+
clientId: string;
|
|
5
|
+
sessionId: string;
|
|
6
|
+
onClose(): void;
|
|
7
|
+
restoreFocus(): void;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ManagedAgentProvider } from './managed-agent-provider';
|
|
2
|
+
export interface ManagedMcpManagerPageProps {
|
|
3
|
+
provider: ManagedAgentProvider;
|
|
4
|
+
sessionId?: string;
|
|
5
|
+
workspaceId?: string;
|
|
6
|
+
onClose?: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function ManagedMcpManagerPage(props: ManagedMcpManagerPageProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ManagedSessionRecovery } from './managed-agent-provider';
|
|
2
|
+
export declare function ManagedRecoveryPanel({ recovery, busy, error, onRecheck, onCancel, onHandoff, }: {
|
|
3
|
+
recovery: ManagedSessionRecovery;
|
|
4
|
+
busy: boolean;
|
|
5
|
+
error?: string;
|
|
6
|
+
onRecheck: () => void;
|
|
7
|
+
onCancel?: () => void;
|
|
8
|
+
onHandoff?: () => void;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ManagedAgentSessionSummary, ManagedLifecycleAction } from './managed-agent-provider';
|
|
2
|
+
import type { ManagedLifecycleState } from './use-managed-session-lifecycle';
|
|
3
|
+
export declare function managedSessionActions(session: ManagedAgentSessionSummary): ManagedLifecycleAction[];
|
|
4
|
+
export declare function ManagedSessionActions({ session, lifecycle, exporting, state, onAction, onExport, onConfirm, }: {
|
|
5
|
+
session: ManagedAgentSessionSummary;
|
|
6
|
+
lifecycle: boolean;
|
|
7
|
+
exporting?: boolean;
|
|
8
|
+
state?: ManagedLifecycleState;
|
|
9
|
+
onAction: (session: ManagedAgentSessionSummary, action: ManagedLifecycleAction) => void;
|
|
10
|
+
onExport?: (sessionId: string, format: 'html' | 'md') => void;
|
|
11
|
+
onConfirm: (sessionId: string) => void;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
13
|
+
export declare function ManagedLifecycleConfirmation({ session, action, onConfirm, onClose, }: {
|
|
14
|
+
session: ManagedAgentSessionSummary;
|
|
15
|
+
action: ManagedLifecycleAction;
|
|
16
|
+
onConfirm: () => void;
|
|
17
|
+
onClose: () => void;
|
|
18
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,27 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { WorkspaceSelectorOption } from '../WorkspaceSelector';
|
|
2
|
+
import type { ManagedCreationSkillsSource } from './managed-creation-skills';
|
|
3
|
+
import type { ManagedAgentProvider, ManagedAgentWorkspace } from './managed-agent-provider';
|
|
4
|
+
export declare function ManagedSessionsPage({ sessionId, workspaceCreationOpen, onWorkspaceCreationOpenChange, onWorkspaceCreated, onOpenLocalWorkspace, daemonWorkspaces, onSelectDaemonWorkspace, onWorkspacesChange, onSelectSession, onOpenSession, workspaceId, onSelectWorkspace, onSessionWorkspaceChange, workspaceCwd, managedAgentProvider, navigationTarget, interactive, creationSkills, onManageSkills, navigationActive, navigationSearch, }: {
|
|
3
5
|
sessionId?: string;
|
|
4
|
-
|
|
6
|
+
workspaceCreationOpen?: boolean;
|
|
7
|
+
onWorkspaceCreationOpenChange?: (open: boolean) => void;
|
|
8
|
+
onWorkspaceCreated?: (workspaceId: string) => void;
|
|
9
|
+
onOpenLocalWorkspace?: () => void;
|
|
10
|
+
daemonWorkspaces?: WorkspaceSelectorOption[];
|
|
11
|
+
onSelectDaemonWorkspace?: (workspace: WorkspaceSelectorOption) => void;
|
|
12
|
+
onWorkspacesChange?: (workspaces: ManagedAgentWorkspace[]) => void;
|
|
13
|
+
onSelectSession: (sessionId: string | undefined, workspaceId?: string) => void;
|
|
14
|
+
onOpenSession?: (sessionId: string, workspaceId?: string) => void;
|
|
15
|
+
workspaceId?: string;
|
|
16
|
+
onSelectWorkspace?: (workspaceId: string) => void;
|
|
17
|
+
onSessionWorkspaceChange?: (workspaceId: string | null) => void;
|
|
5
18
|
workspaceCwd?: string;
|
|
6
19
|
managedAgentProvider?: ManagedAgentProvider;
|
|
7
20
|
/** Null keeps home layout while its sidebar slot is temporarily unmounted. */
|
|
8
21
|
navigationTarget?: HTMLElement | null;
|
|
9
22
|
interactive?: boolean;
|
|
23
|
+
creationSkills?: ManagedCreationSkillsSource;
|
|
24
|
+
onManageSkills?: () => void;
|
|
25
|
+
navigationActive?: boolean;
|
|
26
|
+
navigationSearch?: string;
|
|
10
27
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,7 +2,7 @@ import type { ManagedToolResultReader } from './managed-tool-result-types';
|
|
|
2
2
|
import type { useManagedTasks } from './use-managed-tasks';
|
|
3
3
|
import type { ManagedTaskCancelState, useManagedTaskCancel } from './use-managed-task-cancel';
|
|
4
4
|
export declare function taskCancelMessage(state: ManagedTaskCancelState): string;
|
|
5
|
-
export declare function ManagedTaskPanel({ wide, tasks, cancel, canCancel, reader, clientId, sessionId, onClose, restoreFocus, }: {
|
|
5
|
+
export declare function ManagedTaskPanel({ wide, tasks, cancel, canCancel, reader, clientId, sessionId, onClose, restoreFocus, waitingSessions, onOpenChild, }: {
|
|
6
6
|
wide: boolean;
|
|
7
7
|
tasks: ReturnType<typeof useManagedTasks>;
|
|
8
8
|
cancel: ReturnType<typeof useManagedTaskCancel>;
|
|
@@ -12,4 +12,6 @@ export declare function ManagedTaskPanel({ wide, tasks, cancel, canCancel, reade
|
|
|
12
12
|
sessionId: string;
|
|
13
13
|
onClose: () => void;
|
|
14
14
|
restoreFocus: () => void;
|
|
15
|
+
waitingSessions?: ReadonlySet<string>;
|
|
16
|
+
onOpenChild?: (sessionId: string) => void;
|
|
15
17
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { ManagedAgentProvider, ManagedAgentSessionSummary, ManagedAgentWorkspace } from './managed-agent-provider';
|
|
3
|
+
export declare function ManagedWorkspaceNavigation({ provider, clientId, sessions, sessionId, workspaceId, active, search, revision, onSelectWorkspace, onSelectSession, onWorkspacesChange, renderSessionActions, }: {
|
|
4
|
+
provider: ManagedAgentProvider;
|
|
5
|
+
clientId: string;
|
|
6
|
+
sessions: ManagedAgentSessionSummary[];
|
|
7
|
+
sessionId?: string;
|
|
8
|
+
workspaceId?: string;
|
|
9
|
+
active: boolean;
|
|
10
|
+
search: string;
|
|
11
|
+
revision: number;
|
|
12
|
+
onSelectWorkspace?: (workspaceId: string) => void;
|
|
13
|
+
onSelectSession: (sessionId: string, workspaceId?: string) => void;
|
|
14
|
+
onWorkspacesChange?: (workspaces: ManagedAgentWorkspace[]) => void;
|
|
15
|
+
renderSessionActions?: (session: ManagedAgentSessionSummary) => ReactNode;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element;
|