@tutti-os/agent-gui 0.0.94 → 0.0.95
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 +48 -32
- package/dist/AgentGUI-CwBLYtv-.d.ts +992 -0
- package/dist/agent-conversation/index.d.ts +5 -7
- package/dist/agent-conversation/index.js +12 -8
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-env/index.d.ts +10 -36
- package/dist/agent-env/index.js +1 -56
- package/dist/agent-env/index.js.map +1 -1
- package/dist/agent-gui.d.ts +21 -0
- package/dist/agent-gui.js +39 -0
- package/dist/agent-message-center/index.d.ts +145 -124
- package/dist/agent-message-center/index.js +1374 -1316
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{agentConversationVM-Cl4G0Lln.d.ts → agentConversationVM-C335TR6S.d.ts} +112 -7
- package/dist/agentFileMentionContracts-Czvz6YMI.d.ts +107 -0
- package/dist/{agentGuiNodeTypes-CAioPXK9.d.ts → agentGuiNodeTypes-DppADPHW.d.ts} +96 -148
- package/dist/agentPlanPromptDispatch-C7cCMjve.d.ts +37 -0
- package/dist/agents.d.ts +13 -0
- package/dist/agents.js +13 -0
- package/dist/app/renderer/agentactivity.css +126 -80
- package/dist/app/renderer/assets/icons/agent-vinyls/tutti-vinyl.png +0 -0
- package/dist/app/renderer/assets/icons/open-link-lined.svg +4 -0
- package/dist/{chunk-P72YLKC6.js → chunk-3R2D4E57.js} +3127 -3398
- package/dist/chunk-3R2D4E57.js.map +1 -0
- package/dist/chunk-4YG7YK7S.js +23 -0
- package/dist/chunk-4YG7YK7S.js.map +1 -0
- package/dist/chunk-5X7YDOC6.js +42 -0
- package/dist/chunk-5X7YDOC6.js.map +1 -0
- package/dist/{chunk-IBIMGLCD.js → chunk-7J4K6WKB.js} +1 -1
- package/dist/chunk-7J4K6WKB.js.map +1 -0
- package/dist/{chunk-BXVPOGYK.js → chunk-7PFDA2HQ.js} +505 -504
- package/dist/chunk-7PFDA2HQ.js.map +1 -0
- package/dist/{chunk-AWAIUYG4.js → chunk-7RDD3EWP.js} +513 -555
- package/dist/chunk-7RDD3EWP.js.map +1 -0
- package/dist/{chunk-UBDPV34P.js → chunk-AOS2VWU6.js} +1355 -1305
- package/dist/chunk-AOS2VWU6.js.map +1 -0
- package/dist/{chunk-E5FOXRUM.js → chunk-BFNJKTDV.js} +295 -255
- package/dist/chunk-BFNJKTDV.js.map +1 -0
- package/dist/{chunk-5FE7M42A.js → chunk-BIHBXWK5.js} +2 -2
- package/dist/{chunk-7BUYFVRI.js → chunk-C5FV4UGI.js} +2921 -2944
- package/dist/chunk-C5FV4UGI.js.map +1 -0
- package/dist/{chunk-SCLLP5DO.js → chunk-CRO2MV2Y.js} +36 -46
- package/dist/chunk-CRO2MV2Y.js.map +1 -0
- package/dist/chunk-FGLQZ6I4.js +9 -0
- package/dist/chunk-FGLQZ6I4.js.map +1 -0
- package/dist/chunk-H6IQ63DQ.js +14 -0
- package/dist/chunk-H6IQ63DQ.js.map +1 -0
- package/dist/{chunk-IGY4ASUF.js → chunk-JX2SIXNL.js} +1293 -1702
- package/dist/chunk-JX2SIXNL.js.map +1 -0
- package/dist/chunk-KAL4XZMA.js +231 -0
- package/dist/chunk-KAL4XZMA.js.map +1 -0
- package/dist/chunk-KJQERFKX.js +259 -0
- package/dist/chunk-KJQERFKX.js.map +1 -0
- package/dist/chunk-LQVXBT65.js +491 -0
- package/dist/chunk-LQVXBT65.js.map +1 -0
- package/dist/{chunk-554VG7ZW.js → chunk-NITOD7WF.js} +2 -2
- package/dist/{chunk-7LMJXF4R.js → chunk-NJAZ7LQM.js} +20 -16
- package/dist/chunk-NJAZ7LQM.js.map +1 -0
- package/dist/chunk-NX3CZJXW.js +25 -0
- package/dist/chunk-NX3CZJXW.js.map +1 -0
- package/dist/chunk-O6W72SEP.js +93 -0
- package/dist/chunk-O6W72SEP.js.map +1 -0
- package/dist/chunk-RY6GIO3K.js +31700 -0
- package/dist/chunk-RY6GIO3K.js.map +1 -0
- package/dist/{chunk-XDV4ZRVK.js → chunk-UGVI47X6.js} +98 -37
- package/dist/chunk-UGVI47X6.js.map +1 -0
- package/dist/{chunk-XW4CVBUH.js → chunk-UQJPV6HP.js} +18 -11
- package/dist/chunk-UQJPV6HP.js.map +1 -0
- package/dist/{chunk-GAPTLVII.js → chunk-VF22EG3F.js} +1 -1
- package/dist/{chunk-GAPTLVII.js.map → chunk-VF22EG3F.js.map} +1 -1
- package/dist/{chunk-45FF4DQU.js → chunk-WEDMAVX2.js} +22 -24
- package/dist/chunk-WEDMAVX2.js.map +1 -0
- package/dist/{chunk-MATIJPGF.js → chunk-XMO45GKA.js} +531 -401
- package/dist/chunk-XMO45GKA.js.map +1 -0
- package/dist/{chunk-ZUW4B5AT.js → chunk-YE25HN6T.js} +6 -9
- package/dist/chunk-YE25HN6T.js.map +1 -0
- package/dist/context-mention-palette/index.d.ts +3 -2
- package/dist/context-mention-palette/index.js +19 -14
- package/dist/custom-mention.d.ts +44 -0
- package/dist/custom-mention.js +17 -0
- package/dist/custom-mention.js.map +1 -0
- package/dist/dock-icons.d.ts +6 -0
- package/dist/dock-icons.js +11 -0
- package/dist/dock-icons.js.map +1 -0
- package/dist/i18n/index.d.ts +850 -841
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +52 -1061
- package/dist/index.js +72 -35530
- package/dist/index.js.map +1 -1
- package/dist/mention-search.d.ts +226 -0
- package/dist/mention-search.js +29 -0
- package/dist/mention-search.js.map +1 -0
- package/dist/open-link-lined-JWEKUKME.svg +4 -0
- package/dist/provider-icons.d.ts +6 -0
- package/dist/provider-icons.js +12 -0
- package/dist/provider-icons.js.map +1 -0
- package/dist/provider-identity.d.ts +9 -0
- package/dist/provider-identity.js +21 -0
- package/dist/provider-identity.js.map +1 -0
- package/dist/runtime-BBNdWgDU.d.ts +10 -0
- package/dist/{types-PLFZ8SBX.d.ts → types-DX2bxgB8.d.ts} +28 -83
- package/dist/workbench/contribution.d.ts +32 -40
- package/dist/workbench/contribution.js +10 -6
- package/dist/workbench/index.d.ts +3 -2
- package/dist/workbench/index.js +24 -20
- package/dist/workbench/launch.d.ts +2 -5
- package/dist/workbench/launch.js +4 -3
- package/dist/workbench/providerCatalog.js +2 -1
- package/dist/workbench/sessionTitle.d.ts +4 -3
- package/dist/workbench/sessionTitle.js +4 -3
- package/dist/workbench/state.d.ts +1 -1
- package/dist/workbench/state.js +3 -2
- package/dist/workbench/types.d.ts +0 -3
- package/dist/workbench/types.js +1 -1
- package/dist/workspace-agent-generated-files.d.ts +20 -2
- package/dist/workspace-agent-generated-files.js +7 -6
- package/dist/workspaceAgentActivityListTypes-C7gPWYiA.d.ts +71 -0
- package/package.json +63 -26
- package/dist/AgentMentionSearchController-DD_WOred.d.ts +0 -241
- package/dist/AgentMessageMarkdown-DeYPURtF.d.ts +0 -7
- package/dist/chunk-45FF4DQU.js.map +0 -1
- package/dist/chunk-4HP6V2YA.js +0 -207
- package/dist/chunk-4HP6V2YA.js.map +0 -1
- package/dist/chunk-7BUYFVRI.js.map +0 -1
- package/dist/chunk-7LMJXF4R.js.map +0 -1
- package/dist/chunk-AWAIUYG4.js.map +0 -1
- package/dist/chunk-BXVPOGYK.js.map +0 -1
- package/dist/chunk-E5FOXRUM.js.map +0 -1
- package/dist/chunk-IBIMGLCD.js.map +0 -1
- package/dist/chunk-IGY4ASUF.js.map +0 -1
- package/dist/chunk-LR4FA5X6.js +0 -368
- package/dist/chunk-LR4FA5X6.js.map +0 -1
- package/dist/chunk-MATIJPGF.js.map +0 -1
- package/dist/chunk-MKHDRIGN.js +0 -71
- package/dist/chunk-MKHDRIGN.js.map +0 -1
- package/dist/chunk-P72YLKC6.js.map +0 -1
- package/dist/chunk-SCLLP5DO.js.map +0 -1
- package/dist/chunk-UBDPV34P.js.map +0 -1
- package/dist/chunk-VAKFNNKT.js +0 -410
- package/dist/chunk-VAKFNNKT.js.map +0 -1
- package/dist/chunk-XDV4ZRVK.js.map +0 -1
- package/dist/chunk-XW4CVBUH.js.map +0 -1
- package/dist/chunk-ZUW4B5AT.js.map +0 -1
- package/dist/plan-decision-ops.d.ts +0 -70
- package/dist/plan-decision-ops.js +0 -19
- package/dist/queued-prompt-runtime.d.ts +0 -115
- package/dist/queued-prompt-runtime.js +0 -9
- package/dist/workspaceAgentActivityListViewModel-BzV-cf0D.d.ts +0 -340
- package/dist/workspaceLinkActions-DS9LWqzI.d.ts +0 -74
- /package/dist/{plan-decision-ops.js.map → agent-gui.js.map} +0 -0
- /package/dist/{queued-prompt-runtime.js.map → agents.js.map} +0 -0
- /package/dist/{chunk-5FE7M42A.js.map → chunk-BIHBXWK5.js.map} +0 -0
- /package/dist/{chunk-554VG7ZW.js.map → chunk-NITOD7WF.js.map} +0 -0
|
@@ -1,4 +1,112 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WorkspaceIssueMentionMode } from '@tutti-os/workspace-issue-manager/core';
|
|
2
|
+
import { W as WorkspaceAgentActivityCard, T as ToolCallStatusKind } from './workspaceAgentActivityListTypes-C7gPWYiA.js';
|
|
3
|
+
import { AgentActivitySession } from '@tutti-os/agent-activity-core';
|
|
4
|
+
|
|
5
|
+
type WorkspaceLinkActionSource = "agent-markdown" | "agent-file-change" | string;
|
|
6
|
+
interface OpenWorkspaceFileLinkAction {
|
|
7
|
+
type: "open-workspace-file";
|
|
8
|
+
mode?: "reveal" | "open-directory";
|
|
9
|
+
path: string;
|
|
10
|
+
directoryPath: string;
|
|
11
|
+
workspaceRoot: string;
|
|
12
|
+
source: WorkspaceLinkActionSource;
|
|
13
|
+
prefetchedDirectoryListing?: WorkspaceFileLinkDirectoryListing | null;
|
|
14
|
+
}
|
|
15
|
+
interface OpenLocalAssetPreviewLinkAction {
|
|
16
|
+
type: "open-local-asset-preview";
|
|
17
|
+
path: string;
|
|
18
|
+
name: string;
|
|
19
|
+
source: WorkspaceLinkActionSource;
|
|
20
|
+
}
|
|
21
|
+
interface WorkspaceFileLinkDirectoryEntry {
|
|
22
|
+
path: string;
|
|
23
|
+
name: string;
|
|
24
|
+
kind: "file" | "directory" | "unknown";
|
|
25
|
+
hasChildren: boolean | null;
|
|
26
|
+
sizeBytes: number | null;
|
|
27
|
+
mtimeMs: number | null;
|
|
28
|
+
}
|
|
29
|
+
interface WorkspaceFileLinkDirectoryListing {
|
|
30
|
+
workspaceId: string;
|
|
31
|
+
root: string;
|
|
32
|
+
directoryPath: string;
|
|
33
|
+
entries: WorkspaceFileLinkDirectoryEntry[];
|
|
34
|
+
}
|
|
35
|
+
interface OpenWorkspaceUrlLinkAction {
|
|
36
|
+
type: "open-url";
|
|
37
|
+
url: string;
|
|
38
|
+
source: WorkspaceLinkActionSource;
|
|
39
|
+
}
|
|
40
|
+
interface OpenAgentSessionLinkAction {
|
|
41
|
+
type: "open-agent-session";
|
|
42
|
+
workspaceId: string;
|
|
43
|
+
agentSessionId: string;
|
|
44
|
+
agentTargetId?: string | null;
|
|
45
|
+
source: WorkspaceLinkActionSource;
|
|
46
|
+
}
|
|
47
|
+
interface OpenWorkspaceIssueLinkAction {
|
|
48
|
+
type: "open-workspace-issue";
|
|
49
|
+
workspaceId: string;
|
|
50
|
+
issueId: string | null;
|
|
51
|
+
mode?: WorkspaceIssueMentionMode;
|
|
52
|
+
outputDir?: string | null;
|
|
53
|
+
runId?: string | null;
|
|
54
|
+
taskId?: string | null;
|
|
55
|
+
topicId?: string | null;
|
|
56
|
+
source: WorkspaceLinkActionSource;
|
|
57
|
+
}
|
|
58
|
+
interface OpenWorkspaceAppLinkAction {
|
|
59
|
+
type: "open-workspace-app";
|
|
60
|
+
workspaceId: string;
|
|
61
|
+
appId: string;
|
|
62
|
+
conversationId?: string | null;
|
|
63
|
+
messageId?: string | null;
|
|
64
|
+
summaryTaskId?: string | null;
|
|
65
|
+
source: WorkspaceLinkActionSource;
|
|
66
|
+
}
|
|
67
|
+
interface OpenCustomMentionLinkAction {
|
|
68
|
+
type: "open-custom-mention";
|
|
69
|
+
/** 注册表里的 kind(= mention:// providerId)。 */
|
|
70
|
+
kind: string;
|
|
71
|
+
href: string;
|
|
72
|
+
source: WorkspaceLinkActionSource;
|
|
73
|
+
}
|
|
74
|
+
type WorkspaceLinkAction = OpenWorkspaceFileLinkAction | OpenLocalAssetPreviewLinkAction | OpenWorkspaceUrlLinkAction | OpenAgentSessionLinkAction | OpenWorkspaceIssueLinkAction | OpenWorkspaceAppLinkAction | OpenCustomMentionLinkAction;
|
|
75
|
+
|
|
76
|
+
interface WorkspaceAgentActivityFileChange {
|
|
77
|
+
path: string;
|
|
78
|
+
change?: "added" | "modified" | "deleted" | "moved" | string;
|
|
79
|
+
tools?: string[];
|
|
80
|
+
}
|
|
81
|
+
interface WorkspaceAgentActivityFileChanges {
|
|
82
|
+
coverage?: string;
|
|
83
|
+
files?: WorkspaceAgentActivityFileChange[];
|
|
84
|
+
}
|
|
85
|
+
interface WorkspaceAgentActivityTimelineItem {
|
|
86
|
+
id: number;
|
|
87
|
+
workspaceId?: string;
|
|
88
|
+
agentSessionId: string;
|
|
89
|
+
seq?: number;
|
|
90
|
+
turnId?: string;
|
|
91
|
+
eventSource?: string;
|
|
92
|
+
eventId: string;
|
|
93
|
+
actorType: string;
|
|
94
|
+
actorId: string;
|
|
95
|
+
itemType: "message" | "call" | "event" | "error" | "lifecycle" | string;
|
|
96
|
+
role?: string;
|
|
97
|
+
callType?: "tool" | "skill" | "subagent" | "approval" | "workflow" | string;
|
|
98
|
+
callId?: string;
|
|
99
|
+
name?: string;
|
|
100
|
+
status?: string | null;
|
|
101
|
+
content?: string;
|
|
102
|
+
payload?: Record<string, unknown> & {
|
|
103
|
+
content?: unknown;
|
|
104
|
+
text?: unknown;
|
|
105
|
+
fileChanges?: WorkspaceAgentActivityFileChanges;
|
|
106
|
+
};
|
|
107
|
+
occurredAtUnixMs?: number;
|
|
108
|
+
createdAtUnixMs?: number;
|
|
109
|
+
}
|
|
2
110
|
|
|
3
111
|
interface WorkspaceAgentSessionDetailMessage {
|
|
4
112
|
id: string;
|
|
@@ -81,7 +189,7 @@ interface WorkspaceAgentSessionDetailTurn {
|
|
|
81
189
|
}
|
|
82
190
|
interface WorkspaceAgentSessionDetailViewModel {
|
|
83
191
|
activity: WorkspaceAgentActivityCard;
|
|
84
|
-
session:
|
|
192
|
+
session: AgentActivitySession;
|
|
85
193
|
cwd: string;
|
|
86
194
|
workspaceRoot: string | null;
|
|
87
195
|
turns: WorkspaceAgentSessionDetailTurn[];
|
|
@@ -89,7 +197,7 @@ interface WorkspaceAgentSessionDetailViewModel {
|
|
|
89
197
|
}
|
|
90
198
|
interface BuildWorkspaceAgentSessionDetailInput {
|
|
91
199
|
activity: WorkspaceAgentActivityCard;
|
|
92
|
-
session:
|
|
200
|
+
session: AgentActivitySession;
|
|
93
201
|
timelineItems: WorkspaceAgentActivityTimelineItem[];
|
|
94
202
|
workspaceRoot?: string | null;
|
|
95
203
|
}
|
|
@@ -376,14 +484,11 @@ type AgentConversationPromptVM = AgentApprovalItemVM | {
|
|
|
376
484
|
requestId: string;
|
|
377
485
|
title: string;
|
|
378
486
|
};
|
|
379
|
-
type AgentConversationPendingInteractivePromptVM = Exclude<AgentConversationPromptVM, AgentApprovalItemVM>;
|
|
380
487
|
interface AgentConversationVM {
|
|
381
488
|
activity: WorkspaceAgentActivityCard;
|
|
382
489
|
workspaceRoot: string | null;
|
|
383
490
|
sourceDetail: WorkspaceAgentSessionDetailViewModel;
|
|
384
491
|
rows: AgentTranscriptRowVM[];
|
|
385
|
-
pendingApproval: AgentApprovalItemVM | null;
|
|
386
|
-
pendingInteractivePrompt: AgentConversationPendingInteractivePromptVM | null;
|
|
387
492
|
}
|
|
388
493
|
|
|
389
|
-
export { type AgentApprovalItemVM as A, type BuildWorkspaceAgentSessionDetailInput as B, type
|
|
494
|
+
export { type AgentApprovalItemVM as A, type BuildWorkspaceAgentSessionDetailInput as B, type WorkspaceAgentActivityTimelineItem as W, type AgentAskUserQuestionVM as a, type AgentConversationPromptVM as b, type AgentConversationVM as c, type WorkspaceAgentSessionDetailViewModel as d, type WorkspaceLinkAction as e, buildWorkspaceAgentSessionDetailViewModel as f };
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
type AgentFileMentionKind = "file" | "directory" | "unknown";
|
|
2
|
+
type AgentMentionFileNavigationAction = "agent-generated-folder" | "agent-generated-folder-back";
|
|
3
|
+
type AgentMentionScope = "my_sessions" | "collab_sessions";
|
|
4
|
+
type AgentMentionReferenceSource = "app" | "task";
|
|
5
|
+
interface AgentMentionFileItem {
|
|
6
|
+
kind: "file";
|
|
7
|
+
path: string;
|
|
8
|
+
href: string;
|
|
9
|
+
name: string;
|
|
10
|
+
entryKind: AgentFileMentionKind;
|
|
11
|
+
directoryPath: string;
|
|
12
|
+
score?: number;
|
|
13
|
+
thumbnailUrl?: string | null;
|
|
14
|
+
mentionNavigation?: AgentMentionFileNavigationAction;
|
|
15
|
+
childCount?: number;
|
|
16
|
+
}
|
|
17
|
+
interface AgentMentionSessionItem {
|
|
18
|
+
kind: "session";
|
|
19
|
+
href: string;
|
|
20
|
+
workspaceId: string;
|
|
21
|
+
targetId: string;
|
|
22
|
+
agentTargetId?: string;
|
|
23
|
+
name: string;
|
|
24
|
+
title: string;
|
|
25
|
+
scope: AgentMentionScope;
|
|
26
|
+
initiatorName: string;
|
|
27
|
+
initiatorAvatarUrl?: string;
|
|
28
|
+
agentName: string;
|
|
29
|
+
status?: string;
|
|
30
|
+
inputPreview?: string;
|
|
31
|
+
summaryPreview?: string;
|
|
32
|
+
updatedAtUnixMs?: number;
|
|
33
|
+
}
|
|
34
|
+
interface AgentMentionWorkspaceIssueItem {
|
|
35
|
+
kind: "workspace-issue";
|
|
36
|
+
href: string;
|
|
37
|
+
workspaceId: string;
|
|
38
|
+
targetId: string;
|
|
39
|
+
topicId?: string;
|
|
40
|
+
name: string;
|
|
41
|
+
title: string;
|
|
42
|
+
creatorName?: string;
|
|
43
|
+
status?: string;
|
|
44
|
+
contentPreview?: string;
|
|
45
|
+
updatedAtUnixMs?: number;
|
|
46
|
+
}
|
|
47
|
+
interface AgentMentionWorkspaceAppItem {
|
|
48
|
+
kind: "workspace-app";
|
|
49
|
+
href: string;
|
|
50
|
+
workspaceId: string;
|
|
51
|
+
targetId: string;
|
|
52
|
+
appId: string;
|
|
53
|
+
name: string;
|
|
54
|
+
description?: string;
|
|
55
|
+
iconUrl?: string;
|
|
56
|
+
/** 应用是否能够提供产物文件(reference),决定 @ 面板行末尾是否展示「查看产物」入口。 */
|
|
57
|
+
referencesListSupported?: boolean;
|
|
58
|
+
}
|
|
59
|
+
interface AgentMentionAgentTargetItem {
|
|
60
|
+
kind: "agent-target";
|
|
61
|
+
href: string;
|
|
62
|
+
workspaceId: string;
|
|
63
|
+
targetId: string;
|
|
64
|
+
name: string;
|
|
65
|
+
description?: string;
|
|
66
|
+
agentProviderId?: string;
|
|
67
|
+
iconUrl?: string;
|
|
68
|
+
}
|
|
69
|
+
interface AgentMentionWorkspaceReferenceItem {
|
|
70
|
+
kind: "workspace-reference";
|
|
71
|
+
href: string;
|
|
72
|
+
workspaceId: string;
|
|
73
|
+
/** URI path id:source=app 时为 appId,source=task 时为 topicId。 */
|
|
74
|
+
targetId: string;
|
|
75
|
+
source: AgentMentionReferenceSource;
|
|
76
|
+
/** 子级 id:app 子分组 / issueId。缺省表示整个 app / topic。 */
|
|
77
|
+
groupId?: string;
|
|
78
|
+
name: string;
|
|
79
|
+
iconUrl?: string;
|
|
80
|
+
/** 展示用文件数(来自 picker 节点 childCount);序列化不再展开文件。 */
|
|
81
|
+
fileCount: number;
|
|
82
|
+
}
|
|
83
|
+
interface AgentMentionWorkspaceAppFactoryItem {
|
|
84
|
+
kind: "workspace-app-factory";
|
|
85
|
+
href: string;
|
|
86
|
+
workspaceId: string;
|
|
87
|
+
targetId: string;
|
|
88
|
+
jobId: string;
|
|
89
|
+
name: string;
|
|
90
|
+
action?: string;
|
|
91
|
+
contextPath?: string;
|
|
92
|
+
}
|
|
93
|
+
interface AgentMentionCustomItem {
|
|
94
|
+
kind: "custom";
|
|
95
|
+
/** 注册表里的 kind(= mention:// providerId)。 */
|
|
96
|
+
customKind: string;
|
|
97
|
+
href: string;
|
|
98
|
+
workspaceId: string;
|
|
99
|
+
targetId: string;
|
|
100
|
+
/** chip 第一行。 */
|
|
101
|
+
name: string;
|
|
102
|
+
/** chip 第二行(通用双行卡)。 */
|
|
103
|
+
summary?: string;
|
|
104
|
+
}
|
|
105
|
+
type AgentContextMentionItem = AgentMentionFileItem | AgentMentionAgentTargetItem | AgentMentionSessionItem | AgentMentionWorkspaceAppItem | AgentMentionWorkspaceReferenceItem | AgentMentionWorkspaceAppFactoryItem | AgentMentionWorkspaceIssueItem | AgentMentionCustomItem;
|
|
106
|
+
|
|
107
|
+
export type { AgentContextMentionItem as A };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AgentActivityUsage } from '@tutti-os/agent-activity-core';
|
|
2
|
-
import {
|
|
3
|
-
import { A as
|
|
4
|
-
import { A as
|
|
1
|
+
import { AgentActivitySession, AgentActivitySlashCommandPolicy, AgentActivityUsage, CanonicalAgentSession } from '@tutti-os/agent-activity-core';
|
|
2
|
+
import { s as AgentHostAgentSessionCommand, t as AgentHostAgentSessionComposerSettings, v as AgentHostAgentSessionReasoningEffort, w as AgentHostAgentSessionSpeed, u as AgentHostAgentSessionPermissionConfig, m as AgentGUIProvider, y as AgentPromptContentBlock, l as AgentGUINodeData, h as AgentGUIAgentTarget, o as AgentGUIProviderRailMode, p as AgentGUIProviderReadinessGate } from './types-DX2bxgB8.js';
|
|
3
|
+
import { A as AgentApprovalItemVM, a as AgentAskUserQuestionVM, b as AgentConversationPromptVM, c as AgentConversationVM, d as WorkspaceAgentSessionDetailViewModel } from './agentConversationVM-C335TR6S.js';
|
|
4
|
+
import { A as AgentHostBatchUserInfoInput, a as AgentHostBatchUserInfoResult } from './workspaceAgentActivityListTypes-C7gPWYiA.js';
|
|
5
5
|
import { WorkspaceUserProjectService } from '@tutti-os/workspace-user-project/contracts';
|
|
6
6
|
|
|
7
7
|
declare const APP_ERROR_CODES: readonly ["common.invalid_input", "common.approved_path_required", "common.unavailable", "common.unexpected", "session.not_found", "control_surface.unauthorized", "workspace.select_directory_failed", "workspace.select_files_failed", "workspace.ensure_directory_failed", "workspace.import_files_failed", "workspace.read_file_failed", "workspace.write_file_failed", "workspace.export_file_failed", "workspace.copy_path_failed", "workspace.host_unsupported", "workspace.runtime_artifact_unavailable", "runtime.guest_agent_lane_unavailable", "workspace.room_full", "workspace.room_delete_forbidden", "workspace.room_delete_not_found", "filesystem.create_directory_failed", "filesystem.read_file_bytes_failed", "filesystem.read_file_text_failed", "filesystem.write_file_text_failed", "filesystem.copy_entry_failed", "filesystem.move_entry_failed", "filesystem.rename_entry_failed", "filesystem.delete_entry_failed", "filesystem.read_directory_failed", "filesystem.stat_failed", "terminal.spawn_failed", "terminal.write_failed", "terminal.resize_failed", "terminal.close_failed", "terminal.attach_failed", "terminal.detach_failed", "terminal.snapshot_failed", "agent.list_models_failed", "agent.launch_failed", "agent.read_last_message_failed", "agent.provider_session_not_found", "agent.resume_session_not_local", "agent.resume_session_resolve_failed", "agent.settings_require_new_session", "task.suggest_title_failed", "persistence.unavailable", "persistence.quota_exceeded", "persistence.payload_too_large", "persistence.io_failed", "persistence.invalid_state", "persistence.invalid_node_id", "update.get_state_failed", "update.configure_failed", "update.check_failed", "update.download_failed", "update.install_failed", "PACKAGE_DOWNLOAD_INTERRUPTED", "PACKAGE_DOWNLOAD_HTTP_STATUS", "PACKAGE_DOWNLOAD_INVALID", "PACKAGE_DOWNLOAD_DISK_ERROR"];
|
|
@@ -112,35 +112,9 @@ interface ReadWorkspaceFileResult {
|
|
|
112
112
|
bytes: Uint8Array;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
type AgentSessionCommand = AgentHostAgentSessionCommand;
|
|
116
|
-
type AgentSessionComposerSettings = AgentHostAgentSessionComposerSettings;
|
|
117
|
-
type AgentSessionPermissionConfig = AgentHostAgentSessionPermissionConfig;
|
|
118
|
-
type AgentSessionReasoningEffort = AgentHostAgentSessionReasoningEffort;
|
|
119
|
-
type AgentSessionSpeed = AgentHostAgentSessionSpeed;
|
|
120
|
-
type AgentSessionState = AgentHostAgentSessionState;
|
|
121
|
-
|
|
122
|
-
type AgentGUIConversationFilter = {
|
|
123
|
-
kind: "all";
|
|
124
|
-
} | {
|
|
125
|
-
kind: "agentTarget";
|
|
126
|
-
agentTargetId: string;
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
type AgentGUIResolvedProvider = AgentGUIProvider | "unknown";
|
|
130
|
-
type AgentGUIConversationTitleFallback = "generic-agent" | null;
|
|
131
|
-
|
|
132
115
|
type AgentHostAsyncResult<T = any> = Promise<T>;
|
|
133
116
|
type AgentHostRecord = Record<string, unknown>;
|
|
134
117
|
type AgentHostUnsubscribe = () => void;
|
|
135
|
-
type AgentHostWorkspaceScopedInput<T extends {
|
|
136
|
-
workspaceId?: string | null;
|
|
137
|
-
}> = Omit<T, "workspaceId"> & {
|
|
138
|
-
workspaceId: string;
|
|
139
|
-
};
|
|
140
|
-
type AgentHostWorkspaceAgentsListInput = AgentHostWorkspaceScopedInput<AgentHostWorkspaceAgentListInput>;
|
|
141
|
-
type AgentHostWorkspaceAgentSessionMessagesRuntimeInput = AgentHostWorkspaceScopedInput<AgentHostWorkspaceAgentSessionMessagesInput>;
|
|
142
|
-
type AgentHostWorkspaceAgentSessionSummaryRuntimeInput = AgentHostWorkspaceScopedInput<AgentHostWorkspaceAgentSessionSummaryInput>;
|
|
143
|
-
type AgentHostDeleteWorkspaceAgentSessionRuntimeInput = AgentHostWorkspaceScopedInput<AgentHostDeleteWorkspaceAgentSessionInput>;
|
|
144
118
|
type AgentHostClipboardApi = {
|
|
145
119
|
writeImage?: (input: {
|
|
146
120
|
data: string;
|
|
@@ -172,7 +146,6 @@ type AgentHostMetaApi = AgentHostRecord & {
|
|
|
172
146
|
};
|
|
173
147
|
type AgentHostEnvironmentApi = AgentHostRecord & {
|
|
174
148
|
getBaseUrl?: () => AgentHostAsyncResult<string>;
|
|
175
|
-
warmupOpenclawGateway?: (input?: unknown) => AgentHostAsyncResult<unknown>;
|
|
176
149
|
};
|
|
177
150
|
type AgentHostPersistenceApi = AgentHostRecord & {
|
|
178
151
|
readWorkspaceAgentReadState: (input: ReadWorkspaceAgentReadStateInput) => AgentHostAsyncResult<WorkspaceAgentReadStateSnapshot>;
|
|
@@ -260,7 +233,6 @@ interface AgentHostInputApi {
|
|
|
260
233
|
userProjects?: AgentHostUserProjectsApi;
|
|
261
234
|
workspace: AgentHostWorkspaceApi;
|
|
262
235
|
workspaceAgentProbes?: AgentHostWorkspaceAgentProbesApi;
|
|
263
|
-
workspaceAgents?: AgentHostWorkspaceAgentsApi;
|
|
264
236
|
}
|
|
265
237
|
type AgentHostApi = AgentHostInputApi;
|
|
266
238
|
type AgentHostAccountApi = AgentHostRecord & {
|
|
@@ -331,67 +303,13 @@ type AgentHostUserProjectsApi = AgentHostRecord & {
|
|
|
331
303
|
};
|
|
332
304
|
type AgentHostAgentSessionsApi = AgentHostRecord & {
|
|
333
305
|
activate: (input: any) => AgentHostAsyncResult<any>;
|
|
334
|
-
/**
|
|
335
|
-
* @deprecated AgentGUI production writes must use AgentActivityRuntime.cancelSession.
|
|
336
|
-
*/
|
|
337
|
-
cancel: (input: any) => AgentHostAsyncResult<any>;
|
|
338
|
-
/**
|
|
339
|
-
* @deprecated AgentGUI production writes must use AgentActivityRuntime.sendInput.
|
|
340
|
-
*/
|
|
341
|
-
exec: (input: any) => AgentHostAsyncResult<any>;
|
|
342
306
|
getComposerOptions?: (input: any) => AgentHostAsyncResult<any>;
|
|
343
307
|
getState: (input: any) => AgentHostAsyncResult<any>;
|
|
344
308
|
onEvent?: (listener: (event: any) => void) => AgentHostUnsubscribe;
|
|
345
|
-
/**
|
|
346
|
-
* @deprecated AgentGUI production writes must use AgentActivityRuntime.setSessionPinned.
|
|
347
|
-
*/
|
|
348
|
-
pinSession?: (input: any) => AgentHostAsyncResult<any>;
|
|
349
|
-
/**
|
|
350
|
-
* @deprecated AgentGUI production sync must use AgentActivityRuntime.ensureSessionSynchronized.
|
|
351
|
-
*/
|
|
352
|
-
releaseEventStream?: (input?: any) => AgentHostAsyncResult;
|
|
353
|
-
/**
|
|
354
|
-
* @deprecated AgentGUI production sync must use AgentActivityRuntime.ensureSessionSynchronized.
|
|
355
|
-
*/
|
|
356
|
-
retainEventStream?: (input: any) => AgentHostAsyncResult;
|
|
357
|
-
/**
|
|
358
|
-
* @deprecated AgentGUI production writes must use AgentActivityRuntime.submitInteractive.
|
|
359
|
-
*/
|
|
360
|
-
submitInteractive: (input: any) => AgentHostAsyncResult<any>;
|
|
361
|
-
/**
|
|
362
|
-
* @deprecated AgentGUI production UI must derive events from AgentActivityRuntime snapshots.
|
|
363
|
-
*/
|
|
364
|
-
trackSettingsProjectChange?: (input: {
|
|
365
|
-
action: "clear" | "create_new" | "select_existing";
|
|
366
|
-
agentSessionId: string;
|
|
367
|
-
provider?: string | null;
|
|
368
|
-
}) => AgentHostAsyncResult<void>;
|
|
369
309
|
subscribeEvents: (input: any, listener: (event: any) => void) => AgentHostUnsubscribe;
|
|
370
310
|
unactivate: (input: any) => AgentHostAsyncResult<any>;
|
|
371
311
|
updateSettings: (input: any) => AgentHostAsyncResult<any>;
|
|
372
312
|
};
|
|
373
|
-
/**
|
|
374
|
-
* @deprecated Legacy host DTO projection. AgentGUI production reads and writes
|
|
375
|
-
* must use AgentActivityRuntime and AgentActivity* models.
|
|
376
|
-
*/
|
|
377
|
-
type AgentHostWorkspaceAgentsApi = AgentHostRecord & {
|
|
378
|
-
/**
|
|
379
|
-
* @deprecated Use AgentActivityRuntime.deleteSession.
|
|
380
|
-
*/
|
|
381
|
-
deleteSession: (input: AgentHostDeleteWorkspaceAgentSessionRuntimeInput) => AgentHostAsyncResult<any>;
|
|
382
|
-
/**
|
|
383
|
-
* @deprecated Derive summaries from AgentActivitySnapshot/session messages.
|
|
384
|
-
*/
|
|
385
|
-
getSessionSummary: (input: AgentHostWorkspaceAgentSessionSummaryRuntimeInput) => AgentHostAsyncResult<AgentHostWorkspaceAgentSessionSummary>;
|
|
386
|
-
/**
|
|
387
|
-
* @deprecated Use AgentActivityRuntime.load/getSnapshot.
|
|
388
|
-
*/
|
|
389
|
-
list: (input: string | AgentHostWorkspaceAgentsListInput) => AgentHostAsyncResult<AgentHostWorkspaceAgentSnapshot>;
|
|
390
|
-
/**
|
|
391
|
-
* @deprecated Use AgentActivityRuntime.listSessionMessages.
|
|
392
|
-
*/
|
|
393
|
-
listSessionMessages: (input: AgentHostWorkspaceAgentSessionMessagesRuntimeInput) => AgentHostAsyncResult<AgentHostWorkspaceAgentSessionMessages>;
|
|
394
|
-
};
|
|
395
313
|
interface AgentHostRuntimeApi {
|
|
396
314
|
account?: AgentHostAccountApi;
|
|
397
315
|
clipboard: AgentHostClipboardApi;
|
|
@@ -407,6 +325,21 @@ interface AgentHostRuntimeApi {
|
|
|
407
325
|
workspaceAgentProbes?: AgentHostWorkspaceAgentProbesApi;
|
|
408
326
|
}
|
|
409
327
|
|
|
328
|
+
interface AgentMessageMarkdownWorkspaceAppIcon {
|
|
329
|
+
appId: string;
|
|
330
|
+
iconUrl: string | null;
|
|
331
|
+
workspaceId?: string | null;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
type AgentSessionCommand = AgentHostAgentSessionCommand;
|
|
335
|
+
type AgentSessionComposerSettings = AgentHostAgentSessionComposerSettings;
|
|
336
|
+
type AgentSessionPermissionConfig = AgentHostAgentSessionPermissionConfig;
|
|
337
|
+
type AgentSessionReasoningEffort = AgentHostAgentSessionReasoningEffort;
|
|
338
|
+
type AgentSessionSpeed = AgentHostAgentSessionSpeed;
|
|
339
|
+
|
|
340
|
+
type AgentGUIResolvedProvider = AgentGUIProvider | "unknown";
|
|
341
|
+
type AgentGUIConversationTitleFallback = "generic-agent" | null;
|
|
342
|
+
|
|
410
343
|
interface AgentGUIConversationProjectSummary {
|
|
411
344
|
id: string;
|
|
412
345
|
path: string;
|
|
@@ -418,6 +351,13 @@ interface AgentGUIConversationProjectSummary {
|
|
|
418
351
|
}
|
|
419
352
|
type AgentGUIConversationUserProject = Pick<AgentHostUserProject, "id" | "path" | "label" | "sectionKey" | "createdAtUnixMs" | "updatedAtUnixMs" | "lastUsedAtUnixMs">;
|
|
420
353
|
|
|
354
|
+
type AgentGUIConversationFilter = {
|
|
355
|
+
kind: "all";
|
|
356
|
+
} | {
|
|
357
|
+
kind: "agentTarget";
|
|
358
|
+
agentTargetId: string;
|
|
359
|
+
};
|
|
360
|
+
|
|
421
361
|
interface AgentGUIConversationSummary {
|
|
422
362
|
id: string;
|
|
423
363
|
userId?: string;
|
|
@@ -436,7 +376,7 @@ interface AgentGUIConversationSummary {
|
|
|
436
376
|
hasUnreadCompletion?: boolean;
|
|
437
377
|
unreadCompletionKey?: string | null;
|
|
438
378
|
isImported?: boolean;
|
|
439
|
-
|
|
379
|
+
activeTurn?: AgentActivitySession["activeTurn"];
|
|
440
380
|
}
|
|
441
381
|
type AgentGUIConversationStatus = "working" | "waiting" | "ready" | "completed" | "failed" | "canceled";
|
|
442
382
|
type AgentGUIApprovalRequest = AgentApprovalItemVM;
|
|
@@ -454,6 +394,14 @@ type AgentGUIInteractivePrompt = AgentGUIApprovalRequest | {
|
|
|
454
394
|
kind: "plan-implementation";
|
|
455
395
|
}>;
|
|
456
396
|
|
|
397
|
+
interface AgentSlashCommandCapability {
|
|
398
|
+
aliases?: readonly string[];
|
|
399
|
+
capability: "browserUse" | "computerUse";
|
|
400
|
+
kind: "capability";
|
|
401
|
+
name: string;
|
|
402
|
+
}
|
|
403
|
+
type AgentSlashCommandPolicy = AgentActivitySlashCommandPolicy;
|
|
404
|
+
|
|
457
405
|
interface AgentGUISessionChrome {
|
|
458
406
|
auth: {
|
|
459
407
|
message: string;
|
|
@@ -470,11 +418,7 @@ interface AgentGUISessionChrome {
|
|
|
470
418
|
followupAction: "continue-in-new-conversation";
|
|
471
419
|
canRetry?: never;
|
|
472
420
|
} | null;
|
|
473
|
-
rawState:
|
|
474
|
-
}
|
|
475
|
-
interface OpenclawGatewayViewState {
|
|
476
|
-
status: "starting" | "ready" | "failed";
|
|
477
|
-
error: string | null;
|
|
421
|
+
rawState: CanonicalAgentSession | null;
|
|
478
422
|
}
|
|
479
423
|
interface AgentGUIInlineNotice {
|
|
480
424
|
id: string;
|
|
@@ -483,13 +427,10 @@ interface AgentGUIInlineNotice {
|
|
|
483
427
|
autoDismissMs: number | null;
|
|
484
428
|
}
|
|
485
429
|
interface AgentGUIProjectConversationDeleteTarget {
|
|
486
|
-
conversationCount: number
|
|
430
|
+
conversationCount: number;
|
|
487
431
|
label: string;
|
|
488
432
|
path: string;
|
|
489
433
|
}
|
|
490
|
-
interface AgentGUIConversationSectionDeleteTarget {
|
|
491
|
-
conversationCount: number | null;
|
|
492
|
-
}
|
|
493
434
|
interface AgentGUIComposerSettingOption {
|
|
494
435
|
value: string;
|
|
495
436
|
label: string;
|
|
@@ -499,6 +440,8 @@ interface AgentGUIComposerSettingOption {
|
|
|
499
440
|
interface AgentGUIProviderSkillOption {
|
|
500
441
|
name: string;
|
|
501
442
|
trigger: string;
|
|
443
|
+
/** Daemon-issued invocation contract; never infer this from provider id. */
|
|
444
|
+
invocation?: "promptItem" | "textTrigger";
|
|
502
445
|
sourceKind: "project" | "personal" | "bundled" | "plugin" | "system" | "tutti-injected" | "connector";
|
|
503
446
|
description?: string;
|
|
504
447
|
pluginName?: string;
|
|
@@ -537,21 +480,7 @@ interface AgentComposerDraftLargeText {
|
|
|
537
480
|
uploading?: boolean;
|
|
538
481
|
uploadError?: string;
|
|
539
482
|
}
|
|
540
|
-
|
|
541
|
-
* Marks a prompt `file` content block as a pasted-text attachment (as opposed
|
|
542
|
-
* to a user-attached file). Carried on the block `kind` so the round-trip
|
|
543
|
-
* (submit → queue → edit-restore) can rebuild a large-text chip instead of a
|
|
544
|
-
* regular file chip, and so the codex-style "read this file" instruction is
|
|
545
|
-
* materialized only for these blocks at send time.
|
|
546
|
-
*/
|
|
547
|
-
declare const AGENT_PASTED_TEXT_BLOCK_KIND = "pasted-text";
|
|
548
|
-
/**
|
|
549
|
-
* Provider id of the custom mention kind used to render a pasted-text chip in
|
|
550
|
-
* the conversation flow. The mention href (`mention://pasted-text/...`) carries
|
|
551
|
-
* the landed archive path + size so the host can render the chip and open a
|
|
552
|
-
* preview on click. Registered via registerAgentCustomMentionKind.
|
|
553
|
-
*/
|
|
554
|
-
declare const AGENT_PASTED_TEXT_MENTION_KIND = "pasted-text";
|
|
483
|
+
|
|
555
484
|
interface AgentComposerDraft {
|
|
556
485
|
prompt: string;
|
|
557
486
|
images: AgentComposerDraftImage[];
|
|
@@ -577,7 +506,11 @@ interface AgentGUIComposerSettingsVM {
|
|
|
577
506
|
planExclusiveWithPermissionMode?: boolean;
|
|
578
507
|
supportsBrowser?: boolean;
|
|
579
508
|
supportsComputerUse?: boolean;
|
|
509
|
+
permissionModeChangeDuringTurn?: boolean;
|
|
510
|
+
slashCommandPolicy?: AgentSlashCommandPolicy | null;
|
|
580
511
|
isSettingsLoading: boolean;
|
|
512
|
+
/** Initial slash command and capability catalog request is in flight. */
|
|
513
|
+
isCapabilityOptionsLoading?: boolean;
|
|
581
514
|
isModelOptionsLoading?: boolean;
|
|
582
515
|
modelUnavailable: boolean;
|
|
583
516
|
reasoningUnavailable: boolean;
|
|
@@ -591,7 +524,7 @@ interface AgentGUIComposerSettingsVM {
|
|
|
591
524
|
selectedProjectPath?: string | null;
|
|
592
525
|
projectLocked?: boolean;
|
|
593
526
|
projectPathIsRemote?: boolean;
|
|
594
|
-
|
|
527
|
+
collapseModelOptionsToLatest?: boolean;
|
|
595
528
|
availableModels: AgentGUIComposerSettingOption[];
|
|
596
529
|
availableReasoningEfforts: AgentGUIComposerSettingOption[];
|
|
597
530
|
availableSpeeds: AgentGUIComposerSettingOption[];
|
|
@@ -604,71 +537,86 @@ interface AgentGUIQueuedPromptVM {
|
|
|
604
537
|
displayPrompt?: string;
|
|
605
538
|
createdAtUnixMs: number;
|
|
606
539
|
}
|
|
607
|
-
interface
|
|
540
|
+
interface AgentGUIShellViewModel {
|
|
608
541
|
workspaceId: string;
|
|
609
542
|
workspacePath?: string | null;
|
|
610
543
|
currentUserId?: string | null;
|
|
611
544
|
data: AgentGUINodeData;
|
|
545
|
+
}
|
|
546
|
+
interface AgentGUIRailViewModel {
|
|
612
547
|
selectedAgentTarget: AgentGUIAgentTarget;
|
|
613
548
|
agentTargets: readonly AgentGUIAgentTarget[];
|
|
614
|
-
handoffAgentTargets: readonly AgentGUIAgentTarget[];
|
|
615
549
|
agentTargetsLoading: boolean;
|
|
550
|
+
/** How the rail composes its list — "exact" renders targets verbatim with no static injection. */
|
|
551
|
+
providerRailMode: AgentGUIProviderRailMode;
|
|
552
|
+
/** Providers gated by the host (feature-gated) — rail renders coming-soon placeholders. */
|
|
553
|
+
comingSoonProviders: readonly AgentGUIProvider[];
|
|
616
554
|
conversationFilter: AgentGUIConversationFilter;
|
|
617
555
|
conversations: AgentGUIConversationSummary[];
|
|
618
556
|
userProjects: AgentGUIConversationUserProject[];
|
|
619
557
|
activeConversation: AgentGUIConversationSummary | null;
|
|
620
558
|
activeConversationId: string | null;
|
|
621
|
-
availableCommands: AgentSessionCommand[];
|
|
622
|
-
availableSkills: AgentGUIProviderSkillOption[];
|
|
623
|
-
draftPrompt: string;
|
|
624
|
-
draftContent: AgentComposerDraft;
|
|
625
559
|
isLoadingConversations: boolean;
|
|
560
|
+
listError: string | null;
|
|
561
|
+
}
|
|
562
|
+
interface AgentGUIDetailViewModel {
|
|
626
563
|
isLoadingMessages: boolean;
|
|
627
564
|
isLoadingOlderMessages: boolean;
|
|
628
565
|
hasOlderMessages: boolean;
|
|
566
|
+
usage: AgentActivityUsage | null;
|
|
567
|
+
backgroundAgentCount: number;
|
|
568
|
+
hasSentUserMessage: boolean;
|
|
569
|
+
avoidGroupingEdits: boolean;
|
|
570
|
+
conversation?: AgentConversationVM | null;
|
|
571
|
+
conversationDetail: WorkspaceAgentSessionDetailViewModel | null;
|
|
572
|
+
}
|
|
573
|
+
interface AgentGUIComposerViewModel {
|
|
574
|
+
handoffAgentTargets: readonly AgentGUIAgentTarget[];
|
|
575
|
+
availableCommands: AgentSessionCommand[];
|
|
576
|
+
availableSkills: AgentGUIProviderSkillOption[];
|
|
577
|
+
draftPrompt: string;
|
|
578
|
+
draftContent: AgentComposerDraft;
|
|
629
579
|
isCreatingConversation: boolean;
|
|
630
580
|
isSubmitting: boolean;
|
|
631
581
|
isInterrupting: boolean;
|
|
632
582
|
isCancelPending: boolean;
|
|
633
|
-
isRespondingApproval: boolean;
|
|
634
|
-
canCancel: boolean;
|
|
635
|
-
canSubmitInteractive: boolean;
|
|
636
|
-
canGoalControl: boolean;
|
|
637
|
-
canUploadAttachment: boolean;
|
|
638
583
|
promptImagesSupported: boolean;
|
|
639
584
|
compactSupported: boolean | null;
|
|
640
|
-
/**
|
|
641
|
-
* Provider goal supports a real paused state (codex thread goals). Claude
|
|
642
|
-
* Code's goal has none — the banner then omits pause/resume controls.
|
|
643
|
-
*/
|
|
585
|
+
/** Provider goal exposes a real paused state and pause/resume controls. */
|
|
644
586
|
goalPauseSupported: boolean;
|
|
645
|
-
usage: AgentActivityUsage | null;
|
|
646
|
-
backgroundAgentCount: number;
|
|
647
|
-
/** Codex plan turn finished: offer the TUI-equivalent implement prompt. */
|
|
648
|
-
listError: string | null;
|
|
649
|
-
isDeletingConversation: boolean;
|
|
650
|
-
isDeletingProjectConversations: boolean;
|
|
651
|
-
pendingDeleteConversation: AgentGUIConversationSummary | null;
|
|
652
|
-
pendingDeleteProjectConversations: AgentGUIProjectConversationDeleteTarget | null;
|
|
653
|
-
pendingDeleteConversations: AgentGUIConversationSectionDeleteTarget | null;
|
|
654
|
-
pendingApproval: AgentGUIApprovalRequest | null;
|
|
655
|
-
pendingInteractivePrompt: AgentGUIInteractivePrompt | null;
|
|
656
|
-
activeLiveState: "inactive" | "activating" | "active" | "failed";
|
|
657
|
-
activationError: string | null;
|
|
658
|
-
openclawGateway: OpenclawGatewayViewState | null;
|
|
659
|
-
activeConversationBusy: boolean;
|
|
660
587
|
canSubmit: boolean;
|
|
661
588
|
composerSettings: AgentGUIComposerSettingsVM;
|
|
662
|
-
queuedPrompts:
|
|
589
|
+
queuedPrompts: AgentGUIQueuedPromptVM[];
|
|
663
590
|
drainingQueuedPromptId: string | null;
|
|
664
591
|
canQueueWhileBusy: boolean;
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
592
|
+
}
|
|
593
|
+
interface AgentGUIInteractionViewModel {
|
|
594
|
+
isRespondingApproval: boolean;
|
|
595
|
+
pendingApproval: AgentGUIApprovalRequest | null;
|
|
596
|
+
pendingInteractivePrompt: AgentGUIInteractivePrompt | null;
|
|
669
597
|
sessionChrome: AgentGUISessionChrome;
|
|
670
598
|
inlineNotice: AgentGUIInlineNotice | null;
|
|
599
|
+
}
|
|
600
|
+
interface AgentGUIReadinessViewModel {
|
|
601
|
+
activeLiveState: "inactive" | "activating" | "active" | "failed";
|
|
602
|
+
activationError: string | null;
|
|
603
|
+
activeConversationBusy: boolean;
|
|
671
604
|
providerReadinessGate: AgentGUIProviderReadinessGate | null;
|
|
672
605
|
}
|
|
606
|
+
interface AgentGUIOperationsViewModel {
|
|
607
|
+
isDeletingConversation: boolean;
|
|
608
|
+
isDeletingProjectConversations: boolean;
|
|
609
|
+
pendingDeleteConversation: AgentGUIConversationSummary | null;
|
|
610
|
+
pendingDeleteProjectConversations: AgentGUIProjectConversationDeleteTarget | null;
|
|
611
|
+
}
|
|
612
|
+
interface AgentGUINodeViewModel {
|
|
613
|
+
shell: AgentGUIShellViewModel;
|
|
614
|
+
rail: AgentGUIRailViewModel;
|
|
615
|
+
detail: AgentGUIDetailViewModel;
|
|
616
|
+
composer: AgentGUIComposerViewModel;
|
|
617
|
+
interaction: AgentGUIInteractionViewModel;
|
|
618
|
+
readiness: AgentGUIReadinessViewModel;
|
|
619
|
+
operations: AgentGUIOperationsViewModel;
|
|
620
|
+
}
|
|
673
621
|
|
|
674
|
-
export {
|
|
622
|
+
export type { AgentComposerDraft as A, PersistWriteResult as P, ReadWorkspaceAgentReadStateInput as R, WorkspaceAgentReadStateSnapshot as W, AgentGUIComposerSettingsVM as a, AgentGUINodeViewModel as b, AgentGUIProviderSkillOption as c, AgentGUIQueuedPromptVM as d, AgentHostApi as e, AgentHostApplyWorkspaceGitPatchInput as f, AgentHostInputApi as g, AgentHostRuntimeApi as h, AgentHostSelectFilesInput as i, AgentMessageMarkdownWorkspaceAppIcon as j, AgentProbeProvider as k, AgentProbeSnapshot as l, AgentProviderProbeListInput as m, AgentProviderProbeListResult as n, AgentSessionCommand as o, AgentSlashCommandCapability as p, AgentUsageQuota as q, AgentUsageSnapshot as r, WriteWorkspaceAgentReadStateInput as s };
|