@qwen-code/web-shell 0.25.3 → 0.25.4-preview.0
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/NOTICES.txt +1240 -0
- package/README.md +33 -27
- package/dist/{PierreFilePreview-CDwdShQj.js → PierreFilePreview-vbxsbBX2.js} +1 -1
- package/dist/{SpreadsheetPreview-DrhBxOLb.js → SpreadsheetPreview-yFPFfgME.js} +2 -2
- package/dist/{WorkspaceFileBrowser-Cj-IkaDU.js → WorkspaceFileBrowser-DGQbVeSD.js} +656 -656
- package/dist/{agents-route-CNZAhyBJ.js → agents-route-D6wGe0cs.js} +2 -2
- package/dist/daemon-react-sdk.js +1 -1
- package/dist/docx-preview-BucJeYCm.js +5570 -0
- package/dist/{index-D0B7Fiw9.js → index-ChD_Ub2E.js} +58969 -56718
- package/dist/index.js +3 -3
- package/dist/sw.js +1 -1
- package/dist/transcript.js +11784 -11135
- package/dist/types/App.d.ts +4 -2
- package/dist/types/adapters/messageTypes.d.ts +3 -0
- package/dist/types/adapters/transcriptToMessages.d.ts +3 -1
- package/dist/types/components/ChatEditor.d.ts +5 -0
- package/dist/types/components/MessageDeletionToolbar.d.ts +4 -0
- package/dist/types/components/MessageItem.d.ts +2 -0
- package/dist/types/components/MessageList.d.ts +2 -0
- package/dist/types/components/MessageTimestamp.d.ts +5 -2
- package/dist/types/components/ModelRefreshControl.d.ts +5 -0
- package/dist/types/components/artifacts/CodeReviewArtifactDetail.d.ts +5 -0
- package/dist/types/components/artifacts/DocxPreview.d.ts +8 -0
- package/dist/types/components/artifacts/TrajectoryExecutions.d.ts +9 -1
- package/dist/types/components/artifacts/TrajectoryInspector.d.ts +2 -1
- package/dist/types/components/artifacts/artifactUtils.d.ts +7 -0
- package/dist/types/components/artifacts/token-usage-messages.d.ts +9 -0
- package/dist/types/components/artifacts/token-usage-messages.transcript-stub.d.ts +7 -0
- package/dist/types/components/channels/channel-platform.d.ts +1 -1
- package/dist/types/components/dialogs/ModelDialog.d.ts +3 -1
- package/dist/types/components/managed/generated/managed-agent-api.d.ts +251 -7
- package/dist/types/components/managed/java-managed-agent-client.d.ts +10 -0
- package/dist/types/components/managed/managed-agent-provider.d.ts +7 -0
- package/dist/types/components/managed/managed-pending-storage.d.ts +2 -0
- package/dist/types/components/managed/managed-session-messages.d.ts +1 -0
- package/dist/types/components/managed/use-managed-file-references.d.ts +19 -0
- package/dist/types/components/message-deletion-messages.d.ts +7 -0
- package/dist/types/components/message-deletion-messages.transcript-stub.d.ts +7 -0
- package/dist/types/components/messages/TasksStatusMessage.d.ts +6 -0
- package/dist/types/components/messages/toolFormatting.d.ts +1 -0
- package/dist/types/components/messages/tools/ToolDetailsContext.d.ts +13 -0
- package/dist/types/customization.d.ts +2 -1
- package/dist/types/daemon/session/actions.d.ts +10 -2
- package/dist/types/daemon/session/types.d.ts +6 -1
- package/dist/types/hooks/useAtMentionSources.d.ts +5 -0
- package/dist/types/hooks/useComposerCore.d.ts +2 -0
- package/dist/types/hooks/useMessageDeletion.d.ts +33 -0
- package/dist/types/hooks/useModelRefresh.d.ts +6 -0
- package/dist/types/transcript.d.ts +2 -2
- package/dist/types/utils/composerTag.d.ts +1 -0
- package/dist/types/utils/dom.d.ts +1 -0
- package/dist/types/utils/message-deletion.d.ts +20 -0
- package/dist/types/utils/planMode.d.ts +1 -1
- package/dist/types/utils/plural.d.ts +7 -0
- package/dist/{useDaemonMidTurnInjected-BDFSY1Yl.js → useDaemonMidTurnInjected-CfhBFIym.js} +5686 -5264
- package/package.json +3 -1
|
@@ -169,6 +169,9 @@ export interface ManagedAgentProvider {
|
|
|
169
169
|
respond(action: ManagedAgentPendingAction, optionId: string, options: ManagedAgentCommandOptions): Promise<void>;
|
|
170
170
|
};
|
|
171
171
|
readonly toolResults?: ManagedToolResultReader;
|
|
172
|
+
readonly toolDetails?: {
|
|
173
|
+
get(sessionId: string, itemId: string, options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellToolDetails']>;
|
|
174
|
+
};
|
|
172
175
|
readonly tasks?: {
|
|
173
176
|
list(sessionId: string, options: ManagedAgentRequestOptions & {
|
|
174
177
|
cursor?: string;
|
|
@@ -208,6 +211,10 @@ export interface ManagedAgentProvider {
|
|
|
208
211
|
expectedRevision: number;
|
|
209
212
|
}, options: ManagedAgentCommandOptions): Promise<ManagedModelChangeResult>;
|
|
210
213
|
};
|
|
214
|
+
readonly workspaceFiles?: {
|
|
215
|
+
query(request: components['schemas']['WebShellWorkspaceFileQueryRequest'], options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellWorkspaceFilePage']>;
|
|
216
|
+
read(request: components['schemas']['WebShellWorkspaceFileReadRequest'], options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellWorkspaceFileSnapshot']>;
|
|
217
|
+
};
|
|
211
218
|
readonly workspaceBinding?: {
|
|
212
219
|
readonly agentId: string;
|
|
213
220
|
readonly registration?: ManagedWorkspaceRegistration;
|
|
@@ -2,3 +2,4 @@ import type { Message } from '../../adapters/types';
|
|
|
2
2
|
import type { ManagedAgentSessionEvent } from './managed-agent-provider';
|
|
3
3
|
export declare function mergeManagedEvents(current: readonly ManagedAgentSessionEvent[], incoming: readonly ManagedAgentSessionEvent[]): ManagedAgentSessionEvent[];
|
|
4
4
|
export declare function managedEventsToMessages(events: readonly ManagedAgentSessionEvent[], truncatedLabel: string): Message[];
|
|
5
|
+
export declare function createManagedMessageProjector(): (events: readonly ManagedAgentSessionEvent[], truncatedLabel: string) => Message[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AtMentionWorkspaceActions } from '../../hooks/useAtMentionSources';
|
|
2
|
+
import type { ComposerSubmitMetadata } from '../../hooks/useComposerCore';
|
|
3
|
+
import type { ManagedAgentProvider } from './managed-agent-provider';
|
|
4
|
+
import type { PromptFile } from '../../adapters/promptTypes';
|
|
5
|
+
export declare function useManagedFileReferences(provider: ManagedAgentProvider, clientId: string, workspace: {
|
|
6
|
+
workspaceId: string;
|
|
7
|
+
cwdRelative: string;
|
|
8
|
+
contextRevision?: number;
|
|
9
|
+
state?: string;
|
|
10
|
+
} | undefined, sessionId?: string): {
|
|
11
|
+
actions: AtMentionWorkspaceActions | undefined;
|
|
12
|
+
busy: boolean;
|
|
13
|
+
prepareInput: (text: string, files?: readonly PromptFile[], metadata?: ComposerSubmitMetadata) => Promise<{
|
|
14
|
+
text: string;
|
|
15
|
+
files: PromptFile[];
|
|
16
|
+
}>;
|
|
17
|
+
assertCurrent: () => void;
|
|
18
|
+
error: string | undefined;
|
|
19
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export declare const MESSAGE_DELETION_MESSAGES_EN: Record<string, string | ((vars?: Record<string, string | number>) => string)>;
|
|
7
|
+
export declare const MESSAGE_DELETION_MESSAGES_ZH: Record<string, string | ((vars?: Record<string, string | number>) => string)>;
|
|
@@ -36,4 +36,10 @@ export declare function ShellTaskDetail({ task, actions: providedActions, }: {
|
|
|
36
36
|
task: DaemonSessionShellTaskStatus;
|
|
37
37
|
actions?: DaemonSessionActions;
|
|
38
38
|
}): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
/**
|
|
40
|
+
* Tab title for a shell task. The full command is unreadable once the tab
|
|
41
|
+
* truncates it, so use the executable's basename (`/opt/homebrew/.../mariadbd`
|
|
42
|
+
* becomes `mariadbd`) and fall back to the first line.
|
|
43
|
+
*/
|
|
44
|
+
export declare function shellTaskPanelTitle(command: string): string;
|
|
39
45
|
export { ACTIVE_EVENT as TASKS_STATUS_ACTIVE_EVENT };
|
|
@@ -34,6 +34,7 @@ export declare function getToolDescription(tool: ACPToolCall, workspaceCwd?: str
|
|
|
34
34
|
export declare function getToolSummaryDescription(tool: ACPToolCall, workspaceCwd?: string): string;
|
|
35
35
|
export declare function getShellToolSemanticDescription(tool: ACPToolCall): string;
|
|
36
36
|
export declare function extractText(tool: ACPToolCall): string | null;
|
|
37
|
+
export declare function hasRecordedOutput(tool: ACPToolCall): boolean;
|
|
37
38
|
export declare function getAdvisorDisplayText(tool: ACPToolCall): string | null;
|
|
38
39
|
export declare function getToolResultSummary(tool: ACPToolCall): string;
|
|
39
40
|
export declare function getEmptyMcpToolTitleDescription(toolName: string | undefined, title: string | undefined, input: Record<string, unknown> | undefined): string | undefined;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { ACPToolCall } from '../../../adapters/types';
|
|
3
|
+
export type ToolDetailsLoader = (callId: string, signal: AbortSignal) => Promise<Pick<ACPToolCall, 'args' | 'rawOutput'>>;
|
|
4
|
+
export declare const ToolDetailsContext: import("react").Context<ToolDetailsLoader | undefined>;
|
|
5
|
+
export declare function useToolDetails(tool: ACPToolCall, expanded: boolean): {
|
|
6
|
+
tool: import("../../../adapters/messageTypes").DaemonMessageToolCall;
|
|
7
|
+
loading: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function ToolDetails({ tool, enabled, children, }: {
|
|
10
|
+
tool: ACPToolCall;
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
children: (tool: ACPToolCall) => ReactNode;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,7 +5,7 @@ import type { Components, Options } from 'react-markdown';
|
|
|
5
5
|
import type { ChartRendererRegistry, MarkdownChartLabelOverrides } from '@datafe-open/markdown-chart';
|
|
6
6
|
import type { MarkdownChartReactErrorHandler } from '@datafe-open/markdown-chart-react';
|
|
7
7
|
import type { DaemonInputAnnotation, DaemonSessionArtifact, DaemonSessionAttachmentReference, SessionSource, GoalSnapshotV2 } from '@qwen-code/sdk/daemon';
|
|
8
|
-
import type { DaemonStreamingState } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
8
|
+
import type { DaemonSessionActions, DaemonStreamingState } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
9
9
|
import type { ACPToolCall } from './adapters/types';
|
|
10
10
|
import type { WelcomeHeaderProps } from './components/WelcomeHeader';
|
|
11
11
|
import type { WebShellTheme } from './themeContext';
|
|
@@ -513,6 +513,7 @@ export type FooterRenderer = ComponentType<WebShellFooterRenderInfo>;
|
|
|
513
513
|
*/
|
|
514
514
|
export type LoadingPhrasesResolver = (language: string) => readonly string[] | undefined | null;
|
|
515
515
|
export interface WebShellCustomization {
|
|
516
|
+
onRefreshModels?: Parameters<DaemonSessionActions['refreshModels']>[0];
|
|
516
517
|
allowedApprovalModes?: readonly WebShellApprovalMode[];
|
|
517
518
|
filterArtifact?: ArtifactFilter;
|
|
518
519
|
artifact?: WebShellArtifactCustomization;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import type { Dispatch, SetStateAction } from 'react';
|
|
7
|
-
import type { DaemonSessionClient, CreateSessionRequest, DaemonTranscriptStore, DaemonCapabilities } from '@qwen-code/sdk/daemon';
|
|
7
|
+
import type { DaemonClient, DaemonSessionClient, CreateSessionRequest, DaemonTranscriptStore, DaemonCapabilities } from '@qwen-code/sdk/daemon';
|
|
8
8
|
import { type TimerRef } from '../timing.js';
|
|
9
9
|
import type { ActivePrompt, AddDaemonSessionNotice, DaemonActivePromptState, DaemonConnectionState, DaemonPromptStatus, DaemonSessionActions, SettledPrompt, PendingSessionLoad, DaemonProductSessionContext } from './types.js';
|
|
10
10
|
interface RefBox<T> {
|
|
@@ -14,6 +14,13 @@ export declare function resolveSessionRestoreTimeouts(capabilities: DaemonCapabi
|
|
|
14
14
|
requestTimeoutMs: number;
|
|
15
15
|
watchdogTimeoutMs: number | undefined;
|
|
16
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* Limit for a workspace create, which waits for the capability preflight and
|
|
19
|
+
* then for the create request. The SDK sizes that request from the same
|
|
20
|
+
* advertised session budget as a restore, so an action limit below the sum of
|
|
21
|
+
* the two reports a timeout on a spawn the daemon is still finishing.
|
|
22
|
+
*/
|
|
23
|
+
export declare function resolveCreateWatchdogTimeoutMs(capabilities: DaemonCapabilities | undefined): number;
|
|
17
24
|
export interface CreateDaemonSessionActionsArgs {
|
|
18
25
|
store: DaemonTranscriptStore;
|
|
19
26
|
sessionRef: RefBox<DaemonSessionClient | undefined>;
|
|
@@ -54,6 +61,7 @@ export interface CreateDaemonSessionActionsArgs {
|
|
|
54
61
|
createDetachedSession: (workspaceCwd?: string, overrides?: Pick<CreateSessionRequest, 'approvalMode' | 'sourceType' | 'worktree' | 'branch'>) => Promise<DaemonSessionClient>;
|
|
55
62
|
createDetachedStandaloneSession: (overrides?: Pick<CreateSessionRequest, 'approvalMode' | 'modelServiceId'>) => Promise<DaemonSessionClient>;
|
|
56
63
|
getDefaultSessionContext: () => DaemonProductSessionContext | undefined;
|
|
64
|
+
getClient?: () => DaemonClient | undefined;
|
|
57
65
|
getConnection: () => DaemonConnectionState;
|
|
58
66
|
getEventDetailMode: () => 'full' | 'summary';
|
|
59
67
|
hasSessionActivePrompt: () => boolean;
|
|
@@ -80,7 +88,7 @@ export interface CreateDaemonSessionActionsArgs {
|
|
|
80
88
|
export declare function getWorkspaceModelsAfterSessionClear(current: DaemonConnectionState): DaemonConnectionState['models'];
|
|
81
89
|
export declare function getConnectionAfterSessionClear(current: DaemonConnectionState, clearedSessionId: string | undefined, preserveWorkspaceMetadata?: boolean, dropSessionContext?: boolean): DaemonConnectionState;
|
|
82
90
|
export declare function advanceSessionRecoveryGeneration(generations: WeakMap<DaemonSessionClient, number>, session: DaemonSessionClient): number;
|
|
83
|
-
export declare function createDaemonSessionActions({ store, sessionRef, activePromptsRef, settledPromptsRef, pendingSessionLoadRef, pendingSessionLoadIdRef, sessionConfigGeneration, sessionRecoveryGeneration, heartbeatSupportedRef, manualSessionClearRef, skipNextCleanupDetachSessionRef, passiveAssistantDoneTimerRef, daemonActivePromptRef, settleRestoredActivePrompt, flushTranscript, getCreateSessionRequest, createDetachedSession, createDetachedStandaloneSession, getDefaultSessionContext, getConnection, getEventDetailMode, hasSessionActivePrompt, resetCurrentSessionActivePrompt, restartEventStream, addNotice, setConnection, setPromptStatus, setRestoreSessionId, setRestoreSessionContext, setRestoreMode, setRestoreSessionNonce, setAttachSessionNonce, setNewSessionNonce, clearLiveJournalRepair, onPromptAdmitted, onContinuationAdmitted, onPromptRemoved, }: CreateDaemonSessionActionsArgs): DaemonSessionActions;
|
|
91
|
+
export declare function createDaemonSessionActions({ store, sessionRef, activePromptsRef, settledPromptsRef, pendingSessionLoadRef, pendingSessionLoadIdRef, sessionConfigGeneration, sessionRecoveryGeneration, heartbeatSupportedRef, manualSessionClearRef, skipNextCleanupDetachSessionRef, passiveAssistantDoneTimerRef, daemonActivePromptRef, settleRestoredActivePrompt, flushTranscript, getCreateSessionRequest, createDetachedSession, createDetachedStandaloneSession, getDefaultSessionContext, getClient, getConnection, getEventDetailMode, hasSessionActivePrompt, resetCurrentSessionActivePrompt, restartEventStream, addNotice, setConnection, setPromptStatus, setRestoreSessionId, setRestoreSessionContext, setRestoreMode, setRestoreSessionNonce, setAttachSessionNonce, setNewSessionNonce, clearLiveJournalRepair, onPromptAdmitted, onContinuationAdmitted, onPromptRemoved, }: CreateDaemonSessionActionsArgs): DaemonSessionActions;
|
|
84
92
|
/**
|
|
85
93
|
* Key under which a shell command tracks its prompt in the active-prompt map.
|
|
86
94
|
* Shell commands run as their own prompt alongside a conversation turn, so they
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import type { ReactNode } from 'react';
|
|
7
|
-
import type { CreateSessionRequest, DaemonBranchSessionRequest, DaemonCapabilities, DaemonBackgroundTurn, DaemonEvent, DaemonApprovalMode, DaemonApprovalModeResult, DaemonAvailableCommand, DaemonForkSessionResult, DaemonInputAnnotation, DaemonSessionBtwResult, DaemonSessionGenerationEvent, DaemonSessionAttachmentReference, DaemonSessionAttachmentData, DaemonMidTurnMessageResult, DaemonMidTurnMessagesResult, DaemonRemoveMidTurnMessageResult, DaemonSendMidTurnMessagesNowResult, DaemonPendingPromptsResult, DaemonRemovePendingPromptResult, DaemonSessionContextStatus, DaemonSessionSavedWorkflowDetail, DaemonSessionContextUsageStatus, DaemonSessionRecapResult, DaemonRewindResult, DaemonRewindSnapshotInfo, DaemonSession, DaemonSessionSummary, DaemonSessionSupportedCommandsStatus, DaemonSessionTaskWithWorkflowStatus, DaemonSessionTasksStatus, DaemonSessionWorkflowTaskStatus, DaemonSessionWorkflowTasksStatus, DaemonSessionStatsStatus, DaemonSessionArtifactsEnvelope, DaemonSessionArtifactInput, DaemonSessionArtifactMutationResult, SessionSourceInput, SessionSourcesResult, SessionSourceUpsertResult, SessionSourceRemoveResult, DaemonSkillToggleMutation, DaemonShellCommandResult, DaemonTranscriptBlock, DaemonTranscriptStore, DaemonWorkspaceGitStatus, DaemonWorkspaceProvidersStatus, DaemonStandaloneCreationRecovery, DaemonStandaloneWorkingDirectory, HeartbeatResult, GoalControlRequest, GoalSnapshotV2, GoalStateResponse, PermissionResponse, PromptContentBlock, PromptResult, ReasoningSelection, SessionMetadataResult, SetModelResult } from '@qwen-code/sdk/daemon';
|
|
7
|
+
import type { CreateSessionRequest, DaemonBranchSessionRequest, DaemonCapabilities, DaemonBackgroundTurn, DaemonEvent, DaemonApprovalMode, DaemonApprovalModeResult, DaemonAvailableCommand, DaemonForkSessionResult, DaemonInputAnnotation, DaemonSessionBtwResult, DaemonSessionGenerationEvent, DaemonSessionAttachmentReference, DaemonSessionAttachmentData, DaemonMidTurnMessageResult, DaemonMidTurnMessagesResult, DaemonRemoveMidTurnMessageResult, DaemonSendMidTurnMessagesNowResult, DaemonPendingPromptsResult, DaemonRemovePendingPromptResult, DaemonSessionContextStatus, DaemonSessionSavedWorkflowDetail, DaemonSessionContextUsageStatus, DaemonSessionRecapResult, DaemonRewindResult, DaemonRewindSnapshotInfo, DaemonSession, DaemonSessionSummary, DaemonSessionSupportedCommandsStatus, DaemonSessionTaskRuntimeStatus, DaemonSessionTaskWithWorkflowStatus, DaemonSessionTasksStatus, DaemonSessionWorkflowTaskStatus, DaemonSessionWorkflowTasksStatus, DaemonSessionStatsStatus, DaemonSessionArtifactsEnvelope, DaemonSessionArtifactInput, DaemonSessionArtifactMutationResult, SessionSourceInput, SessionSourcesResult, SessionSourceUpsertResult, SessionSourceRemoveResult, DaemonSkillToggleMutation, DaemonShellCommandResult, DaemonTranscriptBlock, DaemonTranscriptStore, DaemonWorkspaceGitStatus, DaemonWorkspaceProvidersStatus, DaemonStandaloneCreationRecovery, DaemonStandaloneWorkingDirectory, HeartbeatResult, GoalControlRequest, GoalSnapshotV2, GoalStateResponse, PermissionResponse, PromptContentBlock, PromptResult, ReasoningSelection, SessionMetadataResult, SetModelResult } from '@qwen-code/sdk/daemon';
|
|
8
8
|
export type DaemonConnectionStatus = 'idle' | 'connecting' | 'connected' | 'disconnected' | 'error';
|
|
9
9
|
export interface DaemonSessionOwnerSnapshot {
|
|
10
10
|
isCurrent(): boolean;
|
|
@@ -375,6 +375,10 @@ export interface DaemonSessionActions {
|
|
|
375
375
|
submitPrompt(text: string, options?: SubmitPromptOptions): Promise<SubmitPromptResult>;
|
|
376
376
|
cancel(): Promise<void>;
|
|
377
377
|
setModel(modelId: string): Promise<SetModelResult>;
|
|
378
|
+
refreshModels(beforeRefresh?: (target: {
|
|
379
|
+
workspaceCwd: string;
|
|
380
|
+
sessionId?: string;
|
|
381
|
+
}) => void | Promise<void>): Promise<void>;
|
|
378
382
|
setReasoningEffort(value: ReasoningSelection, opts?: {
|
|
379
383
|
persist?: boolean;
|
|
380
384
|
}): Promise<void>;
|
|
@@ -517,6 +521,7 @@ export interface DaemonSessionActions {
|
|
|
517
521
|
removePendingPrompt(promptId: string, opts?: PendingPromptActionOptions): Promise<DaemonRemovePendingPromptResult>;
|
|
518
522
|
sendShellCommand(command: string): Promise<DaemonShellCommandResult>;
|
|
519
523
|
getTasks(opts?: GetTasksActionOptions): Promise<DaemonSessionTasksStatus>;
|
|
524
|
+
getTaskRuntime(taskId: string): Promise<DaemonSessionTaskRuntimeStatus>;
|
|
520
525
|
getWorkflowTasks(opts?: GetTasksActionOptions): Promise<DaemonSessionWorkflowTasksStatus>;
|
|
521
526
|
cancelTask(taskId: string, kind: DaemonSessionTaskWithWorkflowStatus['kind']): Promise<{
|
|
522
527
|
cancelled: boolean;
|
|
@@ -66,6 +66,11 @@ export declare function createBuiltinProviderCache(): BuiltinProviderCache;
|
|
|
66
66
|
export declare function getCached<K, V>(cache: Map<K, Promise<V>>, key: K, load: () => Promise<V>): Promise<V>;
|
|
67
67
|
export interface AtMentionWorkspaceActions {
|
|
68
68
|
globWorkspace?: GlobWorkspaceFn;
|
|
69
|
+
searchWorkspaceFiles?: (query: string, signal: AbortSignal) => Promise<string[]>;
|
|
70
|
+
prepareFileReference?: (tag: WebShellComposerTag) => Promise<WebShellComposerTag>;
|
|
71
|
+
onFileReferenceDiscarded?: () => void;
|
|
72
|
+
scopeKey?: string;
|
|
73
|
+
filesOnly?: boolean;
|
|
69
74
|
loadExtensionsStatus?: LoadExtensionsStatusFn;
|
|
70
75
|
listDirectory?: ListDirectoryFn;
|
|
71
76
|
loadMcpStatus?: LoadMcpStatusFn;
|
|
@@ -101,6 +101,8 @@ export interface UseComposerCoreOptions {
|
|
|
101
101
|
shellModeEnabled?: boolean;
|
|
102
102
|
attachmentsEnabled?: boolean;
|
|
103
103
|
workspaceFeaturesEnabled?: boolean;
|
|
104
|
+
fileReferenceActions?: AtMentionWorkspaceActions;
|
|
105
|
+
persistFileReferences?: boolean;
|
|
104
106
|
composerTagIcons?: WebShellComposerTagIconMap;
|
|
105
107
|
parseUserMessageContent?: UserMessageContentParser;
|
|
106
108
|
renderComposerTag?: ComposerTagRenderer;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Message } from '../adapters/types';
|
|
2
|
+
export interface MessageDeletionControls {
|
|
3
|
+
active: boolean;
|
|
4
|
+
busy: boolean;
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
selected: ReadonlySet<string>;
|
|
7
|
+
allowed: ReadonlySet<string>;
|
|
8
|
+
groupByMessage: ReadonlyMap<string, string>;
|
|
9
|
+
error?: string;
|
|
10
|
+
confirming: boolean;
|
|
11
|
+
canDelete(message: Message): boolean;
|
|
12
|
+
start(message: Message): void;
|
|
13
|
+
toggle(groupId: string): void;
|
|
14
|
+
cancel(): void;
|
|
15
|
+
setConfirming(value: boolean): void;
|
|
16
|
+
submit(): void;
|
|
17
|
+
}
|
|
18
|
+
export declare function useMessageDeletion(messages: Message[], sessionBlocked: boolean, historical?: boolean): {
|
|
19
|
+
active: boolean;
|
|
20
|
+
busy: boolean;
|
|
21
|
+
disabled: boolean;
|
|
22
|
+
groupByMessage: Map<string, string>;
|
|
23
|
+
error: string | undefined;
|
|
24
|
+
confirming: boolean;
|
|
25
|
+
selected: Set<string>;
|
|
26
|
+
allowed: Set<string>;
|
|
27
|
+
canDelete: (message: import("../adapters/messageTypes").DaemonMessage) => boolean;
|
|
28
|
+
start: (message: import("../adapters/messageTypes").DaemonMessage) => void;
|
|
29
|
+
toggle: (id: string) => void;
|
|
30
|
+
cancel: () => void;
|
|
31
|
+
setConfirming: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
32
|
+
submit: () => void;
|
|
33
|
+
} | undefined;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { DaemonSessionActions } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
2
|
+
export declare function useModelRefresh(beforeRefresh?: Parameters<DaemonSessionActions['refreshModels']>[0]): {
|
|
3
|
+
refresh: (() => Promise<void>) | undefined;
|
|
4
|
+
refreshing: boolean;
|
|
5
|
+
error: string | undefined;
|
|
6
|
+
};
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
* renders `McpStatusMessage`, `TasksStatusMessage` and the artifact turn
|
|
17
17
|
* outputs, and those call the strict `useDaemonActions` / `useDaemonWorkspace`
|
|
18
18
|
* hooks, so their provider guards are in `dist/transcript.js`. Decoupling them
|
|
19
|
-
* is #11100.
|
|
20
|
-
*
|
|
19
|
+
* is #11100. Artifact tests enforce specific package boundaries rather than
|
|
20
|
+
* asserting that the daemon runtime is absent.
|
|
21
21
|
*
|
|
22
22
|
* Do not rely on importing the package root or incidental tree shaking to
|
|
23
23
|
* keep this payload small; see
|
|
@@ -30,6 +30,7 @@ export declare function isPreviewableFileComposerTag(tag: WebShellComposerTag):
|
|
|
30
30
|
kind: 'file';
|
|
31
31
|
value: string;
|
|
32
32
|
};
|
|
33
|
+
export declare function isValidComposerTag(tag: unknown): tag is WebShellComposerTag;
|
|
33
34
|
export interface ParseUserMessageContentOptions {
|
|
34
35
|
requireSourcePreservation?: boolean;
|
|
35
36
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { DaemonTranscriptBlock, DaemonTranscriptStore } from '@qwen-code/sdk/daemon';
|
|
2
|
+
import type { Message } from '../adapters/types.js';
|
|
3
|
+
export interface MessageDeletionGroup {
|
|
4
|
+
id: string;
|
|
5
|
+
promptId?: string;
|
|
6
|
+
promptIds?: string[];
|
|
7
|
+
recordIds: string[];
|
|
8
|
+
}
|
|
9
|
+
export declare function messageDeletionGroups(messages: readonly Message[], groups: readonly MessageDeletionGroup[]): Map<string, string>;
|
|
10
|
+
export declare function localMessageDeletionGroups(messages: readonly Message[]): {
|
|
11
|
+
id: string;
|
|
12
|
+
recordIds: never[];
|
|
13
|
+
}[];
|
|
14
|
+
export declare function localDeletionBlocks(blocks: readonly DaemonTranscriptBlock[]): DaemonTranscriptBlock[];
|
|
15
|
+
export declare function removeDeletedMessageBlocks(store: DaemonTranscriptStore, deletedGroupIds: readonly string[], deletedPromptIds: readonly string[]): void;
|
|
16
|
+
export declare function restoreLocalDeletionBlocks(store: DaemonTranscriptStore, before: readonly DaemonTranscriptBlock[]): void;
|
|
17
|
+
export declare function beginLocalCommand(store: DaemonTranscriptStore, id: string): void;
|
|
18
|
+
export declare function finishLocalCommand(store: DaemonTranscriptStore, id?: string): void;
|
|
19
|
+
export declare function hasPendingLocalCommands(store: DaemonTranscriptStore): boolean;
|
|
20
|
+
export declare function clearPendingLocalCommands(store: DaemonTranscriptStore): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DAEMON_APPROVAL_MODES } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
2
2
|
export type WebShellApprovalMode = Exclude<(typeof DAEMON_APPROVAL_MODES)[number], 'plan'>;
|
|
3
|
-
export declare const EXECUTION_APPROVAL_MODES: ("
|
|
3
|
+
export declare const EXECUTION_APPROVAL_MODES: ("default" | "auto-edit" | "yolo" | "auto")[];
|
|
4
4
|
export declare function resolveApprovalModes(value: unknown): readonly WebShellApprovalMode[];
|
|
5
5
|
export declare function nextApprovalMode(available: readonly WebShellApprovalMode[], current: string): WebShellApprovalMode | undefined;
|
|
6
6
|
export declare function parsePlanCommand(args: string, enabled: boolean): {
|