@tutti-os/agent-gui 0.0.9 → 0.0.11
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/dist/AgentMessageMarkdown-DeYPURtF.d.ts +7 -0
- package/dist/agent-conversation/index.d.ts +135 -0
- package/dist/agent-conversation/index.js +77 -0
- package/dist/agent-conversation/index.js.map +1 -0
- package/dist/agent-message-center/index.d.ts +45 -46
- package/dist/agent-message-center/index.js +1799 -1166
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/agent-rich-text-at-provider.d.ts +15 -1
- package/dist/agent-rich-text-at-provider.js +1 -1
- package/dist/agentConversationVM-BtHYOTgv.d.ts +342 -0
- package/dist/app/renderer/agentactivity.css +208 -0
- package/dist/{chunk-KCC3GNPB.js → chunk-77HBKGHF.js} +1 -1
- package/dist/chunk-77HBKGHF.js.map +1 -0
- package/dist/{chunk-T6U7AB7F.js → chunk-B7K776UD.js} +47 -3
- package/dist/chunk-B7K776UD.js.map +1 -0
- package/dist/{chunk-CUQJ3VO3.js → chunk-CGBRAWTD.js} +282 -2531
- package/dist/chunk-CGBRAWTD.js.map +1 -0
- package/dist/{chunk-3D5VTIKP.js → chunk-IBIMGLCD.js} +1 -28
- package/dist/chunk-IBIMGLCD.js.map +1 -0
- package/dist/{chunk-EHLA6MSQ.js → chunk-ITMKZRCT.js} +9 -19
- package/dist/chunk-ITMKZRCT.js.map +1 -0
- package/dist/chunk-MKHDRIGN.js +71 -0
- package/dist/chunk-MKHDRIGN.js.map +1 -0
- package/dist/chunk-QTZALZIV.js +2640 -0
- package/dist/chunk-QTZALZIV.js.map +1 -0
- package/dist/chunk-TYGL25EL.js +30 -0
- package/dist/chunk-TYGL25EL.js.map +1 -0
- package/dist/chunk-XJ34OIEQ.js +18 -0
- package/dist/chunk-XJ34OIEQ.js.map +1 -0
- package/dist/chunk-ZEFETOTS.js +13293 -0
- package/dist/chunk-ZEFETOTS.js.map +1 -0
- package/dist/i18n/index.d.ts +46 -2
- package/dist/i18n/index.js +1 -1
- package/dist/index.d.ts +9 -8
- package/dist/index.js +9713 -21513
- package/dist/index.js.map +1 -1
- package/dist/plan-decision-ops.d.ts +70 -0
- package/dist/plan-decision-ops.js +19 -0
- package/dist/plan-decision-ops.js.map +1 -0
- package/dist/workspace-agent-generated-files.d.ts +1 -1
- package/dist/workspace-agent-generated-files.js +5 -3
- package/dist/{workspaceAgentActivityListViewModel-Be4zm3nk.d.ts → workspaceAgentActivityListViewModel-BLLYGuFO.d.ts} +36 -2
- package/package.json +24 -10
- package/dist/chunk-3D5VTIKP.js.map +0 -1
- package/dist/chunk-CUQJ3VO3.js.map +0 -1
- package/dist/chunk-EHLA6MSQ.js.map +0 -1
- package/dist/chunk-KCC3GNPB.js.map +0 -1
- package/dist/chunk-T6U7AB7F.js.map +0 -1
|
@@ -12,6 +12,7 @@ interface AgentRichTextAtProviderContext {
|
|
|
12
12
|
interface AgentRichTextAtQueryInput {
|
|
13
13
|
keyword: string;
|
|
14
14
|
maxResults?: number;
|
|
15
|
+
cursor?: string;
|
|
15
16
|
abortSignal?: AbortSignal;
|
|
16
17
|
context: AgentRichTextAtProviderContext;
|
|
17
18
|
}
|
|
@@ -36,6 +37,18 @@ interface AgentRichTextTextInsertResult {
|
|
|
36
37
|
text: string;
|
|
37
38
|
}
|
|
38
39
|
type AgentRichTextAtInsertResult = AgentRichTextMentionInsertResult | AgentRichTextMarkdownLinkInsertResult | AgentRichTextTextInsertResult;
|
|
40
|
+
interface AgentRichTextAtReferenceItem {
|
|
41
|
+
key?: string;
|
|
42
|
+
label: string;
|
|
43
|
+
subtitle?: string | null;
|
|
44
|
+
thumbnailUrl?: string | null;
|
|
45
|
+
insertResult: AgentRichTextAtInsertResult;
|
|
46
|
+
}
|
|
47
|
+
interface AgentRichTextAtReferenceItemsResult {
|
|
48
|
+
items: readonly AgentRichTextAtReferenceItem[];
|
|
49
|
+
nextCursor?: string | null;
|
|
50
|
+
}
|
|
51
|
+
type AgentRichTextAtReferenceItemsResponse = readonly AgentRichTextAtReferenceItem[] | AgentRichTextAtReferenceItemsResult;
|
|
39
52
|
interface AgentRichTextAtProvider<TItem = any> {
|
|
40
53
|
id: string;
|
|
41
54
|
query: (input: AgentRichTextAtQueryInput) => Promise<readonly TItem[]> | readonly TItem[];
|
|
@@ -43,7 +56,8 @@ interface AgentRichTextAtProvider<TItem = any> {
|
|
|
43
56
|
getItemLabel: (item: TItem) => string;
|
|
44
57
|
getItemSubtitle?: (item: TItem) => string | null | undefined;
|
|
45
58
|
getItemThumbnailUrl?: (item: TItem) => string | null | undefined | Promise<string | null | undefined>;
|
|
59
|
+
getItemReferenceItems?: (item: TItem, input: AgentRichTextAtQueryInput) => Promise<AgentRichTextAtReferenceItemsResponse> | AgentRichTextAtReferenceItemsResponse;
|
|
46
60
|
toInsertResult: (item: TItem) => AgentRichTextAtInsertResult;
|
|
47
61
|
}
|
|
48
62
|
|
|
49
|
-
export { AGENT_GUI_MENTION_PROVIDER_IDS, type AgentGUIMentionProviderId, type AgentRichTextAtInsertResult, type AgentRichTextAtProvider, type AgentRichTextAtProviderContext, type AgentRichTextAtQueryInput, type AgentRichTextMarkdownLinkInsertResult, type AgentRichTextMentionInsert, type AgentRichTextMentionInsertResult, type AgentRichTextTextInsertResult };
|
|
63
|
+
export { AGENT_GUI_MENTION_PROVIDER_IDS, type AgentGUIMentionProviderId, type AgentRichTextAtInsertResult, type AgentRichTextAtProvider, type AgentRichTextAtProviderContext, type AgentRichTextAtQueryInput, type AgentRichTextAtReferenceItem, type AgentRichTextAtReferenceItemsResponse, type AgentRichTextAtReferenceItemsResult, type AgentRichTextMarkdownLinkInsertResult, type AgentRichTextMentionInsert, type AgentRichTextMentionInsertResult, type AgentRichTextTextInsertResult };
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import { W as WorkspaceAgentActivityCard, n as WorkspaceAgentActivitySession, T as ToolCallStatusKind, p as WorkspaceAgentActivityTimelineItem } from './workspaceAgentActivityListViewModel-BLLYGuFO.js';
|
|
2
|
+
|
|
3
|
+
interface WorkspaceAgentSessionDetailMessage {
|
|
4
|
+
id: string;
|
|
5
|
+
body: string;
|
|
6
|
+
status?: string | null;
|
|
7
|
+
statusKind?: ToolCallStatusKind | null;
|
|
8
|
+
turnId?: string;
|
|
9
|
+
occurredAtUnixMs?: number | null;
|
|
10
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
11
|
+
visibleError?: {
|
|
12
|
+
code: string | null;
|
|
13
|
+
phase: string | null;
|
|
14
|
+
provider: string | null;
|
|
15
|
+
detail: string | null;
|
|
16
|
+
retryable: boolean | null;
|
|
17
|
+
} | null;
|
|
18
|
+
systemNotice?: {
|
|
19
|
+
noticeKind: string | null;
|
|
20
|
+
severity: string | null;
|
|
21
|
+
title: string | null;
|
|
22
|
+
detail: string | null;
|
|
23
|
+
retryable: boolean | null;
|
|
24
|
+
} | null;
|
|
25
|
+
}
|
|
26
|
+
interface WorkspaceAgentSessionDetailThinking {
|
|
27
|
+
id: string;
|
|
28
|
+
body: string;
|
|
29
|
+
statusKind?: ToolCallStatusKind | null;
|
|
30
|
+
turnId?: string;
|
|
31
|
+
occurredAtUnixMs?: number | null;
|
|
32
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
33
|
+
}
|
|
34
|
+
interface WorkspaceAgentSessionDetailToolCall {
|
|
35
|
+
id: string;
|
|
36
|
+
name: string;
|
|
37
|
+
toolName: string | null;
|
|
38
|
+
callType: string | null;
|
|
39
|
+
status: string | null;
|
|
40
|
+
statusKind: ToolCallStatusKind | null;
|
|
41
|
+
summary: string;
|
|
42
|
+
payload: Record<string, unknown> | null;
|
|
43
|
+
turnId?: string;
|
|
44
|
+
compactSummary?: string | null;
|
|
45
|
+
occurredAtUnixMs?: number | null;
|
|
46
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
47
|
+
}
|
|
48
|
+
type WorkspaceAgentSessionDetailToolGroupEntry = {
|
|
49
|
+
kind: "thinking";
|
|
50
|
+
thinking: WorkspaceAgentSessionDetailThinking;
|
|
51
|
+
} | {
|
|
52
|
+
kind: "tool-call";
|
|
53
|
+
call: WorkspaceAgentSessionDetailToolCall;
|
|
54
|
+
};
|
|
55
|
+
type WorkspaceAgentSessionDetailAgentItem = {
|
|
56
|
+
kind: "message";
|
|
57
|
+
message: WorkspaceAgentSessionDetailMessage;
|
|
58
|
+
} | {
|
|
59
|
+
kind: "thinking";
|
|
60
|
+
thinking: WorkspaceAgentSessionDetailThinking;
|
|
61
|
+
} | {
|
|
62
|
+
kind: "tool-calls";
|
|
63
|
+
id: string;
|
|
64
|
+
toolCalls: WorkspaceAgentSessionDetailToolCall[];
|
|
65
|
+
toolCallCount: number;
|
|
66
|
+
hasFailedToolCall: boolean;
|
|
67
|
+
summary?: string | null;
|
|
68
|
+
groupEntries?: WorkspaceAgentSessionDetailToolGroupEntry[];
|
|
69
|
+
};
|
|
70
|
+
interface WorkspaceAgentSessionDetailTurn {
|
|
71
|
+
id: string;
|
|
72
|
+
userMessage: WorkspaceAgentSessionDetailMessage | null;
|
|
73
|
+
userMessages: WorkspaceAgentSessionDetailMessage[];
|
|
74
|
+
agentMessages: WorkspaceAgentSessionDetailMessage[];
|
|
75
|
+
toolCalls: WorkspaceAgentSessionDetailToolCall[];
|
|
76
|
+
toolCallCount: number;
|
|
77
|
+
hasFailedToolCall: boolean;
|
|
78
|
+
rawAgentItems?: WorkspaceAgentSessionDetailAgentItem[];
|
|
79
|
+
agentItems: WorkspaceAgentSessionDetailAgentItem[];
|
|
80
|
+
}
|
|
81
|
+
interface WorkspaceAgentSessionDetailViewModel {
|
|
82
|
+
activity: WorkspaceAgentActivityCard;
|
|
83
|
+
session: WorkspaceAgentActivitySession;
|
|
84
|
+
cwd: string;
|
|
85
|
+
workspaceRoot: string | null;
|
|
86
|
+
turns: WorkspaceAgentSessionDetailTurn[];
|
|
87
|
+
showProcessingIndicator?: boolean;
|
|
88
|
+
}
|
|
89
|
+
interface BuildWorkspaceAgentSessionDetailInput {
|
|
90
|
+
activity: WorkspaceAgentActivityCard;
|
|
91
|
+
session: WorkspaceAgentActivitySession;
|
|
92
|
+
timelineItems: WorkspaceAgentActivityTimelineItem[];
|
|
93
|
+
workspaceRoot?: string | null;
|
|
94
|
+
}
|
|
95
|
+
declare function buildWorkspaceAgentSessionDetailViewModel(input: BuildWorkspaceAgentSessionDetailInput): WorkspaceAgentSessionDetailViewModel;
|
|
96
|
+
|
|
97
|
+
interface AgentApprovalOptionVM {
|
|
98
|
+
id: string;
|
|
99
|
+
label: string;
|
|
100
|
+
kind: string;
|
|
101
|
+
description?: string;
|
|
102
|
+
}
|
|
103
|
+
interface AgentApprovalItemVM {
|
|
104
|
+
kind: "approval";
|
|
105
|
+
id: string;
|
|
106
|
+
turnId: string;
|
|
107
|
+
requestId: string;
|
|
108
|
+
callId: string;
|
|
109
|
+
title: string;
|
|
110
|
+
toolName: string | null;
|
|
111
|
+
status: string | null;
|
|
112
|
+
input: Record<string, unknown> | null;
|
|
113
|
+
options: AgentApprovalOptionVM[];
|
|
114
|
+
output?: Record<string, unknown> | null;
|
|
115
|
+
occurredAtUnixMs: number | null;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
interface AgentAskUserQuestionOptionVM {
|
|
119
|
+
label: string;
|
|
120
|
+
description: string;
|
|
121
|
+
}
|
|
122
|
+
interface AgentAskUserQuestionVM {
|
|
123
|
+
id: string;
|
|
124
|
+
header: string;
|
|
125
|
+
question: string;
|
|
126
|
+
options: AgentAskUserQuestionOptionVM[];
|
|
127
|
+
multiSelect: boolean;
|
|
128
|
+
answer?: string | string[] | null;
|
|
129
|
+
}
|
|
130
|
+
interface AgentAskUserQuestionItemVM {
|
|
131
|
+
kind: "ask-user";
|
|
132
|
+
id: string;
|
|
133
|
+
turnId: string;
|
|
134
|
+
requestId: string;
|
|
135
|
+
title: string;
|
|
136
|
+
status: string | null;
|
|
137
|
+
questions: AgentAskUserQuestionVM[];
|
|
138
|
+
occurredAtUnixMs: number | null;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
interface AgentMessageContentVM {
|
|
142
|
+
kind: "message-content";
|
|
143
|
+
id: string;
|
|
144
|
+
turnId: string;
|
|
145
|
+
body: string;
|
|
146
|
+
copyText?: string | null;
|
|
147
|
+
statusKind?: ToolCallStatusKind | null;
|
|
148
|
+
contentKind?: "text" | "image-grid" | "plan";
|
|
149
|
+
images?: AgentMessageImageVM[];
|
|
150
|
+
occurredAtUnixMs: number | null;
|
|
151
|
+
visibleError?: {
|
|
152
|
+
code: string | null;
|
|
153
|
+
phase: string | null;
|
|
154
|
+
provider: string | null;
|
|
155
|
+
detail: string | null;
|
|
156
|
+
retryable: boolean | null;
|
|
157
|
+
} | null;
|
|
158
|
+
systemNotice?: {
|
|
159
|
+
noticeKind: string | null;
|
|
160
|
+
severity: string | null;
|
|
161
|
+
title: string | null;
|
|
162
|
+
detail: string | null;
|
|
163
|
+
retryable: boolean | null;
|
|
164
|
+
} | null;
|
|
165
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
166
|
+
}
|
|
167
|
+
interface AgentMessageImageVM {
|
|
168
|
+
id: string;
|
|
169
|
+
workspaceId?: string | null;
|
|
170
|
+
agentSessionId: string;
|
|
171
|
+
attachmentId?: string | null;
|
|
172
|
+
mimeType: string;
|
|
173
|
+
name?: string | null;
|
|
174
|
+
data?: string | null;
|
|
175
|
+
}
|
|
176
|
+
interface AgentThinkingContentVM {
|
|
177
|
+
kind: "thinking-content";
|
|
178
|
+
id: string;
|
|
179
|
+
turnId: string;
|
|
180
|
+
body: string;
|
|
181
|
+
statusKind?: ToolCallStatusKind | null;
|
|
182
|
+
occurredAtUnixMs: number | null;
|
|
183
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
184
|
+
}
|
|
185
|
+
interface AgentMessageRowVM {
|
|
186
|
+
kind: "message";
|
|
187
|
+
id: string;
|
|
188
|
+
turnId: string;
|
|
189
|
+
speaker: "user" | "assistant";
|
|
190
|
+
messages: AgentMessageContentVM[];
|
|
191
|
+
thinking: AgentThinkingContentVM[];
|
|
192
|
+
occurredAtUnixMs: number | null;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
interface AgentProcessingRowVM {
|
|
196
|
+
kind: "processing";
|
|
197
|
+
id: string;
|
|
198
|
+
turnId: string | null;
|
|
199
|
+
label?: string | null;
|
|
200
|
+
occurredAtUnixMs: number | null;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
type AgentPlanModeKind = "enter" | "exit";
|
|
204
|
+
interface AgentPlanModeItemVM {
|
|
205
|
+
itemKind: "plan-mode";
|
|
206
|
+
id: string;
|
|
207
|
+
turnId: string;
|
|
208
|
+
requestId?: string;
|
|
209
|
+
kind: AgentPlanModeKind;
|
|
210
|
+
title: string;
|
|
211
|
+
plan?: string | null;
|
|
212
|
+
status: string | null;
|
|
213
|
+
filePath?: string | null;
|
|
214
|
+
occurredAtUnixMs: number | null;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
interface AgentTaskStepVM {
|
|
218
|
+
id: string;
|
|
219
|
+
turnId: string;
|
|
220
|
+
name: string;
|
|
221
|
+
toolName: string | null;
|
|
222
|
+
status: string | null;
|
|
223
|
+
summary: string;
|
|
224
|
+
payload: Record<string, unknown> | null;
|
|
225
|
+
tool: AgentToolCallVM | null;
|
|
226
|
+
occurredAtUnixMs: number | null;
|
|
227
|
+
}
|
|
228
|
+
interface AgentTaskItemVM {
|
|
229
|
+
kind: "task";
|
|
230
|
+
id: string;
|
|
231
|
+
turnId: string;
|
|
232
|
+
title: string;
|
|
233
|
+
status: string | null;
|
|
234
|
+
prompt?: string | null;
|
|
235
|
+
delegateSessionId?: string | null;
|
|
236
|
+
steps: AgentTaskStepVM[];
|
|
237
|
+
result?: string | null;
|
|
238
|
+
resultMarkdown?: string | null;
|
|
239
|
+
durationMs?: number | null;
|
|
240
|
+
occurredAtUnixMs: number | null;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
type AgentToolRendererKind = "default" | "approval" | "plan-enter" | "plan-exit" | "ask-user" | "task" | "read" | "write" | "edit" | "bash" | "search" | "web-search" | "web-fetch" | "image-generation" | "todo-write" | "tool-search" | "skill" | "mcp";
|
|
244
|
+
interface AgentToolCallVM {
|
|
245
|
+
kind: "tool-call";
|
|
246
|
+
id: string;
|
|
247
|
+
turnId: string;
|
|
248
|
+
name: string;
|
|
249
|
+
toolName: string | null;
|
|
250
|
+
callType: string | null;
|
|
251
|
+
status: string | null;
|
|
252
|
+
statusKind: ToolCallStatusKind | null;
|
|
253
|
+
summary: string;
|
|
254
|
+
compactSummary: string | null;
|
|
255
|
+
payload: Record<string, unknown> | null;
|
|
256
|
+
toolState: Record<string, unknown> | null;
|
|
257
|
+
input: Record<string, unknown> | null;
|
|
258
|
+
output: Record<string, unknown> | null;
|
|
259
|
+
error: Record<string, unknown> | null;
|
|
260
|
+
metadata: Record<string, unknown> | null;
|
|
261
|
+
content: unknown[] | null;
|
|
262
|
+
locations: unknown[] | null;
|
|
263
|
+
rendererKind: AgentToolRendererKind;
|
|
264
|
+
approval: AgentApprovalItemVM | null;
|
|
265
|
+
planMode: AgentPlanModeItemVM | null;
|
|
266
|
+
askUserQuestion: AgentAskUserQuestionItemVM | null;
|
|
267
|
+
task: AgentTaskItemVM | null;
|
|
268
|
+
occurredAtUnixMs: number | null;
|
|
269
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
type AgentToolGroupEntryVM = {
|
|
273
|
+
kind: "thinking";
|
|
274
|
+
thinking: AgentThinkingContentVM;
|
|
275
|
+
} | {
|
|
276
|
+
kind: "tool-call";
|
|
277
|
+
call: AgentToolCallVM;
|
|
278
|
+
};
|
|
279
|
+
interface AgentToolGroupRowVM {
|
|
280
|
+
kind: "tool-group";
|
|
281
|
+
id: string;
|
|
282
|
+
expansionKey?: string;
|
|
283
|
+
turnId: string;
|
|
284
|
+
grouped: boolean;
|
|
285
|
+
calls: AgentToolCallVM[];
|
|
286
|
+
summary?: string | null;
|
|
287
|
+
entries: AgentToolGroupEntryVM[];
|
|
288
|
+
occurredAtUnixMs: number | null;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
interface AgentTurnSummaryFileVM {
|
|
292
|
+
label: string;
|
|
293
|
+
path: string;
|
|
294
|
+
fileName: string;
|
|
295
|
+
directory: string | null;
|
|
296
|
+
changeType: "modified" | "created" | "deleted";
|
|
297
|
+
toolName: string | null;
|
|
298
|
+
messageId: string;
|
|
299
|
+
unifiedDiff?: string | null;
|
|
300
|
+
oldString?: string | null;
|
|
301
|
+
newString?: string | null;
|
|
302
|
+
content?: string | null;
|
|
303
|
+
occurredAtUnixMs: number | null;
|
|
304
|
+
}
|
|
305
|
+
interface AgentTurnSummaryRowVM {
|
|
306
|
+
kind: "turn-summary";
|
|
307
|
+
id: string;
|
|
308
|
+
turnId: string;
|
|
309
|
+
files: AgentTurnSummaryFileVM[];
|
|
310
|
+
fileCount: number;
|
|
311
|
+
modifiedCount: number;
|
|
312
|
+
createdCount: number;
|
|
313
|
+
occurredAtUnixMs: number | null;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
type AgentTranscriptRowVM = AgentMessageRowVM | AgentToolGroupRowVM | AgentTurnSummaryRowVM | AgentProcessingRowVM;
|
|
317
|
+
|
|
318
|
+
type AgentConversationPromptVM = AgentApprovalItemVM | {
|
|
319
|
+
kind: "ask-user";
|
|
320
|
+
requestId: string;
|
|
321
|
+
title: string;
|
|
322
|
+
questions: AgentAskUserQuestionVM[];
|
|
323
|
+
} | {
|
|
324
|
+
kind: "exit-plan";
|
|
325
|
+
requestId: string;
|
|
326
|
+
title: string;
|
|
327
|
+
} | {
|
|
328
|
+
kind: "plan-implementation";
|
|
329
|
+
requestId: string;
|
|
330
|
+
title: string;
|
|
331
|
+
};
|
|
332
|
+
type AgentConversationPendingInteractivePromptVM = Exclude<AgentConversationPromptVM, AgentApprovalItemVM>;
|
|
333
|
+
interface AgentConversationVM {
|
|
334
|
+
activity: WorkspaceAgentActivityCard;
|
|
335
|
+
workspaceRoot: string | null;
|
|
336
|
+
sourceDetail: WorkspaceAgentSessionDetailViewModel;
|
|
337
|
+
rows: AgentTranscriptRowVM[];
|
|
338
|
+
pendingApproval: AgentApprovalItemVM | null;
|
|
339
|
+
pendingInteractivePrompt: AgentConversationPendingInteractivePromptVM | null;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
export { type AgentConversationPromptVM as A, type BuildWorkspaceAgentSessionDetailInput as B, type WorkspaceAgentSessionDetailViewModel as W, type AgentConversationVM as a, buildWorkspaceAgentSessionDetailViewModel as b };
|
|
@@ -3079,11 +3079,92 @@ aside.workspace-agents-status-panel
|
|
|
3079
3079
|
}
|
|
3080
3080
|
|
|
3081
3081
|
.agent-gui-conversation__message-group {
|
|
3082
|
+
position: relative;
|
|
3082
3083
|
display: grid;
|
|
3083
3084
|
width: 100%;
|
|
3084
3085
|
min-width: 0;
|
|
3085
3086
|
}
|
|
3086
3087
|
|
|
3088
|
+
.agent-gui-conversation__message-group::after {
|
|
3089
|
+
position: absolute;
|
|
3090
|
+
top: 100%;
|
|
3091
|
+
right: 0;
|
|
3092
|
+
left: 0;
|
|
3093
|
+
height: 10px;
|
|
3094
|
+
content: "";
|
|
3095
|
+
}
|
|
3096
|
+
|
|
3097
|
+
.agent-gui-conversation__message-group:has(
|
|
3098
|
+
> .agent-gui-conversation__message-copy-button
|
|
3099
|
+
) {
|
|
3100
|
+
margin-bottom: 36px;
|
|
3101
|
+
}
|
|
3102
|
+
|
|
3103
|
+
.agent-gui-conversation__message-copy-button {
|
|
3104
|
+
position: absolute;
|
|
3105
|
+
top: calc(100% + 8px);
|
|
3106
|
+
z-index: 1;
|
|
3107
|
+
display: inline-grid;
|
|
3108
|
+
width: 24px;
|
|
3109
|
+
height: 24px;
|
|
3110
|
+
place-items: center;
|
|
3111
|
+
border: 1px solid var(--line-2, var(--tutti-line-2));
|
|
3112
|
+
border-radius: 6px;
|
|
3113
|
+
background: var(--background-fronted);
|
|
3114
|
+
color: var(--text-secondary);
|
|
3115
|
+
opacity: 0;
|
|
3116
|
+
outline: none;
|
|
3117
|
+
pointer-events: none;
|
|
3118
|
+
transform: translateY(-2px);
|
|
3119
|
+
transition:
|
|
3120
|
+
opacity 120ms ease,
|
|
3121
|
+
transform 120ms ease,
|
|
3122
|
+
color 120ms ease,
|
|
3123
|
+
border-color 120ms ease,
|
|
3124
|
+
background 120ms ease;
|
|
3125
|
+
}
|
|
3126
|
+
|
|
3127
|
+
.agent-gui-conversation__message-group[data-agent-message-speaker="user"]
|
|
3128
|
+
> .agent-gui-conversation__message-copy-button {
|
|
3129
|
+
right: 0;
|
|
3130
|
+
}
|
|
3131
|
+
|
|
3132
|
+
.agent-gui-conversation__message-group[data-agent-message-speaker="assistant"]
|
|
3133
|
+
> .agent-gui-conversation__message-copy-button {
|
|
3134
|
+
left: 0;
|
|
3135
|
+
}
|
|
3136
|
+
|
|
3137
|
+
.agent-gui-conversation__message-group:hover
|
|
3138
|
+
> .agent-gui-conversation__message-copy-button,
|
|
3139
|
+
.agent-gui-conversation__message-group:focus-within
|
|
3140
|
+
> .agent-gui-conversation__message-copy-button {
|
|
3141
|
+
opacity: 1;
|
|
3142
|
+
pointer-events: auto;
|
|
3143
|
+
transform: translateY(0);
|
|
3144
|
+
}
|
|
3145
|
+
|
|
3146
|
+
.agent-gui-conversation__message-copy-button:hover {
|
|
3147
|
+
border-color: var(--border-focus);
|
|
3148
|
+
background: var(--background-panel);
|
|
3149
|
+
color: var(--text-primary);
|
|
3150
|
+
}
|
|
3151
|
+
|
|
3152
|
+
.agent-gui-conversation__message-copy-button:focus-visible {
|
|
3153
|
+
border-color: var(--border-focus);
|
|
3154
|
+
color: var(--text-primary);
|
|
3155
|
+
outline: 2px solid var(--border-focus);
|
|
3156
|
+
outline-offset: 2px;
|
|
3157
|
+
}
|
|
3158
|
+
|
|
3159
|
+
.agent-gui-conversation__message-copy-button[data-copied="true"] {
|
|
3160
|
+
border-color: color-mix(
|
|
3161
|
+
in srgb,
|
|
3162
|
+
var(--state-success, #22c55e) 42%,
|
|
3163
|
+
transparent
|
|
3164
|
+
);
|
|
3165
|
+
color: var(--state-success, #22c55e);
|
|
3166
|
+
}
|
|
3167
|
+
|
|
3087
3168
|
.agent-gui-conversation__user-message-flow
|
|
3088
3169
|
> .agent-gui-conversation__message-group {
|
|
3089
3170
|
justify-items: end;
|
|
@@ -5171,6 +5252,133 @@ button.agent-gui-node__conversation-section-toggle:hover
|
|
|
5171
5252
|
text-transform: capitalize;
|
|
5172
5253
|
}
|
|
5173
5254
|
|
|
5255
|
+
.agent-gui-node__detail-header-usage-chip {
|
|
5256
|
+
display: inline-flex;
|
|
5257
|
+
flex: 0 0 auto;
|
|
5258
|
+
align-items: center;
|
|
5259
|
+
border: 0;
|
|
5260
|
+
border-radius: 999px;
|
|
5261
|
+
padding: 2px 8px;
|
|
5262
|
+
background: var(--transparency-hover);
|
|
5263
|
+
color: var(--text-secondary);
|
|
5264
|
+
font-size: 12px;
|
|
5265
|
+
font-weight: 600;
|
|
5266
|
+
line-height: 16px;
|
|
5267
|
+
white-space: nowrap;
|
|
5268
|
+
}
|
|
5269
|
+
|
|
5270
|
+
.agent-gui-node__detail-header-usage-chip:focus-visible {
|
|
5271
|
+
outline: none;
|
|
5272
|
+
box-shadow: 0 0 0 2px var(--border-1);
|
|
5273
|
+
}
|
|
5274
|
+
|
|
5275
|
+
.agent-gui-node__detail-header-usage-chip[data-usage-level="warning"] {
|
|
5276
|
+
color: var(--agent-gui-warning, var(--cove-label-orange));
|
|
5277
|
+
background: color-mix(
|
|
5278
|
+
in srgb,
|
|
5279
|
+
var(--agent-gui-warning, var(--cove-label-orange)) 12%,
|
|
5280
|
+
transparent
|
|
5281
|
+
);
|
|
5282
|
+
}
|
|
5283
|
+
|
|
5284
|
+
.agent-gui-node__detail-header-usage-chip[data-usage-level="critical"] {
|
|
5285
|
+
color: var(--agent-gui-danger, var(--state-danger));
|
|
5286
|
+
background: color-mix(
|
|
5287
|
+
in srgb,
|
|
5288
|
+
var(--agent-gui-danger, var(--state-danger)) 12%,
|
|
5289
|
+
transparent
|
|
5290
|
+
);
|
|
5291
|
+
}
|
|
5292
|
+
|
|
5293
|
+
.agent-gui-node__detail-header-compact-button {
|
|
5294
|
+
display: inline-flex;
|
|
5295
|
+
flex: 0 0 auto;
|
|
5296
|
+
align-items: center;
|
|
5297
|
+
border: 0;
|
|
5298
|
+
border-radius: 999px;
|
|
5299
|
+
padding: 2px 8px;
|
|
5300
|
+
background: var(--transparency-hover);
|
|
5301
|
+
color: var(--text-secondary);
|
|
5302
|
+
font-size: 12px;
|
|
5303
|
+
font-weight: 600;
|
|
5304
|
+
line-height: 16px;
|
|
5305
|
+
white-space: nowrap;
|
|
5306
|
+
cursor: pointer;
|
|
5307
|
+
}
|
|
5308
|
+
|
|
5309
|
+
.agent-gui-node__detail-header-compact-button:hover:not(:disabled) {
|
|
5310
|
+
color: var(--text-primary);
|
|
5311
|
+
}
|
|
5312
|
+
|
|
5313
|
+
.agent-gui-node__detail-header-compact-button:focus-visible {
|
|
5314
|
+
outline: none;
|
|
5315
|
+
box-shadow: 0 0 0 2px var(--border-1);
|
|
5316
|
+
}
|
|
5317
|
+
|
|
5318
|
+
.agent-gui-node__detail-header-compact-button:disabled {
|
|
5319
|
+
opacity: 0.5;
|
|
5320
|
+
cursor: default;
|
|
5321
|
+
}
|
|
5322
|
+
|
|
5323
|
+
.agent-gui-node__usage-alert-banner {
|
|
5324
|
+
display: flex;
|
|
5325
|
+
align-items: center;
|
|
5326
|
+
justify-content: space-between;
|
|
5327
|
+
gap: 8px;
|
|
5328
|
+
margin: 0 12px 8px;
|
|
5329
|
+
border-radius: 8px;
|
|
5330
|
+
padding: 6px 10px;
|
|
5331
|
+
font-size: 12px;
|
|
5332
|
+
font-weight: 600;
|
|
5333
|
+
line-height: 16px;
|
|
5334
|
+
color: var(--agent-gui-warning, var(--cove-label-orange));
|
|
5335
|
+
background: color-mix(
|
|
5336
|
+
in srgb,
|
|
5337
|
+
var(--agent-gui-warning, var(--cove-label-orange)) 12%,
|
|
5338
|
+
transparent
|
|
5339
|
+
);
|
|
5340
|
+
}
|
|
5341
|
+
|
|
5342
|
+
.agent-gui-node__usage-alert-banner[data-usage-alert-tier="critical"] {
|
|
5343
|
+
color: var(--agent-gui-danger, var(--state-danger));
|
|
5344
|
+
background: color-mix(
|
|
5345
|
+
in srgb,
|
|
5346
|
+
var(--agent-gui-danger, var(--state-danger)) 12%,
|
|
5347
|
+
transparent
|
|
5348
|
+
);
|
|
5349
|
+
}
|
|
5350
|
+
|
|
5351
|
+
.agent-gui-node__usage-alert-message {
|
|
5352
|
+
min-width: 0;
|
|
5353
|
+
overflow-wrap: anywhere;
|
|
5354
|
+
}
|
|
5355
|
+
|
|
5356
|
+
.agent-gui-node__usage-alert-actions {
|
|
5357
|
+
display: inline-flex;
|
|
5358
|
+
flex: 0 0 auto;
|
|
5359
|
+
align-items: center;
|
|
5360
|
+
gap: 4px;
|
|
5361
|
+
}
|
|
5362
|
+
|
|
5363
|
+
.agent-gui-node__usage-alert-dismiss {
|
|
5364
|
+
display: inline-flex;
|
|
5365
|
+
flex: 0 0 auto;
|
|
5366
|
+
align-items: center;
|
|
5367
|
+
justify-content: center;
|
|
5368
|
+
border: 0;
|
|
5369
|
+
border-radius: 6px;
|
|
5370
|
+
padding: 4px;
|
|
5371
|
+
background: transparent;
|
|
5372
|
+
color: inherit;
|
|
5373
|
+
cursor: pointer;
|
|
5374
|
+
}
|
|
5375
|
+
|
|
5376
|
+
.agent-gui-node__usage-alert-dismiss:hover,
|
|
5377
|
+
.agent-gui-node__usage-alert-dismiss:focus-visible {
|
|
5378
|
+
background: var(--transparency-hover);
|
|
5379
|
+
outline: none;
|
|
5380
|
+
}
|
|
5381
|
+
|
|
5174
5382
|
.agent-gui-node__layout [data-slot="status-dot"],
|
|
5175
5383
|
[data-testid="workspace-agent-message-center"] [data-slot="status-dot"] {
|
|
5176
5384
|
--agent-gui-status-dot-color: var(
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../agent-gui/agentGuiNode/agentRichTextAtProvider.ts"],"sourcesContent":["export const AGENT_GUI_MENTION_PROVIDER_IDS = {\n agentGeneratedFile: \"agent-generated-file\",\n agentSession: \"agent-session\",\n file: \"file\",\n workspaceApp: \"workspace-app\",\n workspaceIssue: \"workspace-issue\"\n} as const;\n\nexport type AgentGUIMentionProviderId =\n (typeof AGENT_GUI_MENTION_PROVIDER_IDS)[keyof typeof AGENT_GUI_MENTION_PROVIDER_IDS];\n\nexport interface AgentRichTextAtProviderContext {\n metadata?: Readonly<Record<string, unknown>>;\n}\n\nexport interface AgentRichTextAtQueryInput {\n keyword: string;\n maxResults?: number;\n cursor?: string;\n abortSignal?: AbortSignal;\n context: AgentRichTextAtProviderContext;\n}\n\nexport interface AgentRichTextMentionInsert {\n entityId: string;\n label: string;\n href?: string | null;\n kind?: string | null;\n meta?: Readonly<Record<string, string>> | null;\n}\n\nexport interface AgentRichTextMentionInsertResult {\n kind: \"mention\";\n mention: AgentRichTextMentionInsert;\n}\n\nexport interface AgentRichTextMarkdownLinkInsertResult {\n kind: \"markdown-link\";\n label: string;\n href: string;\n}\n\nexport interface AgentRichTextTextInsertResult {\n kind: \"text\";\n text: string;\n}\n\nexport type AgentRichTextAtInsertResult =\n | AgentRichTextMentionInsertResult\n | AgentRichTextMarkdownLinkInsertResult\n | AgentRichTextTextInsertResult;\n\nexport interface AgentRichTextAtReferenceItem {\n key?: string;\n label: string;\n subtitle?: string | null;\n thumbnailUrl?: string | null;\n insertResult: AgentRichTextAtInsertResult;\n}\n\nexport interface AgentRichTextAtReferenceItemsResult {\n items: readonly AgentRichTextAtReferenceItem[];\n nextCursor?: string | null;\n}\n\nexport type AgentRichTextAtReferenceItemsResponse =\n | readonly AgentRichTextAtReferenceItem[]\n | AgentRichTextAtReferenceItemsResult;\n\nexport interface AgentRichTextAtProvider<TItem = any> {\n id: string;\n query: (\n input: AgentRichTextAtQueryInput\n ) => Promise<readonly TItem[]> | readonly TItem[];\n getItemKey: (item: TItem) => string;\n getItemLabel: (item: TItem) => string;\n getItemSubtitle?: (item: TItem) => string | null | undefined;\n getItemThumbnailUrl?: (\n item: TItem\n ) => string | null | undefined | Promise<string | null | undefined>;\n getItemReferenceItems?: (\n item: TItem,\n input: AgentRichTextAtQueryInput\n ) =>\n | Promise<AgentRichTextAtReferenceItemsResponse>\n | AgentRichTextAtReferenceItemsResponse;\n toInsertResult: (item: TItem) => AgentRichTextAtInsertResult;\n}\n"],"mappings":";AAAO,IAAM,iCAAiC;AAAA,EAC5C,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,MAAM;AAAA,EACN,cAAc;AAAA,EACd,gBAAgB;AAClB;","names":[]}
|