@tutti-os/agent-gui 0.0.233 → 0.0.234
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 +31 -17
- 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
|
@@ -1,31 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
changedFilesForSession,
|
|
3
|
-
workspaceAgentSessionMessageAliases
|
|
4
|
-
} from "./chunk-VMPA46ET.js";
|
|
5
|
-
import {
|
|
6
|
-
resolveWorkspaceAgentSessionSortTimeUnixMs
|
|
7
|
-
} from "./chunk-YMXYBG7U.js";
|
|
8
|
-
import {
|
|
9
|
-
isWorkspaceAgentSyntheticControlMessage
|
|
10
|
-
} from "./chunk-XJ34OIEQ.js";
|
|
11
1
|
import {
|
|
12
2
|
normalizeAgentSessionMentionTitle,
|
|
13
3
|
resolveAgentSessionMentionIconUrl
|
|
14
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-CZOZBUIM.js";
|
|
15
5
|
import {
|
|
16
6
|
resolveAgentMentionFileThumbnailUrl
|
|
17
7
|
} from "./chunk-3V5OCA2M.js";
|
|
18
8
|
import {
|
|
19
|
-
getOptionalAgentHostApi
|
|
20
|
-
|
|
21
|
-
} from "./chunk-M6WEFXPL.js";
|
|
9
|
+
getOptionalAgentHostApi
|
|
10
|
+
} from "./chunk-2MCNNB2P.js";
|
|
22
11
|
import {
|
|
23
|
-
translate
|
|
24
|
-
|
|
25
|
-
} from "./chunk-GLVENTN6.js";
|
|
26
|
-
import {
|
|
27
|
-
normalizeAgentTitleText
|
|
28
|
-
} from "./chunk-MIJXEELH.js";
|
|
12
|
+
translate
|
|
13
|
+
} from "./chunk-WXLO33YP.js";
|
|
29
14
|
import {
|
|
30
15
|
AGENT_CONTEXT_MENTION_PROVIDER_IDS
|
|
31
16
|
} from "./chunk-RMQREVJY.js";
|
|
@@ -98,296 +83,6 @@ function agentMentionEmptyGroupLabel(groupId, query) {
|
|
|
98
83
|
return translate("agentHost.agentGui.mentionEmptyIssues");
|
|
99
84
|
}
|
|
100
85
|
|
|
101
|
-
// shared/workspaceAgentActivityListProjection.ts
|
|
102
|
-
import { selectRootAgentActivitySessions } from "@tutti-os/agent-activity-core";
|
|
103
|
-
|
|
104
|
-
// shared/workspaceAgentActivityStatus.ts
|
|
105
|
-
function resolveWorkspaceAgentActivityStatus(session) {
|
|
106
|
-
const normalized = canonicalSessionStatus(session);
|
|
107
|
-
switch (normalized) {
|
|
108
|
-
case "failed":
|
|
109
|
-
return "failed";
|
|
110
|
-
case "canceled":
|
|
111
|
-
return "canceled";
|
|
112
|
-
case "completed":
|
|
113
|
-
return "completed";
|
|
114
|
-
case "waiting":
|
|
115
|
-
return "waiting";
|
|
116
|
-
case "working":
|
|
117
|
-
return "working";
|
|
118
|
-
default:
|
|
119
|
-
return "idle";
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
function canonicalSessionStatus(session) {
|
|
123
|
-
if ((session.pendingInteractions?.length ?? 0) > 0) return "waiting";
|
|
124
|
-
if (session.activeTurn && session.activeTurn.phase !== "settled") {
|
|
125
|
-
return session.activeTurn.phase === "waiting" ? "waiting" : "working";
|
|
126
|
-
}
|
|
127
|
-
switch (session.latestTurn?.outcome) {
|
|
128
|
-
case "completed":
|
|
129
|
-
return "completed";
|
|
130
|
-
case "failed":
|
|
131
|
-
return "failed";
|
|
132
|
-
case "canceled":
|
|
133
|
-
case "interrupted":
|
|
134
|
-
return "canceled";
|
|
135
|
-
default:
|
|
136
|
-
return "idle";
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
// shared/workspaceAgentLatestActivitySummary.ts
|
|
141
|
-
function fallbackSummary(status) {
|
|
142
|
-
switch (status) {
|
|
143
|
-
case "working":
|
|
144
|
-
return translate("agentHost.workspaceAgentActivityStatusWorking");
|
|
145
|
-
case "waiting":
|
|
146
|
-
return translate("agentHost.workspaceAgentActivityStatusWaiting");
|
|
147
|
-
case "idle":
|
|
148
|
-
return translate("agentHost.workspaceAgentActivityStatusIdle");
|
|
149
|
-
case "canceled":
|
|
150
|
-
case "completed":
|
|
151
|
-
return translate("agentHost.workspaceAgentActivityStatusEnd");
|
|
152
|
-
case "failed":
|
|
153
|
-
return translate("agentHost.workspaceAgentActivityStatusFailed");
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
function isWorkspaceAgentUntitledConversation(title) {
|
|
157
|
-
return localizedWorkspaceAgentLabelSet(
|
|
158
|
-
"agentHost.workspaceAgentsUntitledConversation"
|
|
159
|
-
).has(compactText(title));
|
|
160
|
-
}
|
|
161
|
-
function compactText(value) {
|
|
162
|
-
return value.trim().replace(/\s+/g, " ");
|
|
163
|
-
}
|
|
164
|
-
function localizedWorkspaceAgentLabelSet(key) {
|
|
165
|
-
return new Set(
|
|
166
|
-
["en", "zh-CN"].map((language) => compactText(translateInUiLanguage(language, key))).filter(Boolean)
|
|
167
|
-
);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
// shared/workspaceAgentActivitySummary.ts
|
|
171
|
-
function resolveWorkspaceAgentActivityTitle(session) {
|
|
172
|
-
return session.title.trim() || workspaceAgentUntitledConversationLabel();
|
|
173
|
-
}
|
|
174
|
-
function resolveLatestActivity(messages, status, actors) {
|
|
175
|
-
const latestMessage = latestDisplayableMessage(messages);
|
|
176
|
-
if (latestMessage) {
|
|
177
|
-
return {
|
|
178
|
-
actorName: messageRole(latestMessage.message) === "user" ? actors.userName : actors.agentName,
|
|
179
|
-
summary: latestMessage.text
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
return {
|
|
183
|
-
actorName: actors.agentName,
|
|
184
|
-
summary: fallbackSummary(status)
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
function latestDisplayableMessage(messages) {
|
|
188
|
-
return messages.map((message) => ({
|
|
189
|
-
message,
|
|
190
|
-
text: messageDisplayText(message),
|
|
191
|
-
time: messageTime(message)
|
|
192
|
-
})).filter(
|
|
193
|
-
(item) => item.text.length > 0 && normalizeToken(item.message.kind) !== "tool_call"
|
|
194
|
-
).sort((left, right) => {
|
|
195
|
-
const timeDiff = (right.time ?? 0) - (left.time ?? 0);
|
|
196
|
-
if (timeDiff !== 0) {
|
|
197
|
-
return timeDiff;
|
|
198
|
-
}
|
|
199
|
-
return right.message.messageId.localeCompare(left.message.messageId);
|
|
200
|
-
})[0] ?? null;
|
|
201
|
-
}
|
|
202
|
-
function messageDisplayText(message) {
|
|
203
|
-
const payload = message.payload ?? {};
|
|
204
|
-
const text = normalizeAgentTitleText(
|
|
205
|
-
compactText2(
|
|
206
|
-
stringValue(payload.displayPrompt) || stringValue(payload.text) || stringValue(payload.content) || stringValue(payload.message) || stringValue(payload.body) || stringValue(payload.title) || ""
|
|
207
|
-
)
|
|
208
|
-
);
|
|
209
|
-
return isWorkspaceAgentSyntheticControlMessage(text) ? "" : text;
|
|
210
|
-
}
|
|
211
|
-
function messageRole(message) {
|
|
212
|
-
return normalizeToken(message.role);
|
|
213
|
-
}
|
|
214
|
-
function messageTime(message) {
|
|
215
|
-
return message.occurredAtUnixMs ?? message.completedAtUnixMs ?? message.startedAtUnixMs;
|
|
216
|
-
}
|
|
217
|
-
function normalizeToken(value) {
|
|
218
|
-
return value?.trim().toLowerCase() ?? "";
|
|
219
|
-
}
|
|
220
|
-
function compactText2(value) {
|
|
221
|
-
return value.replace(/\s+/g, " ").trim();
|
|
222
|
-
}
|
|
223
|
-
function workspaceAgentUntitledConversationLabel() {
|
|
224
|
-
return normalizeAgentTitleText(
|
|
225
|
-
translate("agentHost.workspaceAgentsUntitledConversation")
|
|
226
|
-
);
|
|
227
|
-
}
|
|
228
|
-
function stringValue(value) {
|
|
229
|
-
return typeof value === "string" && value.trim() ? value.trim() : null;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
// shared/workspaceAgentSessionTitle.ts
|
|
233
|
-
function resolveDisplayableWorkspaceAgentSessionTitle(session) {
|
|
234
|
-
const title = session.title.trim();
|
|
235
|
-
if (!title || isWorkspaceAgentUntitledConversation(title) || isWorkspaceAgentSyntheticControlMessage(title)) {
|
|
236
|
-
return "";
|
|
237
|
-
}
|
|
238
|
-
const provider = session.provider?.trim();
|
|
239
|
-
if (provider && workspaceAgentProviderLabel(provider).toLowerCase() === title.toLowerCase()) {
|
|
240
|
-
return "";
|
|
241
|
-
}
|
|
242
|
-
return title;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
// shared/workspaceAgentActivityListOrdering.ts
|
|
246
|
-
function shouldHideEmptyRuntimePlaceholderSession(session, messages, status, options) {
|
|
247
|
-
if (messages.length > 0) {
|
|
248
|
-
return false;
|
|
249
|
-
}
|
|
250
|
-
if (!hasLoadedSessionMessageRecord(session, options.sessionMessagesById)) {
|
|
251
|
-
return false;
|
|
252
|
-
}
|
|
253
|
-
if (!isRuntimePlaceholderTerminalStatus(status)) {
|
|
254
|
-
return false;
|
|
255
|
-
}
|
|
256
|
-
return resolveDisplayableWorkspaceAgentSessionTitle(session) === "";
|
|
257
|
-
}
|
|
258
|
-
function hasLoadedSessionMessageRecord(session, sessionMessagesById) {
|
|
259
|
-
if (!sessionMessagesById) {
|
|
260
|
-
return false;
|
|
261
|
-
}
|
|
262
|
-
return workspaceAgentSessionMessageAliases(session).some(
|
|
263
|
-
(alias) => alias in sessionMessagesById
|
|
264
|
-
);
|
|
265
|
-
}
|
|
266
|
-
function isRuntimePlaceholderTerminalStatus(status) {
|
|
267
|
-
return status === "idle" || status === "completed" || status === "canceled";
|
|
268
|
-
}
|
|
269
|
-
function compareActivities(left, right) {
|
|
270
|
-
const timeDiff = right.sortTimeUnixMs - left.sortTimeUnixMs;
|
|
271
|
-
if (timeDiff !== 0) {
|
|
272
|
-
return timeDiff;
|
|
273
|
-
}
|
|
274
|
-
return left.sessionId.localeCompare(right.sessionId);
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
// shared/workspaceAgentActivityListProjection.ts
|
|
278
|
-
function buildWorkspaceAgentActivityListViewModel(snapshot, options = {}) {
|
|
279
|
-
const activities = selectRootAgentActivitySessions(snapshot).map((session) => {
|
|
280
|
-
const presence = snapshot.presences.find(
|
|
281
|
-
(candidate) => candidate.provider === session.provider && Boolean(candidate.userId) && candidate.userId === session.userId
|
|
282
|
-
) ?? null;
|
|
283
|
-
const messages = resolveWorkspaceAgentSessionMessages(
|
|
284
|
-
options.sessionMessagesById,
|
|
285
|
-
session
|
|
286
|
-
);
|
|
287
|
-
const status = resolveWorkspaceAgentActivityStatus(session);
|
|
288
|
-
if (shouldHideEmptyRuntimePlaceholderSession(
|
|
289
|
-
session,
|
|
290
|
-
messages,
|
|
291
|
-
status,
|
|
292
|
-
options
|
|
293
|
-
)) {
|
|
294
|
-
return null;
|
|
295
|
-
}
|
|
296
|
-
const user = resolveActivityUser(session, presence, options);
|
|
297
|
-
const agentProvider = resolveProvider(session, presence);
|
|
298
|
-
const agentName = workspaceAgentProviderLabel(agentProvider);
|
|
299
|
-
const resolvedSortTimeUnixMs = resolveWorkspaceAgentSessionSortTimeUnixMs(session);
|
|
300
|
-
const latestActivity = resolveLatestActivity(messages, status, {
|
|
301
|
-
agentName,
|
|
302
|
-
userName: user.userName
|
|
303
|
-
});
|
|
304
|
-
const activity = {
|
|
305
|
-
id: `activity-${session.agentSessionId}`,
|
|
306
|
-
sessionId: session.agentSessionId,
|
|
307
|
-
userId: user.userId,
|
|
308
|
-
userName: user.userName,
|
|
309
|
-
...user.userAvatarUrl ? { userAvatarUrl: user.userAvatarUrl } : {},
|
|
310
|
-
agentProvider,
|
|
311
|
-
agentName,
|
|
312
|
-
title: resolveWorkspaceAgentActivityTitle(session),
|
|
313
|
-
status,
|
|
314
|
-
latestActivitySummary: latestActivity.summary,
|
|
315
|
-
latestActivityActorName: latestActivity.actorName,
|
|
316
|
-
changedFiles: changedFilesForSession(messages),
|
|
317
|
-
sortTimeUnixMs: resolvedSortTimeUnixMs,
|
|
318
|
-
readTimeUnixMs: readTimeUnixMs(session, status, resolvedSortTimeUnixMs)
|
|
319
|
-
};
|
|
320
|
-
return activity;
|
|
321
|
-
}).filter(
|
|
322
|
-
(activity) => activity !== null
|
|
323
|
-
).sort(compareActivities);
|
|
324
|
-
return { activities };
|
|
325
|
-
}
|
|
326
|
-
function resolveWorkspaceAgentSessionMessages(sessionMessagesById, session) {
|
|
327
|
-
if (!sessionMessagesById) {
|
|
328
|
-
return [];
|
|
329
|
-
}
|
|
330
|
-
for (const alias of workspaceAgentSessionMessageAliases(session)) {
|
|
331
|
-
const messages = sessionMessagesById[alias];
|
|
332
|
-
if (messages) {
|
|
333
|
-
return messages;
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
return [];
|
|
337
|
-
}
|
|
338
|
-
function resolveActivityUser(session, presence, options) {
|
|
339
|
-
if (presence) {
|
|
340
|
-
return resolveUserFromId(presence.userId ?? "", options);
|
|
341
|
-
}
|
|
342
|
-
const sessionUserId = session.userId?.trim() ?? "";
|
|
343
|
-
if (sessionUserId) {
|
|
344
|
-
return resolveUserFromId(sessionUserId, options);
|
|
345
|
-
}
|
|
346
|
-
return {
|
|
347
|
-
userId: null,
|
|
348
|
-
userName: "Unknown member"
|
|
349
|
-
};
|
|
350
|
-
}
|
|
351
|
-
function resolveUserFromId(rawUserId, options) {
|
|
352
|
-
const userId = rawUserId.trim();
|
|
353
|
-
const profile = options.userProfilesById?.[userId];
|
|
354
|
-
const profileName = compactText3(profile?.name ?? "");
|
|
355
|
-
const profileAvatar = profile?.avatar?.trim();
|
|
356
|
-
const rawName = profileName || userId || "Unknown member";
|
|
357
|
-
return {
|
|
358
|
-
userId,
|
|
359
|
-
userName: stripTrailingParentheticalEmailFromLabel(rawName) || rawName,
|
|
360
|
-
...profileAvatar ? { userAvatarUrl: profileAvatar } : {}
|
|
361
|
-
};
|
|
362
|
-
}
|
|
363
|
-
function resolveProvider(session, presence) {
|
|
364
|
-
const sessionProvider = normalizeProvider(session.provider);
|
|
365
|
-
if (sessionProvider) {
|
|
366
|
-
return sessionProvider;
|
|
367
|
-
}
|
|
368
|
-
const presenceProvider = normalizeProvider(presence?.provider);
|
|
369
|
-
if (presenceProvider) {
|
|
370
|
-
return presenceProvider;
|
|
371
|
-
}
|
|
372
|
-
return "unknown";
|
|
373
|
-
}
|
|
374
|
-
function normalizeProvider(provider) {
|
|
375
|
-
const trimmed = provider?.trim();
|
|
376
|
-
return trimmed ? trimmed.toLowerCase() : null;
|
|
377
|
-
}
|
|
378
|
-
function readTimeUnixMs(session, status, fallbackUnixMs) {
|
|
379
|
-
if (status === "completed" || status === "failed") {
|
|
380
|
-
return session.endedAtUnixMs ?? session.updatedAtUnixMs ?? fallbackUnixMs;
|
|
381
|
-
}
|
|
382
|
-
return fallbackUnixMs;
|
|
383
|
-
}
|
|
384
|
-
function stripTrailingParentheticalEmailFromLabel(label) {
|
|
385
|
-
return label.trim().replace(/\s*\([^)]*@[^)]+\)\s*$/u, "").trim();
|
|
386
|
-
}
|
|
387
|
-
function compactText3(value) {
|
|
388
|
-
return value.replace(/\s+/g, " ").trim();
|
|
389
|
-
}
|
|
390
|
-
|
|
391
86
|
// shared/richText/richTextDocument.ts
|
|
392
87
|
import { isRichTextMentionHref } from "@tutti-os/ui-rich-text/core";
|
|
393
88
|
|
|
@@ -500,7 +195,7 @@ function resolveMentionGroupTotalCount(groupId, totalCounts, itemCount) {
|
|
|
500
195
|
function normalizeQuery(value) {
|
|
501
196
|
return value.replace(/\s+/g, " ").trim();
|
|
502
197
|
}
|
|
503
|
-
function
|
|
198
|
+
function compactText(value) {
|
|
504
199
|
return value?.replace(/\s+/g, " ").trim() ?? "";
|
|
505
200
|
}
|
|
506
201
|
|
|
@@ -993,7 +688,7 @@ function normalizeSessionMentionItems(input) {
|
|
|
993
688
|
return input.items.filter((item) => item.kind === "session");
|
|
994
689
|
}
|
|
995
690
|
function providerItemToAgentMentionItem(input) {
|
|
996
|
-
const label =
|
|
691
|
+
const label = compactText(input.label);
|
|
997
692
|
if (!label) {
|
|
998
693
|
return null;
|
|
999
694
|
}
|
|
@@ -1072,7 +767,7 @@ function providerItemToAgentMentionItem(input) {
|
|
|
1072
767
|
title: label,
|
|
1073
768
|
iconUrl: presentation.iconUrl?.trim() || void 0,
|
|
1074
769
|
status: presentation.status?.trim() || void 0,
|
|
1075
|
-
contentPreview:
|
|
770
|
+
contentPreview: compactText(presentation.description) || compactText(input.subtitle) || void 0
|
|
1076
771
|
};
|
|
1077
772
|
}
|
|
1078
773
|
if (input.providerId === WORKSPACE_APP_PROVIDER_ID) {
|
|
@@ -1089,7 +784,7 @@ function providerItemToAgentMentionItem(input) {
|
|
|
1089
784
|
targetId: appId,
|
|
1090
785
|
appId,
|
|
1091
786
|
name: label,
|
|
1092
|
-
description:
|
|
787
|
+
description: compactText(presentation.description) || compactText(presentation.subtitle) || compactText(input.subtitle) || void 0,
|
|
1093
788
|
iconUrl: presentation.iconUrl?.trim() || void 0,
|
|
1094
789
|
referencesListSupported: presentation.referencesListSupported === "true"
|
|
1095
790
|
};
|
|
@@ -1107,7 +802,7 @@ function providerItemToAgentMentionItem(input) {
|
|
|
1107
802
|
workspaceId,
|
|
1108
803
|
targetId,
|
|
1109
804
|
name: label,
|
|
1110
|
-
description:
|
|
805
|
+
description: compactText(presentation.description) || compactText(presentation.subtitle) || compactText(input.subtitle) || void 0,
|
|
1111
806
|
agentProviderId,
|
|
1112
807
|
iconUrl: presentation.iconUrl?.trim() || void 0,
|
|
1113
808
|
availabilityStatus: presentation.status?.trim() || void 0
|
|
@@ -1116,8 +811,8 @@ function providerItemToAgentMentionItem(input) {
|
|
|
1116
811
|
if (input.providerId === AGENT_SESSION_PROVIDER_ID) {
|
|
1117
812
|
const agentName = presentation.subtitle?.trim() || "";
|
|
1118
813
|
const title = normalizeAgentSessionMentionTitle(label) || label;
|
|
1119
|
-
const description =
|
|
1120
|
-
const summaryPreview = description ||
|
|
814
|
+
const description = compactText(presentation.description);
|
|
815
|
+
const summaryPreview = description || compactText(input.subtitle) || void 0;
|
|
1121
816
|
return {
|
|
1122
817
|
kind: "session",
|
|
1123
818
|
href: createRichTextMentionHref2({
|
|
@@ -3197,7 +2892,6 @@ function preloadAgentMentionBrowse(input) {
|
|
|
3197
2892
|
}
|
|
3198
2893
|
|
|
3199
2894
|
export {
|
|
3200
|
-
buildWorkspaceAgentActivityListViewModel,
|
|
3201
2895
|
agentGuiScheduler,
|
|
3202
2896
|
agentMentionGroupLabel,
|
|
3203
2897
|
agentMentionFilterLabel,
|
|
@@ -3211,4 +2905,4 @@ export {
|
|
|
3211
2905
|
AgentMentionSearchController,
|
|
3212
2906
|
preloadAgentMentionBrowse
|
|
3213
2907
|
};
|
|
3214
|
-
//# sourceMappingURL=chunk-
|
|
2908
|
+
//# sourceMappingURL=chunk-EKQ7UX2B.js.map
|