@tutti-os/agent-gui 0.0.233 → 0.0.235
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 +49 -0
- package/dist/{AgentRichTextReadonly-U3XUJYCW.js → AgentRichTextReadonly-CCELQPHE.js} +5 -5
- package/dist/agent-conversation/index.d.ts +17 -4
- package/dist/agent-conversation/index.js +13 -9
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-gui.d.ts +19 -3
- package/dist/agent-gui.js +22 -16
- package/dist/agent-message-center/index.d.ts +1 -1
- package/dist/agent-message-center/index.js +10 -7
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{agentGuiNodeTypes-DW7T--Y8.d.ts → agentGuiNodeTypes-Dgl7kQHA.d.ts} +2 -2
- package/dist/agents.d.ts +1 -1
- package/dist/app/renderer/agentactivity.css +17 -0
- package/dist/{chunk-M6WEFXPL.js → chunk-2MCNNB2P.js} +2 -24
- package/dist/chunk-2MCNNB2P.js.map +1 -0
- package/dist/{chunk-CQFT3MI5.js → chunk-3YYI6RXA.js} +7 -5
- package/dist/{chunk-CQFT3MI5.js.map → chunk-3YYI6RXA.js.map} +1 -1
- package/dist/{chunk-EDP4D42H.js → chunk-45KN5Z5F.js} +877 -871
- package/dist/chunk-45KN5Z5F.js.map +1 -0
- package/dist/{chunk-T57ZZWTC.js → chunk-4HAG3FOY.js} +2 -2
- package/dist/{chunk-ZBI6R46N.js → chunk-5DN5N2XS.js} +2 -2
- package/dist/{chunk-BCBB4HOV.js → chunk-634MNSI5.js} +2 -2
- package/dist/chunk-A4KKC324.js +4768 -0
- package/dist/chunk-A4KKC324.js.map +1 -0
- package/dist/chunk-ALAGL6VL.js +48 -0
- package/dist/chunk-ALAGL6VL.js.map +1 -0
- package/dist/{chunk-2STAUA73.js → chunk-AYTUAZE3.js} +5 -2
- package/dist/chunk-AYTUAZE3.js.map +1 -0
- package/dist/{chunk-SWO67UWQ.js → chunk-CZOZBUIM.js} +7 -7
- package/dist/{chunk-SWO67UWQ.js.map → chunk-CZOZBUIM.js.map} +1 -1
- package/dist/{chunk-2L2LVSOD.js → chunk-EHNPHZE4.js} +881 -5812
- package/dist/chunk-EHNPHZE4.js.map +1 -0
- package/dist/{chunk-N5356722.js → chunk-EKQ7UX2B.js} +13 -319
- package/dist/chunk-EKQ7UX2B.js.map +1 -0
- package/dist/{chunk-ZXEICU6J.js → chunk-KK7YXPTS.js} +3 -1
- package/dist/chunk-KK7YXPTS.js.map +1 -0
- package/dist/{chunk-WGCDSA7P.js → chunk-MBM7PJIF.js} +27 -506
- package/dist/chunk-MBM7PJIF.js.map +1 -0
- package/dist/chunk-RMC2MGL4.js +557 -0
- package/dist/chunk-RMC2MGL4.js.map +1 -0
- package/dist/{chunk-JA6XAKKE.js → chunk-TWF6JXPC.js} +2 -2
- package/dist/{chunk-7AYFKNLD.js → chunk-TWMV6YTX.js} +4 -4
- package/dist/chunk-VV3YIU5W.js +25 -0
- package/dist/chunk-VV3YIU5W.js.map +1 -0
- package/dist/{chunk-GLVENTN6.js → chunk-WXLO33YP.js} +2 -2
- package/dist/chunk-XWPHTXEM.js +529 -0
- package/dist/chunk-XWPHTXEM.js.map +1 -0
- package/dist/chunk-YEXRTXTE.js +315 -0
- package/dist/chunk-YEXRTXTE.js.map +1 -0
- package/dist/{chunk-WMJDOMG6.js → chunk-ZELGKLW5.js} +4 -4
- package/dist/composer-projection.d.ts +37 -0
- package/dist/composer-projection.js +21 -0
- package/dist/composer-projection.js.map +1 -0
- package/dist/context-mention-palette/index.js +9 -7
- package/dist/conversation-projection.d.ts +551 -0
- package/dist/conversation-projection.js +42 -0
- package/dist/conversation-projection.js.map +1 -0
- package/dist/conversation-rail-projection.js +3 -3
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +32 -13
- package/dist/index.js +22 -16
- package/dist/index.js.map +1 -1
- package/dist/mention-search.js +7 -5
- package/dist/{types-CHAMK2g7.d.ts → types-DtXXsISB.d.ts} +1 -1
- package/dist/workbench/contribution.js +4 -4
- package/dist/workbench/index.js +4 -4
- package/dist/workbench/sessionTitle.js +3 -3
- package/dist/workspace-agent-generated-files.d.ts +1 -12
- package/dist/workspaceAgentActivityListTypes-BUKNyMbh.d.ts +48 -0
- package/dist/{workspaceLinkActions-CzsbvGmC.d.ts → workspaceLinkActions-DxyzMy10.d.ts} +13 -12
- package/package.json +29 -15
- package/dist/chunk-2L2LVSOD.js.map +0 -1
- package/dist/chunk-2STAUA73.js.map +0 -1
- package/dist/chunk-EDP4D42H.js.map +0 -1
- package/dist/chunk-M6WEFXPL.js.map +0 -1
- package/dist/chunk-N5356722.js.map +0 -1
- package/dist/chunk-WGCDSA7P.js.map +0 -1
- package/dist/chunk-ZXEICU6J.js.map +0 -1
- /package/dist/{AgentRichTextReadonly-U3XUJYCW.js.map → AgentRichTextReadonly-CCELQPHE.js.map} +0 -0
- /package/dist/{chunk-T57ZZWTC.js.map → chunk-4HAG3FOY.js.map} +0 -0
- /package/dist/{chunk-ZBI6R46N.js.map → chunk-5DN5N2XS.js.map} +0 -0
- /package/dist/{chunk-BCBB4HOV.js.map → chunk-634MNSI5.js.map} +0 -0
- /package/dist/{chunk-JA6XAKKE.js.map → chunk-TWF6JXPC.js.map} +0 -0
- /package/dist/{chunk-7AYFKNLD.js.map → chunk-TWMV6YTX.js.map} +0 -0
- /package/dist/{chunk-GLVENTN6.js.map → chunk-WXLO33YP.js.map} +0 -0
- /package/dist/{chunk-WMJDOMG6.js.map → chunk-ZELGKLW5.js.map} +0 -0
|
@@ -0,0 +1,551 @@
|
|
|
1
|
+
import { AgentActivityMessageSemantics, AgentActivitySession, AgentActivityGoalControlAction, AgentActivityTurn, AgentActivitySnapshot, AgentActivityInteraction } from '@tutti-os/agent-activity-core';
|
|
2
|
+
import { W as WorkspaceAgentActivityCard, T as ToolCallStatusKind } from './workspaceAgentActivityListTypes-BUKNyMbh.js';
|
|
3
|
+
|
|
4
|
+
interface WorkspaceAgentActivityFileChange {
|
|
5
|
+
path: string;
|
|
6
|
+
change?: "added" | "modified" | "deleted" | "moved" | string;
|
|
7
|
+
tools?: string[];
|
|
8
|
+
}
|
|
9
|
+
interface WorkspaceAgentActivityFileChanges {
|
|
10
|
+
coverage?: string;
|
|
11
|
+
files?: WorkspaceAgentActivityFileChange[];
|
|
12
|
+
}
|
|
13
|
+
interface WorkspaceAgentActivityTimelineItem {
|
|
14
|
+
id: number;
|
|
15
|
+
workspaceId?: string;
|
|
16
|
+
agentSessionId: string;
|
|
17
|
+
seq?: number;
|
|
18
|
+
turnId?: string;
|
|
19
|
+
eventSource?: string;
|
|
20
|
+
eventId: string;
|
|
21
|
+
actorType: string;
|
|
22
|
+
actorId: string;
|
|
23
|
+
itemType: "message" | "call" | "event" | "error" | "lifecycle" | string;
|
|
24
|
+
role?: string;
|
|
25
|
+
callType?: "tool" | "skill" | "subagent" | "approval" | "workflow" | string;
|
|
26
|
+
callId?: string;
|
|
27
|
+
name?: string;
|
|
28
|
+
status?: string | null;
|
|
29
|
+
messageSemantics?: AgentActivityMessageSemantics;
|
|
30
|
+
content?: string;
|
|
31
|
+
payload?: Record<string, unknown> & {
|
|
32
|
+
content?: unknown;
|
|
33
|
+
text?: unknown;
|
|
34
|
+
fileChanges?: WorkspaceAgentActivityFileChanges;
|
|
35
|
+
};
|
|
36
|
+
occurredAtUnixMs?: number;
|
|
37
|
+
createdAtUnixMs?: number;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
interface WorkspaceAgentSessionDetailMessage {
|
|
41
|
+
id: string;
|
|
42
|
+
body: string;
|
|
43
|
+
status?: string | null;
|
|
44
|
+
statusKind?: ToolCallStatusKind | null;
|
|
45
|
+
turnId?: string;
|
|
46
|
+
occurredAtUnixMs?: number | null;
|
|
47
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
48
|
+
visibleError?: {
|
|
49
|
+
code: string | null;
|
|
50
|
+
phase: string | null;
|
|
51
|
+
provider: string | null;
|
|
52
|
+
detail: string | null;
|
|
53
|
+
retryable: boolean | null;
|
|
54
|
+
} | null;
|
|
55
|
+
systemNotice?: {
|
|
56
|
+
noticeKind: string | null;
|
|
57
|
+
severity: string | null;
|
|
58
|
+
source?: string | null;
|
|
59
|
+
command?: AgentActivityMessageSemantics["noticeCommand"] | null;
|
|
60
|
+
commandStatus?: AgentActivityMessageSemantics["noticeCommandStatus"] | null;
|
|
61
|
+
title: string | null;
|
|
62
|
+
detail: string | null;
|
|
63
|
+
retryable: boolean | null;
|
|
64
|
+
} | null;
|
|
65
|
+
}
|
|
66
|
+
interface WorkspaceAgentSessionDetailThinking {
|
|
67
|
+
id: string;
|
|
68
|
+
body: string;
|
|
69
|
+
statusKind?: ToolCallStatusKind | null;
|
|
70
|
+
turnId?: string;
|
|
71
|
+
occurredAtUnixMs?: number | null;
|
|
72
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
73
|
+
}
|
|
74
|
+
interface WorkspaceAgentSessionDetailGoalControl {
|
|
75
|
+
id: string;
|
|
76
|
+
action: AgentActivityGoalControlAction;
|
|
77
|
+
body: string;
|
|
78
|
+
occurredAtUnixMs?: number | null;
|
|
79
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
80
|
+
}
|
|
81
|
+
interface WorkspaceAgentSessionDetailToolCall {
|
|
82
|
+
id: string;
|
|
83
|
+
name: string;
|
|
84
|
+
toolName: string | null;
|
|
85
|
+
callType: string | null;
|
|
86
|
+
status: string | null;
|
|
87
|
+
statusKind: ToolCallStatusKind | null;
|
|
88
|
+
summary: string;
|
|
89
|
+
payload: Record<string, unknown> | null;
|
|
90
|
+
turnId?: string;
|
|
91
|
+
compactSummary?: string | null;
|
|
92
|
+
occurredAtUnixMs?: number | null;
|
|
93
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
94
|
+
}
|
|
95
|
+
type WorkspaceAgentSessionDetailToolGroupEntry = {
|
|
96
|
+
kind: "thinking";
|
|
97
|
+
thinking: WorkspaceAgentSessionDetailThinking;
|
|
98
|
+
} | {
|
|
99
|
+
kind: "tool-call";
|
|
100
|
+
call: WorkspaceAgentSessionDetailToolCall;
|
|
101
|
+
};
|
|
102
|
+
type WorkspaceAgentSessionDetailAgentItem = {
|
|
103
|
+
kind: "message";
|
|
104
|
+
message: WorkspaceAgentSessionDetailMessage;
|
|
105
|
+
} | {
|
|
106
|
+
kind: "thinking";
|
|
107
|
+
thinking: WorkspaceAgentSessionDetailThinking;
|
|
108
|
+
} | {
|
|
109
|
+
kind: "tool-calls";
|
|
110
|
+
id: string;
|
|
111
|
+
toolCalls: WorkspaceAgentSessionDetailToolCall[];
|
|
112
|
+
toolCallCount: number;
|
|
113
|
+
hasFailedToolCall: boolean;
|
|
114
|
+
summary?: string | null;
|
|
115
|
+
groupEntries?: WorkspaceAgentSessionDetailToolGroupEntry[];
|
|
116
|
+
};
|
|
117
|
+
interface WorkspaceAgentSessionDetailTurn {
|
|
118
|
+
id: string;
|
|
119
|
+
userMessage: WorkspaceAgentSessionDetailMessage | null;
|
|
120
|
+
userMessages: WorkspaceAgentSessionDetailMessage[];
|
|
121
|
+
agentMessages: WorkspaceAgentSessionDetailMessage[];
|
|
122
|
+
toolCalls: WorkspaceAgentSessionDetailToolCall[];
|
|
123
|
+
toolCallCount: number;
|
|
124
|
+
hasFailedToolCall: boolean;
|
|
125
|
+
rawAgentItems?: WorkspaceAgentSessionDetailAgentItem[];
|
|
126
|
+
agentItems: WorkspaceAgentSessionDetailAgentItem[];
|
|
127
|
+
}
|
|
128
|
+
interface WorkspaceAgentSessionDetailViewModel {
|
|
129
|
+
activity: WorkspaceAgentActivityCard;
|
|
130
|
+
session: AgentActivitySession;
|
|
131
|
+
cwd: string;
|
|
132
|
+
workspaceRoot: string | null;
|
|
133
|
+
goalControls?: WorkspaceAgentSessionDetailGoalControl[];
|
|
134
|
+
turns: WorkspaceAgentSessionDetailTurn[];
|
|
135
|
+
sessionTurns?: readonly AgentActivityTurn[];
|
|
136
|
+
showProcessingIndicator?: boolean;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
type AgentApprovalPurpose = "edit-files";
|
|
140
|
+
|
|
141
|
+
interface AgentApprovalOptionVM {
|
|
142
|
+
id: string;
|
|
143
|
+
label: string;
|
|
144
|
+
kind: string;
|
|
145
|
+
description?: string;
|
|
146
|
+
}
|
|
147
|
+
interface AgentApprovalItemVM {
|
|
148
|
+
kind: "approval";
|
|
149
|
+
id: string;
|
|
150
|
+
turnId: string;
|
|
151
|
+
requestId: string;
|
|
152
|
+
callId: string;
|
|
153
|
+
approvalPurpose?: AgentApprovalPurpose;
|
|
154
|
+
title: string;
|
|
155
|
+
toolName: string | null;
|
|
156
|
+
status: string | null;
|
|
157
|
+
input: Record<string, unknown> | null;
|
|
158
|
+
options: AgentApprovalOptionVM[];
|
|
159
|
+
output?: Record<string, unknown> | null;
|
|
160
|
+
occurredAtUnixMs: number | null;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
interface AgentAskUserQuestionOptionVM {
|
|
164
|
+
label: string;
|
|
165
|
+
description: string;
|
|
166
|
+
}
|
|
167
|
+
interface AgentAskUserQuestionVM {
|
|
168
|
+
id: string;
|
|
169
|
+
header: string;
|
|
170
|
+
question: string;
|
|
171
|
+
options: AgentAskUserQuestionOptionVM[];
|
|
172
|
+
multiSelect: boolean;
|
|
173
|
+
answer?: string | string[] | null;
|
|
174
|
+
}
|
|
175
|
+
interface AgentAskUserQuestionItemVM {
|
|
176
|
+
kind: "ask-user";
|
|
177
|
+
id: string;
|
|
178
|
+
turnId: string;
|
|
179
|
+
requestId: string;
|
|
180
|
+
title: string;
|
|
181
|
+
status: string | null;
|
|
182
|
+
questions: AgentAskUserQuestionVM[];
|
|
183
|
+
occurredAtUnixMs: number | null;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
interface AgentGeneratedImageRowVM {
|
|
187
|
+
kind: "generated-image";
|
|
188
|
+
id: string;
|
|
189
|
+
turnId: string;
|
|
190
|
+
sourceCallId: string;
|
|
191
|
+
uri: string;
|
|
192
|
+
mimeType: string | null;
|
|
193
|
+
prompt: string | null;
|
|
194
|
+
occurredAtUnixMs: number | null;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
interface AgentGoalControlRowVM {
|
|
198
|
+
kind: "goal-control";
|
|
199
|
+
id: string;
|
|
200
|
+
turnId: null;
|
|
201
|
+
action: AgentActivityGoalControlAction;
|
|
202
|
+
body: string;
|
|
203
|
+
occurredAtUnixMs: number | null;
|
|
204
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
type AgentTranscriptPresentationKind = "content" | "specific-progress" | "turn-boundary";
|
|
208
|
+
|
|
209
|
+
interface AgentCollaborationUsageVM {
|
|
210
|
+
inputTokens: number;
|
|
211
|
+
outputTokens: number;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Typed projection of one durable "collaboration" timeline message (the
|
|
215
|
+
* daemon projects each collaboration run into the source session transcript
|
|
216
|
+
* with messageId `collab:<runId>`; status transitions update the same message
|
|
217
|
+
* in place). Pure data — rendering and adoption actions live in
|
|
218
|
+
* `AgentCollaborationRow`.
|
|
219
|
+
*/
|
|
220
|
+
interface AgentCollaborationVM {
|
|
221
|
+
kind: "collaboration";
|
|
222
|
+
runId: string;
|
|
223
|
+
/** Session identity of the source transcript row, for adoption commands. */
|
|
224
|
+
workspaceId: string | null;
|
|
225
|
+
agentSessionId: string | null;
|
|
226
|
+
mode: "consult" | "fork" | "delegate" | "handoff" | (string & {});
|
|
227
|
+
status: "running" | "completed" | "failed" | "canceled" | (string & {});
|
|
228
|
+
triggerSource: "user" | "agent" | "policy" | (string & {});
|
|
229
|
+
triggerReason: string | null;
|
|
230
|
+
targetSessionId: string | null;
|
|
231
|
+
targetAgentTargetId: string | null;
|
|
232
|
+
modelPlanId: string | null;
|
|
233
|
+
/** Optional display name when the daemon payload carries it. */
|
|
234
|
+
modelPlanName: string | null;
|
|
235
|
+
model: string | null;
|
|
236
|
+
contextScope: string | null;
|
|
237
|
+
resultText: string | null;
|
|
238
|
+
failureReason: string | null;
|
|
239
|
+
durationMs: number | null;
|
|
240
|
+
usage: AgentCollaborationUsageVM | null;
|
|
241
|
+
adoption: "pending" | "adopted" | "rejected" | "not_applicable" | (string & {});
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
type AgentPlanModeKind = "enter" | "exit";
|
|
245
|
+
interface AgentPlanModeItemVM {
|
|
246
|
+
itemKind: "plan-mode";
|
|
247
|
+
id: string;
|
|
248
|
+
turnId: string;
|
|
249
|
+
requestId?: string;
|
|
250
|
+
kind: AgentPlanModeKind;
|
|
251
|
+
title: string;
|
|
252
|
+
plan?: string | null;
|
|
253
|
+
status: string | null;
|
|
254
|
+
filePath?: string | null;
|
|
255
|
+
options?: AgentApprovalOptionVM[];
|
|
256
|
+
keepPlanningOptionId?: string;
|
|
257
|
+
occurredAtUnixMs: number | null;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
type AgentTaskSubAgentStatus = "running" | "completed" | "failed" | "canceled";
|
|
261
|
+
type AgentTaskSubAgentActivityKind = "message" | "reasoning" | "tool";
|
|
262
|
+
interface AgentTaskSubAgentActivityVM {
|
|
263
|
+
kind: AgentTaskSubAgentActivityKind;
|
|
264
|
+
text: string;
|
|
265
|
+
atUnixMs: number | null;
|
|
266
|
+
}
|
|
267
|
+
interface AgentTaskSubAgentVM {
|
|
268
|
+
childSessionId: string;
|
|
269
|
+
parentToolCallId: string;
|
|
270
|
+
status: AgentTaskSubAgentStatus;
|
|
271
|
+
name: string | null;
|
|
272
|
+
task: string | null;
|
|
273
|
+
laneIndex: number;
|
|
274
|
+
laneCount: number;
|
|
275
|
+
latestActivity: string | null;
|
|
276
|
+
latestActivityKind: AgentTaskSubAgentActivityKind | null;
|
|
277
|
+
activityLog: readonly AgentTaskSubAgentActivityVM[];
|
|
278
|
+
activityOmittedCount: number;
|
|
279
|
+
queued?: boolean;
|
|
280
|
+
failureDetail: string | null;
|
|
281
|
+
startedAtUnixMs: number | null;
|
|
282
|
+
latestActivityAtUnixMs: number | null;
|
|
283
|
+
terminalAtUnixMs: number | null;
|
|
284
|
+
childSessions: readonly AgentTaskSubAgentVM[];
|
|
285
|
+
}
|
|
286
|
+
interface AgentTaskStepVM {
|
|
287
|
+
id: string;
|
|
288
|
+
turnId: string;
|
|
289
|
+
name: string;
|
|
290
|
+
toolName: string | null;
|
|
291
|
+
status: string | null;
|
|
292
|
+
summary: string;
|
|
293
|
+
payload: Record<string, unknown> | null;
|
|
294
|
+
tool: AgentToolCallVM | null;
|
|
295
|
+
occurredAtUnixMs: number | null;
|
|
296
|
+
}
|
|
297
|
+
interface AgentTaskItemVM {
|
|
298
|
+
kind: "task";
|
|
299
|
+
id: string;
|
|
300
|
+
turnId: string;
|
|
301
|
+
title: string;
|
|
302
|
+
status: string | null;
|
|
303
|
+
prompt?: string | null;
|
|
304
|
+
delegateSessionId?: string | null;
|
|
305
|
+
steps: AgentTaskStepVM[];
|
|
306
|
+
subAgents?: AgentTaskSubAgentVM[];
|
|
307
|
+
result?: string | null;
|
|
308
|
+
resultMarkdown?: string | null;
|
|
309
|
+
durationMs?: number | null;
|
|
310
|
+
occurredAtUnixMs: number | null;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
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";
|
|
314
|
+
interface AgentToolCallVM {
|
|
315
|
+
kind: "tool-call";
|
|
316
|
+
id: string;
|
|
317
|
+
turnId: string;
|
|
318
|
+
name: string;
|
|
319
|
+
toolName: string | null;
|
|
320
|
+
callType: string | null;
|
|
321
|
+
status: string | null;
|
|
322
|
+
statusKind: ToolCallStatusKind | null;
|
|
323
|
+
summary: string;
|
|
324
|
+
compactSummary: string | null;
|
|
325
|
+
payload: Record<string, unknown> | null;
|
|
326
|
+
toolState: Record<string, unknown> | null;
|
|
327
|
+
input: Record<string, unknown> | null;
|
|
328
|
+
output: Record<string, unknown> | null;
|
|
329
|
+
error: Record<string, unknown> | null;
|
|
330
|
+
metadata: Record<string, unknown> | null;
|
|
331
|
+
content: unknown[] | null;
|
|
332
|
+
locations: unknown[] | null;
|
|
333
|
+
rendererKind: AgentToolRendererKind;
|
|
334
|
+
approval: AgentApprovalItemVM | null;
|
|
335
|
+
planMode: AgentPlanModeItemVM | null;
|
|
336
|
+
askUserQuestion: AgentAskUserQuestionItemVM | null;
|
|
337
|
+
task: AgentTaskItemVM | null;
|
|
338
|
+
occurredAtUnixMs: number | null;
|
|
339
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
type AgentToolGroupEntryVM = {
|
|
343
|
+
kind: "thinking";
|
|
344
|
+
thinking: AgentThinkingContentVM;
|
|
345
|
+
} | {
|
|
346
|
+
kind: "tool-call";
|
|
347
|
+
call: AgentToolCallVM;
|
|
348
|
+
};
|
|
349
|
+
interface AgentToolGroupRowVM {
|
|
350
|
+
kind: "tool-group";
|
|
351
|
+
id: string;
|
|
352
|
+
expansionKey?: string;
|
|
353
|
+
turnId: string;
|
|
354
|
+
grouped: boolean;
|
|
355
|
+
calls: AgentToolCallVM[];
|
|
356
|
+
summary?: string | null;
|
|
357
|
+
entries: AgentToolGroupEntryVM[];
|
|
358
|
+
occurredAtUnixMs: number | null;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
interface AgentMessageContentVM {
|
|
362
|
+
kind: "message-content";
|
|
363
|
+
id: string;
|
|
364
|
+
turnId: string;
|
|
365
|
+
body: string;
|
|
366
|
+
presentationKind: AgentTranscriptPresentationKind;
|
|
367
|
+
copyText?: string | null;
|
|
368
|
+
statusKind?: ToolCallStatusKind | null;
|
|
369
|
+
contentKind?: "text" | "image-grid" | "plan" | "collaboration";
|
|
370
|
+
isTurnFinalText?: true;
|
|
371
|
+
/** Typed payload for `contentKind: "collaboration"` rows. */
|
|
372
|
+
collaboration?: AgentCollaborationVM | null;
|
|
373
|
+
images?: AgentMessageImageVM[];
|
|
374
|
+
occurredAtUnixMs: number | null;
|
|
375
|
+
visibleError?: {
|
|
376
|
+
code: string | null;
|
|
377
|
+
phase: string | null;
|
|
378
|
+
provider: string | null;
|
|
379
|
+
detail: string | null;
|
|
380
|
+
retryable: boolean | null;
|
|
381
|
+
} | null;
|
|
382
|
+
systemNotice?: {
|
|
383
|
+
noticeKind: string | null;
|
|
384
|
+
severity: string | null;
|
|
385
|
+
source?: string | null;
|
|
386
|
+
command?: AgentActivityMessageSemantics["noticeCommand"] | null;
|
|
387
|
+
commandStatus?: AgentActivityMessageSemantics["noticeCommandStatus"] | null;
|
|
388
|
+
title: string | null;
|
|
389
|
+
detail: string | null;
|
|
390
|
+
retryable: boolean | null;
|
|
391
|
+
} | null;
|
|
392
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
393
|
+
}
|
|
394
|
+
interface AgentMessageImageVM {
|
|
395
|
+
id: string;
|
|
396
|
+
workspaceId?: string | null;
|
|
397
|
+
agentSessionId: string;
|
|
398
|
+
attachmentId?: string | null;
|
|
399
|
+
mimeType: string;
|
|
400
|
+
name?: string | null;
|
|
401
|
+
data?: string | null;
|
|
402
|
+
url?: string | null;
|
|
403
|
+
path?: string | null;
|
|
404
|
+
}
|
|
405
|
+
interface AgentThinkingContentVM {
|
|
406
|
+
kind: "thinking-content";
|
|
407
|
+
id: string;
|
|
408
|
+
turnId: string;
|
|
409
|
+
body: string;
|
|
410
|
+
statusKind?: ToolCallStatusKind | null;
|
|
411
|
+
occurredAtUnixMs: number | null;
|
|
412
|
+
sourceTimelineItems?: WorkspaceAgentActivityTimelineItem[];
|
|
413
|
+
}
|
|
414
|
+
interface AgentMessageRowVM {
|
|
415
|
+
kind: "message";
|
|
416
|
+
id: string;
|
|
417
|
+
turnId: string;
|
|
418
|
+
speaker: "user" | "assistant";
|
|
419
|
+
messages: AgentMessageContentVM[];
|
|
420
|
+
thinking: AgentThinkingContentVM[];
|
|
421
|
+
/**
|
|
422
|
+
* Tool-group rows that happened right before this message and are rendered
|
|
423
|
+
* inside this message's block (under the participant header, above the
|
|
424
|
+
* content) instead of as standalone transcript rows. Populated only for the
|
|
425
|
+
* participant-header presentation (e.g. the Agent board session detail).
|
|
426
|
+
*/
|
|
427
|
+
leadingToolRows?: AgentToolGroupRowVM[];
|
|
428
|
+
occurredAtUnixMs: number | null;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
interface AgentProcessingRowVM {
|
|
432
|
+
kind: "processing";
|
|
433
|
+
id: string;
|
|
434
|
+
turnId: string | null;
|
|
435
|
+
label?: string | null;
|
|
436
|
+
occurredAtUnixMs: number | null;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
interface AgentTurnSummaryFileVM {
|
|
440
|
+
label: string;
|
|
441
|
+
path: string;
|
|
442
|
+
fileName: string;
|
|
443
|
+
directory: string | null;
|
|
444
|
+
changeType: "modified" | "created" | "deleted";
|
|
445
|
+
toolName: string | null;
|
|
446
|
+
messageId: string;
|
|
447
|
+
unifiedDiff?: string | null;
|
|
448
|
+
oldString?: string | null;
|
|
449
|
+
newString?: string | null;
|
|
450
|
+
content?: string | null;
|
|
451
|
+
occurredAtUnixMs: number | null;
|
|
452
|
+
}
|
|
453
|
+
interface AgentTurnSummaryPatchChangeVM {
|
|
454
|
+
path: string;
|
|
455
|
+
changeType: "modified" | "created" | "deleted";
|
|
456
|
+
unifiedDiff?: string | null;
|
|
457
|
+
oldString?: string | null;
|
|
458
|
+
newString?: string | null;
|
|
459
|
+
content?: string | null;
|
|
460
|
+
}
|
|
461
|
+
interface AgentTurnSummaryPatchBatchVM {
|
|
462
|
+
cwd: string | null;
|
|
463
|
+
toolCallId: string;
|
|
464
|
+
changes: AgentTurnSummaryPatchChangeVM[];
|
|
465
|
+
}
|
|
466
|
+
interface AgentTurnSummaryRowVM {
|
|
467
|
+
kind: "turn-summary";
|
|
468
|
+
id: string;
|
|
469
|
+
turnId: string;
|
|
470
|
+
files: AgentTurnSummaryFileVM[];
|
|
471
|
+
patchBatches?: AgentTurnSummaryPatchBatchVM[];
|
|
472
|
+
fileCount: number;
|
|
473
|
+
modifiedCount: number;
|
|
474
|
+
createdCount: number;
|
|
475
|
+
occurredAtUnixMs: number | null;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
type AgentTranscriptRowVM = AgentGeneratedImageRowVM | AgentGoalControlRowVM | AgentMessageRowVM | AgentToolGroupRowVM | AgentTurnSummaryRowVM | AgentProcessingRowVM;
|
|
479
|
+
|
|
480
|
+
type AgentConversationPromptVM = AgentApprovalItemVM | {
|
|
481
|
+
kind: "ask-user";
|
|
482
|
+
requestId: string;
|
|
483
|
+
title: string;
|
|
484
|
+
questions: AgentAskUserQuestionVM[];
|
|
485
|
+
} | {
|
|
486
|
+
kind: "exit-plan";
|
|
487
|
+
requestId: string;
|
|
488
|
+
title: string;
|
|
489
|
+
options: AgentApprovalOptionVM[];
|
|
490
|
+
keepPlanningOptionId?: string;
|
|
491
|
+
} | {
|
|
492
|
+
kind: "plan-implementation";
|
|
493
|
+
requestId: string;
|
|
494
|
+
title: string;
|
|
495
|
+
};
|
|
496
|
+
interface AgentConversationVM {
|
|
497
|
+
activity: WorkspaceAgentActivityCard;
|
|
498
|
+
workspaceRoot: string | null;
|
|
499
|
+
sourceDetail: WorkspaceAgentSessionDetailViewModel;
|
|
500
|
+
rows: AgentTranscriptRowVM[];
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
interface AgentConversationProjectionOptions {
|
|
504
|
+
avoidGroupingEdits?: boolean;
|
|
505
|
+
}
|
|
506
|
+
declare function reconcileProjectedAgentConversationVM(previous: AgentConversationVM | null | undefined, next: AgentConversationVM): AgentConversationVM;
|
|
507
|
+
|
|
508
|
+
interface ProjectAgentActivitySessionConversationInput {
|
|
509
|
+
activitySnapshot: AgentActivitySnapshot;
|
|
510
|
+
agentSessionId: string;
|
|
511
|
+
sessionTurns?: readonly AgentActivityTurn[];
|
|
512
|
+
workspaceRoot?: string | null;
|
|
513
|
+
}
|
|
514
|
+
declare function projectAgentActivitySessionToConversationVM({ activitySnapshot, agentSessionId, sessionTurns, workspaceRoot }: ProjectAgentActivitySessionConversationInput): AgentConversationVM | null;
|
|
515
|
+
|
|
516
|
+
type WorkspaceLinkActionSource = "agent-markdown" | "agent-file-change" | string;
|
|
517
|
+
interface OpenWorkspaceUrlLinkAction {
|
|
518
|
+
type: "open-url";
|
|
519
|
+
url: string;
|
|
520
|
+
source: WorkspaceLinkActionSource;
|
|
521
|
+
}
|
|
522
|
+
interface OpenAgentSessionLinkAction {
|
|
523
|
+
type: "open-agent-session";
|
|
524
|
+
workspaceId: string;
|
|
525
|
+
agentSessionId: string;
|
|
526
|
+
agentTargetId?: string | null;
|
|
527
|
+
source: WorkspaceLinkActionSource;
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
type AgentConversationNavigationAction = OpenAgentSessionLinkAction | OpenWorkspaceUrlLinkAction;
|
|
531
|
+
/**
|
|
532
|
+
* Cross-renderer baseline for conversation links.
|
|
533
|
+
*
|
|
534
|
+
* Workspace files, local assets, apps, issues, and custom mentions remain host
|
|
535
|
+
* capabilities. Alternate renderers can share URL and Session navigation
|
|
536
|
+
* without importing those host policies.
|
|
537
|
+
*/
|
|
538
|
+
declare function resolveAgentConversationNavigationAction({ href, source }: {
|
|
539
|
+
href: string;
|
|
540
|
+
source: WorkspaceLinkActionSource;
|
|
541
|
+
}): AgentConversationNavigationAction | null;
|
|
542
|
+
|
|
543
|
+
type ApprovalPrompt = Extract<AgentConversationPromptVM, {
|
|
544
|
+
kind: "approval";
|
|
545
|
+
}>;
|
|
546
|
+
type InteractivePrompt = Exclude<AgentConversationPromptVM, ApprovalPrompt | {
|
|
547
|
+
kind: "plan-implementation";
|
|
548
|
+
}>;
|
|
549
|
+
declare function projectAgentConversationPromptFromInteraction(interaction: AgentActivityInteraction): ApprovalPrompt | InteractivePrompt | null;
|
|
550
|
+
|
|
551
|
+
export { type AgentConversationNavigationAction, type AgentConversationProjectionOptions, type AgentConversationPromptVM, type AgentConversationVM, type ProjectAgentActivitySessionConversationInput, projectAgentActivitySessionToConversationVM, projectAgentConversationPromptFromInteraction, reconcileProjectedAgentConversationVM, resolveAgentConversationNavigationAction };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {
|
|
2
|
+
projectAgentActivitySessionToConversationVM,
|
|
3
|
+
projectAgentConversationPromptFromInteraction
|
|
4
|
+
} from "./chunk-RMC2MGL4.js";
|
|
5
|
+
import {
|
|
6
|
+
reconcileProjectedAgentConversationVM
|
|
7
|
+
} from "./chunk-A4KKC324.js";
|
|
8
|
+
import {
|
|
9
|
+
resolveAgentSessionMentionLinkAction,
|
|
10
|
+
resolveWorkspaceUrlLinkAction
|
|
11
|
+
} from "./chunk-XWPHTXEM.js";
|
|
12
|
+
import "./chunk-YEXRTXTE.js";
|
|
13
|
+
import "./chunk-VMPA46ET.js";
|
|
14
|
+
import "./chunk-YMXYBG7U.js";
|
|
15
|
+
import "./chunk-XJ34OIEQ.js";
|
|
16
|
+
import "./chunk-JDVP33S5.js";
|
|
17
|
+
import "./chunk-VV3YIU5W.js";
|
|
18
|
+
import "./chunk-F5UR6EJG.js";
|
|
19
|
+
import "./chunk-WXLO33YP.js";
|
|
20
|
+
import "./chunk-MIJXEELH.js";
|
|
21
|
+
import "./chunk-KK7YXPTS.js";
|
|
22
|
+
import "./chunk-FGLQZ6I4.js";
|
|
23
|
+
import "./chunk-O433KXLK.js";
|
|
24
|
+
|
|
25
|
+
// shared/agentConversation/actions/agentConversationNavigationActions.ts
|
|
26
|
+
function resolveAgentConversationNavigationAction({
|
|
27
|
+
href,
|
|
28
|
+
source
|
|
29
|
+
}) {
|
|
30
|
+
const mention = resolveAgentSessionMentionLinkAction({ href, source });
|
|
31
|
+
if (mention) {
|
|
32
|
+
return mention;
|
|
33
|
+
}
|
|
34
|
+
return resolveWorkspaceUrlLinkAction({ url: href, source });
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
projectAgentActivitySessionToConversationVM,
|
|
38
|
+
projectAgentConversationPromptFromInteraction,
|
|
39
|
+
reconcileProjectedAgentConversationVM,
|
|
40
|
+
resolveAgentConversationNavigationAction
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=conversation-projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../shared/agentConversation/actions/agentConversationNavigationActions.ts"],"sourcesContent":["import {\n resolveAgentSessionMentionLinkAction,\n resolveWorkspaceUrlLinkAction,\n type OpenAgentSessionLinkAction,\n type OpenWorkspaceUrlLinkAction,\n type WorkspaceLinkActionSource\n} from \"../../../actions/portableWorkspaceNavigationActions\";\n\nexport type AgentConversationNavigationAction =\n | OpenAgentSessionLinkAction\n | OpenWorkspaceUrlLinkAction;\n\n/**\n * Cross-renderer baseline for conversation links.\n *\n * Workspace files, local assets, apps, issues, and custom mentions remain host\n * capabilities. Alternate renderers can share URL and Session navigation\n * without importing those host policies.\n */\nexport function resolveAgentConversationNavigationAction({\n href,\n source\n}: {\n href: string;\n source: WorkspaceLinkActionSource;\n}): AgentConversationNavigationAction | null {\n const mention = resolveAgentSessionMentionLinkAction({ href, source });\n if (mention) {\n return mention;\n }\n return resolveWorkspaceUrlLinkAction({ url: href, source });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,SAAS,yCAAyC;AAAA,EACvD;AAAA,EACA;AACF,GAG6C;AAC3C,QAAM,UAAU,qCAAqC,EAAE,MAAM,OAAO,CAAC;AACrE,MAAI,SAAS;AACX,WAAO;AAAA,EACT;AACA,SAAO,8BAA8B,EAAE,KAAK,MAAM,OAAO,CAAC;AAC5D;","names":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
projectCanonicalAgentGUIConversationSummaries,
|
|
3
3
|
projectCanonicalAgentGUIConversationSummariesFromState
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-5DN5N2XS.js";
|
|
5
|
+
import "./chunk-TWF6JXPC.js";
|
|
6
6
|
import "./chunk-YMXYBG7U.js";
|
|
7
7
|
import "./chunk-MIJXEELH.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-KK7YXPTS.js";
|
|
9
9
|
import "./chunk-O433KXLK.js";
|
|
10
10
|
export {
|
|
11
11
|
projectCanonicalAgentGUIConversationSummaries,
|
package/dist/i18n/index.d.ts
CHANGED
|
@@ -840,6 +840,7 @@ declare const agentGuiI18nResources: {
|
|
|
840
840
|
readonly collapseTurnWork: "Collapse task details";
|
|
841
841
|
readonly agentTargetRequired: "Select an available agent target before starting a session.";
|
|
842
842
|
readonly sessionActivationFailed: "The agent session could not be started.";
|
|
843
|
+
readonly sessionNoLongerAvailable: "The previous agent session is no longer available.";
|
|
843
844
|
readonly promptImagesUnsupported: "This agent does not support image input with the current model.";
|
|
844
845
|
readonly conversationFilterCodex: "Codex";
|
|
845
846
|
readonly conversationFilterClaudeCode: "Claude Code";
|
|
@@ -3627,6 +3628,7 @@ declare const agentGuiI18nResources: {
|
|
|
3627
3628
|
readonly collapseTurnWork: "收起任务详情";
|
|
3628
3629
|
readonly agentTargetRequired: "请先选择可用的 Agent 目标。";
|
|
3629
3630
|
readonly sessionActivationFailed: "Agent 会话启动失败。";
|
|
3631
|
+
readonly sessionNoLongerAvailable: "之前的 Agent 会话已不可用";
|
|
3630
3632
|
readonly promptImagesUnsupported: "当前模型不支持图片输入。";
|
|
3631
3633
|
readonly conversationFilterCodex: "Codex";
|
|
3632
3634
|
readonly conversationFilterClaudeCode: "Claude Code";
|
package/dist/i18n/index.js
CHANGED