@tutti-os/agent-gui 0.0.98 → 0.0.100
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/{AgentGUI-Bkk2TRS0.d.ts → AgentGUI-DgBjACOL.d.ts} +12 -3
- package/dist/agent-conversation/index.d.ts +4 -4
- package/dist/agent-conversation/index.js +8 -9
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-gui.d.ts +5 -4
- package/dist/agent-gui.js +19 -19
- package/dist/agent-message-center/index.d.ts +4 -6
- package/dist/agent-message-center/index.js +13 -52
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/agent-title-text.js +1 -1
- package/dist/{agentConversationVM-C335TR6S.d.ts → agentConversationVM-BzHZhwFP.d.ts} +1 -1
- package/dist/{agentGuiNodeTypes-DAsluxjv.d.ts → agentGuiNodeTypes-C-wBSM-Y.d.ts} +19 -4
- package/dist/app/renderer/agentactivity.css +141 -36
- package/dist/chunk-2RQM7PJN.js +16 -0
- package/dist/chunk-2RQM7PJN.js.map +1 -0
- package/dist/{chunk-FSKGEGGX.js → chunk-4E3QCW6L.js} +17 -3
- package/dist/chunk-4E3QCW6L.js.map +1 -0
- package/dist/{chunk-63BE6RGM.js → chunk-4YCCATI4.js} +14 -374
- package/dist/chunk-4YCCATI4.js.map +1 -0
- package/dist/{chunk-IYEXLOUE.js → chunk-4YVKAPKW.js} +5 -8
- package/dist/chunk-4YVKAPKW.js.map +1 -0
- package/dist/{chunk-7O4D4KOE.js → chunk-BQJOYTW2.js} +939 -751
- package/dist/chunk-BQJOYTW2.js.map +1 -0
- package/dist/{chunk-MRRICFWA.js → chunk-D7HMQLBO.js} +159 -55
- package/dist/chunk-D7HMQLBO.js.map +1 -0
- package/dist/{chunk-OTRZBTFQ.js → chunk-DWUVRWXD.js} +2 -2
- package/dist/{chunk-RHTZAODZ.js → chunk-E5AD46HP.js} +2 -2
- package/dist/{chunk-3NOJFKDV.js → chunk-EUW6VPIK.js} +414 -49
- package/dist/chunk-EUW6VPIK.js.map +1 -0
- package/dist/{chunk-Y35GDLP2.js → chunk-F5UR6EJG.js} +2 -17
- package/dist/chunk-F5UR6EJG.js.map +1 -0
- package/dist/{chunk-J7ZYAUPC.js → chunk-FAE7CXZO.js} +8 -6
- package/dist/chunk-FAE7CXZO.js.map +1 -0
- package/dist/{chunk-CPUEPDF7.js → chunk-GCW57WYQ.js} +646 -595
- package/dist/chunk-GCW57WYQ.js.map +1 -0
- package/dist/{chunk-7M77BK6K.js → chunk-JWHPVETQ.js} +154 -147
- package/dist/chunk-JWHPVETQ.js.map +1 -0
- package/dist/{chunk-4ROALW3K.js → chunk-KAV2WHTG.js} +82 -61
- package/dist/chunk-KAV2WHTG.js.map +1 -0
- package/dist/{chunk-T6PEJFRP.js → chunk-MES7BQWI.js} +378 -369
- package/dist/chunk-MES7BQWI.js.map +1 -0
- package/dist/chunk-MIJXEELH.js +96 -0
- package/dist/chunk-MIJXEELH.js.map +1 -0
- package/dist/{chunk-QWGJ5TEG.js → chunk-QY22OBJS.js} +28 -30
- package/dist/chunk-QY22OBJS.js.map +1 -0
- package/dist/{chunk-MASXZENX.js → chunk-UESYITH6.js} +21 -2
- package/dist/chunk-UESYITH6.js.map +1 -0
- package/dist/{chunk-SPZJCTBV.js → chunk-XFRY2WWB.js} +348 -322
- package/dist/chunk-XFRY2WWB.js.map +1 -0
- package/dist/context-mention-palette/index.d.ts +5 -1
- package/dist/context-mention-palette/index.js +10 -11
- package/dist/contribution-CTVBPN0R.d.ts +119 -0
- package/dist/i18n/index.d.ts +16 -2
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +8 -7
- package/dist/index.js +21 -20
- package/dist/index.js.map +1 -1
- package/dist/mention-search.d.ts +18 -6
- package/dist/mention-search.js +8 -9
- package/dist/workbench/contribution.d.ts +6 -107
- package/dist/workbench/contribution.js +7 -3
- package/dist/workbench/index.d.ts +6 -4
- package/dist/workbench/index.js +27 -21
- package/dist/workbench/launch.d.ts +13 -5
- package/dist/workbench/launch.js +1 -1
- package/dist/workbench/sessionTitle.d.ts +5 -7
- package/dist/workbench/sessionTitle.js +3 -4
- package/dist/workbench/state.js +3 -1
- package/dist/workspace-agent-generated-files.d.ts +8 -13
- package/dist/workspace-agent-generated-files.js +6 -21
- package/dist/{workspaceAgentActivityListTypes-C7gPWYiA.d.ts → workspaceAgentActivityListTypes-DZfS_HgG.d.ts} +3 -26
- package/package.json +12 -12
- package/dist/chunk-3NOJFKDV.js.map +0 -1
- package/dist/chunk-4ROALW3K.js.map +0 -1
- package/dist/chunk-63BE6RGM.js.map +0 -1
- package/dist/chunk-7M77BK6K.js.map +0 -1
- package/dist/chunk-7O4D4KOE.js.map +0 -1
- package/dist/chunk-CPUEPDF7.js.map +0 -1
- package/dist/chunk-FSKGEGGX.js.map +0 -1
- package/dist/chunk-GAD6Y3BF.js +0 -88
- package/dist/chunk-GAD6Y3BF.js.map +0 -1
- package/dist/chunk-GCBDIQDX.js +0 -22
- package/dist/chunk-GCBDIQDX.js.map +0 -1
- package/dist/chunk-IYEXLOUE.js.map +0 -1
- package/dist/chunk-J7ZYAUPC.js.map +0 -1
- package/dist/chunk-MASXZENX.js.map +0 -1
- package/dist/chunk-MRRICFWA.js.map +0 -1
- package/dist/chunk-QWGJ5TEG.js.map +0 -1
- package/dist/chunk-SPZJCTBV.js.map +0 -1
- package/dist/chunk-T6PEJFRP.js.map +0 -1
- package/dist/chunk-Y35GDLP2.js.map +0 -1
- package/dist/chunk-Y5M6Q6WX.js +0 -25
- package/dist/chunk-Y5M6Q6WX.js.map +0 -1
- /package/dist/{chunk-OTRZBTFQ.js.map → chunk-DWUVRWXD.js.map} +0 -0
- /package/dist/{chunk-RHTZAODZ.js.map → chunk-E5AD46HP.js.map} +0 -0
|
@@ -9,10 +9,11 @@ import {
|
|
|
9
9
|
resolveAgentGuiSessionProviderFlatIconUrl,
|
|
10
10
|
resolveNextAgentGUIConversationRailWidthPx,
|
|
11
11
|
shouldAutoCollapseAgentGUIConversationRail
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-D7HMQLBO.js";
|
|
13
13
|
import {
|
|
14
14
|
AGENT_PROVIDERS,
|
|
15
15
|
AGENT_PROVIDER_LABEL,
|
|
16
|
+
deriveAgentGUIOptimisticConversationTitle,
|
|
16
17
|
isAgentGUIProviderUnresolved,
|
|
17
18
|
normalizeAgentGUIProviderIdentity,
|
|
18
19
|
resolveAgentGUIConversationDisplayTitle,
|
|
@@ -20,7 +21,7 @@ import {
|
|
|
20
21
|
resolveAgentGUIExplicitConversationTitle,
|
|
21
22
|
resolveAgentGUIProviderDisplayLabel,
|
|
22
23
|
resolveAgentGUIProviderIdentity
|
|
23
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-KAV2WHTG.js";
|
|
24
25
|
import {
|
|
25
26
|
resolveAgentGuiWorkbenchProviderLabel
|
|
26
27
|
} from "./chunk-L3GMMGRS.js";
|
|
@@ -64,14 +65,14 @@ import {
|
|
|
64
65
|
toLocalShortDateTime,
|
|
65
66
|
updateAgentComposerDraft,
|
|
66
67
|
useProjectedAgentConversation
|
|
67
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-JWHPVETQ.js";
|
|
68
69
|
import {
|
|
69
70
|
openAgentEnvPanel
|
|
70
71
|
} from "./chunk-7BXWPI4F.js";
|
|
71
72
|
import {
|
|
72
73
|
AgentFileMentionPalette,
|
|
73
74
|
agentMentionItemKey
|
|
74
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-FAE7CXZO.js";
|
|
75
76
|
import {
|
|
76
77
|
normalizeAgentGUIAgents,
|
|
77
78
|
projectAgentGUIAgentsToInternalTargets
|
|
@@ -79,11 +80,10 @@ import {
|
|
|
79
80
|
import {
|
|
80
81
|
AGENT_MENTION_FILTER_TAB_ORDER,
|
|
81
82
|
AgentMentionSearchController,
|
|
82
|
-
DEFAULT_AGENT_MENTION_FILTER
|
|
83
|
-
|
|
84
|
-
import {
|
|
83
|
+
DEFAULT_AGENT_MENTION_FILTER,
|
|
84
|
+
agentGuiScheduler,
|
|
85
85
|
buildWorkspaceAgentActivityListViewModel
|
|
86
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-EUW6VPIK.js";
|
|
87
87
|
import {
|
|
88
88
|
AGENT_RICH_TEXT_CARET_ANCHOR,
|
|
89
89
|
createAgentSessionMarkdownLink,
|
|
@@ -93,7 +93,7 @@ import {
|
|
|
93
93
|
mentionItemToAttrs,
|
|
94
94
|
normalizeAgentSessionMentionTitle,
|
|
95
95
|
parseMentionItemFromHref
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-GCW57WYQ.js";
|
|
97
97
|
import {
|
|
98
98
|
AgentInteractivePromptSurface,
|
|
99
99
|
PLAN_IMPLEMENTATION_ACTION_FEEDBACK,
|
|
@@ -102,9 +102,11 @@ import {
|
|
|
102
102
|
approvalOptionDisplayLabel,
|
|
103
103
|
dispatchAgentPlanPromptAction,
|
|
104
104
|
latestPlanTurnId,
|
|
105
|
-
planImplementationPromptFromPlanTurn
|
|
105
|
+
planImplementationPromptFromPlanTurn
|
|
106
|
+
} from "./chunk-XFRY2WWB.js";
|
|
107
|
+
import {
|
|
106
108
|
useEngineSelector
|
|
107
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-2RQM7PJN.js";
|
|
108
110
|
import {
|
|
109
111
|
AgentMessageMarkdown,
|
|
110
112
|
AgentTargetPresentationProvider,
|
|
@@ -113,7 +115,7 @@ import {
|
|
|
113
115
|
resolveAgentTargetPresentation,
|
|
114
116
|
resolveWorkspaceLinkAction,
|
|
115
117
|
useAgentTargetPresentations
|
|
116
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-MES7BQWI.js";
|
|
117
119
|
import {
|
|
118
120
|
resolveWorkspaceAgentSessionSortTimeUnixMs
|
|
119
121
|
} from "./chunk-YMXYBG7U.js";
|
|
@@ -128,7 +130,7 @@ import {
|
|
|
128
130
|
useAgentHostApi,
|
|
129
131
|
useOptionalAgentActivityRuntime,
|
|
130
132
|
useOptionalAgentHostApi
|
|
131
|
-
} from "./chunk-
|
|
133
|
+
} from "./chunk-UESYITH6.js";
|
|
132
134
|
import {
|
|
133
135
|
normalizeManagedAgentProvider
|
|
134
136
|
} from "./chunk-H6IQ63DQ.js";
|
|
@@ -136,7 +138,7 @@ import {
|
|
|
136
138
|
AgentGuiI18nProvider,
|
|
137
139
|
translate,
|
|
138
140
|
useTranslation
|
|
139
|
-
} from "./chunk-
|
|
141
|
+
} from "./chunk-E5AD46HP.js";
|
|
140
142
|
import {
|
|
141
143
|
migratedAgentGUIProviderIdentityCatalog,
|
|
142
144
|
resolveAgentGUIProviderCatalogIdentity,
|
|
@@ -149,12 +151,13 @@ import {
|
|
|
149
151
|
|
|
150
152
|
// AgentGUI.tsx
|
|
151
153
|
import { memo as memo15 } from "react";
|
|
152
|
-
import { TooltipProvider as
|
|
154
|
+
import { TooltipProvider as TooltipProvider6 } from "@tutti-os/ui-system";
|
|
153
155
|
|
|
154
156
|
// agent-gui/agentGuiNode/AgentGUINode.tsx
|
|
155
157
|
import { memo as memo14, useCallback as useCallback50, useEffect as useEffect39, useMemo as useMemo39 } from "react";
|
|
156
158
|
import { createWorkspaceUserProjectI18nRuntime } from "@tutti-os/workspace-user-project/i18n";
|
|
157
159
|
import { createWorkspaceFileManagerI18nRuntime } from "@tutti-os/workspace-file-manager";
|
|
160
|
+
import { useReferenceProvenanceFilterCatalog } from "@tutti-os/workspace-file-reference/react";
|
|
158
161
|
|
|
159
162
|
// utils/workspaceNodeSizing.ts
|
|
160
163
|
var MIN_SIZE_BY_KIND = {
|
|
@@ -2355,12 +2358,6 @@ function timelineSessionFromItems(timelineItems, conversation) {
|
|
|
2355
2358
|
pinnedAtUnixMs: conversation?.pinnedAtUnixMs ?? null
|
|
2356
2359
|
});
|
|
2357
2360
|
}
|
|
2358
|
-
function firstUserMessageTitleFromTimelineItems(timelineItems) {
|
|
2359
|
-
const userMessage = [...timelineItems].filter(
|
|
2360
|
-
(item) => timelineItemRole(item) === "user" && timelineItemText(item).length > 0
|
|
2361
|
-
).sort(compareTimelineItemsAscending)[0];
|
|
2362
|
-
return userMessage ? timelineItemText(userMessage) : "";
|
|
2363
|
-
}
|
|
2364
2361
|
function workspaceAgentMessagesFromTimelineItems(timelineItems) {
|
|
2365
2362
|
return timelineItems.map((item, index) => {
|
|
2366
2363
|
const messageId = item.eventId || `${item.agentSessionId}:${item.id}:${index}`;
|
|
@@ -2406,21 +2403,6 @@ function timelineItemRole(item) {
|
|
|
2406
2403
|
}
|
|
2407
2404
|
return null;
|
|
2408
2405
|
}
|
|
2409
|
-
function timelineItemText(item) {
|
|
2410
|
-
const payloadDisplayPrompt = typeof item.payload?.displayPrompt === "string" ? item.payload.displayPrompt : "";
|
|
2411
|
-
const payloadContent = typeof item.payload?.content === "string" ? item.payload.content : "";
|
|
2412
|
-
const payloadText = typeof item.payload?.text === "string" ? item.payload.text : "";
|
|
2413
|
-
return (payloadDisplayPrompt || payloadText || item.content || payloadContent).replace(/\s+/g, " ").trim();
|
|
2414
|
-
}
|
|
2415
|
-
function compareTimelineItemsAscending(left, right) {
|
|
2416
|
-
const leftTime = left.occurredAtUnixMs ?? left.createdAtUnixMs ?? 0;
|
|
2417
|
-
const rightTime = right.occurredAtUnixMs ?? right.createdAtUnixMs ?? 0;
|
|
2418
|
-
const timeDiff = leftTime - rightTime;
|
|
2419
|
-
if (timeDiff !== 0) {
|
|
2420
|
-
return timeDiff;
|
|
2421
|
-
}
|
|
2422
|
-
return left.id - right.id || left.eventId.localeCompare(right.eventId);
|
|
2423
|
-
}
|
|
2424
2406
|
|
|
2425
2407
|
// agent-gui/agentGuiNode/model/agentGuiTimelineMerge.ts
|
|
2426
2408
|
function mergeTimelineItems(left, right) {
|
|
@@ -2637,8 +2619,7 @@ function conversationSummaryFromAgentSession(session, options = {}) {
|
|
|
2637
2619
|
sessionProvider: session.provider
|
|
2638
2620
|
});
|
|
2639
2621
|
const { title, titleFallback } = resolveAgentGUIConversationTitle(
|
|
2640
|
-
session.title
|
|
2641
|
-
provider
|
|
2622
|
+
session.title
|
|
2642
2623
|
);
|
|
2643
2624
|
return {
|
|
2644
2625
|
id: session.agentSessionId.trim(),
|
|
@@ -2678,22 +2659,6 @@ function applyAgentGUIConversationProjects(conversations, userProjects = [], opt
|
|
|
2678
2659
|
});
|
|
2679
2660
|
return changed ? next : conversations;
|
|
2680
2661
|
}
|
|
2681
|
-
function resolveAgentGUIConversationTitleFromTimelineItems({
|
|
2682
|
-
timelineItems,
|
|
2683
|
-
conversation
|
|
2684
|
-
}) {
|
|
2685
|
-
if (resolveAgentGUIExplicitConversationTitle(conversation) !== null) {
|
|
2686
|
-
return null;
|
|
2687
|
-
}
|
|
2688
|
-
const userMessageTitle = firstUserMessageTitleFromTimelineItems(timelineItems);
|
|
2689
|
-
if (!userMessageTitle) {
|
|
2690
|
-
return null;
|
|
2691
|
-
}
|
|
2692
|
-
return resolveAgentGUIConversationTitle(
|
|
2693
|
-
userMessageTitle,
|
|
2694
|
-
conversation.provider
|
|
2695
|
-
);
|
|
2696
|
-
}
|
|
2697
2662
|
function resolveConversationProject(session, projectResolver) {
|
|
2698
2663
|
if (isExternalImportNoProjectSession(session)) {
|
|
2699
2664
|
return null;
|
|
@@ -4469,11 +4434,6 @@ function windowHasTurnMissingUserPrompt(messages, newestPagedVersion) {
|
|
|
4469
4434
|
}
|
|
4470
4435
|
return [...pagedTurnIds].some((turnId) => !turnIdsWithUserPrompt.has(turnId));
|
|
4471
4436
|
}
|
|
4472
|
-
function sessionHasRenderableMessages(input) {
|
|
4473
|
-
const normalized = input.agentSessionId.trim();
|
|
4474
|
-
if (!normalized) return false;
|
|
4475
|
-
return (input.snapshotMessagesById[normalized]?.length ?? 0) > 0;
|
|
4476
|
-
}
|
|
4477
4437
|
function useAgentConversationMessagePaging(input) {
|
|
4478
4438
|
const inputRef = useRef3(input);
|
|
4479
4439
|
inputRef.current = input;
|
|
@@ -5597,7 +5557,8 @@ function useAgentGUIActivation({
|
|
|
5597
5557
|
...sharedIntent,
|
|
5598
5558
|
agentTargetId,
|
|
5599
5559
|
clientSubmitId,
|
|
5600
|
-
mode: "new"
|
|
5560
|
+
mode: "new",
|
|
5561
|
+
...input.optimisticTitle ? { optimisticTitle: input.optimisticTitle } : {}
|
|
5601
5562
|
});
|
|
5602
5563
|
} else {
|
|
5603
5564
|
engine.dispatch({
|
|
@@ -5822,13 +5783,13 @@ function useAgentConversationSelection(input) {
|
|
|
5822
5783
|
if (!normalized) return;
|
|
5823
5784
|
const current = inputRef.current;
|
|
5824
5785
|
const previous = current.selection.getActiveSessionId();
|
|
5825
|
-
const
|
|
5786
|
+
const detailHydrated = current.detail.isHydrated(normalized);
|
|
5826
5787
|
const activationPending = current.activation.isPending(normalized);
|
|
5827
5788
|
current.selection.setComposerHome(false);
|
|
5828
5789
|
if (previous && previous !== normalized)
|
|
5829
5790
|
current.activation.forget(previous);
|
|
5830
5791
|
if (previous !== normalized) {
|
|
5831
|
-
if (
|
|
5792
|
+
if (detailHydrated || activationPending) {
|
|
5832
5793
|
current.detail.setLoading(false);
|
|
5833
5794
|
} else {
|
|
5834
5795
|
current.detail.markPending(normalized);
|
|
@@ -5841,7 +5802,7 @@ function useAgentConversationSelection(input) {
|
|
|
5841
5802
|
if (!activationPending) {
|
|
5842
5803
|
current.detail.reload(normalized, {
|
|
5843
5804
|
reloadConversations,
|
|
5844
|
-
reloadDetail: previous === normalized || !
|
|
5805
|
+
reloadDetail: previous === normalized || !detailHydrated
|
|
5845
5806
|
});
|
|
5846
5807
|
}
|
|
5847
5808
|
persistActiveConversation(normalized);
|
|
@@ -5990,6 +5951,7 @@ function useAgentGUIConversationRouting(input) {
|
|
|
5990
5951
|
|
|
5991
5952
|
// agent-gui/agentGuiNode/controller/useAgentGUIConversationSelectionController.ts
|
|
5992
5953
|
import {
|
|
5954
|
+
selectEngineSessionDetailHydrated,
|
|
5993
5955
|
selectLatestActivationForSession
|
|
5994
5956
|
} from "@tutti-os/agent-activity-core";
|
|
5995
5957
|
import { useEffect as useEffect4 } from "react";
|
|
@@ -6003,7 +5965,6 @@ function useAgentGUIConversationSelectionController(input) {
|
|
|
6003
5965
|
activeConversationIdRef,
|
|
6004
5966
|
activePendingActivation,
|
|
6005
5967
|
agentActivityRuntime,
|
|
6006
|
-
agentActivitySnapshotRef,
|
|
6007
5968
|
attentionReadRecordsBySessionId,
|
|
6008
5969
|
conversationIdsRef,
|
|
6009
5970
|
conversationListQuery,
|
|
@@ -6128,10 +6089,10 @@ function useAgentGUIConversationSelectionController(input) {
|
|
|
6128
6089
|
contains: (agentSessionId) => conversationIdsRef.current.has(agentSessionId)
|
|
6129
6090
|
},
|
|
6130
6091
|
detail: {
|
|
6131
|
-
|
|
6132
|
-
|
|
6133
|
-
|
|
6134
|
-
|
|
6092
|
+
isHydrated: (agentSessionId) => selectEngineSessionDetailHydrated(
|
|
6093
|
+
sessionEngine.getSnapshot(),
|
|
6094
|
+
agentSessionId
|
|
6095
|
+
),
|
|
6135
6096
|
markPending: markSelectedConversationDetailPending,
|
|
6136
6097
|
reload: (agentSessionId, options) => reloadSelectedConversationRef.current(agentSessionId, options),
|
|
6137
6098
|
setLoading: setIsLoadingMessages
|
|
@@ -6206,8 +6167,7 @@ function projectCanonicalAgentGUIConversationSummaries(sessions) {
|
|
|
6206
6167
|
sessionProvider: item.session.provider
|
|
6207
6168
|
});
|
|
6208
6169
|
const { title, titleFallback } = resolveAgentGUIConversationTitle(
|
|
6209
|
-
item.session.title
|
|
6210
|
-
provider
|
|
6170
|
+
item.session.title
|
|
6211
6171
|
);
|
|
6212
6172
|
const canonicalUpdatedAtUnixMs = item.session.updatedAtUnixMs ?? item.session.createdAtUnixMs ?? 0;
|
|
6213
6173
|
return {
|
|
@@ -6264,8 +6224,7 @@ function useAgentGuiConversationList(engine, query, agentTargets = []) {
|
|
|
6264
6224
|
sessionProvider: target?.provider ?? query.provider
|
|
6265
6225
|
});
|
|
6266
6226
|
const { title, titleFallback } = resolveAgentGUIConversationTitle(
|
|
6267
|
-
activation.title ?? ""
|
|
6268
|
-
provider
|
|
6227
|
+
activation.optimisticTitle ?? activation.title ?? ""
|
|
6269
6228
|
);
|
|
6270
6229
|
return {
|
|
6271
6230
|
agentTargetId: activation.agentTargetId,
|
|
@@ -6290,15 +6249,13 @@ function useAgentGuiConversationList(engine, query, agentTargets = []) {
|
|
|
6290
6249
|
const canonicalUpdatedAtUnixMs = conversation.updatedAtUnixMs;
|
|
6291
6250
|
const activation = latestNewActivationBySessionId.get(conversation.id);
|
|
6292
6251
|
const activationIsNewer = activation !== void 0 && activation.requestedAtUnixMs > canonicalUpdatedAtUnixMs;
|
|
6293
|
-
const
|
|
6294
|
-
const
|
|
6295
|
-
|
|
6296
|
-
|
|
6297
|
-
);
|
|
6252
|
+
const optimisticTitle = activation?.optimisticTitle?.trim() ?? "";
|
|
6253
|
+
const shouldUseOptimisticTitle = conversation.title.trim().length === 0 && optimisticTitle.length > 0;
|
|
6254
|
+
const projectedTitle = shouldUseOptimisticTitle ? optimisticTitle : activationIsNewer && activation?.title ? activation.title : conversation.title;
|
|
6255
|
+
const { title, titleFallback } = resolveAgentGUIConversationTitle(projectedTitle);
|
|
6298
6256
|
return {
|
|
6299
6257
|
...conversation,
|
|
6300
6258
|
sortTimeUnixMs: activationIsNewer ? activation.requestedAtUnixMs : conversation.sortTimeUnixMs,
|
|
6301
|
-
status: activationIsPending ? "working" : conversation.status,
|
|
6302
6259
|
title,
|
|
6303
6260
|
titleFallback,
|
|
6304
6261
|
updatedAtUnixMs: activationIsNewer ? activation.requestedAtUnixMs : canonicalUpdatedAtUnixMs
|
|
@@ -6345,7 +6302,6 @@ function consumerSessionsEqual(left, right) {
|
|
|
6345
6302
|
// agent-gui/agentGuiNode/controller/useAgentGUIConversationListState.ts
|
|
6346
6303
|
function useAgentGUIConversationListState({
|
|
6347
6304
|
agentActivityRuntimeOrigin,
|
|
6348
|
-
agentActivitySnapshot,
|
|
6349
6305
|
currentUserId,
|
|
6350
6306
|
data,
|
|
6351
6307
|
normalizedProviderTargets,
|
|
@@ -6389,27 +6345,14 @@ function useAgentGUIConversationListState({
|
|
|
6389
6345
|
);
|
|
6390
6346
|
const conversations = useMemo6(() => {
|
|
6391
6347
|
return canonicalConversations.map((conversation) => {
|
|
6392
|
-
const projectedTitle = resolveAgentGUIConversationTitleFromTimelineItems({
|
|
6393
|
-
conversation,
|
|
6394
|
-
timelineItems: projectAgentGUIMessagesToTimelineItems(
|
|
6395
|
-
agentActivitySnapshot.sessionMessagesById[conversation.id] ?? []
|
|
6396
|
-
)
|
|
6397
|
-
});
|
|
6398
6348
|
const attention = attentionReadState.recordsBySessionId[conversation.id];
|
|
6399
|
-
return
|
|
6349
|
+
return attention ? {
|
|
6400
6350
|
...conversation,
|
|
6401
|
-
|
|
6402
|
-
|
|
6403
|
-
hasUnreadCompletion: attention.isUnread,
|
|
6404
|
-
unreadCompletionKey: attention.completionKey
|
|
6405
|
-
} : {}
|
|
6351
|
+
hasUnreadCompletion: attention.isUnread,
|
|
6352
|
+
unreadCompletionKey: attention.completionKey
|
|
6406
6353
|
} : conversation;
|
|
6407
6354
|
});
|
|
6408
|
-
}, [
|
|
6409
|
-
agentActivitySnapshot.sessionMessagesById,
|
|
6410
|
-
attentionReadState.recordsBySessionId,
|
|
6411
|
-
canonicalConversations
|
|
6412
|
-
]);
|
|
6355
|
+
}, [attentionReadState.recordsBySessionId, canonicalConversations]);
|
|
6413
6356
|
return {
|
|
6414
6357
|
attentionReadState,
|
|
6415
6358
|
conversationFilter,
|
|
@@ -7224,7 +7167,7 @@ function useAgentGUIContinueConversation(input) {
|
|
|
7224
7167
|
userProfilesByUserId: current.accountProfilesByUserId,
|
|
7225
7168
|
provider: activeConversation.provider,
|
|
7226
7169
|
agentTargetId: activeConversation.agentTargetId,
|
|
7227
|
-
conversationTitle: resolveAgentGUIExplicitConversationTitle(activeConversation) ?? translate("agentHost.
|
|
7170
|
+
conversationTitle: resolveAgentGUIExplicitConversationTitle(activeConversation) ?? translate("agentHost.workspaceAgentsUntitledConversation"),
|
|
7228
7171
|
existingDraftPrompt: agentComposerDraftPrompt(sourceDraft)
|
|
7229
7172
|
});
|
|
7230
7173
|
reportAgentGUIActiveConversationCleared({
|
|
@@ -7263,6 +7206,7 @@ function useAgentGUIContinueConversation(input) {
|
|
|
7263
7206
|
import {
|
|
7264
7207
|
useCallback as useCallback10
|
|
7265
7208
|
} from "react";
|
|
7209
|
+
import { flushSync } from "react-dom";
|
|
7266
7210
|
function useAgentGUIConversationBatchDeletion(input) {
|
|
7267
7211
|
const {
|
|
7268
7212
|
isDeletingProjectConversations,
|
|
@@ -7283,7 +7227,6 @@ function useAgentGUIConversationBatchDeletion(input) {
|
|
|
7283
7227
|
removeConversations,
|
|
7284
7228
|
workspaceId,
|
|
7285
7229
|
setIsDeletingProjectConversations,
|
|
7286
|
-
setAgentSessionViewMessagesLoading,
|
|
7287
7230
|
agentActivityRuntime,
|
|
7288
7231
|
dataRef,
|
|
7289
7232
|
agentHostApi
|
|
@@ -7312,31 +7255,15 @@ function useAgentGUIConversationBatchDeletion(input) {
|
|
|
7312
7255
|
type: "queue/sessionCleaned"
|
|
7313
7256
|
});
|
|
7314
7257
|
}
|
|
7315
|
-
const nextConversations = conversationsRef.current.filter(
|
|
7316
|
-
(conversation) => !targetIds.has(conversation.id)
|
|
7317
|
-
);
|
|
7318
|
-
const currentActiveId = activeConversationIdRef.current;
|
|
7319
|
-
if (currentActiveId && targetIds.has(currentActiveId)) {
|
|
7320
|
-
const nextActive = nextConversations[0]?.id ?? null;
|
|
7321
|
-
if (nextActive) {
|
|
7322
|
-
markSelectedConversationDetailPending(nextActive);
|
|
7323
|
-
setIntent({ tag: "active", id: nextActive });
|
|
7324
|
-
} else {
|
|
7325
|
-
setIsLoadingMessages(false);
|
|
7326
|
-
setIntent({ tag: "home" });
|
|
7327
|
-
}
|
|
7328
|
-
activeConversationIdRef.current = nextActive;
|
|
7329
|
-
setActiveConversationId(nextActive);
|
|
7330
|
-
persistActiveConversation(nextActive);
|
|
7331
|
-
}
|
|
7332
7258
|
removeConversations([...targetIds]);
|
|
7333
7259
|
},
|
|
7334
7260
|
[
|
|
7335
|
-
|
|
7336
|
-
|
|
7261
|
+
deleteAgentSessionView,
|
|
7262
|
+
removeConversations,
|
|
7337
7263
|
sessionEngine,
|
|
7338
7264
|
sessionViewRef,
|
|
7339
|
-
|
|
7265
|
+
setDraftByScopeKey,
|
|
7266
|
+
submittedDraftSnapshotsRef
|
|
7340
7267
|
]
|
|
7341
7268
|
);
|
|
7342
7269
|
const confirmDeleteProjectConversations = useCallback10(
|
|
@@ -7399,11 +7326,23 @@ function useAgentGUIConversationBatchDeletion(input) {
|
|
|
7399
7326
|
setListError(null);
|
|
7400
7327
|
const activeDeletedConversationId = activeConversationIdRef.current;
|
|
7401
7328
|
if (activeDeletedConversationId && targetIds.has(activeDeletedConversationId)) {
|
|
7402
|
-
|
|
7403
|
-
|
|
7404
|
-
|
|
7405
|
-
|
|
7406
|
-
|
|
7329
|
+
const nextActive = conversationsRef.current.find(
|
|
7330
|
+
(conversation) => !targetIds.has(conversation.id)
|
|
7331
|
+
)?.id ?? null;
|
|
7332
|
+
if (nextActive) {
|
|
7333
|
+
markSelectedConversationDetailPending(nextActive);
|
|
7334
|
+
}
|
|
7335
|
+
activeConversationIdRef.current = nextActive;
|
|
7336
|
+
flushSync(() => {
|
|
7337
|
+
if (nextActive) {
|
|
7338
|
+
setIntent({ tag: "active", id: nextActive });
|
|
7339
|
+
} else {
|
|
7340
|
+
setIsLoadingMessages(false);
|
|
7341
|
+
setIntent({ tag: "home" });
|
|
7342
|
+
}
|
|
7343
|
+
setActiveConversationId(nextActive);
|
|
7344
|
+
});
|
|
7345
|
+
persistActiveConversation(nextActive);
|
|
7407
7346
|
}
|
|
7408
7347
|
void deleteSessionsBatch({
|
|
7409
7348
|
sessionIds: [...targetIds],
|
|
@@ -7426,23 +7365,26 @@ function useAgentGUIConversationBatchDeletion(input) {
|
|
|
7426
7365
|
});
|
|
7427
7366
|
setListError(message);
|
|
7428
7367
|
showAgentGUIControllerErrorToast(agentHostApi.toast, message);
|
|
7429
|
-
if (activeDeletedConversationId && activeConversationIdRef.current === activeDeletedConversationId) {
|
|
7430
|
-
setIsLoadingMessages(false);
|
|
7431
|
-
setAgentSessionViewMessagesLoading(
|
|
7432
|
-
sessionViewRef(activeDeletedConversationId),
|
|
7433
|
-
false
|
|
7434
|
-
);
|
|
7435
|
-
}
|
|
7436
7368
|
}).finally(() => {
|
|
7437
7369
|
setIsDeletingProjectConversations(false);
|
|
7438
7370
|
});
|
|
7439
7371
|
},
|
|
7440
7372
|
[
|
|
7373
|
+
activeConversationIdRef,
|
|
7441
7374
|
agentActivityRuntime,
|
|
7375
|
+
agentHostApi.toast,
|
|
7376
|
+
conversationsRef,
|
|
7377
|
+
dataRef,
|
|
7442
7378
|
finalizeConversationBatchDeletion,
|
|
7443
7379
|
isDeletingProjectConversations,
|
|
7444
|
-
|
|
7445
|
-
|
|
7380
|
+
markSelectedConversationDetailPending,
|
|
7381
|
+
persistActiveConversation,
|
|
7382
|
+
setActiveConversationId,
|
|
7383
|
+
setDetailError,
|
|
7384
|
+
setIntent,
|
|
7385
|
+
setIsDeletingProjectConversations,
|
|
7386
|
+
setIsLoadingMessages,
|
|
7387
|
+
setListError,
|
|
7446
7388
|
workspaceId
|
|
7447
7389
|
]
|
|
7448
7390
|
);
|
|
@@ -7456,6 +7398,7 @@ function useAgentGUIConversationBatchDeletion(input) {
|
|
|
7456
7398
|
import {
|
|
7457
7399
|
useCallback as useCallback11
|
|
7458
7400
|
} from "react";
|
|
7401
|
+
import { flushSync as flushSync2 } from "react-dom";
|
|
7459
7402
|
function useAgentGUIConversationDeletion(input) {
|
|
7460
7403
|
const {
|
|
7461
7404
|
isDeletingConversation,
|
|
@@ -7466,7 +7409,6 @@ function useAgentGUIConversationDeletion(input) {
|
|
|
7466
7409
|
setIsDeletingConversation,
|
|
7467
7410
|
activeConversationIdRef,
|
|
7468
7411
|
setIsLoadingMessages,
|
|
7469
|
-
setAgentSessionViewMessagesLoading,
|
|
7470
7412
|
sessionViewRef,
|
|
7471
7413
|
activation,
|
|
7472
7414
|
agentActivityRuntime,
|
|
@@ -7481,7 +7423,6 @@ function useAgentGUIConversationDeletion(input) {
|
|
|
7481
7423
|
persistActiveConversation,
|
|
7482
7424
|
removeConversations,
|
|
7483
7425
|
agentHostApi,
|
|
7484
|
-
conversationListQuery,
|
|
7485
7426
|
workspaceId
|
|
7486
7427
|
} = input;
|
|
7487
7428
|
const requestDeleteConversation = useCallback11(
|
|
@@ -7515,8 +7456,28 @@ function useAgentGUIConversationDeletion(input) {
|
|
|
7515
7456
|
setIsDeletingConversation(true);
|
|
7516
7457
|
setDetailError(null);
|
|
7517
7458
|
if (activeConversationIdRef.current === target.id) {
|
|
7518
|
-
|
|
7519
|
-
|
|
7459
|
+
const currentConversations = conversationsRef.current;
|
|
7460
|
+
const targetIndex = currentConversations.findIndex(
|
|
7461
|
+
(conversation) => conversation.id === target.id
|
|
7462
|
+
);
|
|
7463
|
+
const nextConversations = currentConversations.filter(
|
|
7464
|
+
(conversation) => conversation.id !== target.id
|
|
7465
|
+
);
|
|
7466
|
+
const nextActive = nextConversations[Math.max(0, targetIndex)]?.id ?? nextConversations[Math.max(0, targetIndex - 1)]?.id ?? null;
|
|
7467
|
+
if (nextActive) {
|
|
7468
|
+
markSelectedConversationDetailPending(nextActive);
|
|
7469
|
+
}
|
|
7470
|
+
activeConversationIdRef.current = nextActive;
|
|
7471
|
+
flushSync2(() => {
|
|
7472
|
+
if (nextActive) {
|
|
7473
|
+
setIntent({ tag: "active", id: nextActive });
|
|
7474
|
+
} else {
|
|
7475
|
+
setIsLoadingMessages(false);
|
|
7476
|
+
setIntent({ tag: "home" });
|
|
7477
|
+
}
|
|
7478
|
+
setActiveConversationId(nextActive);
|
|
7479
|
+
});
|
|
7480
|
+
persistActiveConversation(nextActive);
|
|
7520
7481
|
}
|
|
7521
7482
|
void activation.unactivate(target.id).then(
|
|
7522
7483
|
() => agentActivityRuntime.deleteSession({
|
|
@@ -7542,26 +7503,6 @@ function useAgentGUIConversationDeletion(input) {
|
|
|
7542
7503
|
type: "queue/sessionCleaned"
|
|
7543
7504
|
});
|
|
7544
7505
|
deleteAgentSessionView(sessionViewRef(target.id));
|
|
7545
|
-
const currentConversations = conversationsRef.current;
|
|
7546
|
-
const targetIndex = currentConversations.findIndex(
|
|
7547
|
-
(conversation) => conversation.id === target.id
|
|
7548
|
-
);
|
|
7549
|
-
const nextConversations = currentConversations.filter(
|
|
7550
|
-
(conversation) => conversation.id !== target.id
|
|
7551
|
-
);
|
|
7552
|
-
if (activeConversationIdRef.current === target.id) {
|
|
7553
|
-
const nextActive = nextConversations[Math.max(0, targetIndex)]?.id ?? nextConversations[Math.max(0, targetIndex - 1)]?.id ?? null;
|
|
7554
|
-
if (nextActive) {
|
|
7555
|
-
markSelectedConversationDetailPending(nextActive);
|
|
7556
|
-
setIntent({ tag: "active", id: nextActive });
|
|
7557
|
-
} else {
|
|
7558
|
-
setIsLoadingMessages(false);
|
|
7559
|
-
setIntent({ tag: "home" });
|
|
7560
|
-
}
|
|
7561
|
-
activeConversationIdRef.current = nextActive;
|
|
7562
|
-
setActiveConversationId(nextActive);
|
|
7563
|
-
persistActiveConversation(nextActive);
|
|
7564
|
-
}
|
|
7565
7506
|
removeConversations([target.id]);
|
|
7566
7507
|
setPendingDeleteConversation(null);
|
|
7567
7508
|
}).catch((error) => {
|
|
@@ -7575,26 +7516,32 @@ function useAgentGUIConversationDeletion(input) {
|
|
|
7575
7516
|
workspaceId
|
|
7576
7517
|
});
|
|
7577
7518
|
showAgentGUIControllerErrorToast(agentHostApi.toast, message);
|
|
7578
|
-
if (activeConversationIdRef.current === target.id) {
|
|
7579
|
-
setIsLoadingMessages(false);
|
|
7580
|
-
setAgentSessionViewMessagesLoading(sessionViewRef(target.id), false);
|
|
7581
|
-
}
|
|
7582
7519
|
}).finally(() => {
|
|
7583
7520
|
setIsDeletingConversation(false);
|
|
7584
7521
|
});
|
|
7585
7522
|
}, [
|
|
7586
7523
|
activation,
|
|
7587
|
-
|
|
7524
|
+
activeConversationIdRef,
|
|
7525
|
+
agentActivityRuntime,
|
|
7526
|
+
agentHostApi.toast,
|
|
7527
|
+
conversationsRef,
|
|
7528
|
+
deleteAgentSessionView,
|
|
7588
7529
|
isDeletingConversation,
|
|
7589
|
-
pendingDeleteConversation,
|
|
7590
7530
|
markSelectedConversationDetailPending,
|
|
7531
|
+
pendingDeleteConversation,
|
|
7591
7532
|
persistActiveConversation,
|
|
7592
|
-
|
|
7593
|
-
sessionViewRef,
|
|
7594
|
-
agentActivityRuntime,
|
|
7595
|
-
agentHostApi.toast,
|
|
7533
|
+
removeConversations,
|
|
7596
7534
|
sessionEngine,
|
|
7597
|
-
|
|
7535
|
+
sessionViewRef,
|
|
7536
|
+
setActiveConversationId,
|
|
7537
|
+
setDetailError,
|
|
7538
|
+
setDraftByScopeKey,
|
|
7539
|
+
setIntent,
|
|
7540
|
+
setIsDeletingConversation,
|
|
7541
|
+
setIsLoadingMessages,
|
|
7542
|
+
setPendingDeleteConversation,
|
|
7543
|
+
submittedDraftSnapshotsRef,
|
|
7544
|
+
workspaceId
|
|
7598
7545
|
]);
|
|
7599
7546
|
return {
|
|
7600
7547
|
requestDeleteConversation,
|
|
@@ -7993,7 +7940,7 @@ function useAgentGUINewConversationActivation(input) {
|
|
|
7993
7940
|
isConversationStale
|
|
7994
7941
|
} = input;
|
|
7995
7942
|
const startConversation = useCallback14(
|
|
7996
|
-
(initialContentInput, displayPrompt) => {
|
|
7943
|
+
(initialContentInput, displayPrompt, submitOptions) => {
|
|
7997
7944
|
const target = selectedAgentTargetRef.current;
|
|
7998
7945
|
const targetData = selectedComposerTargetDataRef.current;
|
|
7999
7946
|
if (target.disabled === true) {
|
|
@@ -8009,7 +7956,6 @@ function useAgentGUINewConversationActivation(input) {
|
|
|
8009
7956
|
) : textPromptContent(normalizeOptionalPrompt(initialContentInput));
|
|
8010
7957
|
const initialDisplayPrompt = displayPrompt && displayPrompt.trim() ? displayPrompt : void 0;
|
|
8011
7958
|
const normalizedInitialPrompt = initialDisplayPrompt ?? agentPromptContentDisplayText(normalizedInitialContent);
|
|
8012
|
-
const initialConversationTitle = normalizedInitialPrompt || AGENT_PROVIDER_LABEL[targetData.provider] || targetData.provider;
|
|
8013
7959
|
isCreatingConversationRef.current = true;
|
|
8014
7960
|
setDetailError(null);
|
|
8015
7961
|
const provider = targetData.provider;
|
|
@@ -8053,7 +7999,14 @@ function useAgentGUINewConversationActivation(input) {
|
|
|
8053
7999
|
lastActiveModelByProviderRef.current[provider]
|
|
8054
8000
|
) : null;
|
|
8055
8001
|
const settings = sanitizeComposerSettingsForTarget({
|
|
8056
|
-
settings: inheritedModel === null ?
|
|
8002
|
+
settings: inheritedModel === null ? {
|
|
8003
|
+
...initialSettings,
|
|
8004
|
+
...submitOptions?.requiredSettingsPatch
|
|
8005
|
+
} : {
|
|
8006
|
+
...initialSettings,
|
|
8007
|
+
model: inheritedModel,
|
|
8008
|
+
...submitOptions?.requiredSettingsPatch
|
|
8009
|
+
},
|
|
8057
8010
|
target: targetData,
|
|
8058
8011
|
options: snapshotComposerOptions
|
|
8059
8012
|
});
|
|
@@ -8092,8 +8045,10 @@ function useAgentGUINewConversationActivation(input) {
|
|
|
8092
8045
|
initialDisplayPrompt,
|
|
8093
8046
|
runtimeContent: toRuntimeSendContent(normalizedInitialContent),
|
|
8094
8047
|
submitDiagnostics: agentSubmitTraceDiagnostics(submitTrace),
|
|
8095
|
-
|
|
8096
|
-
|
|
8048
|
+
settings,
|
|
8049
|
+
optimisticTitle: deriveAgentGUIOptimisticConversationTitle(
|
|
8050
|
+
normalizedInitialPrompt
|
|
8051
|
+
)
|
|
8097
8052
|
});
|
|
8098
8053
|
if (requestId === null) return null;
|
|
8099
8054
|
activeConversationIdRef.current = agentSessionId;
|
|
@@ -8480,6 +8435,11 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8480
8435
|
...displayPrompt && displayPrompt.trim() ? { displayPrompt } : {},
|
|
8481
8436
|
submitDiagnostics: agentSubmitTraceDiagnostics(submitTrace),
|
|
8482
8437
|
requestedAtUnixMs: submittedAtUnixMs,
|
|
8438
|
+
...options?.requiredSettingsPatch ? {
|
|
8439
|
+
requiredSettingsPatch: {
|
|
8440
|
+
...options.requiredSettingsPatch
|
|
8441
|
+
}
|
|
8442
|
+
} : {},
|
|
8483
8443
|
...options?.immediate === true ? { routing: "immediate" } : options?.sendNow === true ? { routing: "send_now" } : {},
|
|
8484
8444
|
runtimeContent: toRuntimeSendContent(normalizedContent),
|
|
8485
8445
|
type: "submit/requested",
|
|
@@ -8572,6 +8532,7 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8572
8532
|
return;
|
|
8573
8533
|
}
|
|
8574
8534
|
executePrompt(agentSessionId, normalizedContent, displayPromptText, {
|
|
8535
|
+
requiredSettingsPatch: options?.requiredSettingsPatch,
|
|
8575
8536
|
sendNow: options?.sendNow === true,
|
|
8576
8537
|
sourceScopeKey: options?.sourceScopeKey,
|
|
8577
8538
|
trackDraft: options?.trackDraft === true
|
|
@@ -8620,7 +8581,7 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8620
8581
|
]
|
|
8621
8582
|
);
|
|
8622
8583
|
const submitPrompt = useCallback17(
|
|
8623
|
-
(content, displayPrompt) => {
|
|
8584
|
+
(content, displayPrompt, options) => {
|
|
8624
8585
|
if (previewMode) {
|
|
8625
8586
|
return;
|
|
8626
8587
|
}
|
|
@@ -8669,6 +8630,7 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8669
8630
|
normalizedContent,
|
|
8670
8631
|
displayPromptText,
|
|
8671
8632
|
{
|
|
8633
|
+
requiredSettingsPatch: options?.requiredSettingsPatch,
|
|
8672
8634
|
sourceScopeKey: resolveAgentComposerDraftScopeKey({}),
|
|
8673
8635
|
trackDraft: true
|
|
8674
8636
|
}
|
|
@@ -8682,7 +8644,8 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8682
8644
|
);
|
|
8683
8645
|
const activationResult = startConversation(
|
|
8684
8646
|
normalizedContent,
|
|
8685
|
-
displayPromptText
|
|
8647
|
+
displayPromptText,
|
|
8648
|
+
options
|
|
8686
8649
|
);
|
|
8687
8650
|
if (activationResult) {
|
|
8688
8651
|
draftByScopeKeyRef.current = clearSubmittedAgentGUIHomeDraft({
|
|
@@ -8704,7 +8667,10 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8704
8667
|
agentSessionId,
|
|
8705
8668
|
normalizedContent,
|
|
8706
8669
|
displayPromptText,
|
|
8707
|
-
{
|
|
8670
|
+
{
|
|
8671
|
+
requiredSettingsPatch: options?.requiredSettingsPatch,
|
|
8672
|
+
trackDraft: true
|
|
8673
|
+
}
|
|
8708
8674
|
);
|
|
8709
8675
|
},
|
|
8710
8676
|
[
|
|
@@ -9030,30 +8996,45 @@ function useAgentGUIViewModel(candidate) {
|
|
|
9030
8996
|
// agent-gui/agentGuiNode/controller/useAgentGUIComposerPresentation.ts
|
|
9031
8997
|
import { useEffect as useEffect8, useMemo as useMemo9 } from "react";
|
|
9032
8998
|
|
|
9033
|
-
// agent-gui/agentGuiNode/model/
|
|
9034
|
-
var
|
|
9035
|
-
|
|
9036
|
-
|
|
8999
|
+
// agent-gui/agentGuiNode/model/agentCapabilityUseSubmit.ts
|
|
9000
|
+
var AGENT_CAPABILITY_USE_CONFIG = {
|
|
9001
|
+
browserUse: {
|
|
9002
|
+
aliases: ["browser", "\u6D4F\u89C8\u5668"],
|
|
9003
|
+
commandName: "browser",
|
|
9004
|
+
submitPrefix: "Use the injected browser-use skill and only the tutti browser CLI. Do not use any other browser skill, CDP scripts, or direct browser automation."
|
|
9005
|
+
},
|
|
9006
|
+
computerUse: {
|
|
9007
|
+
aliases: ["computer", "\u7535\u8111"],
|
|
9008
|
+
commandName: "computer",
|
|
9009
|
+
submitPrefix: "Use the injected computer-use skill and only the tutti computer CLI. Do not use any other computer-use skill, accessibility script, or direct desktop automation."
|
|
9010
|
+
}
|
|
9011
|
+
};
|
|
9012
|
+
function parseAgentCapabilityUseInvocation(draft, capability) {
|
|
9013
|
+
const match = /^(\s*)[$/]([^\s]+)(?:\s+([\s\S]*))?$/.exec(draft);
|
|
9037
9014
|
if (!match) {
|
|
9038
9015
|
return null;
|
|
9039
9016
|
}
|
|
9040
|
-
const commandName = (match[
|
|
9041
|
-
|
|
9017
|
+
const commandName = (match[2] ?? "").trim().toLowerCase();
|
|
9018
|
+
const config = AGENT_CAPABILITY_USE_CONFIG[capability];
|
|
9019
|
+
if (!config.aliases.includes(commandName)) {
|
|
9042
9020
|
return null;
|
|
9043
9021
|
}
|
|
9044
9022
|
return {
|
|
9045
9023
|
commandName,
|
|
9046
|
-
args: match[
|
|
9024
|
+
args: match[3] ?? ""
|
|
9047
9025
|
};
|
|
9048
9026
|
}
|
|
9049
|
-
function
|
|
9027
|
+
function buildAgentCapabilityUseSubmitPrompt(capability, args) {
|
|
9028
|
+
const config = AGENT_CAPABILITY_USE_CONFIG[capability];
|
|
9050
9029
|
const trimmedArgs = args.trim();
|
|
9051
|
-
|
|
9052
|
-
return TUTTI_BROWSER_USE_SUBMIT_PREFIX;
|
|
9053
|
-
}
|
|
9054
|
-
return `${TUTTI_BROWSER_USE_SUBMIT_PREFIX}
|
|
9030
|
+
return trimmedArgs ? `${config.submitPrefix}
|
|
9055
9031
|
|
|
9056
|
-
${trimmedArgs}
|
|
9032
|
+
${trimmedArgs}` : config.submitPrefix;
|
|
9033
|
+
}
|
|
9034
|
+
function agentCapabilityUseDisplayPrompt(capability, args) {
|
|
9035
|
+
const commandName = AGENT_CAPABILITY_USE_CONFIG[capability].commandName;
|
|
9036
|
+
const trimmedArgs = args.trim();
|
|
9037
|
+
return trimmedArgs ? `/${commandName} ${trimmedArgs}` : `/${commandName}`;
|
|
9057
9038
|
}
|
|
9058
9039
|
|
|
9059
9040
|
// agent-gui/agentGuiNode/model/agentComposerTriggerQueries.ts
|
|
@@ -9323,37 +9304,28 @@ function resolveSlashCommandSelectionEffect({
|
|
|
9323
9304
|
draft: draftForSlashCommand(command, currentDraft)
|
|
9324
9305
|
};
|
|
9325
9306
|
}
|
|
9326
|
-
function resolveTuttiBrowserUseSubmitEffect(input) {
|
|
9327
|
-
if (!input.browserSupported) {
|
|
9328
|
-
return null;
|
|
9329
|
-
}
|
|
9330
|
-
const invocation = parseTuttiBrowserUseInvocation(input.draft);
|
|
9331
|
-
if (!invocation) {
|
|
9332
|
-
return null;
|
|
9333
|
-
}
|
|
9334
|
-
const command = input.commands.find(
|
|
9335
|
-
(candidate) => slashCommandMatchesInvocation(candidate, invocation.commandName)
|
|
9336
|
-
);
|
|
9337
|
-
if (!command || !isBrowserUseCapability(command)) {
|
|
9338
|
-
return null;
|
|
9339
|
-
}
|
|
9340
|
-
return {
|
|
9341
|
-
kind: "submitPrompt",
|
|
9342
|
-
prompt: buildTuttiBrowserUseSubmitPrompt(invocation.args),
|
|
9343
|
-
displayPrompt: browserUseDisplayPrompt(invocation),
|
|
9344
|
-
enableBrowserUse: true
|
|
9345
|
-
};
|
|
9346
|
-
}
|
|
9347
|
-
function browserUseDisplayPrompt({ args }) {
|
|
9348
|
-
const trimmedArgs = args.trim();
|
|
9349
|
-
return trimmedArgs ? `/browser ${trimmedArgs}` : "/browser";
|
|
9350
|
-
}
|
|
9351
9307
|
function resolveSlashCommandSubmitEffect({
|
|
9308
|
+
browserSupported = false,
|
|
9309
|
+
computerSupported = false,
|
|
9352
9310
|
provider: _provider,
|
|
9353
9311
|
policy,
|
|
9354
9312
|
commands,
|
|
9355
9313
|
draft
|
|
9356
9314
|
}) {
|
|
9315
|
+
for (const [capability, supported] of [
|
|
9316
|
+
["browserUse", browserSupported],
|
|
9317
|
+
["computerUse", computerSupported]
|
|
9318
|
+
]) {
|
|
9319
|
+
const capabilityEffect = resolveCapabilitySubmitEffect({
|
|
9320
|
+
capability,
|
|
9321
|
+
commands,
|
|
9322
|
+
draft,
|
|
9323
|
+
supported
|
|
9324
|
+
});
|
|
9325
|
+
if (capabilityEffect) {
|
|
9326
|
+
return capabilityEffect;
|
|
9327
|
+
}
|
|
9328
|
+
}
|
|
9357
9329
|
const invocation = parseSlashCommandInvocation(draft);
|
|
9358
9330
|
if (!invocation) {
|
|
9359
9331
|
return null;
|
|
@@ -9364,7 +9336,7 @@ function resolveSlashCommandSubmitEffect({
|
|
|
9364
9336
|
if (!command) {
|
|
9365
9337
|
return null;
|
|
9366
9338
|
}
|
|
9367
|
-
if (
|
|
9339
|
+
if (isAgentSlashCommandCapability(command)) {
|
|
9368
9340
|
return null;
|
|
9369
9341
|
}
|
|
9370
9342
|
const commandName = normalizedCommandName(command);
|
|
@@ -9391,6 +9363,32 @@ function resolveSlashCommandSubmitEffect({
|
|
|
9391
9363
|
}
|
|
9392
9364
|
return null;
|
|
9393
9365
|
}
|
|
9366
|
+
function resolveCapabilitySubmitEffect({
|
|
9367
|
+
capability,
|
|
9368
|
+
commands,
|
|
9369
|
+
draft,
|
|
9370
|
+
supported
|
|
9371
|
+
}) {
|
|
9372
|
+
if (!supported) {
|
|
9373
|
+
return null;
|
|
9374
|
+
}
|
|
9375
|
+
const invocation = parseAgentCapabilityUseInvocation(draft, capability);
|
|
9376
|
+
if (!invocation) {
|
|
9377
|
+
return null;
|
|
9378
|
+
}
|
|
9379
|
+
const command = commands.find(
|
|
9380
|
+
(candidate) => slashCommandMatchesInvocation(candidate, invocation.commandName)
|
|
9381
|
+
);
|
|
9382
|
+
if (!command || !isCapabilityCommand(command, capability)) {
|
|
9383
|
+
return null;
|
|
9384
|
+
}
|
|
9385
|
+
return {
|
|
9386
|
+
kind: "submitPrompt",
|
|
9387
|
+
prompt: buildAgentCapabilityUseSubmitPrompt(capability, invocation.args),
|
|
9388
|
+
displayPrompt: agentCapabilityUseDisplayPrompt(capability, invocation.args),
|
|
9389
|
+
requiredSettingsPatch: { [capability]: true }
|
|
9390
|
+
};
|
|
9391
|
+
}
|
|
9394
9392
|
function isLocalTogglePlanCommand(commandName, policy) {
|
|
9395
9393
|
return providerSlashPolicy(policy)?.localPlanCommands.has(
|
|
9396
9394
|
commandName.trim().toLowerCase()
|
|
@@ -9443,6 +9441,12 @@ function isBrowserUseCapability(command) {
|
|
|
9443
9441
|
function isComputerUseCapability(command) {
|
|
9444
9442
|
return "kind" in command && command.kind === "capability" && command.capability === "computerUse";
|
|
9445
9443
|
}
|
|
9444
|
+
function isCapabilityCommand(command, capability) {
|
|
9445
|
+
return "kind" in command && command.kind === "capability" && command.capability === capability;
|
|
9446
|
+
}
|
|
9447
|
+
function isAgentSlashCommandCapability(command) {
|
|
9448
|
+
return "kind" in command && command.kind === "capability";
|
|
9449
|
+
}
|
|
9446
9450
|
function slashCommandMatchesInvocation(command, commandName) {
|
|
9447
9451
|
const normalizedInvocation = commandName.trim().toLowerCase();
|
|
9448
9452
|
if (normalizedCommandName(command) === normalizedInvocation) {
|
|
@@ -10051,7 +10055,6 @@ function useAgentGUIConversationPresentation(input) {
|
|
|
10051
10055
|
);
|
|
10052
10056
|
}
|
|
10053
10057
|
if (!input.activeConversationId) return stabilize(null);
|
|
10054
|
-
const providerLabel = AGENT_PROVIDER_LABEL[input.data.provider] ?? input.data.provider ?? translate("sidebar.fallbackAgentLabel");
|
|
10055
10058
|
const fallbackStatus = input.isSubmitting || input.isCreatingConversation || Object.prototype.hasOwnProperty.call(
|
|
10056
10059
|
input.draftByScopeKey,
|
|
10057
10060
|
resolveAgentComposerDraftScopeKey({
|
|
@@ -10067,8 +10070,8 @@ function useAgentGUIConversationPresentation(input) {
|
|
|
10067
10070
|
id: input.activeConversationId,
|
|
10068
10071
|
userId: input.currentUserId?.trim() || void 0,
|
|
10069
10072
|
provider: input.data.provider,
|
|
10070
|
-
title:
|
|
10071
|
-
titleFallback:
|
|
10073
|
+
title: "",
|
|
10074
|
+
titleFallback: "untitled-conversation",
|
|
10072
10075
|
status: activityBusyStatus ?? fallbackStatus,
|
|
10073
10076
|
cwd: input.workspacePath,
|
|
10074
10077
|
project: resolveAgentGUIConversationProject(
|
|
@@ -10893,6 +10896,8 @@ import {
|
|
|
10893
10896
|
selectEnginePromptQueueError,
|
|
10894
10897
|
selectEngineSession as selectEngineSession3,
|
|
10895
10898
|
selectEngineSessionDeleted,
|
|
10899
|
+
selectEngineSessionDetailHydrated as selectEngineSessionDetailHydrated2,
|
|
10900
|
+
selectEngineSessionDetailLoading,
|
|
10896
10901
|
selectEngineSessionError,
|
|
10897
10902
|
selectEngineSessionIsRespondingToInteraction,
|
|
10898
10903
|
selectEngineSessionReconcile as selectEngineSessionReconcile2,
|
|
@@ -10960,8 +10965,13 @@ function useAgentGUISessionEngineState(input) {
|
|
|
10960
10965
|
sessionEngine,
|
|
10961
10966
|
(state) => selectEngineSessionReconcile2(state, activeConversationId)
|
|
10962
10967
|
);
|
|
10963
|
-
const
|
|
10964
|
-
|
|
10968
|
+
const activeSessionDetailLoading = useEngineSelector(
|
|
10969
|
+
sessionEngine,
|
|
10970
|
+
(state) => selectEngineSessionDetailLoading(state, activeConversationId)
|
|
10971
|
+
);
|
|
10972
|
+
const activeSessionDetailHydrated = useEngineSelector(
|
|
10973
|
+
sessionEngine,
|
|
10974
|
+
(state) => selectEngineSessionDetailHydrated2(state, activeConversationId)
|
|
10965
10975
|
);
|
|
10966
10976
|
const activeEngineSessionDeleted = useEngineSelector(
|
|
10967
10977
|
sessionEngine,
|
|
@@ -11061,8 +11071,8 @@ function useAgentGUISessionEngineState(input) {
|
|
|
11061
11071
|
activeQueuedPromptSnapshot
|
|
11062
11072
|
),
|
|
11063
11073
|
activeSessionState,
|
|
11064
|
-
|
|
11065
|
-
activeSessionReconcileError: activeSessionReconcile?.errorMessage ?? null,
|
|
11074
|
+
activeSessionDetailLoading,
|
|
11075
|
+
activeSessionReconcileError: activeSessionDetailHydrated ? null : activeSessionReconcile?.errorMessage ?? null,
|
|
11066
11076
|
isCreatingConversation,
|
|
11067
11077
|
hasUnconfirmedSubmit,
|
|
11068
11078
|
isRespondingToInteraction,
|
|
@@ -11567,7 +11577,6 @@ function useAgentGUINodeController({
|
|
|
11567
11577
|
} = localState;
|
|
11568
11578
|
const conversationList = useAgentGUIConversationListState({
|
|
11569
11579
|
agentActivityRuntimeOrigin,
|
|
11570
|
-
agentActivitySnapshot,
|
|
11571
11580
|
currentUserId,
|
|
11572
11581
|
data,
|
|
11573
11582
|
normalizedProviderTargets,
|
|
@@ -11781,7 +11790,6 @@ function useAgentGUINodeController({
|
|
|
11781
11790
|
activeConversationIdRef,
|
|
11782
11791
|
activePendingActivation,
|
|
11783
11792
|
agentActivityRuntime,
|
|
11784
|
-
agentActivitySnapshotRef,
|
|
11785
11793
|
attentionReadRecordsBySessionId: attentionReadState.recordsBySessionId,
|
|
11786
11794
|
conversationIdsRef,
|
|
11787
11795
|
conversationListQuery,
|
|
@@ -11937,7 +11945,7 @@ function useAgentGUINodeController({
|
|
|
11937
11945
|
updateComposerSettingsRef,
|
|
11938
11946
|
workspaceId
|
|
11939
11947
|
});
|
|
11940
|
-
const isLoadingMessages = localState.isLoadingMessages || sessionEngineState.
|
|
11948
|
+
const isLoadingMessages = localState.isLoadingMessages || sessionEngineState.activeSessionDetailLoading;
|
|
11941
11949
|
const detailAvailability = activeConversationId === null ? "ready" : sessionEngineState.activeEngineSessionDeleted ? "not_found" : isLoadingMessages ? "loading" : sessionEngineState.activeSessionReconcileError || localState.detailError ? "error" : "ready";
|
|
11942
11950
|
return useAgentGUIViewAssembly({
|
|
11943
11951
|
...providerCatalogSelection,
|
|
@@ -12000,11 +12008,7 @@ import {
|
|
|
12000
12008
|
useRef as useRef41,
|
|
12001
12009
|
useState as useState34
|
|
12002
12010
|
} from "react";
|
|
12003
|
-
import {
|
|
12004
|
-
ReferenceSourcePicker,
|
|
12005
|
-
WorkspaceFileReferencePicker
|
|
12006
|
-
} from "@tutti-os/workspace-file-reference/ui";
|
|
12007
|
-
import { TooltipProvider as TooltipProvider4 } from "@tutti-os/ui-system";
|
|
12011
|
+
import { TooltipProvider as TooltipProvider5 } from "@tutti-os/ui-system";
|
|
12008
12012
|
|
|
12009
12013
|
// shared/workspaceSettingsPanel/workspaceSettingsPanelStore.ts
|
|
12010
12014
|
import { useSnapshot } from "valtio";
|
|
@@ -12290,7 +12294,7 @@ function conversationPlainTitle(conversation, labels, uiLanguage) {
|
|
|
12290
12294
|
void uiLanguage;
|
|
12291
12295
|
return resolveAgentGUIConversationDisplayTitle(
|
|
12292
12296
|
conversation,
|
|
12293
|
-
labels.
|
|
12297
|
+
labels.untitledConversationTitle
|
|
12294
12298
|
);
|
|
12295
12299
|
}
|
|
12296
12300
|
|
|
@@ -12894,7 +12898,7 @@ import {
|
|
|
12894
12898
|
useRef as useRef31,
|
|
12895
12899
|
useState as useState24
|
|
12896
12900
|
} from "react";
|
|
12897
|
-
import { Tooltip as
|
|
12901
|
+
import { Tooltip as Tooltip6, TooltipContent as TooltipContent6, TooltipTrigger as TooltipTrigger6 } from "@tutti-os/ui-system";
|
|
12898
12902
|
|
|
12899
12903
|
// agent-gui/agentGuiNode/model/agentGuiProviderRailOrder.ts
|
|
12900
12904
|
var AGENT_GUI_PROVIDER_RAIL_PREFERENCES_STORAGE_KEY = "agent-gui:provider-rail-preferences";
|
|
@@ -14945,7 +14949,7 @@ function AgentSlashStatusPanel({
|
|
|
14945
14949
|
}
|
|
14946
14950
|
|
|
14947
14951
|
// agent-gui/agentGuiNode/composer/useComposerDraftAttachments.ts
|
|
14948
|
-
import { flushSync } from "react-dom";
|
|
14952
|
+
import { flushSync as flushSync3 } from "react-dom";
|
|
14949
14953
|
import {
|
|
14950
14954
|
useCallback as useCallback28,
|
|
14951
14955
|
useRef as useRef19
|
|
@@ -15508,7 +15512,7 @@ ${item.text}` : item.text;
|
|
|
15508
15512
|
}
|
|
15509
15513
|
void onRequestWorkspaceReferences(entity).then((result) => {
|
|
15510
15514
|
if (result.files.length > 0 || result.mentionItems.length > 0) {
|
|
15511
|
-
|
|
15515
|
+
flushSync3(clearActiveFileMentionTrigger);
|
|
15512
15516
|
}
|
|
15513
15517
|
return applyReferencePickResult(result);
|
|
15514
15518
|
});
|
|
@@ -15563,9 +15567,10 @@ import {
|
|
|
15563
15567
|
var DOCK_COMPOSER_INPUT_MIN_HEIGHT = 56;
|
|
15564
15568
|
var DOCK_COMPOSER_TEXT_LINE_HEIGHT = 24;
|
|
15565
15569
|
var DOCK_COMPOSER_MAX_VISIBLE_TEXT_LINES = 3.5;
|
|
15566
|
-
var
|
|
15570
|
+
var DOCK_COMPOSER_INPUT_TEXT_MEASUREMENT_CHROME_HEIGHT = 14;
|
|
15571
|
+
var DOCK_COMPOSER_INPUT_TEXT_MAX_HEIGHT_CHROME = 26;
|
|
15567
15572
|
var DOCK_COMPOSER_TEXT_VIEWPORT_MAX_HEIGHT = DOCK_COMPOSER_TEXT_LINE_HEIGHT * DOCK_COMPOSER_MAX_VISIBLE_TEXT_LINES;
|
|
15568
|
-
var DOCK_COMPOSER_INPUT_MAX_HEIGHT =
|
|
15573
|
+
var DOCK_COMPOSER_INPUT_MAX_HEIGHT = DOCK_COMPOSER_INPUT_TEXT_MAX_HEIGHT_CHROME + DOCK_COMPOSER_TEXT_VIEWPORT_MAX_HEIGHT;
|
|
15569
15574
|
var DOCK_COMPOSER_INPUT_BORDER_HEIGHT = 2;
|
|
15570
15575
|
var DOCK_COMPOSER_INPUT_PADDING_BLOCK_HEIGHT = 24;
|
|
15571
15576
|
var PROMPT_TIP_CYCLE_STEP_MS = 5200;
|
|
@@ -15680,7 +15685,7 @@ function useComposerLayout({
|
|
|
15680
15685
|
DOCK_COMPOSER_INPUT_MAX_HEIGHT,
|
|
15681
15686
|
Math.max(
|
|
15682
15687
|
DOCK_COMPOSER_INPUT_MIN_HEIGHT,
|
|
15683
|
-
editor.scrollHeight +
|
|
15688
|
+
editor.scrollHeight + DOCK_COMPOSER_INPUT_TEXT_MEASUREMENT_CHROME_HEIGHT
|
|
15684
15689
|
)
|
|
15685
15690
|
);
|
|
15686
15691
|
const attachmentChromeHeight = attachmentHeight > 0 ? DOCK_COMPOSER_INPUT_PADDING_BLOCK_HEIGHT : 0;
|
|
@@ -16661,13 +16666,15 @@ function useComposerSlashActions(input) {
|
|
|
16661
16666
|
(effect) => {
|
|
16662
16667
|
if (effect.kind === "submitPrompt") {
|
|
16663
16668
|
clearSlashCommandDraft();
|
|
16664
|
-
|
|
16665
|
-
onSettingsChange({ browserUse: true });
|
|
16666
|
-
}
|
|
16669
|
+
const submitOptions = effect.requiredSettingsPatch ? { requiredSettingsPatch: effect.requiredSettingsPatch } : void 0;
|
|
16667
16670
|
if (effect.displayPrompt) {
|
|
16668
|
-
onSubmit(
|
|
16671
|
+
onSubmit(
|
|
16672
|
+
textPromptContent(effect.prompt),
|
|
16673
|
+
effect.displayPrompt,
|
|
16674
|
+
submitOptions
|
|
16675
|
+
);
|
|
16669
16676
|
} else {
|
|
16670
|
-
onSubmit(textPromptContent(effect.prompt));
|
|
16677
|
+
onSubmit(textPromptContent(effect.prompt), void 0, submitOptions);
|
|
16671
16678
|
}
|
|
16672
16679
|
return;
|
|
16673
16680
|
}
|
|
@@ -16861,20 +16868,13 @@ function useComposerSlashActions(input) {
|
|
|
16861
16868
|
return;
|
|
16862
16869
|
}
|
|
16863
16870
|
if (options?.guidance !== true) {
|
|
16864
|
-
const
|
|
16871
|
+
const slashCommandEffect = resolveSlashCommandSubmitEffect({
|
|
16865
16872
|
browserSupported: Boolean(composerSettings.supportsBrowser),
|
|
16873
|
+
computerSupported: Boolean(composerSettings.supportsComputerUse),
|
|
16866
16874
|
commands: resolvedSlashCommands,
|
|
16867
|
-
draft: nextPrompt
|
|
16868
|
-
});
|
|
16869
|
-
if (browserUseEffect) {
|
|
16870
|
-
executeSlashCommandEffect(browserUseEffect);
|
|
16871
|
-
return;
|
|
16872
|
-
}
|
|
16873
|
-
const slashCommandEffect = resolveSlashCommandSubmitEffect({
|
|
16875
|
+
draft: nextPrompt,
|
|
16874
16876
|
provider,
|
|
16875
|
-
policy: slashCommandPolicy
|
|
16876
|
-
commands: resolvedSlashCommands,
|
|
16877
|
-
draft: nextPrompt
|
|
16877
|
+
policy: slashCommandPolicy
|
|
16878
16878
|
});
|
|
16879
16879
|
if (slashCommandEffect) {
|
|
16880
16880
|
executeSlashCommandEffect(slashCommandEffect);
|
|
@@ -18216,10 +18216,10 @@ import {
|
|
|
18216
18216
|
Popover as Popover3,
|
|
18217
18217
|
PopoverAnchor as PopoverAnchor2,
|
|
18218
18218
|
Spinner as Spinner5,
|
|
18219
|
-
Tooltip as
|
|
18220
|
-
TooltipContent as
|
|
18221
|
-
TooltipProvider as
|
|
18222
|
-
TooltipTrigger as
|
|
18219
|
+
Tooltip as Tooltip5,
|
|
18220
|
+
TooltipContent as TooltipContent5,
|
|
18221
|
+
TooltipProvider as TooltipProvider4,
|
|
18222
|
+
TooltipTrigger as TooltipTrigger5
|
|
18223
18223
|
} from "@tutti-os/ui-system";
|
|
18224
18224
|
|
|
18225
18225
|
// agent-gui/agentGuiNode/AgentQueuedPromptPanel.tsx
|
|
@@ -18234,8 +18234,14 @@ import {
|
|
|
18234
18234
|
DropdownMenu as DropdownMenu2,
|
|
18235
18235
|
DropdownMenuContent as DropdownMenuContent2,
|
|
18236
18236
|
DropdownMenuItem,
|
|
18237
|
-
DropdownMenuTrigger as DropdownMenuTrigger2
|
|
18237
|
+
DropdownMenuTrigger as DropdownMenuTrigger2,
|
|
18238
|
+
Tooltip as Tooltip2,
|
|
18239
|
+
TooltipContent as TooltipContent2,
|
|
18240
|
+
TooltipProvider as TooltipProvider2,
|
|
18241
|
+
TooltipTrigger as TooltipTrigger2,
|
|
18242
|
+
useTextOverflow
|
|
18238
18243
|
} from "@tutti-os/ui-system";
|
|
18244
|
+
import { extractPlainTextFromContent } from "@tutti-os/ui-rich-text";
|
|
18239
18245
|
|
|
18240
18246
|
// agent-gui/agentGuiNode/queuedPromptImageLoadOwner.ts
|
|
18241
18247
|
function queuedPromptImageLoadRequestIdentity(request) {
|
|
@@ -18327,6 +18333,7 @@ var QueuedPromptImageLoadOwner = class {
|
|
|
18327
18333
|
// agent-gui/agentGuiNode/AgentQueuedPromptPanel.tsx
|
|
18328
18334
|
import { jsx as jsx24, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
18329
18335
|
var EMPTY_WORKSPACE_APP_ICONS2 = [];
|
|
18336
|
+
var QUEUED_PROMPT_OVERFLOW_DESCENDANTS = '[data-workspace-agent-markdown="true"], .tsh-agent-object-token__main';
|
|
18330
18337
|
function queuedPromptImages(queuedPrompt) {
|
|
18331
18338
|
return agentPromptContentImageBlocks(queuedPrompt.content);
|
|
18332
18339
|
}
|
|
@@ -18438,10 +18445,53 @@ function queuedPromptDisplayText(queuedPrompt) {
|
|
|
18438
18445
|
function queuedPromptTitle(queuedPrompt) {
|
|
18439
18446
|
const prompt = queuedPromptDisplayText(queuedPrompt);
|
|
18440
18447
|
if (prompt) {
|
|
18441
|
-
return prompt;
|
|
18448
|
+
return extractPlainTextFromContent(prompt);
|
|
18442
18449
|
}
|
|
18443
18450
|
return queuedPromptImages(queuedPrompt).map((image) => image.name?.trim() ?? "").filter(Boolean).join(", ");
|
|
18444
18451
|
}
|
|
18452
|
+
function AgentQueuedPromptText({
|
|
18453
|
+
displayText,
|
|
18454
|
+
measurementRef,
|
|
18455
|
+
onLinkClick,
|
|
18456
|
+
title,
|
|
18457
|
+
workspaceAppIcons
|
|
18458
|
+
}) {
|
|
18459
|
+
const { ref: overflowRef, overflowing } = useTextOverflow(
|
|
18460
|
+
displayText,
|
|
18461
|
+
QUEUED_PROMPT_OVERFLOW_DESCENDANTS
|
|
18462
|
+
);
|
|
18463
|
+
const content = /* @__PURE__ */ jsx24(
|
|
18464
|
+
"div",
|
|
18465
|
+
{
|
|
18466
|
+
ref: (element) => {
|
|
18467
|
+
overflowRef.current = element;
|
|
18468
|
+
if (measurementRef) measurementRef.current = element;
|
|
18469
|
+
},
|
|
18470
|
+
className: AgentGUINode_styles_default.composerQueuedPromptText,
|
|
18471
|
+
"data-overflowing": overflowing ? "true" : "false",
|
|
18472
|
+
onClick: (event) => {
|
|
18473
|
+
if (event.target instanceof Element && event.target.closest("a")) {
|
|
18474
|
+
event.stopPropagation();
|
|
18475
|
+
}
|
|
18476
|
+
},
|
|
18477
|
+
children: /* @__PURE__ */ jsx24(
|
|
18478
|
+
AgentMessageMarkdown,
|
|
18479
|
+
{
|
|
18480
|
+
content: displayText,
|
|
18481
|
+
className: "agent-gui-node__composer-queued-prompt-markdown",
|
|
18482
|
+
inline: true,
|
|
18483
|
+
onLinkClick,
|
|
18484
|
+
previewMode: true,
|
|
18485
|
+
workspaceAppIcons
|
|
18486
|
+
}
|
|
18487
|
+
)
|
|
18488
|
+
}
|
|
18489
|
+
);
|
|
18490
|
+
return /* @__PURE__ */ jsx24(TooltipProvider2, { delayDuration: 200, children: /* @__PURE__ */ jsxs17(Tooltip2, { children: [
|
|
18491
|
+
/* @__PURE__ */ jsx24(TooltipTrigger2, { asChild: true, children: content }),
|
|
18492
|
+
overflowing && title ? /* @__PURE__ */ jsx24(TooltipContent2, { className: "max-w-[min(520px,calc(100vw-32px))] whitespace-pre-wrap text-left [overflow-wrap:anywhere]", children: title }) : null
|
|
18493
|
+
] }) });
|
|
18494
|
+
}
|
|
18445
18495
|
function AgentQueuedPromptPanel({
|
|
18446
18496
|
queueStatus = "active",
|
|
18447
18497
|
queuedPrompts,
|
|
@@ -18590,27 +18640,15 @@ function AgentQueuedPromptPanel({
|
|
|
18590
18640
|
"data-testid": `agent-gui-composer-queued-prompt-${queuedPrompt.id}`,
|
|
18591
18641
|
"data-draining": isDraining ? "true" : "false",
|
|
18592
18642
|
children: [
|
|
18593
|
-
/* @__PURE__ */ jsx24("div", { className: AgentGUINode_styles_default.composerQueuedPromptMain, children: /* @__PURE__ */ jsxs17("div", { className: AgentGUINode_styles_default.composerQueuedPromptBody,
|
|
18643
|
+
/* @__PURE__ */ jsx24("div", { className: AgentGUINode_styles_default.composerQueuedPromptMain, children: /* @__PURE__ */ jsxs17("div", { className: AgentGUINode_styles_default.composerQueuedPromptBody, children: [
|
|
18594
18644
|
displayText ? /* @__PURE__ */ jsx24(
|
|
18595
|
-
|
|
18645
|
+
AgentQueuedPromptText,
|
|
18596
18646
|
{
|
|
18597
|
-
|
|
18598
|
-
|
|
18599
|
-
|
|
18600
|
-
|
|
18601
|
-
|
|
18602
|
-
}
|
|
18603
|
-
},
|
|
18604
|
-
children: /* @__PURE__ */ jsx24(
|
|
18605
|
-
AgentMessageMarkdown,
|
|
18606
|
-
{
|
|
18607
|
-
content: displayText,
|
|
18608
|
-
className: "agent-gui-node__composer-queued-prompt-markdown",
|
|
18609
|
-
inline: true,
|
|
18610
|
-
onLinkClick,
|
|
18611
|
-
workspaceAppIcons
|
|
18612
|
-
}
|
|
18613
|
-
)
|
|
18647
|
+
displayText,
|
|
18648
|
+
measurementRef: queuedPrompts.length === 1 ? singlePromptTextRef : void 0,
|
|
18649
|
+
onLinkClick,
|
|
18650
|
+
title,
|
|
18651
|
+
workspaceAppIcons
|
|
18614
18652
|
}
|
|
18615
18653
|
) : null,
|
|
18616
18654
|
images.length > 0 ? /* @__PURE__ */ jsx24("div", { className: AgentGUINode_styles_default.composerQueuedPromptImages, children: images.slice(0, 3).map((image, index) => {
|
|
@@ -18726,9 +18764,9 @@ import {
|
|
|
18726
18764
|
SelectContent,
|
|
18727
18765
|
SelectItem,
|
|
18728
18766
|
SelectTrigger,
|
|
18729
|
-
Tooltip as
|
|
18730
|
-
TooltipContent as
|
|
18731
|
-
TooltipTrigger as
|
|
18767
|
+
Tooltip as Tooltip3,
|
|
18768
|
+
TooltipContent as TooltipContent3,
|
|
18769
|
+
TooltipTrigger as TooltipTrigger3,
|
|
18732
18770
|
cn as cn3
|
|
18733
18771
|
} from "@tutti-os/ui-system";
|
|
18734
18772
|
|
|
@@ -19376,9 +19414,9 @@ function AgentPermissionModeDropdown({
|
|
|
19376
19414
|
// The trigger is disabled while loading, so pointer events never reach
|
|
19377
19415
|
// it. Target the tooltip at a focusable wrapper span (Radix's pattern
|
|
19378
19416
|
// for disabled triggers) so hover/focus reliably surfaces the hint.
|
|
19379
|
-
/* @__PURE__ */ jsxs19(
|
|
19380
|
-
/* @__PURE__ */ jsx26(
|
|
19381
|
-
/* @__PURE__ */ jsx26(
|
|
19417
|
+
/* @__PURE__ */ jsxs19(Tooltip3, { children: [
|
|
19418
|
+
/* @__PURE__ */ jsx26(TooltipTrigger3, { asChild: true, children: /* @__PURE__ */ jsx26("span", { className: "inline-flex", tabIndex: 0, children: selectTrigger }) }),
|
|
19419
|
+
/* @__PURE__ */ jsx26(TooltipContent3, { side: "top", children: labels.loadingOptions })
|
|
19382
19420
|
] })
|
|
19383
19421
|
) : selectTrigger,
|
|
19384
19422
|
isSelectOpen ? /* @__PURE__ */ jsx26(
|
|
@@ -19495,9 +19533,9 @@ function ComposerOptionInfoTooltip({
|
|
|
19495
19533
|
if (!tooltipsEnabled) {
|
|
19496
19534
|
return trigger;
|
|
19497
19535
|
}
|
|
19498
|
-
return /* @__PURE__ */ jsxs19(
|
|
19499
|
-
/* @__PURE__ */ jsx26(
|
|
19500
|
-
/* @__PURE__ */ jsx26(
|
|
19536
|
+
return /* @__PURE__ */ jsxs19(Tooltip3, { children: [
|
|
19537
|
+
/* @__PURE__ */ jsx26(TooltipTrigger3, { asChild: true, children: trigger }),
|
|
19538
|
+
/* @__PURE__ */ jsx26(TooltipContent3, { side: "right", className: "max-w-[240px] whitespace-normal", children: description })
|
|
19501
19539
|
] });
|
|
19502
19540
|
}
|
|
19503
19541
|
function resolvePermissionModeTriggerTone(value) {
|
|
@@ -19578,9 +19616,9 @@ function AgentModelReasoningDropdown({
|
|
|
19578
19616
|
// The trigger is disabled while loading, so pointer events never reach
|
|
19579
19617
|
// it. Target the tooltip at a focusable wrapper span (Radix's pattern
|
|
19580
19618
|
// for disabled triggers) so hover/focus reliably surfaces the hint.
|
|
19581
|
-
/* @__PURE__ */ jsxs19(
|
|
19582
|
-
/* @__PURE__ */ jsx26(
|
|
19583
|
-
/* @__PURE__ */ jsx26(
|
|
19619
|
+
/* @__PURE__ */ jsxs19(Tooltip3, { children: [
|
|
19620
|
+
/* @__PURE__ */ jsx26(TooltipTrigger3, { asChild: true, children: /* @__PURE__ */ jsx26("span", { className: "inline-flex", tabIndex: 0, children: /* @__PURE__ */ jsx26(DropdownMenuTrigger3, { asChild: true, disabled: menuDisabled, children: trigger }) }) }),
|
|
19621
|
+
/* @__PURE__ */ jsx26(TooltipContent3, { side: "top", children: labels.loadingOptions })
|
|
19584
19622
|
] })
|
|
19585
19623
|
) : /* @__PURE__ */ jsx26(DropdownMenuTrigger3, { asChild: true, disabled: menuDisabled, children: trigger }),
|
|
19586
19624
|
/* @__PURE__ */ jsxs19(
|
|
@@ -19783,12 +19821,12 @@ function ComposerModelOptionTooltip({
|
|
|
19783
19821
|
if (!tooltipsEnabled || !option.tooltip) {
|
|
19784
19822
|
return children;
|
|
19785
19823
|
}
|
|
19786
|
-
return /* @__PURE__ */ jsxs19(
|
|
19787
|
-
/* @__PURE__ */ jsx26(
|
|
19824
|
+
return /* @__PURE__ */ jsxs19(Tooltip3, { children: [
|
|
19825
|
+
/* @__PURE__ */ jsx26(TooltipTrigger3, { asChild: true, children: cloneElement(children, {
|
|
19788
19826
|
"data-agent-model-option-tooltip-trigger": "true"
|
|
19789
19827
|
}) }),
|
|
19790
19828
|
/* @__PURE__ */ jsxs19(
|
|
19791
|
-
|
|
19829
|
+
TooltipContent3,
|
|
19792
19830
|
{
|
|
19793
19831
|
side: "right",
|
|
19794
19832
|
align: "start",
|
|
@@ -20374,7 +20412,7 @@ function AgentRichTextEditorSurface({
|
|
|
20374
20412
|
"aria-multiline": "true",
|
|
20375
20413
|
className: cn(
|
|
20376
20414
|
className,
|
|
20377
|
-
"overflow-y-auto whitespace-pre-wrap break-words [&_p]:m-0
|
|
20415
|
+
"overflow-y-auto whitespace-pre-wrap break-words [&_p]:m-0"
|
|
20378
20416
|
)
|
|
20379
20417
|
}
|
|
20380
20418
|
),
|
|
@@ -20694,7 +20732,7 @@ var AgentRichTextEditor = forwardRef3(function AgentRichTextEditor2({
|
|
|
20694
20732
|
"aria-multiline": "true",
|
|
20695
20733
|
class: cn(
|
|
20696
20734
|
className,
|
|
20697
|
-
"overflow-y-auto whitespace-pre-wrap break-words [&_p]:m-0
|
|
20735
|
+
"overflow-y-auto whitespace-pre-wrap break-words [&_p]:m-0"
|
|
20698
20736
|
)
|
|
20699
20737
|
},
|
|
20700
20738
|
clipboardTextSerializer: (slice) => agentRichTextContentToPromptText(slice.content.toJSON()),
|
|
@@ -21108,6 +21146,39 @@ function releasePastedAtSuggestionSuppression(ref) {
|
|
|
21108
21146
|
}, 0);
|
|
21109
21147
|
}
|
|
21110
21148
|
|
|
21149
|
+
// agent-gui/agentGuiNode/AgentReferenceProvenanceFilterControl.tsx
|
|
21150
|
+
import { ReferenceProvenanceFilterControl } from "@tutti-os/workspace-file-reference/ui";
|
|
21151
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
21152
|
+
function AgentReferenceProvenanceFilterControl({
|
|
21153
|
+
filter,
|
|
21154
|
+
popoverElevation = "default"
|
|
21155
|
+
}) {
|
|
21156
|
+
return /* @__PURE__ */ jsx29(
|
|
21157
|
+
ReferenceProvenanceFilterControl,
|
|
21158
|
+
{
|
|
21159
|
+
agentOptions: filter.snapshot.catalog.agentOptions,
|
|
21160
|
+
enabledDimensions: filter.snapshot.catalog.enabledDimensions,
|
|
21161
|
+
labels: {
|
|
21162
|
+
allAgents: translate("agentHost.agentGui.provenanceFilterAllAgents"),
|
|
21163
|
+
allMembers: translate("agentHost.agentGui.provenanceFilterAllMembers"),
|
|
21164
|
+
allSources: translate("agentHost.agentGui.provenanceFilterAllSources"),
|
|
21165
|
+
agents: translate("agentHost.agentGui.provenanceFilterAgents"),
|
|
21166
|
+
filteredSources: translate(
|
|
21167
|
+
"agentHost.agentGui.provenanceFilterFilteredSources"
|
|
21168
|
+
),
|
|
21169
|
+
members: translate("agentHost.agentGui.provenanceFilterMembers"),
|
|
21170
|
+
reset: translate("agentHost.agentGui.provenanceFilterReset")
|
|
21171
|
+
},
|
|
21172
|
+
memberOptions: filter.snapshot.catalog.memberOptions,
|
|
21173
|
+
popoverElevation,
|
|
21174
|
+
value: filter.snapshot.value,
|
|
21175
|
+
onReset: filter.controller.reset,
|
|
21176
|
+
onToggle: filter.controller.toggle,
|
|
21177
|
+
onToggleAll: filter.controller.toggleAll
|
|
21178
|
+
}
|
|
21179
|
+
);
|
|
21180
|
+
}
|
|
21181
|
+
|
|
21111
21182
|
// agent-gui/agentGuiNode/AgentSlashCommandPalette.tsx
|
|
21112
21183
|
import { Fragment as Fragment8, useEffect as useEffect25, useRef as useRef26 } from "react";
|
|
21113
21184
|
import { Spinner as Spinner3 } from "@tutti-os/ui-system";
|
|
@@ -21121,10 +21192,10 @@ import {
|
|
|
21121
21192
|
Target,
|
|
21122
21193
|
ZapIcon as ZapIcon2
|
|
21123
21194
|
} from "lucide-react";
|
|
21124
|
-
import { jsx as
|
|
21195
|
+
import { jsx as jsx30, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
21125
21196
|
var paletteStyles = {
|
|
21126
|
-
palette: "nodrag agent-gui-node__mention-palette flex h-full min-h-0 flex-col gap-
|
|
21127
|
-
option: "nodrag relative flex min-h-
|
|
21197
|
+
palette: "nodrag agent-gui-node__mention-palette flex h-full min-h-0 flex-col gap-0.5 overflow-y-auto px-1 pb-1 pt-2 [-webkit-app-region:no-drag]",
|
|
21198
|
+
option: "nodrag relative flex h-7 min-h-7 w-full min-w-0 cursor-pointer select-none items-center gap-2 overflow-hidden rounded-[6px] border-0 bg-transparent px-2.5 py-0 text-left text-[13px] text-[var(--text-primary)] outline-hidden transition-colors duration-200 [-webkit-app-region:no-drag] hover:bg-[var(--transparency-block)] focus-visible:bg-[var(--transparency-block)] focus-visible:outline-none active:bg-[var(--transparency-active)] data-[highlighted]:bg-[var(--transparency-block)] data-[highlighted]:text-[var(--text-primary)] [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
21128
21199
|
icon: "flex w-3 shrink-0 items-center justify-center self-center text-[var(--text-secondary)]",
|
|
21129
21200
|
copy: "flex min-w-0 flex-1 items-center gap-1 overflow-hidden leading-[16px]",
|
|
21130
21201
|
name: "flex min-w-0 max-w-[48%] shrink-0 items-center gap-1 overflow-hidden",
|
|
@@ -21134,7 +21205,7 @@ var paletteStyles = {
|
|
|
21134
21205
|
groupHeader: "select-none px-2.5 pb-0.5 text-[11px] font-normal text-[var(--text-secondary)]",
|
|
21135
21206
|
groupHeaderFirst: "pt-1.5",
|
|
21136
21207
|
groupHeaderSeparated: "mt-1 border-t border-[var(--border-1)] pt-2",
|
|
21137
|
-
settingsButton: "nodrag ml-1 shrink-0 rounded-[
|
|
21208
|
+
settingsButton: "nodrag ml-1 flex h-5 min-h-5 shrink-0 items-center rounded-[4px] border-0 bg-[var(--transparency-hover)] px-2 py-0 text-[11px] font-semibold leading-[14px] text-[var(--text-secondary)] outline-none transition-colors duration-150 hover:bg-[var(--transparency-active)] hover:text-[var(--text-primary)] focus-visible:ring-2 focus-visible:ring-[var(--agent-gui-focus-ring,var(--border-focus))]",
|
|
21138
21209
|
loading: "flex min-h-9 w-full items-center gap-2 px-2.5 py-2 text-[11px] text-[var(--text-secondary)]"
|
|
21139
21210
|
};
|
|
21140
21211
|
function AgentSlashCommandPalette({
|
|
@@ -21180,7 +21251,7 @@ function AgentSlashCommandPalette({
|
|
|
21180
21251
|
);
|
|
21181
21252
|
const capabilityLoadingInsertIndex = capabilitiesLoading ? capabilityLoadingIndex(entries) : -1;
|
|
21182
21253
|
const capabilityLoadingNode = capabilitiesLoading ? /* @__PURE__ */ jsxs21(Fragment8, { children: [
|
|
21183
|
-
!hasCapabilityEntries ? /* @__PURE__ */
|
|
21254
|
+
!hasCapabilityEntries ? /* @__PURE__ */ jsx30(
|
|
21184
21255
|
"div",
|
|
21185
21256
|
{
|
|
21186
21257
|
"aria-hidden": "true",
|
|
@@ -21192,8 +21263,8 @@ function AgentSlashCommandPalette({
|
|
|
21192
21263
|
}
|
|
21193
21264
|
) : null,
|
|
21194
21265
|
/* @__PURE__ */ jsxs21("div", { "aria-live": "polite", className: paletteStyles.loading, role: "status", children: [
|
|
21195
|
-
/* @__PURE__ */
|
|
21196
|
-
/* @__PURE__ */
|
|
21266
|
+
/* @__PURE__ */ jsx30("span", { "aria-hidden": "true", className: paletteStyles.icon, children: /* @__PURE__ */ jsx30(Spinner3, { size: 12, strokeWidth: 2 }) }),
|
|
21267
|
+
/* @__PURE__ */ jsx30("span", { children: capabilitiesLoadingLabel })
|
|
21197
21268
|
] })
|
|
21198
21269
|
] }, "capability-loading") : null;
|
|
21199
21270
|
return /* @__PURE__ */ jsxs21("div", { className: paletteStyles.palette, role: "listbox", "aria-label": label, children: [
|
|
@@ -21201,7 +21272,7 @@ function AgentSlashCommandPalette({
|
|
|
21201
21272
|
const isHighlighted = index === highlightedIndex;
|
|
21202
21273
|
const groupType = entryGroupType(entry);
|
|
21203
21274
|
const entryIcon = slashPaletteEntryIcon(entry);
|
|
21204
|
-
const groupHeader = showGroupHeaders && firstEntryIndexByType.get(groupType) === index ? /* @__PURE__ */
|
|
21275
|
+
const groupHeader = showGroupHeaders && firstEntryIndexByType.get(groupType) === index ? /* @__PURE__ */ jsx30(
|
|
21205
21276
|
"div",
|
|
21206
21277
|
{
|
|
21207
21278
|
"aria-hidden": "true",
|
|
@@ -21251,15 +21322,15 @@ function AgentSlashCommandPalette({
|
|
|
21251
21322
|
onSelectSkill(entry.skill);
|
|
21252
21323
|
},
|
|
21253
21324
|
children: [
|
|
21254
|
-
entryIcon ? /* @__PURE__ */
|
|
21325
|
+
entryIcon ? /* @__PURE__ */ jsx30("span", { "aria-hidden": "true", className: paletteStyles.icon, children: entryIcon }) : null,
|
|
21255
21326
|
/* @__PURE__ */ jsxs21("span", { className: paletteStyles.copy, children: [
|
|
21256
21327
|
/* @__PURE__ */ jsxs21("span", { className: paletteStyles.name, children: [
|
|
21257
|
-
/* @__PURE__ */
|
|
21258
|
-
entry.type === "command" && entry.secondaryLabel ? /* @__PURE__ */
|
|
21328
|
+
/* @__PURE__ */ jsx30("span", { className: paletteStyles.primaryName, children: entry.type === "command" ? entry.primaryLabel ?? entry.label : entry.label }),
|
|
21329
|
+
entry.type === "command" && entry.secondaryLabel ? /* @__PURE__ */ jsx30("span", { className: paletteStyles.secondaryName, children: entry.secondaryLabel }) : null
|
|
21259
21330
|
] }),
|
|
21260
|
-
entry.description ? /* @__PURE__ */
|
|
21331
|
+
entry.description ? /* @__PURE__ */ jsx30("span", { className: paletteStyles.descriptionText, children: entry.description }) : null
|
|
21261
21332
|
] }),
|
|
21262
|
-
entry.type === "capability" && entry.settingsLabel && onSelectCapabilitySettings ? /* @__PURE__ */
|
|
21333
|
+
entry.type === "capability" && entry.settingsLabel && onSelectCapabilitySettings ? /* @__PURE__ */ jsx30(
|
|
21263
21334
|
"button",
|
|
21264
21335
|
{
|
|
21265
21336
|
"aria-label": entry.settingsAriaLabel ?? entry.settingsLabel,
|
|
@@ -21330,24 +21401,24 @@ function labelForEntryGroupType(groupType, labels) {
|
|
|
21330
21401
|
var SLASH_PALETTE_ICON_CLASS = "size-3";
|
|
21331
21402
|
function slashPaletteEntryIcon(entry) {
|
|
21332
21403
|
if (entry.type === "capability") {
|
|
21333
|
-
return entry.capability.capability === "computerUse" ? /* @__PURE__ */
|
|
21404
|
+
return entry.capability.capability === "computerUse" ? /* @__PURE__ */ jsx30(Monitor, { className: SLASH_PALETTE_ICON_CLASS }) : /* @__PURE__ */ jsx30(Globe, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21334
21405
|
}
|
|
21335
21406
|
if (entry.type !== "command") {
|
|
21336
21407
|
return null;
|
|
21337
21408
|
}
|
|
21338
21409
|
switch (entry.command.name.trim().toLowerCase()) {
|
|
21339
21410
|
case "compact":
|
|
21340
|
-
return /* @__PURE__ */
|
|
21411
|
+
return /* @__PURE__ */ jsx30(Minimize2, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21341
21412
|
case "fast":
|
|
21342
|
-
return /* @__PURE__ */
|
|
21413
|
+
return /* @__PURE__ */ jsx30(ZapIcon2, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21343
21414
|
case "goal":
|
|
21344
|
-
return /* @__PURE__ */
|
|
21415
|
+
return /* @__PURE__ */ jsx30(Target, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21345
21416
|
case "plan":
|
|
21346
|
-
return /* @__PURE__ */
|
|
21417
|
+
return /* @__PURE__ */ jsx30(ListChecks, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21347
21418
|
case "review":
|
|
21348
|
-
return /* @__PURE__ */
|
|
21419
|
+
return /* @__PURE__ */ jsx30(Search, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21349
21420
|
case "status":
|
|
21350
|
-
return /* @__PURE__ */
|
|
21421
|
+
return /* @__PURE__ */ jsx30(Info, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21351
21422
|
default:
|
|
21352
21423
|
return null;
|
|
21353
21424
|
}
|
|
@@ -21449,7 +21520,7 @@ var AgentReviewBranchController = class {
|
|
|
21449
21520
|
};
|
|
21450
21521
|
|
|
21451
21522
|
// agent-gui/agentGuiNode/AgentReviewPickerPanel.tsx
|
|
21452
|
-
import { jsx as
|
|
21523
|
+
import { jsx as jsx31, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
21453
21524
|
var reviewMenuStyles = {
|
|
21454
21525
|
panel: "agent-gui-node__slash-status-panel nodrag flex max-h-[280px] flex-col gap-1 overflow-hidden [-webkit-app-region:no-drag]",
|
|
21455
21526
|
search: "nodrag h-8 w-full shrink-0 rounded-[6px] border-0 bg-transparent px-2.5 text-[11px] leading-4 text-[var(--text-primary)] placeholder:text-[var(--text-secondary)] focus-visible:outline-none [-webkit-app-region:no-drag]",
|
|
@@ -21653,7 +21724,7 @@ function AgentReviewPickerPanel({
|
|
|
21653
21724
|
role: "dialog",
|
|
21654
21725
|
"aria-label": labels.title,
|
|
21655
21726
|
children: [
|
|
21656
|
-
/* @__PURE__ */
|
|
21727
|
+
/* @__PURE__ */ jsx31(
|
|
21657
21728
|
"input",
|
|
21658
21729
|
{
|
|
21659
21730
|
ref: searchInputRef,
|
|
@@ -21669,15 +21740,15 @@ function AgentReviewPickerPanel({
|
|
|
21669
21740
|
onKeyDown: handleKeyDown
|
|
21670
21741
|
}
|
|
21671
21742
|
),
|
|
21672
|
-
/* @__PURE__ */
|
|
21743
|
+
/* @__PURE__ */ jsx31(
|
|
21673
21744
|
"div",
|
|
21674
21745
|
{
|
|
21675
21746
|
className: reviewMenuStyles.list,
|
|
21676
21747
|
role: "listbox",
|
|
21677
21748
|
"aria-label": labels.title,
|
|
21678
|
-
children: entries.length === 0 ? /* @__PURE__ */
|
|
21749
|
+
children: entries.length === 0 ? /* @__PURE__ */ jsx31("div", { className: reviewMenuStyles.message, children: emptyMessage }) : entries.map((entry, index) => {
|
|
21679
21750
|
const isHighlighted = index === safeHighlightedIndex;
|
|
21680
|
-
return /* @__PURE__ */
|
|
21751
|
+
return /* @__PURE__ */ jsx31(
|
|
21681
21752
|
"button",
|
|
21682
21753
|
{
|
|
21683
21754
|
ref: isHighlighted ? highlightedOptionRef : null,
|
|
@@ -21698,8 +21769,8 @@ function AgentReviewPickerPanel({
|
|
|
21698
21769
|
}
|
|
21699
21770
|
},
|
|
21700
21771
|
children: /* @__PURE__ */ jsxs22("span", { className: reviewMenuStyles.copy, children: [
|
|
21701
|
-
/* @__PURE__ */
|
|
21702
|
-
entry.description ? /* @__PURE__ */
|
|
21772
|
+
/* @__PURE__ */ jsx31("span", { className: reviewMenuStyles.name, children: entry.label }),
|
|
21773
|
+
entry.description ? /* @__PURE__ */ jsx31("span", { className: reviewMenuStyles.description, children: entry.description }) : null
|
|
21703
21774
|
] })
|
|
21704
21775
|
},
|
|
21705
21776
|
entry.key
|
|
@@ -21723,7 +21794,7 @@ import {
|
|
|
21723
21794
|
useState as useState19
|
|
21724
21795
|
} from "react";
|
|
21725
21796
|
import { createPortal as createPortal3 } from "react-dom";
|
|
21726
|
-
import { jsx as
|
|
21797
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
21727
21798
|
var COMPOSER_MENU_GAP_PX = 8;
|
|
21728
21799
|
var COMPOSER_MENU_VIEWPORT_PADDING_PX = 8;
|
|
21729
21800
|
var COMPOSER_MENU_TOP_SAFE_AREA_PX = DESKTOP_WINDOW_TOP_MARGIN;
|
|
@@ -21956,7 +22027,7 @@ var ComposerFloatingMenuSurface = forwardRef4(function ComposerFloatingMenuSurfa
|
|
|
21956
22027
|
}
|
|
21957
22028
|
const portalTarget = frame?.portalTarget ?? (anchorRef.current ? resolveComposerMenuPortalTarget(anchorRef.current) : document.body);
|
|
21958
22029
|
return createPortal3(
|
|
21959
|
-
/* @__PURE__ */
|
|
22030
|
+
/* @__PURE__ */ jsx32(
|
|
21960
22031
|
"div",
|
|
21961
22032
|
{
|
|
21962
22033
|
"data-testid": testId,
|
|
@@ -21967,7 +22038,7 @@ var ComposerFloatingMenuSurface = forwardRef4(function ComposerFloatingMenuSurfa
|
|
|
21967
22038
|
className
|
|
21968
22039
|
),
|
|
21969
22040
|
style,
|
|
21970
|
-
children: contentClassName ? /* @__PURE__ */
|
|
22041
|
+
children: contentClassName ? /* @__PURE__ */ jsx32("div", { className: contentClassName, children }) : children
|
|
21971
22042
|
}
|
|
21972
22043
|
),
|
|
21973
22044
|
portalTarget
|
|
@@ -21977,7 +22048,7 @@ var ComposerFloatingMenuSurface = forwardRef4(function ComposerFloatingMenuSurfa
|
|
|
21977
22048
|
// agent-gui/agentGuiNode/composer/ComposerDraftAttachments.tsx
|
|
21978
22049
|
import { FileText, X as X3 } from "lucide-react";
|
|
21979
22050
|
import { Spinner as Spinner4 } from "@tutti-os/ui-system";
|
|
21980
|
-
import { Fragment as Fragment9, jsx as
|
|
22051
|
+
import { Fragment as Fragment9, jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
21981
22052
|
function ComposerDraftAttachments({
|
|
21982
22053
|
draftImages,
|
|
21983
22054
|
draftFiles: visibleDraftFiles,
|
|
@@ -21990,12 +22061,12 @@ function ComposerDraftAttachments({
|
|
|
21990
22061
|
}) {
|
|
21991
22062
|
const labels = { removeMention: removeLabel };
|
|
21992
22063
|
return /* @__PURE__ */ jsxs23(Fragment9, { children: [
|
|
21993
|
-
draftImages.length > 0 ? /* @__PURE__ */
|
|
22064
|
+
draftImages.length > 0 ? /* @__PURE__ */ jsx33(
|
|
21994
22065
|
"div",
|
|
21995
22066
|
{
|
|
21996
22067
|
className: "mb-2 flex w-full max-w-full flex-wrap items-start gap-2",
|
|
21997
22068
|
"data-testid": "agent-gui-composer-image-drafts",
|
|
21998
|
-
children: draftImages.map((image) => /* @__PURE__ */
|
|
22069
|
+
children: draftImages.map((image) => /* @__PURE__ */ jsx33(
|
|
21999
22070
|
AgentComposerDraftImagePreview,
|
|
22000
22071
|
{
|
|
22001
22072
|
image,
|
|
@@ -22044,7 +22115,7 @@ function ComposerDraftAttachments({
|
|
|
22044
22115
|
title: item.uploadError ?? (canRestore ? restoreLabel : preview),
|
|
22045
22116
|
onClick: () => expandDraftLargeTextToPrompt(item.id),
|
|
22046
22117
|
children: [
|
|
22047
|
-
/* @__PURE__ */
|
|
22118
|
+
/* @__PURE__ */ jsx33("span", { className: "flex size-9 shrink-0 items-center justify-center rounded-[8px] bg-[var(--transparency-hover)] text-[var(--text-secondary)]", children: item.uploading ? /* @__PURE__ */ jsx33(
|
|
22048
22119
|
Spinner4,
|
|
22049
22120
|
{
|
|
22050
22121
|
size: 16,
|
|
@@ -22052,15 +22123,15 @@ function ComposerDraftAttachments({
|
|
|
22052
22123
|
trackColor: "var(--transparency-hover)",
|
|
22053
22124
|
testId: "agent-gui-composer-large-text-upload-spinner"
|
|
22054
22125
|
}
|
|
22055
|
-
) : /* @__PURE__ */
|
|
22126
|
+
) : /* @__PURE__ */ jsx33(FileText, { size: 16, strokeWidth: 2, "aria-hidden": true }) }),
|
|
22056
22127
|
/* @__PURE__ */ jsxs23("span", { className: "flex min-w-0 flex-col", children: [
|
|
22057
|
-
/* @__PURE__ */
|
|
22058
|
-
/* @__PURE__ */
|
|
22128
|
+
/* @__PURE__ */ jsx33("span", { className: "max-w-[200px] truncate font-medium text-[var(--text-primary)]", children: preview }),
|
|
22129
|
+
/* @__PURE__ */ jsx33("span", { className: "max-w-[200px] truncate text-[11px] text-[var(--text-tertiary)]", children: attachmentStatus })
|
|
22059
22130
|
] })
|
|
22060
22131
|
]
|
|
22061
22132
|
}
|
|
22062
22133
|
),
|
|
22063
|
-
/* @__PURE__ */
|
|
22134
|
+
/* @__PURE__ */ jsx33(
|
|
22064
22135
|
"button",
|
|
22065
22136
|
{
|
|
22066
22137
|
type: "button",
|
|
@@ -22068,7 +22139,7 @@ function ComposerDraftAttachments({
|
|
|
22068
22139
|
"aria-label": labels.removeMention,
|
|
22069
22140
|
title: labels.removeMention,
|
|
22070
22141
|
onClick: () => removeDraftLargeText(item.id),
|
|
22071
|
-
children: /* @__PURE__ */
|
|
22142
|
+
children: /* @__PURE__ */ jsx33(X3, { size: 12, strokeWidth: 2.4, "aria-hidden": true })
|
|
22072
22143
|
}
|
|
22073
22144
|
)
|
|
22074
22145
|
]
|
|
@@ -22087,7 +22158,7 @@ function ComposerDraftAttachments({
|
|
|
22087
22158
|
"data-upload-error": file.uploadError ? "true" : void 0,
|
|
22088
22159
|
title: file.hostPath ?? file.path ?? file.name,
|
|
22089
22160
|
children: [
|
|
22090
|
-
file.uploading ? /* @__PURE__ */
|
|
22161
|
+
file.uploading ? /* @__PURE__ */ jsx33(
|
|
22091
22162
|
Spinner4,
|
|
22092
22163
|
{
|
|
22093
22164
|
className: "shrink-0 text-[var(--text-primary)]",
|
|
@@ -22096,15 +22167,15 @@ function ComposerDraftAttachments({
|
|
|
22096
22167
|
trackColor: "var(--transparency-hover)",
|
|
22097
22168
|
testId: "agent-gui-composer-file-upload-spinner"
|
|
22098
22169
|
}
|
|
22099
|
-
) : /* @__PURE__ */
|
|
22170
|
+
) : /* @__PURE__ */ jsx33(
|
|
22100
22171
|
"span",
|
|
22101
22172
|
{
|
|
22102
22173
|
className: "size-2 shrink-0 rounded-full bg-[var(--text-tertiary)]",
|
|
22103
22174
|
"aria-hidden": true
|
|
22104
22175
|
}
|
|
22105
22176
|
),
|
|
22106
|
-
/* @__PURE__ */
|
|
22107
|
-
/* @__PURE__ */
|
|
22177
|
+
/* @__PURE__ */ jsx33("span", { className: "min-w-0 max-w-[220px] truncate", children: file.name }),
|
|
22178
|
+
/* @__PURE__ */ jsx33(
|
|
22108
22179
|
"button",
|
|
22109
22180
|
{
|
|
22110
22181
|
type: "button",
|
|
@@ -22112,7 +22183,7 @@ function ComposerDraftAttachments({
|
|
|
22112
22183
|
"aria-label": labels.removeMention,
|
|
22113
22184
|
title: labels.removeMention,
|
|
22114
22185
|
onClick: () => removeDraftFile(file.id),
|
|
22115
|
-
children: /* @__PURE__ */
|
|
22186
|
+
children: /* @__PURE__ */ jsx33(X3, { size: 12, strokeWidth: 2.4, "aria-hidden": true })
|
|
22116
22187
|
}
|
|
22117
22188
|
)
|
|
22118
22189
|
]
|
|
@@ -22132,10 +22203,10 @@ import {
|
|
|
22132
22203
|
SelectContent as SelectContent2,
|
|
22133
22204
|
SelectItem as SelectItem2,
|
|
22134
22205
|
SelectTrigger as SelectTrigger2,
|
|
22135
|
-
Tooltip as
|
|
22136
|
-
TooltipContent as
|
|
22137
|
-
TooltipProvider as
|
|
22138
|
-
TooltipTrigger as
|
|
22206
|
+
Tooltip as Tooltip4,
|
|
22207
|
+
TooltipContent as TooltipContent4,
|
|
22208
|
+
TooltipProvider as TooltipProvider3,
|
|
22209
|
+
TooltipTrigger as TooltipTrigger4
|
|
22139
22210
|
} from "@tutti-os/ui-system";
|
|
22140
22211
|
|
|
22141
22212
|
// app/renderer/assets/icons/add-lined-bold.svg
|
|
@@ -22145,7 +22216,7 @@ var add_lined_bold_default = "./add-lined-bold-5QPUDZCU.svg";
|
|
|
22145
22216
|
var bold_lined_default = "./@-bold-lined-BLLFKBFI.svg";
|
|
22146
22217
|
|
|
22147
22218
|
// agent-gui/agentGuiNode/composer/ComposerFooter.tsx
|
|
22148
|
-
import { Fragment as Fragment10, jsx as
|
|
22219
|
+
import { Fragment as Fragment10, jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
22149
22220
|
function ComposerFooter({
|
|
22150
22221
|
labels,
|
|
22151
22222
|
composerSettings,
|
|
@@ -22184,11 +22255,11 @@ function ComposerFooter({
|
|
|
22184
22255
|
onClearGoalMode: clearGoalModeBadge
|
|
22185
22256
|
}) {
|
|
22186
22257
|
const showSettingsLoadingPlaceholders = composerSettings.isSettingsLoading;
|
|
22187
|
-
return /* @__PURE__ */
|
|
22258
|
+
return /* @__PURE__ */ jsx34(Fragment10, { children: /* @__PURE__ */ jsxs24("div", { className: AgentGUINode_styles_default.composerFooter, children: [
|
|
22188
22259
|
/* @__PURE__ */ jsxs24("div", { className: composerStyles.footerGroup, children: [
|
|
22189
22260
|
/* @__PURE__ */ jsxs24("div", { className: "inline-flex shrink-0 items-center gap-1", children: [
|
|
22190
|
-
previewMode ? /* @__PURE__ */
|
|
22191
|
-
/* @__PURE__ */
|
|
22261
|
+
previewMode ? /* @__PURE__ */ jsx34(TooltipProvider3, { delayDuration: 120, children: /* @__PURE__ */ jsxs24(Tooltip4, { children: [
|
|
22262
|
+
/* @__PURE__ */ jsx34(TooltipTrigger4, { asChild: true, children: /* @__PURE__ */ jsx34(
|
|
22192
22263
|
"button",
|
|
22193
22264
|
{
|
|
22194
22265
|
type: "button",
|
|
@@ -22198,7 +22269,7 @@ function ComposerFooter({
|
|
|
22198
22269
|
AgentGUINode_styles_default.composerReferenceTrigger,
|
|
22199
22270
|
"group w-auto justify-center text-[var(--agent-gui-text-secondary)]"
|
|
22200
22271
|
),
|
|
22201
|
-
children: /* @__PURE__ */
|
|
22272
|
+
children: /* @__PURE__ */ jsx34(
|
|
22202
22273
|
AgentComposerMaskIcon,
|
|
22203
22274
|
{
|
|
22204
22275
|
iconUrl: add_lined_bold_default,
|
|
@@ -22207,9 +22278,9 @@ function ComposerFooter({
|
|
|
22207
22278
|
)
|
|
22208
22279
|
}
|
|
22209
22280
|
) }),
|
|
22210
|
-
/* @__PURE__ */
|
|
22211
|
-
] }) }) : /* @__PURE__ */
|
|
22212
|
-
/* @__PURE__ */
|
|
22281
|
+
/* @__PURE__ */ jsx34(TooltipContent4, { side: "top", children: labels.addContent })
|
|
22282
|
+
] }) }) : /* @__PURE__ */ jsx34(TooltipProvider3, { delayDuration: 120, children: /* @__PURE__ */ jsxs24(Tooltip4, { children: [
|
|
22283
|
+
/* @__PURE__ */ jsx34(
|
|
22213
22284
|
Select2,
|
|
22214
22285
|
{
|
|
22215
22286
|
open: false,
|
|
@@ -22225,7 +22296,7 @@ function ComposerFooter({
|
|
|
22225
22296
|
void handleWorkspaceReferencePicker();
|
|
22226
22297
|
}
|
|
22227
22298
|
},
|
|
22228
|
-
children: /* @__PURE__ */
|
|
22299
|
+
children: /* @__PURE__ */ jsx34(TooltipTrigger4, { asChild: true, children: /* @__PURE__ */ jsx34(
|
|
22229
22300
|
SelectTrigger2,
|
|
22230
22301
|
{
|
|
22231
22302
|
size: "sm",
|
|
@@ -22236,7 +22307,7 @@ function ComposerFooter({
|
|
|
22236
22307
|
AgentGUINode_styles_default.composerReferenceTrigger,
|
|
22237
22308
|
"group w-auto justify-center text-[var(--agent-gui-text-secondary)] [&>svg:last-child]:hidden"
|
|
22238
22309
|
),
|
|
22239
|
-
children: /* @__PURE__ */
|
|
22310
|
+
children: /* @__PURE__ */ jsx34(
|
|
22240
22311
|
AgentComposerMaskIcon,
|
|
22241
22312
|
{
|
|
22242
22313
|
iconUrl: add_lined_bold_default,
|
|
@@ -22247,10 +22318,10 @@ function ComposerFooter({
|
|
|
22247
22318
|
) })
|
|
22248
22319
|
}
|
|
22249
22320
|
),
|
|
22250
|
-
/* @__PURE__ */
|
|
22321
|
+
/* @__PURE__ */ jsx34(TooltipContent4, { side: "top", children: labels.addContent })
|
|
22251
22322
|
] }) }),
|
|
22252
|
-
/* @__PURE__ */
|
|
22253
|
-
/* @__PURE__ */
|
|
22323
|
+
/* @__PURE__ */ jsx34(TooltipProvider3, { delayDuration: 120, children: /* @__PURE__ */ jsxs24(Tooltip4, { children: [
|
|
22324
|
+
/* @__PURE__ */ jsx34(TooltipTrigger4, { asChild: true, children: /* @__PURE__ */ jsx34(
|
|
22254
22325
|
"button",
|
|
22255
22326
|
{
|
|
22256
22327
|
type: "button",
|
|
@@ -22263,7 +22334,7 @@ function ComposerFooter({
|
|
|
22263
22334
|
),
|
|
22264
22335
|
onMouseDown: (event) => event.preventDefault(),
|
|
22265
22336
|
onClick: handleMentionPaletteButton,
|
|
22266
|
-
children: /* @__PURE__ */
|
|
22337
|
+
children: /* @__PURE__ */ jsx34(
|
|
22267
22338
|
"span",
|
|
22268
22339
|
{
|
|
22269
22340
|
"aria-hidden": true,
|
|
@@ -22282,10 +22353,10 @@ function ComposerFooter({
|
|
|
22282
22353
|
)
|
|
22283
22354
|
}
|
|
22284
22355
|
) }),
|
|
22285
|
-
/* @__PURE__ */
|
|
22356
|
+
/* @__PURE__ */ jsx34(TooltipContent4, { side: "top", children: labels.mentionPalette })
|
|
22286
22357
|
] }) })
|
|
22287
22358
|
] }),
|
|
22288
|
-
showHandoffSelect ? /* @__PURE__ */
|
|
22359
|
+
showHandoffSelect ? /* @__PURE__ */ jsx34(TooltipProvider3, { children: /* @__PURE__ */ jsxs24(Tooltip4, { children: [
|
|
22289
22360
|
/* @__PURE__ */ jsxs24(
|
|
22290
22361
|
Select2,
|
|
22291
22362
|
{
|
|
@@ -22301,7 +22372,7 @@ function ComposerFooter({
|
|
|
22301
22372
|
onHandoffConversation?.(target);
|
|
22302
22373
|
},
|
|
22303
22374
|
children: [
|
|
22304
|
-
/* @__PURE__ */
|
|
22375
|
+
/* @__PURE__ */ jsx34(TooltipTrigger4, { asChild: true, children: /* @__PURE__ */ jsx34(
|
|
22305
22376
|
SelectTrigger2,
|
|
22306
22377
|
{
|
|
22307
22378
|
size: "sm",
|
|
@@ -22326,18 +22397,18 @@ function ComposerFooter({
|
|
|
22326
22397
|
"w-auto max-w-[180px] [&>svg:last-child]:hidden"
|
|
22327
22398
|
),
|
|
22328
22399
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
22329
|
-
/* @__PURE__ */
|
|
22400
|
+
/* @__PURE__ */ jsx34(
|
|
22330
22401
|
AgentComposerHandoffIcon,
|
|
22331
22402
|
{
|
|
22332
22403
|
disabled: handoffDisabled,
|
|
22333
22404
|
isPlaying: isHandoffIconPlaying
|
|
22334
22405
|
}
|
|
22335
22406
|
),
|
|
22336
|
-
/* @__PURE__ */
|
|
22407
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: effectiveHandoffLabel })
|
|
22337
22408
|
] })
|
|
22338
22409
|
}
|
|
22339
22410
|
) }),
|
|
22340
|
-
/* @__PURE__ */
|
|
22411
|
+
/* @__PURE__ */ jsx34(
|
|
22341
22412
|
SelectContent2,
|
|
22342
22413
|
{
|
|
22343
22414
|
align: "start",
|
|
@@ -22347,14 +22418,14 @@ function ComposerFooter({
|
|
|
22347
22418
|
"min-w-[190px]"
|
|
22348
22419
|
),
|
|
22349
22420
|
"aria-label": effectiveHandoffMenuLabel,
|
|
22350
|
-
children: handoffMenuTargets.map((target) => /* @__PURE__ */
|
|
22421
|
+
children: handoffMenuTargets.map((target) => /* @__PURE__ */ jsx34(
|
|
22351
22422
|
SelectItem2,
|
|
22352
22423
|
{
|
|
22353
22424
|
value: target.targetId,
|
|
22354
22425
|
className: cn(AgentGUINode_styles_default.composerMenuItem, "gap-2"),
|
|
22355
22426
|
disabled: target.disabled === true,
|
|
22356
22427
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
22357
|
-
/* @__PURE__ */
|
|
22428
|
+
/* @__PURE__ */ jsx34(
|
|
22358
22429
|
"img",
|
|
22359
22430
|
{
|
|
22360
22431
|
alt: "",
|
|
@@ -22363,7 +22434,7 @@ function ComposerFooter({
|
|
|
22363
22434
|
src: resolveComposerProviderTargetIconUrl(target)
|
|
22364
22435
|
}
|
|
22365
22436
|
),
|
|
22366
|
-
/* @__PURE__ */
|
|
22437
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: target.label })
|
|
22367
22438
|
] })
|
|
22368
22439
|
},
|
|
22369
22440
|
`${target.provider}:${target.targetId}`
|
|
@@ -22373,7 +22444,7 @@ function ComposerFooter({
|
|
|
22373
22444
|
]
|
|
22374
22445
|
}
|
|
22375
22446
|
),
|
|
22376
|
-
/* @__PURE__ */
|
|
22447
|
+
/* @__PURE__ */ jsx34(TooltipContent4, { side: "top", children: labels.handoffConversationTooltip })
|
|
22377
22448
|
] }) }) : showProviderSelect && selectedProviderSwitchTarget ? /* @__PURE__ */ jsxs24(
|
|
22378
22449
|
Select2,
|
|
22379
22450
|
{
|
|
@@ -22392,7 +22463,7 @@ function ComposerFooter({
|
|
|
22392
22463
|
});
|
|
22393
22464
|
},
|
|
22394
22465
|
children: [
|
|
22395
|
-
/* @__PURE__ */
|
|
22466
|
+
/* @__PURE__ */ jsx34(
|
|
22396
22467
|
SelectTrigger2,
|
|
22397
22468
|
{
|
|
22398
22469
|
size: "sm",
|
|
@@ -22404,7 +22475,7 @@ function ComposerFooter({
|
|
|
22404
22475
|
"w-auto max-w-[180px]"
|
|
22405
22476
|
),
|
|
22406
22477
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
22407
|
-
/* @__PURE__ */
|
|
22478
|
+
/* @__PURE__ */ jsx34(
|
|
22408
22479
|
"img",
|
|
22409
22480
|
{
|
|
22410
22481
|
alt: "",
|
|
@@ -22415,22 +22486,22 @@ function ComposerFooter({
|
|
|
22415
22486
|
)
|
|
22416
22487
|
}
|
|
22417
22488
|
),
|
|
22418
|
-
/* @__PURE__ */
|
|
22489
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: selectedProviderLabel })
|
|
22419
22490
|
] })
|
|
22420
22491
|
}
|
|
22421
22492
|
),
|
|
22422
|
-
/* @__PURE__ */
|
|
22493
|
+
/* @__PURE__ */ jsx34(
|
|
22423
22494
|
SelectContent2,
|
|
22424
22495
|
{
|
|
22425
22496
|
align: "start",
|
|
22426
22497
|
className: cn(AgentGUINode_styles_default.composerMenuContent, "min-w-[190px]"),
|
|
22427
|
-
children: providerMenuTargets.map((target) => /* @__PURE__ */
|
|
22498
|
+
children: providerMenuTargets.map((target) => /* @__PURE__ */ jsx34(
|
|
22428
22499
|
SelectItem2,
|
|
22429
22500
|
{
|
|
22430
22501
|
value: target.targetId,
|
|
22431
22502
|
className: cn(AgentGUINode_styles_default.composerMenuItem, "gap-2"),
|
|
22432
22503
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
22433
|
-
/* @__PURE__ */
|
|
22504
|
+
/* @__PURE__ */ jsx34(
|
|
22434
22505
|
"img",
|
|
22435
22506
|
{
|
|
22436
22507
|
alt: "",
|
|
@@ -22439,7 +22510,7 @@ function ComposerFooter({
|
|
|
22439
22510
|
src: resolveComposerProviderTargetIconUrl(target)
|
|
22440
22511
|
}
|
|
22441
22512
|
),
|
|
22442
|
-
/* @__PURE__ */
|
|
22513
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: target.label })
|
|
22443
22514
|
] })
|
|
22444
22515
|
},
|
|
22445
22516
|
`${target.provider}:${target.targetId}`
|
|
@@ -22449,7 +22520,7 @@ function ComposerFooter({
|
|
|
22449
22520
|
]
|
|
22450
22521
|
}
|
|
22451
22522
|
) : null,
|
|
22452
|
-
composerSettings.supportsPlanMode && composerSettings.draftSettings.planMode ? /* @__PURE__ */
|
|
22523
|
+
composerSettings.supportsPlanMode && composerSettings.draftSettings.planMode ? /* @__PURE__ */ jsx34(
|
|
22453
22524
|
"button",
|
|
22454
22525
|
{
|
|
22455
22526
|
type: "button",
|
|
@@ -22465,19 +22536,19 @@ function ComposerFooter({
|
|
|
22465
22536
|
onClick: () => onSettingsChange({ planMode: false }),
|
|
22466
22537
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5 overflow-hidden", children: [
|
|
22467
22538
|
/* @__PURE__ */ jsxs24("span", { className: "relative flex size-3.5 shrink-0 items-center justify-center", children: [
|
|
22468
|
-
/* @__PURE__ */
|
|
22539
|
+
/* @__PURE__ */ jsx34(
|
|
22469
22540
|
ListChecks2,
|
|
22470
22541
|
{
|
|
22471
22542
|
"aria-hidden": true,
|
|
22472
22543
|
className: "size-3.5 transition-opacity duration-150 group-hover:opacity-0 group-focus-visible:opacity-0"
|
|
22473
22544
|
}
|
|
22474
22545
|
),
|
|
22475
|
-
/* @__PURE__ */
|
|
22546
|
+
/* @__PURE__ */ jsx34(
|
|
22476
22547
|
"span",
|
|
22477
22548
|
{
|
|
22478
22549
|
"aria-hidden": true,
|
|
22479
22550
|
className: "absolute inset-0 flex items-center justify-center rounded-full bg-[var(--text-secondary)] opacity-0 transition-opacity duration-150 group-hover:opacity-100 group-focus-visible:opacity-100 group-disabled:opacity-0",
|
|
22480
|
-
children: /* @__PURE__ */
|
|
22551
|
+
children: /* @__PURE__ */ jsx34(
|
|
22481
22552
|
X4,
|
|
22482
22553
|
{
|
|
22483
22554
|
className: "size-2.5 text-[var(--background-fronted)]",
|
|
@@ -22487,11 +22558,11 @@ function ComposerFooter({
|
|
|
22487
22558
|
}
|
|
22488
22559
|
)
|
|
22489
22560
|
] }),
|
|
22490
|
-
/* @__PURE__ */
|
|
22561
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: labels.planModeLabel })
|
|
22491
22562
|
] })
|
|
22492
22563
|
}
|
|
22493
22564
|
) : null,
|
|
22494
|
-
isGoalModeActive ? /* @__PURE__ */
|
|
22565
|
+
isGoalModeActive ? /* @__PURE__ */ jsx34(
|
|
22495
22566
|
"button",
|
|
22496
22567
|
{
|
|
22497
22568
|
type: "button",
|
|
@@ -22507,19 +22578,19 @@ function ComposerFooter({
|
|
|
22507
22578
|
onClick: clearGoalModeBadge,
|
|
22508
22579
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5 overflow-hidden", children: [
|
|
22509
22580
|
/* @__PURE__ */ jsxs24("span", { className: "relative flex size-3.5 shrink-0 items-center justify-center", children: [
|
|
22510
|
-
/* @__PURE__ */
|
|
22581
|
+
/* @__PURE__ */ jsx34(
|
|
22511
22582
|
Target2,
|
|
22512
22583
|
{
|
|
22513
22584
|
"aria-hidden": true,
|
|
22514
22585
|
className: "size-3.5 transition-opacity duration-150 group-hover:opacity-0 group-focus-visible:opacity-0"
|
|
22515
22586
|
}
|
|
22516
22587
|
),
|
|
22517
|
-
/* @__PURE__ */
|
|
22588
|
+
/* @__PURE__ */ jsx34(
|
|
22518
22589
|
"span",
|
|
22519
22590
|
{
|
|
22520
22591
|
"aria-hidden": true,
|
|
22521
22592
|
className: "absolute inset-0 flex items-center justify-center rounded-full bg-[var(--text-secondary)] opacity-0 transition-opacity duration-150 group-hover:opacity-100 group-focus-visible:opacity-100 group-disabled:opacity-0",
|
|
22522
|
-
children: /* @__PURE__ */
|
|
22593
|
+
children: /* @__PURE__ */ jsx34(
|
|
22523
22594
|
X4,
|
|
22524
22595
|
{
|
|
22525
22596
|
className: "size-2.5 text-[var(--background-fronted)]",
|
|
@@ -22529,13 +22600,13 @@ function ComposerFooter({
|
|
|
22529
22600
|
}
|
|
22530
22601
|
)
|
|
22531
22602
|
] }),
|
|
22532
|
-
/* @__PURE__ */
|
|
22603
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: labels.goalLabel })
|
|
22533
22604
|
] })
|
|
22534
22605
|
}
|
|
22535
22606
|
) : null
|
|
22536
22607
|
] }),
|
|
22537
22608
|
/* @__PURE__ */ jsxs24("div", { className: composerStyles.footerGroupRight, children: [
|
|
22538
|
-
usage && usage.percentUsed !== null ? /* @__PURE__ */
|
|
22609
|
+
usage && usage.percentUsed !== null ? /* @__PURE__ */ jsx34(
|
|
22539
22610
|
AgentUsageChip,
|
|
22540
22611
|
{
|
|
22541
22612
|
percentUsed: usage.percentUsed,
|
|
@@ -22554,7 +22625,7 @@ function ComposerFooter({
|
|
|
22554
22625
|
}
|
|
22555
22626
|
}
|
|
22556
22627
|
) : null,
|
|
22557
|
-
showSettingsLoadingPlaceholders || composerSettings.supportsPermissionMode ? /* @__PURE__ */
|
|
22628
|
+
showSettingsLoadingPlaceholders || composerSettings.supportsPermissionMode ? /* @__PURE__ */ jsx34(
|
|
22558
22629
|
AgentPermissionModeDropdown,
|
|
22559
22630
|
{
|
|
22560
22631
|
composerSettings,
|
|
@@ -22567,7 +22638,7 @@ function ComposerFooter({
|
|
|
22567
22638
|
onSettingsChange: (patch) => onSettingsChange(patch)
|
|
22568
22639
|
}
|
|
22569
22640
|
) : null,
|
|
22570
|
-
showSettingsLoadingPlaceholders || composerSettings.supportsModel || composerSettings.supportsReasoningEffort ? /* @__PURE__ */
|
|
22641
|
+
showSettingsLoadingPlaceholders || composerSettings.supportsModel || composerSettings.supportsReasoningEffort ? /* @__PURE__ */ jsx34(
|
|
22571
22642
|
AgentModelReasoningDropdown,
|
|
22572
22643
|
{
|
|
22573
22644
|
composerSettings,
|
|
@@ -22610,7 +22681,7 @@ function ComposerFooter({
|
|
|
22610
22681
|
}
|
|
22611
22682
|
|
|
22612
22683
|
// agent-gui/agentGuiNode/composer/AgentComposerView.tsx
|
|
22613
|
-
import { jsx as
|
|
22684
|
+
import { jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
22614
22685
|
function AgentComposerView(input) {
|
|
22615
22686
|
const {
|
|
22616
22687
|
slashStatus = null,
|
|
@@ -22638,6 +22709,7 @@ function AgentComposerView(input) {
|
|
|
22638
22709
|
onEditQueuedPrompt,
|
|
22639
22710
|
onPromptImagesUnsupported,
|
|
22640
22711
|
onRequestWorkspaceReferences,
|
|
22712
|
+
referenceProvenanceFilter,
|
|
22641
22713
|
selectProjectDirectory,
|
|
22642
22714
|
onProjectPathChange = () => {
|
|
22643
22715
|
},
|
|
@@ -22737,12 +22809,12 @@ function AgentComposerView(input) {
|
|
|
22737
22809
|
onSubmit: submit,
|
|
22738
22810
|
children: [
|
|
22739
22811
|
fileDropOverlay,
|
|
22740
|
-
visibleActivePrompt ? /* @__PURE__ */
|
|
22812
|
+
visibleActivePrompt ? /* @__PURE__ */ jsx35(
|
|
22741
22813
|
"div",
|
|
22742
22814
|
{
|
|
22743
22815
|
className: AgentGUINode_styles_default.composerFloatingPrompt,
|
|
22744
22816
|
"data-testid": "agent-gui-composer-floating-prompt",
|
|
22745
|
-
children: /* @__PURE__ */
|
|
22817
|
+
children: /* @__PURE__ */ jsx35(
|
|
22746
22818
|
AgentInteractivePromptSurface,
|
|
22747
22819
|
{
|
|
22748
22820
|
prompt: visibleActivePrompt,
|
|
@@ -22774,7 +22846,7 @@ function AgentComposerView(input) {
|
|
|
22774
22846
|
)
|
|
22775
22847
|
}
|
|
22776
22848
|
) : null,
|
|
22777
|
-
queuedPrompts.length > 0 ? /* @__PURE__ */
|
|
22849
|
+
queuedPrompts.length > 0 ? /* @__PURE__ */ jsx35(
|
|
22778
22850
|
"div",
|
|
22779
22851
|
{
|
|
22780
22852
|
className: cn(
|
|
@@ -22782,7 +22854,7 @@ function AgentComposerView(input) {
|
|
|
22782
22854
|
AgentGUINode_styles_default.composerQueuedPromptFloating
|
|
22783
22855
|
),
|
|
22784
22856
|
"data-testid": "agent-gui-composer-queued-prompts",
|
|
22785
|
-
children: /* @__PURE__ */
|
|
22857
|
+
children: /* @__PURE__ */ jsx35(
|
|
22786
22858
|
AgentQueuedPromptPanel,
|
|
22787
22859
|
{
|
|
22788
22860
|
queueStatus,
|
|
@@ -22807,7 +22879,7 @@ function AgentComposerView(input) {
|
|
|
22807
22879
|
)
|
|
22808
22880
|
}
|
|
22809
22881
|
) : null,
|
|
22810
|
-
showProjectMissingProbe ? /* @__PURE__ */
|
|
22882
|
+
showProjectMissingProbe ? /* @__PURE__ */ jsx35(
|
|
22811
22883
|
AgentProjectMissingStatusProbe,
|
|
22812
22884
|
{
|
|
22813
22885
|
composerSettings,
|
|
@@ -22823,17 +22895,17 @@ function AgentComposerView(input) {
|
|
|
22823
22895
|
),
|
|
22824
22896
|
"data-edge-glow": showEdgeGlow ? "true" : void 0,
|
|
22825
22897
|
children: [
|
|
22826
|
-
backgroundAgentStatusText ? /* @__PURE__ */
|
|
22898
|
+
backgroundAgentStatusText ? /* @__PURE__ */ jsx35(
|
|
22827
22899
|
AgentChromeNotice,
|
|
22828
22900
|
{
|
|
22829
22901
|
tone: "muted",
|
|
22830
22902
|
role: "status",
|
|
22831
22903
|
testId: "agent-gui-composer-background-agent-status",
|
|
22832
22904
|
title: backgroundAgentStatusText,
|
|
22833
|
-
icon: /* @__PURE__ */
|
|
22905
|
+
icon: /* @__PURE__ */ jsx35(Spinner5, { className: "h-3.5 w-3.5" })
|
|
22834
22906
|
}
|
|
22835
22907
|
) : null,
|
|
22836
|
-
input.isSelectedProjectMissing ? /* @__PURE__ */
|
|
22908
|
+
input.isSelectedProjectMissing ? /* @__PURE__ */ jsx35(
|
|
22837
22909
|
AgentChromeNotice,
|
|
22838
22910
|
{
|
|
22839
22911
|
tone: "danger",
|
|
@@ -22862,7 +22934,7 @@ function AgentComposerView(input) {
|
|
|
22862
22934
|
onOpenChange: input.setIsPaletteOpen,
|
|
22863
22935
|
modal: false,
|
|
22864
22936
|
children: [
|
|
22865
|
-
/* @__PURE__ */
|
|
22937
|
+
/* @__PURE__ */ jsx35(PopoverAnchor2, { asChild: true, children: /* @__PURE__ */ jsxs25(
|
|
22866
22938
|
"div",
|
|
22867
22939
|
{
|
|
22868
22940
|
ref: input.promptInputAreaRef,
|
|
@@ -22874,7 +22946,7 @@ function AgentComposerView(input) {
|
|
|
22874
22946
|
"data-has-draft-images": draftImages.length > 0 ? "true" : void 0,
|
|
22875
22947
|
style: promptInputAreaStyle,
|
|
22876
22948
|
children: [
|
|
22877
|
-
/* @__PURE__ */
|
|
22949
|
+
/* @__PURE__ */ jsx35(
|
|
22878
22950
|
ComposerDraftAttachments,
|
|
22879
22951
|
{
|
|
22880
22952
|
draftImages,
|
|
@@ -22895,7 +22967,7 @@ function AgentComposerView(input) {
|
|
|
22895
22967
|
!isHeroLayout && "agent-gui-node__composer-prompt-input-line"
|
|
22896
22968
|
),
|
|
22897
22969
|
children: [
|
|
22898
|
-
/* @__PURE__ */
|
|
22970
|
+
/* @__PURE__ */ jsx35(
|
|
22899
22971
|
AgentRichTextEditor,
|
|
22900
22972
|
{
|
|
22901
22973
|
ref: input.editorHandleRef,
|
|
@@ -22942,7 +23014,7 @@ function AgentComposerView(input) {
|
|
|
22942
23014
|
}
|
|
22943
23015
|
) }),
|
|
22944
23016
|
input.showFileMentionPalette && mentionPaletteFrame ? createPortal4(
|
|
22945
|
-
/* @__PURE__ */
|
|
23017
|
+
/* @__PURE__ */ jsx35(
|
|
22946
23018
|
"div",
|
|
22947
23019
|
{
|
|
22948
23020
|
"data-testid": "agent-gui-mention-palette-surface",
|
|
@@ -22952,7 +23024,7 @@ function AgentComposerView(input) {
|
|
|
22952
23024
|
"max-h-[320px] overflow-hidden border-[var(--line-1)] p-0"
|
|
22953
23025
|
),
|
|
22954
23026
|
style: mentionPaletteStyle,
|
|
22955
|
-
children: /* @__PURE__ */
|
|
23027
|
+
children: /* @__PURE__ */ jsx35(
|
|
22956
23028
|
AgentFileMentionPalette,
|
|
22957
23029
|
{
|
|
22958
23030
|
state: input.mentionSearchState,
|
|
@@ -22971,14 +23043,20 @@ function AgentComposerView(input) {
|
|
|
22971
23043
|
onExpandGroup: (groupId) => input.mentionControllerRef.current?.expandGroup(groupId),
|
|
22972
23044
|
onNavigateHierarchy: navigateFileMentionHierarchy,
|
|
22973
23045
|
onNavigateIntoItem: navigateIntoFileMentionItem,
|
|
22974
|
-
onOpenReferences: onRequestWorkspaceReferences ? handleOpenReferencesForEntity : void 0
|
|
23046
|
+
onOpenReferences: onRequestWorkspaceReferences ? handleOpenReferencesForEntity : void 0,
|
|
23047
|
+
provenanceFilterControl: referenceProvenanceFilter ? /* @__PURE__ */ jsx35(
|
|
23048
|
+
AgentReferenceProvenanceFilterControl,
|
|
23049
|
+
{
|
|
23050
|
+
filter: referenceProvenanceFilter
|
|
23051
|
+
}
|
|
23052
|
+
) : void 0
|
|
22975
23053
|
}
|
|
22976
23054
|
)
|
|
22977
23055
|
}
|
|
22978
23056
|
),
|
|
22979
23057
|
mentionPaletteFrame.portalTarget
|
|
22980
23058
|
) : null,
|
|
22981
|
-
/* @__PURE__ */
|
|
23059
|
+
/* @__PURE__ */ jsx35(
|
|
22982
23060
|
ComposerFloatingMenuSurface,
|
|
22983
23061
|
{
|
|
22984
23062
|
anchorRef: input.inputShellRef,
|
|
@@ -22991,7 +23069,7 @@ function AgentComposerView(input) {
|
|
|
22991
23069
|
placement: "fixed-height",
|
|
22992
23070
|
surfaceRef: input.paletteContentRef,
|
|
22993
23071
|
testId: "agent-gui-slash-palette-surface",
|
|
22994
|
-
children: /* @__PURE__ */
|
|
23072
|
+
children: /* @__PURE__ */ jsx35(
|
|
22995
23073
|
AgentSlashCommandPalette,
|
|
22996
23074
|
{
|
|
22997
23075
|
entries: slashPaletteEntries,
|
|
@@ -23014,7 +23092,7 @@ function AgentComposerView(input) {
|
|
|
23014
23092
|
)
|
|
23015
23093
|
}
|
|
23016
23094
|
),
|
|
23017
|
-
/* @__PURE__ */
|
|
23095
|
+
/* @__PURE__ */ jsx35(
|
|
23018
23096
|
ComposerFloatingMenuSurface,
|
|
23019
23097
|
{
|
|
23020
23098
|
anchorRef: input.inputShellRef,
|
|
@@ -23026,7 +23104,7 @@ function AgentComposerView(input) {
|
|
|
23026
23104
|
placement: "dynamic-above",
|
|
23027
23105
|
surfaceRef: input.paletteContentRef,
|
|
23028
23106
|
testId: "agent-gui-command-menu-surface",
|
|
23029
|
-
children: /* @__PURE__ */
|
|
23107
|
+
children: /* @__PURE__ */ jsx35(
|
|
23030
23108
|
AgentSlashStatusPanel,
|
|
23031
23109
|
{
|
|
23032
23110
|
status: slashStatus,
|
|
@@ -23046,7 +23124,7 @@ function AgentComposerView(input) {
|
|
|
23046
23124
|
)
|
|
23047
23125
|
}
|
|
23048
23126
|
),
|
|
23049
|
-
/* @__PURE__ */
|
|
23127
|
+
/* @__PURE__ */ jsx35(
|
|
23050
23128
|
ComposerFloatingMenuSurface,
|
|
23051
23129
|
{
|
|
23052
23130
|
anchorRef: input.inputShellRef,
|
|
@@ -23058,7 +23136,7 @@ function AgentComposerView(input) {
|
|
|
23058
23136
|
placement: "dynamic-above",
|
|
23059
23137
|
surfaceRef: input.paletteContentRef,
|
|
23060
23138
|
testId: "agent-gui-command-menu-surface",
|
|
23061
|
-
children: /* @__PURE__ */
|
|
23139
|
+
children: /* @__PURE__ */ jsx35(
|
|
23062
23140
|
AgentReviewPickerPanel,
|
|
23063
23141
|
{
|
|
23064
23142
|
labels: labels.reviewPicker,
|
|
@@ -23072,7 +23150,7 @@ function AgentComposerView(input) {
|
|
|
23072
23150
|
]
|
|
23073
23151
|
}
|
|
23074
23152
|
),
|
|
23075
|
-
/* @__PURE__ */
|
|
23153
|
+
/* @__PURE__ */ jsx35(
|
|
23076
23154
|
ComposerFooter,
|
|
23077
23155
|
{
|
|
23078
23156
|
labels,
|
|
@@ -23121,7 +23199,7 @@ function AgentComposerView(input) {
|
|
|
23121
23199
|
className: AgentGUINode_styles_default.composerProjectRow,
|
|
23122
23200
|
"data-project-missing": input.isSelectedProjectMissing ? "true" : void 0,
|
|
23123
23201
|
children: [
|
|
23124
|
-
showHeroProjectSelector ? /* @__PURE__ */
|
|
23202
|
+
showHeroProjectSelector ? /* @__PURE__ */ jsx35(
|
|
23125
23203
|
AgentProjectDropdown,
|
|
23126
23204
|
{
|
|
23127
23205
|
composerSettings,
|
|
@@ -23137,15 +23215,15 @@ function AgentComposerView(input) {
|
|
|
23137
23215
|
onProjectPathChange
|
|
23138
23216
|
}
|
|
23139
23217
|
) : null,
|
|
23140
|
-
activePromptTip ? /* @__PURE__ */
|
|
23218
|
+
activePromptTip ? /* @__PURE__ */ jsx35(
|
|
23141
23219
|
"div",
|
|
23142
23220
|
{
|
|
23143
23221
|
className: AgentGUINode_styles_default.composerPromptTips,
|
|
23144
23222
|
"data-testid": "agent-gui-prompt-tips",
|
|
23145
|
-
children: !previewMode && input.isPromptTipOverflowing && promptTipNode ? /* @__PURE__ */
|
|
23146
|
-
/* @__PURE__ */
|
|
23147
|
-
/* @__PURE__ */
|
|
23148
|
-
|
|
23223
|
+
children: !previewMode && input.isPromptTipOverflowing && promptTipNode ? /* @__PURE__ */ jsx35(TooltipProvider4, { delayDuration: 0, children: /* @__PURE__ */ jsxs25(Tooltip5, { children: [
|
|
23224
|
+
/* @__PURE__ */ jsx35(TooltipTrigger5, { asChild: true, children: promptTipNode }),
|
|
23225
|
+
/* @__PURE__ */ jsx35(
|
|
23226
|
+
TooltipContent5,
|
|
23149
23227
|
{
|
|
23150
23228
|
align: "end",
|
|
23151
23229
|
className: AgentGUINode_styles_default.composerPromptTipTooltip,
|
|
@@ -23168,13 +23246,13 @@ function AgentComposerView(input) {
|
|
|
23168
23246
|
}
|
|
23169
23247
|
|
|
23170
23248
|
// agent-gui/agentGuiNode/AgentComposer.tsx
|
|
23171
|
-
import { jsx as
|
|
23249
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
23172
23250
|
var DOCK_COMPOSER_INPUT_MIN_HEIGHT2 = 56;
|
|
23173
23251
|
var DOCK_COMPOSER_TEXT_LINE_HEIGHT2 = 24;
|
|
23174
23252
|
var DOCK_COMPOSER_MAX_VISIBLE_TEXT_LINES2 = 3.5;
|
|
23175
|
-
var
|
|
23253
|
+
var DOCK_COMPOSER_INPUT_TEXT_CHROME_HEIGHT = 26;
|
|
23176
23254
|
var DOCK_COMPOSER_TEXT_VIEWPORT_MAX_HEIGHT2 = DOCK_COMPOSER_TEXT_LINE_HEIGHT2 * DOCK_COMPOSER_MAX_VISIBLE_TEXT_LINES2;
|
|
23177
|
-
var DOCK_COMPOSER_INPUT_MAX_HEIGHT2 =
|
|
23255
|
+
var DOCK_COMPOSER_INPUT_MAX_HEIGHT2 = DOCK_COMPOSER_INPUT_TEXT_CHROME_HEIGHT + DOCK_COMPOSER_TEXT_VIEWPORT_MAX_HEIGHT2;
|
|
23178
23256
|
function AgentComposer(props) {
|
|
23179
23257
|
"use memo";
|
|
23180
23258
|
const {
|
|
@@ -23233,7 +23311,8 @@ function AgentComposer(props) {
|
|
|
23233
23311
|
onRequestWorkspaceReferences = null,
|
|
23234
23312
|
resolveDroppedFileReferences = null,
|
|
23235
23313
|
onRequestGitBranches = null,
|
|
23236
|
-
contextMentionProviders = EMPTY_CONTEXT_MENTION_PROVIDERS
|
|
23314
|
+
contextMentionProviders = EMPTY_CONTEXT_MENTION_PROVIDERS,
|
|
23315
|
+
referenceProvenanceFilter = null
|
|
23237
23316
|
} = props;
|
|
23238
23317
|
const draftPrompt = agentComposerDraftPrompt(draftContent);
|
|
23239
23318
|
const goalDraftObjective = canGoalControl ? goalDraftObjectiveFromPrompt(draftPrompt) : null;
|
|
@@ -23399,6 +23478,9 @@ function AgentComposer(props) {
|
|
|
23399
23478
|
const controller = new AgentMentionSearchController({
|
|
23400
23479
|
contextMentionProviders
|
|
23401
23480
|
});
|
|
23481
|
+
controller.setProvenanceFilter(
|
|
23482
|
+
referenceProvenanceFilter?.snapshot.value ?? null
|
|
23483
|
+
);
|
|
23402
23484
|
mentionControllerRef.current = controller;
|
|
23403
23485
|
const unsubscribe = controller.subscribe(setMentionSearchState);
|
|
23404
23486
|
return () => {
|
|
@@ -23408,6 +23490,9 @@ function AgentComposer(props) {
|
|
|
23408
23490
|
};
|
|
23409
23491
|
}, [contextMentionProviders]);
|
|
23410
23492
|
useEffect28(() => {
|
|
23493
|
+
draftImagesRef.current = agentComposerDraftImages(draftContent);
|
|
23494
|
+
draftFilesRef.current = agentComposerDraftFiles(draftContent);
|
|
23495
|
+
draftLargeTextsRef.current = agentComposerDraftLargeTexts(draftContent);
|
|
23411
23496
|
const isExternalDraftReplacement = draftPromptRef.current !== draftPrompt;
|
|
23412
23497
|
draftPromptRef.current = draftPrompt;
|
|
23413
23498
|
setPaletteDraftPrompt(goalDraftObjective ?? draftPrompt);
|
|
@@ -23418,12 +23503,12 @@ function AgentComposer(props) {
|
|
|
23418
23503
|
});
|
|
23419
23504
|
});
|
|
23420
23505
|
}
|
|
23421
|
-
}, [draftPrompt, goalDraftObjective]);
|
|
23506
|
+
}, [draftContent, draftPrompt, goalDraftObjective]);
|
|
23422
23507
|
useEffect28(() => {
|
|
23423
|
-
|
|
23424
|
-
|
|
23425
|
-
|
|
23426
|
-
}, [
|
|
23508
|
+
mentionControllerRef.current?.setProvenanceFilter(
|
|
23509
|
+
referenceProvenanceFilter?.snapshot.value ?? null
|
|
23510
|
+
);
|
|
23511
|
+
}, [referenceProvenanceFilter?.snapshot.value]);
|
|
23427
23512
|
useEffect28(() => {
|
|
23428
23513
|
if (previousSlashStatusAgentSessionIdRef.current === slashStatusAgentSessionId) {
|
|
23429
23514
|
return;
|
|
@@ -23642,7 +23727,7 @@ function AgentComposer(props) {
|
|
|
23642
23727
|
canUploadAttachment,
|
|
23643
23728
|
promptImagesSupported
|
|
23644
23729
|
});
|
|
23645
|
-
return /* @__PURE__ */
|
|
23730
|
+
return /* @__PURE__ */ jsx36(
|
|
23646
23731
|
AgentComposerView,
|
|
23647
23732
|
{
|
|
23648
23733
|
props,
|
|
@@ -23689,9 +23774,9 @@ function AgentComposer(props) {
|
|
|
23689
23774
|
// agent-gui/agentGuiNode/AgentHomeSuggestions.tsx
|
|
23690
23775
|
import { memo as memo2, useState as useState21 } from "react";
|
|
23691
23776
|
import { ArrowLeftRight, Code, Compass, Import, Pencil, X as X5 } from "lucide-react";
|
|
23692
|
-
import { jsx as
|
|
23777
|
+
import { jsx as jsx37, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
23693
23778
|
function TuttiIcon(props) {
|
|
23694
|
-
return /* @__PURE__ */
|
|
23779
|
+
return /* @__PURE__ */ jsx37(
|
|
23695
23780
|
"svg",
|
|
23696
23781
|
{
|
|
23697
23782
|
width: "24",
|
|
@@ -23700,7 +23785,7 @@ function TuttiIcon(props) {
|
|
|
23700
23785
|
fill: "none",
|
|
23701
23786
|
xmlns: "http://www.w3.org/2000/svg",
|
|
23702
23787
|
...props,
|
|
23703
|
-
children: /* @__PURE__ */
|
|
23788
|
+
children: /* @__PURE__ */ jsx37(
|
|
23704
23789
|
"path",
|
|
23705
23790
|
{
|
|
23706
23791
|
d: "M11.9239 0.561676C15.4275 0.704643 18.0594 1.93856 19.9297 3.83316L20.0235 3.92984C23.0545 7.07999 23.0228 10.8742 22.9942 11.9015C22.8949 15.4888 21.1541 19.3943 18.0293 21.4328C15.586 23.0271 12.2829 23.8614 9.04007 23.215C5.73644 22.5564 2.62421 20.3849 0.626007 16.2238L3.20804 14.9836C4.83809 18.3782 7.22804 19.9325 9.60062 20.4054C12.0339 20.8904 14.5821 20.262 16.4649 19.0334C16.5072 19.0058 16.5482 18.9761 16.5899 18.9474C16.1093 18.8715 15.6404 18.7558 15.2119 18.5773C14.5812 18.3145 13.9737 17.8946 13.5371 17.2316C13.3482 16.9446 13.2091 16.6341 13.1094 16.3068V19.089C11.9062 19.089 10.438 19.0648 9.26761 18.5773C8.63673 18.3144 8.0285 17.8949 7.59183 17.2316C7.19348 16.6265 7.00806 15.9216 6.97952 15.1593C5.38231 15.2733 4.05048 14.8926 3.01273 14.0617C1.45415 12.8137 0.967716 10.8679 0.965851 9.3605C0.960457 5.06718 4.93349 0.556422 11.211 0.548004L11.9239 0.561676ZM12.3096 13.4562C11.6218 13.7868 10.8654 14.1393 9.99808 14.4611C9.94487 14.4808 9.89073 14.4979 9.83792 14.5168V14.9503C9.83792 15.3764 9.92819 15.571 9.98441 15.6564C10.0384 15.7384 10.1371 15.8371 10.3692 15.9337C10.921 16.1636 11.797 16.223 13.084 16.2238C12.9714 15.8224 12.918 15.3955 12.918 14.9503V13.1632C12.7221 13.2577 12.5204 13.3549 12.3096 13.4562ZM11.2149 3.41226C6.37997 3.4188 3.86603 6.76409 3.83011 9.29703V9.3566C3.83137 10.3769 4.17272 11.3206 4.80276 11.8253C5.17526 12.1236 5.83321 12.4102 6.97366 12.2882V6.38785H9.83792V11.4386C10.2583 11.2583 10.6625 11.0703 11.0684 10.8752C11.6533 10.594 12.2733 10.2876 12.918 10.008V6.38785H15.7823V9.08414C16.6423 8.90981 17.6005 8.80628 18.708 8.80484L18.7119 11.6691C17.5478 11.6706 16.6096 11.8073 15.7823 12.0255V14.9503C15.7823 15.3762 15.8725 15.5709 15.9287 15.6564C15.9827 15.7384 16.0816 15.8371 16.3135 15.9337C16.8534 16.1586 17.7037 16.2204 18.9453 16.2238C19.6618 14.896 20.0887 13.3489 20.1309 11.8214C20.1545 10.9724 20.155 8.19654 17.96 5.91519C16.5592 4.45958 14.4443 3.40841 11.2149 3.41226Z",
|
|
@@ -23711,7 +23796,7 @@ function TuttiIcon(props) {
|
|
|
23711
23796
|
);
|
|
23712
23797
|
}
|
|
23713
23798
|
function TaskBreakdownIcon(props) {
|
|
23714
|
-
return /* @__PURE__ */
|
|
23799
|
+
return /* @__PURE__ */ jsx37(
|
|
23715
23800
|
"svg",
|
|
23716
23801
|
{
|
|
23717
23802
|
width: "24",
|
|
@@ -23720,7 +23805,7 @@ function TaskBreakdownIcon(props) {
|
|
|
23720
23805
|
fill: "none",
|
|
23721
23806
|
xmlns: "http://www.w3.org/2000/svg",
|
|
23722
23807
|
...props,
|
|
23723
|
-
children: /* @__PURE__ */
|
|
23808
|
+
children: /* @__PURE__ */ jsx37(
|
|
23724
23809
|
"path",
|
|
23725
23810
|
{
|
|
23726
23811
|
d: "M8.29297 14.793C8.68349 14.4025 9.31651 14.4025 9.70703 14.793C10.0976 15.1835 10.0976 15.8166 9.70703 16.2071L5.70703 20.2071C5.31651 20.5976 4.68349 20.5976 4.29297 20.2071L2.29297 18.2071C1.90244 17.8166 1.90244 17.1836 2.29297 16.793C2.68349 16.4025 3.31651 16.4025 3.70703 16.793L5 18.086L8.29297 14.793ZM21 18.0001C21.5523 18.0001 22 18.4478 22 19.0001C22 19.5524 21.5523 20.0001 21 20.0001H13C12.4477 20.0001 12 19.5524 12 19.0001C12 18.4478 12.4477 18.0001 13 18.0001H21ZM21 11C21.5523 11 22 11.4478 22 12C22 12.5523 21.5523 13 21 13H13C12.4477 13 12 12.5523 12 12C12 11.4478 12.4477 11 13 11H21ZM8 3.5C9.10457 3.5 10 4.39543 10 5.50001V9.50003C10 10.6046 9.10457 11.5 8 11.5H4C2.89543 11.5 2 10.6046 2 9.50003V5.50001C2 4.39543 2.89543 3.5 4 3.5H8ZM4 9.50003H8V5.50001H4V9.50003ZM21 4C21.5523 4 22 4.44772 22 5.00001C22 5.55229 21.5523 6.00001 21 6.00001H13C12.4477 6.00001 12 5.55229 12 5.00001C12 4.44772 12.4477 4 13 4H21Z",
|
|
@@ -23731,7 +23816,7 @@ function TaskBreakdownIcon(props) {
|
|
|
23731
23816
|
);
|
|
23732
23817
|
}
|
|
23733
23818
|
function BattleIcon(props) {
|
|
23734
|
-
return /* @__PURE__ */
|
|
23819
|
+
return /* @__PURE__ */ jsx37(
|
|
23735
23820
|
"svg",
|
|
23736
23821
|
{
|
|
23737
23822
|
width: "24",
|
|
@@ -23740,7 +23825,7 @@ function BattleIcon(props) {
|
|
|
23740
23825
|
fill: "none",
|
|
23741
23826
|
xmlns: "http://www.w3.org/2000/svg",
|
|
23742
23827
|
...props,
|
|
23743
|
-
children: /* @__PURE__ */
|
|
23828
|
+
children: /* @__PURE__ */ jsx37(
|
|
23744
23829
|
"path",
|
|
23745
23830
|
{
|
|
23746
23831
|
d: "M4.29297 13.293C4.68349 12.9024 5.31651 12.9024 5.70703 13.293L9.70703 17.293C10.0976 17.6835 10.0976 18.3165 9.70703 18.707C9.31651 19.0976 8.68349 19.0976 8.29297 18.707L7.5 17.9141L5.41406 20L5.70703 20.293C6.09756 20.6835 6.09756 21.3165 5.70703 21.707C5.31651 22.0976 4.68349 22.0976 4.29297 21.707L2.29297 19.707C1.90244 19.3165 1.90244 18.6835 2.29297 18.293C2.68349 17.9024 3.31651 17.9024 3.70703 18.293L4 18.5859L6.08594 16.5L4.29297 14.707C3.90244 14.3165 3.90244 13.6835 4.29297 13.293ZM6 2C6.26522 2 6.51949 2.10543 6.70703 2.29297L17.5 13.0859L18.293 12.293C18.6835 11.9024 19.3165 11.9024 19.707 12.293C20.0976 12.6835 20.0976 13.3165 19.707 13.707L17.4141 16L20 18.5859L20.293 18.293C20.6835 17.9024 21.3165 17.9024 21.707 18.293C22.0976 18.6835 22.0976 19.3165 21.707 19.707L19.707 21.707C19.3165 22.0976 18.6835 22.0976 18.293 21.707C17.9024 21.3165 17.9024 20.6835 18.293 20.293L18.5859 20L16 17.4141L13.707 19.707C13.3165 20.0976 12.6835 20.0976 12.293 19.707C11.9024 19.3165 11.9024 18.6835 12.293 18.293L13.0859 17.5L2.29297 6.70703C2.10543 6.51949 2 6.26522 2 6V3C2 2.44772 2.44772 2 3 2H6ZM4 5.58594L14.5 16.0859L16.0859 14.5L5.58594 4H4V5.58594ZM21 2C21.5523 2 22 2.44772 22 3V6C22 6.26522 21.8946 6.51949 21.707 6.70703L18.207 10.207C17.8165 10.5976 17.1835 10.5976 16.793 10.207C16.4024 9.81651 16.4024 9.18349 16.793 8.79297L20 5.58594V4H18.4141L15.207 7.20703C14.8165 7.59756 14.1835 7.59756 13.793 7.20703C13.4024 6.81651 13.4024 6.18349 13.793 5.79297L17.293 2.29297L17.3662 2.22656C17.5442 2.08073 17.7679 2 18 2H21Z",
|
|
@@ -23751,7 +23836,7 @@ function BattleIcon(props) {
|
|
|
23751
23836
|
);
|
|
23752
23837
|
}
|
|
23753
23838
|
function QualityReviewIcon(props) {
|
|
23754
|
-
return /* @__PURE__ */
|
|
23839
|
+
return /* @__PURE__ */ jsx37(
|
|
23755
23840
|
"svg",
|
|
23756
23841
|
{
|
|
23757
23842
|
width: "24",
|
|
@@ -23760,7 +23845,7 @@ function QualityReviewIcon(props) {
|
|
|
23760
23845
|
fill: "none",
|
|
23761
23846
|
xmlns: "http://www.w3.org/2000/svg",
|
|
23762
23847
|
...props,
|
|
23763
|
-
children: /* @__PURE__ */
|
|
23848
|
+
children: /* @__PURE__ */ jsx37(
|
|
23764
23849
|
"path",
|
|
23765
23850
|
{
|
|
23766
23851
|
d: "M20 2C20.7957 2 21.5585 2.3163 22.1211 2.87891C22.6837 3.44152 23 4.20435 23 5V17C23 17.7957 22.6837 18.5585 22.1211 19.1211C21.5585 19.6837 20.7957 20 20 20H6.82812C6.56296 20.0001 6.30857 20.1054 6.12109 20.293L3.91895 22.4951C3.6799 22.7341 3.37545 22.8969 3.04395 22.9629C2.71233 23.0288 2.36805 22.9956 2.05566 22.8662C1.74327 22.7368 1.47598 22.5174 1.28809 22.2363C1.10019 21.9552 1.00004 21.6243 1 21.2861V5C1 4.20435 1.3163 3.44152 1.87891 2.87891C2.44152 2.3163 3.20435 2 4 2H20ZM4 4C3.73478 4 3.4805 4.10543 3.29297 4.29297C3.10543 4.4805 3 4.73478 3 5V20.5859L4.70703 18.8789L4.92676 18.6797C5.46048 18.2422 6.13198 18.0001 6.82812 18H20C20.2652 18 20.5195 17.8946 20.707 17.707C20.8946 17.5195 21 17.2652 21 17V5C21 4.73478 20.8946 4.48051 20.707 4.29297C20.5195 4.10543 20.2652 4 20 4H4ZM9.29297 7.29297C9.68349 6.90244 10.3165 6.90244 10.707 7.29297C11.0976 7.68349 11.0976 8.31651 10.707 8.70703L8.41406 11L10.707 13.293C11.0976 13.6835 11.0976 14.3165 10.707 14.707C10.3165 15.0976 9.68349 15.0976 9.29297 14.707L6.29297 11.707C5.90244 11.3165 5.90244 10.6835 6.29297 10.293L9.29297 7.29297ZM13.293 7.29297C13.6835 6.90244 14.3165 6.90244 14.707 7.29297L17.707 10.293C18.0976 10.6835 18.0976 11.3165 17.707 11.707L14.707 14.707C14.3165 15.0976 13.6835 15.0976 13.293 14.707C12.9024 14.3165 12.9024 13.6835 13.293 13.293L15.5859 11L13.293 8.70703C12.9024 8.31651 12.9024 7.68349 13.293 7.29297Z",
|
|
@@ -23807,7 +23892,7 @@ var AgentHomeSuggestions = memo2(function AgentHomeSuggestions2({
|
|
|
23807
23892
|
) ?? null;
|
|
23808
23893
|
const ActiveCategoryIcon = activeCategory?.icon ? CATEGORY_ICON[activeCategory.icon] : null;
|
|
23809
23894
|
return /* @__PURE__ */ jsxs26("div", { className: AgentGUINode_styles_default.emptyHeroSuggestions, children: [
|
|
23810
|
-
/* @__PURE__ */
|
|
23895
|
+
/* @__PURE__ */ jsx37("div", { className: AgentGUINode_styles_default.emptyHeroSuggestionsChips, children: categories.map((category) => {
|
|
23811
23896
|
const Icon = category.icon ? CATEGORY_ICON[category.icon] : null;
|
|
23812
23897
|
const direct = isDirectCategory(category);
|
|
23813
23898
|
const isActive = !direct && category.id === activeCategory?.id;
|
|
@@ -23832,14 +23917,14 @@ var AgentHomeSuggestions = memo2(function AgentHomeSuggestions2({
|
|
|
23832
23917
|
);
|
|
23833
23918
|
},
|
|
23834
23919
|
children: [
|
|
23835
|
-
Icon ? /* @__PURE__ */
|
|
23920
|
+
Icon ? /* @__PURE__ */ jsx37(
|
|
23836
23921
|
Icon,
|
|
23837
23922
|
{
|
|
23838
23923
|
className: AgentGUINode_styles_default.emptyHeroSuggestionsChipIcon,
|
|
23839
23924
|
"aria-hidden": true
|
|
23840
23925
|
}
|
|
23841
23926
|
) : null,
|
|
23842
|
-
/* @__PURE__ */
|
|
23927
|
+
/* @__PURE__ */ jsx37("span", { children: category.label })
|
|
23843
23928
|
]
|
|
23844
23929
|
},
|
|
23845
23930
|
category.id
|
|
@@ -23848,7 +23933,7 @@ var AgentHomeSuggestions = memo2(function AgentHomeSuggestions2({
|
|
|
23848
23933
|
activeCategory ? /* @__PURE__ */ jsxs26("div", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCard, children: [
|
|
23849
23934
|
/* @__PURE__ */ jsxs26("div", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCardHeader, children: [
|
|
23850
23935
|
/* @__PURE__ */ jsxs26("span", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCardTitle, children: [
|
|
23851
|
-
ActiveCategoryIcon ? /* @__PURE__ */
|
|
23936
|
+
ActiveCategoryIcon ? /* @__PURE__ */ jsx37(
|
|
23852
23937
|
ActiveCategoryIcon,
|
|
23853
23938
|
{
|
|
23854
23939
|
className: AgentGUINode_styles_default.emptyHeroSuggestionsChipIcon,
|
|
@@ -23857,7 +23942,7 @@ var AgentHomeSuggestions = memo2(function AgentHomeSuggestions2({
|
|
|
23857
23942
|
) : null,
|
|
23858
23943
|
activeCategory.label
|
|
23859
23944
|
] }),
|
|
23860
|
-
/* @__PURE__ */
|
|
23945
|
+
/* @__PURE__ */ jsx37(
|
|
23861
23946
|
"button",
|
|
23862
23947
|
{
|
|
23863
23948
|
type: "button",
|
|
@@ -23865,11 +23950,11 @@ var AgentHomeSuggestions = memo2(function AgentHomeSuggestions2({
|
|
|
23865
23950
|
"aria-label": closeLabel,
|
|
23866
23951
|
title: closeLabel,
|
|
23867
23952
|
onClick: () => setActiveCategoryId(null),
|
|
23868
|
-
children: /* @__PURE__ */
|
|
23953
|
+
children: /* @__PURE__ */ jsx37(X5, { "aria-hidden": true })
|
|
23869
23954
|
}
|
|
23870
23955
|
)
|
|
23871
23956
|
] }),
|
|
23872
|
-
activeCategory.items?.map((item) => /* @__PURE__ */
|
|
23957
|
+
activeCategory.items?.map((item) => /* @__PURE__ */ jsx37(
|
|
23873
23958
|
"button",
|
|
23874
23959
|
{
|
|
23875
23960
|
type: "button",
|
|
@@ -23917,7 +24002,7 @@ function createFallbackAgentGUIAgentAvatar(input) {
|
|
|
23917
24002
|
|
|
23918
24003
|
// agent-gui/agentGuiNode/view/AgentGUIEmptyHeroCarouselStage.tsx
|
|
23919
24004
|
import { Component as Component3 } from "react";
|
|
23920
|
-
import { jsx as
|
|
24005
|
+
import { jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
23921
24006
|
var AgentGUIEmptyHeroCarouselStage = class extends Component3 {
|
|
23922
24007
|
animationFrame = null;
|
|
23923
24008
|
layer = null;
|
|
@@ -23943,7 +24028,7 @@ var AgentGUIEmptyHeroCarouselStage = class extends Component3 {
|
|
|
23943
24028
|
} = this.props;
|
|
23944
24029
|
const hasCarousel = items.length > 1;
|
|
23945
24030
|
return /* @__PURE__ */ jsxs27("div", { ref: this.setStage, className: AgentGUINode_styles_default.emptyHeroCarouselStage, children: [
|
|
23946
|
-
hasCarousel ? /* @__PURE__ */
|
|
24031
|
+
hasCarousel ? /* @__PURE__ */ jsx38("div", { ref: this.setLayer, className: AgentGUINode_styles_default.emptyHeroCarouselLayer, children: /* @__PURE__ */ jsx38(
|
|
23947
24032
|
AgentGUIHeroAgentCarousel,
|
|
23948
24033
|
{
|
|
23949
24034
|
activeAgentTargetId,
|
|
@@ -24033,7 +24118,7 @@ var AgentGUIEmptyHeroCarouselStage = class extends Component3 {
|
|
|
24033
24118
|
};
|
|
24034
24119
|
|
|
24035
24120
|
// agent-gui/agentGuiNode/view/AgentGUIEmptyState.tsx
|
|
24036
|
-
import { Fragment as Fragment11, jsx as
|
|
24121
|
+
import { Fragment as Fragment11, jsx as jsx39, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
24037
24122
|
function resolveAgentGUIHeroIconUrl2(provider) {
|
|
24038
24123
|
const normalizedProvider = normalizeManagedAgentProvider(provider);
|
|
24039
24124
|
return MANAGED_AGENT_ICON_URLS[normalizedProvider] ?? MANAGED_AGENT_ICON_FALLBACK_URL;
|
|
@@ -24075,14 +24160,14 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
|
|
|
24075
24160
|
[agentTargets, provider, providerLabel, selectedAgentTarget]
|
|
24076
24161
|
);
|
|
24077
24162
|
const carouselMountedExternally = avatarPresentations.length > 1;
|
|
24078
|
-
return /* @__PURE__ */
|
|
24163
|
+
return /* @__PURE__ */ jsx39(
|
|
24079
24164
|
AgentGUIEmptyHeroCarouselStage,
|
|
24080
24165
|
{
|
|
24081
24166
|
activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
|
|
24082
24167
|
items: avatarPresentations,
|
|
24083
24168
|
onProviderSelect,
|
|
24084
24169
|
providerSelectLabel: labels.providerSwitchLabel,
|
|
24085
|
-
children: providerReadinessGate ? /* @__PURE__ */
|
|
24170
|
+
children: providerReadinessGate ? /* @__PURE__ */ jsx39(
|
|
24086
24171
|
AgentGUIProviderReadinessGatePane,
|
|
24087
24172
|
{
|
|
24088
24173
|
provider,
|
|
@@ -24098,7 +24183,7 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
|
|
|
24098
24183
|
selectedAgentTarget,
|
|
24099
24184
|
labels
|
|
24100
24185
|
}
|
|
24101
|
-
) : /* @__PURE__ */
|
|
24186
|
+
) : /* @__PURE__ */ jsx39(
|
|
24102
24187
|
AgentGUIEmptyHeroPane,
|
|
24103
24188
|
{
|
|
24104
24189
|
...heroProps,
|
|
@@ -24149,13 +24234,13 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
24149
24234
|
const heroIconAnimationKey = heroAvatarPresentations.map(
|
|
24150
24235
|
(avatar) => `${avatar.agentTargetId}:${avatar.iconUrl}:${avatar.badge?.iconUrl ?? ""}`
|
|
24151
24236
|
).join("|");
|
|
24152
|
-
return /* @__PURE__ */
|
|
24153
|
-
/* @__PURE__ */
|
|
24237
|
+
return /* @__PURE__ */ jsx39("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs28("div", { className: AgentGUINode_styles_default.emptyHeroBody, children: [
|
|
24238
|
+
/* @__PURE__ */ jsx39(
|
|
24154
24239
|
"div",
|
|
24155
24240
|
{
|
|
24156
24241
|
className: AgentGUINode_styles_default.emptyHeroIconSlot,
|
|
24157
24242
|
"data-carousel-placeholder": carouselMountedExternally || void 0,
|
|
24158
|
-
children: carouselMountedExternally ? null : heroAvatarPresentations.length > 1 ? /* @__PURE__ */
|
|
24243
|
+
children: carouselMountedExternally ? null : heroAvatarPresentations.length > 1 ? /* @__PURE__ */ jsx39(
|
|
24159
24244
|
AgentGUIHeroAgentCarousel,
|
|
24160
24245
|
{
|
|
24161
24246
|
activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
|
|
@@ -24163,7 +24248,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
24163
24248
|
onProviderSelect,
|
|
24164
24249
|
providerSelectLabel
|
|
24165
24250
|
}
|
|
24166
|
-
) : /* @__PURE__ */
|
|
24251
|
+
) : /* @__PURE__ */ jsx39(
|
|
24167
24252
|
AgentGUIAgentAvatarVisual,
|
|
24168
24253
|
{
|
|
24169
24254
|
className: AgentGUINode_styles_default.emptyHeroIconEffect,
|
|
@@ -24173,7 +24258,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
24173
24258
|
)
|
|
24174
24259
|
}
|
|
24175
24260
|
),
|
|
24176
|
-
/* @__PURE__ */
|
|
24261
|
+
/* @__PURE__ */ jsx39("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx39(
|
|
24177
24262
|
EmptyHeroTitle,
|
|
24178
24263
|
{
|
|
24179
24264
|
label: emptyLabel,
|
|
@@ -24184,7 +24269,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
24184
24269
|
onProviderSelect
|
|
24185
24270
|
}
|
|
24186
24271
|
) }),
|
|
24187
|
-
inlineNoticeChrome ? /* @__PURE__ */
|
|
24272
|
+
inlineNoticeChrome ? /* @__PURE__ */ jsx39(
|
|
24188
24273
|
AgentSessionChrome,
|
|
24189
24274
|
{
|
|
24190
24275
|
chrome: inlineNoticeChrome,
|
|
@@ -24196,8 +24281,8 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
24196
24281
|
labels: chromeLabels
|
|
24197
24282
|
}
|
|
24198
24283
|
) : null,
|
|
24199
|
-
/* @__PURE__ */
|
|
24200
|
-
/* @__PURE__ */
|
|
24284
|
+
/* @__PURE__ */ jsx39(AgentComposer, { ...composerProps }),
|
|
24285
|
+
/* @__PURE__ */ jsx39(
|
|
24201
24286
|
AgentHomeSuggestions,
|
|
24202
24287
|
{
|
|
24203
24288
|
categories: suggestions,
|
|
@@ -24239,20 +24324,20 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
24239
24324
|
const titleLabel = gate.status === "not_installed" || gate.status === "auth_required" ? emptyLabel : content.title;
|
|
24240
24325
|
const action = providerGateAction(gate.status);
|
|
24241
24326
|
const pendingLabel = pendingAction === "install" ? labels.providerGatePendingInstall : pendingAction === "login" ? labels.providerGatePendingLogin : pendingAction === "refresh" ? labels.providerGatePendingRefresh : null;
|
|
24242
|
-
return /* @__PURE__ */
|
|
24327
|
+
return /* @__PURE__ */ jsx39("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs28(
|
|
24243
24328
|
"div",
|
|
24244
24329
|
{
|
|
24245
24330
|
className: cn4(AgentGUINode_styles_default.emptyHeroBody, AgentGUINode_styles_default.emptyProviderGate),
|
|
24246
24331
|
"data-testid": "agent-gui-provider-readiness-gate",
|
|
24247
24332
|
role: "status",
|
|
24248
24333
|
children: [
|
|
24249
|
-
carouselMountedExternally ? /* @__PURE__ */
|
|
24334
|
+
carouselMountedExternally ? /* @__PURE__ */ jsx39(
|
|
24250
24335
|
"div",
|
|
24251
24336
|
{
|
|
24252
24337
|
"aria-hidden": "true",
|
|
24253
24338
|
className: AgentGUINode_styles_default.emptyHeroCarouselPlaceholder
|
|
24254
24339
|
}
|
|
24255
|
-
) : heroAvatarPresentations.length > 1 ? /* @__PURE__ */
|
|
24340
|
+
) : heroAvatarPresentations.length > 1 ? /* @__PURE__ */ jsx39(
|
|
24256
24341
|
AgentGUIHeroAgentCarousel,
|
|
24257
24342
|
{
|
|
24258
24343
|
activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
|
|
@@ -24260,14 +24345,14 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
24260
24345
|
onProviderSelect,
|
|
24261
24346
|
providerSelectLabel
|
|
24262
24347
|
}
|
|
24263
|
-
) : /* @__PURE__ */
|
|
24348
|
+
) : /* @__PURE__ */ jsx39(
|
|
24264
24349
|
AgentGUIAgentAvatarVisual,
|
|
24265
24350
|
{
|
|
24266
24351
|
className: AgentGUINode_styles_default.emptyHeroIconEffect,
|
|
24267
24352
|
presentation: heroAvatarPresentations[0]
|
|
24268
24353
|
}
|
|
24269
24354
|
),
|
|
24270
|
-
/* @__PURE__ */
|
|
24355
|
+
/* @__PURE__ */ jsx39("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx39(
|
|
24271
24356
|
EmptyHeroTitle,
|
|
24272
24357
|
{
|
|
24273
24358
|
label: titleLabel,
|
|
@@ -24278,8 +24363,8 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
24278
24363
|
onProviderSelect
|
|
24279
24364
|
}
|
|
24280
24365
|
) }),
|
|
24281
|
-
/* @__PURE__ */
|
|
24282
|
-
pendingLabel && !action ? /* @__PURE__ */
|
|
24366
|
+
/* @__PURE__ */ jsx39("p", { className: AgentGUINode_styles_default.emptyProviderGateDescription, children: content.description }),
|
|
24367
|
+
pendingLabel && !action ? /* @__PURE__ */ jsx39(
|
|
24283
24368
|
"div",
|
|
24284
24369
|
{
|
|
24285
24370
|
className: AgentGUINode_styles_default.emptyProviderGateStatus,
|
|
@@ -24287,7 +24372,7 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
24287
24372
|
children: pendingLabel
|
|
24288
24373
|
}
|
|
24289
24374
|
) : null,
|
|
24290
|
-
action ? /* @__PURE__ */
|
|
24375
|
+
action ? /* @__PURE__ */ jsx39(
|
|
24291
24376
|
Button,
|
|
24292
24377
|
{
|
|
24293
24378
|
type: "button",
|
|
@@ -24306,7 +24391,7 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
24306
24391
|
},
|
|
24307
24392
|
children: isPending && pendingLabel ? pendingLabel : content.actionLabel
|
|
24308
24393
|
}
|
|
24309
|
-
) : content.actionLabel ? /* @__PURE__ */
|
|
24394
|
+
) : content.actionLabel ? /* @__PURE__ */ jsx39(
|
|
24310
24395
|
Button,
|
|
24311
24396
|
{
|
|
24312
24397
|
type: "button",
|
|
@@ -24375,7 +24460,7 @@ function AgentGUIUnifiedProviderIcon({
|
|
|
24375
24460
|
presentation
|
|
24376
24461
|
}) {
|
|
24377
24462
|
const iconUrl = presentation?.iconUrl?.trim() || agentColorfulUrl;
|
|
24378
|
-
return /* @__PURE__ */
|
|
24463
|
+
return /* @__PURE__ */ jsx39("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailAvatar, children: /* @__PURE__ */ jsx39(
|
|
24379
24464
|
"img",
|
|
24380
24465
|
{
|
|
24381
24466
|
alt: "",
|
|
@@ -24390,7 +24475,7 @@ function AgentGUIProviderIconVisual({
|
|
|
24390
24475
|
icon,
|
|
24391
24476
|
imageClassName
|
|
24392
24477
|
}) {
|
|
24393
|
-
return /* @__PURE__ */
|
|
24478
|
+
return /* @__PURE__ */ jsx39(
|
|
24394
24479
|
"img",
|
|
24395
24480
|
{
|
|
24396
24481
|
alt: "",
|
|
@@ -24413,7 +24498,7 @@ function AgentGUIAgentAvatarVisual({
|
|
|
24413
24498
|
className: cn4(AgentGUINode_styles_default.agentAvatar, className),
|
|
24414
24499
|
"data-agent-target-id": presentation.agentTargetId,
|
|
24415
24500
|
children: [
|
|
24416
|
-
/* @__PURE__ */
|
|
24501
|
+
/* @__PURE__ */ jsx39(
|
|
24417
24502
|
"img",
|
|
24418
24503
|
{
|
|
24419
24504
|
alt: "",
|
|
@@ -24422,7 +24507,7 @@ function AgentGUIAgentAvatarVisual({
|
|
|
24422
24507
|
src: presentation.iconUrl
|
|
24423
24508
|
}
|
|
24424
24509
|
),
|
|
24425
|
-
presentation.badge?.iconUrl ? /* @__PURE__ */
|
|
24510
|
+
presentation.badge?.iconUrl ? /* @__PURE__ */ jsx39("span", { className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx39(
|
|
24426
24511
|
"img",
|
|
24427
24512
|
{
|
|
24428
24513
|
alt: "",
|
|
@@ -24445,7 +24530,7 @@ function EmptyHeroTitle({
|
|
|
24445
24530
|
}) {
|
|
24446
24531
|
const providerStart = providerLabel ? label.indexOf(providerLabel) : -1;
|
|
24447
24532
|
if (!shouldEmphasizeEmptyHeroProvider(label) || providerStart < 0) {
|
|
24448
|
-
return /* @__PURE__ */
|
|
24533
|
+
return /* @__PURE__ */ jsx39(Fragment11, { children: label });
|
|
24449
24534
|
}
|
|
24450
24535
|
const providerEnd = providerStart + providerLabel.length;
|
|
24451
24536
|
const selectedAgentTargetId = selectedAgentTarget?.targetId ?? `local:${selectedAgentTarget?.provider ?? ""}`;
|
|
@@ -24470,28 +24555,28 @@ function EmptyHeroTitle({
|
|
|
24470
24555
|
});
|
|
24471
24556
|
},
|
|
24472
24557
|
children: [
|
|
24473
|
-
/* @__PURE__ */
|
|
24558
|
+
/* @__PURE__ */ jsx39(
|
|
24474
24559
|
SelectTrigger3,
|
|
24475
24560
|
{
|
|
24476
24561
|
size: "sm",
|
|
24477
24562
|
"aria-label": providerSelectLabel,
|
|
24478
24563
|
title: providerSelectLabel,
|
|
24479
24564
|
className: AgentGUINode_styles_default.emptyHeroProviderSelect,
|
|
24480
|
-
children: /* @__PURE__ */
|
|
24565
|
+
children: /* @__PURE__ */ jsx39("span", { className: AgentGUINode_styles_default.emptyHeroProvider, children: providerName })
|
|
24481
24566
|
}
|
|
24482
24567
|
),
|
|
24483
|
-
/* @__PURE__ */
|
|
24568
|
+
/* @__PURE__ */ jsx39(
|
|
24484
24569
|
SelectContent3,
|
|
24485
24570
|
{
|
|
24486
24571
|
align: "center",
|
|
24487
24572
|
className: cn4(AgentGUINode_styles_default.composerMenuContent, "min-w-[190px]"),
|
|
24488
|
-
children: agentTargets.map((target) => /* @__PURE__ */
|
|
24573
|
+
children: agentTargets.map((target) => /* @__PURE__ */ jsx39(
|
|
24489
24574
|
SelectItem3,
|
|
24490
24575
|
{
|
|
24491
24576
|
value: target.targetId,
|
|
24492
24577
|
className: cn4(AgentGUINode_styles_default.composerMenuItem, "gap-2"),
|
|
24493
24578
|
children: /* @__PURE__ */ jsxs28("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
24494
|
-
/* @__PURE__ */
|
|
24579
|
+
/* @__PURE__ */ jsx39(
|
|
24495
24580
|
"img",
|
|
24496
24581
|
{
|
|
24497
24582
|
alt: "",
|
|
@@ -24503,7 +24588,7 @@ function EmptyHeroTitle({
|
|
|
24503
24588
|
).iconUrl
|
|
24504
24589
|
}
|
|
24505
24590
|
),
|
|
24506
|
-
/* @__PURE__ */
|
|
24591
|
+
/* @__PURE__ */ jsx39("span", { className: "min-w-0 truncate", children: target.label })
|
|
24507
24592
|
] })
|
|
24508
24593
|
},
|
|
24509
24594
|
`${target.provider}:${target.targetId}`
|
|
@@ -24512,7 +24597,7 @@ function EmptyHeroTitle({
|
|
|
24512
24597
|
)
|
|
24513
24598
|
]
|
|
24514
24599
|
}
|
|
24515
|
-
) : /* @__PURE__ */
|
|
24600
|
+
) : /* @__PURE__ */ jsx39("span", { className: AgentGUINode_styles_default.emptyHeroProvider, children: providerName }),
|
|
24516
24601
|
label.slice(providerEnd)
|
|
24517
24602
|
] });
|
|
24518
24603
|
}
|
|
@@ -24532,7 +24617,7 @@ import {
|
|
|
24532
24617
|
DialogTitle,
|
|
24533
24618
|
toast as toast2
|
|
24534
24619
|
} from "@tutti-os/ui-system";
|
|
24535
|
-
import { jsx as
|
|
24620
|
+
import { jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
24536
24621
|
var AGENT_MANAGER_LONG_PRESS_MOVE_TOLERANCE_PX = 8;
|
|
24537
24622
|
var AGENT_MANAGER_DROP_HYSTERESIS_PX = 8;
|
|
24538
24623
|
function AgentGUIProviderManagerDialog({
|
|
@@ -24755,7 +24840,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24755
24840
|
};
|
|
24756
24841
|
const disabledDropBlocked = dragState?.source === "available" && (finalAvailableAgent || running.has(dragState.targetId));
|
|
24757
24842
|
const disabledDropBlockedByRunning = dragState?.source === "available" && running.has(dragState.targetId);
|
|
24758
|
-
return /* @__PURE__ */
|
|
24843
|
+
return /* @__PURE__ */ jsx40(Dialog, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs29(
|
|
24759
24844
|
DialogContent,
|
|
24760
24845
|
{
|
|
24761
24846
|
className: "nodrag tsh-desktop-no-drag flex max-h-[min(680px,calc(100vh-32px))] flex-col gap-0 overflow-hidden p-0 [-webkit-app-region:no-drag] sm:max-w-[520px]",
|
|
@@ -24771,8 +24856,8 @@ function AgentGUIProviderManagerDialog({
|
|
|
24771
24856
|
},
|
|
24772
24857
|
children: [
|
|
24773
24858
|
/* @__PURE__ */ jsxs29(DialogHeader, { className: "shrink-0 border-b border-[var(--border-1)] px-5 py-4", children: [
|
|
24774
|
-
/* @__PURE__ */
|
|
24775
|
-
/* @__PURE__ */
|
|
24859
|
+
/* @__PURE__ */ jsx40(DialogTitle, { children: labels.manageAgentsTitle }),
|
|
24860
|
+
/* @__PURE__ */ jsx40(DialogDescription, { children: labels.manageAgentsDescription })
|
|
24776
24861
|
] }),
|
|
24777
24862
|
/* @__PURE__ */ jsxs29(
|
|
24778
24863
|
"div",
|
|
@@ -24790,7 +24875,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24790
24875
|
onDragOver: (event) => dragOverDropZone(event, "available"),
|
|
24791
24876
|
onDrop: (event) => dropIntoZone(event, "available"),
|
|
24792
24877
|
children: [
|
|
24793
|
-
/* @__PURE__ */
|
|
24878
|
+
/* @__PURE__ */ jsx40(
|
|
24794
24879
|
"h3",
|
|
24795
24880
|
{
|
|
24796
24881
|
className: "mb-3 text-[12px] font-medium text-[var(--text-secondary)]",
|
|
@@ -24798,7 +24883,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24798
24883
|
children: labels.manageAgentsAvailable
|
|
24799
24884
|
}
|
|
24800
24885
|
),
|
|
24801
|
-
availableTargets.length > 0 ? /* @__PURE__ */
|
|
24886
|
+
availableTargets.length > 0 ? /* @__PURE__ */ jsx40(
|
|
24802
24887
|
"div",
|
|
24803
24888
|
{
|
|
24804
24889
|
"aria-label": labels.manageAgentsAvailable,
|
|
@@ -24846,7 +24931,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24846
24931
|
role: "listitem",
|
|
24847
24932
|
tabIndex: 0,
|
|
24848
24933
|
children: [
|
|
24849
|
-
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */
|
|
24934
|
+
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */ jsx40(
|
|
24850
24935
|
"span",
|
|
24851
24936
|
{
|
|
24852
24937
|
"aria-hidden": "true",
|
|
@@ -24855,7 +24940,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24855
24940
|
"data-testid": "agent-gui-provider-manager-drop-indicator"
|
|
24856
24941
|
}
|
|
24857
24942
|
) : null,
|
|
24858
|
-
editing ? /* @__PURE__ */
|
|
24943
|
+
editing ? /* @__PURE__ */ jsx40(
|
|
24859
24944
|
Button4,
|
|
24860
24945
|
{
|
|
24861
24946
|
"aria-label": labels.removeAgentFromSidebar(label),
|
|
@@ -24873,10 +24958,10 @@ function AgentGUIProviderManagerDialog({
|
|
|
24873
24958
|
title: targetRunning ? labels.manageAgentsRunningBlocked(label) : finalAvailableAgent ? labels.manageAgentsKeepOneAvailable : void 0,
|
|
24874
24959
|
type: "button",
|
|
24875
24960
|
variant: "ghost",
|
|
24876
|
-
children: /* @__PURE__ */
|
|
24961
|
+
children: /* @__PURE__ */ jsx40(CircleMinus, { "aria-hidden": "true", className: "size-4" })
|
|
24877
24962
|
}
|
|
24878
24963
|
) : null,
|
|
24879
|
-
/* @__PURE__ */
|
|
24964
|
+
/* @__PURE__ */ jsx40(
|
|
24880
24965
|
AgentGUIProviderIconVisual,
|
|
24881
24966
|
{
|
|
24882
24967
|
ariaHidden: true,
|
|
@@ -24887,14 +24972,14 @@ function AgentGUIProviderManagerDialog({
|
|
|
24887
24972
|
imageClassName: "size-9 shrink-0 rounded-[9px] object-cover"
|
|
24888
24973
|
}
|
|
24889
24974
|
),
|
|
24890
|
-
/* @__PURE__ */
|
|
24975
|
+
/* @__PURE__ */ jsx40("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-primary)]", children: label })
|
|
24891
24976
|
]
|
|
24892
24977
|
},
|
|
24893
24978
|
target.targetId
|
|
24894
24979
|
);
|
|
24895
24980
|
})
|
|
24896
24981
|
}
|
|
24897
|
-
) : /* @__PURE__ */
|
|
24982
|
+
) : /* @__PURE__ */ jsx40("p", { className: "rounded-[8px] bg-[var(--transparency-block)] px-3 py-4 text-center text-[12px] text-[var(--text-tertiary)]", children: labels.manageAgentsNoAvailable })
|
|
24898
24983
|
]
|
|
24899
24984
|
}
|
|
24900
24985
|
),
|
|
@@ -24914,7 +24999,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24914
24999
|
)?.label ?? ""
|
|
24915
25000
|
) : labels.manageAgentsKeepOneAvailable : void 0,
|
|
24916
25001
|
children: [
|
|
24917
|
-
/* @__PURE__ */
|
|
25002
|
+
/* @__PURE__ */ jsx40(
|
|
24918
25003
|
"h3",
|
|
24919
25004
|
{
|
|
24920
25005
|
className: "mb-3 text-[12px] font-medium text-[var(--text-secondary)]",
|
|
@@ -24922,7 +25007,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24922
25007
|
children: labels.manageAgentsDisabled
|
|
24923
25008
|
}
|
|
24924
25009
|
),
|
|
24925
|
-
disabledTargets.length > 0 ? /* @__PURE__ */
|
|
25010
|
+
disabledTargets.length > 0 ? /* @__PURE__ */ jsx40(
|
|
24926
25011
|
"div",
|
|
24927
25012
|
{
|
|
24928
25013
|
"aria-label": labels.manageAgentsDisabled,
|
|
@@ -24968,7 +25053,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24968
25053
|
role: "listitem",
|
|
24969
25054
|
tabIndex: 0,
|
|
24970
25055
|
children: [
|
|
24971
|
-
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */
|
|
25056
|
+
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */ jsx40(
|
|
24972
25057
|
"span",
|
|
24973
25058
|
{
|
|
24974
25059
|
"aria-hidden": "true",
|
|
@@ -24977,7 +25062,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24977
25062
|
"data-testid": "agent-gui-provider-manager-drop-indicator"
|
|
24978
25063
|
}
|
|
24979
25064
|
) : null,
|
|
24980
|
-
editing ? /* @__PURE__ */
|
|
25065
|
+
editing ? /* @__PURE__ */ jsx40(
|
|
24981
25066
|
Button4,
|
|
24982
25067
|
{
|
|
24983
25068
|
"aria-label": labels.addAgentToSidebar(label),
|
|
@@ -24989,10 +25074,10 @@ function AgentGUIProviderManagerDialog({
|
|
|
24989
25074
|
size: "icon-xs",
|
|
24990
25075
|
type: "button",
|
|
24991
25076
|
variant: "ghost",
|
|
24992
|
-
children: /* @__PURE__ */
|
|
25077
|
+
children: /* @__PURE__ */ jsx40(CirclePlus, { "aria-hidden": "true", className: "size-4" })
|
|
24993
25078
|
}
|
|
24994
25079
|
) : null,
|
|
24995
|
-
/* @__PURE__ */
|
|
25080
|
+
/* @__PURE__ */ jsx40(
|
|
24996
25081
|
AgentGUIProviderIconVisual,
|
|
24997
25082
|
{
|
|
24998
25083
|
ariaHidden: true,
|
|
@@ -25003,14 +25088,14 @@ function AgentGUIProviderManagerDialog({
|
|
|
25003
25088
|
imageClassName: "size-9 shrink-0 rounded-[9px] object-cover opacity-70 grayscale-[0.25]"
|
|
25004
25089
|
}
|
|
25005
25090
|
),
|
|
25006
|
-
/* @__PURE__ */
|
|
25091
|
+
/* @__PURE__ */ jsx40("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-secondary)]", children: label })
|
|
25007
25092
|
]
|
|
25008
25093
|
},
|
|
25009
25094
|
target.targetId
|
|
25010
25095
|
);
|
|
25011
25096
|
})
|
|
25012
25097
|
}
|
|
25013
|
-
) : /* @__PURE__ */
|
|
25098
|
+
) : /* @__PURE__ */ jsx40("p", { className: "flex min-h-[72px] items-center justify-center rounded-[8px] border border-dashed border-[var(--border-1)] px-3 py-4 text-center text-[12px] text-[var(--text-tertiary)]", children: labels.manageAgentsNoDisabled })
|
|
25014
25099
|
]
|
|
25015
25100
|
}
|
|
25016
25101
|
)
|
|
@@ -25073,7 +25158,7 @@ function useAgentGUIProviderRailPreferences() {
|
|
|
25073
25158
|
}
|
|
25074
25159
|
|
|
25075
25160
|
// agent-gui/agentGuiNode/view/AgentGUIProviderRail.tsx
|
|
25076
|
-
import { jsx as
|
|
25161
|
+
import { jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
25077
25162
|
var agentGUIProviderRailCatalog = [
|
|
25078
25163
|
...migratedAgentGUIProviderIdentityCatalog
|
|
25079
25164
|
].sort((left, right) => left.target.sortOrder - right.target.sortOrder);
|
|
@@ -25481,7 +25566,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25481
25566
|
},
|
|
25482
25567
|
[dragState, previewMode, agentTargetsLoading, setProviderRailDragState]
|
|
25483
25568
|
);
|
|
25484
|
-
const providerManagerDialog = /* @__PURE__ */
|
|
25569
|
+
const providerManagerDialog = /* @__PURE__ */ jsx41(
|
|
25485
25570
|
AgentGUIProviderManagerDialog,
|
|
25486
25571
|
{
|
|
25487
25572
|
hiddenTargetIds: effectiveHiddenTargetIds,
|
|
@@ -25533,18 +25618,18 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25533
25618
|
disabled: previewMode,
|
|
25534
25619
|
onClick: selectAllProviders,
|
|
25535
25620
|
children: [
|
|
25536
|
-
/* @__PURE__ */
|
|
25621
|
+
/* @__PURE__ */ jsx41(
|
|
25537
25622
|
AgentGUIUnifiedProviderIcon,
|
|
25538
25623
|
{
|
|
25539
25624
|
presentation: providerRailAllPresentation
|
|
25540
25625
|
}
|
|
25541
25626
|
),
|
|
25542
|
-
/* @__PURE__ */
|
|
25627
|
+
/* @__PURE__ */ jsx41("span", { className: AgentGUINode_styles_default.providerRailTileLabel, children: labels.conversationFilterAll })
|
|
25543
25628
|
]
|
|
25544
25629
|
}
|
|
25545
25630
|
),
|
|
25546
|
-
/* @__PURE__ */
|
|
25547
|
-
agentTargetsLoading ? [0, 1, 2].map((index) => /* @__PURE__ */
|
|
25631
|
+
/* @__PURE__ */ jsx41("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailSeparator }),
|
|
25632
|
+
agentTargetsLoading ? [0, 1, 2].map((index) => /* @__PURE__ */ jsx41(
|
|
25548
25633
|
"button",
|
|
25549
25634
|
{
|
|
25550
25635
|
type: "button",
|
|
@@ -25554,7 +25639,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25554
25639
|
"data-loading": "true",
|
|
25555
25640
|
"data-selected": "false",
|
|
25556
25641
|
disabled: true,
|
|
25557
|
-
children: /* @__PURE__ */
|
|
25642
|
+
children: /* @__PURE__ */ jsx41(
|
|
25558
25643
|
"span",
|
|
25559
25644
|
{
|
|
25560
25645
|
"aria-hidden": "true",
|
|
@@ -25577,7 +25662,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25577
25662
|
label,
|
|
25578
25663
|
target.badge?.label
|
|
25579
25664
|
);
|
|
25580
|
-
const tile = /* @__PURE__ */
|
|
25665
|
+
const tile = /* @__PURE__ */ jsx41(
|
|
25581
25666
|
"button",
|
|
25582
25667
|
{
|
|
25583
25668
|
type: "button",
|
|
@@ -25598,7 +25683,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25598
25683
|
onDragOver: (event) => handleProviderRailDragOver(event, target),
|
|
25599
25684
|
onDragStart: (event) => handleProviderRailDragStart(event, target),
|
|
25600
25685
|
children: /* @__PURE__ */ jsxs30("span", { className: AgentGUINode_styles_default.providerRailAvatar, children: [
|
|
25601
|
-
/* @__PURE__ */
|
|
25686
|
+
/* @__PURE__ */ jsx41(
|
|
25602
25687
|
AgentGUIProviderIconVisual,
|
|
25603
25688
|
{
|
|
25604
25689
|
ariaHidden: true,
|
|
@@ -25609,7 +25694,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25609
25694
|
)
|
|
25610
25695
|
}
|
|
25611
25696
|
),
|
|
25612
|
-
target.badge?.iconUrl ? /* @__PURE__ */
|
|
25697
|
+
target.badge?.iconUrl ? /* @__PURE__ */ jsx41("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx41(
|
|
25613
25698
|
"img",
|
|
25614
25699
|
{
|
|
25615
25700
|
alt: "",
|
|
@@ -25625,9 +25710,9 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25625
25710
|
if (previewMode) {
|
|
25626
25711
|
return tile;
|
|
25627
25712
|
}
|
|
25628
|
-
return /* @__PURE__ */ jsxs30(
|
|
25629
|
-
/* @__PURE__ */
|
|
25630
|
-
/* @__PURE__ */
|
|
25713
|
+
return /* @__PURE__ */ jsxs30(Tooltip6, { children: [
|
|
25714
|
+
/* @__PURE__ */ jsx41(TooltipTrigger6, { asChild: true, children: tile }),
|
|
25715
|
+
/* @__PURE__ */ jsx41(TooltipContent6, { side: "right", sideOffset: -4, children: label })
|
|
25631
25716
|
] }, `${target.provider}:${target.targetId}:tooltip`);
|
|
25632
25717
|
})
|
|
25633
25718
|
]
|
|
@@ -25671,7 +25756,7 @@ var styles3 = {
|
|
|
25671
25756
|
var RoomIssueNode_styles_default = styles3;
|
|
25672
25757
|
|
|
25673
25758
|
// agent-gui/RoomIssueNode/TaskSearchField.tsx
|
|
25674
|
-
import { jsx as
|
|
25759
|
+
import { jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
25675
25760
|
function TaskSearchField({
|
|
25676
25761
|
ariaLabel,
|
|
25677
25762
|
className,
|
|
@@ -25691,7 +25776,7 @@ function TaskSearchField({
|
|
|
25691
25776
|
className: `${RoomIssueNode_styles_default.searchField} ${className ?? ""}`.trim(),
|
|
25692
25777
|
"data-has-value": searchInput.value ? "true" : "false",
|
|
25693
25778
|
children: [
|
|
25694
|
-
/* @__PURE__ */
|
|
25779
|
+
/* @__PURE__ */ jsx42(
|
|
25695
25780
|
Input,
|
|
25696
25781
|
{
|
|
25697
25782
|
type: "search",
|
|
@@ -25714,7 +25799,7 @@ function TaskSearchField({
|
|
|
25714
25799
|
"data-testid": dataTestId
|
|
25715
25800
|
}
|
|
25716
25801
|
),
|
|
25717
|
-
searchInput.value ? /* @__PURE__ */
|
|
25802
|
+
searchInput.value ? /* @__PURE__ */ jsx42(
|
|
25718
25803
|
"button",
|
|
25719
25804
|
{
|
|
25720
25805
|
type: "button",
|
|
@@ -25722,7 +25807,7 @@ function TaskSearchField({
|
|
|
25722
25807
|
"aria-label": clearAriaLabel ?? t("common.clear"),
|
|
25723
25808
|
onMouseDown: (event) => event.preventDefault(),
|
|
25724
25809
|
onClick: searchInput.clearValue,
|
|
25725
|
-
children: /* @__PURE__ */
|
|
25810
|
+
children: /* @__PURE__ */ jsx42(CloseLinedIcon, { "aria-hidden": "true" })
|
|
25726
25811
|
}
|
|
25727
25812
|
) : null
|
|
25728
25813
|
]
|
|
@@ -25740,7 +25825,7 @@ function isTaskSearchImeComposing(event) {
|
|
|
25740
25825
|
}
|
|
25741
25826
|
|
|
25742
25827
|
// agent-gui/agentGuiNode/AgentConversationListSkeleton.tsx
|
|
25743
|
-
import { jsx as
|
|
25828
|
+
import { jsx as jsx43, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
25744
25829
|
var SKELETON_ROWS = [
|
|
25745
25830
|
{ id: "first", size: "long" },
|
|
25746
25831
|
{ id: "second", size: "medium" },
|
|
@@ -25752,7 +25837,7 @@ function AgentConversationListSkeleton({
|
|
|
25752
25837
|
label
|
|
25753
25838
|
}) {
|
|
25754
25839
|
"use memo";
|
|
25755
|
-
return /* @__PURE__ */
|
|
25840
|
+
return /* @__PURE__ */ jsx43(
|
|
25756
25841
|
"div",
|
|
25757
25842
|
{
|
|
25758
25843
|
className: "agent-gui-node__conversation-list-skeleton",
|
|
@@ -25766,9 +25851,9 @@ function AgentConversationListSkeleton({
|
|
|
25766
25851
|
"data-size": row.size,
|
|
25767
25852
|
"aria-hidden": "true",
|
|
25768
25853
|
children: [
|
|
25769
|
-
/* @__PURE__ */
|
|
25770
|
-
/* @__PURE__ */
|
|
25771
|
-
/* @__PURE__ */
|
|
25854
|
+
/* @__PURE__ */ jsx43("span", { className: "agent-gui-node__conversation-list-skeleton-spine" }),
|
|
25855
|
+
/* @__PURE__ */ jsx43("span", { className: "agent-gui-node__conversation-list-skeleton-rib agent-gui-node__conversation-list-skeleton-rib-primary" }),
|
|
25856
|
+
/* @__PURE__ */ jsx43("span", { className: "agent-gui-node__conversation-list-skeleton-rib agent-gui-node__conversation-list-skeleton-rib-secondary" })
|
|
25772
25857
|
]
|
|
25773
25858
|
},
|
|
25774
25859
|
row.id
|
|
@@ -25780,7 +25865,7 @@ function AgentConversationListSkeleton({
|
|
|
25780
25865
|
// agent-gui/agentGuiNode/agentGuiNodeViewConversation.tsx
|
|
25781
25866
|
import { Spinner as Spinner6 } from "@tutti-os/ui-system";
|
|
25782
25867
|
import { AskLinedIcon } from "@tutti-os/ui-system/icons";
|
|
25783
|
-
import { jsx as
|
|
25868
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
25784
25869
|
function ConversationMeta({
|
|
25785
25870
|
item,
|
|
25786
25871
|
nowMs,
|
|
@@ -25789,24 +25874,24 @@ function ConversationMeta({
|
|
|
25789
25874
|
"use memo";
|
|
25790
25875
|
const kind = conversationMetaKind(item);
|
|
25791
25876
|
if (kind === "loading") {
|
|
25792
|
-
return /* @__PURE__ */
|
|
25877
|
+
return /* @__PURE__ */ jsx44(
|
|
25793
25878
|
"span",
|
|
25794
25879
|
{
|
|
25795
25880
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
25796
25881
|
"data-kind": kind,
|
|
25797
25882
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
25798
|
-
children: /* @__PURE__ */
|
|
25883
|
+
children: /* @__PURE__ */ jsx44(LoadingGlyph, {})
|
|
25799
25884
|
}
|
|
25800
25885
|
);
|
|
25801
25886
|
}
|
|
25802
25887
|
if (kind === "waiting") {
|
|
25803
|
-
return /* @__PURE__ */
|
|
25888
|
+
return /* @__PURE__ */ jsx44(
|
|
25804
25889
|
"span",
|
|
25805
25890
|
{
|
|
25806
25891
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
25807
25892
|
"data-kind": kind,
|
|
25808
25893
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
25809
|
-
children: /* @__PURE__ */
|
|
25894
|
+
children: /* @__PURE__ */ jsx44(
|
|
25810
25895
|
AskLinedIcon,
|
|
25811
25896
|
{
|
|
25812
25897
|
"aria-hidden": "true",
|
|
@@ -25817,34 +25902,34 @@ function ConversationMeta({
|
|
|
25817
25902
|
);
|
|
25818
25903
|
}
|
|
25819
25904
|
if (kind === "failed") {
|
|
25820
|
-
return /* @__PURE__ */
|
|
25905
|
+
return /* @__PURE__ */ jsx44(
|
|
25821
25906
|
"span",
|
|
25822
25907
|
{
|
|
25823
25908
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
25824
25909
|
"data-kind": kind,
|
|
25825
25910
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
25826
|
-
children: /* @__PURE__ */
|
|
25911
|
+
children: /* @__PURE__ */ jsx44(AttentionGlyph, {})
|
|
25827
25912
|
}
|
|
25828
25913
|
);
|
|
25829
25914
|
}
|
|
25830
25915
|
if (kind === "unread-complete") {
|
|
25831
|
-
return /* @__PURE__ */
|
|
25916
|
+
return /* @__PURE__ */ jsx44(
|
|
25832
25917
|
"span",
|
|
25833
25918
|
{
|
|
25834
25919
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
25835
25920
|
"data-kind": kind,
|
|
25836
25921
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
25837
|
-
children: /* @__PURE__ */
|
|
25922
|
+
children: /* @__PURE__ */ jsx44("span", { className: AgentGUINode_styles_default.conversationUnreadLamp, "aria-hidden": "true" })
|
|
25838
25923
|
}
|
|
25839
25924
|
);
|
|
25840
25925
|
}
|
|
25841
|
-
return /* @__PURE__ */
|
|
25926
|
+
return /* @__PURE__ */ jsx44(
|
|
25842
25927
|
"span",
|
|
25843
25928
|
{
|
|
25844
25929
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
25845
25930
|
"data-kind": kind,
|
|
25846
25931
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
25847
|
-
children: /* @__PURE__ */
|
|
25932
|
+
children: /* @__PURE__ */ jsx44("span", { className: AgentGUINode_styles_default.conversationTime, children: formatConversationRelativeTime(
|
|
25848
25933
|
resolveAgentGUIConversationSortTimeUnixMs(item),
|
|
25849
25934
|
nowMs,
|
|
25850
25935
|
labels
|
|
@@ -26017,13 +26102,13 @@ function formatConversationRelativeTime(updatedAtUnixMs, nowMs, labels) {
|
|
|
26017
26102
|
}
|
|
26018
26103
|
function LoadingGlyph() {
|
|
26019
26104
|
"use memo";
|
|
26020
|
-
return /* @__PURE__ */
|
|
26105
|
+
return /* @__PURE__ */ jsx44(
|
|
26021
26106
|
Spinner6,
|
|
26022
26107
|
{
|
|
26023
26108
|
className: AgentGUINode_styles_default.conversationStatusGlyph,
|
|
26024
26109
|
size: 14,
|
|
26025
26110
|
style: { color: "var(--text-secondary)" },
|
|
26026
|
-
strokeWidth:
|
|
26111
|
+
strokeWidth: 2.25,
|
|
26027
26112
|
trackColor: "color-mix(in srgb, currentColor 24%, transparent)",
|
|
26028
26113
|
testId: "agent-gui-conversation-spinner"
|
|
26029
26114
|
}
|
|
@@ -26031,14 +26116,14 @@ function LoadingGlyph() {
|
|
|
26031
26116
|
}
|
|
26032
26117
|
function AttentionGlyph() {
|
|
26033
26118
|
"use memo";
|
|
26034
|
-
return /* @__PURE__ */
|
|
26119
|
+
return /* @__PURE__ */ jsx44(
|
|
26035
26120
|
"svg",
|
|
26036
26121
|
{
|
|
26037
26122
|
viewBox: "0 0 24 24",
|
|
26038
26123
|
fill: "none",
|
|
26039
26124
|
"aria-hidden": "true",
|
|
26040
26125
|
className: AgentGUINode_styles_default.conversationStatusGlyph,
|
|
26041
|
-
children: /* @__PURE__ */
|
|
26126
|
+
children: /* @__PURE__ */ jsx44(
|
|
26042
26127
|
"path",
|
|
26043
26128
|
{
|
|
26044
26129
|
d: "M12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2ZM12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4ZM12.5 15C12.7761 15 13 15.2239 13 15.5V16.5C13 16.7761 12.7761 17 12.5 17H11.5C11.2239 17 11 16.7761 11 16.5V15.5C11 15.2239 11.2239 15 11.5 15H12.5ZM12.5 7C12.7761 7 13 7.22386 13 7.5V13.5C13 13.7761 12.7761 14 12.5 14H11.5C11.2239 14 11 13.7761 11 13.5V7.5C11 7.22386 11.2239 7 11.5 7H12.5Z",
|
|
@@ -26424,9 +26509,9 @@ import {
|
|
|
26424
26509
|
DropdownMenuContent as DropdownMenuContent4,
|
|
26425
26510
|
DropdownMenuItem as DropdownMenuItem3,
|
|
26426
26511
|
DropdownMenuTrigger as DropdownMenuTrigger4,
|
|
26427
|
-
Tooltip as
|
|
26428
|
-
TooltipContent as
|
|
26429
|
-
TooltipTrigger as
|
|
26512
|
+
Tooltip as Tooltip7,
|
|
26513
|
+
TooltipContent as TooltipContent7,
|
|
26514
|
+
TooltipTrigger as TooltipTrigger7
|
|
26430
26515
|
} from "@tutti-os/ui-system";
|
|
26431
26516
|
import { BareIconButton as BareIconButton2 } from "@tutti-os/ui-system/components";
|
|
26432
26517
|
import {
|
|
@@ -26457,10 +26542,10 @@ import { BareIconButton } from "@tutti-os/ui-system/components";
|
|
|
26457
26542
|
import { WorkspaceUserProjectSelect as WorkspaceUserProjectSelect2 } from "@tutti-os/workspace-user-project/ui";
|
|
26458
26543
|
|
|
26459
26544
|
// app/renderer/components/icons/PinFilledIcon.tsx
|
|
26460
|
-
import { jsx as
|
|
26545
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
26461
26546
|
function PinFilledIcon(props) {
|
|
26462
26547
|
"use memo";
|
|
26463
|
-
return /* @__PURE__ */
|
|
26548
|
+
return /* @__PURE__ */ jsx45(
|
|
26464
26549
|
"svg",
|
|
26465
26550
|
{
|
|
26466
26551
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -26468,16 +26553,16 @@ function PinFilledIcon(props) {
|
|
|
26468
26553
|
fill: "currentColor",
|
|
26469
26554
|
"aria-hidden": true,
|
|
26470
26555
|
...props,
|
|
26471
|
-
children: /* @__PURE__ */
|
|
26556
|
+
children: /* @__PURE__ */ jsx45("path", { d: "M21.6066 8.05025C22.1692 8.61286 22.4849 9.37592 22.4849 10.1716C22.4849 10.9672 22.1692 11.7303 21.6066 12.2929C21.044 12.8555 20.2809 13.1713 19.4853 13.1713C18.6896 13.1713 17.9266 12.8555 17.3639 12.2929L14.7054 14.9514L14.6142 15.0564C14.531 15.1669 14.4714 15.2943 14.4395 15.43C14.3972 15.6109 14.406 15.8 14.4651 15.9762L14.4678 15.9831L15.0873 17.8717L15.1466 18.072C15.2691 18.5425 15.2761 19.037 15.1646 19.5124C15.0372 20.0557 14.7607 20.5526 14.3663 20.9474L13.8284 21.4853C13.4533 21.8604 12.9446 22.0709 12.4142 22.0709C11.8838 22.0709 11.3751 21.8604 11 21.4853L7.46445 17.9497L4.63603 20.7782C4.2455 21.1687 3.61234 21.1687 3.22181 20.7782C2.83129 20.3877 2.83129 19.7545 3.22181 19.364L6.05024 16.5355L2.51471 13C2.13963 12.6249 1.92913 12.1162 1.92913 11.5858C1.92913 11.0554 2.13963 10.5466 2.51471 10.1716L3.05263 9.63365L3.20524 9.49209C3.57235 9.17309 4.01205 8.94693 4.48756 8.83539C5.03093 8.70798 5.59924 8.73494 6.12827 8.91273L8.01688 9.53214L8.02379 9.5349C8.19995 9.59404 8.38907 9.60282 8.57 9.56045C8.7057 9.52863 8.83304 9.46898 8.94358 9.38575L9.04854 9.2946L11.7071 6.63604C11.1445 6.07343 10.8287 5.31037 10.8287 4.51472C10.8287 3.71907 11.1445 2.95601 11.7071 2.3934C12.2697 1.83079 13.0328 1.51504 13.8284 1.51504C14.6241 1.51504 15.3871 1.83079 15.9497 2.3934L21.6066 8.05025Z" })
|
|
26472
26557
|
}
|
|
26473
26558
|
);
|
|
26474
26559
|
}
|
|
26475
26560
|
|
|
26476
26561
|
// app/renderer/components/icons/PinLinedIcon.tsx
|
|
26477
|
-
import { jsx as
|
|
26562
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
26478
26563
|
function PinLinedIcon(props) {
|
|
26479
26564
|
"use memo";
|
|
26480
|
-
return /* @__PURE__ */
|
|
26565
|
+
return /* @__PURE__ */ jsx46(
|
|
26481
26566
|
"svg",
|
|
26482
26567
|
{
|
|
26483
26568
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -26485,13 +26570,13 @@ function PinLinedIcon(props) {
|
|
|
26485
26570
|
fill: "currentColor",
|
|
26486
26571
|
"aria-hidden": true,
|
|
26487
26572
|
...props,
|
|
26488
|
-
children: /* @__PURE__ */
|
|
26573
|
+
children: /* @__PURE__ */ jsx46("path", { d: "M21.6066 8.05025C22.1692 8.61286 22.4849 9.37592 22.4849 10.1716C22.4849 10.9672 22.1692 11.7303 21.6066 12.2929C21.044 12.8555 20.2809 13.1713 19.4853 13.1713C18.6896 13.1713 17.9266 12.8555 17.3639 12.2929L14.7054 14.9514L14.6142 15.0564C14.531 15.1669 14.4714 15.2943 14.4395 15.43C14.3972 15.6109 14.406 15.8 14.4651 15.9762L14.4678 15.9831L15.0873 17.8717L15.1466 18.072C15.2691 18.5425 15.2761 19.037 15.1646 19.5124C15.0372 20.0557 14.7607 20.5526 14.3663 20.9474L13.8284 21.4853C13.4533 21.8604 12.9446 22.0709 12.4142 22.0709C11.8838 22.0709 11.3751 21.8604 11 21.4853L7.46445 17.9497L4.63603 20.7782C4.2455 21.1687 3.61234 21.1687 3.22181 20.7782C2.83129 20.3877 2.83129 19.7545 3.22181 19.364L6.05024 16.5355L2.51471 13C2.13963 12.6249 1.92913 12.1162 1.92913 11.5858C1.92913 11.0554 2.13963 10.5466 2.51471 10.1716L3.05263 9.63365L3.20524 9.49209C3.57235 9.17309 4.01205 8.94693 4.48756 8.83539C5.03093 8.70798 5.59924 8.73494 6.12827 8.91273L8.01688 9.53214L8.02379 9.5349C8.19995 9.59404 8.38907 9.60282 8.57 9.56045C8.7057 9.52863 8.83304 9.46898 8.94358 9.38575L9.04854 9.2946L11.7071 6.63604C11.1445 6.07343 10.8287 5.31037 10.8287 4.51472C10.8287 3.71907 11.1445 2.95601 11.7071 2.3934C12.2697 1.83079 13.0328 1.51504 13.8284 1.51504C14.6241 1.51504 15.3871 1.83079 15.9497 2.3934L21.6066 8.05025ZM14.5355 3.80761C14.348 3.62008 14.0936 3.51483 13.8284 3.51483C13.5632 3.51483 13.3088 3.62008 13.1213 3.80761C12.9338 3.99515 12.8285 4.2495 12.8285 4.51472C12.8285 4.74685 12.9091 4.97066 13.055 5.14863L13.2539 5.36822C13.5457 5.72416 13.7069 6.17177 13.7069 6.63604C13.7069 7.16647 13.4964 7.67518 13.1213 8.05025L10.4621 10.7095C10.0673 11.1038 9.57037 11.3803 9.02713 11.5078C8.48575 11.6347 7.92002 11.6071 7.39264 11.4311V11.4325L5.49781 10.811L5.49091 10.8082C5.31475 10.7491 5.12562 10.7403 4.94469 10.7827C4.76366 10.8251 4.59774 10.9172 4.46615 11.0486L3.92892 11.5858L12.4142 20.0711L12.9514 19.5338C13.0828 19.4022 13.1748 19.2363 13.2173 19.0553C13.2597 18.8744 13.2509 18.6852 13.1917 18.5091L13.189 18.5022L12.5675 16.6073L12.5682 16.6067C12.3924 16.0795 12.3654 15.514 12.4922 14.9729C12.6197 14.4296 12.8962 13.9327 13.2905 13.5379L15.9497 10.8787C16.3248 10.5036 16.8335 10.2931 17.3639 10.2931C17.8282 10.2931 18.2758 10.4543 18.6318 10.7461L18.8514 10.945C19.0293 11.0909 19.2531 11.1715 19.4853 11.1715C19.7505 11.1715 20.0048 11.0662 20.1924 10.8787C20.3799 10.6911 20.4852 10.4368 20.4852 10.1716C20.4852 9.90636 20.3799 9.652 20.1924 9.46447L14.5355 3.80761Z" })
|
|
26489
26574
|
}
|
|
26490
26575
|
);
|
|
26491
26576
|
}
|
|
26492
26577
|
|
|
26493
26578
|
// agent-gui/agentGuiNode/view/AgentGUIConversationRailItem.tsx
|
|
26494
|
-
import { Fragment as Fragment12, jsx as
|
|
26579
|
+
import { Fragment as Fragment12, jsx as jsx47, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
26495
26580
|
function agentGUIConversationIconUrl(provider, agentTargetId, workspaceId, agentTargets) {
|
|
26496
26581
|
const targetPresentation = resolveAgentTargetPresentation({
|
|
26497
26582
|
agentTargetId: agentTargetId ?? "",
|
|
@@ -26679,7 +26764,7 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26679
26764
|
},
|
|
26680
26765
|
children: [
|
|
26681
26766
|
/* @__PURE__ */ jsxs33("span", { className: AgentGUINode_styles_default.conversationTitleRow, children: [
|
|
26682
|
-
conversationIconUrl ? /* @__PURE__ */
|
|
26767
|
+
conversationIconUrl ? /* @__PURE__ */ jsx47(
|
|
26683
26768
|
"span",
|
|
26684
26769
|
{
|
|
26685
26770
|
"aria-hidden": "true",
|
|
@@ -26689,13 +26774,13 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26689
26774
|
}
|
|
26690
26775
|
}
|
|
26691
26776
|
) : null,
|
|
26692
|
-
/* @__PURE__ */
|
|
26777
|
+
/* @__PURE__ */ jsx47("span", { className: AgentGUINode_styles_default.conversationTitle, children: conversationPlainTitle(item, labels, uiLanguage) })
|
|
26693
26778
|
] }),
|
|
26694
|
-
/* @__PURE__ */
|
|
26779
|
+
/* @__PURE__ */ jsx47(ConversationMeta, { item, nowMs: currentTimeMs, labels })
|
|
26695
26780
|
]
|
|
26696
26781
|
}
|
|
26697
26782
|
),
|
|
26698
|
-
previewMode ? null : /* @__PURE__ */
|
|
26783
|
+
previewMode ? null : /* @__PURE__ */ jsx47("div", { className: AgentGUINode_styles_default.conversationActions, children: isPendingDeleteConversation ? /* @__PURE__ */ jsx47(
|
|
26699
26784
|
"button",
|
|
26700
26785
|
{
|
|
26701
26786
|
type: "button",
|
|
@@ -26709,10 +26794,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26709
26794
|
onConfirmDeleteConversation();
|
|
26710
26795
|
}
|
|
26711
26796
|
},
|
|
26712
|
-
children: /* @__PURE__ */
|
|
26797
|
+
children: /* @__PURE__ */ jsx47("span", { className: AgentGUINode_styles_default.conversationDeleteConfirmText, children: labels.deleteSessionConfirm })
|
|
26713
26798
|
}
|
|
26714
26799
|
) : /* @__PURE__ */ jsxs33(Fragment12, { children: [
|
|
26715
|
-
onOpenConversationWindow ? /* @__PURE__ */
|
|
26800
|
+
onOpenConversationWindow ? /* @__PURE__ */ jsx47(
|
|
26716
26801
|
BareIconButton,
|
|
26717
26802
|
{
|
|
26718
26803
|
className: AgentGUINode_styles_default.conversationOpenWindowButton,
|
|
@@ -26729,10 +26814,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26729
26814
|
event.stopPropagation();
|
|
26730
26815
|
handleOpenConversationWindow();
|
|
26731
26816
|
},
|
|
26732
|
-
children: /* @__PURE__ */
|
|
26817
|
+
children: /* @__PURE__ */ jsx47(ExternalLink2, { "aria-hidden": "true" })
|
|
26733
26818
|
}
|
|
26734
26819
|
) : null,
|
|
26735
|
-
/* @__PURE__ */
|
|
26820
|
+
/* @__PURE__ */ jsx47(
|
|
26736
26821
|
BareIconButton,
|
|
26737
26822
|
{
|
|
26738
26823
|
className: AgentGUINode_styles_default.conversationPinButton,
|
|
@@ -26749,10 +26834,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26749
26834
|
event.stopPropagation();
|
|
26750
26835
|
handleTogglePinned();
|
|
26751
26836
|
},
|
|
26752
|
-
children: pinned ? /* @__PURE__ */
|
|
26837
|
+
children: pinned ? /* @__PURE__ */ jsx47(PinFilledIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ jsx47(PinLinedIcon, { "aria-hidden": "true" })
|
|
26753
26838
|
}
|
|
26754
26839
|
),
|
|
26755
|
-
/* @__PURE__ */
|
|
26840
|
+
/* @__PURE__ */ jsx47(
|
|
26756
26841
|
BareIconButton,
|
|
26757
26842
|
{
|
|
26758
26843
|
className: AgentGUINode_styles_default.conversationDeleteButton,
|
|
@@ -26769,7 +26854,7 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26769
26854
|
event.stopPropagation();
|
|
26770
26855
|
handleRequestDelete();
|
|
26771
26856
|
},
|
|
26772
|
-
children: /* @__PURE__ */
|
|
26857
|
+
children: /* @__PURE__ */ jsx47(CanvasNodeTrashLinedIcon, { "aria-hidden": "true" })
|
|
26773
26858
|
}
|
|
26774
26859
|
)
|
|
26775
26860
|
] }) })
|
|
@@ -26780,13 +26865,13 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26780
26865
|
return row;
|
|
26781
26866
|
}
|
|
26782
26867
|
return /* @__PURE__ */ jsxs33(ContextMenu, { children: [
|
|
26783
|
-
/* @__PURE__ */
|
|
26868
|
+
/* @__PURE__ */ jsx47(ContextMenuTrigger, { asChild: true, children: row }),
|
|
26784
26869
|
/* @__PURE__ */ jsxs33(
|
|
26785
26870
|
ContextMenuContent,
|
|
26786
26871
|
{
|
|
26787
26872
|
className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
|
|
26788
26873
|
children: [
|
|
26789
|
-
/* @__PURE__ */
|
|
26874
|
+
/* @__PURE__ */ jsx47(
|
|
26790
26875
|
ContextMenuItem,
|
|
26791
26876
|
{
|
|
26792
26877
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -26797,10 +26882,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26797
26882
|
}
|
|
26798
26883
|
},
|
|
26799
26884
|
onSelect: handleContextMenuRename,
|
|
26800
|
-
children: /* @__PURE__ */
|
|
26885
|
+
children: /* @__PURE__ */ jsx47("span", { children: labels.renameSession })
|
|
26801
26886
|
}
|
|
26802
26887
|
),
|
|
26803
|
-
onOpenConversationWindow ? /* @__PURE__ */
|
|
26888
|
+
onOpenConversationWindow ? /* @__PURE__ */ jsx47(
|
|
26804
26889
|
ContextMenuItem,
|
|
26805
26890
|
{
|
|
26806
26891
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -26811,10 +26896,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26811
26896
|
}
|
|
26812
26897
|
},
|
|
26813
26898
|
onSelect: handleContextMenuOpenConversationWindow,
|
|
26814
|
-
children: /* @__PURE__ */
|
|
26899
|
+
children: /* @__PURE__ */ jsx47("span", { children: labels.openConversationWindow })
|
|
26815
26900
|
}
|
|
26816
26901
|
) : null,
|
|
26817
|
-
/* @__PURE__ */
|
|
26902
|
+
/* @__PURE__ */ jsx47(
|
|
26818
26903
|
ContextMenuItem,
|
|
26819
26904
|
{
|
|
26820
26905
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -26825,16 +26910,16 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26825
26910
|
}
|
|
26826
26911
|
},
|
|
26827
26912
|
onSelect: handleContextMenuCopySessionLink,
|
|
26828
|
-
children: /* @__PURE__ */
|
|
26913
|
+
children: /* @__PURE__ */ jsx47("span", { children: labels.copySessionLink })
|
|
26829
26914
|
}
|
|
26830
26915
|
),
|
|
26831
|
-
/* @__PURE__ */
|
|
26916
|
+
/* @__PURE__ */ jsx47(
|
|
26832
26917
|
ContextMenuItem,
|
|
26833
26918
|
{
|
|
26834
26919
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
26835
26920
|
disabled: !canMarkUnread,
|
|
26836
26921
|
onSelect: handleMarkUnread,
|
|
26837
|
-
children: /* @__PURE__ */
|
|
26922
|
+
children: /* @__PURE__ */ jsx47("span", { children: labels.markSessionUnread })
|
|
26838
26923
|
}
|
|
26839
26924
|
)
|
|
26840
26925
|
]
|
|
@@ -26863,9 +26948,9 @@ function AgentGUIProjectRailHeader({
|
|
|
26863
26948
|
]
|
|
26864
26949
|
);
|
|
26865
26950
|
return /* @__PURE__ */ jsxs33("div", { className: AgentGUINode_styles_default.projectRailHeader, children: [
|
|
26866
|
-
/* @__PURE__ */
|
|
26951
|
+
/* @__PURE__ */ jsx47("div", { className: AgentGUINode_styles_default.projectRailTitle, children: /* @__PURE__ */ jsx47("span", { children: workspaceUserProjectI18n.tFirst(["projectSelect.projectLabel"]) }) }),
|
|
26867
26952
|
/* @__PURE__ */ jsxs33("div", { className: AgentGUINode_styles_default.projectRailAddProject, children: [
|
|
26868
|
-
/* @__PURE__ */
|
|
26953
|
+
/* @__PURE__ */ jsx47(
|
|
26869
26954
|
WorkspaceUserProjectSelect2,
|
|
26870
26955
|
{
|
|
26871
26956
|
api: userProjectApi,
|
|
@@ -26896,7 +26981,7 @@ function AgentGUIProjectRailHeader({
|
|
|
26896
26981
|
"projectSelect.addProject"
|
|
26897
26982
|
])
|
|
26898
26983
|
},
|
|
26899
|
-
renderAddProjectIcon: () => /* @__PURE__ */
|
|
26984
|
+
renderAddProjectIcon: () => /* @__PURE__ */ jsx47(
|
|
26900
26985
|
NewWorkspaceLinedIcon2,
|
|
26901
26986
|
{
|
|
26902
26987
|
"aria-hidden": true,
|
|
@@ -26914,7 +26999,7 @@ function AgentGUIProjectRailHeader({
|
|
|
26914
26999
|
}
|
|
26915
27000
|
}
|
|
26916
27001
|
),
|
|
26917
|
-
/* @__PURE__ */
|
|
27002
|
+
/* @__PURE__ */ jsx47(
|
|
26918
27003
|
NewWorkspaceLinedIcon2,
|
|
26919
27004
|
{
|
|
26920
27005
|
"aria-hidden": true,
|
|
@@ -26926,7 +27011,7 @@ function AgentGUIProjectRailHeader({
|
|
|
26926
27011
|
}
|
|
26927
27012
|
|
|
26928
27013
|
// agent-gui/agentGuiNode/view/AgentGUIConversationRailSection.tsx
|
|
26929
|
-
import { jsx as
|
|
27014
|
+
import { jsx as jsx48, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
26930
27015
|
var AGENT_GUI_CONVERSATION_RAIL_SECTION_PAGE_SIZE = 5;
|
|
26931
27016
|
var AgentGUIConversationRailSection = memo6(
|
|
26932
27017
|
function AgentGUIConversationRailSection2({
|
|
@@ -27073,7 +27158,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27073
27158
|
}
|
|
27074
27159
|
},
|
|
27075
27160
|
children: [
|
|
27076
|
-
/* @__PURE__ */
|
|
27161
|
+
/* @__PURE__ */ jsx48(
|
|
27077
27162
|
ChevronRight2,
|
|
27078
27163
|
{
|
|
27079
27164
|
"aria-hidden": "true",
|
|
@@ -27081,26 +27166,26 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27081
27166
|
}
|
|
27082
27167
|
),
|
|
27083
27168
|
/* @__PURE__ */ jsxs34("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: [
|
|
27084
|
-
isSectionCollapsed ? /* @__PURE__ */
|
|
27169
|
+
isSectionCollapsed ? /* @__PURE__ */ jsx48(
|
|
27085
27170
|
FolderIcon2,
|
|
27086
27171
|
{
|
|
27087
27172
|
"aria-hidden": "true",
|
|
27088
27173
|
className: AgentGUINode_styles_default.conversationSectionLabelIcon
|
|
27089
27174
|
}
|
|
27090
|
-
) : /* @__PURE__ */
|
|
27175
|
+
) : /* @__PURE__ */ jsx48(
|
|
27091
27176
|
FolderOpenLinedIcon,
|
|
27092
27177
|
{
|
|
27093
27178
|
"aria-hidden": "true",
|
|
27094
27179
|
className: AgentGUINode_styles_default.conversationSectionLabelIcon
|
|
27095
27180
|
}
|
|
27096
27181
|
),
|
|
27097
|
-
/* @__PURE__ */
|
|
27182
|
+
/* @__PURE__ */ jsx48("span", { children: section.label })
|
|
27098
27183
|
] })
|
|
27099
27184
|
]
|
|
27100
27185
|
}
|
|
27101
|
-
) : /* @__PURE__ */
|
|
27186
|
+
) : /* @__PURE__ */ jsx48("div", { className: AgentGUINode_styles_default.conversationSectionToggle, children: /* @__PURE__ */ jsx48("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: /* @__PURE__ */ jsx48("span", { children: section.label }) }) }),
|
|
27102
27187
|
canCreateConversationFromSection ? /* @__PURE__ */ jsxs34("div", { className: AgentGUINode_styles_default.conversationSectionActions, children: [
|
|
27103
|
-
previewMode ? /* @__PURE__ */
|
|
27188
|
+
previewMode ? /* @__PURE__ */ jsx48("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: /* @__PURE__ */ jsx48(
|
|
27104
27189
|
BareIconButton2,
|
|
27105
27190
|
{
|
|
27106
27191
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
@@ -27108,14 +27193,14 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27108
27193
|
size: "sm",
|
|
27109
27194
|
disabled: createConversationDisabled,
|
|
27110
27195
|
onClick: handleCreateConversation,
|
|
27111
|
-
children: /* @__PURE__ */
|
|
27196
|
+
children: /* @__PURE__ */ jsx48(CreateChatIcon, { "aria-hidden": "true" })
|
|
27112
27197
|
}
|
|
27113
|
-
) }) : /* @__PURE__ */ jsxs34(
|
|
27114
|
-
/* @__PURE__ */
|
|
27198
|
+
) }) : /* @__PURE__ */ jsxs34(Tooltip7, { children: [
|
|
27199
|
+
/* @__PURE__ */ jsx48(TooltipTrigger7, { asChild: true, children: /* @__PURE__ */ jsx48(
|
|
27115
27200
|
"span",
|
|
27116
27201
|
{
|
|
27117
27202
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
27118
|
-
children: /* @__PURE__ */
|
|
27203
|
+
children: /* @__PURE__ */ jsx48(
|
|
27119
27204
|
BareIconButton2,
|
|
27120
27205
|
{
|
|
27121
27206
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
@@ -27123,13 +27208,13 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27123
27208
|
size: "sm",
|
|
27124
27209
|
disabled: createConversationDisabled,
|
|
27125
27210
|
onClick: handleCreateConversation,
|
|
27126
|
-
children: /* @__PURE__ */
|
|
27211
|
+
children: /* @__PURE__ */ jsx48(CreateChatIcon, { "aria-hidden": "true" })
|
|
27127
27212
|
}
|
|
27128
27213
|
)
|
|
27129
27214
|
}
|
|
27130
27215
|
) }),
|
|
27131
|
-
/* @__PURE__ */
|
|
27132
|
-
|
|
27216
|
+
/* @__PURE__ */ jsx48(
|
|
27217
|
+
TooltipContent7,
|
|
27133
27218
|
{
|
|
27134
27219
|
side: "top",
|
|
27135
27220
|
sideOffset: 6,
|
|
@@ -27139,38 +27224,38 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27139
27224
|
)
|
|
27140
27225
|
] }),
|
|
27141
27226
|
projectPath ? /* @__PURE__ */ jsxs34(DropdownMenu4, { children: [
|
|
27142
|
-
previewMode ? /* @__PURE__ */
|
|
27227
|
+
previewMode ? /* @__PURE__ */ jsx48(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx48(
|
|
27143
27228
|
"span",
|
|
27144
27229
|
{
|
|
27145
27230
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
27146
|
-
children: /* @__PURE__ */
|
|
27231
|
+
children: /* @__PURE__ */ jsx48(
|
|
27147
27232
|
BareIconButton2,
|
|
27148
27233
|
{
|
|
27149
27234
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
27150
27235
|
"aria-label": labels.projectSectionMoreActions,
|
|
27151
27236
|
size: "sm",
|
|
27152
|
-
children: /* @__PURE__ */
|
|
27237
|
+
children: /* @__PURE__ */ jsx48(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
27153
27238
|
}
|
|
27154
27239
|
)
|
|
27155
27240
|
}
|
|
27156
|
-
) }) : /* @__PURE__ */ jsxs34(
|
|
27157
|
-
/* @__PURE__ */
|
|
27241
|
+
) }) : /* @__PURE__ */ jsxs34(Tooltip7, { children: [
|
|
27242
|
+
/* @__PURE__ */ jsx48(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx48(TooltipTrigger7, { asChild: true, children: /* @__PURE__ */ jsx48(
|
|
27158
27243
|
"span",
|
|
27159
27244
|
{
|
|
27160
27245
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
27161
|
-
children: /* @__PURE__ */
|
|
27246
|
+
children: /* @__PURE__ */ jsx48(
|
|
27162
27247
|
BareIconButton2,
|
|
27163
27248
|
{
|
|
27164
27249
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
27165
27250
|
"aria-label": labels.projectSectionMoreActions,
|
|
27166
27251
|
size: "sm",
|
|
27167
|
-
children: /* @__PURE__ */
|
|
27252
|
+
children: /* @__PURE__ */ jsx48(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
27168
27253
|
}
|
|
27169
27254
|
)
|
|
27170
27255
|
}
|
|
27171
27256
|
) }) }),
|
|
27172
|
-
/* @__PURE__ */
|
|
27173
|
-
|
|
27257
|
+
/* @__PURE__ */ jsx48(
|
|
27258
|
+
TooltipContent7,
|
|
27174
27259
|
{
|
|
27175
27260
|
side: "right",
|
|
27176
27261
|
sideOffset: 6,
|
|
@@ -27186,7 +27271,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27186
27271
|
className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
|
|
27187
27272
|
sideOffset: 6,
|
|
27188
27273
|
children: [
|
|
27189
|
-
/* @__PURE__ */
|
|
27274
|
+
/* @__PURE__ */ jsx48(
|
|
27190
27275
|
DropdownMenuItem3,
|
|
27191
27276
|
{
|
|
27192
27277
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -27202,10 +27287,10 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27202
27287
|
workspaceRoot: projectPath
|
|
27203
27288
|
});
|
|
27204
27289
|
},
|
|
27205
|
-
children: /* @__PURE__ */
|
|
27290
|
+
children: /* @__PURE__ */ jsx48("span", { children: labels.projectSectionViewFiles })
|
|
27206
27291
|
}
|
|
27207
27292
|
),
|
|
27208
|
-
/* @__PURE__ */
|
|
27293
|
+
/* @__PURE__ */ jsx48(
|
|
27209
27294
|
DropdownMenuItem3,
|
|
27210
27295
|
{
|
|
27211
27296
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -27215,10 +27300,10 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27215
27300
|
onRequestSectionBatchDeletion(section);
|
|
27216
27301
|
}
|
|
27217
27302
|
},
|
|
27218
|
-
children: /* @__PURE__ */
|
|
27303
|
+
children: /* @__PURE__ */ jsx48("span", { children: labels.batchDeleteProjectSessions })
|
|
27219
27304
|
}
|
|
27220
27305
|
),
|
|
27221
|
-
/* @__PURE__ */
|
|
27306
|
+
/* @__PURE__ */ jsx48(
|
|
27222
27307
|
DropdownMenuItem3,
|
|
27223
27308
|
{
|
|
27224
27309
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -27231,7 +27316,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27231
27316
|
path: projectPath
|
|
27232
27317
|
});
|
|
27233
27318
|
},
|
|
27234
|
-
children: /* @__PURE__ */
|
|
27319
|
+
children: /* @__PURE__ */ jsx48("span", { children: labels.removeProject })
|
|
27235
27320
|
}
|
|
27236
27321
|
)
|
|
27237
27322
|
]
|
|
@@ -27239,38 +27324,38 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27239
27324
|
)
|
|
27240
27325
|
] }) : null,
|
|
27241
27326
|
!projectPath && section.kind === "conversations" ? /* @__PURE__ */ jsxs34(DropdownMenu4, { children: [
|
|
27242
|
-
previewMode ? /* @__PURE__ */
|
|
27327
|
+
previewMode ? /* @__PURE__ */ jsx48(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx48(
|
|
27243
27328
|
"span",
|
|
27244
27329
|
{
|
|
27245
27330
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
27246
|
-
children: /* @__PURE__ */
|
|
27331
|
+
children: /* @__PURE__ */ jsx48(
|
|
27247
27332
|
BareIconButton2,
|
|
27248
27333
|
{
|
|
27249
27334
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
27250
27335
|
"aria-label": labels.conversationsSectionMoreActions,
|
|
27251
27336
|
size: "sm",
|
|
27252
|
-
children: /* @__PURE__ */
|
|
27337
|
+
children: /* @__PURE__ */ jsx48(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
27253
27338
|
}
|
|
27254
27339
|
)
|
|
27255
27340
|
}
|
|
27256
|
-
) }) : /* @__PURE__ */ jsxs34(
|
|
27257
|
-
/* @__PURE__ */
|
|
27341
|
+
) }) : /* @__PURE__ */ jsxs34(Tooltip7, { children: [
|
|
27342
|
+
/* @__PURE__ */ jsx48(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx48(TooltipTrigger7, { asChild: true, children: /* @__PURE__ */ jsx48(
|
|
27258
27343
|
"span",
|
|
27259
27344
|
{
|
|
27260
27345
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
27261
|
-
children: /* @__PURE__ */
|
|
27346
|
+
children: /* @__PURE__ */ jsx48(
|
|
27262
27347
|
BareIconButton2,
|
|
27263
27348
|
{
|
|
27264
27349
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
27265
27350
|
"aria-label": labels.conversationsSectionMoreActions,
|
|
27266
27351
|
size: "sm",
|
|
27267
|
-
children: /* @__PURE__ */
|
|
27352
|
+
children: /* @__PURE__ */ jsx48(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
27268
27353
|
}
|
|
27269
27354
|
)
|
|
27270
27355
|
}
|
|
27271
27356
|
) }) }),
|
|
27272
|
-
/* @__PURE__ */
|
|
27273
|
-
|
|
27357
|
+
/* @__PURE__ */ jsx48(
|
|
27358
|
+
TooltipContent7,
|
|
27274
27359
|
{
|
|
27275
27360
|
side: "right",
|
|
27276
27361
|
sideOffset: 6,
|
|
@@ -27279,13 +27364,13 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27279
27364
|
}
|
|
27280
27365
|
)
|
|
27281
27366
|
] }),
|
|
27282
|
-
/* @__PURE__ */
|
|
27367
|
+
/* @__PURE__ */ jsx48(
|
|
27283
27368
|
DropdownMenuContent4,
|
|
27284
27369
|
{
|
|
27285
27370
|
align: "end",
|
|
27286
27371
|
className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
|
|
27287
27372
|
sideOffset: 6,
|
|
27288
|
-
children: /* @__PURE__ */
|
|
27373
|
+
children: /* @__PURE__ */ jsx48(
|
|
27289
27374
|
DropdownMenuItem3,
|
|
27290
27375
|
{
|
|
27291
27376
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -27295,7 +27380,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27295
27380
|
onRequestSectionBatchDeletion(section);
|
|
27296
27381
|
}
|
|
27297
27382
|
},
|
|
27298
|
-
children: /* @__PURE__ */
|
|
27383
|
+
children: /* @__PURE__ */ jsx48("span", { children: labels.batchDeleteConversations })
|
|
27299
27384
|
}
|
|
27300
27385
|
)
|
|
27301
27386
|
}
|
|
@@ -27303,14 +27388,14 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27303
27388
|
] }) : null
|
|
27304
27389
|
] }) : null
|
|
27305
27390
|
] }),
|
|
27306
|
-
/* @__PURE__ */
|
|
27391
|
+
/* @__PURE__ */ jsx48(
|
|
27307
27392
|
"div",
|
|
27308
27393
|
{
|
|
27309
27394
|
className: AgentGUINode_styles_default.conversationSectionItems,
|
|
27310
27395
|
"aria-hidden": isSectionCollapsed ? "true" : void 0,
|
|
27311
27396
|
children: /* @__PURE__ */ jsxs34("div", { className: AgentGUINode_styles_default.conversationSectionItemsInner, children: [
|
|
27312
|
-
!isSectionCollapsed && visibleItems.length === 0 ? /* @__PURE__ */
|
|
27313
|
-
visibleItems.map((item) => /* @__PURE__ */
|
|
27397
|
+
!isSectionCollapsed && visibleItems.length === 0 ? /* @__PURE__ */ jsx48("div", { className: AgentGUINode_styles_default.conversationSectionEmpty, children: labels.emptyProjectConversations }) : null,
|
|
27398
|
+
visibleItems.map((item) => /* @__PURE__ */ jsx48(
|
|
27314
27399
|
AgentGUIConversationRailItem,
|
|
27315
27400
|
{
|
|
27316
27401
|
active: item.id === activeConversationId,
|
|
@@ -27336,7 +27421,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27336
27421
|
item.id
|
|
27337
27422
|
)),
|
|
27338
27423
|
canShowMore || canShowLess ? /* @__PURE__ */ jsxs34("div", { className: AgentGUINode_styles_default.conversationSectionPagination, children: [
|
|
27339
|
-
canShowMore ? /* @__PURE__ */
|
|
27424
|
+
canShowMore ? /* @__PURE__ */ jsx48(
|
|
27340
27425
|
"button",
|
|
27341
27426
|
{
|
|
27342
27427
|
type: "button",
|
|
@@ -27346,7 +27431,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27346
27431
|
children: labels.showMoreConversations
|
|
27347
27432
|
}
|
|
27348
27433
|
) : null,
|
|
27349
|
-
canShowLess ? /* @__PURE__ */
|
|
27434
|
+
canShowLess ? /* @__PURE__ */ jsx48(
|
|
27350
27435
|
"button",
|
|
27351
27436
|
{
|
|
27352
27437
|
type: "button",
|
|
@@ -27366,7 +27451,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27366
27451
|
);
|
|
27367
27452
|
|
|
27368
27453
|
// agent-gui/agentGuiNode/view/AgentGUIConversationRailPane.tsx
|
|
27369
|
-
import { jsx as
|
|
27454
|
+
import { jsx as jsx49, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
27370
27455
|
var AGENT_GUI_CONFIRMATION_DIALOG_CLASS_NAME = "nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]";
|
|
27371
27456
|
var AGENT_GUI_CONFIRMATION_DIALOG_OVERLAY_CLASS_NAME = "nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]";
|
|
27372
27457
|
function useDelayedBoolean(value, delayMs) {
|
|
@@ -27672,7 +27757,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27672
27757
|
"aria-hidden": isCollapsed ? "true" : void 0,
|
|
27673
27758
|
children: [
|
|
27674
27759
|
/* @__PURE__ */ jsxs35("div", { className: AgentGUINode_styles_default.railToolbar, children: [
|
|
27675
|
-
/* @__PURE__ */
|
|
27760
|
+
/* @__PURE__ */ jsx49(
|
|
27676
27761
|
TaskSearchField,
|
|
27677
27762
|
{
|
|
27678
27763
|
value: conversationQuery,
|
|
@@ -27691,27 +27776,27 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27691
27776
|
disabled: createConversationDisabled,
|
|
27692
27777
|
onClick: () => onCreateConversation(),
|
|
27693
27778
|
children: [
|
|
27694
|
-
/* @__PURE__ */
|
|
27695
|
-
/* @__PURE__ */
|
|
27779
|
+
/* @__PURE__ */ jsx49(CreateChatIcon2, { "aria-hidden": "true" }),
|
|
27780
|
+
/* @__PURE__ */ jsx49("span", { children: labels.newConversation })
|
|
27696
27781
|
]
|
|
27697
27782
|
}
|
|
27698
27783
|
)
|
|
27699
27784
|
] }),
|
|
27700
|
-
/* @__PURE__ */
|
|
27785
|
+
/* @__PURE__ */ jsx49(
|
|
27701
27786
|
ScrollArea,
|
|
27702
27787
|
{
|
|
27703
27788
|
scrollbarMode: "native",
|
|
27704
27789
|
className: "min-h-0 flex-1 [&_[data-orientation=vertical][data-slot=scroll-area-scrollbar]]:opacity-100",
|
|
27705
27790
|
viewportRef: conversationListRef,
|
|
27706
27791
|
viewportClassName: AgentGUINode_styles_default.conversationList,
|
|
27707
|
-
children: shouldShowConversationSkeleton ? /* @__PURE__ */
|
|
27792
|
+
children: shouldShowConversationSkeleton ? /* @__PURE__ */ jsx49(
|
|
27708
27793
|
AgentConversationListSkeleton,
|
|
27709
27794
|
{
|
|
27710
27795
|
label: labels.loadingConversations
|
|
27711
27796
|
}
|
|
27712
27797
|
) : shouldShowConversationSearchError ? /* @__PURE__ */ jsxs35("div", { className: AgentGUINode_styles_default.emptyState, children: [
|
|
27713
|
-
/* @__PURE__ */
|
|
27714
|
-
/* @__PURE__ */
|
|
27798
|
+
/* @__PURE__ */ jsx49("span", { children: labels.searchFailed }),
|
|
27799
|
+
/* @__PURE__ */ jsx49(
|
|
27715
27800
|
SystemButton,
|
|
27716
27801
|
{
|
|
27717
27802
|
type: "button",
|
|
@@ -27721,7 +27806,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27721
27806
|
children: labels.retrySearch
|
|
27722
27807
|
}
|
|
27723
27808
|
)
|
|
27724
|
-
] }) : shouldShowConversationEmptyState ? /* @__PURE__ */
|
|
27809
|
+
] }) : shouldShowConversationEmptyState ? /* @__PURE__ */ jsx49("div", { className: AgentGUINode_styles_default.emptyState, children: /* @__PURE__ */ jsx49("span", { children: conversationQuery.trim() ? labels.searchNoConversations : conversations.length === 0 ? labels.noConversations : labels.conversationUnavailable }) }) : /* @__PURE__ */ jsx49(
|
|
27725
27810
|
"fieldset",
|
|
27726
27811
|
{
|
|
27727
27812
|
className: "contents",
|
|
@@ -27753,7 +27838,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27753
27838
|
).length + (activeOverlayCountsTowardTotal && !activeOverlayIsCanonical ? 1 : 0);
|
|
27754
27839
|
const sectionHasMore = searchSectionHasMore || !conversationQuery.trim() && sectionPageState?.hasMore === true;
|
|
27755
27840
|
return /* @__PURE__ */ jsxs35(Fragment13, { children: [
|
|
27756
|
-
showProjectRailHeader ? /* @__PURE__ */
|
|
27841
|
+
showProjectRailHeader ? /* @__PURE__ */ jsx49(
|
|
27757
27842
|
AgentGUIProjectRailHeader,
|
|
27758
27843
|
{
|
|
27759
27844
|
disabled: railInteractionsLocked,
|
|
@@ -27762,7 +27847,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27762
27847
|
workspaceUserProjectI18n
|
|
27763
27848
|
}
|
|
27764
27849
|
) : null,
|
|
27765
|
-
/* @__PURE__ */
|
|
27850
|
+
/* @__PURE__ */ jsx49(
|
|
27766
27851
|
AgentGUIConversationRailSection,
|
|
27767
27852
|
{
|
|
27768
27853
|
activeConversation: activeOverlayConversation,
|
|
@@ -27813,8 +27898,8 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27813
27898
|
)
|
|
27814
27899
|
}
|
|
27815
27900
|
),
|
|
27816
|
-
footer ? /* @__PURE__ */
|
|
27817
|
-
/* @__PURE__ */
|
|
27901
|
+
footer ? /* @__PURE__ */ jsx49("div", { className: "shrink-0 pb-2", children: footer }) : null,
|
|
27902
|
+
/* @__PURE__ */ jsx49(
|
|
27818
27903
|
ConfirmationDialog,
|
|
27819
27904
|
{
|
|
27820
27905
|
cancelLabel: labels.cancel,
|
|
@@ -27869,7 +27954,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27869
27954
|
import {
|
|
27870
27955
|
selectWorkspaceAgentConsumerSessions as selectWorkspaceAgentConsumerSessions4
|
|
27871
27956
|
} from "@tutti-os/agent-activity-core";
|
|
27872
|
-
import {
|
|
27957
|
+
import { useEffect as useEffect31, useMemo as useMemo33, useRef as useRef34 } from "react";
|
|
27873
27958
|
|
|
27874
27959
|
// agent-gui/agentGuiNode/controller/AgentGUIConversationRailQueryController.ts
|
|
27875
27960
|
import {
|
|
@@ -27878,6 +27963,7 @@ import {
|
|
|
27878
27963
|
} from "@tutti-os/agent-activity-core";
|
|
27879
27964
|
var SECTION_PAGE_SIZE = 5;
|
|
27880
27965
|
var SEARCH_PAGE_SIZE = 100;
|
|
27966
|
+
var CONVERSATION_SEARCH_DEBOUNCE_MS = 300;
|
|
27881
27967
|
var EMPTY_SEARCH_STATE = {
|
|
27882
27968
|
failed: false,
|
|
27883
27969
|
hasMore: false,
|
|
@@ -27906,6 +27992,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
27906
27992
|
getActiveConversationId;
|
|
27907
27993
|
listeners = /* @__PURE__ */ new Set();
|
|
27908
27994
|
runtime;
|
|
27995
|
+
scheduler;
|
|
27909
27996
|
workspaceId;
|
|
27910
27997
|
pagingAbortControllers = /* @__PURE__ */ new Map();
|
|
27911
27998
|
queryState = EMPTY_QUERY_STATE;
|
|
@@ -27917,6 +28004,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
27917
28004
|
searchQuery = "";
|
|
27918
28005
|
searchRequestKey = null;
|
|
27919
28006
|
searchAbortController = null;
|
|
28007
|
+
searchDebounceTask = null;
|
|
27920
28008
|
pagingRequestSequence = 0;
|
|
27921
28009
|
searchRequestSequence = 0;
|
|
27922
28010
|
attached = false;
|
|
@@ -27927,6 +28015,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
27927
28015
|
this.engine = input.engine;
|
|
27928
28016
|
this.getActiveConversationId = input.getActiveConversationId;
|
|
27929
28017
|
this.runtime = input.runtime;
|
|
28018
|
+
this.scheduler = input.scheduler ?? agentGuiScheduler;
|
|
27930
28019
|
this.workspaceId = input.workspaceId;
|
|
27931
28020
|
this.previousMembershipRecords = membershipRecords(
|
|
27932
28021
|
this.engine.getSnapshot()
|
|
@@ -27975,7 +28064,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
27975
28064
|
const query = value.trim();
|
|
27976
28065
|
if (query === this.searchQuery) return;
|
|
27977
28066
|
this.searchQuery = query;
|
|
27978
|
-
this.
|
|
28067
|
+
this.scheduleSearch();
|
|
27979
28068
|
}
|
|
27980
28069
|
loadMoreSectionConversations = (section) => {
|
|
27981
28070
|
const scopeKey = this.railSectionQueryKey;
|
|
@@ -28214,6 +28303,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
28214
28303
|
});
|
|
28215
28304
|
}
|
|
28216
28305
|
requestSearch() {
|
|
28306
|
+
this.clearSearchDebounceTimer();
|
|
28217
28307
|
this.searchRequestKey = this.searchEnabled() && this.searchQuery ? JSON.stringify([
|
|
28218
28308
|
this.workspaceId,
|
|
28219
28309
|
this.sectionAgentTargetId,
|
|
@@ -28274,6 +28364,29 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
28274
28364
|
this.emit();
|
|
28275
28365
|
});
|
|
28276
28366
|
}
|
|
28367
|
+
scheduleSearch() {
|
|
28368
|
+
this.clearSearchDebounceTimer();
|
|
28369
|
+
this.searchRequestSequence += 1;
|
|
28370
|
+
this.searchAbortController?.abort();
|
|
28371
|
+
this.searchAbortController = null;
|
|
28372
|
+
if (!this.searchQuery || !this.searchEnabled()) {
|
|
28373
|
+
this.requestSearch();
|
|
28374
|
+
return;
|
|
28375
|
+
}
|
|
28376
|
+
this.searchRequestKey = null;
|
|
28377
|
+
this.emit();
|
|
28378
|
+
this.searchDebounceTask = this.scheduler.schedule(
|
|
28379
|
+
CONVERSATION_SEARCH_DEBOUNCE_MS,
|
|
28380
|
+
() => {
|
|
28381
|
+
this.searchDebounceTask = null;
|
|
28382
|
+
this.requestSearch();
|
|
28383
|
+
}
|
|
28384
|
+
);
|
|
28385
|
+
}
|
|
28386
|
+
clearSearchDebounceTimer() {
|
|
28387
|
+
this.searchDebounceTask?.cancel();
|
|
28388
|
+
this.searchDebounceTask = null;
|
|
28389
|
+
}
|
|
28277
28390
|
upsertSessions(sessions) {
|
|
28278
28391
|
this.ingestingSessions = true;
|
|
28279
28392
|
try {
|
|
@@ -28331,6 +28444,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
28331
28444
|
this.unsubscribeEngine?.();
|
|
28332
28445
|
this.unsubscribeEngine = null;
|
|
28333
28446
|
this.cancelPagingRequests();
|
|
28447
|
+
this.clearSearchDebounceTimer();
|
|
28334
28448
|
this.searchRequestSequence += 1;
|
|
28335
28449
|
this.searchAbortController?.abort();
|
|
28336
28450
|
this.searchAbortController = null;
|
|
@@ -28386,7 +28500,6 @@ function useAgentGUIConversationRailQuery({
|
|
|
28386
28500
|
);
|
|
28387
28501
|
const activeConversationIdRef = useRef34(activeConversationId);
|
|
28388
28502
|
activeConversationIdRef.current = activeConversationId;
|
|
28389
|
-
const deferredConversationQuery = useDeferredValue(conversationQuery);
|
|
28390
28503
|
const controller = useMemo33(
|
|
28391
28504
|
() => new AgentGUIConversationRailQueryController({
|
|
28392
28505
|
engine,
|
|
@@ -28404,11 +28517,11 @@ function useAgentGUIConversationRailQuery({
|
|
|
28404
28517
|
sectionAgentTargetFallbackId,
|
|
28405
28518
|
userProjects
|
|
28406
28519
|
});
|
|
28407
|
-
controller.setSearchQuery(
|
|
28520
|
+
controller.setSearchQuery(conversationQuery);
|
|
28408
28521
|
}, [
|
|
28409
28522
|
controller,
|
|
28410
28523
|
conversationFilter,
|
|
28411
|
-
|
|
28524
|
+
conversationQuery,
|
|
28412
28525
|
previewMode,
|
|
28413
28526
|
sectionAgentTargetFallbackId,
|
|
28414
28527
|
userProjects
|
|
@@ -28454,7 +28567,7 @@ function identitySnapshot(snapshot) {
|
|
|
28454
28567
|
}
|
|
28455
28568
|
|
|
28456
28569
|
// agent-gui/agentGuiNode/controller/AgentGUIConversationRailController.tsx
|
|
28457
|
-
import { jsx as
|
|
28570
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
28458
28571
|
var AgentGUIConversationRailController = memo8(
|
|
28459
28572
|
function AgentGUIConversationRailController2(props) {
|
|
28460
28573
|
const [conversationQuery, setConversationQuery] = useState28("");
|
|
@@ -28467,7 +28580,7 @@ var AgentGUIConversationRailController = memo8(
|
|
|
28467
28580
|
userProjects: props.userProjects,
|
|
28468
28581
|
workspaceId: props.workspaceId
|
|
28469
28582
|
});
|
|
28470
|
-
return /* @__PURE__ */
|
|
28583
|
+
return /* @__PURE__ */ jsx50(
|
|
28471
28584
|
AgentGUIConversationRailPane,
|
|
28472
28585
|
{
|
|
28473
28586
|
...props,
|
|
@@ -28659,7 +28772,7 @@ import { cn as cn6 } from "@tutti-os/ui-system";
|
|
|
28659
28772
|
// agent-gui/agentGuiNode/AgentGoalBanner.tsx
|
|
28660
28773
|
import { useEffect as useEffect32, useState as useState29 } from "react";
|
|
28661
28774
|
import { CirclePause, CirclePlay, Pencil as Pencil2, Target as Target3, Trash2 } from "lucide-react";
|
|
28662
|
-
import { jsx as
|
|
28775
|
+
import { jsx as jsx51, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
28663
28776
|
var RESUMABLE_GOAL_STATUSES = /* @__PURE__ */ new Set([
|
|
28664
28777
|
"paused",
|
|
28665
28778
|
"blocked",
|
|
@@ -28768,7 +28881,7 @@ function AgentGoalBanner({
|
|
|
28768
28881
|
onEditObjective?.(next);
|
|
28769
28882
|
}
|
|
28770
28883
|
};
|
|
28771
|
-
return /* @__PURE__ */
|
|
28884
|
+
return /* @__PURE__ */ jsx51("div", { className: AgentGUIChrome_styles_default.sessionChrome, children: /* @__PURE__ */ jsx51(
|
|
28772
28885
|
"section",
|
|
28773
28886
|
{
|
|
28774
28887
|
className: cn(AgentGUIChrome_styles_default.chromeCard, AgentGUIChrome_styles_default.chromeCardMuted),
|
|
@@ -28776,8 +28889,8 @@ function AgentGoalBanner({
|
|
|
28776
28889
|
"data-testid": "agent-gui-goal-banner",
|
|
28777
28890
|
children: /* @__PURE__ */ jsxs36("div", { className: AgentGUIChrome_styles_default.chromeMetaRow, children: [
|
|
28778
28891
|
/* @__PURE__ */ jsxs36("div", { className: AgentGUIChrome_styles_default.chromeMessageSlot, children: [
|
|
28779
|
-
/* @__PURE__ */
|
|
28780
|
-
editDraft !== null ? /* @__PURE__ */
|
|
28892
|
+
/* @__PURE__ */ jsx51("span", { className: AgentGUIChrome_styles_default.chromeIcon, children: /* @__PURE__ */ jsx51(Target3, { "aria-hidden": true, className: "size-3.5" }) }),
|
|
28893
|
+
editDraft !== null ? /* @__PURE__ */ jsx51(
|
|
28781
28894
|
"input",
|
|
28782
28895
|
{
|
|
28783
28896
|
className: AgentGUIChrome_styles_default.chromeGoalEditInput,
|
|
@@ -28803,8 +28916,8 @@ function AgentGoalBanner({
|
|
|
28803
28916
|
className: cn(AgentGUIChrome_styles_default.chromeMessage, AgentGUIChrome_styles_default.chromeNoticeMessage),
|
|
28804
28917
|
title: fullMessage,
|
|
28805
28918
|
children: [
|
|
28806
|
-
/* @__PURE__ */
|
|
28807
|
-
/* @__PURE__ */
|
|
28919
|
+
/* @__PURE__ */ jsx51("span", { className: AgentGUIChrome_styles_default.chromeNoticeTitle, children: title }),
|
|
28920
|
+
/* @__PURE__ */ jsx51(
|
|
28808
28921
|
"span",
|
|
28809
28922
|
{
|
|
28810
28923
|
className: AgentGUIChrome_styles_default.chromeNoticeDescription,
|
|
@@ -28817,7 +28930,7 @@ function AgentGoalBanner({
|
|
|
28817
28930
|
)
|
|
28818
28931
|
] }),
|
|
28819
28932
|
hasActions ? /* @__PURE__ */ jsxs36("div", { className: AgentGUIChrome_styles_default.chromeGoalActions, children: [
|
|
28820
|
-
onEditObjective !== void 0 && editDraft === null ? /* @__PURE__ */
|
|
28933
|
+
onEditObjective !== void 0 && editDraft === null ? /* @__PURE__ */ jsx51(
|
|
28821
28934
|
"button",
|
|
28822
28935
|
{
|
|
28823
28936
|
type: "button",
|
|
@@ -28825,10 +28938,10 @@ function AgentGoalBanner({
|
|
|
28825
28938
|
title: labels.editAction,
|
|
28826
28939
|
"aria-label": labels.editAction,
|
|
28827
28940
|
"data-testid": "agent-gui-goal-banner-edit",
|
|
28828
|
-
children: /* @__PURE__ */
|
|
28941
|
+
children: /* @__PURE__ */ jsx51(Pencil2, { "aria-hidden": true, className: "size-3.5" })
|
|
28829
28942
|
}
|
|
28830
28943
|
) : null,
|
|
28831
|
-
showPause ? /* @__PURE__ */
|
|
28944
|
+
showPause ? /* @__PURE__ */ jsx51(
|
|
28832
28945
|
"button",
|
|
28833
28946
|
{
|
|
28834
28947
|
type: "button",
|
|
@@ -28836,10 +28949,10 @@ function AgentGoalBanner({
|
|
|
28836
28949
|
title: labels.pauseAction,
|
|
28837
28950
|
"aria-label": labels.pauseAction,
|
|
28838
28951
|
"data-testid": "agent-gui-goal-banner-pause",
|
|
28839
|
-
children: /* @__PURE__ */
|
|
28952
|
+
children: /* @__PURE__ */ jsx51(CirclePause, { "aria-hidden": true, className: "size-3.5" })
|
|
28840
28953
|
}
|
|
28841
28954
|
) : null,
|
|
28842
|
-
showResume ? /* @__PURE__ */
|
|
28955
|
+
showResume ? /* @__PURE__ */ jsx51(
|
|
28843
28956
|
"button",
|
|
28844
28957
|
{
|
|
28845
28958
|
type: "button",
|
|
@@ -28847,10 +28960,10 @@ function AgentGoalBanner({
|
|
|
28847
28960
|
title: labels.resumeAction,
|
|
28848
28961
|
"aria-label": labels.resumeAction,
|
|
28849
28962
|
"data-testid": "agent-gui-goal-banner-resume",
|
|
28850
|
-
children: /* @__PURE__ */
|
|
28963
|
+
children: /* @__PURE__ */ jsx51(CirclePlay, { "aria-hidden": true, className: "size-3.5" })
|
|
28851
28964
|
}
|
|
28852
28965
|
) : null,
|
|
28853
|
-
onClearGoal !== void 0 ? /* @__PURE__ */
|
|
28966
|
+
onClearGoal !== void 0 ? /* @__PURE__ */ jsx51(
|
|
28854
28967
|
"button",
|
|
28855
28968
|
{
|
|
28856
28969
|
type: "button",
|
|
@@ -28858,10 +28971,10 @@ function AgentGoalBanner({
|
|
|
28858
28971
|
title: labels.clearAction,
|
|
28859
28972
|
"aria-label": labels.clearAction,
|
|
28860
28973
|
"data-testid": "agent-gui-goal-banner-clear",
|
|
28861
|
-
children: /* @__PURE__ */
|
|
28974
|
+
children: /* @__PURE__ */ jsx51(Trash2, { "aria-hidden": true, className: "size-3.5" })
|
|
28862
28975
|
}
|
|
28863
28976
|
) : null
|
|
28864
|
-
] }) : /* @__PURE__ */
|
|
28977
|
+
] }) : /* @__PURE__ */ jsx51(
|
|
28865
28978
|
"span",
|
|
28866
28979
|
{
|
|
28867
28980
|
className: AgentGUIChrome_styles_default.chromeGoalHint,
|
|
@@ -28875,7 +28988,7 @@ function AgentGoalBanner({
|
|
|
28875
28988
|
}
|
|
28876
28989
|
|
|
28877
28990
|
// agent-gui/agentGuiNode/view/AgentGUIBottomDockPane.tsx
|
|
28878
|
-
import { jsx as
|
|
28991
|
+
import { jsx as jsx52, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
28879
28992
|
var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
28880
28993
|
bottomDockRef,
|
|
28881
28994
|
showScrollToBottom,
|
|
@@ -28915,7 +29028,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28915
29028
|
className: AgentGUINode_styles_default.bottomDock,
|
|
28916
29029
|
"data-testid": "agent-gui-bottom-dock",
|
|
28917
29030
|
children: [
|
|
28918
|
-
showScrollToBottom ? /* @__PURE__ */
|
|
29031
|
+
showScrollToBottom ? /* @__PURE__ */ jsx52(
|
|
28919
29032
|
"button",
|
|
28920
29033
|
{
|
|
28921
29034
|
type: "button",
|
|
@@ -28928,15 +29041,15 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28928
29041
|
title: scrollToBottomLabel,
|
|
28929
29042
|
onPointerDown: (event) => event.stopPropagation(),
|
|
28930
29043
|
onClick: onScrollToBottom,
|
|
28931
|
-
children: /* @__PURE__ */
|
|
29044
|
+
children: /* @__PURE__ */ jsx52(ChevronsDown, { "aria-hidden": "true", size: 15, strokeWidth: 2.2 })
|
|
28932
29045
|
}
|
|
28933
29046
|
) : null,
|
|
28934
|
-
bottomDockLiftedPrompt ? /* @__PURE__ */
|
|
29047
|
+
bottomDockLiftedPrompt ? /* @__PURE__ */ jsx52(
|
|
28935
29048
|
"div",
|
|
28936
29049
|
{
|
|
28937
29050
|
className: AgentGUINode_styles_default.bottomDockPrompt,
|
|
28938
29051
|
"data-testid": "agent-gui-bottom-dock-active-prompt",
|
|
28939
|
-
children: /* @__PURE__ */
|
|
29052
|
+
children: /* @__PURE__ */ jsx52(
|
|
28940
29053
|
AgentInteractivePromptSurface,
|
|
28941
29054
|
{
|
|
28942
29055
|
prompt: bottomDockLiftedPrompt,
|
|
@@ -28951,7 +29064,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28951
29064
|
)
|
|
28952
29065
|
}
|
|
28953
29066
|
) : null,
|
|
28954
|
-
inlineNoticeChrome ? /* @__PURE__ */
|
|
29067
|
+
inlineNoticeChrome ? /* @__PURE__ */ jsx52(
|
|
28955
29068
|
AgentSessionChrome,
|
|
28956
29069
|
{
|
|
28957
29070
|
chrome: inlineNoticeChrome,
|
|
@@ -28963,7 +29076,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28963
29076
|
labels: chromeLabels
|
|
28964
29077
|
}
|
|
28965
29078
|
) : null,
|
|
28966
|
-
/* @__PURE__ */
|
|
29079
|
+
/* @__PURE__ */ jsx52(
|
|
28967
29080
|
AgentSessionChrome,
|
|
28968
29081
|
{
|
|
28969
29082
|
chrome: sessionChrome,
|
|
@@ -28975,7 +29088,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28975
29088
|
labels: chromeLabels
|
|
28976
29089
|
}
|
|
28977
29090
|
),
|
|
28978
|
-
showGoalBanner ? /* @__PURE__ */
|
|
29091
|
+
showGoalBanner ? /* @__PURE__ */ jsx52(
|
|
28979
29092
|
AgentGoalBanner,
|
|
28980
29093
|
{
|
|
28981
29094
|
objective: goalObjective,
|
|
@@ -28989,12 +29102,12 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28989
29102
|
onClearGoal: () => onGoalControl("clear")
|
|
28990
29103
|
}
|
|
28991
29104
|
) : null,
|
|
28992
|
-
bottomDockReplacementPrompt ? /* @__PURE__ */
|
|
29105
|
+
bottomDockReplacementPrompt ? /* @__PURE__ */ jsx52(
|
|
28993
29106
|
"div",
|
|
28994
29107
|
{
|
|
28995
29108
|
className: AgentGUINode_styles_default.bottomDockPrompt,
|
|
28996
29109
|
"data-testid": "agent-gui-bottom-dock-active-prompt",
|
|
28997
|
-
children: /* @__PURE__ */
|
|
29110
|
+
children: /* @__PURE__ */ jsx52(
|
|
28998
29111
|
AgentInteractivePromptSurface,
|
|
28999
29112
|
{
|
|
29000
29113
|
prompt: bottomDockReplacementPrompt,
|
|
@@ -29008,7 +29121,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
29008
29121
|
}
|
|
29009
29122
|
)
|
|
29010
29123
|
}
|
|
29011
|
-
) : /* @__PURE__ */
|
|
29124
|
+
) : /* @__PURE__ */ jsx52(AgentComposer, { ...composerProps })
|
|
29012
29125
|
]
|
|
29013
29126
|
}
|
|
29014
29127
|
);
|
|
@@ -29017,8 +29130,8 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
29017
29130
|
// agent-gui/agentGuiNode/view/AgentGUIDetailHeader.tsx
|
|
29018
29131
|
import { memo as memo10 } from "react";
|
|
29019
29132
|
import { Info as Info2 } from "lucide-react";
|
|
29020
|
-
import { Tooltip as
|
|
29021
|
-
import { jsx as
|
|
29133
|
+
import { Tooltip as Tooltip8, TooltipContent as TooltipContent8, TooltipTrigger as TooltipTrigger8 } from "@tutti-os/ui-system";
|
|
29134
|
+
import { jsx as jsx53, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
29022
29135
|
var AgentGUIDetailHeader = memo10(function AgentGUIDetailHeader2({
|
|
29023
29136
|
activeConversation,
|
|
29024
29137
|
hidden,
|
|
@@ -29031,9 +29144,9 @@ var AgentGUIDetailHeader = memo10(function AgentGUIDetailHeader2({
|
|
|
29031
29144
|
return null;
|
|
29032
29145
|
}
|
|
29033
29146
|
const runPath = activeConversation.cwd.trim();
|
|
29034
|
-
return /* @__PURE__ */
|
|
29035
|
-
/* @__PURE__ */
|
|
29036
|
-
runPath ? /* @__PURE__ */
|
|
29147
|
+
return /* @__PURE__ */ jsx53("div", { className: AgentGUINode_styles_default.detailHeader, children: /* @__PURE__ */ jsxs38("span", { className: AgentGUINode_styles_default.detailHeaderTitleGroup, children: [
|
|
29148
|
+
/* @__PURE__ */ jsx53("span", { className: AgentGUINode_styles_default.detailHeaderTitle, children: conversationPlainTitle(activeConversation, labels, uiLanguage) }),
|
|
29149
|
+
runPath ? /* @__PURE__ */ jsx53(AgentRunPathInfo, { path: runPath, previewMode }) : null
|
|
29037
29150
|
] }) });
|
|
29038
29151
|
});
|
|
29039
29152
|
function AgentRunPathInfo({
|
|
@@ -29041,22 +29154,22 @@ function AgentRunPathInfo({
|
|
|
29041
29154
|
previewMode
|
|
29042
29155
|
}) {
|
|
29043
29156
|
"use memo";
|
|
29044
|
-
const trigger = /* @__PURE__ */
|
|
29157
|
+
const trigger = /* @__PURE__ */ jsx53(
|
|
29045
29158
|
"button",
|
|
29046
29159
|
{
|
|
29047
29160
|
type: "button",
|
|
29048
29161
|
className: AgentGUINode_styles_default.detailHeaderPathInfo,
|
|
29049
29162
|
"aria-label": path,
|
|
29050
|
-
children: /* @__PURE__ */
|
|
29163
|
+
children: /* @__PURE__ */ jsx53(Info2, { size: 14, strokeWidth: 2, "aria-hidden": "true" })
|
|
29051
29164
|
}
|
|
29052
29165
|
);
|
|
29053
29166
|
if (previewMode) {
|
|
29054
29167
|
return trigger;
|
|
29055
29168
|
}
|
|
29056
|
-
return /* @__PURE__ */ jsxs38(
|
|
29057
|
-
/* @__PURE__ */
|
|
29058
|
-
/* @__PURE__ */
|
|
29059
|
-
|
|
29169
|
+
return /* @__PURE__ */ jsxs38(Tooltip8, { children: [
|
|
29170
|
+
/* @__PURE__ */ jsx53(TooltipTrigger8, { asChild: true, children: trigger }),
|
|
29171
|
+
/* @__PURE__ */ jsx53(
|
|
29172
|
+
TooltipContent8,
|
|
29060
29173
|
{
|
|
29061
29174
|
side: "top",
|
|
29062
29175
|
align: "start",
|
|
@@ -29069,7 +29182,7 @@ function AgentRunPathInfo({
|
|
|
29069
29182
|
|
|
29070
29183
|
// agent-gui/agentGuiNode/view/AgentGUIConversationTimelinePane.tsx
|
|
29071
29184
|
import { memo as memo11 } from "react";
|
|
29072
|
-
import { Fragment as Fragment14, jsx as
|
|
29185
|
+
import { Fragment as Fragment14, jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
29073
29186
|
var EMPTY_WORKSPACE_APP_ICONS3 = [];
|
|
29074
29187
|
var AgentGUIConversationTimelinePane = memo11(
|
|
29075
29188
|
function AgentGUIConversationTimelinePane2({
|
|
@@ -29087,16 +29200,16 @@ var AgentGUIConversationTimelinePane = memo11(
|
|
|
29087
29200
|
}) {
|
|
29088
29201
|
"use memo";
|
|
29089
29202
|
return /* @__PURE__ */ jsxs39(Fragment14, { children: [
|
|
29090
|
-
isLoadingOlderMessages && !isLoading ? /* @__PURE__ */
|
|
29203
|
+
isLoadingOlderMessages && !isLoading ? /* @__PURE__ */ jsx54(
|
|
29091
29204
|
"div",
|
|
29092
29205
|
{
|
|
29093
29206
|
className: "mx-auto flex h-8 items-center justify-center text-[12px] text-[var(--text-secondary)]",
|
|
29094
29207
|
"data-testid": "agent-gui-older-messages-loading",
|
|
29095
29208
|
role: "status",
|
|
29096
|
-
children: /* @__PURE__ */
|
|
29209
|
+
children: /* @__PURE__ */ jsx54("span", { className: "tsh-inline-loading-ellipsis", children: loadingLabel })
|
|
29097
29210
|
}
|
|
29098
29211
|
) : null,
|
|
29099
|
-
/* @__PURE__ */
|
|
29212
|
+
/* @__PURE__ */ jsx54(
|
|
29100
29213
|
AgentConversationFlow,
|
|
29101
29214
|
{
|
|
29102
29215
|
conversation,
|
|
@@ -29431,10 +29544,10 @@ function useAgentGUIDetailScroll(input) {
|
|
|
29431
29544
|
import { useMemo as useMemo34 } from "react";
|
|
29432
29545
|
|
|
29433
29546
|
// app/renderer/components/icons/UnavailableChatIcon.tsx
|
|
29434
|
-
import { jsx as
|
|
29547
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
29435
29548
|
function UnavailableChatIcon(props) {
|
|
29436
29549
|
"use memo";
|
|
29437
|
-
return /* @__PURE__ */
|
|
29550
|
+
return /* @__PURE__ */ jsx55(
|
|
29438
29551
|
"svg",
|
|
29439
29552
|
{
|
|
29440
29553
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -29442,13 +29555,13 @@ function UnavailableChatIcon(props) {
|
|
|
29442
29555
|
fill: "currentColor",
|
|
29443
29556
|
"aria-hidden": true,
|
|
29444
29557
|
...props,
|
|
29445
|
-
children: /* @__PURE__ */
|
|
29558
|
+
children: /* @__PURE__ */ jsx55("path", { d: "M20.833 2.125C21.6507 2.125 22.4355 2.45019 23.0137 3.02832C23.5916 3.60645 23.9159 4.39053 23.916 5.20801V17.708C23.916 18.5257 23.5918 19.3104 23.0137 19.8887C22.4355 20.4668 21.6507 20.792 20.833 20.792H7.1123C6.82516 20.7922 6.5497 20.9063 6.34668 21.1094L4.05273 23.4033C3.80954 23.6464 3.49934 23.8118 3.16211 23.8789C2.82492 23.9459 2.47487 23.9118 2.15723 23.7803C1.83953 23.6486 1.56707 23.4256 1.37598 23.1396C1.18489 22.8536 1.08305 22.5168 1.08301 22.1729V5.20801C1.08309 4.39045 1.40827 3.60647 1.98633 3.02832C2.56441 2.45024 3.3485 2.12517 4.16602 2.125H20.833ZM16.1533 7.80566C15.7628 7.41518 15.1298 7.41527 14.7393 7.80566L12.5 10.0439L10.2607 7.80469C9.87031 7.41464 9.23712 7.41465 8.84668 7.80469C8.45627 8.19509 8.45651 8.8282 8.84668 9.21875L11.0859 11.458L8.84668 13.6982C8.45651 14.0888 8.45627 14.7219 8.84668 15.1123C9.2371 15.5026 9.87024 15.5024 10.2607 15.1123L12.5 12.873L14.7393 15.1113C15.1298 15.5017 15.7628 15.5018 16.1533 15.1113C16.5434 14.7208 16.5436 14.0877 16.1533 13.6973L13.9141 11.458L16.1533 9.21973C16.5437 8.82924 16.5437 8.19616 16.1533 7.80566Z" })
|
|
29446
29559
|
}
|
|
29447
29560
|
);
|
|
29448
29561
|
}
|
|
29449
29562
|
|
|
29450
29563
|
// agent-gui/agentGuiNode/view/useAgentGUIDetailModel.tsx
|
|
29451
|
-
import { Fragment as Fragment15, jsx as
|
|
29564
|
+
import { Fragment as Fragment15, jsx as jsx56, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
29452
29565
|
function useAgentGUIDetailModel(input) {
|
|
29453
29566
|
const {
|
|
29454
29567
|
bottomDockDismissedPromptRequestId,
|
|
@@ -29582,11 +29695,11 @@ function useAgentGUIDetailModel(input) {
|
|
|
29582
29695
|
className: AgentGUINode_styles_default.unavailableChatEmpty,
|
|
29583
29696
|
"data-testid": "agent-gui-unavailable-chat-empty",
|
|
29584
29697
|
children: [
|
|
29585
|
-
/* @__PURE__ */
|
|
29586
|
-
/* @__PURE__ */
|
|
29698
|
+
/* @__PURE__ */ jsx56(UnavailableChatIcon, { className: AgentGUINode_styles_default.unavailableChatEmptyIcon }),
|
|
29699
|
+
/* @__PURE__ */ jsx56("span", { className: AgentGUINode_styles_default.unavailableChatEmptyText, children: labels.conversationUnavailable })
|
|
29587
29700
|
]
|
|
29588
29701
|
}
|
|
29589
|
-
) : /* @__PURE__ */
|
|
29702
|
+
) : /* @__PURE__ */ jsx56(Fragment15, {}),
|
|
29590
29703
|
[labels.conversationUnavailable, showUnavailableChatEmpty]
|
|
29591
29704
|
);
|
|
29592
29705
|
const chromeLabels = useMemo34(
|
|
@@ -29954,7 +30067,7 @@ function useAgentGUIDetailModel(input) {
|
|
|
29954
30067
|
}
|
|
29955
30068
|
|
|
29956
30069
|
// agent-gui/agentGuiNode/view/AgentGUIDetailPane.tsx
|
|
29957
|
-
import { Fragment as Fragment16, jsx as
|
|
30070
|
+
import { Fragment as Fragment16, jsx as jsx57, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
29958
30071
|
var AGENT_GUI_TIMELINE_SCROLL_AREA_CONTENT_STYLE = {
|
|
29959
30072
|
width: "100%",
|
|
29960
30073
|
minWidth: "100%",
|
|
@@ -30006,6 +30119,7 @@ function mergeWorkspaceAppIconsFromCommands(input) {
|
|
|
30006
30119
|
}
|
|
30007
30120
|
var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
30008
30121
|
viewModel,
|
|
30122
|
+
referenceProvenanceFilter = null,
|
|
30009
30123
|
composerEngagement,
|
|
30010
30124
|
actions,
|
|
30011
30125
|
labels,
|
|
@@ -30142,13 +30256,13 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30142
30256
|
pendingPrependScrollAnchorRef.current = null;
|
|
30143
30257
|
}, [viewModel.rail.activeConversationId]);
|
|
30144
30258
|
const submitPromptAndScrollToBottom = useCallback45(
|
|
30145
|
-
(content, displayPrompt) => {
|
|
30259
|
+
(content, displayPrompt, options) => {
|
|
30146
30260
|
requestSubmittedPromptScrollToBottom();
|
|
30147
30261
|
if (displayPrompt === void 0) {
|
|
30148
|
-
submitPrompt(content);
|
|
30262
|
+
submitPrompt(content, void 0, options);
|
|
30149
30263
|
return;
|
|
30150
30264
|
}
|
|
30151
|
-
submitPrompt(content, displayPrompt);
|
|
30265
|
+
submitPrompt(content, displayPrompt, options);
|
|
30152
30266
|
},
|
|
30153
30267
|
[requestSubmittedPromptScrollToBottom, submitPrompt]
|
|
30154
30268
|
);
|
|
@@ -30263,6 +30377,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30263
30377
|
showStopButton,
|
|
30264
30378
|
previewMode,
|
|
30265
30379
|
workspaceReferencePickerOpen,
|
|
30380
|
+
referenceProvenanceFilter,
|
|
30266
30381
|
// Plan decisions replace the composer; approval / ask-user embed here.
|
|
30267
30382
|
activePrompt: composerActivePrompt,
|
|
30268
30383
|
backgroundAgentStatusText,
|
|
@@ -30371,6 +30486,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30371
30486
|
viewModel.detail.usage,
|
|
30372
30487
|
viewModel.shell.workspaceId,
|
|
30373
30488
|
viewModel.shell.workspacePath,
|
|
30489
|
+
referenceProvenanceFilter,
|
|
30374
30490
|
workspaceUserProjectI18n,
|
|
30375
30491
|
workspaceAppIcons,
|
|
30376
30492
|
selectHomeComposerAgentTargetAndFocus
|
|
@@ -30421,7 +30537,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30421
30537
|
viewModel
|
|
30422
30538
|
});
|
|
30423
30539
|
return /* @__PURE__ */ jsxs41("main", { className: AgentGUINode_styles_default.detail, children: [
|
|
30424
|
-
/* @__PURE__ */
|
|
30540
|
+
/* @__PURE__ */ jsx57(
|
|
30425
30541
|
AgentGUIDetailHeader,
|
|
30426
30542
|
{
|
|
30427
30543
|
activeConversation: viewModel.rail.activeConversation,
|
|
@@ -30442,8 +30558,8 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30442
30558
|
"data-testid": "agent-gui-provider-setup-notice",
|
|
30443
30559
|
role: "status",
|
|
30444
30560
|
children: [
|
|
30445
|
-
/* @__PURE__ */
|
|
30446
|
-
/* @__PURE__ */
|
|
30561
|
+
/* @__PURE__ */ jsx57("span", { className: "inline-flex max-w-full items-center justify-center gap-[6px] text-center text-[13px] font-normal leading-normal", children: /* @__PURE__ */ jsx57("span", { className: "min-w-0 break-words", children: labels.installRequiredPlaceholder }) }),
|
|
30562
|
+
/* @__PURE__ */ jsx57(
|
|
30447
30563
|
"button",
|
|
30448
30564
|
{
|
|
30449
30565
|
type: "button",
|
|
@@ -30463,7 +30579,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30463
30579
|
]
|
|
30464
30580
|
}
|
|
30465
30581
|
) : null,
|
|
30466
|
-
/* @__PURE__ */
|
|
30582
|
+
/* @__PURE__ */ jsx57(
|
|
30467
30583
|
ScrollArea2,
|
|
30468
30584
|
{
|
|
30469
30585
|
scrollbarMode: "native",
|
|
@@ -30472,7 +30588,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30472
30588
|
viewportTestId: "agent-gui-timeline",
|
|
30473
30589
|
viewportClassName: `${AgentGUINode_styles_default.timeline} ${hasActiveConversation ? AgentGUINode_styles_default.timelineWithComposer : AgentGUINode_styles_default.timelineCentered} ${!isTimelineScrolledToTop ? AgentGUINode_styles_default.timelineScrolledFromTop : ""} ${showUnavailableChatEmpty ? AgentGUINode_styles_default.timelineUnavailableChatEmpty : ""}`.trim(),
|
|
30474
30590
|
viewportContentStyle: AGENT_GUI_TIMELINE_SCROLL_AREA_CONTENT_STYLE,
|
|
30475
|
-
children: !hasActiveConversation ? shouldRenderProviderUnavailableState && disabledProviderTarget ? /* @__PURE__ */
|
|
30591
|
+
children: !hasActiveConversation ? shouldRenderProviderUnavailableState && disabledProviderTarget ? /* @__PURE__ */ jsx57(Fragment16, { children: renderProviderUnavailableState?.({
|
|
30476
30592
|
provider: disabledProviderTarget.provider,
|
|
30477
30593
|
providerLabel: labels.emptyProviderForProvider?.(
|
|
30478
30594
|
disabledProviderTarget.provider
|
|
@@ -30484,7 +30600,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30484
30600
|
disabledProviderTarget.provider
|
|
30485
30601
|
),
|
|
30486
30602
|
unavailableReason: disabledProviderTarget.unavailableReason ?? null
|
|
30487
|
-
}) }) : /* @__PURE__ */
|
|
30603
|
+
}) }) : /* @__PURE__ */ jsx57(
|
|
30488
30604
|
AgentGUIEmptyHomePane,
|
|
30489
30605
|
{
|
|
30490
30606
|
provider: emptyHeroProvider,
|
|
@@ -30507,7 +30623,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30507
30623
|
onSelectSuggestion: handleSelectHomeSuggestion,
|
|
30508
30624
|
onSelectSuggestionAction: handleHomeSuggestionAction
|
|
30509
30625
|
}
|
|
30510
|
-
) : /* @__PURE__ */
|
|
30626
|
+
) : /* @__PURE__ */ jsx57(
|
|
30511
30627
|
AgentGUIConversationTimelinePane,
|
|
30512
30628
|
{
|
|
30513
30629
|
conversation,
|
|
@@ -30525,7 +30641,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30525
30641
|
)
|
|
30526
30642
|
}
|
|
30527
30643
|
),
|
|
30528
|
-
hasActiveConversation ? /* @__PURE__ */
|
|
30644
|
+
hasActiveConversation ? /* @__PURE__ */ jsx57(
|
|
30529
30645
|
AgentGUIBottomDockPane,
|
|
30530
30646
|
{
|
|
30531
30647
|
bottomDockRef,
|
|
@@ -30557,13 +30673,12 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30557
30673
|
// agent-gui/agentGuiNode/view/AgentGUIRenameConversationDialog.tsx
|
|
30558
30674
|
import { memo as memo13, useCallback as useCallback46, useEffect as useEffect35, useRef as useRef37, useState as useState32 } from "react";
|
|
30559
30675
|
import { ConfirmationDialog as ConfirmationDialog2 } from "@tutti-os/ui-system";
|
|
30560
|
-
import { jsx as
|
|
30676
|
+
import { jsx as jsx58, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
30561
30677
|
var AgentGUIRenameConversationDialog = memo13(
|
|
30562
30678
|
function AgentGUIRenameConversationDialog2({
|
|
30563
30679
|
conversation,
|
|
30564
30680
|
open,
|
|
30565
30681
|
labels,
|
|
30566
|
-
uiLanguage,
|
|
30567
30682
|
onOpenChange,
|
|
30568
30683
|
onRename
|
|
30569
30684
|
}) {
|
|
@@ -30582,8 +30697,8 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30582
30697
|
setIsSaving(false);
|
|
30583
30698
|
return;
|
|
30584
30699
|
}
|
|
30585
|
-
setTitle(
|
|
30586
|
-
}, [conversation,
|
|
30700
|
+
setTitle(conversation.title);
|
|
30701
|
+
}, [conversation, open]);
|
|
30587
30702
|
useEffect35(() => {
|
|
30588
30703
|
if (!open) {
|
|
30589
30704
|
return;
|
|
@@ -30614,7 +30729,7 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30614
30729
|
setIsSaving(false);
|
|
30615
30730
|
});
|
|
30616
30731
|
}, [conversation, onOpenChange, onRename, trimmedTitle]);
|
|
30617
|
-
return /* @__PURE__ */
|
|
30732
|
+
return /* @__PURE__ */ jsx58(
|
|
30618
30733
|
ConfirmationDialog2,
|
|
30619
30734
|
{
|
|
30620
30735
|
cancelLabel: labels.cancel,
|
|
@@ -30624,7 +30739,7 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30624
30739
|
confirmLabel: labels.renameSessionSave,
|
|
30625
30740
|
description: labels.renameSessionDescription,
|
|
30626
30741
|
footer: /* @__PURE__ */ jsxs42("div", { className: "flex justify-end gap-2", children: [
|
|
30627
|
-
/* @__PURE__ */
|
|
30742
|
+
/* @__PURE__ */ jsx58(
|
|
30628
30743
|
Button,
|
|
30629
30744
|
{
|
|
30630
30745
|
disabled: isSaving,
|
|
@@ -30662,7 +30777,7 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30662
30777
|
children: labels.cancel
|
|
30663
30778
|
}
|
|
30664
30779
|
),
|
|
30665
|
-
/* @__PURE__ */
|
|
30780
|
+
/* @__PURE__ */ jsx58(
|
|
30666
30781
|
Button,
|
|
30667
30782
|
{
|
|
30668
30783
|
className: "shadow-none",
|
|
@@ -30717,7 +30832,7 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30717
30832
|
title: labels.renameSessionTitle,
|
|
30718
30833
|
onConfirm: confirmRename,
|
|
30719
30834
|
onOpenChange,
|
|
30720
|
-
children: /* @__PURE__ */
|
|
30835
|
+
children: /* @__PURE__ */ jsx58(
|
|
30721
30836
|
"input",
|
|
30722
30837
|
{
|
|
30723
30838
|
ref: inputRef,
|
|
@@ -30739,6 +30854,66 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30739
30854
|
}
|
|
30740
30855
|
);
|
|
30741
30856
|
|
|
30857
|
+
// agent-gui/agentGuiNode/view/AgentGUIReferencePickerSurface.tsx
|
|
30858
|
+
import {
|
|
30859
|
+
ReferenceSourcePicker,
|
|
30860
|
+
WorkspaceFileReferencePicker
|
|
30861
|
+
} from "@tutti-os/workspace-file-reference/ui";
|
|
30862
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
30863
|
+
function AgentGUIReferencePickerSurface({
|
|
30864
|
+
aggregator,
|
|
30865
|
+
copy,
|
|
30866
|
+
fileAdapter,
|
|
30867
|
+
fileManagerCopy,
|
|
30868
|
+
initialPath,
|
|
30869
|
+
initialTarget,
|
|
30870
|
+
isNodeSelectable,
|
|
30871
|
+
open,
|
|
30872
|
+
provenanceFilter,
|
|
30873
|
+
resolveEntryIconUrl,
|
|
30874
|
+
workspaceId,
|
|
30875
|
+
onClose,
|
|
30876
|
+
onConfirm,
|
|
30877
|
+
onConfirmBundles
|
|
30878
|
+
}) {
|
|
30879
|
+
return aggregator ? /* @__PURE__ */ jsx59(
|
|
30880
|
+
ReferenceSourcePicker,
|
|
30881
|
+
{
|
|
30882
|
+
aggregator,
|
|
30883
|
+
copy,
|
|
30884
|
+
initialTarget,
|
|
30885
|
+
isNodeSelectable,
|
|
30886
|
+
fileManagerCopy: fileManagerCopy ?? void 0,
|
|
30887
|
+
open,
|
|
30888
|
+
provenanceFilter: provenanceFilter?.snapshot.value,
|
|
30889
|
+
provenanceFilterControl: provenanceFilter ? /* @__PURE__ */ jsx59(
|
|
30890
|
+
AgentReferenceProvenanceFilterControl,
|
|
30891
|
+
{
|
|
30892
|
+
filter: provenanceFilter,
|
|
30893
|
+
popoverElevation: "panel"
|
|
30894
|
+
}
|
|
30895
|
+
) : void 0,
|
|
30896
|
+
resolveEntryIconUrl,
|
|
30897
|
+
workspaceId,
|
|
30898
|
+
onClose,
|
|
30899
|
+
onConfirm,
|
|
30900
|
+
onConfirmBundles
|
|
30901
|
+
}
|
|
30902
|
+
) : /* @__PURE__ */ jsx59(
|
|
30903
|
+
WorkspaceFileReferencePicker,
|
|
30904
|
+
{
|
|
30905
|
+
copy,
|
|
30906
|
+
fileAdapter: fileAdapter ?? void 0,
|
|
30907
|
+
initialPath,
|
|
30908
|
+
open,
|
|
30909
|
+
scoped: true,
|
|
30910
|
+
workspaceId,
|
|
30911
|
+
onClose,
|
|
30912
|
+
onConfirm
|
|
30913
|
+
}
|
|
30914
|
+
);
|
|
30915
|
+
}
|
|
30916
|
+
|
|
30742
30917
|
// agent-gui/agentGuiNode/view/useAgentGUIWorkspaceReferencePicker.ts
|
|
30743
30918
|
import { useCallback as useCallback47, useMemo as useMemo36, useRef as useRef38, useState as useState33 } from "react";
|
|
30744
30919
|
import { createRichTextMentionHref } from "@tutti-os/ui-rich-text/core";
|
|
@@ -31118,9 +31293,10 @@ function useAgentGUINodeEngagement(input) {
|
|
|
31118
31293
|
}
|
|
31119
31294
|
|
|
31120
31295
|
// agent-gui/agentGuiNode/AgentGUINodeView.tsx
|
|
31121
|
-
import { jsx as
|
|
31296
|
+
import { jsx as jsx60, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
31122
31297
|
function AgentGUINodeView({
|
|
31123
31298
|
viewModel,
|
|
31299
|
+
referenceProvenanceFilter = null,
|
|
31124
31300
|
renderSidebarFooter,
|
|
31125
31301
|
renderProviderRailEmpty,
|
|
31126
31302
|
renderProviderUnavailableState,
|
|
@@ -31556,7 +31732,7 @@ function AgentGUINodeView({
|
|
|
31556
31732
|
"aria-hidden": conversationRailCollapsed ? "true" : void 0,
|
|
31557
31733
|
inert: conversationRailCollapsed ? true : void 0,
|
|
31558
31734
|
children: [
|
|
31559
|
-
/* @__PURE__ */
|
|
31735
|
+
/* @__PURE__ */ jsx60(
|
|
31560
31736
|
AgentGUIProviderRail,
|
|
31561
31737
|
{
|
|
31562
31738
|
activeConversation: viewModel.rail.activeConversation,
|
|
@@ -31580,7 +31756,7 @@ function AgentGUINodeView({
|
|
|
31580
31756
|
onRequestComposerFocus: requestComposerFocus
|
|
31581
31757
|
}
|
|
31582
31758
|
),
|
|
31583
|
-
renderSidebarFooter ? /* @__PURE__ */
|
|
31759
|
+
renderSidebarFooter ? /* @__PURE__ */ jsx60(
|
|
31584
31760
|
"div",
|
|
31585
31761
|
{
|
|
31586
31762
|
className: `${AgentGUINode_styles_default.providerRailFooter} ${AgentGUINode_styles_default.providerRailSidebarFooter} nodrag tsh-desktop-no-drag`,
|
|
@@ -31591,12 +31767,12 @@ function AgentGUINodeView({
|
|
|
31591
31767
|
})
|
|
31592
31768
|
}
|
|
31593
31769
|
) : null,
|
|
31594
|
-
shouldShowProviderRailConfigButton ? /* @__PURE__ */
|
|
31770
|
+
shouldShowProviderRailConfigButton ? /* @__PURE__ */ jsx60(
|
|
31595
31771
|
"div",
|
|
31596
31772
|
{
|
|
31597
31773
|
className: `${AgentGUINode_styles_default.providerRailFooter} ${AgentGUINode_styles_default.providerRailConfigFooter} nodrag tsh-desktop-no-drag`,
|
|
31598
31774
|
"data-testid": "agent-gui-config-footer",
|
|
31599
|
-
children: shouldShowProviderRailConfigMenu ? /* @__PURE__ */
|
|
31775
|
+
children: shouldShowProviderRailConfigMenu ? /* @__PURE__ */ jsx60(
|
|
31600
31776
|
AgentGUIConfigMenu,
|
|
31601
31777
|
{
|
|
31602
31778
|
environmentSetupVisible,
|
|
@@ -31615,7 +31791,7 @@ function AgentGUINodeView({
|
|
|
31615
31791
|
onOpenAgentEnvSetup: openAgentEnvSetup,
|
|
31616
31792
|
onOpenAgentSettings: openAgentSettings
|
|
31617
31793
|
}
|
|
31618
|
-
) : /* @__PURE__ */
|
|
31794
|
+
) : /* @__PURE__ */ jsx60(
|
|
31619
31795
|
"button",
|
|
31620
31796
|
{
|
|
31621
31797
|
type: "button",
|
|
@@ -31624,7 +31800,7 @@ function AgentGUINodeView({
|
|
|
31624
31800
|
title: labels.agentSettingsMenu,
|
|
31625
31801
|
disabled: previewMode,
|
|
31626
31802
|
onClick: openAgentSettings,
|
|
31627
|
-
children: /* @__PURE__ */
|
|
31803
|
+
children: /* @__PURE__ */ jsx60(
|
|
31628
31804
|
SettingsLinedIcon,
|
|
31629
31805
|
{
|
|
31630
31806
|
"aria-hidden": "true",
|
|
@@ -31639,21 +31815,21 @@ function AgentGUINodeView({
|
|
|
31639
31815
|
]
|
|
31640
31816
|
}
|
|
31641
31817
|
) : null,
|
|
31642
|
-
/* @__PURE__ */
|
|
31818
|
+
/* @__PURE__ */ jsx60(
|
|
31643
31819
|
"aside",
|
|
31644
31820
|
{
|
|
31645
31821
|
id: "agent-gui-conversation-rail",
|
|
31646
31822
|
className: `${AgentGUINode_styles_default.railPanel}${conversationRailCollapsed ? ` ${AgentGUINode_styles_default.railPanelCollapsed}` : ""}`,
|
|
31647
31823
|
"aria-hidden": conversationRailCollapsed ? "true" : void 0,
|
|
31648
31824
|
inert: conversationRailCollapsed ? true : void 0,
|
|
31649
|
-
children: /* @__PURE__ */
|
|
31825
|
+
children: /* @__PURE__ */ jsx60(
|
|
31650
31826
|
AgentGUIConversationRailController,
|
|
31651
31827
|
{
|
|
31652
31828
|
...conversationRailStoreState,
|
|
31653
31829
|
conversations: viewModel.rail.conversations,
|
|
31654
31830
|
userProjects: viewModel.rail.userProjects,
|
|
31655
31831
|
workspaceId: viewModel.shell.workspaceId,
|
|
31656
|
-
footer: accountMenuState?.user ? /* @__PURE__ */
|
|
31832
|
+
footer: accountMenuState?.user ? /* @__PURE__ */ jsx60(
|
|
31657
31833
|
AgentGUIAccountRailMenu,
|
|
31658
31834
|
{
|
|
31659
31835
|
accountMenuState,
|
|
@@ -31665,7 +31841,7 @@ function AgentGUINodeView({
|
|
|
31665
31841
|
)
|
|
31666
31842
|
}
|
|
31667
31843
|
),
|
|
31668
|
-
/* @__PURE__ */
|
|
31844
|
+
/* @__PURE__ */ jsx60(
|
|
31669
31845
|
"div",
|
|
31670
31846
|
{
|
|
31671
31847
|
id: "agent-gui-conversation-rail-resize",
|
|
@@ -31689,10 +31865,11 @@ function AgentGUINodeView({
|
|
|
31689
31865
|
onPointerUp: endConversationRailResize
|
|
31690
31866
|
}
|
|
31691
31867
|
),
|
|
31692
|
-
/* @__PURE__ */
|
|
31868
|
+
/* @__PURE__ */ jsx60("section", { id: "agent-gui-detail", className: AgentGUINode_styles_default.detailPanel, children: /* @__PURE__ */ jsx60(
|
|
31693
31869
|
AgentGUIDetailPane,
|
|
31694
31870
|
{
|
|
31695
31871
|
viewModel,
|
|
31872
|
+
referenceProvenanceFilter,
|
|
31696
31873
|
composerEngagement,
|
|
31697
31874
|
actions,
|
|
31698
31875
|
labels,
|
|
@@ -31726,41 +31903,31 @@ function AgentGUINodeView({
|
|
|
31726
31903
|
]
|
|
31727
31904
|
}
|
|
31728
31905
|
),
|
|
31729
|
-
|
|
31730
|
-
|
|
31906
|
+
/* @__PURE__ */ jsx60(
|
|
31907
|
+
AgentGUIReferencePickerSurface,
|
|
31731
31908
|
{
|
|
31732
31909
|
aggregator: referenceSourceAggregator,
|
|
31733
31910
|
copy: workspaceFileReferenceCopy ?? fallbackWorkspaceFileReferenceCopy,
|
|
31911
|
+
fileAdapter: workspaceFileReferenceAdapter,
|
|
31912
|
+
fileManagerCopy: workspaceFileManagerCopy,
|
|
31913
|
+
initialPath: viewModel.composer.composerSettings.selectedProjectPath,
|
|
31734
31914
|
initialTarget: workspaceReferencePickerTarget,
|
|
31735
31915
|
isNodeSelectable: isWorkspaceReferencePickerNodeSelectable,
|
|
31736
|
-
fileManagerCopy: workspaceFileManagerCopy ?? void 0,
|
|
31737
31916
|
open: workspaceReferencePickerOpen,
|
|
31917
|
+
provenanceFilter: referenceProvenanceFilter,
|
|
31738
31918
|
resolveEntryIconUrl: resolveWorkspaceReferenceEntryIconUrl,
|
|
31739
31919
|
workspaceId: viewModel.shell.workspaceId,
|
|
31740
31920
|
onClose: closeWorkspaceReferencePicker,
|
|
31741
31921
|
onConfirm: confirmWorkspaceReferencePicker,
|
|
31742
31922
|
onConfirmBundles: confirmWorkspaceReferenceBundles
|
|
31743
31923
|
}
|
|
31744
|
-
) : /* @__PURE__ */ jsx58(
|
|
31745
|
-
WorkspaceFileReferencePicker,
|
|
31746
|
-
{
|
|
31747
|
-
copy: workspaceFileReferenceCopy ?? fallbackWorkspaceFileReferenceCopy,
|
|
31748
|
-
fileAdapter: workspaceFileReferenceAdapter ?? void 0,
|
|
31749
|
-
initialPath: viewModel.composer.composerSettings.selectedProjectPath,
|
|
31750
|
-
open: workspaceReferencePickerOpen,
|
|
31751
|
-
scoped: true,
|
|
31752
|
-
workspaceId: viewModel.shell.workspaceId,
|
|
31753
|
-
onClose: closeWorkspaceReferencePicker,
|
|
31754
|
-
onConfirm: confirmWorkspaceReferencePicker
|
|
31755
|
-
}
|
|
31756
31924
|
),
|
|
31757
|
-
/* @__PURE__ */
|
|
31925
|
+
/* @__PURE__ */ jsx60(
|
|
31758
31926
|
AgentGUIRenameConversationDialog,
|
|
31759
31927
|
{
|
|
31760
31928
|
conversation: renameConversationTarget,
|
|
31761
31929
|
open: renameConversationDialogOpen && renameConversationTarget !== null,
|
|
31762
31930
|
labels,
|
|
31763
|
-
uiLanguage,
|
|
31764
31931
|
onOpenChange: (open) => {
|
|
31765
31932
|
setRenameConversationDialogOpen(open);
|
|
31766
31933
|
if (!open) {
|
|
@@ -31771,7 +31938,7 @@ function AgentGUINodeView({
|
|
|
31771
31938
|
}
|
|
31772
31939
|
)
|
|
31773
31940
|
] });
|
|
31774
|
-
return previewMode ? content : /* @__PURE__ */
|
|
31941
|
+
return previewMode ? content : /* @__PURE__ */ jsx60(TooltipProvider5, { children: content });
|
|
31775
31942
|
}
|
|
31776
31943
|
|
|
31777
31944
|
// agent-gui/workspaceDesktop/view/desktopDockAgentProbeTooltipModel.ts
|
|
@@ -31952,7 +32119,7 @@ import {
|
|
|
31952
32119
|
useState as useState35
|
|
31953
32120
|
} from "react";
|
|
31954
32121
|
import { createPortal as createPortal5 } from "react-dom";
|
|
31955
|
-
import { Fragment as Fragment17, jsx as
|
|
32122
|
+
import { Fragment as Fragment17, jsx as jsx61, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
31956
32123
|
var POPOVER_MIN_VIEWPORT_INSET_PX = 16;
|
|
31957
32124
|
var POPOVER_DEFAULT_WIDTH_PX = 260;
|
|
31958
32125
|
function dockAgentProbeLineKey(line) {
|
|
@@ -31966,7 +32133,7 @@ function renderDockAgentProbeLine(line) {
|
|
|
31966
32133
|
line.primary,
|
|
31967
32134
|
line.secondary ? /* @__PURE__ */ jsxs44(Fragment17, { children: [
|
|
31968
32135
|
" ",
|
|
31969
|
-
/* @__PURE__ */
|
|
32136
|
+
/* @__PURE__ */ jsx61("span", { className: "desktop-dock-popup__agent-status-secondary", children: line.secondary })
|
|
31970
32137
|
] }) : null
|
|
31971
32138
|
] });
|
|
31972
32139
|
}
|
|
@@ -32050,7 +32217,7 @@ function AgentProbeInfoPopover({
|
|
|
32050
32217
|
if (lines.length === 0) {
|
|
32051
32218
|
return null;
|
|
32052
32219
|
}
|
|
32053
|
-
const popover = /* @__PURE__ */
|
|
32220
|
+
const popover = /* @__PURE__ */ jsx61(
|
|
32054
32221
|
"div",
|
|
32055
32222
|
{
|
|
32056
32223
|
ref: popoverRef,
|
|
@@ -32059,7 +32226,7 @@ function AgentProbeInfoPopover({
|
|
|
32059
32226
|
style: popoverStyle ?? void 0,
|
|
32060
32227
|
onMouseEnter: openPopover,
|
|
32061
32228
|
onMouseLeave: closeIfPointerLeavesPopover,
|
|
32062
|
-
children: /* @__PURE__ */
|
|
32229
|
+
children: /* @__PURE__ */ jsx61("ul", { className: "desktop-dock-popup__agent-info-list", children: lines.map((line) => {
|
|
32063
32230
|
const label = getDockAgentProbeLineLabel(line);
|
|
32064
32231
|
const valueText = formatDockAgentProbeLineText(line);
|
|
32065
32232
|
return /* @__PURE__ */ jsxs44(
|
|
@@ -32068,8 +32235,8 @@ function AgentProbeInfoPopover({
|
|
|
32068
32235
|
className: "desktop-dock-popup__agent-info-item",
|
|
32069
32236
|
"data-has-label": label ? "true" : "false",
|
|
32070
32237
|
children: [
|
|
32071
|
-
label ? /* @__PURE__ */
|
|
32072
|
-
/* @__PURE__ */
|
|
32238
|
+
label ? /* @__PURE__ */ jsx61("span", { className: "desktop-dock-popup__agent-info-label", children: label }) : null,
|
|
32239
|
+
/* @__PURE__ */ jsx61(
|
|
32073
32240
|
"span",
|
|
32074
32241
|
{
|
|
32075
32242
|
className: "desktop-dock-popup__agent-info-value",
|
|
@@ -32104,7 +32271,7 @@ function AgentProbeInfoPopover({
|
|
|
32104
32271
|
},
|
|
32105
32272
|
onBlur: () => setIsOpen(false),
|
|
32106
32273
|
children: [
|
|
32107
|
-
/* @__PURE__ */
|
|
32274
|
+
/* @__PURE__ */ jsx61(Info3, { size: 15, strokeWidth: 2.1, "aria-hidden": "true" }),
|
|
32108
32275
|
isOpen ? createPortal5(popover, document.body) : null
|
|
32109
32276
|
]
|
|
32110
32277
|
}
|
|
@@ -32315,7 +32482,7 @@ function areAgentGUINodePropsEqual(previous, next) {
|
|
|
32315
32482
|
const pc = previous.hostCapabilities, nc = next.hostCapabilities;
|
|
32316
32483
|
const pa = previous.hostActions, na = next.hostActions;
|
|
32317
32484
|
const ps = previous.renderSlots, ns = next.renderSlots;
|
|
32318
|
-
return pi.nodeId === ni.nodeId && pi.workspaceId === ni.workspaceId && pi.currentUserId === ni.currentUserId && pi.title === ni.title && pw.path === nw.path && pw.fileReferenceAdapter === nw.fileReferenceAdapter && pw.onRequestGitBranches === nw.onRequestGitBranches && pw.selectProjectDirectory === nw.selectProjectDirectory && pw.resolveDroppedFileReferences === nw.resolveDroppedFileReferences && pw.referenceSourceAggregator === nw.referenceSourceAggregator && pw.resolveReferenceEntryIconUrl === nw.resolveReferenceEntryIconUrl && pw.resolveMentionReferenceTarget === nw.resolveMentionReferenceTarget && pw.resolveReferenceInitialTarget === nw.resolveReferenceInitialTarget && pw.onFileReferencesAdded === nw.onFileReferencesAdded && pw.agentSettings.avoidGroupingEdits === nw.agentSettings.avoidGroupingEdits && agentGuiStateEquals(previous.state, next.state) && pf.position.x === nf.position.x && pf.position.y === nf.position.y && pf.width === nf.width && pf.height === nf.height && pf.desktopSize.width === nf.desktopSize.width && pf.desktopSize.height === nf.desktopSize.height && pf.isMaximized === nf.isMaximized && pf.isActive === nf.isActive && pf.isVisible === nf.isVisible && pf.embedded === nf.embedded && pf.previewMode === nf.previewMode && pf.conversationRailAutoCollapseWidthPx === nf.conversationRailAutoCollapseWidthPx && pr.composerFocusSequence === nr.composerFocusSequence && pr.newConversationSequence === nr.newConversationSequence && pr.openSession === nr.openSession && pr.prefillPrompt === nr.prefillPrompt && pr.agentProbes === nr.agentProbes && pr.onProbeDemandChange === nr.onProbeDemandChange && pr.onProbeRefreshRequest === nr.onProbeRefreshRequest && pc.capabilityMenuState === nc.capabilityMenuState && pc.accountMenuState === nc.accountMenuState && pc.agentTargets === nc.agentTargets && pc.agentTargetsLoading === nc.agentTargetsLoading && pc.providerRailAllPresentation?.iconUrl === nc.providerRailAllPresentation?.iconUrl && pc.providerRailMode === nc.providerRailMode && pc.comingSoonProviders === nc.comingSoonProviders && pc.providerReadinessGates === nc.providerReadinessGates && pc.defaultAgentTargetId === nc.defaultAgentTargetId && pc.providerAuthAccountLabels === nc.providerAuthAccountLabels && pc.managedAgentsState === nc.managedAgentsState && pc.contextMentionProviders === nc.contextMentionProviders && pc.workspaceAppIcons === nc.workspaceAppIcons && pc.disabledHomeSuggestions === nc.disabledHomeSuggestions && pa.onLinkAction === na.onLinkAction && pa.onHandoffConversation === na.onHandoffConversation && pa.onCapabilitySettingsRequest === na.onCapabilitySettingsRequest && pa.onAgentProviderLogin === na.onAgentProviderLogin && pa.onOpenConversationWindow === na.onOpenConversationWindow && pa.onClose === na.onClose && pa.onResize === na.onResize && pa.onUpdateNode === na.onUpdateNode && pa.onRememberComposerDefaults === na.onRememberComposerDefaults && pa.isMuted === na.isMuted && pa.onMinimize === na.onMinimize && pa.onToggleMaximize === na.onToggleMaximize && pa.onShowMessage === na.onShowMessage && pa.onEngagementEvent === na.onEngagementEvent && ps.providerRailEmpty === ns.providerRailEmpty && ps.providerUnavailableState === ns.providerUnavailableState && ps.sidebarFooter === ns.sidebarFooter;
|
|
32485
|
+
return pi.nodeId === ni.nodeId && pi.workspaceId === ni.workspaceId && pi.currentUserId === ni.currentUserId && pi.title === ni.title && pw.path === nw.path && pw.fileReferenceAdapter === nw.fileReferenceAdapter && pw.onRequestGitBranches === nw.onRequestGitBranches && pw.selectProjectDirectory === nw.selectProjectDirectory && pw.resolveDroppedFileReferences === nw.resolveDroppedFileReferences && pw.referenceSourceAggregator === nw.referenceSourceAggregator && pw.resolveReferenceEntryIconUrl === nw.resolveReferenceEntryIconUrl && pw.resolveMentionReferenceTarget === nw.resolveMentionReferenceTarget && pw.resolveReferenceInitialTarget === nw.resolveReferenceInitialTarget && pw.onFileReferencesAdded === nw.onFileReferencesAdded && pw.agentSettings.avoidGroupingEdits === nw.agentSettings.avoidGroupingEdits && pc.referenceProvenanceFilterEnabled === nc.referenceProvenanceFilterEnabled && agentGuiStateEquals(previous.state, next.state) && pf.position.x === nf.position.x && pf.position.y === nf.position.y && pf.width === nf.width && pf.height === nf.height && pf.desktopSize.width === nf.desktopSize.width && pf.desktopSize.height === nf.desktopSize.height && pf.isMaximized === nf.isMaximized && pf.isActive === nf.isActive && pf.isVisible === nf.isVisible && pf.embedded === nf.embedded && pf.previewMode === nf.previewMode && pf.conversationRailAutoCollapseWidthPx === nf.conversationRailAutoCollapseWidthPx && pr.composerFocusSequence === nr.composerFocusSequence && pr.newConversationSequence === nr.newConversationSequence && pr.openSession === nr.openSession && pr.prefillPrompt === nr.prefillPrompt && pr.agentProbes === nr.agentProbes && pr.onProbeDemandChange === nr.onProbeDemandChange && pr.onProbeRefreshRequest === nr.onProbeRefreshRequest && pc.capabilityMenuState === nc.capabilityMenuState && pc.accountMenuState === nc.accountMenuState && pc.agentTargets === nc.agentTargets && pc.agentTargetsLoading === nc.agentTargetsLoading && pc.providerRailAllPresentation?.iconUrl === nc.providerRailAllPresentation?.iconUrl && pc.providerRailMode === nc.providerRailMode && pc.comingSoonProviders === nc.comingSoonProviders && pc.providerReadinessGates === nc.providerReadinessGates && pc.defaultAgentTargetId === nc.defaultAgentTargetId && pc.providerAuthAccountLabels === nc.providerAuthAccountLabels && pc.managedAgentsState === nc.managedAgentsState && pc.contextMentionProviders === nc.contextMentionProviders && pc.workspaceAppIcons === nc.workspaceAppIcons && pc.disabledHomeSuggestions === nc.disabledHomeSuggestions && pa.onLinkAction === na.onLinkAction && pa.onHandoffConversation === na.onHandoffConversation && pa.onCapabilitySettingsRequest === na.onCapabilitySettingsRequest && pa.onAgentProviderLogin === na.onAgentProviderLogin && pa.onOpenConversationWindow === na.onOpenConversationWindow && pa.onClose === na.onClose && pa.onResize === na.onResize && pa.onUpdateNode === na.onUpdateNode && pa.onRememberComposerDefaults === na.onRememberComposerDefaults && pa.isMuted === na.isMuted && pa.onMinimize === na.onMinimize && pa.onToggleMaximize === na.onToggleMaximize && pa.onShowMessage === na.onShowMessage && pa.onEngagementEvent === na.onEngagementEvent && ps.providerRailEmpty === ns.providerRailEmpty && ps.providerUnavailableState === ns.providerUnavailableState && ps.sidebarFooter === ns.sidebarFooter;
|
|
32319
32486
|
}
|
|
32320
32487
|
|
|
32321
32488
|
// agent-gui/agentGuiNode/AgentGUINode.labels.ts
|
|
@@ -32720,6 +32887,9 @@ function useAgentGUIViewLabels(input) {
|
|
|
32720
32887
|
loadingConversation: t("agentHost.agentGui.loadingConversation"),
|
|
32721
32888
|
scrollToBottom: t("agentHost.agentGui.scrollToBottom"),
|
|
32722
32889
|
fallbackAgentTitle,
|
|
32890
|
+
untitledConversationTitle: t(
|
|
32891
|
+
"agentHost.workspaceAgentsUntitledConversation"
|
|
32892
|
+
),
|
|
32723
32893
|
sectionToday: t("agentHost.agentGui.sectionToday"),
|
|
32724
32894
|
sectionYesterday: t("agentHost.agentGui.sectionYesterday"),
|
|
32725
32895
|
sectionEarlier: t("agentHost.agentGui.sectionEarlier"),
|
|
@@ -33158,7 +33328,7 @@ function resolveAgentGUIRailStatusProvider(input) {
|
|
|
33158
33328
|
}
|
|
33159
33329
|
|
|
33160
33330
|
// agent-gui/agentGuiNode/AgentGUINode.tsx
|
|
33161
|
-
import { jsx as
|
|
33331
|
+
import { jsx as jsx62, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
33162
33332
|
var EMPTY_SLASH_STATUS_QUOTAS = [];
|
|
33163
33333
|
var AgentGUINode = memo14(function AgentGUINode2({
|
|
33164
33334
|
identity,
|
|
@@ -33221,8 +33391,25 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33221
33391
|
managedAgentsState,
|
|
33222
33392
|
contextMentionProviders,
|
|
33223
33393
|
workspaceAppIcons,
|
|
33224
|
-
disabledHomeSuggestions
|
|
33394
|
+
disabledHomeSuggestions,
|
|
33395
|
+
referenceProvenanceFilterEnabled = false
|
|
33225
33396
|
} = hostCapabilities;
|
|
33397
|
+
const referenceProvenanceFilterBinding = useReferenceProvenanceFilterCatalog({
|
|
33398
|
+
enabledDimensions: referenceProvenanceFilterEnabled ? ["agent"] : [],
|
|
33399
|
+
agentOptions: referenceProvenanceFilterEnabled ? (agentTargets ?? []).flatMap((target) => {
|
|
33400
|
+
const agentTargetId = target.agentTargetId?.trim();
|
|
33401
|
+
return agentTargetId ? [
|
|
33402
|
+
{
|
|
33403
|
+
disabled: target.disabled,
|
|
33404
|
+
iconUrl: target.iconUrl,
|
|
33405
|
+
id: agentTargetId,
|
|
33406
|
+
label: target.label
|
|
33407
|
+
}
|
|
33408
|
+
] : [];
|
|
33409
|
+
}) : [],
|
|
33410
|
+
memberOptions: []
|
|
33411
|
+
});
|
|
33412
|
+
const referenceProvenanceFilter = referenceProvenanceFilterEnabled ? referenceProvenanceFilterBinding : null;
|
|
33226
33413
|
const {
|
|
33227
33414
|
onLinkAction,
|
|
33228
33415
|
onHandoffConversation,
|
|
@@ -33561,7 +33748,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33561
33748
|
previewMode,
|
|
33562
33749
|
railStatusProvider
|
|
33563
33750
|
]);
|
|
33564
|
-
return /* @__PURE__ */
|
|
33751
|
+
return /* @__PURE__ */ jsx62(
|
|
33565
33752
|
WorkspaceNodeWindow,
|
|
33566
33753
|
{
|
|
33567
33754
|
nodeId,
|
|
@@ -33578,7 +33765,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33578
33765
|
bodyClassName: `${AgentGUINode_styles_default.shell} nodrag size-full min-h-0 min-w-0 !bg-transparent p-0`,
|
|
33579
33766
|
hideHeader: embedded,
|
|
33580
33767
|
titleAccessory: /* @__PURE__ */ jsxs45("span", { className: "inline-flex flex-none items-center gap-1", children: [
|
|
33581
|
-
/* @__PURE__ */
|
|
33768
|
+
/* @__PURE__ */ jsx62(
|
|
33582
33769
|
AgentProbeInfoPopover,
|
|
33583
33770
|
{
|
|
33584
33771
|
lines: agentProbeLines,
|
|
@@ -33587,7 +33774,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33587
33774
|
onOpen: handleAgentProbeInfoOpen
|
|
33588
33775
|
}
|
|
33589
33776
|
),
|
|
33590
|
-
/* @__PURE__ */
|
|
33777
|
+
/* @__PURE__ */ jsx62(
|
|
33591
33778
|
CanvasNodeGhostIconButton,
|
|
33592
33779
|
{
|
|
33593
33780
|
"aria-label": isConversationRailCollapsed ? t("agentHost.agentGui.expandConversationRail") : t("agentHost.agentGui.collapseConversationRail"),
|
|
@@ -33599,7 +33786,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33599
33786
|
event.stopPropagation();
|
|
33600
33787
|
handleConversationRailToggle();
|
|
33601
33788
|
},
|
|
33602
|
-
children: /* @__PURE__ */
|
|
33789
|
+
children: /* @__PURE__ */ jsx62(
|
|
33603
33790
|
CanvasNodePanelLinedIcon,
|
|
33604
33791
|
{
|
|
33605
33792
|
width: 18,
|
|
@@ -33623,7 +33810,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33623
33810
|
renderedWidth,
|
|
33624
33811
|
railAutoCollapseWidthPx
|
|
33625
33812
|
);
|
|
33626
|
-
return /* @__PURE__ */
|
|
33813
|
+
return /* @__PURE__ */ jsx62(
|
|
33627
33814
|
AgentGUINodeView,
|
|
33628
33815
|
{
|
|
33629
33816
|
viewModel,
|
|
@@ -33684,7 +33871,8 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33684
33871
|
resolveWorkspaceReferenceInitialTarget,
|
|
33685
33872
|
workspaceFileReferenceCopy,
|
|
33686
33873
|
contextMentionProviders,
|
|
33687
|
-
workspaceAppIcons
|
|
33874
|
+
workspaceAppIcons,
|
|
33875
|
+
referenceProvenanceFilter
|
|
33688
33876
|
}
|
|
33689
33877
|
);
|
|
33690
33878
|
}
|
|
@@ -33693,7 +33881,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33693
33881
|
}, areAgentGUINodePropsEqual);
|
|
33694
33882
|
|
|
33695
33883
|
// AgentGUI.tsx
|
|
33696
|
-
import { jsx as
|
|
33884
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
33697
33885
|
var AgentGUI = memo15(function AgentGUI2({
|
|
33698
33886
|
agentActivityRuntime,
|
|
33699
33887
|
agentHostApi,
|
|
@@ -33723,15 +33911,15 @@ var AgentGUI = memo15(function AgentGUI2({
|
|
|
33723
33911
|
providerRailEmpty: renderAgentsEmpty
|
|
33724
33912
|
}
|
|
33725
33913
|
};
|
|
33726
|
-
const content = /* @__PURE__ */
|
|
33914
|
+
const content = /* @__PURE__ */ jsx63(AgentGuiI18nProvider, { runtime: i18n, locale, children: /* @__PURE__ */ jsx63(
|
|
33727
33915
|
AgentActivityHostProvider,
|
|
33728
33916
|
{
|
|
33729
33917
|
agentActivityRuntime,
|
|
33730
33918
|
agentHostApi,
|
|
33731
|
-
children: /* @__PURE__ */
|
|
33919
|
+
children: /* @__PURE__ */ jsx63(AgentGUINode, { ...nodeProps })
|
|
33732
33920
|
}
|
|
33733
33921
|
) });
|
|
33734
|
-
return props.frame.previewMode ? content : /* @__PURE__ */
|
|
33922
|
+
return props.frame.previewMode ? content : /* @__PURE__ */ jsx63(TooltipProvider6, { delayDuration: 120, skipDelayDuration: 0, children: content });
|
|
33735
33923
|
});
|
|
33736
33924
|
|
|
33737
33925
|
export {
|
|
@@ -33744,4 +33932,4 @@ export {
|
|
|
33744
33932
|
resolveAgentGUIAgentTarget,
|
|
33745
33933
|
AgentGUI
|
|
33746
33934
|
};
|
|
33747
|
-
//# sourceMappingURL=chunk-
|
|
33935
|
+
//# sourceMappingURL=chunk-BQJOYTW2.js.map
|