@tutti-os/agent-gui 0.0.93 → 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 +13 -9
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-env/index.d.ts +14 -38
- package/dist/agent-env/index.js +2 -57
- 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 -122
- package/dist/agent-message-center/index.js +1473 -1398
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{agentConversationVM-CfXN_TQ2.d.ts → agentConversationVM-C335TR6S.d.ts} +112 -7
- package/dist/agentFileMentionContracts-Czvz6YMI.d.ts +107 -0
- package/dist/{agentGuiNodeTypes-rGaDqxVR.d.ts → agentGuiNodeTypes-DppADPHW.d.ts} +102 -149
- 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 +431 -75
- package/dist/app/renderer/assets/icons/agent-vinyl-player-chassis.png +0 -0
- package/dist/app/renderer/assets/icons/agent-vinyl-tonearm.png +0 -0
- package/dist/app/renderer/assets/icons/agent-vinyls/claude-vinyl.png +0 -0
- package/dist/app/renderer/assets/icons/agent-vinyls/codex-vinyl.png +0 -0
- package/dist/app/renderer/assets/icons/agent-vinyls/cursor-vinyl.png +0 -0
- package/dist/app/renderer/assets/icons/agent-vinyls/hermes-vinyl.png +0 -0
- package/dist/app/renderer/assets/icons/agent-vinyls/openclaw-vinyl.png +0 -0
- package/dist/app/renderer/assets/icons/agent-vinyls/opencode-vinyl.png +0 -0
- 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-7QHBFRG5.js → chunk-3R2D4E57.js} +3137 -3396
- 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-KQE5KV2V.js → chunk-7PFDA2HQ.js} +505 -504
- package/dist/chunk-7PFDA2HQ.js.map +1 -0
- package/dist/{chunk-M2LWH54R.js → chunk-7RDD3EWP.js} +557 -569
- package/dist/chunk-7RDD3EWP.js.map +1 -0
- package/dist/{chunk-VWXFFSIM.js → chunk-AOS2VWU6.js} +1357 -1301
- package/dist/chunk-AOS2VWU6.js.map +1 -0
- package/dist/{chunk-3HARXLAZ.js → chunk-BFNJKTDV.js} +295 -255
- package/dist/chunk-BFNJKTDV.js.map +1 -0
- package/dist/{chunk-U7D7G3UU.js → chunk-BIHBXWK5.js} +2 -2
- package/dist/{chunk-XQUUELKF.js → chunk-C5FV4UGI.js} +2921 -2944
- package/dist/chunk-C5FV4UGI.js.map +1 -0
- package/dist/{chunk-HOSX5C5V.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-4SQNOOJ3.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-AOVPGJBC.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-PSLAWU25.js → chunk-R2EWECUP.js} +7 -1
- package/dist/chunk-R2EWECUP.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-SXDLSEHO.js → chunk-XMO45GKA.js} +531 -401
- package/dist/chunk-XMO45GKA.js.map +1 -0
- package/dist/{chunk-UNO7CEAF.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 +852 -837
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +52 -1061
- package/dist/index.js +72 -35254
- 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 +6 -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 +65 -28
- package/dist/AgentMentionSearchController-DD_WOred.d.ts +0 -241
- package/dist/AgentMessageMarkdown-DeYPURtF.d.ts +0 -7
- package/dist/chunk-3HARXLAZ.js.map +0 -1
- 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-4SQNOOJ3.js.map +0 -1
- package/dist/chunk-7LMJXF4R.js.map +0 -1
- package/dist/chunk-7QHBFRG5.js.map +0 -1
- package/dist/chunk-HOSX5C5V.js.map +0 -1
- package/dist/chunk-IBIMGLCD.js.map +0 -1
- package/dist/chunk-KQE5KV2V.js.map +0 -1
- package/dist/chunk-LR4FA5X6.js +0 -368
- package/dist/chunk-LR4FA5X6.js.map +0 -1
- package/dist/chunk-M2LWH54R.js.map +0 -1
- package/dist/chunk-MKHDRIGN.js +0 -71
- package/dist/chunk-MKHDRIGN.js.map +0 -1
- package/dist/chunk-PSLAWU25.js.map +0 -1
- package/dist/chunk-SXDLSEHO.js.map +0 -1
- package/dist/chunk-UNO7CEAF.js.map +0 -1
- package/dist/chunk-VAKFNNKT.js +0 -410
- package/dist/chunk-VAKFNNKT.js.map +0 -1
- package/dist/chunk-VWXFFSIM.js.map +0 -1
- package/dist/chunk-XDV4ZRVK.js.map +0 -1
- package/dist/chunk-XQUUELKF.js.map +0 -1
- package/dist/chunk-XW4CVBUH.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-TXH1VXrk.d.ts +0 -339
- 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-U7D7G3UU.js.map → chunk-BIHBXWK5.js.map} +0 -0
- /package/dist/{chunk-AOVPGJBC.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;
|
|
@@ -463,13 +411,14 @@ interface AgentGUISessionChrome {
|
|
|
463
411
|
kind: "activating" | "failed" | "warning";
|
|
464
412
|
message: string;
|
|
465
413
|
canRetry?: boolean;
|
|
466
|
-
followupAction?:
|
|
414
|
+
followupAction?: never;
|
|
415
|
+
} | {
|
|
416
|
+
kind: "resume-unavailable";
|
|
417
|
+
message: string;
|
|
418
|
+
followupAction: "continue-in-new-conversation";
|
|
419
|
+
canRetry?: never;
|
|
467
420
|
} | null;
|
|
468
|
-
rawState:
|
|
469
|
-
}
|
|
470
|
-
interface OpenclawGatewayViewState {
|
|
471
|
-
status: "starting" | "ready" | "failed";
|
|
472
|
-
error: string | null;
|
|
421
|
+
rawState: CanonicalAgentSession | null;
|
|
473
422
|
}
|
|
474
423
|
interface AgentGUIInlineNotice {
|
|
475
424
|
id: string;
|
|
@@ -478,13 +427,10 @@ interface AgentGUIInlineNotice {
|
|
|
478
427
|
autoDismissMs: number | null;
|
|
479
428
|
}
|
|
480
429
|
interface AgentGUIProjectConversationDeleteTarget {
|
|
481
|
-
conversationCount: number
|
|
430
|
+
conversationCount: number;
|
|
482
431
|
label: string;
|
|
483
432
|
path: string;
|
|
484
433
|
}
|
|
485
|
-
interface AgentGUIConversationSectionDeleteTarget {
|
|
486
|
-
conversationCount: number | null;
|
|
487
|
-
}
|
|
488
434
|
interface AgentGUIComposerSettingOption {
|
|
489
435
|
value: string;
|
|
490
436
|
label: string;
|
|
@@ -494,6 +440,8 @@ interface AgentGUIComposerSettingOption {
|
|
|
494
440
|
interface AgentGUIProviderSkillOption {
|
|
495
441
|
name: string;
|
|
496
442
|
trigger: string;
|
|
443
|
+
/** Daemon-issued invocation contract; never infer this from provider id. */
|
|
444
|
+
invocation?: "promptItem" | "textTrigger";
|
|
497
445
|
sourceKind: "project" | "personal" | "bundled" | "plugin" | "system" | "tutti-injected" | "connector";
|
|
498
446
|
description?: string;
|
|
499
447
|
pluginName?: string;
|
|
@@ -532,21 +480,7 @@ interface AgentComposerDraftLargeText {
|
|
|
532
480
|
uploading?: boolean;
|
|
533
481
|
uploadError?: string;
|
|
534
482
|
}
|
|
535
|
-
|
|
536
|
-
* Marks a prompt `file` content block as a pasted-text attachment (as opposed
|
|
537
|
-
* to a user-attached file). Carried on the block `kind` so the round-trip
|
|
538
|
-
* (submit → queue → edit-restore) can rebuild a large-text chip instead of a
|
|
539
|
-
* regular file chip, and so the codex-style "read this file" instruction is
|
|
540
|
-
* materialized only for these blocks at send time.
|
|
541
|
-
*/
|
|
542
|
-
declare const AGENT_PASTED_TEXT_BLOCK_KIND = "pasted-text";
|
|
543
|
-
/**
|
|
544
|
-
* Provider id of the custom mention kind used to render a pasted-text chip in
|
|
545
|
-
* the conversation flow. The mention href (`mention://pasted-text/...`) carries
|
|
546
|
-
* the landed archive path + size so the host can render the chip and open a
|
|
547
|
-
* preview on click. Registered via registerAgentCustomMentionKind.
|
|
548
|
-
*/
|
|
549
|
-
declare const AGENT_PASTED_TEXT_MENTION_KIND = "pasted-text";
|
|
483
|
+
|
|
550
484
|
interface AgentComposerDraft {
|
|
551
485
|
prompt: string;
|
|
552
486
|
images: AgentComposerDraftImage[];
|
|
@@ -572,7 +506,11 @@ interface AgentGUIComposerSettingsVM {
|
|
|
572
506
|
planExclusiveWithPermissionMode?: boolean;
|
|
573
507
|
supportsBrowser?: boolean;
|
|
574
508
|
supportsComputerUse?: boolean;
|
|
509
|
+
permissionModeChangeDuringTurn?: boolean;
|
|
510
|
+
slashCommandPolicy?: AgentSlashCommandPolicy | null;
|
|
575
511
|
isSettingsLoading: boolean;
|
|
512
|
+
/** Initial slash command and capability catalog request is in flight. */
|
|
513
|
+
isCapabilityOptionsLoading?: boolean;
|
|
576
514
|
isModelOptionsLoading?: boolean;
|
|
577
515
|
modelUnavailable: boolean;
|
|
578
516
|
reasoningUnavailable: boolean;
|
|
@@ -586,7 +524,7 @@ interface AgentGUIComposerSettingsVM {
|
|
|
586
524
|
selectedProjectPath?: string | null;
|
|
587
525
|
projectLocked?: boolean;
|
|
588
526
|
projectPathIsRemote?: boolean;
|
|
589
|
-
|
|
527
|
+
collapseModelOptionsToLatest?: boolean;
|
|
590
528
|
availableModels: AgentGUIComposerSettingOption[];
|
|
591
529
|
availableReasoningEfforts: AgentGUIComposerSettingOption[];
|
|
592
530
|
availableSpeeds: AgentGUIComposerSettingOption[];
|
|
@@ -599,71 +537,86 @@ interface AgentGUIQueuedPromptVM {
|
|
|
599
537
|
displayPrompt?: string;
|
|
600
538
|
createdAtUnixMs: number;
|
|
601
539
|
}
|
|
602
|
-
interface
|
|
540
|
+
interface AgentGUIShellViewModel {
|
|
603
541
|
workspaceId: string;
|
|
604
542
|
workspacePath?: string | null;
|
|
605
543
|
currentUserId?: string | null;
|
|
606
544
|
data: AgentGUINodeData;
|
|
545
|
+
}
|
|
546
|
+
interface AgentGUIRailViewModel {
|
|
607
547
|
selectedAgentTarget: AgentGUIAgentTarget;
|
|
608
548
|
agentTargets: readonly AgentGUIAgentTarget[];
|
|
609
|
-
handoffAgentTargets: readonly AgentGUIAgentTarget[];
|
|
610
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[];
|
|
611
554
|
conversationFilter: AgentGUIConversationFilter;
|
|
612
555
|
conversations: AgentGUIConversationSummary[];
|
|
613
556
|
userProjects: AgentGUIConversationUserProject[];
|
|
614
557
|
activeConversation: AgentGUIConversationSummary | null;
|
|
615
558
|
activeConversationId: string | null;
|
|
616
|
-
availableCommands: AgentSessionCommand[];
|
|
617
|
-
availableSkills: AgentGUIProviderSkillOption[];
|
|
618
|
-
draftPrompt: string;
|
|
619
|
-
draftContent: AgentComposerDraft;
|
|
620
559
|
isLoadingConversations: boolean;
|
|
560
|
+
listError: string | null;
|
|
561
|
+
}
|
|
562
|
+
interface AgentGUIDetailViewModel {
|
|
621
563
|
isLoadingMessages: boolean;
|
|
622
564
|
isLoadingOlderMessages: boolean;
|
|
623
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;
|
|
624
579
|
isCreatingConversation: boolean;
|
|
625
580
|
isSubmitting: boolean;
|
|
626
581
|
isInterrupting: boolean;
|
|
627
582
|
isCancelPending: boolean;
|
|
628
|
-
isRespondingApproval: boolean;
|
|
629
|
-
canCancel: boolean;
|
|
630
|
-
canSubmitInteractive: boolean;
|
|
631
|
-
canGoalControl: boolean;
|
|
632
|
-
canUploadAttachment: boolean;
|
|
633
583
|
promptImagesSupported: boolean;
|
|
634
584
|
compactSupported: boolean | null;
|
|
635
|
-
/**
|
|
636
|
-
* Provider goal supports a real paused state (codex thread goals). Claude
|
|
637
|
-
* Code's goal has none — the banner then omits pause/resume controls.
|
|
638
|
-
*/
|
|
585
|
+
/** Provider goal exposes a real paused state and pause/resume controls. */
|
|
639
586
|
goalPauseSupported: boolean;
|
|
640
|
-
usage: AgentActivityUsage | null;
|
|
641
|
-
backgroundAgentCount: number;
|
|
642
|
-
/** Codex plan turn finished: offer the TUI-equivalent implement prompt. */
|
|
643
|
-
listError: string | null;
|
|
644
|
-
isDeletingConversation: boolean;
|
|
645
|
-
isDeletingProjectConversations: boolean;
|
|
646
|
-
pendingDeleteConversation: AgentGUIConversationSummary | null;
|
|
647
|
-
pendingDeleteProjectConversations: AgentGUIProjectConversationDeleteTarget | null;
|
|
648
|
-
pendingDeleteConversations: AgentGUIConversationSectionDeleteTarget | null;
|
|
649
|
-
pendingApproval: AgentGUIApprovalRequest | null;
|
|
650
|
-
pendingInteractivePrompt: AgentGUIInteractivePrompt | null;
|
|
651
|
-
activeLiveState: "inactive" | "activating" | "active" | "failed";
|
|
652
|
-
activationError: string | null;
|
|
653
|
-
openclawGateway: OpenclawGatewayViewState | null;
|
|
654
|
-
activeConversationBusy: boolean;
|
|
655
587
|
canSubmit: boolean;
|
|
656
588
|
composerSettings: AgentGUIComposerSettingsVM;
|
|
657
|
-
queuedPrompts:
|
|
589
|
+
queuedPrompts: AgentGUIQueuedPromptVM[];
|
|
658
590
|
drainingQueuedPromptId: string | null;
|
|
659
591
|
canQueueWhileBusy: boolean;
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
592
|
+
}
|
|
593
|
+
interface AgentGUIInteractionViewModel {
|
|
594
|
+
isRespondingApproval: boolean;
|
|
595
|
+
pendingApproval: AgentGUIApprovalRequest | null;
|
|
596
|
+
pendingInteractivePrompt: AgentGUIInteractivePrompt | null;
|
|
664
597
|
sessionChrome: AgentGUISessionChrome;
|
|
665
598
|
inlineNotice: AgentGUIInlineNotice | null;
|
|
599
|
+
}
|
|
600
|
+
interface AgentGUIReadinessViewModel {
|
|
601
|
+
activeLiveState: "inactive" | "activating" | "active" | "failed";
|
|
602
|
+
activationError: string | null;
|
|
603
|
+
activeConversationBusy: boolean;
|
|
666
604
|
providerReadinessGate: AgentGUIProviderReadinessGate | null;
|
|
667
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
|
+
}
|
|
668
621
|
|
|
669
|
-
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 };
|