@tutti-os/agent-gui 0.0.99 → 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-PLCHNOXL.js → chunk-BQJOYTW2.js} +863 -679
- 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-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-PLCHNOXL.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({
|
|
@@ -7997,7 +7940,7 @@ function useAgentGUINewConversationActivation(input) {
|
|
|
7997
7940
|
isConversationStale
|
|
7998
7941
|
} = input;
|
|
7999
7942
|
const startConversation = useCallback14(
|
|
8000
|
-
(initialContentInput, displayPrompt) => {
|
|
7943
|
+
(initialContentInput, displayPrompt, submitOptions) => {
|
|
8001
7944
|
const target = selectedAgentTargetRef.current;
|
|
8002
7945
|
const targetData = selectedComposerTargetDataRef.current;
|
|
8003
7946
|
if (target.disabled === true) {
|
|
@@ -8013,7 +7956,6 @@ function useAgentGUINewConversationActivation(input) {
|
|
|
8013
7956
|
) : textPromptContent(normalizeOptionalPrompt(initialContentInput));
|
|
8014
7957
|
const initialDisplayPrompt = displayPrompt && displayPrompt.trim() ? displayPrompt : void 0;
|
|
8015
7958
|
const normalizedInitialPrompt = initialDisplayPrompt ?? agentPromptContentDisplayText(normalizedInitialContent);
|
|
8016
|
-
const initialConversationTitle = normalizedInitialPrompt || AGENT_PROVIDER_LABEL[targetData.provider] || targetData.provider;
|
|
8017
7959
|
isCreatingConversationRef.current = true;
|
|
8018
7960
|
setDetailError(null);
|
|
8019
7961
|
const provider = targetData.provider;
|
|
@@ -8057,7 +7999,14 @@ function useAgentGUINewConversationActivation(input) {
|
|
|
8057
7999
|
lastActiveModelByProviderRef.current[provider]
|
|
8058
8000
|
) : null;
|
|
8059
8001
|
const settings = sanitizeComposerSettingsForTarget({
|
|
8060
|
-
settings: inheritedModel === null ?
|
|
8002
|
+
settings: inheritedModel === null ? {
|
|
8003
|
+
...initialSettings,
|
|
8004
|
+
...submitOptions?.requiredSettingsPatch
|
|
8005
|
+
} : {
|
|
8006
|
+
...initialSettings,
|
|
8007
|
+
model: inheritedModel,
|
|
8008
|
+
...submitOptions?.requiredSettingsPatch
|
|
8009
|
+
},
|
|
8061
8010
|
target: targetData,
|
|
8062
8011
|
options: snapshotComposerOptions
|
|
8063
8012
|
});
|
|
@@ -8096,8 +8045,10 @@ function useAgentGUINewConversationActivation(input) {
|
|
|
8096
8045
|
initialDisplayPrompt,
|
|
8097
8046
|
runtimeContent: toRuntimeSendContent(normalizedInitialContent),
|
|
8098
8047
|
submitDiagnostics: agentSubmitTraceDiagnostics(submitTrace),
|
|
8099
|
-
|
|
8100
|
-
|
|
8048
|
+
settings,
|
|
8049
|
+
optimisticTitle: deriveAgentGUIOptimisticConversationTitle(
|
|
8050
|
+
normalizedInitialPrompt
|
|
8051
|
+
)
|
|
8101
8052
|
});
|
|
8102
8053
|
if (requestId === null) return null;
|
|
8103
8054
|
activeConversationIdRef.current = agentSessionId;
|
|
@@ -8484,6 +8435,11 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8484
8435
|
...displayPrompt && displayPrompt.trim() ? { displayPrompt } : {},
|
|
8485
8436
|
submitDiagnostics: agentSubmitTraceDiagnostics(submitTrace),
|
|
8486
8437
|
requestedAtUnixMs: submittedAtUnixMs,
|
|
8438
|
+
...options?.requiredSettingsPatch ? {
|
|
8439
|
+
requiredSettingsPatch: {
|
|
8440
|
+
...options.requiredSettingsPatch
|
|
8441
|
+
}
|
|
8442
|
+
} : {},
|
|
8487
8443
|
...options?.immediate === true ? { routing: "immediate" } : options?.sendNow === true ? { routing: "send_now" } : {},
|
|
8488
8444
|
runtimeContent: toRuntimeSendContent(normalizedContent),
|
|
8489
8445
|
type: "submit/requested",
|
|
@@ -8576,6 +8532,7 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8576
8532
|
return;
|
|
8577
8533
|
}
|
|
8578
8534
|
executePrompt(agentSessionId, normalizedContent, displayPromptText, {
|
|
8535
|
+
requiredSettingsPatch: options?.requiredSettingsPatch,
|
|
8579
8536
|
sendNow: options?.sendNow === true,
|
|
8580
8537
|
sourceScopeKey: options?.sourceScopeKey,
|
|
8581
8538
|
trackDraft: options?.trackDraft === true
|
|
@@ -8624,7 +8581,7 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8624
8581
|
]
|
|
8625
8582
|
);
|
|
8626
8583
|
const submitPrompt = useCallback17(
|
|
8627
|
-
(content, displayPrompt) => {
|
|
8584
|
+
(content, displayPrompt, options) => {
|
|
8628
8585
|
if (previewMode) {
|
|
8629
8586
|
return;
|
|
8630
8587
|
}
|
|
@@ -8673,6 +8630,7 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8673
8630
|
normalizedContent,
|
|
8674
8631
|
displayPromptText,
|
|
8675
8632
|
{
|
|
8633
|
+
requiredSettingsPatch: options?.requiredSettingsPatch,
|
|
8676
8634
|
sourceScopeKey: resolveAgentComposerDraftScopeKey({}),
|
|
8677
8635
|
trackDraft: true
|
|
8678
8636
|
}
|
|
@@ -8686,7 +8644,8 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8686
8644
|
);
|
|
8687
8645
|
const activationResult = startConversation(
|
|
8688
8646
|
normalizedContent,
|
|
8689
|
-
displayPromptText
|
|
8647
|
+
displayPromptText,
|
|
8648
|
+
options
|
|
8690
8649
|
);
|
|
8691
8650
|
if (activationResult) {
|
|
8692
8651
|
draftByScopeKeyRef.current = clearSubmittedAgentGUIHomeDraft({
|
|
@@ -8708,7 +8667,10 @@ function useAgentGUISubmitInteractionActions(input) {
|
|
|
8708
8667
|
agentSessionId,
|
|
8709
8668
|
normalizedContent,
|
|
8710
8669
|
displayPromptText,
|
|
8711
|
-
{
|
|
8670
|
+
{
|
|
8671
|
+
requiredSettingsPatch: options?.requiredSettingsPatch,
|
|
8672
|
+
trackDraft: true
|
|
8673
|
+
}
|
|
8712
8674
|
);
|
|
8713
8675
|
},
|
|
8714
8676
|
[
|
|
@@ -9034,30 +8996,45 @@ function useAgentGUIViewModel(candidate) {
|
|
|
9034
8996
|
// agent-gui/agentGuiNode/controller/useAgentGUIComposerPresentation.ts
|
|
9035
8997
|
import { useEffect as useEffect8, useMemo as useMemo9 } from "react";
|
|
9036
8998
|
|
|
9037
|
-
// agent-gui/agentGuiNode/model/
|
|
9038
|
-
var
|
|
9039
|
-
|
|
9040
|
-
|
|
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);
|
|
9041
9014
|
if (!match) {
|
|
9042
9015
|
return null;
|
|
9043
9016
|
}
|
|
9044
|
-
const commandName = (match[
|
|
9045
|
-
|
|
9017
|
+
const commandName = (match[2] ?? "").trim().toLowerCase();
|
|
9018
|
+
const config = AGENT_CAPABILITY_USE_CONFIG[capability];
|
|
9019
|
+
if (!config.aliases.includes(commandName)) {
|
|
9046
9020
|
return null;
|
|
9047
9021
|
}
|
|
9048
9022
|
return {
|
|
9049
9023
|
commandName,
|
|
9050
|
-
args: match[
|
|
9024
|
+
args: match[3] ?? ""
|
|
9051
9025
|
};
|
|
9052
9026
|
}
|
|
9053
|
-
function
|
|
9027
|
+
function buildAgentCapabilityUseSubmitPrompt(capability, args) {
|
|
9028
|
+
const config = AGENT_CAPABILITY_USE_CONFIG[capability];
|
|
9054
9029
|
const trimmedArgs = args.trim();
|
|
9055
|
-
|
|
9056
|
-
return TUTTI_BROWSER_USE_SUBMIT_PREFIX;
|
|
9057
|
-
}
|
|
9058
|
-
return `${TUTTI_BROWSER_USE_SUBMIT_PREFIX}
|
|
9030
|
+
return trimmedArgs ? `${config.submitPrefix}
|
|
9059
9031
|
|
|
9060
|
-
${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}`;
|
|
9061
9038
|
}
|
|
9062
9039
|
|
|
9063
9040
|
// agent-gui/agentGuiNode/model/agentComposerTriggerQueries.ts
|
|
@@ -9327,37 +9304,28 @@ function resolveSlashCommandSelectionEffect({
|
|
|
9327
9304
|
draft: draftForSlashCommand(command, currentDraft)
|
|
9328
9305
|
};
|
|
9329
9306
|
}
|
|
9330
|
-
function resolveTuttiBrowserUseSubmitEffect(input) {
|
|
9331
|
-
if (!input.browserSupported) {
|
|
9332
|
-
return null;
|
|
9333
|
-
}
|
|
9334
|
-
const invocation = parseTuttiBrowserUseInvocation(input.draft);
|
|
9335
|
-
if (!invocation) {
|
|
9336
|
-
return null;
|
|
9337
|
-
}
|
|
9338
|
-
const command = input.commands.find(
|
|
9339
|
-
(candidate) => slashCommandMatchesInvocation(candidate, invocation.commandName)
|
|
9340
|
-
);
|
|
9341
|
-
if (!command || !isBrowserUseCapability(command)) {
|
|
9342
|
-
return null;
|
|
9343
|
-
}
|
|
9344
|
-
return {
|
|
9345
|
-
kind: "submitPrompt",
|
|
9346
|
-
prompt: buildTuttiBrowserUseSubmitPrompt(invocation.args),
|
|
9347
|
-
displayPrompt: browserUseDisplayPrompt(invocation),
|
|
9348
|
-
enableBrowserUse: true
|
|
9349
|
-
};
|
|
9350
|
-
}
|
|
9351
|
-
function browserUseDisplayPrompt({ args }) {
|
|
9352
|
-
const trimmedArgs = args.trim();
|
|
9353
|
-
return trimmedArgs ? `/browser ${trimmedArgs}` : "/browser";
|
|
9354
|
-
}
|
|
9355
9307
|
function resolveSlashCommandSubmitEffect({
|
|
9308
|
+
browserSupported = false,
|
|
9309
|
+
computerSupported = false,
|
|
9356
9310
|
provider: _provider,
|
|
9357
9311
|
policy,
|
|
9358
9312
|
commands,
|
|
9359
9313
|
draft
|
|
9360
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
|
+
}
|
|
9361
9329
|
const invocation = parseSlashCommandInvocation(draft);
|
|
9362
9330
|
if (!invocation) {
|
|
9363
9331
|
return null;
|
|
@@ -9368,7 +9336,7 @@ function resolveSlashCommandSubmitEffect({
|
|
|
9368
9336
|
if (!command) {
|
|
9369
9337
|
return null;
|
|
9370
9338
|
}
|
|
9371
|
-
if (
|
|
9339
|
+
if (isAgentSlashCommandCapability(command)) {
|
|
9372
9340
|
return null;
|
|
9373
9341
|
}
|
|
9374
9342
|
const commandName = normalizedCommandName(command);
|
|
@@ -9395,6 +9363,32 @@ function resolveSlashCommandSubmitEffect({
|
|
|
9395
9363
|
}
|
|
9396
9364
|
return null;
|
|
9397
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
|
+
}
|
|
9398
9392
|
function isLocalTogglePlanCommand(commandName, policy) {
|
|
9399
9393
|
return providerSlashPolicy(policy)?.localPlanCommands.has(
|
|
9400
9394
|
commandName.trim().toLowerCase()
|
|
@@ -9447,6 +9441,12 @@ function isBrowserUseCapability(command) {
|
|
|
9447
9441
|
function isComputerUseCapability(command) {
|
|
9448
9442
|
return "kind" in command && command.kind === "capability" && command.capability === "computerUse";
|
|
9449
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
|
+
}
|
|
9450
9450
|
function slashCommandMatchesInvocation(command, commandName) {
|
|
9451
9451
|
const normalizedInvocation = commandName.trim().toLowerCase();
|
|
9452
9452
|
if (normalizedCommandName(command) === normalizedInvocation) {
|
|
@@ -10055,7 +10055,6 @@ function useAgentGUIConversationPresentation(input) {
|
|
|
10055
10055
|
);
|
|
10056
10056
|
}
|
|
10057
10057
|
if (!input.activeConversationId) return stabilize(null);
|
|
10058
|
-
const providerLabel = AGENT_PROVIDER_LABEL[input.data.provider] ?? input.data.provider ?? translate("sidebar.fallbackAgentLabel");
|
|
10059
10058
|
const fallbackStatus = input.isSubmitting || input.isCreatingConversation || Object.prototype.hasOwnProperty.call(
|
|
10060
10059
|
input.draftByScopeKey,
|
|
10061
10060
|
resolveAgentComposerDraftScopeKey({
|
|
@@ -10071,8 +10070,8 @@ function useAgentGUIConversationPresentation(input) {
|
|
|
10071
10070
|
id: input.activeConversationId,
|
|
10072
10071
|
userId: input.currentUserId?.trim() || void 0,
|
|
10073
10072
|
provider: input.data.provider,
|
|
10074
|
-
title:
|
|
10075
|
-
titleFallback:
|
|
10073
|
+
title: "",
|
|
10074
|
+
titleFallback: "untitled-conversation",
|
|
10076
10075
|
status: activityBusyStatus ?? fallbackStatus,
|
|
10077
10076
|
cwd: input.workspacePath,
|
|
10078
10077
|
project: resolveAgentGUIConversationProject(
|
|
@@ -10897,6 +10896,8 @@ import {
|
|
|
10897
10896
|
selectEnginePromptQueueError,
|
|
10898
10897
|
selectEngineSession as selectEngineSession3,
|
|
10899
10898
|
selectEngineSessionDeleted,
|
|
10899
|
+
selectEngineSessionDetailHydrated as selectEngineSessionDetailHydrated2,
|
|
10900
|
+
selectEngineSessionDetailLoading,
|
|
10900
10901
|
selectEngineSessionError,
|
|
10901
10902
|
selectEngineSessionIsRespondingToInteraction,
|
|
10902
10903
|
selectEngineSessionReconcile as selectEngineSessionReconcile2,
|
|
@@ -10964,8 +10965,13 @@ function useAgentGUISessionEngineState(input) {
|
|
|
10964
10965
|
sessionEngine,
|
|
10965
10966
|
(state) => selectEngineSessionReconcile2(state, activeConversationId)
|
|
10966
10967
|
);
|
|
10967
|
-
const
|
|
10968
|
-
|
|
10968
|
+
const activeSessionDetailLoading = useEngineSelector(
|
|
10969
|
+
sessionEngine,
|
|
10970
|
+
(state) => selectEngineSessionDetailLoading(state, activeConversationId)
|
|
10971
|
+
);
|
|
10972
|
+
const activeSessionDetailHydrated = useEngineSelector(
|
|
10973
|
+
sessionEngine,
|
|
10974
|
+
(state) => selectEngineSessionDetailHydrated2(state, activeConversationId)
|
|
10969
10975
|
);
|
|
10970
10976
|
const activeEngineSessionDeleted = useEngineSelector(
|
|
10971
10977
|
sessionEngine,
|
|
@@ -11065,8 +11071,8 @@ function useAgentGUISessionEngineState(input) {
|
|
|
11065
11071
|
activeQueuedPromptSnapshot
|
|
11066
11072
|
),
|
|
11067
11073
|
activeSessionState,
|
|
11068
|
-
|
|
11069
|
-
activeSessionReconcileError: activeSessionReconcile?.errorMessage ?? null,
|
|
11074
|
+
activeSessionDetailLoading,
|
|
11075
|
+
activeSessionReconcileError: activeSessionDetailHydrated ? null : activeSessionReconcile?.errorMessage ?? null,
|
|
11070
11076
|
isCreatingConversation,
|
|
11071
11077
|
hasUnconfirmedSubmit,
|
|
11072
11078
|
isRespondingToInteraction,
|
|
@@ -11571,7 +11577,6 @@ function useAgentGUINodeController({
|
|
|
11571
11577
|
} = localState;
|
|
11572
11578
|
const conversationList = useAgentGUIConversationListState({
|
|
11573
11579
|
agentActivityRuntimeOrigin,
|
|
11574
|
-
agentActivitySnapshot,
|
|
11575
11580
|
currentUserId,
|
|
11576
11581
|
data,
|
|
11577
11582
|
normalizedProviderTargets,
|
|
@@ -11785,7 +11790,6 @@ function useAgentGUINodeController({
|
|
|
11785
11790
|
activeConversationIdRef,
|
|
11786
11791
|
activePendingActivation,
|
|
11787
11792
|
agentActivityRuntime,
|
|
11788
|
-
agentActivitySnapshotRef,
|
|
11789
11793
|
attentionReadRecordsBySessionId: attentionReadState.recordsBySessionId,
|
|
11790
11794
|
conversationIdsRef,
|
|
11791
11795
|
conversationListQuery,
|
|
@@ -11941,7 +11945,7 @@ function useAgentGUINodeController({
|
|
|
11941
11945
|
updateComposerSettingsRef,
|
|
11942
11946
|
workspaceId
|
|
11943
11947
|
});
|
|
11944
|
-
const isLoadingMessages = localState.isLoadingMessages || sessionEngineState.
|
|
11948
|
+
const isLoadingMessages = localState.isLoadingMessages || sessionEngineState.activeSessionDetailLoading;
|
|
11945
11949
|
const detailAvailability = activeConversationId === null ? "ready" : sessionEngineState.activeEngineSessionDeleted ? "not_found" : isLoadingMessages ? "loading" : sessionEngineState.activeSessionReconcileError || localState.detailError ? "error" : "ready";
|
|
11946
11950
|
return useAgentGUIViewAssembly({
|
|
11947
11951
|
...providerCatalogSelection,
|
|
@@ -12004,11 +12008,7 @@ import {
|
|
|
12004
12008
|
useRef as useRef41,
|
|
12005
12009
|
useState as useState34
|
|
12006
12010
|
} from "react";
|
|
12007
|
-
import {
|
|
12008
|
-
ReferenceSourcePicker,
|
|
12009
|
-
WorkspaceFileReferencePicker
|
|
12010
|
-
} from "@tutti-os/workspace-file-reference/ui";
|
|
12011
|
-
import { TooltipProvider as TooltipProvider4 } from "@tutti-os/ui-system";
|
|
12011
|
+
import { TooltipProvider as TooltipProvider5 } from "@tutti-os/ui-system";
|
|
12012
12012
|
|
|
12013
12013
|
// shared/workspaceSettingsPanel/workspaceSettingsPanelStore.ts
|
|
12014
12014
|
import { useSnapshot } from "valtio";
|
|
@@ -12294,7 +12294,7 @@ function conversationPlainTitle(conversation, labels, uiLanguage) {
|
|
|
12294
12294
|
void uiLanguage;
|
|
12295
12295
|
return resolveAgentGUIConversationDisplayTitle(
|
|
12296
12296
|
conversation,
|
|
12297
|
-
labels.
|
|
12297
|
+
labels.untitledConversationTitle
|
|
12298
12298
|
);
|
|
12299
12299
|
}
|
|
12300
12300
|
|
|
@@ -12898,7 +12898,7 @@ import {
|
|
|
12898
12898
|
useRef as useRef31,
|
|
12899
12899
|
useState as useState24
|
|
12900
12900
|
} from "react";
|
|
12901
|
-
import { Tooltip as
|
|
12901
|
+
import { Tooltip as Tooltip6, TooltipContent as TooltipContent6, TooltipTrigger as TooltipTrigger6 } from "@tutti-os/ui-system";
|
|
12902
12902
|
|
|
12903
12903
|
// agent-gui/agentGuiNode/model/agentGuiProviderRailOrder.ts
|
|
12904
12904
|
var AGENT_GUI_PROVIDER_RAIL_PREFERENCES_STORAGE_KEY = "agent-gui:provider-rail-preferences";
|
|
@@ -15567,9 +15567,10 @@ import {
|
|
|
15567
15567
|
var DOCK_COMPOSER_INPUT_MIN_HEIGHT = 56;
|
|
15568
15568
|
var DOCK_COMPOSER_TEXT_LINE_HEIGHT = 24;
|
|
15569
15569
|
var DOCK_COMPOSER_MAX_VISIBLE_TEXT_LINES = 3.5;
|
|
15570
|
-
var
|
|
15570
|
+
var DOCK_COMPOSER_INPUT_TEXT_MEASUREMENT_CHROME_HEIGHT = 14;
|
|
15571
|
+
var DOCK_COMPOSER_INPUT_TEXT_MAX_HEIGHT_CHROME = 26;
|
|
15571
15572
|
var DOCK_COMPOSER_TEXT_VIEWPORT_MAX_HEIGHT = DOCK_COMPOSER_TEXT_LINE_HEIGHT * DOCK_COMPOSER_MAX_VISIBLE_TEXT_LINES;
|
|
15572
|
-
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;
|
|
15573
15574
|
var DOCK_COMPOSER_INPUT_BORDER_HEIGHT = 2;
|
|
15574
15575
|
var DOCK_COMPOSER_INPUT_PADDING_BLOCK_HEIGHT = 24;
|
|
15575
15576
|
var PROMPT_TIP_CYCLE_STEP_MS = 5200;
|
|
@@ -15684,7 +15685,7 @@ function useComposerLayout({
|
|
|
15684
15685
|
DOCK_COMPOSER_INPUT_MAX_HEIGHT,
|
|
15685
15686
|
Math.max(
|
|
15686
15687
|
DOCK_COMPOSER_INPUT_MIN_HEIGHT,
|
|
15687
|
-
editor.scrollHeight +
|
|
15688
|
+
editor.scrollHeight + DOCK_COMPOSER_INPUT_TEXT_MEASUREMENT_CHROME_HEIGHT
|
|
15688
15689
|
)
|
|
15689
15690
|
);
|
|
15690
15691
|
const attachmentChromeHeight = attachmentHeight > 0 ? DOCK_COMPOSER_INPUT_PADDING_BLOCK_HEIGHT : 0;
|
|
@@ -16665,13 +16666,15 @@ function useComposerSlashActions(input) {
|
|
|
16665
16666
|
(effect) => {
|
|
16666
16667
|
if (effect.kind === "submitPrompt") {
|
|
16667
16668
|
clearSlashCommandDraft();
|
|
16668
|
-
|
|
16669
|
-
onSettingsChange({ browserUse: true });
|
|
16670
|
-
}
|
|
16669
|
+
const submitOptions = effect.requiredSettingsPatch ? { requiredSettingsPatch: effect.requiredSettingsPatch } : void 0;
|
|
16671
16670
|
if (effect.displayPrompt) {
|
|
16672
|
-
onSubmit(
|
|
16671
|
+
onSubmit(
|
|
16672
|
+
textPromptContent(effect.prompt),
|
|
16673
|
+
effect.displayPrompt,
|
|
16674
|
+
submitOptions
|
|
16675
|
+
);
|
|
16673
16676
|
} else {
|
|
16674
|
-
onSubmit(textPromptContent(effect.prompt));
|
|
16677
|
+
onSubmit(textPromptContent(effect.prompt), void 0, submitOptions);
|
|
16675
16678
|
}
|
|
16676
16679
|
return;
|
|
16677
16680
|
}
|
|
@@ -16865,20 +16868,13 @@ function useComposerSlashActions(input) {
|
|
|
16865
16868
|
return;
|
|
16866
16869
|
}
|
|
16867
16870
|
if (options?.guidance !== true) {
|
|
16868
|
-
const
|
|
16871
|
+
const slashCommandEffect = resolveSlashCommandSubmitEffect({
|
|
16869
16872
|
browserSupported: Boolean(composerSettings.supportsBrowser),
|
|
16873
|
+
computerSupported: Boolean(composerSettings.supportsComputerUse),
|
|
16870
16874
|
commands: resolvedSlashCommands,
|
|
16871
|
-
draft: nextPrompt
|
|
16872
|
-
});
|
|
16873
|
-
if (browserUseEffect) {
|
|
16874
|
-
executeSlashCommandEffect(browserUseEffect);
|
|
16875
|
-
return;
|
|
16876
|
-
}
|
|
16877
|
-
const slashCommandEffect = resolveSlashCommandSubmitEffect({
|
|
16875
|
+
draft: nextPrompt,
|
|
16878
16876
|
provider,
|
|
16879
|
-
policy: slashCommandPolicy
|
|
16880
|
-
commands: resolvedSlashCommands,
|
|
16881
|
-
draft: nextPrompt
|
|
16877
|
+
policy: slashCommandPolicy
|
|
16882
16878
|
});
|
|
16883
16879
|
if (slashCommandEffect) {
|
|
16884
16880
|
executeSlashCommandEffect(slashCommandEffect);
|
|
@@ -18220,10 +18216,10 @@ import {
|
|
|
18220
18216
|
Popover as Popover3,
|
|
18221
18217
|
PopoverAnchor as PopoverAnchor2,
|
|
18222
18218
|
Spinner as Spinner5,
|
|
18223
|
-
Tooltip as
|
|
18224
|
-
TooltipContent as
|
|
18225
|
-
TooltipProvider as
|
|
18226
|
-
TooltipTrigger as
|
|
18219
|
+
Tooltip as Tooltip5,
|
|
18220
|
+
TooltipContent as TooltipContent5,
|
|
18221
|
+
TooltipProvider as TooltipProvider4,
|
|
18222
|
+
TooltipTrigger as TooltipTrigger5
|
|
18227
18223
|
} from "@tutti-os/ui-system";
|
|
18228
18224
|
|
|
18229
18225
|
// agent-gui/agentGuiNode/AgentQueuedPromptPanel.tsx
|
|
@@ -18238,8 +18234,14 @@ import {
|
|
|
18238
18234
|
DropdownMenu as DropdownMenu2,
|
|
18239
18235
|
DropdownMenuContent as DropdownMenuContent2,
|
|
18240
18236
|
DropdownMenuItem,
|
|
18241
|
-
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
|
|
18242
18243
|
} from "@tutti-os/ui-system";
|
|
18244
|
+
import { extractPlainTextFromContent } from "@tutti-os/ui-rich-text";
|
|
18243
18245
|
|
|
18244
18246
|
// agent-gui/agentGuiNode/queuedPromptImageLoadOwner.ts
|
|
18245
18247
|
function queuedPromptImageLoadRequestIdentity(request) {
|
|
@@ -18331,6 +18333,7 @@ var QueuedPromptImageLoadOwner = class {
|
|
|
18331
18333
|
// agent-gui/agentGuiNode/AgentQueuedPromptPanel.tsx
|
|
18332
18334
|
import { jsx as jsx24, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
18333
18335
|
var EMPTY_WORKSPACE_APP_ICONS2 = [];
|
|
18336
|
+
var QUEUED_PROMPT_OVERFLOW_DESCENDANTS = '[data-workspace-agent-markdown="true"], .tsh-agent-object-token__main';
|
|
18334
18337
|
function queuedPromptImages(queuedPrompt) {
|
|
18335
18338
|
return agentPromptContentImageBlocks(queuedPrompt.content);
|
|
18336
18339
|
}
|
|
@@ -18442,10 +18445,53 @@ function queuedPromptDisplayText(queuedPrompt) {
|
|
|
18442
18445
|
function queuedPromptTitle(queuedPrompt) {
|
|
18443
18446
|
const prompt = queuedPromptDisplayText(queuedPrompt);
|
|
18444
18447
|
if (prompt) {
|
|
18445
|
-
return prompt;
|
|
18448
|
+
return extractPlainTextFromContent(prompt);
|
|
18446
18449
|
}
|
|
18447
18450
|
return queuedPromptImages(queuedPrompt).map((image) => image.name?.trim() ?? "").filter(Boolean).join(", ");
|
|
18448
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
|
+
}
|
|
18449
18495
|
function AgentQueuedPromptPanel({
|
|
18450
18496
|
queueStatus = "active",
|
|
18451
18497
|
queuedPrompts,
|
|
@@ -18594,27 +18640,15 @@ function AgentQueuedPromptPanel({
|
|
|
18594
18640
|
"data-testid": `agent-gui-composer-queued-prompt-${queuedPrompt.id}`,
|
|
18595
18641
|
"data-draining": isDraining ? "true" : "false",
|
|
18596
18642
|
children: [
|
|
18597
|
-
/* @__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: [
|
|
18598
18644
|
displayText ? /* @__PURE__ */ jsx24(
|
|
18599
|
-
|
|
18645
|
+
AgentQueuedPromptText,
|
|
18600
18646
|
{
|
|
18601
|
-
|
|
18602
|
-
|
|
18603
|
-
|
|
18604
|
-
|
|
18605
|
-
|
|
18606
|
-
}
|
|
18607
|
-
},
|
|
18608
|
-
children: /* @__PURE__ */ jsx24(
|
|
18609
|
-
AgentMessageMarkdown,
|
|
18610
|
-
{
|
|
18611
|
-
content: displayText,
|
|
18612
|
-
className: "agent-gui-node__composer-queued-prompt-markdown",
|
|
18613
|
-
inline: true,
|
|
18614
|
-
onLinkClick,
|
|
18615
|
-
workspaceAppIcons
|
|
18616
|
-
}
|
|
18617
|
-
)
|
|
18647
|
+
displayText,
|
|
18648
|
+
measurementRef: queuedPrompts.length === 1 ? singlePromptTextRef : void 0,
|
|
18649
|
+
onLinkClick,
|
|
18650
|
+
title,
|
|
18651
|
+
workspaceAppIcons
|
|
18618
18652
|
}
|
|
18619
18653
|
) : null,
|
|
18620
18654
|
images.length > 0 ? /* @__PURE__ */ jsx24("div", { className: AgentGUINode_styles_default.composerQueuedPromptImages, children: images.slice(0, 3).map((image, index) => {
|
|
@@ -18730,9 +18764,9 @@ import {
|
|
|
18730
18764
|
SelectContent,
|
|
18731
18765
|
SelectItem,
|
|
18732
18766
|
SelectTrigger,
|
|
18733
|
-
Tooltip as
|
|
18734
|
-
TooltipContent as
|
|
18735
|
-
TooltipTrigger as
|
|
18767
|
+
Tooltip as Tooltip3,
|
|
18768
|
+
TooltipContent as TooltipContent3,
|
|
18769
|
+
TooltipTrigger as TooltipTrigger3,
|
|
18736
18770
|
cn as cn3
|
|
18737
18771
|
} from "@tutti-os/ui-system";
|
|
18738
18772
|
|
|
@@ -19380,9 +19414,9 @@ function AgentPermissionModeDropdown({
|
|
|
19380
19414
|
// The trigger is disabled while loading, so pointer events never reach
|
|
19381
19415
|
// it. Target the tooltip at a focusable wrapper span (Radix's pattern
|
|
19382
19416
|
// for disabled triggers) so hover/focus reliably surfaces the hint.
|
|
19383
|
-
/* @__PURE__ */ jsxs19(
|
|
19384
|
-
/* @__PURE__ */ jsx26(
|
|
19385
|
-
/* @__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 })
|
|
19386
19420
|
] })
|
|
19387
19421
|
) : selectTrigger,
|
|
19388
19422
|
isSelectOpen ? /* @__PURE__ */ jsx26(
|
|
@@ -19499,9 +19533,9 @@ function ComposerOptionInfoTooltip({
|
|
|
19499
19533
|
if (!tooltipsEnabled) {
|
|
19500
19534
|
return trigger;
|
|
19501
19535
|
}
|
|
19502
|
-
return /* @__PURE__ */ jsxs19(
|
|
19503
|
-
/* @__PURE__ */ jsx26(
|
|
19504
|
-
/* @__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 })
|
|
19505
19539
|
] });
|
|
19506
19540
|
}
|
|
19507
19541
|
function resolvePermissionModeTriggerTone(value) {
|
|
@@ -19582,9 +19616,9 @@ function AgentModelReasoningDropdown({
|
|
|
19582
19616
|
// The trigger is disabled while loading, so pointer events never reach
|
|
19583
19617
|
// it. Target the tooltip at a focusable wrapper span (Radix's pattern
|
|
19584
19618
|
// for disabled triggers) so hover/focus reliably surfaces the hint.
|
|
19585
|
-
/* @__PURE__ */ jsxs19(
|
|
19586
|
-
/* @__PURE__ */ jsx26(
|
|
19587
|
-
/* @__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 })
|
|
19588
19622
|
] })
|
|
19589
19623
|
) : /* @__PURE__ */ jsx26(DropdownMenuTrigger3, { asChild: true, disabled: menuDisabled, children: trigger }),
|
|
19590
19624
|
/* @__PURE__ */ jsxs19(
|
|
@@ -19787,12 +19821,12 @@ function ComposerModelOptionTooltip({
|
|
|
19787
19821
|
if (!tooltipsEnabled || !option.tooltip) {
|
|
19788
19822
|
return children;
|
|
19789
19823
|
}
|
|
19790
|
-
return /* @__PURE__ */ jsxs19(
|
|
19791
|
-
/* @__PURE__ */ jsx26(
|
|
19824
|
+
return /* @__PURE__ */ jsxs19(Tooltip3, { children: [
|
|
19825
|
+
/* @__PURE__ */ jsx26(TooltipTrigger3, { asChild: true, children: cloneElement(children, {
|
|
19792
19826
|
"data-agent-model-option-tooltip-trigger": "true"
|
|
19793
19827
|
}) }),
|
|
19794
19828
|
/* @__PURE__ */ jsxs19(
|
|
19795
|
-
|
|
19829
|
+
TooltipContent3,
|
|
19796
19830
|
{
|
|
19797
19831
|
side: "right",
|
|
19798
19832
|
align: "start",
|
|
@@ -20378,7 +20412,7 @@ function AgentRichTextEditorSurface({
|
|
|
20378
20412
|
"aria-multiline": "true",
|
|
20379
20413
|
className: cn(
|
|
20380
20414
|
className,
|
|
20381
|
-
"overflow-y-auto whitespace-pre-wrap break-words [&_p]:m-0
|
|
20415
|
+
"overflow-y-auto whitespace-pre-wrap break-words [&_p]:m-0"
|
|
20382
20416
|
)
|
|
20383
20417
|
}
|
|
20384
20418
|
),
|
|
@@ -20698,7 +20732,7 @@ var AgentRichTextEditor = forwardRef3(function AgentRichTextEditor2({
|
|
|
20698
20732
|
"aria-multiline": "true",
|
|
20699
20733
|
class: cn(
|
|
20700
20734
|
className,
|
|
20701
|
-
"overflow-y-auto whitespace-pre-wrap break-words [&_p]:m-0
|
|
20735
|
+
"overflow-y-auto whitespace-pre-wrap break-words [&_p]:m-0"
|
|
20702
20736
|
)
|
|
20703
20737
|
},
|
|
20704
20738
|
clipboardTextSerializer: (slice) => agentRichTextContentToPromptText(slice.content.toJSON()),
|
|
@@ -21112,6 +21146,39 @@ function releasePastedAtSuggestionSuppression(ref) {
|
|
|
21112
21146
|
}, 0);
|
|
21113
21147
|
}
|
|
21114
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
|
+
|
|
21115
21182
|
// agent-gui/agentGuiNode/AgentSlashCommandPalette.tsx
|
|
21116
21183
|
import { Fragment as Fragment8, useEffect as useEffect25, useRef as useRef26 } from "react";
|
|
21117
21184
|
import { Spinner as Spinner3 } from "@tutti-os/ui-system";
|
|
@@ -21125,10 +21192,10 @@ import {
|
|
|
21125
21192
|
Target,
|
|
21126
21193
|
ZapIcon as ZapIcon2
|
|
21127
21194
|
} from "lucide-react";
|
|
21128
|
-
import { jsx as
|
|
21195
|
+
import { jsx as jsx30, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
21129
21196
|
var paletteStyles = {
|
|
21130
|
-
palette: "nodrag agent-gui-node__mention-palette flex h-full min-h-0 flex-col gap-
|
|
21131
|
-
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",
|
|
21132
21199
|
icon: "flex w-3 shrink-0 items-center justify-center self-center text-[var(--text-secondary)]",
|
|
21133
21200
|
copy: "flex min-w-0 flex-1 items-center gap-1 overflow-hidden leading-[16px]",
|
|
21134
21201
|
name: "flex min-w-0 max-w-[48%] shrink-0 items-center gap-1 overflow-hidden",
|
|
@@ -21138,7 +21205,7 @@ var paletteStyles = {
|
|
|
21138
21205
|
groupHeader: "select-none px-2.5 pb-0.5 text-[11px] font-normal text-[var(--text-secondary)]",
|
|
21139
21206
|
groupHeaderFirst: "pt-1.5",
|
|
21140
21207
|
groupHeaderSeparated: "mt-1 border-t border-[var(--border-1)] pt-2",
|
|
21141
|
-
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))]",
|
|
21142
21209
|
loading: "flex min-h-9 w-full items-center gap-2 px-2.5 py-2 text-[11px] text-[var(--text-secondary)]"
|
|
21143
21210
|
};
|
|
21144
21211
|
function AgentSlashCommandPalette({
|
|
@@ -21184,7 +21251,7 @@ function AgentSlashCommandPalette({
|
|
|
21184
21251
|
);
|
|
21185
21252
|
const capabilityLoadingInsertIndex = capabilitiesLoading ? capabilityLoadingIndex(entries) : -1;
|
|
21186
21253
|
const capabilityLoadingNode = capabilitiesLoading ? /* @__PURE__ */ jsxs21(Fragment8, { children: [
|
|
21187
|
-
!hasCapabilityEntries ? /* @__PURE__ */
|
|
21254
|
+
!hasCapabilityEntries ? /* @__PURE__ */ jsx30(
|
|
21188
21255
|
"div",
|
|
21189
21256
|
{
|
|
21190
21257
|
"aria-hidden": "true",
|
|
@@ -21196,8 +21263,8 @@ function AgentSlashCommandPalette({
|
|
|
21196
21263
|
}
|
|
21197
21264
|
) : null,
|
|
21198
21265
|
/* @__PURE__ */ jsxs21("div", { "aria-live": "polite", className: paletteStyles.loading, role: "status", children: [
|
|
21199
|
-
/* @__PURE__ */
|
|
21200
|
-
/* @__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 })
|
|
21201
21268
|
] })
|
|
21202
21269
|
] }, "capability-loading") : null;
|
|
21203
21270
|
return /* @__PURE__ */ jsxs21("div", { className: paletteStyles.palette, role: "listbox", "aria-label": label, children: [
|
|
@@ -21205,7 +21272,7 @@ function AgentSlashCommandPalette({
|
|
|
21205
21272
|
const isHighlighted = index === highlightedIndex;
|
|
21206
21273
|
const groupType = entryGroupType(entry);
|
|
21207
21274
|
const entryIcon = slashPaletteEntryIcon(entry);
|
|
21208
|
-
const groupHeader = showGroupHeaders && firstEntryIndexByType.get(groupType) === index ? /* @__PURE__ */
|
|
21275
|
+
const groupHeader = showGroupHeaders && firstEntryIndexByType.get(groupType) === index ? /* @__PURE__ */ jsx30(
|
|
21209
21276
|
"div",
|
|
21210
21277
|
{
|
|
21211
21278
|
"aria-hidden": "true",
|
|
@@ -21255,15 +21322,15 @@ function AgentSlashCommandPalette({
|
|
|
21255
21322
|
onSelectSkill(entry.skill);
|
|
21256
21323
|
},
|
|
21257
21324
|
children: [
|
|
21258
|
-
entryIcon ? /* @__PURE__ */
|
|
21325
|
+
entryIcon ? /* @__PURE__ */ jsx30("span", { "aria-hidden": "true", className: paletteStyles.icon, children: entryIcon }) : null,
|
|
21259
21326
|
/* @__PURE__ */ jsxs21("span", { className: paletteStyles.copy, children: [
|
|
21260
21327
|
/* @__PURE__ */ jsxs21("span", { className: paletteStyles.name, children: [
|
|
21261
|
-
/* @__PURE__ */
|
|
21262
|
-
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
|
|
21263
21330
|
] }),
|
|
21264
|
-
entry.description ? /* @__PURE__ */
|
|
21331
|
+
entry.description ? /* @__PURE__ */ jsx30("span", { className: paletteStyles.descriptionText, children: entry.description }) : null
|
|
21265
21332
|
] }),
|
|
21266
|
-
entry.type === "capability" && entry.settingsLabel && onSelectCapabilitySettings ? /* @__PURE__ */
|
|
21333
|
+
entry.type === "capability" && entry.settingsLabel && onSelectCapabilitySettings ? /* @__PURE__ */ jsx30(
|
|
21267
21334
|
"button",
|
|
21268
21335
|
{
|
|
21269
21336
|
"aria-label": entry.settingsAriaLabel ?? entry.settingsLabel,
|
|
@@ -21334,24 +21401,24 @@ function labelForEntryGroupType(groupType, labels) {
|
|
|
21334
21401
|
var SLASH_PALETTE_ICON_CLASS = "size-3";
|
|
21335
21402
|
function slashPaletteEntryIcon(entry) {
|
|
21336
21403
|
if (entry.type === "capability") {
|
|
21337
|
-
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 });
|
|
21338
21405
|
}
|
|
21339
21406
|
if (entry.type !== "command") {
|
|
21340
21407
|
return null;
|
|
21341
21408
|
}
|
|
21342
21409
|
switch (entry.command.name.trim().toLowerCase()) {
|
|
21343
21410
|
case "compact":
|
|
21344
|
-
return /* @__PURE__ */
|
|
21411
|
+
return /* @__PURE__ */ jsx30(Minimize2, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21345
21412
|
case "fast":
|
|
21346
|
-
return /* @__PURE__ */
|
|
21413
|
+
return /* @__PURE__ */ jsx30(ZapIcon2, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21347
21414
|
case "goal":
|
|
21348
|
-
return /* @__PURE__ */
|
|
21415
|
+
return /* @__PURE__ */ jsx30(Target, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21349
21416
|
case "plan":
|
|
21350
|
-
return /* @__PURE__ */
|
|
21417
|
+
return /* @__PURE__ */ jsx30(ListChecks, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21351
21418
|
case "review":
|
|
21352
|
-
return /* @__PURE__ */
|
|
21419
|
+
return /* @__PURE__ */ jsx30(Search, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21353
21420
|
case "status":
|
|
21354
|
-
return /* @__PURE__ */
|
|
21421
|
+
return /* @__PURE__ */ jsx30(Info, { className: SLASH_PALETTE_ICON_CLASS });
|
|
21355
21422
|
default:
|
|
21356
21423
|
return null;
|
|
21357
21424
|
}
|
|
@@ -21453,7 +21520,7 @@ var AgentReviewBranchController = class {
|
|
|
21453
21520
|
};
|
|
21454
21521
|
|
|
21455
21522
|
// agent-gui/agentGuiNode/AgentReviewPickerPanel.tsx
|
|
21456
|
-
import { jsx as
|
|
21523
|
+
import { jsx as jsx31, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
21457
21524
|
var reviewMenuStyles = {
|
|
21458
21525
|
panel: "agent-gui-node__slash-status-panel nodrag flex max-h-[280px] flex-col gap-1 overflow-hidden [-webkit-app-region:no-drag]",
|
|
21459
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]",
|
|
@@ -21657,7 +21724,7 @@ function AgentReviewPickerPanel({
|
|
|
21657
21724
|
role: "dialog",
|
|
21658
21725
|
"aria-label": labels.title,
|
|
21659
21726
|
children: [
|
|
21660
|
-
/* @__PURE__ */
|
|
21727
|
+
/* @__PURE__ */ jsx31(
|
|
21661
21728
|
"input",
|
|
21662
21729
|
{
|
|
21663
21730
|
ref: searchInputRef,
|
|
@@ -21673,15 +21740,15 @@ function AgentReviewPickerPanel({
|
|
|
21673
21740
|
onKeyDown: handleKeyDown
|
|
21674
21741
|
}
|
|
21675
21742
|
),
|
|
21676
|
-
/* @__PURE__ */
|
|
21743
|
+
/* @__PURE__ */ jsx31(
|
|
21677
21744
|
"div",
|
|
21678
21745
|
{
|
|
21679
21746
|
className: reviewMenuStyles.list,
|
|
21680
21747
|
role: "listbox",
|
|
21681
21748
|
"aria-label": labels.title,
|
|
21682
|
-
children: entries.length === 0 ? /* @__PURE__ */
|
|
21749
|
+
children: entries.length === 0 ? /* @__PURE__ */ jsx31("div", { className: reviewMenuStyles.message, children: emptyMessage }) : entries.map((entry, index) => {
|
|
21683
21750
|
const isHighlighted = index === safeHighlightedIndex;
|
|
21684
|
-
return /* @__PURE__ */
|
|
21751
|
+
return /* @__PURE__ */ jsx31(
|
|
21685
21752
|
"button",
|
|
21686
21753
|
{
|
|
21687
21754
|
ref: isHighlighted ? highlightedOptionRef : null,
|
|
@@ -21702,8 +21769,8 @@ function AgentReviewPickerPanel({
|
|
|
21702
21769
|
}
|
|
21703
21770
|
},
|
|
21704
21771
|
children: /* @__PURE__ */ jsxs22("span", { className: reviewMenuStyles.copy, children: [
|
|
21705
|
-
/* @__PURE__ */
|
|
21706
|
-
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
|
|
21707
21774
|
] })
|
|
21708
21775
|
},
|
|
21709
21776
|
entry.key
|
|
@@ -21727,7 +21794,7 @@ import {
|
|
|
21727
21794
|
useState as useState19
|
|
21728
21795
|
} from "react";
|
|
21729
21796
|
import { createPortal as createPortal3 } from "react-dom";
|
|
21730
|
-
import { jsx as
|
|
21797
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
21731
21798
|
var COMPOSER_MENU_GAP_PX = 8;
|
|
21732
21799
|
var COMPOSER_MENU_VIEWPORT_PADDING_PX = 8;
|
|
21733
21800
|
var COMPOSER_MENU_TOP_SAFE_AREA_PX = DESKTOP_WINDOW_TOP_MARGIN;
|
|
@@ -21960,7 +22027,7 @@ var ComposerFloatingMenuSurface = forwardRef4(function ComposerFloatingMenuSurfa
|
|
|
21960
22027
|
}
|
|
21961
22028
|
const portalTarget = frame?.portalTarget ?? (anchorRef.current ? resolveComposerMenuPortalTarget(anchorRef.current) : document.body);
|
|
21962
22029
|
return createPortal3(
|
|
21963
|
-
/* @__PURE__ */
|
|
22030
|
+
/* @__PURE__ */ jsx32(
|
|
21964
22031
|
"div",
|
|
21965
22032
|
{
|
|
21966
22033
|
"data-testid": testId,
|
|
@@ -21971,7 +22038,7 @@ var ComposerFloatingMenuSurface = forwardRef4(function ComposerFloatingMenuSurfa
|
|
|
21971
22038
|
className
|
|
21972
22039
|
),
|
|
21973
22040
|
style,
|
|
21974
|
-
children: contentClassName ? /* @__PURE__ */
|
|
22041
|
+
children: contentClassName ? /* @__PURE__ */ jsx32("div", { className: contentClassName, children }) : children
|
|
21975
22042
|
}
|
|
21976
22043
|
),
|
|
21977
22044
|
portalTarget
|
|
@@ -21981,7 +22048,7 @@ var ComposerFloatingMenuSurface = forwardRef4(function ComposerFloatingMenuSurfa
|
|
|
21981
22048
|
// agent-gui/agentGuiNode/composer/ComposerDraftAttachments.tsx
|
|
21982
22049
|
import { FileText, X as X3 } from "lucide-react";
|
|
21983
22050
|
import { Spinner as Spinner4 } from "@tutti-os/ui-system";
|
|
21984
|
-
import { Fragment as Fragment9, jsx as
|
|
22051
|
+
import { Fragment as Fragment9, jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
21985
22052
|
function ComposerDraftAttachments({
|
|
21986
22053
|
draftImages,
|
|
21987
22054
|
draftFiles: visibleDraftFiles,
|
|
@@ -21994,12 +22061,12 @@ function ComposerDraftAttachments({
|
|
|
21994
22061
|
}) {
|
|
21995
22062
|
const labels = { removeMention: removeLabel };
|
|
21996
22063
|
return /* @__PURE__ */ jsxs23(Fragment9, { children: [
|
|
21997
|
-
draftImages.length > 0 ? /* @__PURE__ */
|
|
22064
|
+
draftImages.length > 0 ? /* @__PURE__ */ jsx33(
|
|
21998
22065
|
"div",
|
|
21999
22066
|
{
|
|
22000
22067
|
className: "mb-2 flex w-full max-w-full flex-wrap items-start gap-2",
|
|
22001
22068
|
"data-testid": "agent-gui-composer-image-drafts",
|
|
22002
|
-
children: draftImages.map((image) => /* @__PURE__ */
|
|
22069
|
+
children: draftImages.map((image) => /* @__PURE__ */ jsx33(
|
|
22003
22070
|
AgentComposerDraftImagePreview,
|
|
22004
22071
|
{
|
|
22005
22072
|
image,
|
|
@@ -22048,7 +22115,7 @@ function ComposerDraftAttachments({
|
|
|
22048
22115
|
title: item.uploadError ?? (canRestore ? restoreLabel : preview),
|
|
22049
22116
|
onClick: () => expandDraftLargeTextToPrompt(item.id),
|
|
22050
22117
|
children: [
|
|
22051
|
-
/* @__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(
|
|
22052
22119
|
Spinner4,
|
|
22053
22120
|
{
|
|
22054
22121
|
size: 16,
|
|
@@ -22056,15 +22123,15 @@ function ComposerDraftAttachments({
|
|
|
22056
22123
|
trackColor: "var(--transparency-hover)",
|
|
22057
22124
|
testId: "agent-gui-composer-large-text-upload-spinner"
|
|
22058
22125
|
}
|
|
22059
|
-
) : /* @__PURE__ */
|
|
22126
|
+
) : /* @__PURE__ */ jsx33(FileText, { size: 16, strokeWidth: 2, "aria-hidden": true }) }),
|
|
22060
22127
|
/* @__PURE__ */ jsxs23("span", { className: "flex min-w-0 flex-col", children: [
|
|
22061
|
-
/* @__PURE__ */
|
|
22062
|
-
/* @__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 })
|
|
22063
22130
|
] })
|
|
22064
22131
|
]
|
|
22065
22132
|
}
|
|
22066
22133
|
),
|
|
22067
|
-
/* @__PURE__ */
|
|
22134
|
+
/* @__PURE__ */ jsx33(
|
|
22068
22135
|
"button",
|
|
22069
22136
|
{
|
|
22070
22137
|
type: "button",
|
|
@@ -22072,7 +22139,7 @@ function ComposerDraftAttachments({
|
|
|
22072
22139
|
"aria-label": labels.removeMention,
|
|
22073
22140
|
title: labels.removeMention,
|
|
22074
22141
|
onClick: () => removeDraftLargeText(item.id),
|
|
22075
|
-
children: /* @__PURE__ */
|
|
22142
|
+
children: /* @__PURE__ */ jsx33(X3, { size: 12, strokeWidth: 2.4, "aria-hidden": true })
|
|
22076
22143
|
}
|
|
22077
22144
|
)
|
|
22078
22145
|
]
|
|
@@ -22091,7 +22158,7 @@ function ComposerDraftAttachments({
|
|
|
22091
22158
|
"data-upload-error": file.uploadError ? "true" : void 0,
|
|
22092
22159
|
title: file.hostPath ?? file.path ?? file.name,
|
|
22093
22160
|
children: [
|
|
22094
|
-
file.uploading ? /* @__PURE__ */
|
|
22161
|
+
file.uploading ? /* @__PURE__ */ jsx33(
|
|
22095
22162
|
Spinner4,
|
|
22096
22163
|
{
|
|
22097
22164
|
className: "shrink-0 text-[var(--text-primary)]",
|
|
@@ -22100,15 +22167,15 @@ function ComposerDraftAttachments({
|
|
|
22100
22167
|
trackColor: "var(--transparency-hover)",
|
|
22101
22168
|
testId: "agent-gui-composer-file-upload-spinner"
|
|
22102
22169
|
}
|
|
22103
|
-
) : /* @__PURE__ */
|
|
22170
|
+
) : /* @__PURE__ */ jsx33(
|
|
22104
22171
|
"span",
|
|
22105
22172
|
{
|
|
22106
22173
|
className: "size-2 shrink-0 rounded-full bg-[var(--text-tertiary)]",
|
|
22107
22174
|
"aria-hidden": true
|
|
22108
22175
|
}
|
|
22109
22176
|
),
|
|
22110
|
-
/* @__PURE__ */
|
|
22111
|
-
/* @__PURE__ */
|
|
22177
|
+
/* @__PURE__ */ jsx33("span", { className: "min-w-0 max-w-[220px] truncate", children: file.name }),
|
|
22178
|
+
/* @__PURE__ */ jsx33(
|
|
22112
22179
|
"button",
|
|
22113
22180
|
{
|
|
22114
22181
|
type: "button",
|
|
@@ -22116,7 +22183,7 @@ function ComposerDraftAttachments({
|
|
|
22116
22183
|
"aria-label": labels.removeMention,
|
|
22117
22184
|
title: labels.removeMention,
|
|
22118
22185
|
onClick: () => removeDraftFile(file.id),
|
|
22119
|
-
children: /* @__PURE__ */
|
|
22186
|
+
children: /* @__PURE__ */ jsx33(X3, { size: 12, strokeWidth: 2.4, "aria-hidden": true })
|
|
22120
22187
|
}
|
|
22121
22188
|
)
|
|
22122
22189
|
]
|
|
@@ -22136,10 +22203,10 @@ import {
|
|
|
22136
22203
|
SelectContent as SelectContent2,
|
|
22137
22204
|
SelectItem as SelectItem2,
|
|
22138
22205
|
SelectTrigger as SelectTrigger2,
|
|
22139
|
-
Tooltip as
|
|
22140
|
-
TooltipContent as
|
|
22141
|
-
TooltipProvider as
|
|
22142
|
-
TooltipTrigger as
|
|
22206
|
+
Tooltip as Tooltip4,
|
|
22207
|
+
TooltipContent as TooltipContent4,
|
|
22208
|
+
TooltipProvider as TooltipProvider3,
|
|
22209
|
+
TooltipTrigger as TooltipTrigger4
|
|
22143
22210
|
} from "@tutti-os/ui-system";
|
|
22144
22211
|
|
|
22145
22212
|
// app/renderer/assets/icons/add-lined-bold.svg
|
|
@@ -22149,7 +22216,7 @@ var add_lined_bold_default = "./add-lined-bold-5QPUDZCU.svg";
|
|
|
22149
22216
|
var bold_lined_default = "./@-bold-lined-BLLFKBFI.svg";
|
|
22150
22217
|
|
|
22151
22218
|
// agent-gui/agentGuiNode/composer/ComposerFooter.tsx
|
|
22152
|
-
import { Fragment as Fragment10, jsx as
|
|
22219
|
+
import { Fragment as Fragment10, jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
22153
22220
|
function ComposerFooter({
|
|
22154
22221
|
labels,
|
|
22155
22222
|
composerSettings,
|
|
@@ -22188,11 +22255,11 @@ function ComposerFooter({
|
|
|
22188
22255
|
onClearGoalMode: clearGoalModeBadge
|
|
22189
22256
|
}) {
|
|
22190
22257
|
const showSettingsLoadingPlaceholders = composerSettings.isSettingsLoading;
|
|
22191
|
-
return /* @__PURE__ */
|
|
22258
|
+
return /* @__PURE__ */ jsx34(Fragment10, { children: /* @__PURE__ */ jsxs24("div", { className: AgentGUINode_styles_default.composerFooter, children: [
|
|
22192
22259
|
/* @__PURE__ */ jsxs24("div", { className: composerStyles.footerGroup, children: [
|
|
22193
22260
|
/* @__PURE__ */ jsxs24("div", { className: "inline-flex shrink-0 items-center gap-1", children: [
|
|
22194
|
-
previewMode ? /* @__PURE__ */
|
|
22195
|
-
/* @__PURE__ */
|
|
22261
|
+
previewMode ? /* @__PURE__ */ jsx34(TooltipProvider3, { delayDuration: 120, children: /* @__PURE__ */ jsxs24(Tooltip4, { children: [
|
|
22262
|
+
/* @__PURE__ */ jsx34(TooltipTrigger4, { asChild: true, children: /* @__PURE__ */ jsx34(
|
|
22196
22263
|
"button",
|
|
22197
22264
|
{
|
|
22198
22265
|
type: "button",
|
|
@@ -22202,7 +22269,7 @@ function ComposerFooter({
|
|
|
22202
22269
|
AgentGUINode_styles_default.composerReferenceTrigger,
|
|
22203
22270
|
"group w-auto justify-center text-[var(--agent-gui-text-secondary)]"
|
|
22204
22271
|
),
|
|
22205
|
-
children: /* @__PURE__ */
|
|
22272
|
+
children: /* @__PURE__ */ jsx34(
|
|
22206
22273
|
AgentComposerMaskIcon,
|
|
22207
22274
|
{
|
|
22208
22275
|
iconUrl: add_lined_bold_default,
|
|
@@ -22211,9 +22278,9 @@ function ComposerFooter({
|
|
|
22211
22278
|
)
|
|
22212
22279
|
}
|
|
22213
22280
|
) }),
|
|
22214
|
-
/* @__PURE__ */
|
|
22215
|
-
] }) }) : /* @__PURE__ */
|
|
22216
|
-
/* @__PURE__ */
|
|
22281
|
+
/* @__PURE__ */ jsx34(TooltipContent4, { side: "top", children: labels.addContent })
|
|
22282
|
+
] }) }) : /* @__PURE__ */ jsx34(TooltipProvider3, { delayDuration: 120, children: /* @__PURE__ */ jsxs24(Tooltip4, { children: [
|
|
22283
|
+
/* @__PURE__ */ jsx34(
|
|
22217
22284
|
Select2,
|
|
22218
22285
|
{
|
|
22219
22286
|
open: false,
|
|
@@ -22229,7 +22296,7 @@ function ComposerFooter({
|
|
|
22229
22296
|
void handleWorkspaceReferencePicker();
|
|
22230
22297
|
}
|
|
22231
22298
|
},
|
|
22232
|
-
children: /* @__PURE__ */
|
|
22299
|
+
children: /* @__PURE__ */ jsx34(TooltipTrigger4, { asChild: true, children: /* @__PURE__ */ jsx34(
|
|
22233
22300
|
SelectTrigger2,
|
|
22234
22301
|
{
|
|
22235
22302
|
size: "sm",
|
|
@@ -22240,7 +22307,7 @@ function ComposerFooter({
|
|
|
22240
22307
|
AgentGUINode_styles_default.composerReferenceTrigger,
|
|
22241
22308
|
"group w-auto justify-center text-[var(--agent-gui-text-secondary)] [&>svg:last-child]:hidden"
|
|
22242
22309
|
),
|
|
22243
|
-
children: /* @__PURE__ */
|
|
22310
|
+
children: /* @__PURE__ */ jsx34(
|
|
22244
22311
|
AgentComposerMaskIcon,
|
|
22245
22312
|
{
|
|
22246
22313
|
iconUrl: add_lined_bold_default,
|
|
@@ -22251,10 +22318,10 @@ function ComposerFooter({
|
|
|
22251
22318
|
) })
|
|
22252
22319
|
}
|
|
22253
22320
|
),
|
|
22254
|
-
/* @__PURE__ */
|
|
22321
|
+
/* @__PURE__ */ jsx34(TooltipContent4, { side: "top", children: labels.addContent })
|
|
22255
22322
|
] }) }),
|
|
22256
|
-
/* @__PURE__ */
|
|
22257
|
-
/* @__PURE__ */
|
|
22323
|
+
/* @__PURE__ */ jsx34(TooltipProvider3, { delayDuration: 120, children: /* @__PURE__ */ jsxs24(Tooltip4, { children: [
|
|
22324
|
+
/* @__PURE__ */ jsx34(TooltipTrigger4, { asChild: true, children: /* @__PURE__ */ jsx34(
|
|
22258
22325
|
"button",
|
|
22259
22326
|
{
|
|
22260
22327
|
type: "button",
|
|
@@ -22267,7 +22334,7 @@ function ComposerFooter({
|
|
|
22267
22334
|
),
|
|
22268
22335
|
onMouseDown: (event) => event.preventDefault(),
|
|
22269
22336
|
onClick: handleMentionPaletteButton,
|
|
22270
|
-
children: /* @__PURE__ */
|
|
22337
|
+
children: /* @__PURE__ */ jsx34(
|
|
22271
22338
|
"span",
|
|
22272
22339
|
{
|
|
22273
22340
|
"aria-hidden": true,
|
|
@@ -22286,10 +22353,10 @@ function ComposerFooter({
|
|
|
22286
22353
|
)
|
|
22287
22354
|
}
|
|
22288
22355
|
) }),
|
|
22289
|
-
/* @__PURE__ */
|
|
22356
|
+
/* @__PURE__ */ jsx34(TooltipContent4, { side: "top", children: labels.mentionPalette })
|
|
22290
22357
|
] }) })
|
|
22291
22358
|
] }),
|
|
22292
|
-
showHandoffSelect ? /* @__PURE__ */
|
|
22359
|
+
showHandoffSelect ? /* @__PURE__ */ jsx34(TooltipProvider3, { children: /* @__PURE__ */ jsxs24(Tooltip4, { children: [
|
|
22293
22360
|
/* @__PURE__ */ jsxs24(
|
|
22294
22361
|
Select2,
|
|
22295
22362
|
{
|
|
@@ -22305,7 +22372,7 @@ function ComposerFooter({
|
|
|
22305
22372
|
onHandoffConversation?.(target);
|
|
22306
22373
|
},
|
|
22307
22374
|
children: [
|
|
22308
|
-
/* @__PURE__ */
|
|
22375
|
+
/* @__PURE__ */ jsx34(TooltipTrigger4, { asChild: true, children: /* @__PURE__ */ jsx34(
|
|
22309
22376
|
SelectTrigger2,
|
|
22310
22377
|
{
|
|
22311
22378
|
size: "sm",
|
|
@@ -22330,18 +22397,18 @@ function ComposerFooter({
|
|
|
22330
22397
|
"w-auto max-w-[180px] [&>svg:last-child]:hidden"
|
|
22331
22398
|
),
|
|
22332
22399
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
22333
|
-
/* @__PURE__ */
|
|
22400
|
+
/* @__PURE__ */ jsx34(
|
|
22334
22401
|
AgentComposerHandoffIcon,
|
|
22335
22402
|
{
|
|
22336
22403
|
disabled: handoffDisabled,
|
|
22337
22404
|
isPlaying: isHandoffIconPlaying
|
|
22338
22405
|
}
|
|
22339
22406
|
),
|
|
22340
|
-
/* @__PURE__ */
|
|
22407
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: effectiveHandoffLabel })
|
|
22341
22408
|
] })
|
|
22342
22409
|
}
|
|
22343
22410
|
) }),
|
|
22344
|
-
/* @__PURE__ */
|
|
22411
|
+
/* @__PURE__ */ jsx34(
|
|
22345
22412
|
SelectContent2,
|
|
22346
22413
|
{
|
|
22347
22414
|
align: "start",
|
|
@@ -22351,14 +22418,14 @@ function ComposerFooter({
|
|
|
22351
22418
|
"min-w-[190px]"
|
|
22352
22419
|
),
|
|
22353
22420
|
"aria-label": effectiveHandoffMenuLabel,
|
|
22354
|
-
children: handoffMenuTargets.map((target) => /* @__PURE__ */
|
|
22421
|
+
children: handoffMenuTargets.map((target) => /* @__PURE__ */ jsx34(
|
|
22355
22422
|
SelectItem2,
|
|
22356
22423
|
{
|
|
22357
22424
|
value: target.targetId,
|
|
22358
22425
|
className: cn(AgentGUINode_styles_default.composerMenuItem, "gap-2"),
|
|
22359
22426
|
disabled: target.disabled === true,
|
|
22360
22427
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
22361
|
-
/* @__PURE__ */
|
|
22428
|
+
/* @__PURE__ */ jsx34(
|
|
22362
22429
|
"img",
|
|
22363
22430
|
{
|
|
22364
22431
|
alt: "",
|
|
@@ -22367,7 +22434,7 @@ function ComposerFooter({
|
|
|
22367
22434
|
src: resolveComposerProviderTargetIconUrl(target)
|
|
22368
22435
|
}
|
|
22369
22436
|
),
|
|
22370
|
-
/* @__PURE__ */
|
|
22437
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: target.label })
|
|
22371
22438
|
] })
|
|
22372
22439
|
},
|
|
22373
22440
|
`${target.provider}:${target.targetId}`
|
|
@@ -22377,7 +22444,7 @@ function ComposerFooter({
|
|
|
22377
22444
|
]
|
|
22378
22445
|
}
|
|
22379
22446
|
),
|
|
22380
|
-
/* @__PURE__ */
|
|
22447
|
+
/* @__PURE__ */ jsx34(TooltipContent4, { side: "top", children: labels.handoffConversationTooltip })
|
|
22381
22448
|
] }) }) : showProviderSelect && selectedProviderSwitchTarget ? /* @__PURE__ */ jsxs24(
|
|
22382
22449
|
Select2,
|
|
22383
22450
|
{
|
|
@@ -22396,7 +22463,7 @@ function ComposerFooter({
|
|
|
22396
22463
|
});
|
|
22397
22464
|
},
|
|
22398
22465
|
children: [
|
|
22399
|
-
/* @__PURE__ */
|
|
22466
|
+
/* @__PURE__ */ jsx34(
|
|
22400
22467
|
SelectTrigger2,
|
|
22401
22468
|
{
|
|
22402
22469
|
size: "sm",
|
|
@@ -22408,7 +22475,7 @@ function ComposerFooter({
|
|
|
22408
22475
|
"w-auto max-w-[180px]"
|
|
22409
22476
|
),
|
|
22410
22477
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
22411
|
-
/* @__PURE__ */
|
|
22478
|
+
/* @__PURE__ */ jsx34(
|
|
22412
22479
|
"img",
|
|
22413
22480
|
{
|
|
22414
22481
|
alt: "",
|
|
@@ -22419,22 +22486,22 @@ function ComposerFooter({
|
|
|
22419
22486
|
)
|
|
22420
22487
|
}
|
|
22421
22488
|
),
|
|
22422
|
-
/* @__PURE__ */
|
|
22489
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: selectedProviderLabel })
|
|
22423
22490
|
] })
|
|
22424
22491
|
}
|
|
22425
22492
|
),
|
|
22426
|
-
/* @__PURE__ */
|
|
22493
|
+
/* @__PURE__ */ jsx34(
|
|
22427
22494
|
SelectContent2,
|
|
22428
22495
|
{
|
|
22429
22496
|
align: "start",
|
|
22430
22497
|
className: cn(AgentGUINode_styles_default.composerMenuContent, "min-w-[190px]"),
|
|
22431
|
-
children: providerMenuTargets.map((target) => /* @__PURE__ */
|
|
22498
|
+
children: providerMenuTargets.map((target) => /* @__PURE__ */ jsx34(
|
|
22432
22499
|
SelectItem2,
|
|
22433
22500
|
{
|
|
22434
22501
|
value: target.targetId,
|
|
22435
22502
|
className: cn(AgentGUINode_styles_default.composerMenuItem, "gap-2"),
|
|
22436
22503
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
22437
|
-
/* @__PURE__ */
|
|
22504
|
+
/* @__PURE__ */ jsx34(
|
|
22438
22505
|
"img",
|
|
22439
22506
|
{
|
|
22440
22507
|
alt: "",
|
|
@@ -22443,7 +22510,7 @@ function ComposerFooter({
|
|
|
22443
22510
|
src: resolveComposerProviderTargetIconUrl(target)
|
|
22444
22511
|
}
|
|
22445
22512
|
),
|
|
22446
|
-
/* @__PURE__ */
|
|
22513
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: target.label })
|
|
22447
22514
|
] })
|
|
22448
22515
|
},
|
|
22449
22516
|
`${target.provider}:${target.targetId}`
|
|
@@ -22453,7 +22520,7 @@ function ComposerFooter({
|
|
|
22453
22520
|
]
|
|
22454
22521
|
}
|
|
22455
22522
|
) : null,
|
|
22456
|
-
composerSettings.supportsPlanMode && composerSettings.draftSettings.planMode ? /* @__PURE__ */
|
|
22523
|
+
composerSettings.supportsPlanMode && composerSettings.draftSettings.planMode ? /* @__PURE__ */ jsx34(
|
|
22457
22524
|
"button",
|
|
22458
22525
|
{
|
|
22459
22526
|
type: "button",
|
|
@@ -22469,19 +22536,19 @@ function ComposerFooter({
|
|
|
22469
22536
|
onClick: () => onSettingsChange({ planMode: false }),
|
|
22470
22537
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5 overflow-hidden", children: [
|
|
22471
22538
|
/* @__PURE__ */ jsxs24("span", { className: "relative flex size-3.5 shrink-0 items-center justify-center", children: [
|
|
22472
|
-
/* @__PURE__ */
|
|
22539
|
+
/* @__PURE__ */ jsx34(
|
|
22473
22540
|
ListChecks2,
|
|
22474
22541
|
{
|
|
22475
22542
|
"aria-hidden": true,
|
|
22476
22543
|
className: "size-3.5 transition-opacity duration-150 group-hover:opacity-0 group-focus-visible:opacity-0"
|
|
22477
22544
|
}
|
|
22478
22545
|
),
|
|
22479
|
-
/* @__PURE__ */
|
|
22546
|
+
/* @__PURE__ */ jsx34(
|
|
22480
22547
|
"span",
|
|
22481
22548
|
{
|
|
22482
22549
|
"aria-hidden": true,
|
|
22483
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",
|
|
22484
|
-
children: /* @__PURE__ */
|
|
22551
|
+
children: /* @__PURE__ */ jsx34(
|
|
22485
22552
|
X4,
|
|
22486
22553
|
{
|
|
22487
22554
|
className: "size-2.5 text-[var(--background-fronted)]",
|
|
@@ -22491,11 +22558,11 @@ function ComposerFooter({
|
|
|
22491
22558
|
}
|
|
22492
22559
|
)
|
|
22493
22560
|
] }),
|
|
22494
|
-
/* @__PURE__ */
|
|
22561
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: labels.planModeLabel })
|
|
22495
22562
|
] })
|
|
22496
22563
|
}
|
|
22497
22564
|
) : null,
|
|
22498
|
-
isGoalModeActive ? /* @__PURE__ */
|
|
22565
|
+
isGoalModeActive ? /* @__PURE__ */ jsx34(
|
|
22499
22566
|
"button",
|
|
22500
22567
|
{
|
|
22501
22568
|
type: "button",
|
|
@@ -22511,19 +22578,19 @@ function ComposerFooter({
|
|
|
22511
22578
|
onClick: clearGoalModeBadge,
|
|
22512
22579
|
children: /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 items-center gap-1.5 overflow-hidden", children: [
|
|
22513
22580
|
/* @__PURE__ */ jsxs24("span", { className: "relative flex size-3.5 shrink-0 items-center justify-center", children: [
|
|
22514
|
-
/* @__PURE__ */
|
|
22581
|
+
/* @__PURE__ */ jsx34(
|
|
22515
22582
|
Target2,
|
|
22516
22583
|
{
|
|
22517
22584
|
"aria-hidden": true,
|
|
22518
22585
|
className: "size-3.5 transition-opacity duration-150 group-hover:opacity-0 group-focus-visible:opacity-0"
|
|
22519
22586
|
}
|
|
22520
22587
|
),
|
|
22521
|
-
/* @__PURE__ */
|
|
22588
|
+
/* @__PURE__ */ jsx34(
|
|
22522
22589
|
"span",
|
|
22523
22590
|
{
|
|
22524
22591
|
"aria-hidden": true,
|
|
22525
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",
|
|
22526
|
-
children: /* @__PURE__ */
|
|
22593
|
+
children: /* @__PURE__ */ jsx34(
|
|
22527
22594
|
X4,
|
|
22528
22595
|
{
|
|
22529
22596
|
className: "size-2.5 text-[var(--background-fronted)]",
|
|
@@ -22533,13 +22600,13 @@ function ComposerFooter({
|
|
|
22533
22600
|
}
|
|
22534
22601
|
)
|
|
22535
22602
|
] }),
|
|
22536
|
-
/* @__PURE__ */
|
|
22603
|
+
/* @__PURE__ */ jsx34("span", { className: "min-w-0 truncate", children: labels.goalLabel })
|
|
22537
22604
|
] })
|
|
22538
22605
|
}
|
|
22539
22606
|
) : null
|
|
22540
22607
|
] }),
|
|
22541
22608
|
/* @__PURE__ */ jsxs24("div", { className: composerStyles.footerGroupRight, children: [
|
|
22542
|
-
usage && usage.percentUsed !== null ? /* @__PURE__ */
|
|
22609
|
+
usage && usage.percentUsed !== null ? /* @__PURE__ */ jsx34(
|
|
22543
22610
|
AgentUsageChip,
|
|
22544
22611
|
{
|
|
22545
22612
|
percentUsed: usage.percentUsed,
|
|
@@ -22558,7 +22625,7 @@ function ComposerFooter({
|
|
|
22558
22625
|
}
|
|
22559
22626
|
}
|
|
22560
22627
|
) : null,
|
|
22561
|
-
showSettingsLoadingPlaceholders || composerSettings.supportsPermissionMode ? /* @__PURE__ */
|
|
22628
|
+
showSettingsLoadingPlaceholders || composerSettings.supportsPermissionMode ? /* @__PURE__ */ jsx34(
|
|
22562
22629
|
AgentPermissionModeDropdown,
|
|
22563
22630
|
{
|
|
22564
22631
|
composerSettings,
|
|
@@ -22571,7 +22638,7 @@ function ComposerFooter({
|
|
|
22571
22638
|
onSettingsChange: (patch) => onSettingsChange(patch)
|
|
22572
22639
|
}
|
|
22573
22640
|
) : null,
|
|
22574
|
-
showSettingsLoadingPlaceholders || composerSettings.supportsModel || composerSettings.supportsReasoningEffort ? /* @__PURE__ */
|
|
22641
|
+
showSettingsLoadingPlaceholders || composerSettings.supportsModel || composerSettings.supportsReasoningEffort ? /* @__PURE__ */ jsx34(
|
|
22575
22642
|
AgentModelReasoningDropdown,
|
|
22576
22643
|
{
|
|
22577
22644
|
composerSettings,
|
|
@@ -22614,7 +22681,7 @@ function ComposerFooter({
|
|
|
22614
22681
|
}
|
|
22615
22682
|
|
|
22616
22683
|
// agent-gui/agentGuiNode/composer/AgentComposerView.tsx
|
|
22617
|
-
import { jsx as
|
|
22684
|
+
import { jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
22618
22685
|
function AgentComposerView(input) {
|
|
22619
22686
|
const {
|
|
22620
22687
|
slashStatus = null,
|
|
@@ -22642,6 +22709,7 @@ function AgentComposerView(input) {
|
|
|
22642
22709
|
onEditQueuedPrompt,
|
|
22643
22710
|
onPromptImagesUnsupported,
|
|
22644
22711
|
onRequestWorkspaceReferences,
|
|
22712
|
+
referenceProvenanceFilter,
|
|
22645
22713
|
selectProjectDirectory,
|
|
22646
22714
|
onProjectPathChange = () => {
|
|
22647
22715
|
},
|
|
@@ -22741,12 +22809,12 @@ function AgentComposerView(input) {
|
|
|
22741
22809
|
onSubmit: submit,
|
|
22742
22810
|
children: [
|
|
22743
22811
|
fileDropOverlay,
|
|
22744
|
-
visibleActivePrompt ? /* @__PURE__ */
|
|
22812
|
+
visibleActivePrompt ? /* @__PURE__ */ jsx35(
|
|
22745
22813
|
"div",
|
|
22746
22814
|
{
|
|
22747
22815
|
className: AgentGUINode_styles_default.composerFloatingPrompt,
|
|
22748
22816
|
"data-testid": "agent-gui-composer-floating-prompt",
|
|
22749
|
-
children: /* @__PURE__ */
|
|
22817
|
+
children: /* @__PURE__ */ jsx35(
|
|
22750
22818
|
AgentInteractivePromptSurface,
|
|
22751
22819
|
{
|
|
22752
22820
|
prompt: visibleActivePrompt,
|
|
@@ -22778,7 +22846,7 @@ function AgentComposerView(input) {
|
|
|
22778
22846
|
)
|
|
22779
22847
|
}
|
|
22780
22848
|
) : null,
|
|
22781
|
-
queuedPrompts.length > 0 ? /* @__PURE__ */
|
|
22849
|
+
queuedPrompts.length > 0 ? /* @__PURE__ */ jsx35(
|
|
22782
22850
|
"div",
|
|
22783
22851
|
{
|
|
22784
22852
|
className: cn(
|
|
@@ -22786,7 +22854,7 @@ function AgentComposerView(input) {
|
|
|
22786
22854
|
AgentGUINode_styles_default.composerQueuedPromptFloating
|
|
22787
22855
|
),
|
|
22788
22856
|
"data-testid": "agent-gui-composer-queued-prompts",
|
|
22789
|
-
children: /* @__PURE__ */
|
|
22857
|
+
children: /* @__PURE__ */ jsx35(
|
|
22790
22858
|
AgentQueuedPromptPanel,
|
|
22791
22859
|
{
|
|
22792
22860
|
queueStatus,
|
|
@@ -22811,7 +22879,7 @@ function AgentComposerView(input) {
|
|
|
22811
22879
|
)
|
|
22812
22880
|
}
|
|
22813
22881
|
) : null,
|
|
22814
|
-
showProjectMissingProbe ? /* @__PURE__ */
|
|
22882
|
+
showProjectMissingProbe ? /* @__PURE__ */ jsx35(
|
|
22815
22883
|
AgentProjectMissingStatusProbe,
|
|
22816
22884
|
{
|
|
22817
22885
|
composerSettings,
|
|
@@ -22827,17 +22895,17 @@ function AgentComposerView(input) {
|
|
|
22827
22895
|
),
|
|
22828
22896
|
"data-edge-glow": showEdgeGlow ? "true" : void 0,
|
|
22829
22897
|
children: [
|
|
22830
|
-
backgroundAgentStatusText ? /* @__PURE__ */
|
|
22898
|
+
backgroundAgentStatusText ? /* @__PURE__ */ jsx35(
|
|
22831
22899
|
AgentChromeNotice,
|
|
22832
22900
|
{
|
|
22833
22901
|
tone: "muted",
|
|
22834
22902
|
role: "status",
|
|
22835
22903
|
testId: "agent-gui-composer-background-agent-status",
|
|
22836
22904
|
title: backgroundAgentStatusText,
|
|
22837
|
-
icon: /* @__PURE__ */
|
|
22905
|
+
icon: /* @__PURE__ */ jsx35(Spinner5, { className: "h-3.5 w-3.5" })
|
|
22838
22906
|
}
|
|
22839
22907
|
) : null,
|
|
22840
|
-
input.isSelectedProjectMissing ? /* @__PURE__ */
|
|
22908
|
+
input.isSelectedProjectMissing ? /* @__PURE__ */ jsx35(
|
|
22841
22909
|
AgentChromeNotice,
|
|
22842
22910
|
{
|
|
22843
22911
|
tone: "danger",
|
|
@@ -22866,7 +22934,7 @@ function AgentComposerView(input) {
|
|
|
22866
22934
|
onOpenChange: input.setIsPaletteOpen,
|
|
22867
22935
|
modal: false,
|
|
22868
22936
|
children: [
|
|
22869
|
-
/* @__PURE__ */
|
|
22937
|
+
/* @__PURE__ */ jsx35(PopoverAnchor2, { asChild: true, children: /* @__PURE__ */ jsxs25(
|
|
22870
22938
|
"div",
|
|
22871
22939
|
{
|
|
22872
22940
|
ref: input.promptInputAreaRef,
|
|
@@ -22878,7 +22946,7 @@ function AgentComposerView(input) {
|
|
|
22878
22946
|
"data-has-draft-images": draftImages.length > 0 ? "true" : void 0,
|
|
22879
22947
|
style: promptInputAreaStyle,
|
|
22880
22948
|
children: [
|
|
22881
|
-
/* @__PURE__ */
|
|
22949
|
+
/* @__PURE__ */ jsx35(
|
|
22882
22950
|
ComposerDraftAttachments,
|
|
22883
22951
|
{
|
|
22884
22952
|
draftImages,
|
|
@@ -22899,7 +22967,7 @@ function AgentComposerView(input) {
|
|
|
22899
22967
|
!isHeroLayout && "agent-gui-node__composer-prompt-input-line"
|
|
22900
22968
|
),
|
|
22901
22969
|
children: [
|
|
22902
|
-
/* @__PURE__ */
|
|
22970
|
+
/* @__PURE__ */ jsx35(
|
|
22903
22971
|
AgentRichTextEditor,
|
|
22904
22972
|
{
|
|
22905
22973
|
ref: input.editorHandleRef,
|
|
@@ -22946,7 +23014,7 @@ function AgentComposerView(input) {
|
|
|
22946
23014
|
}
|
|
22947
23015
|
) }),
|
|
22948
23016
|
input.showFileMentionPalette && mentionPaletteFrame ? createPortal4(
|
|
22949
|
-
/* @__PURE__ */
|
|
23017
|
+
/* @__PURE__ */ jsx35(
|
|
22950
23018
|
"div",
|
|
22951
23019
|
{
|
|
22952
23020
|
"data-testid": "agent-gui-mention-palette-surface",
|
|
@@ -22956,7 +23024,7 @@ function AgentComposerView(input) {
|
|
|
22956
23024
|
"max-h-[320px] overflow-hidden border-[var(--line-1)] p-0"
|
|
22957
23025
|
),
|
|
22958
23026
|
style: mentionPaletteStyle,
|
|
22959
|
-
children: /* @__PURE__ */
|
|
23027
|
+
children: /* @__PURE__ */ jsx35(
|
|
22960
23028
|
AgentFileMentionPalette,
|
|
22961
23029
|
{
|
|
22962
23030
|
state: input.mentionSearchState,
|
|
@@ -22975,14 +23043,20 @@ function AgentComposerView(input) {
|
|
|
22975
23043
|
onExpandGroup: (groupId) => input.mentionControllerRef.current?.expandGroup(groupId),
|
|
22976
23044
|
onNavigateHierarchy: navigateFileMentionHierarchy,
|
|
22977
23045
|
onNavigateIntoItem: navigateIntoFileMentionItem,
|
|
22978
|
-
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
|
|
22979
23053
|
}
|
|
22980
23054
|
)
|
|
22981
23055
|
}
|
|
22982
23056
|
),
|
|
22983
23057
|
mentionPaletteFrame.portalTarget
|
|
22984
23058
|
) : null,
|
|
22985
|
-
/* @__PURE__ */
|
|
23059
|
+
/* @__PURE__ */ jsx35(
|
|
22986
23060
|
ComposerFloatingMenuSurface,
|
|
22987
23061
|
{
|
|
22988
23062
|
anchorRef: input.inputShellRef,
|
|
@@ -22995,7 +23069,7 @@ function AgentComposerView(input) {
|
|
|
22995
23069
|
placement: "fixed-height",
|
|
22996
23070
|
surfaceRef: input.paletteContentRef,
|
|
22997
23071
|
testId: "agent-gui-slash-palette-surface",
|
|
22998
|
-
children: /* @__PURE__ */
|
|
23072
|
+
children: /* @__PURE__ */ jsx35(
|
|
22999
23073
|
AgentSlashCommandPalette,
|
|
23000
23074
|
{
|
|
23001
23075
|
entries: slashPaletteEntries,
|
|
@@ -23018,7 +23092,7 @@ function AgentComposerView(input) {
|
|
|
23018
23092
|
)
|
|
23019
23093
|
}
|
|
23020
23094
|
),
|
|
23021
|
-
/* @__PURE__ */
|
|
23095
|
+
/* @__PURE__ */ jsx35(
|
|
23022
23096
|
ComposerFloatingMenuSurface,
|
|
23023
23097
|
{
|
|
23024
23098
|
anchorRef: input.inputShellRef,
|
|
@@ -23030,7 +23104,7 @@ function AgentComposerView(input) {
|
|
|
23030
23104
|
placement: "dynamic-above",
|
|
23031
23105
|
surfaceRef: input.paletteContentRef,
|
|
23032
23106
|
testId: "agent-gui-command-menu-surface",
|
|
23033
|
-
children: /* @__PURE__ */
|
|
23107
|
+
children: /* @__PURE__ */ jsx35(
|
|
23034
23108
|
AgentSlashStatusPanel,
|
|
23035
23109
|
{
|
|
23036
23110
|
status: slashStatus,
|
|
@@ -23050,7 +23124,7 @@ function AgentComposerView(input) {
|
|
|
23050
23124
|
)
|
|
23051
23125
|
}
|
|
23052
23126
|
),
|
|
23053
|
-
/* @__PURE__ */
|
|
23127
|
+
/* @__PURE__ */ jsx35(
|
|
23054
23128
|
ComposerFloatingMenuSurface,
|
|
23055
23129
|
{
|
|
23056
23130
|
anchorRef: input.inputShellRef,
|
|
@@ -23062,7 +23136,7 @@ function AgentComposerView(input) {
|
|
|
23062
23136
|
placement: "dynamic-above",
|
|
23063
23137
|
surfaceRef: input.paletteContentRef,
|
|
23064
23138
|
testId: "agent-gui-command-menu-surface",
|
|
23065
|
-
children: /* @__PURE__ */
|
|
23139
|
+
children: /* @__PURE__ */ jsx35(
|
|
23066
23140
|
AgentReviewPickerPanel,
|
|
23067
23141
|
{
|
|
23068
23142
|
labels: labels.reviewPicker,
|
|
@@ -23076,7 +23150,7 @@ function AgentComposerView(input) {
|
|
|
23076
23150
|
]
|
|
23077
23151
|
}
|
|
23078
23152
|
),
|
|
23079
|
-
/* @__PURE__ */
|
|
23153
|
+
/* @__PURE__ */ jsx35(
|
|
23080
23154
|
ComposerFooter,
|
|
23081
23155
|
{
|
|
23082
23156
|
labels,
|
|
@@ -23125,7 +23199,7 @@ function AgentComposerView(input) {
|
|
|
23125
23199
|
className: AgentGUINode_styles_default.composerProjectRow,
|
|
23126
23200
|
"data-project-missing": input.isSelectedProjectMissing ? "true" : void 0,
|
|
23127
23201
|
children: [
|
|
23128
|
-
showHeroProjectSelector ? /* @__PURE__ */
|
|
23202
|
+
showHeroProjectSelector ? /* @__PURE__ */ jsx35(
|
|
23129
23203
|
AgentProjectDropdown,
|
|
23130
23204
|
{
|
|
23131
23205
|
composerSettings,
|
|
@@ -23141,15 +23215,15 @@ function AgentComposerView(input) {
|
|
|
23141
23215
|
onProjectPathChange
|
|
23142
23216
|
}
|
|
23143
23217
|
) : null,
|
|
23144
|
-
activePromptTip ? /* @__PURE__ */
|
|
23218
|
+
activePromptTip ? /* @__PURE__ */ jsx35(
|
|
23145
23219
|
"div",
|
|
23146
23220
|
{
|
|
23147
23221
|
className: AgentGUINode_styles_default.composerPromptTips,
|
|
23148
23222
|
"data-testid": "agent-gui-prompt-tips",
|
|
23149
|
-
children: !previewMode && input.isPromptTipOverflowing && promptTipNode ? /* @__PURE__ */
|
|
23150
|
-
/* @__PURE__ */
|
|
23151
|
-
/* @__PURE__ */
|
|
23152
|
-
|
|
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,
|
|
23153
23227
|
{
|
|
23154
23228
|
align: "end",
|
|
23155
23229
|
className: AgentGUINode_styles_default.composerPromptTipTooltip,
|
|
@@ -23172,13 +23246,13 @@ function AgentComposerView(input) {
|
|
|
23172
23246
|
}
|
|
23173
23247
|
|
|
23174
23248
|
// agent-gui/agentGuiNode/AgentComposer.tsx
|
|
23175
|
-
import { jsx as
|
|
23249
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
23176
23250
|
var DOCK_COMPOSER_INPUT_MIN_HEIGHT2 = 56;
|
|
23177
23251
|
var DOCK_COMPOSER_TEXT_LINE_HEIGHT2 = 24;
|
|
23178
23252
|
var DOCK_COMPOSER_MAX_VISIBLE_TEXT_LINES2 = 3.5;
|
|
23179
|
-
var
|
|
23253
|
+
var DOCK_COMPOSER_INPUT_TEXT_CHROME_HEIGHT = 26;
|
|
23180
23254
|
var DOCK_COMPOSER_TEXT_VIEWPORT_MAX_HEIGHT2 = DOCK_COMPOSER_TEXT_LINE_HEIGHT2 * DOCK_COMPOSER_MAX_VISIBLE_TEXT_LINES2;
|
|
23181
|
-
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;
|
|
23182
23256
|
function AgentComposer(props) {
|
|
23183
23257
|
"use memo";
|
|
23184
23258
|
const {
|
|
@@ -23237,7 +23311,8 @@ function AgentComposer(props) {
|
|
|
23237
23311
|
onRequestWorkspaceReferences = null,
|
|
23238
23312
|
resolveDroppedFileReferences = null,
|
|
23239
23313
|
onRequestGitBranches = null,
|
|
23240
|
-
contextMentionProviders = EMPTY_CONTEXT_MENTION_PROVIDERS
|
|
23314
|
+
contextMentionProviders = EMPTY_CONTEXT_MENTION_PROVIDERS,
|
|
23315
|
+
referenceProvenanceFilter = null
|
|
23241
23316
|
} = props;
|
|
23242
23317
|
const draftPrompt = agentComposerDraftPrompt(draftContent);
|
|
23243
23318
|
const goalDraftObjective = canGoalControl ? goalDraftObjectiveFromPrompt(draftPrompt) : null;
|
|
@@ -23403,6 +23478,9 @@ function AgentComposer(props) {
|
|
|
23403
23478
|
const controller = new AgentMentionSearchController({
|
|
23404
23479
|
contextMentionProviders
|
|
23405
23480
|
});
|
|
23481
|
+
controller.setProvenanceFilter(
|
|
23482
|
+
referenceProvenanceFilter?.snapshot.value ?? null
|
|
23483
|
+
);
|
|
23406
23484
|
mentionControllerRef.current = controller;
|
|
23407
23485
|
const unsubscribe = controller.subscribe(setMentionSearchState);
|
|
23408
23486
|
return () => {
|
|
@@ -23412,6 +23490,9 @@ function AgentComposer(props) {
|
|
|
23412
23490
|
};
|
|
23413
23491
|
}, [contextMentionProviders]);
|
|
23414
23492
|
useEffect28(() => {
|
|
23493
|
+
draftImagesRef.current = agentComposerDraftImages(draftContent);
|
|
23494
|
+
draftFilesRef.current = agentComposerDraftFiles(draftContent);
|
|
23495
|
+
draftLargeTextsRef.current = agentComposerDraftLargeTexts(draftContent);
|
|
23415
23496
|
const isExternalDraftReplacement = draftPromptRef.current !== draftPrompt;
|
|
23416
23497
|
draftPromptRef.current = draftPrompt;
|
|
23417
23498
|
setPaletteDraftPrompt(goalDraftObjective ?? draftPrompt);
|
|
@@ -23422,12 +23503,12 @@ function AgentComposer(props) {
|
|
|
23422
23503
|
});
|
|
23423
23504
|
});
|
|
23424
23505
|
}
|
|
23425
|
-
}, [draftPrompt, goalDraftObjective]);
|
|
23506
|
+
}, [draftContent, draftPrompt, goalDraftObjective]);
|
|
23426
23507
|
useEffect28(() => {
|
|
23427
|
-
|
|
23428
|
-
|
|
23429
|
-
|
|
23430
|
-
}, [
|
|
23508
|
+
mentionControllerRef.current?.setProvenanceFilter(
|
|
23509
|
+
referenceProvenanceFilter?.snapshot.value ?? null
|
|
23510
|
+
);
|
|
23511
|
+
}, [referenceProvenanceFilter?.snapshot.value]);
|
|
23431
23512
|
useEffect28(() => {
|
|
23432
23513
|
if (previousSlashStatusAgentSessionIdRef.current === slashStatusAgentSessionId) {
|
|
23433
23514
|
return;
|
|
@@ -23646,7 +23727,7 @@ function AgentComposer(props) {
|
|
|
23646
23727
|
canUploadAttachment,
|
|
23647
23728
|
promptImagesSupported
|
|
23648
23729
|
});
|
|
23649
|
-
return /* @__PURE__ */
|
|
23730
|
+
return /* @__PURE__ */ jsx36(
|
|
23650
23731
|
AgentComposerView,
|
|
23651
23732
|
{
|
|
23652
23733
|
props,
|
|
@@ -23693,9 +23774,9 @@ function AgentComposer(props) {
|
|
|
23693
23774
|
// agent-gui/agentGuiNode/AgentHomeSuggestions.tsx
|
|
23694
23775
|
import { memo as memo2, useState as useState21 } from "react";
|
|
23695
23776
|
import { ArrowLeftRight, Code, Compass, Import, Pencil, X as X5 } from "lucide-react";
|
|
23696
|
-
import { jsx as
|
|
23777
|
+
import { jsx as jsx37, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
23697
23778
|
function TuttiIcon(props) {
|
|
23698
|
-
return /* @__PURE__ */
|
|
23779
|
+
return /* @__PURE__ */ jsx37(
|
|
23699
23780
|
"svg",
|
|
23700
23781
|
{
|
|
23701
23782
|
width: "24",
|
|
@@ -23704,7 +23785,7 @@ function TuttiIcon(props) {
|
|
|
23704
23785
|
fill: "none",
|
|
23705
23786
|
xmlns: "http://www.w3.org/2000/svg",
|
|
23706
23787
|
...props,
|
|
23707
|
-
children: /* @__PURE__ */
|
|
23788
|
+
children: /* @__PURE__ */ jsx37(
|
|
23708
23789
|
"path",
|
|
23709
23790
|
{
|
|
23710
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",
|
|
@@ -23715,7 +23796,7 @@ function TuttiIcon(props) {
|
|
|
23715
23796
|
);
|
|
23716
23797
|
}
|
|
23717
23798
|
function TaskBreakdownIcon(props) {
|
|
23718
|
-
return /* @__PURE__ */
|
|
23799
|
+
return /* @__PURE__ */ jsx37(
|
|
23719
23800
|
"svg",
|
|
23720
23801
|
{
|
|
23721
23802
|
width: "24",
|
|
@@ -23724,7 +23805,7 @@ function TaskBreakdownIcon(props) {
|
|
|
23724
23805
|
fill: "none",
|
|
23725
23806
|
xmlns: "http://www.w3.org/2000/svg",
|
|
23726
23807
|
...props,
|
|
23727
|
-
children: /* @__PURE__ */
|
|
23808
|
+
children: /* @__PURE__ */ jsx37(
|
|
23728
23809
|
"path",
|
|
23729
23810
|
{
|
|
23730
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",
|
|
@@ -23735,7 +23816,7 @@ function TaskBreakdownIcon(props) {
|
|
|
23735
23816
|
);
|
|
23736
23817
|
}
|
|
23737
23818
|
function BattleIcon(props) {
|
|
23738
|
-
return /* @__PURE__ */
|
|
23819
|
+
return /* @__PURE__ */ jsx37(
|
|
23739
23820
|
"svg",
|
|
23740
23821
|
{
|
|
23741
23822
|
width: "24",
|
|
@@ -23744,7 +23825,7 @@ function BattleIcon(props) {
|
|
|
23744
23825
|
fill: "none",
|
|
23745
23826
|
xmlns: "http://www.w3.org/2000/svg",
|
|
23746
23827
|
...props,
|
|
23747
|
-
children: /* @__PURE__ */
|
|
23828
|
+
children: /* @__PURE__ */ jsx37(
|
|
23748
23829
|
"path",
|
|
23749
23830
|
{
|
|
23750
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",
|
|
@@ -23755,7 +23836,7 @@ function BattleIcon(props) {
|
|
|
23755
23836
|
);
|
|
23756
23837
|
}
|
|
23757
23838
|
function QualityReviewIcon(props) {
|
|
23758
|
-
return /* @__PURE__ */
|
|
23839
|
+
return /* @__PURE__ */ jsx37(
|
|
23759
23840
|
"svg",
|
|
23760
23841
|
{
|
|
23761
23842
|
width: "24",
|
|
@@ -23764,7 +23845,7 @@ function QualityReviewIcon(props) {
|
|
|
23764
23845
|
fill: "none",
|
|
23765
23846
|
xmlns: "http://www.w3.org/2000/svg",
|
|
23766
23847
|
...props,
|
|
23767
|
-
children: /* @__PURE__ */
|
|
23848
|
+
children: /* @__PURE__ */ jsx37(
|
|
23768
23849
|
"path",
|
|
23769
23850
|
{
|
|
23770
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",
|
|
@@ -23811,7 +23892,7 @@ var AgentHomeSuggestions = memo2(function AgentHomeSuggestions2({
|
|
|
23811
23892
|
) ?? null;
|
|
23812
23893
|
const ActiveCategoryIcon = activeCategory?.icon ? CATEGORY_ICON[activeCategory.icon] : null;
|
|
23813
23894
|
return /* @__PURE__ */ jsxs26("div", { className: AgentGUINode_styles_default.emptyHeroSuggestions, children: [
|
|
23814
|
-
/* @__PURE__ */
|
|
23895
|
+
/* @__PURE__ */ jsx37("div", { className: AgentGUINode_styles_default.emptyHeroSuggestionsChips, children: categories.map((category) => {
|
|
23815
23896
|
const Icon = category.icon ? CATEGORY_ICON[category.icon] : null;
|
|
23816
23897
|
const direct = isDirectCategory(category);
|
|
23817
23898
|
const isActive = !direct && category.id === activeCategory?.id;
|
|
@@ -23836,14 +23917,14 @@ var AgentHomeSuggestions = memo2(function AgentHomeSuggestions2({
|
|
|
23836
23917
|
);
|
|
23837
23918
|
},
|
|
23838
23919
|
children: [
|
|
23839
|
-
Icon ? /* @__PURE__ */
|
|
23920
|
+
Icon ? /* @__PURE__ */ jsx37(
|
|
23840
23921
|
Icon,
|
|
23841
23922
|
{
|
|
23842
23923
|
className: AgentGUINode_styles_default.emptyHeroSuggestionsChipIcon,
|
|
23843
23924
|
"aria-hidden": true
|
|
23844
23925
|
}
|
|
23845
23926
|
) : null,
|
|
23846
|
-
/* @__PURE__ */
|
|
23927
|
+
/* @__PURE__ */ jsx37("span", { children: category.label })
|
|
23847
23928
|
]
|
|
23848
23929
|
},
|
|
23849
23930
|
category.id
|
|
@@ -23852,7 +23933,7 @@ var AgentHomeSuggestions = memo2(function AgentHomeSuggestions2({
|
|
|
23852
23933
|
activeCategory ? /* @__PURE__ */ jsxs26("div", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCard, children: [
|
|
23853
23934
|
/* @__PURE__ */ jsxs26("div", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCardHeader, children: [
|
|
23854
23935
|
/* @__PURE__ */ jsxs26("span", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCardTitle, children: [
|
|
23855
|
-
ActiveCategoryIcon ? /* @__PURE__ */
|
|
23936
|
+
ActiveCategoryIcon ? /* @__PURE__ */ jsx37(
|
|
23856
23937
|
ActiveCategoryIcon,
|
|
23857
23938
|
{
|
|
23858
23939
|
className: AgentGUINode_styles_default.emptyHeroSuggestionsChipIcon,
|
|
@@ -23861,7 +23942,7 @@ var AgentHomeSuggestions = memo2(function AgentHomeSuggestions2({
|
|
|
23861
23942
|
) : null,
|
|
23862
23943
|
activeCategory.label
|
|
23863
23944
|
] }),
|
|
23864
|
-
/* @__PURE__ */
|
|
23945
|
+
/* @__PURE__ */ jsx37(
|
|
23865
23946
|
"button",
|
|
23866
23947
|
{
|
|
23867
23948
|
type: "button",
|
|
@@ -23869,11 +23950,11 @@ var AgentHomeSuggestions = memo2(function AgentHomeSuggestions2({
|
|
|
23869
23950
|
"aria-label": closeLabel,
|
|
23870
23951
|
title: closeLabel,
|
|
23871
23952
|
onClick: () => setActiveCategoryId(null),
|
|
23872
|
-
children: /* @__PURE__ */
|
|
23953
|
+
children: /* @__PURE__ */ jsx37(X5, { "aria-hidden": true })
|
|
23873
23954
|
}
|
|
23874
23955
|
)
|
|
23875
23956
|
] }),
|
|
23876
|
-
activeCategory.items?.map((item) => /* @__PURE__ */
|
|
23957
|
+
activeCategory.items?.map((item) => /* @__PURE__ */ jsx37(
|
|
23877
23958
|
"button",
|
|
23878
23959
|
{
|
|
23879
23960
|
type: "button",
|
|
@@ -23921,7 +24002,7 @@ function createFallbackAgentGUIAgentAvatar(input) {
|
|
|
23921
24002
|
|
|
23922
24003
|
// agent-gui/agentGuiNode/view/AgentGUIEmptyHeroCarouselStage.tsx
|
|
23923
24004
|
import { Component as Component3 } from "react";
|
|
23924
|
-
import { jsx as
|
|
24005
|
+
import { jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
23925
24006
|
var AgentGUIEmptyHeroCarouselStage = class extends Component3 {
|
|
23926
24007
|
animationFrame = null;
|
|
23927
24008
|
layer = null;
|
|
@@ -23947,7 +24028,7 @@ var AgentGUIEmptyHeroCarouselStage = class extends Component3 {
|
|
|
23947
24028
|
} = this.props;
|
|
23948
24029
|
const hasCarousel = items.length > 1;
|
|
23949
24030
|
return /* @__PURE__ */ jsxs27("div", { ref: this.setStage, className: AgentGUINode_styles_default.emptyHeroCarouselStage, children: [
|
|
23950
|
-
hasCarousel ? /* @__PURE__ */
|
|
24031
|
+
hasCarousel ? /* @__PURE__ */ jsx38("div", { ref: this.setLayer, className: AgentGUINode_styles_default.emptyHeroCarouselLayer, children: /* @__PURE__ */ jsx38(
|
|
23951
24032
|
AgentGUIHeroAgentCarousel,
|
|
23952
24033
|
{
|
|
23953
24034
|
activeAgentTargetId,
|
|
@@ -24037,7 +24118,7 @@ var AgentGUIEmptyHeroCarouselStage = class extends Component3 {
|
|
|
24037
24118
|
};
|
|
24038
24119
|
|
|
24039
24120
|
// agent-gui/agentGuiNode/view/AgentGUIEmptyState.tsx
|
|
24040
|
-
import { Fragment as Fragment11, jsx as
|
|
24121
|
+
import { Fragment as Fragment11, jsx as jsx39, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
24041
24122
|
function resolveAgentGUIHeroIconUrl2(provider) {
|
|
24042
24123
|
const normalizedProvider = normalizeManagedAgentProvider(provider);
|
|
24043
24124
|
return MANAGED_AGENT_ICON_URLS[normalizedProvider] ?? MANAGED_AGENT_ICON_FALLBACK_URL;
|
|
@@ -24079,14 +24160,14 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
|
|
|
24079
24160
|
[agentTargets, provider, providerLabel, selectedAgentTarget]
|
|
24080
24161
|
);
|
|
24081
24162
|
const carouselMountedExternally = avatarPresentations.length > 1;
|
|
24082
|
-
return /* @__PURE__ */
|
|
24163
|
+
return /* @__PURE__ */ jsx39(
|
|
24083
24164
|
AgentGUIEmptyHeroCarouselStage,
|
|
24084
24165
|
{
|
|
24085
24166
|
activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
|
|
24086
24167
|
items: avatarPresentations,
|
|
24087
24168
|
onProviderSelect,
|
|
24088
24169
|
providerSelectLabel: labels.providerSwitchLabel,
|
|
24089
|
-
children: providerReadinessGate ? /* @__PURE__ */
|
|
24170
|
+
children: providerReadinessGate ? /* @__PURE__ */ jsx39(
|
|
24090
24171
|
AgentGUIProviderReadinessGatePane,
|
|
24091
24172
|
{
|
|
24092
24173
|
provider,
|
|
@@ -24102,7 +24183,7 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
|
|
|
24102
24183
|
selectedAgentTarget,
|
|
24103
24184
|
labels
|
|
24104
24185
|
}
|
|
24105
|
-
) : /* @__PURE__ */
|
|
24186
|
+
) : /* @__PURE__ */ jsx39(
|
|
24106
24187
|
AgentGUIEmptyHeroPane,
|
|
24107
24188
|
{
|
|
24108
24189
|
...heroProps,
|
|
@@ -24153,13 +24234,13 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
24153
24234
|
const heroIconAnimationKey = heroAvatarPresentations.map(
|
|
24154
24235
|
(avatar) => `${avatar.agentTargetId}:${avatar.iconUrl}:${avatar.badge?.iconUrl ?? ""}`
|
|
24155
24236
|
).join("|");
|
|
24156
|
-
return /* @__PURE__ */
|
|
24157
|
-
/* @__PURE__ */
|
|
24237
|
+
return /* @__PURE__ */ jsx39("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs28("div", { className: AgentGUINode_styles_default.emptyHeroBody, children: [
|
|
24238
|
+
/* @__PURE__ */ jsx39(
|
|
24158
24239
|
"div",
|
|
24159
24240
|
{
|
|
24160
24241
|
className: AgentGUINode_styles_default.emptyHeroIconSlot,
|
|
24161
24242
|
"data-carousel-placeholder": carouselMountedExternally || void 0,
|
|
24162
|
-
children: carouselMountedExternally ? null : heroAvatarPresentations.length > 1 ? /* @__PURE__ */
|
|
24243
|
+
children: carouselMountedExternally ? null : heroAvatarPresentations.length > 1 ? /* @__PURE__ */ jsx39(
|
|
24163
24244
|
AgentGUIHeroAgentCarousel,
|
|
24164
24245
|
{
|
|
24165
24246
|
activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
|
|
@@ -24167,7 +24248,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
24167
24248
|
onProviderSelect,
|
|
24168
24249
|
providerSelectLabel
|
|
24169
24250
|
}
|
|
24170
|
-
) : /* @__PURE__ */
|
|
24251
|
+
) : /* @__PURE__ */ jsx39(
|
|
24171
24252
|
AgentGUIAgentAvatarVisual,
|
|
24172
24253
|
{
|
|
24173
24254
|
className: AgentGUINode_styles_default.emptyHeroIconEffect,
|
|
@@ -24177,7 +24258,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
24177
24258
|
)
|
|
24178
24259
|
}
|
|
24179
24260
|
),
|
|
24180
|
-
/* @__PURE__ */
|
|
24261
|
+
/* @__PURE__ */ jsx39("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx39(
|
|
24181
24262
|
EmptyHeroTitle,
|
|
24182
24263
|
{
|
|
24183
24264
|
label: emptyLabel,
|
|
@@ -24188,7 +24269,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
24188
24269
|
onProviderSelect
|
|
24189
24270
|
}
|
|
24190
24271
|
) }),
|
|
24191
|
-
inlineNoticeChrome ? /* @__PURE__ */
|
|
24272
|
+
inlineNoticeChrome ? /* @__PURE__ */ jsx39(
|
|
24192
24273
|
AgentSessionChrome,
|
|
24193
24274
|
{
|
|
24194
24275
|
chrome: inlineNoticeChrome,
|
|
@@ -24200,8 +24281,8 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
24200
24281
|
labels: chromeLabels
|
|
24201
24282
|
}
|
|
24202
24283
|
) : null,
|
|
24203
|
-
/* @__PURE__ */
|
|
24204
|
-
/* @__PURE__ */
|
|
24284
|
+
/* @__PURE__ */ jsx39(AgentComposer, { ...composerProps }),
|
|
24285
|
+
/* @__PURE__ */ jsx39(
|
|
24205
24286
|
AgentHomeSuggestions,
|
|
24206
24287
|
{
|
|
24207
24288
|
categories: suggestions,
|
|
@@ -24243,20 +24324,20 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
24243
24324
|
const titleLabel = gate.status === "not_installed" || gate.status === "auth_required" ? emptyLabel : content.title;
|
|
24244
24325
|
const action = providerGateAction(gate.status);
|
|
24245
24326
|
const pendingLabel = pendingAction === "install" ? labels.providerGatePendingInstall : pendingAction === "login" ? labels.providerGatePendingLogin : pendingAction === "refresh" ? labels.providerGatePendingRefresh : null;
|
|
24246
|
-
return /* @__PURE__ */
|
|
24327
|
+
return /* @__PURE__ */ jsx39("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs28(
|
|
24247
24328
|
"div",
|
|
24248
24329
|
{
|
|
24249
24330
|
className: cn4(AgentGUINode_styles_default.emptyHeroBody, AgentGUINode_styles_default.emptyProviderGate),
|
|
24250
24331
|
"data-testid": "agent-gui-provider-readiness-gate",
|
|
24251
24332
|
role: "status",
|
|
24252
24333
|
children: [
|
|
24253
|
-
carouselMountedExternally ? /* @__PURE__ */
|
|
24334
|
+
carouselMountedExternally ? /* @__PURE__ */ jsx39(
|
|
24254
24335
|
"div",
|
|
24255
24336
|
{
|
|
24256
24337
|
"aria-hidden": "true",
|
|
24257
24338
|
className: AgentGUINode_styles_default.emptyHeroCarouselPlaceholder
|
|
24258
24339
|
}
|
|
24259
|
-
) : heroAvatarPresentations.length > 1 ? /* @__PURE__ */
|
|
24340
|
+
) : heroAvatarPresentations.length > 1 ? /* @__PURE__ */ jsx39(
|
|
24260
24341
|
AgentGUIHeroAgentCarousel,
|
|
24261
24342
|
{
|
|
24262
24343
|
activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
|
|
@@ -24264,14 +24345,14 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
24264
24345
|
onProviderSelect,
|
|
24265
24346
|
providerSelectLabel
|
|
24266
24347
|
}
|
|
24267
|
-
) : /* @__PURE__ */
|
|
24348
|
+
) : /* @__PURE__ */ jsx39(
|
|
24268
24349
|
AgentGUIAgentAvatarVisual,
|
|
24269
24350
|
{
|
|
24270
24351
|
className: AgentGUINode_styles_default.emptyHeroIconEffect,
|
|
24271
24352
|
presentation: heroAvatarPresentations[0]
|
|
24272
24353
|
}
|
|
24273
24354
|
),
|
|
24274
|
-
/* @__PURE__ */
|
|
24355
|
+
/* @__PURE__ */ jsx39("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx39(
|
|
24275
24356
|
EmptyHeroTitle,
|
|
24276
24357
|
{
|
|
24277
24358
|
label: titleLabel,
|
|
@@ -24282,8 +24363,8 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
24282
24363
|
onProviderSelect
|
|
24283
24364
|
}
|
|
24284
24365
|
) }),
|
|
24285
|
-
/* @__PURE__ */
|
|
24286
|
-
pendingLabel && !action ? /* @__PURE__ */
|
|
24366
|
+
/* @__PURE__ */ jsx39("p", { className: AgentGUINode_styles_default.emptyProviderGateDescription, children: content.description }),
|
|
24367
|
+
pendingLabel && !action ? /* @__PURE__ */ jsx39(
|
|
24287
24368
|
"div",
|
|
24288
24369
|
{
|
|
24289
24370
|
className: AgentGUINode_styles_default.emptyProviderGateStatus,
|
|
@@ -24291,7 +24372,7 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
24291
24372
|
children: pendingLabel
|
|
24292
24373
|
}
|
|
24293
24374
|
) : null,
|
|
24294
|
-
action ? /* @__PURE__ */
|
|
24375
|
+
action ? /* @__PURE__ */ jsx39(
|
|
24295
24376
|
Button,
|
|
24296
24377
|
{
|
|
24297
24378
|
type: "button",
|
|
@@ -24310,7 +24391,7 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
24310
24391
|
},
|
|
24311
24392
|
children: isPending && pendingLabel ? pendingLabel : content.actionLabel
|
|
24312
24393
|
}
|
|
24313
|
-
) : content.actionLabel ? /* @__PURE__ */
|
|
24394
|
+
) : content.actionLabel ? /* @__PURE__ */ jsx39(
|
|
24314
24395
|
Button,
|
|
24315
24396
|
{
|
|
24316
24397
|
type: "button",
|
|
@@ -24379,7 +24460,7 @@ function AgentGUIUnifiedProviderIcon({
|
|
|
24379
24460
|
presentation
|
|
24380
24461
|
}) {
|
|
24381
24462
|
const iconUrl = presentation?.iconUrl?.trim() || agentColorfulUrl;
|
|
24382
|
-
return /* @__PURE__ */
|
|
24463
|
+
return /* @__PURE__ */ jsx39("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailAvatar, children: /* @__PURE__ */ jsx39(
|
|
24383
24464
|
"img",
|
|
24384
24465
|
{
|
|
24385
24466
|
alt: "",
|
|
@@ -24394,7 +24475,7 @@ function AgentGUIProviderIconVisual({
|
|
|
24394
24475
|
icon,
|
|
24395
24476
|
imageClassName
|
|
24396
24477
|
}) {
|
|
24397
|
-
return /* @__PURE__ */
|
|
24478
|
+
return /* @__PURE__ */ jsx39(
|
|
24398
24479
|
"img",
|
|
24399
24480
|
{
|
|
24400
24481
|
alt: "",
|
|
@@ -24417,7 +24498,7 @@ function AgentGUIAgentAvatarVisual({
|
|
|
24417
24498
|
className: cn4(AgentGUINode_styles_default.agentAvatar, className),
|
|
24418
24499
|
"data-agent-target-id": presentation.agentTargetId,
|
|
24419
24500
|
children: [
|
|
24420
|
-
/* @__PURE__ */
|
|
24501
|
+
/* @__PURE__ */ jsx39(
|
|
24421
24502
|
"img",
|
|
24422
24503
|
{
|
|
24423
24504
|
alt: "",
|
|
@@ -24426,7 +24507,7 @@ function AgentGUIAgentAvatarVisual({
|
|
|
24426
24507
|
src: presentation.iconUrl
|
|
24427
24508
|
}
|
|
24428
24509
|
),
|
|
24429
|
-
presentation.badge?.iconUrl ? /* @__PURE__ */
|
|
24510
|
+
presentation.badge?.iconUrl ? /* @__PURE__ */ jsx39("span", { className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx39(
|
|
24430
24511
|
"img",
|
|
24431
24512
|
{
|
|
24432
24513
|
alt: "",
|
|
@@ -24449,7 +24530,7 @@ function EmptyHeroTitle({
|
|
|
24449
24530
|
}) {
|
|
24450
24531
|
const providerStart = providerLabel ? label.indexOf(providerLabel) : -1;
|
|
24451
24532
|
if (!shouldEmphasizeEmptyHeroProvider(label) || providerStart < 0) {
|
|
24452
|
-
return /* @__PURE__ */
|
|
24533
|
+
return /* @__PURE__ */ jsx39(Fragment11, { children: label });
|
|
24453
24534
|
}
|
|
24454
24535
|
const providerEnd = providerStart + providerLabel.length;
|
|
24455
24536
|
const selectedAgentTargetId = selectedAgentTarget?.targetId ?? `local:${selectedAgentTarget?.provider ?? ""}`;
|
|
@@ -24474,28 +24555,28 @@ function EmptyHeroTitle({
|
|
|
24474
24555
|
});
|
|
24475
24556
|
},
|
|
24476
24557
|
children: [
|
|
24477
|
-
/* @__PURE__ */
|
|
24558
|
+
/* @__PURE__ */ jsx39(
|
|
24478
24559
|
SelectTrigger3,
|
|
24479
24560
|
{
|
|
24480
24561
|
size: "sm",
|
|
24481
24562
|
"aria-label": providerSelectLabel,
|
|
24482
24563
|
title: providerSelectLabel,
|
|
24483
24564
|
className: AgentGUINode_styles_default.emptyHeroProviderSelect,
|
|
24484
|
-
children: /* @__PURE__ */
|
|
24565
|
+
children: /* @__PURE__ */ jsx39("span", { className: AgentGUINode_styles_default.emptyHeroProvider, children: providerName })
|
|
24485
24566
|
}
|
|
24486
24567
|
),
|
|
24487
|
-
/* @__PURE__ */
|
|
24568
|
+
/* @__PURE__ */ jsx39(
|
|
24488
24569
|
SelectContent3,
|
|
24489
24570
|
{
|
|
24490
24571
|
align: "center",
|
|
24491
24572
|
className: cn4(AgentGUINode_styles_default.composerMenuContent, "min-w-[190px]"),
|
|
24492
|
-
children: agentTargets.map((target) => /* @__PURE__ */
|
|
24573
|
+
children: agentTargets.map((target) => /* @__PURE__ */ jsx39(
|
|
24493
24574
|
SelectItem3,
|
|
24494
24575
|
{
|
|
24495
24576
|
value: target.targetId,
|
|
24496
24577
|
className: cn4(AgentGUINode_styles_default.composerMenuItem, "gap-2"),
|
|
24497
24578
|
children: /* @__PURE__ */ jsxs28("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
24498
|
-
/* @__PURE__ */
|
|
24579
|
+
/* @__PURE__ */ jsx39(
|
|
24499
24580
|
"img",
|
|
24500
24581
|
{
|
|
24501
24582
|
alt: "",
|
|
@@ -24507,7 +24588,7 @@ function EmptyHeroTitle({
|
|
|
24507
24588
|
).iconUrl
|
|
24508
24589
|
}
|
|
24509
24590
|
),
|
|
24510
|
-
/* @__PURE__ */
|
|
24591
|
+
/* @__PURE__ */ jsx39("span", { className: "min-w-0 truncate", children: target.label })
|
|
24511
24592
|
] })
|
|
24512
24593
|
},
|
|
24513
24594
|
`${target.provider}:${target.targetId}`
|
|
@@ -24516,7 +24597,7 @@ function EmptyHeroTitle({
|
|
|
24516
24597
|
)
|
|
24517
24598
|
]
|
|
24518
24599
|
}
|
|
24519
|
-
) : /* @__PURE__ */
|
|
24600
|
+
) : /* @__PURE__ */ jsx39("span", { className: AgentGUINode_styles_default.emptyHeroProvider, children: providerName }),
|
|
24520
24601
|
label.slice(providerEnd)
|
|
24521
24602
|
] });
|
|
24522
24603
|
}
|
|
@@ -24536,7 +24617,7 @@ import {
|
|
|
24536
24617
|
DialogTitle,
|
|
24537
24618
|
toast as toast2
|
|
24538
24619
|
} from "@tutti-os/ui-system";
|
|
24539
|
-
import { jsx as
|
|
24620
|
+
import { jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
24540
24621
|
var AGENT_MANAGER_LONG_PRESS_MOVE_TOLERANCE_PX = 8;
|
|
24541
24622
|
var AGENT_MANAGER_DROP_HYSTERESIS_PX = 8;
|
|
24542
24623
|
function AgentGUIProviderManagerDialog({
|
|
@@ -24759,7 +24840,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24759
24840
|
};
|
|
24760
24841
|
const disabledDropBlocked = dragState?.source === "available" && (finalAvailableAgent || running.has(dragState.targetId));
|
|
24761
24842
|
const disabledDropBlockedByRunning = dragState?.source === "available" && running.has(dragState.targetId);
|
|
24762
|
-
return /* @__PURE__ */
|
|
24843
|
+
return /* @__PURE__ */ jsx40(Dialog, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs29(
|
|
24763
24844
|
DialogContent,
|
|
24764
24845
|
{
|
|
24765
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]",
|
|
@@ -24775,8 +24856,8 @@ function AgentGUIProviderManagerDialog({
|
|
|
24775
24856
|
},
|
|
24776
24857
|
children: [
|
|
24777
24858
|
/* @__PURE__ */ jsxs29(DialogHeader, { className: "shrink-0 border-b border-[var(--border-1)] px-5 py-4", children: [
|
|
24778
|
-
/* @__PURE__ */
|
|
24779
|
-
/* @__PURE__ */
|
|
24859
|
+
/* @__PURE__ */ jsx40(DialogTitle, { children: labels.manageAgentsTitle }),
|
|
24860
|
+
/* @__PURE__ */ jsx40(DialogDescription, { children: labels.manageAgentsDescription })
|
|
24780
24861
|
] }),
|
|
24781
24862
|
/* @__PURE__ */ jsxs29(
|
|
24782
24863
|
"div",
|
|
@@ -24794,7 +24875,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24794
24875
|
onDragOver: (event) => dragOverDropZone(event, "available"),
|
|
24795
24876
|
onDrop: (event) => dropIntoZone(event, "available"),
|
|
24796
24877
|
children: [
|
|
24797
|
-
/* @__PURE__ */
|
|
24878
|
+
/* @__PURE__ */ jsx40(
|
|
24798
24879
|
"h3",
|
|
24799
24880
|
{
|
|
24800
24881
|
className: "mb-3 text-[12px] font-medium text-[var(--text-secondary)]",
|
|
@@ -24802,7 +24883,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24802
24883
|
children: labels.manageAgentsAvailable
|
|
24803
24884
|
}
|
|
24804
24885
|
),
|
|
24805
|
-
availableTargets.length > 0 ? /* @__PURE__ */
|
|
24886
|
+
availableTargets.length > 0 ? /* @__PURE__ */ jsx40(
|
|
24806
24887
|
"div",
|
|
24807
24888
|
{
|
|
24808
24889
|
"aria-label": labels.manageAgentsAvailable,
|
|
@@ -24850,7 +24931,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24850
24931
|
role: "listitem",
|
|
24851
24932
|
tabIndex: 0,
|
|
24852
24933
|
children: [
|
|
24853
|
-
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */
|
|
24934
|
+
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */ jsx40(
|
|
24854
24935
|
"span",
|
|
24855
24936
|
{
|
|
24856
24937
|
"aria-hidden": "true",
|
|
@@ -24859,7 +24940,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24859
24940
|
"data-testid": "agent-gui-provider-manager-drop-indicator"
|
|
24860
24941
|
}
|
|
24861
24942
|
) : null,
|
|
24862
|
-
editing ? /* @__PURE__ */
|
|
24943
|
+
editing ? /* @__PURE__ */ jsx40(
|
|
24863
24944
|
Button4,
|
|
24864
24945
|
{
|
|
24865
24946
|
"aria-label": labels.removeAgentFromSidebar(label),
|
|
@@ -24877,10 +24958,10 @@ function AgentGUIProviderManagerDialog({
|
|
|
24877
24958
|
title: targetRunning ? labels.manageAgentsRunningBlocked(label) : finalAvailableAgent ? labels.manageAgentsKeepOneAvailable : void 0,
|
|
24878
24959
|
type: "button",
|
|
24879
24960
|
variant: "ghost",
|
|
24880
|
-
children: /* @__PURE__ */
|
|
24961
|
+
children: /* @__PURE__ */ jsx40(CircleMinus, { "aria-hidden": "true", className: "size-4" })
|
|
24881
24962
|
}
|
|
24882
24963
|
) : null,
|
|
24883
|
-
/* @__PURE__ */
|
|
24964
|
+
/* @__PURE__ */ jsx40(
|
|
24884
24965
|
AgentGUIProviderIconVisual,
|
|
24885
24966
|
{
|
|
24886
24967
|
ariaHidden: true,
|
|
@@ -24891,14 +24972,14 @@ function AgentGUIProviderManagerDialog({
|
|
|
24891
24972
|
imageClassName: "size-9 shrink-0 rounded-[9px] object-cover"
|
|
24892
24973
|
}
|
|
24893
24974
|
),
|
|
24894
|
-
/* @__PURE__ */
|
|
24975
|
+
/* @__PURE__ */ jsx40("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-primary)]", children: label })
|
|
24895
24976
|
]
|
|
24896
24977
|
},
|
|
24897
24978
|
target.targetId
|
|
24898
24979
|
);
|
|
24899
24980
|
})
|
|
24900
24981
|
}
|
|
24901
|
-
) : /* @__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 })
|
|
24902
24983
|
]
|
|
24903
24984
|
}
|
|
24904
24985
|
),
|
|
@@ -24918,7 +24999,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24918
24999
|
)?.label ?? ""
|
|
24919
25000
|
) : labels.manageAgentsKeepOneAvailable : void 0,
|
|
24920
25001
|
children: [
|
|
24921
|
-
/* @__PURE__ */
|
|
25002
|
+
/* @__PURE__ */ jsx40(
|
|
24922
25003
|
"h3",
|
|
24923
25004
|
{
|
|
24924
25005
|
className: "mb-3 text-[12px] font-medium text-[var(--text-secondary)]",
|
|
@@ -24926,7 +25007,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24926
25007
|
children: labels.manageAgentsDisabled
|
|
24927
25008
|
}
|
|
24928
25009
|
),
|
|
24929
|
-
disabledTargets.length > 0 ? /* @__PURE__ */
|
|
25010
|
+
disabledTargets.length > 0 ? /* @__PURE__ */ jsx40(
|
|
24930
25011
|
"div",
|
|
24931
25012
|
{
|
|
24932
25013
|
"aria-label": labels.manageAgentsDisabled,
|
|
@@ -24972,7 +25053,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24972
25053
|
role: "listitem",
|
|
24973
25054
|
tabIndex: 0,
|
|
24974
25055
|
children: [
|
|
24975
|
-
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */
|
|
25056
|
+
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */ jsx40(
|
|
24976
25057
|
"span",
|
|
24977
25058
|
{
|
|
24978
25059
|
"aria-hidden": "true",
|
|
@@ -24981,7 +25062,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
24981
25062
|
"data-testid": "agent-gui-provider-manager-drop-indicator"
|
|
24982
25063
|
}
|
|
24983
25064
|
) : null,
|
|
24984
|
-
editing ? /* @__PURE__ */
|
|
25065
|
+
editing ? /* @__PURE__ */ jsx40(
|
|
24985
25066
|
Button4,
|
|
24986
25067
|
{
|
|
24987
25068
|
"aria-label": labels.addAgentToSidebar(label),
|
|
@@ -24993,10 +25074,10 @@ function AgentGUIProviderManagerDialog({
|
|
|
24993
25074
|
size: "icon-xs",
|
|
24994
25075
|
type: "button",
|
|
24995
25076
|
variant: "ghost",
|
|
24996
|
-
children: /* @__PURE__ */
|
|
25077
|
+
children: /* @__PURE__ */ jsx40(CirclePlus, { "aria-hidden": "true", className: "size-4" })
|
|
24997
25078
|
}
|
|
24998
25079
|
) : null,
|
|
24999
|
-
/* @__PURE__ */
|
|
25080
|
+
/* @__PURE__ */ jsx40(
|
|
25000
25081
|
AgentGUIProviderIconVisual,
|
|
25001
25082
|
{
|
|
25002
25083
|
ariaHidden: true,
|
|
@@ -25007,14 +25088,14 @@ function AgentGUIProviderManagerDialog({
|
|
|
25007
25088
|
imageClassName: "size-9 shrink-0 rounded-[9px] object-cover opacity-70 grayscale-[0.25]"
|
|
25008
25089
|
}
|
|
25009
25090
|
),
|
|
25010
|
-
/* @__PURE__ */
|
|
25091
|
+
/* @__PURE__ */ jsx40("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-secondary)]", children: label })
|
|
25011
25092
|
]
|
|
25012
25093
|
},
|
|
25013
25094
|
target.targetId
|
|
25014
25095
|
);
|
|
25015
25096
|
})
|
|
25016
25097
|
}
|
|
25017
|
-
) : /* @__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 })
|
|
25018
25099
|
]
|
|
25019
25100
|
}
|
|
25020
25101
|
)
|
|
@@ -25077,7 +25158,7 @@ function useAgentGUIProviderRailPreferences() {
|
|
|
25077
25158
|
}
|
|
25078
25159
|
|
|
25079
25160
|
// agent-gui/agentGuiNode/view/AgentGUIProviderRail.tsx
|
|
25080
|
-
import { jsx as
|
|
25161
|
+
import { jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
25081
25162
|
var agentGUIProviderRailCatalog = [
|
|
25082
25163
|
...migratedAgentGUIProviderIdentityCatalog
|
|
25083
25164
|
].sort((left, right) => left.target.sortOrder - right.target.sortOrder);
|
|
@@ -25485,7 +25566,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25485
25566
|
},
|
|
25486
25567
|
[dragState, previewMode, agentTargetsLoading, setProviderRailDragState]
|
|
25487
25568
|
);
|
|
25488
|
-
const providerManagerDialog = /* @__PURE__ */
|
|
25569
|
+
const providerManagerDialog = /* @__PURE__ */ jsx41(
|
|
25489
25570
|
AgentGUIProviderManagerDialog,
|
|
25490
25571
|
{
|
|
25491
25572
|
hiddenTargetIds: effectiveHiddenTargetIds,
|
|
@@ -25537,18 +25618,18 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25537
25618
|
disabled: previewMode,
|
|
25538
25619
|
onClick: selectAllProviders,
|
|
25539
25620
|
children: [
|
|
25540
|
-
/* @__PURE__ */
|
|
25621
|
+
/* @__PURE__ */ jsx41(
|
|
25541
25622
|
AgentGUIUnifiedProviderIcon,
|
|
25542
25623
|
{
|
|
25543
25624
|
presentation: providerRailAllPresentation
|
|
25544
25625
|
}
|
|
25545
25626
|
),
|
|
25546
|
-
/* @__PURE__ */
|
|
25627
|
+
/* @__PURE__ */ jsx41("span", { className: AgentGUINode_styles_default.providerRailTileLabel, children: labels.conversationFilterAll })
|
|
25547
25628
|
]
|
|
25548
25629
|
}
|
|
25549
25630
|
),
|
|
25550
|
-
/* @__PURE__ */
|
|
25551
|
-
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(
|
|
25552
25633
|
"button",
|
|
25553
25634
|
{
|
|
25554
25635
|
type: "button",
|
|
@@ -25558,7 +25639,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25558
25639
|
"data-loading": "true",
|
|
25559
25640
|
"data-selected": "false",
|
|
25560
25641
|
disabled: true,
|
|
25561
|
-
children: /* @__PURE__ */
|
|
25642
|
+
children: /* @__PURE__ */ jsx41(
|
|
25562
25643
|
"span",
|
|
25563
25644
|
{
|
|
25564
25645
|
"aria-hidden": "true",
|
|
@@ -25581,7 +25662,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25581
25662
|
label,
|
|
25582
25663
|
target.badge?.label
|
|
25583
25664
|
);
|
|
25584
|
-
const tile = /* @__PURE__ */
|
|
25665
|
+
const tile = /* @__PURE__ */ jsx41(
|
|
25585
25666
|
"button",
|
|
25586
25667
|
{
|
|
25587
25668
|
type: "button",
|
|
@@ -25602,7 +25683,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25602
25683
|
onDragOver: (event) => handleProviderRailDragOver(event, target),
|
|
25603
25684
|
onDragStart: (event) => handleProviderRailDragStart(event, target),
|
|
25604
25685
|
children: /* @__PURE__ */ jsxs30("span", { className: AgentGUINode_styles_default.providerRailAvatar, children: [
|
|
25605
|
-
/* @__PURE__ */
|
|
25686
|
+
/* @__PURE__ */ jsx41(
|
|
25606
25687
|
AgentGUIProviderIconVisual,
|
|
25607
25688
|
{
|
|
25608
25689
|
ariaHidden: true,
|
|
@@ -25613,7 +25694,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25613
25694
|
)
|
|
25614
25695
|
}
|
|
25615
25696
|
),
|
|
25616
|
-
target.badge?.iconUrl ? /* @__PURE__ */
|
|
25697
|
+
target.badge?.iconUrl ? /* @__PURE__ */ jsx41("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx41(
|
|
25617
25698
|
"img",
|
|
25618
25699
|
{
|
|
25619
25700
|
alt: "",
|
|
@@ -25629,9 +25710,9 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
25629
25710
|
if (previewMode) {
|
|
25630
25711
|
return tile;
|
|
25631
25712
|
}
|
|
25632
|
-
return /* @__PURE__ */ jsxs30(
|
|
25633
|
-
/* @__PURE__ */
|
|
25634
|
-
/* @__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 })
|
|
25635
25716
|
] }, `${target.provider}:${target.targetId}:tooltip`);
|
|
25636
25717
|
})
|
|
25637
25718
|
]
|
|
@@ -25675,7 +25756,7 @@ var styles3 = {
|
|
|
25675
25756
|
var RoomIssueNode_styles_default = styles3;
|
|
25676
25757
|
|
|
25677
25758
|
// agent-gui/RoomIssueNode/TaskSearchField.tsx
|
|
25678
|
-
import { jsx as
|
|
25759
|
+
import { jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
25679
25760
|
function TaskSearchField({
|
|
25680
25761
|
ariaLabel,
|
|
25681
25762
|
className,
|
|
@@ -25695,7 +25776,7 @@ function TaskSearchField({
|
|
|
25695
25776
|
className: `${RoomIssueNode_styles_default.searchField} ${className ?? ""}`.trim(),
|
|
25696
25777
|
"data-has-value": searchInput.value ? "true" : "false",
|
|
25697
25778
|
children: [
|
|
25698
|
-
/* @__PURE__ */
|
|
25779
|
+
/* @__PURE__ */ jsx42(
|
|
25699
25780
|
Input,
|
|
25700
25781
|
{
|
|
25701
25782
|
type: "search",
|
|
@@ -25718,7 +25799,7 @@ function TaskSearchField({
|
|
|
25718
25799
|
"data-testid": dataTestId
|
|
25719
25800
|
}
|
|
25720
25801
|
),
|
|
25721
|
-
searchInput.value ? /* @__PURE__ */
|
|
25802
|
+
searchInput.value ? /* @__PURE__ */ jsx42(
|
|
25722
25803
|
"button",
|
|
25723
25804
|
{
|
|
25724
25805
|
type: "button",
|
|
@@ -25726,7 +25807,7 @@ function TaskSearchField({
|
|
|
25726
25807
|
"aria-label": clearAriaLabel ?? t("common.clear"),
|
|
25727
25808
|
onMouseDown: (event) => event.preventDefault(),
|
|
25728
25809
|
onClick: searchInput.clearValue,
|
|
25729
|
-
children: /* @__PURE__ */
|
|
25810
|
+
children: /* @__PURE__ */ jsx42(CloseLinedIcon, { "aria-hidden": "true" })
|
|
25730
25811
|
}
|
|
25731
25812
|
) : null
|
|
25732
25813
|
]
|
|
@@ -25744,7 +25825,7 @@ function isTaskSearchImeComposing(event) {
|
|
|
25744
25825
|
}
|
|
25745
25826
|
|
|
25746
25827
|
// agent-gui/agentGuiNode/AgentConversationListSkeleton.tsx
|
|
25747
|
-
import { jsx as
|
|
25828
|
+
import { jsx as jsx43, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
25748
25829
|
var SKELETON_ROWS = [
|
|
25749
25830
|
{ id: "first", size: "long" },
|
|
25750
25831
|
{ id: "second", size: "medium" },
|
|
@@ -25756,7 +25837,7 @@ function AgentConversationListSkeleton({
|
|
|
25756
25837
|
label
|
|
25757
25838
|
}) {
|
|
25758
25839
|
"use memo";
|
|
25759
|
-
return /* @__PURE__ */
|
|
25840
|
+
return /* @__PURE__ */ jsx43(
|
|
25760
25841
|
"div",
|
|
25761
25842
|
{
|
|
25762
25843
|
className: "agent-gui-node__conversation-list-skeleton",
|
|
@@ -25770,9 +25851,9 @@ function AgentConversationListSkeleton({
|
|
|
25770
25851
|
"data-size": row.size,
|
|
25771
25852
|
"aria-hidden": "true",
|
|
25772
25853
|
children: [
|
|
25773
|
-
/* @__PURE__ */
|
|
25774
|
-
/* @__PURE__ */
|
|
25775
|
-
/* @__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" })
|
|
25776
25857
|
]
|
|
25777
25858
|
},
|
|
25778
25859
|
row.id
|
|
@@ -25784,7 +25865,7 @@ function AgentConversationListSkeleton({
|
|
|
25784
25865
|
// agent-gui/agentGuiNode/agentGuiNodeViewConversation.tsx
|
|
25785
25866
|
import { Spinner as Spinner6 } from "@tutti-os/ui-system";
|
|
25786
25867
|
import { AskLinedIcon } from "@tutti-os/ui-system/icons";
|
|
25787
|
-
import { jsx as
|
|
25868
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
25788
25869
|
function ConversationMeta({
|
|
25789
25870
|
item,
|
|
25790
25871
|
nowMs,
|
|
@@ -25793,24 +25874,24 @@ function ConversationMeta({
|
|
|
25793
25874
|
"use memo";
|
|
25794
25875
|
const kind = conversationMetaKind(item);
|
|
25795
25876
|
if (kind === "loading") {
|
|
25796
|
-
return /* @__PURE__ */
|
|
25877
|
+
return /* @__PURE__ */ jsx44(
|
|
25797
25878
|
"span",
|
|
25798
25879
|
{
|
|
25799
25880
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
25800
25881
|
"data-kind": kind,
|
|
25801
25882
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
25802
|
-
children: /* @__PURE__ */
|
|
25883
|
+
children: /* @__PURE__ */ jsx44(LoadingGlyph, {})
|
|
25803
25884
|
}
|
|
25804
25885
|
);
|
|
25805
25886
|
}
|
|
25806
25887
|
if (kind === "waiting") {
|
|
25807
|
-
return /* @__PURE__ */
|
|
25888
|
+
return /* @__PURE__ */ jsx44(
|
|
25808
25889
|
"span",
|
|
25809
25890
|
{
|
|
25810
25891
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
25811
25892
|
"data-kind": kind,
|
|
25812
25893
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
25813
|
-
children: /* @__PURE__ */
|
|
25894
|
+
children: /* @__PURE__ */ jsx44(
|
|
25814
25895
|
AskLinedIcon,
|
|
25815
25896
|
{
|
|
25816
25897
|
"aria-hidden": "true",
|
|
@@ -25821,34 +25902,34 @@ function ConversationMeta({
|
|
|
25821
25902
|
);
|
|
25822
25903
|
}
|
|
25823
25904
|
if (kind === "failed") {
|
|
25824
|
-
return /* @__PURE__ */
|
|
25905
|
+
return /* @__PURE__ */ jsx44(
|
|
25825
25906
|
"span",
|
|
25826
25907
|
{
|
|
25827
25908
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
25828
25909
|
"data-kind": kind,
|
|
25829
25910
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
25830
|
-
children: /* @__PURE__ */
|
|
25911
|
+
children: /* @__PURE__ */ jsx44(AttentionGlyph, {})
|
|
25831
25912
|
}
|
|
25832
25913
|
);
|
|
25833
25914
|
}
|
|
25834
25915
|
if (kind === "unread-complete") {
|
|
25835
|
-
return /* @__PURE__ */
|
|
25916
|
+
return /* @__PURE__ */ jsx44(
|
|
25836
25917
|
"span",
|
|
25837
25918
|
{
|
|
25838
25919
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
25839
25920
|
"data-kind": kind,
|
|
25840
25921
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
25841
|
-
children: /* @__PURE__ */
|
|
25922
|
+
children: /* @__PURE__ */ jsx44("span", { className: AgentGUINode_styles_default.conversationUnreadLamp, "aria-hidden": "true" })
|
|
25842
25923
|
}
|
|
25843
25924
|
);
|
|
25844
25925
|
}
|
|
25845
|
-
return /* @__PURE__ */
|
|
25926
|
+
return /* @__PURE__ */ jsx44(
|
|
25846
25927
|
"span",
|
|
25847
25928
|
{
|
|
25848
25929
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
25849
25930
|
"data-kind": kind,
|
|
25850
25931
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
25851
|
-
children: /* @__PURE__ */
|
|
25932
|
+
children: /* @__PURE__ */ jsx44("span", { className: AgentGUINode_styles_default.conversationTime, children: formatConversationRelativeTime(
|
|
25852
25933
|
resolveAgentGUIConversationSortTimeUnixMs(item),
|
|
25853
25934
|
nowMs,
|
|
25854
25935
|
labels
|
|
@@ -26021,13 +26102,13 @@ function formatConversationRelativeTime(updatedAtUnixMs, nowMs, labels) {
|
|
|
26021
26102
|
}
|
|
26022
26103
|
function LoadingGlyph() {
|
|
26023
26104
|
"use memo";
|
|
26024
|
-
return /* @__PURE__ */
|
|
26105
|
+
return /* @__PURE__ */ jsx44(
|
|
26025
26106
|
Spinner6,
|
|
26026
26107
|
{
|
|
26027
26108
|
className: AgentGUINode_styles_default.conversationStatusGlyph,
|
|
26028
26109
|
size: 14,
|
|
26029
26110
|
style: { color: "var(--text-secondary)" },
|
|
26030
|
-
strokeWidth:
|
|
26111
|
+
strokeWidth: 2.25,
|
|
26031
26112
|
trackColor: "color-mix(in srgb, currentColor 24%, transparent)",
|
|
26032
26113
|
testId: "agent-gui-conversation-spinner"
|
|
26033
26114
|
}
|
|
@@ -26035,14 +26116,14 @@ function LoadingGlyph() {
|
|
|
26035
26116
|
}
|
|
26036
26117
|
function AttentionGlyph() {
|
|
26037
26118
|
"use memo";
|
|
26038
|
-
return /* @__PURE__ */
|
|
26119
|
+
return /* @__PURE__ */ jsx44(
|
|
26039
26120
|
"svg",
|
|
26040
26121
|
{
|
|
26041
26122
|
viewBox: "0 0 24 24",
|
|
26042
26123
|
fill: "none",
|
|
26043
26124
|
"aria-hidden": "true",
|
|
26044
26125
|
className: AgentGUINode_styles_default.conversationStatusGlyph,
|
|
26045
|
-
children: /* @__PURE__ */
|
|
26126
|
+
children: /* @__PURE__ */ jsx44(
|
|
26046
26127
|
"path",
|
|
26047
26128
|
{
|
|
26048
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",
|
|
@@ -26428,9 +26509,9 @@ import {
|
|
|
26428
26509
|
DropdownMenuContent as DropdownMenuContent4,
|
|
26429
26510
|
DropdownMenuItem as DropdownMenuItem3,
|
|
26430
26511
|
DropdownMenuTrigger as DropdownMenuTrigger4,
|
|
26431
|
-
Tooltip as
|
|
26432
|
-
TooltipContent as
|
|
26433
|
-
TooltipTrigger as
|
|
26512
|
+
Tooltip as Tooltip7,
|
|
26513
|
+
TooltipContent as TooltipContent7,
|
|
26514
|
+
TooltipTrigger as TooltipTrigger7
|
|
26434
26515
|
} from "@tutti-os/ui-system";
|
|
26435
26516
|
import { BareIconButton as BareIconButton2 } from "@tutti-os/ui-system/components";
|
|
26436
26517
|
import {
|
|
@@ -26461,10 +26542,10 @@ import { BareIconButton } from "@tutti-os/ui-system/components";
|
|
|
26461
26542
|
import { WorkspaceUserProjectSelect as WorkspaceUserProjectSelect2 } from "@tutti-os/workspace-user-project/ui";
|
|
26462
26543
|
|
|
26463
26544
|
// app/renderer/components/icons/PinFilledIcon.tsx
|
|
26464
|
-
import { jsx as
|
|
26545
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
26465
26546
|
function PinFilledIcon(props) {
|
|
26466
26547
|
"use memo";
|
|
26467
|
-
return /* @__PURE__ */
|
|
26548
|
+
return /* @__PURE__ */ jsx45(
|
|
26468
26549
|
"svg",
|
|
26469
26550
|
{
|
|
26470
26551
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -26472,16 +26553,16 @@ function PinFilledIcon(props) {
|
|
|
26472
26553
|
fill: "currentColor",
|
|
26473
26554
|
"aria-hidden": true,
|
|
26474
26555
|
...props,
|
|
26475
|
-
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" })
|
|
26476
26557
|
}
|
|
26477
26558
|
);
|
|
26478
26559
|
}
|
|
26479
26560
|
|
|
26480
26561
|
// app/renderer/components/icons/PinLinedIcon.tsx
|
|
26481
|
-
import { jsx as
|
|
26562
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
26482
26563
|
function PinLinedIcon(props) {
|
|
26483
26564
|
"use memo";
|
|
26484
|
-
return /* @__PURE__ */
|
|
26565
|
+
return /* @__PURE__ */ jsx46(
|
|
26485
26566
|
"svg",
|
|
26486
26567
|
{
|
|
26487
26568
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -26489,13 +26570,13 @@ function PinLinedIcon(props) {
|
|
|
26489
26570
|
fill: "currentColor",
|
|
26490
26571
|
"aria-hidden": true,
|
|
26491
26572
|
...props,
|
|
26492
|
-
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" })
|
|
26493
26574
|
}
|
|
26494
26575
|
);
|
|
26495
26576
|
}
|
|
26496
26577
|
|
|
26497
26578
|
// agent-gui/agentGuiNode/view/AgentGUIConversationRailItem.tsx
|
|
26498
|
-
import { Fragment as Fragment12, jsx as
|
|
26579
|
+
import { Fragment as Fragment12, jsx as jsx47, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
26499
26580
|
function agentGUIConversationIconUrl(provider, agentTargetId, workspaceId, agentTargets) {
|
|
26500
26581
|
const targetPresentation = resolveAgentTargetPresentation({
|
|
26501
26582
|
agentTargetId: agentTargetId ?? "",
|
|
@@ -26683,7 +26764,7 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26683
26764
|
},
|
|
26684
26765
|
children: [
|
|
26685
26766
|
/* @__PURE__ */ jsxs33("span", { className: AgentGUINode_styles_default.conversationTitleRow, children: [
|
|
26686
|
-
conversationIconUrl ? /* @__PURE__ */
|
|
26767
|
+
conversationIconUrl ? /* @__PURE__ */ jsx47(
|
|
26687
26768
|
"span",
|
|
26688
26769
|
{
|
|
26689
26770
|
"aria-hidden": "true",
|
|
@@ -26693,13 +26774,13 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26693
26774
|
}
|
|
26694
26775
|
}
|
|
26695
26776
|
) : null,
|
|
26696
|
-
/* @__PURE__ */
|
|
26777
|
+
/* @__PURE__ */ jsx47("span", { className: AgentGUINode_styles_default.conversationTitle, children: conversationPlainTitle(item, labels, uiLanguage) })
|
|
26697
26778
|
] }),
|
|
26698
|
-
/* @__PURE__ */
|
|
26779
|
+
/* @__PURE__ */ jsx47(ConversationMeta, { item, nowMs: currentTimeMs, labels })
|
|
26699
26780
|
]
|
|
26700
26781
|
}
|
|
26701
26782
|
),
|
|
26702
|
-
previewMode ? null : /* @__PURE__ */
|
|
26783
|
+
previewMode ? null : /* @__PURE__ */ jsx47("div", { className: AgentGUINode_styles_default.conversationActions, children: isPendingDeleteConversation ? /* @__PURE__ */ jsx47(
|
|
26703
26784
|
"button",
|
|
26704
26785
|
{
|
|
26705
26786
|
type: "button",
|
|
@@ -26713,10 +26794,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26713
26794
|
onConfirmDeleteConversation();
|
|
26714
26795
|
}
|
|
26715
26796
|
},
|
|
26716
|
-
children: /* @__PURE__ */
|
|
26797
|
+
children: /* @__PURE__ */ jsx47("span", { className: AgentGUINode_styles_default.conversationDeleteConfirmText, children: labels.deleteSessionConfirm })
|
|
26717
26798
|
}
|
|
26718
26799
|
) : /* @__PURE__ */ jsxs33(Fragment12, { children: [
|
|
26719
|
-
onOpenConversationWindow ? /* @__PURE__ */
|
|
26800
|
+
onOpenConversationWindow ? /* @__PURE__ */ jsx47(
|
|
26720
26801
|
BareIconButton,
|
|
26721
26802
|
{
|
|
26722
26803
|
className: AgentGUINode_styles_default.conversationOpenWindowButton,
|
|
@@ -26733,10 +26814,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26733
26814
|
event.stopPropagation();
|
|
26734
26815
|
handleOpenConversationWindow();
|
|
26735
26816
|
},
|
|
26736
|
-
children: /* @__PURE__ */
|
|
26817
|
+
children: /* @__PURE__ */ jsx47(ExternalLink2, { "aria-hidden": "true" })
|
|
26737
26818
|
}
|
|
26738
26819
|
) : null,
|
|
26739
|
-
/* @__PURE__ */
|
|
26820
|
+
/* @__PURE__ */ jsx47(
|
|
26740
26821
|
BareIconButton,
|
|
26741
26822
|
{
|
|
26742
26823
|
className: AgentGUINode_styles_default.conversationPinButton,
|
|
@@ -26753,10 +26834,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26753
26834
|
event.stopPropagation();
|
|
26754
26835
|
handleTogglePinned();
|
|
26755
26836
|
},
|
|
26756
|
-
children: pinned ? /* @__PURE__ */
|
|
26837
|
+
children: pinned ? /* @__PURE__ */ jsx47(PinFilledIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ jsx47(PinLinedIcon, { "aria-hidden": "true" })
|
|
26757
26838
|
}
|
|
26758
26839
|
),
|
|
26759
|
-
/* @__PURE__ */
|
|
26840
|
+
/* @__PURE__ */ jsx47(
|
|
26760
26841
|
BareIconButton,
|
|
26761
26842
|
{
|
|
26762
26843
|
className: AgentGUINode_styles_default.conversationDeleteButton,
|
|
@@ -26773,7 +26854,7 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26773
26854
|
event.stopPropagation();
|
|
26774
26855
|
handleRequestDelete();
|
|
26775
26856
|
},
|
|
26776
|
-
children: /* @__PURE__ */
|
|
26857
|
+
children: /* @__PURE__ */ jsx47(CanvasNodeTrashLinedIcon, { "aria-hidden": "true" })
|
|
26777
26858
|
}
|
|
26778
26859
|
)
|
|
26779
26860
|
] }) })
|
|
@@ -26784,13 +26865,13 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26784
26865
|
return row;
|
|
26785
26866
|
}
|
|
26786
26867
|
return /* @__PURE__ */ jsxs33(ContextMenu, { children: [
|
|
26787
|
-
/* @__PURE__ */
|
|
26868
|
+
/* @__PURE__ */ jsx47(ContextMenuTrigger, { asChild: true, children: row }),
|
|
26788
26869
|
/* @__PURE__ */ jsxs33(
|
|
26789
26870
|
ContextMenuContent,
|
|
26790
26871
|
{
|
|
26791
26872
|
className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
|
|
26792
26873
|
children: [
|
|
26793
|
-
/* @__PURE__ */
|
|
26874
|
+
/* @__PURE__ */ jsx47(
|
|
26794
26875
|
ContextMenuItem,
|
|
26795
26876
|
{
|
|
26796
26877
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -26801,10 +26882,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26801
26882
|
}
|
|
26802
26883
|
},
|
|
26803
26884
|
onSelect: handleContextMenuRename,
|
|
26804
|
-
children: /* @__PURE__ */
|
|
26885
|
+
children: /* @__PURE__ */ jsx47("span", { children: labels.renameSession })
|
|
26805
26886
|
}
|
|
26806
26887
|
),
|
|
26807
|
-
onOpenConversationWindow ? /* @__PURE__ */
|
|
26888
|
+
onOpenConversationWindow ? /* @__PURE__ */ jsx47(
|
|
26808
26889
|
ContextMenuItem,
|
|
26809
26890
|
{
|
|
26810
26891
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -26815,10 +26896,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26815
26896
|
}
|
|
26816
26897
|
},
|
|
26817
26898
|
onSelect: handleContextMenuOpenConversationWindow,
|
|
26818
|
-
children: /* @__PURE__ */
|
|
26899
|
+
children: /* @__PURE__ */ jsx47("span", { children: labels.openConversationWindow })
|
|
26819
26900
|
}
|
|
26820
26901
|
) : null,
|
|
26821
|
-
/* @__PURE__ */
|
|
26902
|
+
/* @__PURE__ */ jsx47(
|
|
26822
26903
|
ContextMenuItem,
|
|
26823
26904
|
{
|
|
26824
26905
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -26829,16 +26910,16 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
26829
26910
|
}
|
|
26830
26911
|
},
|
|
26831
26912
|
onSelect: handleContextMenuCopySessionLink,
|
|
26832
|
-
children: /* @__PURE__ */
|
|
26913
|
+
children: /* @__PURE__ */ jsx47("span", { children: labels.copySessionLink })
|
|
26833
26914
|
}
|
|
26834
26915
|
),
|
|
26835
|
-
/* @__PURE__ */
|
|
26916
|
+
/* @__PURE__ */ jsx47(
|
|
26836
26917
|
ContextMenuItem,
|
|
26837
26918
|
{
|
|
26838
26919
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
26839
26920
|
disabled: !canMarkUnread,
|
|
26840
26921
|
onSelect: handleMarkUnread,
|
|
26841
|
-
children: /* @__PURE__ */
|
|
26922
|
+
children: /* @__PURE__ */ jsx47("span", { children: labels.markSessionUnread })
|
|
26842
26923
|
}
|
|
26843
26924
|
)
|
|
26844
26925
|
]
|
|
@@ -26867,9 +26948,9 @@ function AgentGUIProjectRailHeader({
|
|
|
26867
26948
|
]
|
|
26868
26949
|
);
|
|
26869
26950
|
return /* @__PURE__ */ jsxs33("div", { className: AgentGUINode_styles_default.projectRailHeader, children: [
|
|
26870
|
-
/* @__PURE__ */
|
|
26951
|
+
/* @__PURE__ */ jsx47("div", { className: AgentGUINode_styles_default.projectRailTitle, children: /* @__PURE__ */ jsx47("span", { children: workspaceUserProjectI18n.tFirst(["projectSelect.projectLabel"]) }) }),
|
|
26871
26952
|
/* @__PURE__ */ jsxs33("div", { className: AgentGUINode_styles_default.projectRailAddProject, children: [
|
|
26872
|
-
/* @__PURE__ */
|
|
26953
|
+
/* @__PURE__ */ jsx47(
|
|
26873
26954
|
WorkspaceUserProjectSelect2,
|
|
26874
26955
|
{
|
|
26875
26956
|
api: userProjectApi,
|
|
@@ -26900,7 +26981,7 @@ function AgentGUIProjectRailHeader({
|
|
|
26900
26981
|
"projectSelect.addProject"
|
|
26901
26982
|
])
|
|
26902
26983
|
},
|
|
26903
|
-
renderAddProjectIcon: () => /* @__PURE__ */
|
|
26984
|
+
renderAddProjectIcon: () => /* @__PURE__ */ jsx47(
|
|
26904
26985
|
NewWorkspaceLinedIcon2,
|
|
26905
26986
|
{
|
|
26906
26987
|
"aria-hidden": true,
|
|
@@ -26918,7 +26999,7 @@ function AgentGUIProjectRailHeader({
|
|
|
26918
26999
|
}
|
|
26919
27000
|
}
|
|
26920
27001
|
),
|
|
26921
|
-
/* @__PURE__ */
|
|
27002
|
+
/* @__PURE__ */ jsx47(
|
|
26922
27003
|
NewWorkspaceLinedIcon2,
|
|
26923
27004
|
{
|
|
26924
27005
|
"aria-hidden": true,
|
|
@@ -26930,7 +27011,7 @@ function AgentGUIProjectRailHeader({
|
|
|
26930
27011
|
}
|
|
26931
27012
|
|
|
26932
27013
|
// agent-gui/agentGuiNode/view/AgentGUIConversationRailSection.tsx
|
|
26933
|
-
import { jsx as
|
|
27014
|
+
import { jsx as jsx48, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
26934
27015
|
var AGENT_GUI_CONVERSATION_RAIL_SECTION_PAGE_SIZE = 5;
|
|
26935
27016
|
var AgentGUIConversationRailSection = memo6(
|
|
26936
27017
|
function AgentGUIConversationRailSection2({
|
|
@@ -27077,7 +27158,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27077
27158
|
}
|
|
27078
27159
|
},
|
|
27079
27160
|
children: [
|
|
27080
|
-
/* @__PURE__ */
|
|
27161
|
+
/* @__PURE__ */ jsx48(
|
|
27081
27162
|
ChevronRight2,
|
|
27082
27163
|
{
|
|
27083
27164
|
"aria-hidden": "true",
|
|
@@ -27085,26 +27166,26 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27085
27166
|
}
|
|
27086
27167
|
),
|
|
27087
27168
|
/* @__PURE__ */ jsxs34("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: [
|
|
27088
|
-
isSectionCollapsed ? /* @__PURE__ */
|
|
27169
|
+
isSectionCollapsed ? /* @__PURE__ */ jsx48(
|
|
27089
27170
|
FolderIcon2,
|
|
27090
27171
|
{
|
|
27091
27172
|
"aria-hidden": "true",
|
|
27092
27173
|
className: AgentGUINode_styles_default.conversationSectionLabelIcon
|
|
27093
27174
|
}
|
|
27094
|
-
) : /* @__PURE__ */
|
|
27175
|
+
) : /* @__PURE__ */ jsx48(
|
|
27095
27176
|
FolderOpenLinedIcon,
|
|
27096
27177
|
{
|
|
27097
27178
|
"aria-hidden": "true",
|
|
27098
27179
|
className: AgentGUINode_styles_default.conversationSectionLabelIcon
|
|
27099
27180
|
}
|
|
27100
27181
|
),
|
|
27101
|
-
/* @__PURE__ */
|
|
27182
|
+
/* @__PURE__ */ jsx48("span", { children: section.label })
|
|
27102
27183
|
] })
|
|
27103
27184
|
]
|
|
27104
27185
|
}
|
|
27105
|
-
) : /* @__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 }) }) }),
|
|
27106
27187
|
canCreateConversationFromSection ? /* @__PURE__ */ jsxs34("div", { className: AgentGUINode_styles_default.conversationSectionActions, children: [
|
|
27107
|
-
previewMode ? /* @__PURE__ */
|
|
27188
|
+
previewMode ? /* @__PURE__ */ jsx48("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: /* @__PURE__ */ jsx48(
|
|
27108
27189
|
BareIconButton2,
|
|
27109
27190
|
{
|
|
27110
27191
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
@@ -27112,14 +27193,14 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27112
27193
|
size: "sm",
|
|
27113
27194
|
disabled: createConversationDisabled,
|
|
27114
27195
|
onClick: handleCreateConversation,
|
|
27115
|
-
children: /* @__PURE__ */
|
|
27196
|
+
children: /* @__PURE__ */ jsx48(CreateChatIcon, { "aria-hidden": "true" })
|
|
27116
27197
|
}
|
|
27117
|
-
) }) : /* @__PURE__ */ jsxs34(
|
|
27118
|
-
/* @__PURE__ */
|
|
27198
|
+
) }) : /* @__PURE__ */ jsxs34(Tooltip7, { children: [
|
|
27199
|
+
/* @__PURE__ */ jsx48(TooltipTrigger7, { asChild: true, children: /* @__PURE__ */ jsx48(
|
|
27119
27200
|
"span",
|
|
27120
27201
|
{
|
|
27121
27202
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
27122
|
-
children: /* @__PURE__ */
|
|
27203
|
+
children: /* @__PURE__ */ jsx48(
|
|
27123
27204
|
BareIconButton2,
|
|
27124
27205
|
{
|
|
27125
27206
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
@@ -27127,13 +27208,13 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27127
27208
|
size: "sm",
|
|
27128
27209
|
disabled: createConversationDisabled,
|
|
27129
27210
|
onClick: handleCreateConversation,
|
|
27130
|
-
children: /* @__PURE__ */
|
|
27211
|
+
children: /* @__PURE__ */ jsx48(CreateChatIcon, { "aria-hidden": "true" })
|
|
27131
27212
|
}
|
|
27132
27213
|
)
|
|
27133
27214
|
}
|
|
27134
27215
|
) }),
|
|
27135
|
-
/* @__PURE__ */
|
|
27136
|
-
|
|
27216
|
+
/* @__PURE__ */ jsx48(
|
|
27217
|
+
TooltipContent7,
|
|
27137
27218
|
{
|
|
27138
27219
|
side: "top",
|
|
27139
27220
|
sideOffset: 6,
|
|
@@ -27143,38 +27224,38 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27143
27224
|
)
|
|
27144
27225
|
] }),
|
|
27145
27226
|
projectPath ? /* @__PURE__ */ jsxs34(DropdownMenu4, { children: [
|
|
27146
|
-
previewMode ? /* @__PURE__ */
|
|
27227
|
+
previewMode ? /* @__PURE__ */ jsx48(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx48(
|
|
27147
27228
|
"span",
|
|
27148
27229
|
{
|
|
27149
27230
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
27150
|
-
children: /* @__PURE__ */
|
|
27231
|
+
children: /* @__PURE__ */ jsx48(
|
|
27151
27232
|
BareIconButton2,
|
|
27152
27233
|
{
|
|
27153
27234
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
27154
27235
|
"aria-label": labels.projectSectionMoreActions,
|
|
27155
27236
|
size: "sm",
|
|
27156
|
-
children: /* @__PURE__ */
|
|
27237
|
+
children: /* @__PURE__ */ jsx48(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
27157
27238
|
}
|
|
27158
27239
|
)
|
|
27159
27240
|
}
|
|
27160
|
-
) }) : /* @__PURE__ */ jsxs34(
|
|
27161
|
-
/* @__PURE__ */
|
|
27241
|
+
) }) : /* @__PURE__ */ jsxs34(Tooltip7, { children: [
|
|
27242
|
+
/* @__PURE__ */ jsx48(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx48(TooltipTrigger7, { asChild: true, children: /* @__PURE__ */ jsx48(
|
|
27162
27243
|
"span",
|
|
27163
27244
|
{
|
|
27164
27245
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
27165
|
-
children: /* @__PURE__ */
|
|
27246
|
+
children: /* @__PURE__ */ jsx48(
|
|
27166
27247
|
BareIconButton2,
|
|
27167
27248
|
{
|
|
27168
27249
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
27169
27250
|
"aria-label": labels.projectSectionMoreActions,
|
|
27170
27251
|
size: "sm",
|
|
27171
|
-
children: /* @__PURE__ */
|
|
27252
|
+
children: /* @__PURE__ */ jsx48(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
27172
27253
|
}
|
|
27173
27254
|
)
|
|
27174
27255
|
}
|
|
27175
27256
|
) }) }),
|
|
27176
|
-
/* @__PURE__ */
|
|
27177
|
-
|
|
27257
|
+
/* @__PURE__ */ jsx48(
|
|
27258
|
+
TooltipContent7,
|
|
27178
27259
|
{
|
|
27179
27260
|
side: "right",
|
|
27180
27261
|
sideOffset: 6,
|
|
@@ -27190,7 +27271,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27190
27271
|
className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
|
|
27191
27272
|
sideOffset: 6,
|
|
27192
27273
|
children: [
|
|
27193
|
-
/* @__PURE__ */
|
|
27274
|
+
/* @__PURE__ */ jsx48(
|
|
27194
27275
|
DropdownMenuItem3,
|
|
27195
27276
|
{
|
|
27196
27277
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -27206,10 +27287,10 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27206
27287
|
workspaceRoot: projectPath
|
|
27207
27288
|
});
|
|
27208
27289
|
},
|
|
27209
|
-
children: /* @__PURE__ */
|
|
27290
|
+
children: /* @__PURE__ */ jsx48("span", { children: labels.projectSectionViewFiles })
|
|
27210
27291
|
}
|
|
27211
27292
|
),
|
|
27212
|
-
/* @__PURE__ */
|
|
27293
|
+
/* @__PURE__ */ jsx48(
|
|
27213
27294
|
DropdownMenuItem3,
|
|
27214
27295
|
{
|
|
27215
27296
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -27219,10 +27300,10 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27219
27300
|
onRequestSectionBatchDeletion(section);
|
|
27220
27301
|
}
|
|
27221
27302
|
},
|
|
27222
|
-
children: /* @__PURE__ */
|
|
27303
|
+
children: /* @__PURE__ */ jsx48("span", { children: labels.batchDeleteProjectSessions })
|
|
27223
27304
|
}
|
|
27224
27305
|
),
|
|
27225
|
-
/* @__PURE__ */
|
|
27306
|
+
/* @__PURE__ */ jsx48(
|
|
27226
27307
|
DropdownMenuItem3,
|
|
27227
27308
|
{
|
|
27228
27309
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -27235,7 +27316,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27235
27316
|
path: projectPath
|
|
27236
27317
|
});
|
|
27237
27318
|
},
|
|
27238
|
-
children: /* @__PURE__ */
|
|
27319
|
+
children: /* @__PURE__ */ jsx48("span", { children: labels.removeProject })
|
|
27239
27320
|
}
|
|
27240
27321
|
)
|
|
27241
27322
|
]
|
|
@@ -27243,38 +27324,38 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27243
27324
|
)
|
|
27244
27325
|
] }) : null,
|
|
27245
27326
|
!projectPath && section.kind === "conversations" ? /* @__PURE__ */ jsxs34(DropdownMenu4, { children: [
|
|
27246
|
-
previewMode ? /* @__PURE__ */
|
|
27327
|
+
previewMode ? /* @__PURE__ */ jsx48(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx48(
|
|
27247
27328
|
"span",
|
|
27248
27329
|
{
|
|
27249
27330
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
27250
|
-
children: /* @__PURE__ */
|
|
27331
|
+
children: /* @__PURE__ */ jsx48(
|
|
27251
27332
|
BareIconButton2,
|
|
27252
27333
|
{
|
|
27253
27334
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
27254
27335
|
"aria-label": labels.conversationsSectionMoreActions,
|
|
27255
27336
|
size: "sm",
|
|
27256
|
-
children: /* @__PURE__ */
|
|
27337
|
+
children: /* @__PURE__ */ jsx48(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
27257
27338
|
}
|
|
27258
27339
|
)
|
|
27259
27340
|
}
|
|
27260
|
-
) }) : /* @__PURE__ */ jsxs34(
|
|
27261
|
-
/* @__PURE__ */
|
|
27341
|
+
) }) : /* @__PURE__ */ jsxs34(Tooltip7, { children: [
|
|
27342
|
+
/* @__PURE__ */ jsx48(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx48(TooltipTrigger7, { asChild: true, children: /* @__PURE__ */ jsx48(
|
|
27262
27343
|
"span",
|
|
27263
27344
|
{
|
|
27264
27345
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
27265
|
-
children: /* @__PURE__ */
|
|
27346
|
+
children: /* @__PURE__ */ jsx48(
|
|
27266
27347
|
BareIconButton2,
|
|
27267
27348
|
{
|
|
27268
27349
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
27269
27350
|
"aria-label": labels.conversationsSectionMoreActions,
|
|
27270
27351
|
size: "sm",
|
|
27271
|
-
children: /* @__PURE__ */
|
|
27352
|
+
children: /* @__PURE__ */ jsx48(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
27272
27353
|
}
|
|
27273
27354
|
)
|
|
27274
27355
|
}
|
|
27275
27356
|
) }) }),
|
|
27276
|
-
/* @__PURE__ */
|
|
27277
|
-
|
|
27357
|
+
/* @__PURE__ */ jsx48(
|
|
27358
|
+
TooltipContent7,
|
|
27278
27359
|
{
|
|
27279
27360
|
side: "right",
|
|
27280
27361
|
sideOffset: 6,
|
|
@@ -27283,13 +27364,13 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27283
27364
|
}
|
|
27284
27365
|
)
|
|
27285
27366
|
] }),
|
|
27286
|
-
/* @__PURE__ */
|
|
27367
|
+
/* @__PURE__ */ jsx48(
|
|
27287
27368
|
DropdownMenuContent4,
|
|
27288
27369
|
{
|
|
27289
27370
|
align: "end",
|
|
27290
27371
|
className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
|
|
27291
27372
|
sideOffset: 6,
|
|
27292
|
-
children: /* @__PURE__ */
|
|
27373
|
+
children: /* @__PURE__ */ jsx48(
|
|
27293
27374
|
DropdownMenuItem3,
|
|
27294
27375
|
{
|
|
27295
27376
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -27299,7 +27380,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27299
27380
|
onRequestSectionBatchDeletion(section);
|
|
27300
27381
|
}
|
|
27301
27382
|
},
|
|
27302
|
-
children: /* @__PURE__ */
|
|
27383
|
+
children: /* @__PURE__ */ jsx48("span", { children: labels.batchDeleteConversations })
|
|
27303
27384
|
}
|
|
27304
27385
|
)
|
|
27305
27386
|
}
|
|
@@ -27307,14 +27388,14 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27307
27388
|
] }) : null
|
|
27308
27389
|
] }) : null
|
|
27309
27390
|
] }),
|
|
27310
|
-
/* @__PURE__ */
|
|
27391
|
+
/* @__PURE__ */ jsx48(
|
|
27311
27392
|
"div",
|
|
27312
27393
|
{
|
|
27313
27394
|
className: AgentGUINode_styles_default.conversationSectionItems,
|
|
27314
27395
|
"aria-hidden": isSectionCollapsed ? "true" : void 0,
|
|
27315
27396
|
children: /* @__PURE__ */ jsxs34("div", { className: AgentGUINode_styles_default.conversationSectionItemsInner, children: [
|
|
27316
|
-
!isSectionCollapsed && visibleItems.length === 0 ? /* @__PURE__ */
|
|
27317
|
-
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(
|
|
27318
27399
|
AgentGUIConversationRailItem,
|
|
27319
27400
|
{
|
|
27320
27401
|
active: item.id === activeConversationId,
|
|
@@ -27340,7 +27421,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27340
27421
|
item.id
|
|
27341
27422
|
)),
|
|
27342
27423
|
canShowMore || canShowLess ? /* @__PURE__ */ jsxs34("div", { className: AgentGUINode_styles_default.conversationSectionPagination, children: [
|
|
27343
|
-
canShowMore ? /* @__PURE__ */
|
|
27424
|
+
canShowMore ? /* @__PURE__ */ jsx48(
|
|
27344
27425
|
"button",
|
|
27345
27426
|
{
|
|
27346
27427
|
type: "button",
|
|
@@ -27350,7 +27431,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27350
27431
|
children: labels.showMoreConversations
|
|
27351
27432
|
}
|
|
27352
27433
|
) : null,
|
|
27353
|
-
canShowLess ? /* @__PURE__ */
|
|
27434
|
+
canShowLess ? /* @__PURE__ */ jsx48(
|
|
27354
27435
|
"button",
|
|
27355
27436
|
{
|
|
27356
27437
|
type: "button",
|
|
@@ -27370,7 +27451,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
27370
27451
|
);
|
|
27371
27452
|
|
|
27372
27453
|
// agent-gui/agentGuiNode/view/AgentGUIConversationRailPane.tsx
|
|
27373
|
-
import { jsx as
|
|
27454
|
+
import { jsx as jsx49, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
27374
27455
|
var AGENT_GUI_CONFIRMATION_DIALOG_CLASS_NAME = "nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]";
|
|
27375
27456
|
var AGENT_GUI_CONFIRMATION_DIALOG_OVERLAY_CLASS_NAME = "nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]";
|
|
27376
27457
|
function useDelayedBoolean(value, delayMs) {
|
|
@@ -27676,7 +27757,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27676
27757
|
"aria-hidden": isCollapsed ? "true" : void 0,
|
|
27677
27758
|
children: [
|
|
27678
27759
|
/* @__PURE__ */ jsxs35("div", { className: AgentGUINode_styles_default.railToolbar, children: [
|
|
27679
|
-
/* @__PURE__ */
|
|
27760
|
+
/* @__PURE__ */ jsx49(
|
|
27680
27761
|
TaskSearchField,
|
|
27681
27762
|
{
|
|
27682
27763
|
value: conversationQuery,
|
|
@@ -27695,27 +27776,27 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27695
27776
|
disabled: createConversationDisabled,
|
|
27696
27777
|
onClick: () => onCreateConversation(),
|
|
27697
27778
|
children: [
|
|
27698
|
-
/* @__PURE__ */
|
|
27699
|
-
/* @__PURE__ */
|
|
27779
|
+
/* @__PURE__ */ jsx49(CreateChatIcon2, { "aria-hidden": "true" }),
|
|
27780
|
+
/* @__PURE__ */ jsx49("span", { children: labels.newConversation })
|
|
27700
27781
|
]
|
|
27701
27782
|
}
|
|
27702
27783
|
)
|
|
27703
27784
|
] }),
|
|
27704
|
-
/* @__PURE__ */
|
|
27785
|
+
/* @__PURE__ */ jsx49(
|
|
27705
27786
|
ScrollArea,
|
|
27706
27787
|
{
|
|
27707
27788
|
scrollbarMode: "native",
|
|
27708
27789
|
className: "min-h-0 flex-1 [&_[data-orientation=vertical][data-slot=scroll-area-scrollbar]]:opacity-100",
|
|
27709
27790
|
viewportRef: conversationListRef,
|
|
27710
27791
|
viewportClassName: AgentGUINode_styles_default.conversationList,
|
|
27711
|
-
children: shouldShowConversationSkeleton ? /* @__PURE__ */
|
|
27792
|
+
children: shouldShowConversationSkeleton ? /* @__PURE__ */ jsx49(
|
|
27712
27793
|
AgentConversationListSkeleton,
|
|
27713
27794
|
{
|
|
27714
27795
|
label: labels.loadingConversations
|
|
27715
27796
|
}
|
|
27716
27797
|
) : shouldShowConversationSearchError ? /* @__PURE__ */ jsxs35("div", { className: AgentGUINode_styles_default.emptyState, children: [
|
|
27717
|
-
/* @__PURE__ */
|
|
27718
|
-
/* @__PURE__ */
|
|
27798
|
+
/* @__PURE__ */ jsx49("span", { children: labels.searchFailed }),
|
|
27799
|
+
/* @__PURE__ */ jsx49(
|
|
27719
27800
|
SystemButton,
|
|
27720
27801
|
{
|
|
27721
27802
|
type: "button",
|
|
@@ -27725,7 +27806,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27725
27806
|
children: labels.retrySearch
|
|
27726
27807
|
}
|
|
27727
27808
|
)
|
|
27728
|
-
] }) : 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(
|
|
27729
27810
|
"fieldset",
|
|
27730
27811
|
{
|
|
27731
27812
|
className: "contents",
|
|
@@ -27757,7 +27838,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27757
27838
|
).length + (activeOverlayCountsTowardTotal && !activeOverlayIsCanonical ? 1 : 0);
|
|
27758
27839
|
const sectionHasMore = searchSectionHasMore || !conversationQuery.trim() && sectionPageState?.hasMore === true;
|
|
27759
27840
|
return /* @__PURE__ */ jsxs35(Fragment13, { children: [
|
|
27760
|
-
showProjectRailHeader ? /* @__PURE__ */
|
|
27841
|
+
showProjectRailHeader ? /* @__PURE__ */ jsx49(
|
|
27761
27842
|
AgentGUIProjectRailHeader,
|
|
27762
27843
|
{
|
|
27763
27844
|
disabled: railInteractionsLocked,
|
|
@@ -27766,7 +27847,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27766
27847
|
workspaceUserProjectI18n
|
|
27767
27848
|
}
|
|
27768
27849
|
) : null,
|
|
27769
|
-
/* @__PURE__ */
|
|
27850
|
+
/* @__PURE__ */ jsx49(
|
|
27770
27851
|
AgentGUIConversationRailSection,
|
|
27771
27852
|
{
|
|
27772
27853
|
activeConversation: activeOverlayConversation,
|
|
@@ -27817,8 +27898,8 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27817
27898
|
)
|
|
27818
27899
|
}
|
|
27819
27900
|
),
|
|
27820
|
-
footer ? /* @__PURE__ */
|
|
27821
|
-
/* @__PURE__ */
|
|
27901
|
+
footer ? /* @__PURE__ */ jsx49("div", { className: "shrink-0 pb-2", children: footer }) : null,
|
|
27902
|
+
/* @__PURE__ */ jsx49(
|
|
27822
27903
|
ConfirmationDialog,
|
|
27823
27904
|
{
|
|
27824
27905
|
cancelLabel: labels.cancel,
|
|
@@ -27873,7 +27954,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
27873
27954
|
import {
|
|
27874
27955
|
selectWorkspaceAgentConsumerSessions as selectWorkspaceAgentConsumerSessions4
|
|
27875
27956
|
} from "@tutti-os/agent-activity-core";
|
|
27876
|
-
import {
|
|
27957
|
+
import { useEffect as useEffect31, useMemo as useMemo33, useRef as useRef34 } from "react";
|
|
27877
27958
|
|
|
27878
27959
|
// agent-gui/agentGuiNode/controller/AgentGUIConversationRailQueryController.ts
|
|
27879
27960
|
import {
|
|
@@ -27882,6 +27963,7 @@ import {
|
|
|
27882
27963
|
} from "@tutti-os/agent-activity-core";
|
|
27883
27964
|
var SECTION_PAGE_SIZE = 5;
|
|
27884
27965
|
var SEARCH_PAGE_SIZE = 100;
|
|
27966
|
+
var CONVERSATION_SEARCH_DEBOUNCE_MS = 300;
|
|
27885
27967
|
var EMPTY_SEARCH_STATE = {
|
|
27886
27968
|
failed: false,
|
|
27887
27969
|
hasMore: false,
|
|
@@ -27910,6 +27992,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
27910
27992
|
getActiveConversationId;
|
|
27911
27993
|
listeners = /* @__PURE__ */ new Set();
|
|
27912
27994
|
runtime;
|
|
27995
|
+
scheduler;
|
|
27913
27996
|
workspaceId;
|
|
27914
27997
|
pagingAbortControllers = /* @__PURE__ */ new Map();
|
|
27915
27998
|
queryState = EMPTY_QUERY_STATE;
|
|
@@ -27921,6 +28004,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
27921
28004
|
searchQuery = "";
|
|
27922
28005
|
searchRequestKey = null;
|
|
27923
28006
|
searchAbortController = null;
|
|
28007
|
+
searchDebounceTask = null;
|
|
27924
28008
|
pagingRequestSequence = 0;
|
|
27925
28009
|
searchRequestSequence = 0;
|
|
27926
28010
|
attached = false;
|
|
@@ -27931,6 +28015,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
27931
28015
|
this.engine = input.engine;
|
|
27932
28016
|
this.getActiveConversationId = input.getActiveConversationId;
|
|
27933
28017
|
this.runtime = input.runtime;
|
|
28018
|
+
this.scheduler = input.scheduler ?? agentGuiScheduler;
|
|
27934
28019
|
this.workspaceId = input.workspaceId;
|
|
27935
28020
|
this.previousMembershipRecords = membershipRecords(
|
|
27936
28021
|
this.engine.getSnapshot()
|
|
@@ -27979,7 +28064,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
27979
28064
|
const query = value.trim();
|
|
27980
28065
|
if (query === this.searchQuery) return;
|
|
27981
28066
|
this.searchQuery = query;
|
|
27982
|
-
this.
|
|
28067
|
+
this.scheduleSearch();
|
|
27983
28068
|
}
|
|
27984
28069
|
loadMoreSectionConversations = (section) => {
|
|
27985
28070
|
const scopeKey = this.railSectionQueryKey;
|
|
@@ -28218,6 +28303,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
28218
28303
|
});
|
|
28219
28304
|
}
|
|
28220
28305
|
requestSearch() {
|
|
28306
|
+
this.clearSearchDebounceTimer();
|
|
28221
28307
|
this.searchRequestKey = this.searchEnabled() && this.searchQuery ? JSON.stringify([
|
|
28222
28308
|
this.workspaceId,
|
|
28223
28309
|
this.sectionAgentTargetId,
|
|
@@ -28278,6 +28364,29 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
28278
28364
|
this.emit();
|
|
28279
28365
|
});
|
|
28280
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
|
+
}
|
|
28281
28390
|
upsertSessions(sessions) {
|
|
28282
28391
|
this.ingestingSessions = true;
|
|
28283
28392
|
try {
|
|
@@ -28335,6 +28444,7 @@ var AgentGUIConversationRailQueryController = class {
|
|
|
28335
28444
|
this.unsubscribeEngine?.();
|
|
28336
28445
|
this.unsubscribeEngine = null;
|
|
28337
28446
|
this.cancelPagingRequests();
|
|
28447
|
+
this.clearSearchDebounceTimer();
|
|
28338
28448
|
this.searchRequestSequence += 1;
|
|
28339
28449
|
this.searchAbortController?.abort();
|
|
28340
28450
|
this.searchAbortController = null;
|
|
@@ -28390,7 +28500,6 @@ function useAgentGUIConversationRailQuery({
|
|
|
28390
28500
|
);
|
|
28391
28501
|
const activeConversationIdRef = useRef34(activeConversationId);
|
|
28392
28502
|
activeConversationIdRef.current = activeConversationId;
|
|
28393
|
-
const deferredConversationQuery = useDeferredValue(conversationQuery);
|
|
28394
28503
|
const controller = useMemo33(
|
|
28395
28504
|
() => new AgentGUIConversationRailQueryController({
|
|
28396
28505
|
engine,
|
|
@@ -28408,11 +28517,11 @@ function useAgentGUIConversationRailQuery({
|
|
|
28408
28517
|
sectionAgentTargetFallbackId,
|
|
28409
28518
|
userProjects
|
|
28410
28519
|
});
|
|
28411
|
-
controller.setSearchQuery(
|
|
28520
|
+
controller.setSearchQuery(conversationQuery);
|
|
28412
28521
|
}, [
|
|
28413
28522
|
controller,
|
|
28414
28523
|
conversationFilter,
|
|
28415
|
-
|
|
28524
|
+
conversationQuery,
|
|
28416
28525
|
previewMode,
|
|
28417
28526
|
sectionAgentTargetFallbackId,
|
|
28418
28527
|
userProjects
|
|
@@ -28458,7 +28567,7 @@ function identitySnapshot(snapshot) {
|
|
|
28458
28567
|
}
|
|
28459
28568
|
|
|
28460
28569
|
// agent-gui/agentGuiNode/controller/AgentGUIConversationRailController.tsx
|
|
28461
|
-
import { jsx as
|
|
28570
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
28462
28571
|
var AgentGUIConversationRailController = memo8(
|
|
28463
28572
|
function AgentGUIConversationRailController2(props) {
|
|
28464
28573
|
const [conversationQuery, setConversationQuery] = useState28("");
|
|
@@ -28471,7 +28580,7 @@ var AgentGUIConversationRailController = memo8(
|
|
|
28471
28580
|
userProjects: props.userProjects,
|
|
28472
28581
|
workspaceId: props.workspaceId
|
|
28473
28582
|
});
|
|
28474
|
-
return /* @__PURE__ */
|
|
28583
|
+
return /* @__PURE__ */ jsx50(
|
|
28475
28584
|
AgentGUIConversationRailPane,
|
|
28476
28585
|
{
|
|
28477
28586
|
...props,
|
|
@@ -28663,7 +28772,7 @@ import { cn as cn6 } from "@tutti-os/ui-system";
|
|
|
28663
28772
|
// agent-gui/agentGuiNode/AgentGoalBanner.tsx
|
|
28664
28773
|
import { useEffect as useEffect32, useState as useState29 } from "react";
|
|
28665
28774
|
import { CirclePause, CirclePlay, Pencil as Pencil2, Target as Target3, Trash2 } from "lucide-react";
|
|
28666
|
-
import { jsx as
|
|
28775
|
+
import { jsx as jsx51, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
28667
28776
|
var RESUMABLE_GOAL_STATUSES = /* @__PURE__ */ new Set([
|
|
28668
28777
|
"paused",
|
|
28669
28778
|
"blocked",
|
|
@@ -28772,7 +28881,7 @@ function AgentGoalBanner({
|
|
|
28772
28881
|
onEditObjective?.(next);
|
|
28773
28882
|
}
|
|
28774
28883
|
};
|
|
28775
|
-
return /* @__PURE__ */
|
|
28884
|
+
return /* @__PURE__ */ jsx51("div", { className: AgentGUIChrome_styles_default.sessionChrome, children: /* @__PURE__ */ jsx51(
|
|
28776
28885
|
"section",
|
|
28777
28886
|
{
|
|
28778
28887
|
className: cn(AgentGUIChrome_styles_default.chromeCard, AgentGUIChrome_styles_default.chromeCardMuted),
|
|
@@ -28780,8 +28889,8 @@ function AgentGoalBanner({
|
|
|
28780
28889
|
"data-testid": "agent-gui-goal-banner",
|
|
28781
28890
|
children: /* @__PURE__ */ jsxs36("div", { className: AgentGUIChrome_styles_default.chromeMetaRow, children: [
|
|
28782
28891
|
/* @__PURE__ */ jsxs36("div", { className: AgentGUIChrome_styles_default.chromeMessageSlot, children: [
|
|
28783
|
-
/* @__PURE__ */
|
|
28784
|
-
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(
|
|
28785
28894
|
"input",
|
|
28786
28895
|
{
|
|
28787
28896
|
className: AgentGUIChrome_styles_default.chromeGoalEditInput,
|
|
@@ -28807,8 +28916,8 @@ function AgentGoalBanner({
|
|
|
28807
28916
|
className: cn(AgentGUIChrome_styles_default.chromeMessage, AgentGUIChrome_styles_default.chromeNoticeMessage),
|
|
28808
28917
|
title: fullMessage,
|
|
28809
28918
|
children: [
|
|
28810
|
-
/* @__PURE__ */
|
|
28811
|
-
/* @__PURE__ */
|
|
28919
|
+
/* @__PURE__ */ jsx51("span", { className: AgentGUIChrome_styles_default.chromeNoticeTitle, children: title }),
|
|
28920
|
+
/* @__PURE__ */ jsx51(
|
|
28812
28921
|
"span",
|
|
28813
28922
|
{
|
|
28814
28923
|
className: AgentGUIChrome_styles_default.chromeNoticeDescription,
|
|
@@ -28821,7 +28930,7 @@ function AgentGoalBanner({
|
|
|
28821
28930
|
)
|
|
28822
28931
|
] }),
|
|
28823
28932
|
hasActions ? /* @__PURE__ */ jsxs36("div", { className: AgentGUIChrome_styles_default.chromeGoalActions, children: [
|
|
28824
|
-
onEditObjective !== void 0 && editDraft === null ? /* @__PURE__ */
|
|
28933
|
+
onEditObjective !== void 0 && editDraft === null ? /* @__PURE__ */ jsx51(
|
|
28825
28934
|
"button",
|
|
28826
28935
|
{
|
|
28827
28936
|
type: "button",
|
|
@@ -28829,10 +28938,10 @@ function AgentGoalBanner({
|
|
|
28829
28938
|
title: labels.editAction,
|
|
28830
28939
|
"aria-label": labels.editAction,
|
|
28831
28940
|
"data-testid": "agent-gui-goal-banner-edit",
|
|
28832
|
-
children: /* @__PURE__ */
|
|
28941
|
+
children: /* @__PURE__ */ jsx51(Pencil2, { "aria-hidden": true, className: "size-3.5" })
|
|
28833
28942
|
}
|
|
28834
28943
|
) : null,
|
|
28835
|
-
showPause ? /* @__PURE__ */
|
|
28944
|
+
showPause ? /* @__PURE__ */ jsx51(
|
|
28836
28945
|
"button",
|
|
28837
28946
|
{
|
|
28838
28947
|
type: "button",
|
|
@@ -28840,10 +28949,10 @@ function AgentGoalBanner({
|
|
|
28840
28949
|
title: labels.pauseAction,
|
|
28841
28950
|
"aria-label": labels.pauseAction,
|
|
28842
28951
|
"data-testid": "agent-gui-goal-banner-pause",
|
|
28843
|
-
children: /* @__PURE__ */
|
|
28952
|
+
children: /* @__PURE__ */ jsx51(CirclePause, { "aria-hidden": true, className: "size-3.5" })
|
|
28844
28953
|
}
|
|
28845
28954
|
) : null,
|
|
28846
|
-
showResume ? /* @__PURE__ */
|
|
28955
|
+
showResume ? /* @__PURE__ */ jsx51(
|
|
28847
28956
|
"button",
|
|
28848
28957
|
{
|
|
28849
28958
|
type: "button",
|
|
@@ -28851,10 +28960,10 @@ function AgentGoalBanner({
|
|
|
28851
28960
|
title: labels.resumeAction,
|
|
28852
28961
|
"aria-label": labels.resumeAction,
|
|
28853
28962
|
"data-testid": "agent-gui-goal-banner-resume",
|
|
28854
|
-
children: /* @__PURE__ */
|
|
28963
|
+
children: /* @__PURE__ */ jsx51(CirclePlay, { "aria-hidden": true, className: "size-3.5" })
|
|
28855
28964
|
}
|
|
28856
28965
|
) : null,
|
|
28857
|
-
onClearGoal !== void 0 ? /* @__PURE__ */
|
|
28966
|
+
onClearGoal !== void 0 ? /* @__PURE__ */ jsx51(
|
|
28858
28967
|
"button",
|
|
28859
28968
|
{
|
|
28860
28969
|
type: "button",
|
|
@@ -28862,10 +28971,10 @@ function AgentGoalBanner({
|
|
|
28862
28971
|
title: labels.clearAction,
|
|
28863
28972
|
"aria-label": labels.clearAction,
|
|
28864
28973
|
"data-testid": "agent-gui-goal-banner-clear",
|
|
28865
|
-
children: /* @__PURE__ */
|
|
28974
|
+
children: /* @__PURE__ */ jsx51(Trash2, { "aria-hidden": true, className: "size-3.5" })
|
|
28866
28975
|
}
|
|
28867
28976
|
) : null
|
|
28868
|
-
] }) : /* @__PURE__ */
|
|
28977
|
+
] }) : /* @__PURE__ */ jsx51(
|
|
28869
28978
|
"span",
|
|
28870
28979
|
{
|
|
28871
28980
|
className: AgentGUIChrome_styles_default.chromeGoalHint,
|
|
@@ -28879,7 +28988,7 @@ function AgentGoalBanner({
|
|
|
28879
28988
|
}
|
|
28880
28989
|
|
|
28881
28990
|
// agent-gui/agentGuiNode/view/AgentGUIBottomDockPane.tsx
|
|
28882
|
-
import { jsx as
|
|
28991
|
+
import { jsx as jsx52, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
28883
28992
|
var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
28884
28993
|
bottomDockRef,
|
|
28885
28994
|
showScrollToBottom,
|
|
@@ -28919,7 +29028,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28919
29028
|
className: AgentGUINode_styles_default.bottomDock,
|
|
28920
29029
|
"data-testid": "agent-gui-bottom-dock",
|
|
28921
29030
|
children: [
|
|
28922
|
-
showScrollToBottom ? /* @__PURE__ */
|
|
29031
|
+
showScrollToBottom ? /* @__PURE__ */ jsx52(
|
|
28923
29032
|
"button",
|
|
28924
29033
|
{
|
|
28925
29034
|
type: "button",
|
|
@@ -28932,15 +29041,15 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28932
29041
|
title: scrollToBottomLabel,
|
|
28933
29042
|
onPointerDown: (event) => event.stopPropagation(),
|
|
28934
29043
|
onClick: onScrollToBottom,
|
|
28935
|
-
children: /* @__PURE__ */
|
|
29044
|
+
children: /* @__PURE__ */ jsx52(ChevronsDown, { "aria-hidden": "true", size: 15, strokeWidth: 2.2 })
|
|
28936
29045
|
}
|
|
28937
29046
|
) : null,
|
|
28938
|
-
bottomDockLiftedPrompt ? /* @__PURE__ */
|
|
29047
|
+
bottomDockLiftedPrompt ? /* @__PURE__ */ jsx52(
|
|
28939
29048
|
"div",
|
|
28940
29049
|
{
|
|
28941
29050
|
className: AgentGUINode_styles_default.bottomDockPrompt,
|
|
28942
29051
|
"data-testid": "agent-gui-bottom-dock-active-prompt",
|
|
28943
|
-
children: /* @__PURE__ */
|
|
29052
|
+
children: /* @__PURE__ */ jsx52(
|
|
28944
29053
|
AgentInteractivePromptSurface,
|
|
28945
29054
|
{
|
|
28946
29055
|
prompt: bottomDockLiftedPrompt,
|
|
@@ -28955,7 +29064,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28955
29064
|
)
|
|
28956
29065
|
}
|
|
28957
29066
|
) : null,
|
|
28958
|
-
inlineNoticeChrome ? /* @__PURE__ */
|
|
29067
|
+
inlineNoticeChrome ? /* @__PURE__ */ jsx52(
|
|
28959
29068
|
AgentSessionChrome,
|
|
28960
29069
|
{
|
|
28961
29070
|
chrome: inlineNoticeChrome,
|
|
@@ -28967,7 +29076,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28967
29076
|
labels: chromeLabels
|
|
28968
29077
|
}
|
|
28969
29078
|
) : null,
|
|
28970
|
-
/* @__PURE__ */
|
|
29079
|
+
/* @__PURE__ */ jsx52(
|
|
28971
29080
|
AgentSessionChrome,
|
|
28972
29081
|
{
|
|
28973
29082
|
chrome: sessionChrome,
|
|
@@ -28979,7 +29088,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28979
29088
|
labels: chromeLabels
|
|
28980
29089
|
}
|
|
28981
29090
|
),
|
|
28982
|
-
showGoalBanner ? /* @__PURE__ */
|
|
29091
|
+
showGoalBanner ? /* @__PURE__ */ jsx52(
|
|
28983
29092
|
AgentGoalBanner,
|
|
28984
29093
|
{
|
|
28985
29094
|
objective: goalObjective,
|
|
@@ -28993,12 +29102,12 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
28993
29102
|
onClearGoal: () => onGoalControl("clear")
|
|
28994
29103
|
}
|
|
28995
29104
|
) : null,
|
|
28996
|
-
bottomDockReplacementPrompt ? /* @__PURE__ */
|
|
29105
|
+
bottomDockReplacementPrompt ? /* @__PURE__ */ jsx52(
|
|
28997
29106
|
"div",
|
|
28998
29107
|
{
|
|
28999
29108
|
className: AgentGUINode_styles_default.bottomDockPrompt,
|
|
29000
29109
|
"data-testid": "agent-gui-bottom-dock-active-prompt",
|
|
29001
|
-
children: /* @__PURE__ */
|
|
29110
|
+
children: /* @__PURE__ */ jsx52(
|
|
29002
29111
|
AgentInteractivePromptSurface,
|
|
29003
29112
|
{
|
|
29004
29113
|
prompt: bottomDockReplacementPrompt,
|
|
@@ -29012,7 +29121,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
29012
29121
|
}
|
|
29013
29122
|
)
|
|
29014
29123
|
}
|
|
29015
|
-
) : /* @__PURE__ */
|
|
29124
|
+
) : /* @__PURE__ */ jsx52(AgentComposer, { ...composerProps })
|
|
29016
29125
|
]
|
|
29017
29126
|
}
|
|
29018
29127
|
);
|
|
@@ -29021,8 +29130,8 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
29021
29130
|
// agent-gui/agentGuiNode/view/AgentGUIDetailHeader.tsx
|
|
29022
29131
|
import { memo as memo10 } from "react";
|
|
29023
29132
|
import { Info as Info2 } from "lucide-react";
|
|
29024
|
-
import { Tooltip as
|
|
29025
|
-
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";
|
|
29026
29135
|
var AgentGUIDetailHeader = memo10(function AgentGUIDetailHeader2({
|
|
29027
29136
|
activeConversation,
|
|
29028
29137
|
hidden,
|
|
@@ -29035,9 +29144,9 @@ var AgentGUIDetailHeader = memo10(function AgentGUIDetailHeader2({
|
|
|
29035
29144
|
return null;
|
|
29036
29145
|
}
|
|
29037
29146
|
const runPath = activeConversation.cwd.trim();
|
|
29038
|
-
return /* @__PURE__ */
|
|
29039
|
-
/* @__PURE__ */
|
|
29040
|
-
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
|
|
29041
29150
|
] }) });
|
|
29042
29151
|
});
|
|
29043
29152
|
function AgentRunPathInfo({
|
|
@@ -29045,22 +29154,22 @@ function AgentRunPathInfo({
|
|
|
29045
29154
|
previewMode
|
|
29046
29155
|
}) {
|
|
29047
29156
|
"use memo";
|
|
29048
|
-
const trigger = /* @__PURE__ */
|
|
29157
|
+
const trigger = /* @__PURE__ */ jsx53(
|
|
29049
29158
|
"button",
|
|
29050
29159
|
{
|
|
29051
29160
|
type: "button",
|
|
29052
29161
|
className: AgentGUINode_styles_default.detailHeaderPathInfo,
|
|
29053
29162
|
"aria-label": path,
|
|
29054
|
-
children: /* @__PURE__ */
|
|
29163
|
+
children: /* @__PURE__ */ jsx53(Info2, { size: 14, strokeWidth: 2, "aria-hidden": "true" })
|
|
29055
29164
|
}
|
|
29056
29165
|
);
|
|
29057
29166
|
if (previewMode) {
|
|
29058
29167
|
return trigger;
|
|
29059
29168
|
}
|
|
29060
|
-
return /* @__PURE__ */ jsxs38(
|
|
29061
|
-
/* @__PURE__ */
|
|
29062
|
-
/* @__PURE__ */
|
|
29063
|
-
|
|
29169
|
+
return /* @__PURE__ */ jsxs38(Tooltip8, { children: [
|
|
29170
|
+
/* @__PURE__ */ jsx53(TooltipTrigger8, { asChild: true, children: trigger }),
|
|
29171
|
+
/* @__PURE__ */ jsx53(
|
|
29172
|
+
TooltipContent8,
|
|
29064
29173
|
{
|
|
29065
29174
|
side: "top",
|
|
29066
29175
|
align: "start",
|
|
@@ -29073,7 +29182,7 @@ function AgentRunPathInfo({
|
|
|
29073
29182
|
|
|
29074
29183
|
// agent-gui/agentGuiNode/view/AgentGUIConversationTimelinePane.tsx
|
|
29075
29184
|
import { memo as memo11 } from "react";
|
|
29076
|
-
import { Fragment as Fragment14, jsx as
|
|
29185
|
+
import { Fragment as Fragment14, jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
29077
29186
|
var EMPTY_WORKSPACE_APP_ICONS3 = [];
|
|
29078
29187
|
var AgentGUIConversationTimelinePane = memo11(
|
|
29079
29188
|
function AgentGUIConversationTimelinePane2({
|
|
@@ -29091,16 +29200,16 @@ var AgentGUIConversationTimelinePane = memo11(
|
|
|
29091
29200
|
}) {
|
|
29092
29201
|
"use memo";
|
|
29093
29202
|
return /* @__PURE__ */ jsxs39(Fragment14, { children: [
|
|
29094
|
-
isLoadingOlderMessages && !isLoading ? /* @__PURE__ */
|
|
29203
|
+
isLoadingOlderMessages && !isLoading ? /* @__PURE__ */ jsx54(
|
|
29095
29204
|
"div",
|
|
29096
29205
|
{
|
|
29097
29206
|
className: "mx-auto flex h-8 items-center justify-center text-[12px] text-[var(--text-secondary)]",
|
|
29098
29207
|
"data-testid": "agent-gui-older-messages-loading",
|
|
29099
29208
|
role: "status",
|
|
29100
|
-
children: /* @__PURE__ */
|
|
29209
|
+
children: /* @__PURE__ */ jsx54("span", { className: "tsh-inline-loading-ellipsis", children: loadingLabel })
|
|
29101
29210
|
}
|
|
29102
29211
|
) : null,
|
|
29103
|
-
/* @__PURE__ */
|
|
29212
|
+
/* @__PURE__ */ jsx54(
|
|
29104
29213
|
AgentConversationFlow,
|
|
29105
29214
|
{
|
|
29106
29215
|
conversation,
|
|
@@ -29435,10 +29544,10 @@ function useAgentGUIDetailScroll(input) {
|
|
|
29435
29544
|
import { useMemo as useMemo34 } from "react";
|
|
29436
29545
|
|
|
29437
29546
|
// app/renderer/components/icons/UnavailableChatIcon.tsx
|
|
29438
|
-
import { jsx as
|
|
29547
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
29439
29548
|
function UnavailableChatIcon(props) {
|
|
29440
29549
|
"use memo";
|
|
29441
|
-
return /* @__PURE__ */
|
|
29550
|
+
return /* @__PURE__ */ jsx55(
|
|
29442
29551
|
"svg",
|
|
29443
29552
|
{
|
|
29444
29553
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -29446,13 +29555,13 @@ function UnavailableChatIcon(props) {
|
|
|
29446
29555
|
fill: "currentColor",
|
|
29447
29556
|
"aria-hidden": true,
|
|
29448
29557
|
...props,
|
|
29449
|
-
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" })
|
|
29450
29559
|
}
|
|
29451
29560
|
);
|
|
29452
29561
|
}
|
|
29453
29562
|
|
|
29454
29563
|
// agent-gui/agentGuiNode/view/useAgentGUIDetailModel.tsx
|
|
29455
|
-
import { Fragment as Fragment15, jsx as
|
|
29564
|
+
import { Fragment as Fragment15, jsx as jsx56, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
29456
29565
|
function useAgentGUIDetailModel(input) {
|
|
29457
29566
|
const {
|
|
29458
29567
|
bottomDockDismissedPromptRequestId,
|
|
@@ -29586,11 +29695,11 @@ function useAgentGUIDetailModel(input) {
|
|
|
29586
29695
|
className: AgentGUINode_styles_default.unavailableChatEmpty,
|
|
29587
29696
|
"data-testid": "agent-gui-unavailable-chat-empty",
|
|
29588
29697
|
children: [
|
|
29589
|
-
/* @__PURE__ */
|
|
29590
|
-
/* @__PURE__ */
|
|
29698
|
+
/* @__PURE__ */ jsx56(UnavailableChatIcon, { className: AgentGUINode_styles_default.unavailableChatEmptyIcon }),
|
|
29699
|
+
/* @__PURE__ */ jsx56("span", { className: AgentGUINode_styles_default.unavailableChatEmptyText, children: labels.conversationUnavailable })
|
|
29591
29700
|
]
|
|
29592
29701
|
}
|
|
29593
|
-
) : /* @__PURE__ */
|
|
29702
|
+
) : /* @__PURE__ */ jsx56(Fragment15, {}),
|
|
29594
29703
|
[labels.conversationUnavailable, showUnavailableChatEmpty]
|
|
29595
29704
|
);
|
|
29596
29705
|
const chromeLabels = useMemo34(
|
|
@@ -29958,7 +30067,7 @@ function useAgentGUIDetailModel(input) {
|
|
|
29958
30067
|
}
|
|
29959
30068
|
|
|
29960
30069
|
// agent-gui/agentGuiNode/view/AgentGUIDetailPane.tsx
|
|
29961
|
-
import { Fragment as Fragment16, jsx as
|
|
30070
|
+
import { Fragment as Fragment16, jsx as jsx57, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
29962
30071
|
var AGENT_GUI_TIMELINE_SCROLL_AREA_CONTENT_STYLE = {
|
|
29963
30072
|
width: "100%",
|
|
29964
30073
|
minWidth: "100%",
|
|
@@ -30010,6 +30119,7 @@ function mergeWorkspaceAppIconsFromCommands(input) {
|
|
|
30010
30119
|
}
|
|
30011
30120
|
var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
30012
30121
|
viewModel,
|
|
30122
|
+
referenceProvenanceFilter = null,
|
|
30013
30123
|
composerEngagement,
|
|
30014
30124
|
actions,
|
|
30015
30125
|
labels,
|
|
@@ -30146,13 +30256,13 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30146
30256
|
pendingPrependScrollAnchorRef.current = null;
|
|
30147
30257
|
}, [viewModel.rail.activeConversationId]);
|
|
30148
30258
|
const submitPromptAndScrollToBottom = useCallback45(
|
|
30149
|
-
(content, displayPrompt) => {
|
|
30259
|
+
(content, displayPrompt, options) => {
|
|
30150
30260
|
requestSubmittedPromptScrollToBottom();
|
|
30151
30261
|
if (displayPrompt === void 0) {
|
|
30152
|
-
submitPrompt(content);
|
|
30262
|
+
submitPrompt(content, void 0, options);
|
|
30153
30263
|
return;
|
|
30154
30264
|
}
|
|
30155
|
-
submitPrompt(content, displayPrompt);
|
|
30265
|
+
submitPrompt(content, displayPrompt, options);
|
|
30156
30266
|
},
|
|
30157
30267
|
[requestSubmittedPromptScrollToBottom, submitPrompt]
|
|
30158
30268
|
);
|
|
@@ -30267,6 +30377,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30267
30377
|
showStopButton,
|
|
30268
30378
|
previewMode,
|
|
30269
30379
|
workspaceReferencePickerOpen,
|
|
30380
|
+
referenceProvenanceFilter,
|
|
30270
30381
|
// Plan decisions replace the composer; approval / ask-user embed here.
|
|
30271
30382
|
activePrompt: composerActivePrompt,
|
|
30272
30383
|
backgroundAgentStatusText,
|
|
@@ -30375,6 +30486,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30375
30486
|
viewModel.detail.usage,
|
|
30376
30487
|
viewModel.shell.workspaceId,
|
|
30377
30488
|
viewModel.shell.workspacePath,
|
|
30489
|
+
referenceProvenanceFilter,
|
|
30378
30490
|
workspaceUserProjectI18n,
|
|
30379
30491
|
workspaceAppIcons,
|
|
30380
30492
|
selectHomeComposerAgentTargetAndFocus
|
|
@@ -30425,7 +30537,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30425
30537
|
viewModel
|
|
30426
30538
|
});
|
|
30427
30539
|
return /* @__PURE__ */ jsxs41("main", { className: AgentGUINode_styles_default.detail, children: [
|
|
30428
|
-
/* @__PURE__ */
|
|
30540
|
+
/* @__PURE__ */ jsx57(
|
|
30429
30541
|
AgentGUIDetailHeader,
|
|
30430
30542
|
{
|
|
30431
30543
|
activeConversation: viewModel.rail.activeConversation,
|
|
@@ -30446,8 +30558,8 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30446
30558
|
"data-testid": "agent-gui-provider-setup-notice",
|
|
30447
30559
|
role: "status",
|
|
30448
30560
|
children: [
|
|
30449
|
-
/* @__PURE__ */
|
|
30450
|
-
/* @__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(
|
|
30451
30563
|
"button",
|
|
30452
30564
|
{
|
|
30453
30565
|
type: "button",
|
|
@@ -30467,7 +30579,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30467
30579
|
]
|
|
30468
30580
|
}
|
|
30469
30581
|
) : null,
|
|
30470
|
-
/* @__PURE__ */
|
|
30582
|
+
/* @__PURE__ */ jsx57(
|
|
30471
30583
|
ScrollArea2,
|
|
30472
30584
|
{
|
|
30473
30585
|
scrollbarMode: "native",
|
|
@@ -30476,7 +30588,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30476
30588
|
viewportTestId: "agent-gui-timeline",
|
|
30477
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(),
|
|
30478
30590
|
viewportContentStyle: AGENT_GUI_TIMELINE_SCROLL_AREA_CONTENT_STYLE,
|
|
30479
|
-
children: !hasActiveConversation ? shouldRenderProviderUnavailableState && disabledProviderTarget ? /* @__PURE__ */
|
|
30591
|
+
children: !hasActiveConversation ? shouldRenderProviderUnavailableState && disabledProviderTarget ? /* @__PURE__ */ jsx57(Fragment16, { children: renderProviderUnavailableState?.({
|
|
30480
30592
|
provider: disabledProviderTarget.provider,
|
|
30481
30593
|
providerLabel: labels.emptyProviderForProvider?.(
|
|
30482
30594
|
disabledProviderTarget.provider
|
|
@@ -30488,7 +30600,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30488
30600
|
disabledProviderTarget.provider
|
|
30489
30601
|
),
|
|
30490
30602
|
unavailableReason: disabledProviderTarget.unavailableReason ?? null
|
|
30491
|
-
}) }) : /* @__PURE__ */
|
|
30603
|
+
}) }) : /* @__PURE__ */ jsx57(
|
|
30492
30604
|
AgentGUIEmptyHomePane,
|
|
30493
30605
|
{
|
|
30494
30606
|
provider: emptyHeroProvider,
|
|
@@ -30511,7 +30623,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30511
30623
|
onSelectSuggestion: handleSelectHomeSuggestion,
|
|
30512
30624
|
onSelectSuggestionAction: handleHomeSuggestionAction
|
|
30513
30625
|
}
|
|
30514
|
-
) : /* @__PURE__ */
|
|
30626
|
+
) : /* @__PURE__ */ jsx57(
|
|
30515
30627
|
AgentGUIConversationTimelinePane,
|
|
30516
30628
|
{
|
|
30517
30629
|
conversation,
|
|
@@ -30529,7 +30641,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30529
30641
|
)
|
|
30530
30642
|
}
|
|
30531
30643
|
),
|
|
30532
|
-
hasActiveConversation ? /* @__PURE__ */
|
|
30644
|
+
hasActiveConversation ? /* @__PURE__ */ jsx57(
|
|
30533
30645
|
AgentGUIBottomDockPane,
|
|
30534
30646
|
{
|
|
30535
30647
|
bottomDockRef,
|
|
@@ -30561,13 +30673,12 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
30561
30673
|
// agent-gui/agentGuiNode/view/AgentGUIRenameConversationDialog.tsx
|
|
30562
30674
|
import { memo as memo13, useCallback as useCallback46, useEffect as useEffect35, useRef as useRef37, useState as useState32 } from "react";
|
|
30563
30675
|
import { ConfirmationDialog as ConfirmationDialog2 } from "@tutti-os/ui-system";
|
|
30564
|
-
import { jsx as
|
|
30676
|
+
import { jsx as jsx58, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
30565
30677
|
var AgentGUIRenameConversationDialog = memo13(
|
|
30566
30678
|
function AgentGUIRenameConversationDialog2({
|
|
30567
30679
|
conversation,
|
|
30568
30680
|
open,
|
|
30569
30681
|
labels,
|
|
30570
|
-
uiLanguage,
|
|
30571
30682
|
onOpenChange,
|
|
30572
30683
|
onRename
|
|
30573
30684
|
}) {
|
|
@@ -30586,8 +30697,8 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30586
30697
|
setIsSaving(false);
|
|
30587
30698
|
return;
|
|
30588
30699
|
}
|
|
30589
|
-
setTitle(
|
|
30590
|
-
}, [conversation,
|
|
30700
|
+
setTitle(conversation.title);
|
|
30701
|
+
}, [conversation, open]);
|
|
30591
30702
|
useEffect35(() => {
|
|
30592
30703
|
if (!open) {
|
|
30593
30704
|
return;
|
|
@@ -30618,7 +30729,7 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30618
30729
|
setIsSaving(false);
|
|
30619
30730
|
});
|
|
30620
30731
|
}, [conversation, onOpenChange, onRename, trimmedTitle]);
|
|
30621
|
-
return /* @__PURE__ */
|
|
30732
|
+
return /* @__PURE__ */ jsx58(
|
|
30622
30733
|
ConfirmationDialog2,
|
|
30623
30734
|
{
|
|
30624
30735
|
cancelLabel: labels.cancel,
|
|
@@ -30628,7 +30739,7 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30628
30739
|
confirmLabel: labels.renameSessionSave,
|
|
30629
30740
|
description: labels.renameSessionDescription,
|
|
30630
30741
|
footer: /* @__PURE__ */ jsxs42("div", { className: "flex justify-end gap-2", children: [
|
|
30631
|
-
/* @__PURE__ */
|
|
30742
|
+
/* @__PURE__ */ jsx58(
|
|
30632
30743
|
Button,
|
|
30633
30744
|
{
|
|
30634
30745
|
disabled: isSaving,
|
|
@@ -30666,7 +30777,7 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30666
30777
|
children: labels.cancel
|
|
30667
30778
|
}
|
|
30668
30779
|
),
|
|
30669
|
-
/* @__PURE__ */
|
|
30780
|
+
/* @__PURE__ */ jsx58(
|
|
30670
30781
|
Button,
|
|
30671
30782
|
{
|
|
30672
30783
|
className: "shadow-none",
|
|
@@ -30721,7 +30832,7 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30721
30832
|
title: labels.renameSessionTitle,
|
|
30722
30833
|
onConfirm: confirmRename,
|
|
30723
30834
|
onOpenChange,
|
|
30724
|
-
children: /* @__PURE__ */
|
|
30835
|
+
children: /* @__PURE__ */ jsx58(
|
|
30725
30836
|
"input",
|
|
30726
30837
|
{
|
|
30727
30838
|
ref: inputRef,
|
|
@@ -30743,6 +30854,66 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
30743
30854
|
}
|
|
30744
30855
|
);
|
|
30745
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
|
+
|
|
30746
30917
|
// agent-gui/agentGuiNode/view/useAgentGUIWorkspaceReferencePicker.ts
|
|
30747
30918
|
import { useCallback as useCallback47, useMemo as useMemo36, useRef as useRef38, useState as useState33 } from "react";
|
|
30748
30919
|
import { createRichTextMentionHref } from "@tutti-os/ui-rich-text/core";
|
|
@@ -31122,9 +31293,10 @@ function useAgentGUINodeEngagement(input) {
|
|
|
31122
31293
|
}
|
|
31123
31294
|
|
|
31124
31295
|
// agent-gui/agentGuiNode/AgentGUINodeView.tsx
|
|
31125
|
-
import { jsx as
|
|
31296
|
+
import { jsx as jsx60, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
31126
31297
|
function AgentGUINodeView({
|
|
31127
31298
|
viewModel,
|
|
31299
|
+
referenceProvenanceFilter = null,
|
|
31128
31300
|
renderSidebarFooter,
|
|
31129
31301
|
renderProviderRailEmpty,
|
|
31130
31302
|
renderProviderUnavailableState,
|
|
@@ -31560,7 +31732,7 @@ function AgentGUINodeView({
|
|
|
31560
31732
|
"aria-hidden": conversationRailCollapsed ? "true" : void 0,
|
|
31561
31733
|
inert: conversationRailCollapsed ? true : void 0,
|
|
31562
31734
|
children: [
|
|
31563
|
-
/* @__PURE__ */
|
|
31735
|
+
/* @__PURE__ */ jsx60(
|
|
31564
31736
|
AgentGUIProviderRail,
|
|
31565
31737
|
{
|
|
31566
31738
|
activeConversation: viewModel.rail.activeConversation,
|
|
@@ -31584,7 +31756,7 @@ function AgentGUINodeView({
|
|
|
31584
31756
|
onRequestComposerFocus: requestComposerFocus
|
|
31585
31757
|
}
|
|
31586
31758
|
),
|
|
31587
|
-
renderSidebarFooter ? /* @__PURE__ */
|
|
31759
|
+
renderSidebarFooter ? /* @__PURE__ */ jsx60(
|
|
31588
31760
|
"div",
|
|
31589
31761
|
{
|
|
31590
31762
|
className: `${AgentGUINode_styles_default.providerRailFooter} ${AgentGUINode_styles_default.providerRailSidebarFooter} nodrag tsh-desktop-no-drag`,
|
|
@@ -31595,12 +31767,12 @@ function AgentGUINodeView({
|
|
|
31595
31767
|
})
|
|
31596
31768
|
}
|
|
31597
31769
|
) : null,
|
|
31598
|
-
shouldShowProviderRailConfigButton ? /* @__PURE__ */
|
|
31770
|
+
shouldShowProviderRailConfigButton ? /* @__PURE__ */ jsx60(
|
|
31599
31771
|
"div",
|
|
31600
31772
|
{
|
|
31601
31773
|
className: `${AgentGUINode_styles_default.providerRailFooter} ${AgentGUINode_styles_default.providerRailConfigFooter} nodrag tsh-desktop-no-drag`,
|
|
31602
31774
|
"data-testid": "agent-gui-config-footer",
|
|
31603
|
-
children: shouldShowProviderRailConfigMenu ? /* @__PURE__ */
|
|
31775
|
+
children: shouldShowProviderRailConfigMenu ? /* @__PURE__ */ jsx60(
|
|
31604
31776
|
AgentGUIConfigMenu,
|
|
31605
31777
|
{
|
|
31606
31778
|
environmentSetupVisible,
|
|
@@ -31619,7 +31791,7 @@ function AgentGUINodeView({
|
|
|
31619
31791
|
onOpenAgentEnvSetup: openAgentEnvSetup,
|
|
31620
31792
|
onOpenAgentSettings: openAgentSettings
|
|
31621
31793
|
}
|
|
31622
|
-
) : /* @__PURE__ */
|
|
31794
|
+
) : /* @__PURE__ */ jsx60(
|
|
31623
31795
|
"button",
|
|
31624
31796
|
{
|
|
31625
31797
|
type: "button",
|
|
@@ -31628,7 +31800,7 @@ function AgentGUINodeView({
|
|
|
31628
31800
|
title: labels.agentSettingsMenu,
|
|
31629
31801
|
disabled: previewMode,
|
|
31630
31802
|
onClick: openAgentSettings,
|
|
31631
|
-
children: /* @__PURE__ */
|
|
31803
|
+
children: /* @__PURE__ */ jsx60(
|
|
31632
31804
|
SettingsLinedIcon,
|
|
31633
31805
|
{
|
|
31634
31806
|
"aria-hidden": "true",
|
|
@@ -31643,21 +31815,21 @@ function AgentGUINodeView({
|
|
|
31643
31815
|
]
|
|
31644
31816
|
}
|
|
31645
31817
|
) : null,
|
|
31646
|
-
/* @__PURE__ */
|
|
31818
|
+
/* @__PURE__ */ jsx60(
|
|
31647
31819
|
"aside",
|
|
31648
31820
|
{
|
|
31649
31821
|
id: "agent-gui-conversation-rail",
|
|
31650
31822
|
className: `${AgentGUINode_styles_default.railPanel}${conversationRailCollapsed ? ` ${AgentGUINode_styles_default.railPanelCollapsed}` : ""}`,
|
|
31651
31823
|
"aria-hidden": conversationRailCollapsed ? "true" : void 0,
|
|
31652
31824
|
inert: conversationRailCollapsed ? true : void 0,
|
|
31653
|
-
children: /* @__PURE__ */
|
|
31825
|
+
children: /* @__PURE__ */ jsx60(
|
|
31654
31826
|
AgentGUIConversationRailController,
|
|
31655
31827
|
{
|
|
31656
31828
|
...conversationRailStoreState,
|
|
31657
31829
|
conversations: viewModel.rail.conversations,
|
|
31658
31830
|
userProjects: viewModel.rail.userProjects,
|
|
31659
31831
|
workspaceId: viewModel.shell.workspaceId,
|
|
31660
|
-
footer: accountMenuState?.user ? /* @__PURE__ */
|
|
31832
|
+
footer: accountMenuState?.user ? /* @__PURE__ */ jsx60(
|
|
31661
31833
|
AgentGUIAccountRailMenu,
|
|
31662
31834
|
{
|
|
31663
31835
|
accountMenuState,
|
|
@@ -31669,7 +31841,7 @@ function AgentGUINodeView({
|
|
|
31669
31841
|
)
|
|
31670
31842
|
}
|
|
31671
31843
|
),
|
|
31672
|
-
/* @__PURE__ */
|
|
31844
|
+
/* @__PURE__ */ jsx60(
|
|
31673
31845
|
"div",
|
|
31674
31846
|
{
|
|
31675
31847
|
id: "agent-gui-conversation-rail-resize",
|
|
@@ -31693,10 +31865,11 @@ function AgentGUINodeView({
|
|
|
31693
31865
|
onPointerUp: endConversationRailResize
|
|
31694
31866
|
}
|
|
31695
31867
|
),
|
|
31696
|
-
/* @__PURE__ */
|
|
31868
|
+
/* @__PURE__ */ jsx60("section", { id: "agent-gui-detail", className: AgentGUINode_styles_default.detailPanel, children: /* @__PURE__ */ jsx60(
|
|
31697
31869
|
AgentGUIDetailPane,
|
|
31698
31870
|
{
|
|
31699
31871
|
viewModel,
|
|
31872
|
+
referenceProvenanceFilter,
|
|
31700
31873
|
composerEngagement,
|
|
31701
31874
|
actions,
|
|
31702
31875
|
labels,
|
|
@@ -31730,41 +31903,31 @@ function AgentGUINodeView({
|
|
|
31730
31903
|
]
|
|
31731
31904
|
}
|
|
31732
31905
|
),
|
|
31733
|
-
|
|
31734
|
-
|
|
31906
|
+
/* @__PURE__ */ jsx60(
|
|
31907
|
+
AgentGUIReferencePickerSurface,
|
|
31735
31908
|
{
|
|
31736
31909
|
aggregator: referenceSourceAggregator,
|
|
31737
31910
|
copy: workspaceFileReferenceCopy ?? fallbackWorkspaceFileReferenceCopy,
|
|
31911
|
+
fileAdapter: workspaceFileReferenceAdapter,
|
|
31912
|
+
fileManagerCopy: workspaceFileManagerCopy,
|
|
31913
|
+
initialPath: viewModel.composer.composerSettings.selectedProjectPath,
|
|
31738
31914
|
initialTarget: workspaceReferencePickerTarget,
|
|
31739
31915
|
isNodeSelectable: isWorkspaceReferencePickerNodeSelectable,
|
|
31740
|
-
fileManagerCopy: workspaceFileManagerCopy ?? void 0,
|
|
31741
31916
|
open: workspaceReferencePickerOpen,
|
|
31917
|
+
provenanceFilter: referenceProvenanceFilter,
|
|
31742
31918
|
resolveEntryIconUrl: resolveWorkspaceReferenceEntryIconUrl,
|
|
31743
31919
|
workspaceId: viewModel.shell.workspaceId,
|
|
31744
31920
|
onClose: closeWorkspaceReferencePicker,
|
|
31745
31921
|
onConfirm: confirmWorkspaceReferencePicker,
|
|
31746
31922
|
onConfirmBundles: confirmWorkspaceReferenceBundles
|
|
31747
31923
|
}
|
|
31748
|
-
) : /* @__PURE__ */ jsx58(
|
|
31749
|
-
WorkspaceFileReferencePicker,
|
|
31750
|
-
{
|
|
31751
|
-
copy: workspaceFileReferenceCopy ?? fallbackWorkspaceFileReferenceCopy,
|
|
31752
|
-
fileAdapter: workspaceFileReferenceAdapter ?? void 0,
|
|
31753
|
-
initialPath: viewModel.composer.composerSettings.selectedProjectPath,
|
|
31754
|
-
open: workspaceReferencePickerOpen,
|
|
31755
|
-
scoped: true,
|
|
31756
|
-
workspaceId: viewModel.shell.workspaceId,
|
|
31757
|
-
onClose: closeWorkspaceReferencePicker,
|
|
31758
|
-
onConfirm: confirmWorkspaceReferencePicker
|
|
31759
|
-
}
|
|
31760
31924
|
),
|
|
31761
|
-
/* @__PURE__ */
|
|
31925
|
+
/* @__PURE__ */ jsx60(
|
|
31762
31926
|
AgentGUIRenameConversationDialog,
|
|
31763
31927
|
{
|
|
31764
31928
|
conversation: renameConversationTarget,
|
|
31765
31929
|
open: renameConversationDialogOpen && renameConversationTarget !== null,
|
|
31766
31930
|
labels,
|
|
31767
|
-
uiLanguage,
|
|
31768
31931
|
onOpenChange: (open) => {
|
|
31769
31932
|
setRenameConversationDialogOpen(open);
|
|
31770
31933
|
if (!open) {
|
|
@@ -31775,7 +31938,7 @@ function AgentGUINodeView({
|
|
|
31775
31938
|
}
|
|
31776
31939
|
)
|
|
31777
31940
|
] });
|
|
31778
|
-
return previewMode ? content : /* @__PURE__ */
|
|
31941
|
+
return previewMode ? content : /* @__PURE__ */ jsx60(TooltipProvider5, { children: content });
|
|
31779
31942
|
}
|
|
31780
31943
|
|
|
31781
31944
|
// agent-gui/workspaceDesktop/view/desktopDockAgentProbeTooltipModel.ts
|
|
@@ -31956,7 +32119,7 @@ import {
|
|
|
31956
32119
|
useState as useState35
|
|
31957
32120
|
} from "react";
|
|
31958
32121
|
import { createPortal as createPortal5 } from "react-dom";
|
|
31959
|
-
import { Fragment as Fragment17, jsx as
|
|
32122
|
+
import { Fragment as Fragment17, jsx as jsx61, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
31960
32123
|
var POPOVER_MIN_VIEWPORT_INSET_PX = 16;
|
|
31961
32124
|
var POPOVER_DEFAULT_WIDTH_PX = 260;
|
|
31962
32125
|
function dockAgentProbeLineKey(line) {
|
|
@@ -31970,7 +32133,7 @@ function renderDockAgentProbeLine(line) {
|
|
|
31970
32133
|
line.primary,
|
|
31971
32134
|
line.secondary ? /* @__PURE__ */ jsxs44(Fragment17, { children: [
|
|
31972
32135
|
" ",
|
|
31973
|
-
/* @__PURE__ */
|
|
32136
|
+
/* @__PURE__ */ jsx61("span", { className: "desktop-dock-popup__agent-status-secondary", children: line.secondary })
|
|
31974
32137
|
] }) : null
|
|
31975
32138
|
] });
|
|
31976
32139
|
}
|
|
@@ -32054,7 +32217,7 @@ function AgentProbeInfoPopover({
|
|
|
32054
32217
|
if (lines.length === 0) {
|
|
32055
32218
|
return null;
|
|
32056
32219
|
}
|
|
32057
|
-
const popover = /* @__PURE__ */
|
|
32220
|
+
const popover = /* @__PURE__ */ jsx61(
|
|
32058
32221
|
"div",
|
|
32059
32222
|
{
|
|
32060
32223
|
ref: popoverRef,
|
|
@@ -32063,7 +32226,7 @@ function AgentProbeInfoPopover({
|
|
|
32063
32226
|
style: popoverStyle ?? void 0,
|
|
32064
32227
|
onMouseEnter: openPopover,
|
|
32065
32228
|
onMouseLeave: closeIfPointerLeavesPopover,
|
|
32066
|
-
children: /* @__PURE__ */
|
|
32229
|
+
children: /* @__PURE__ */ jsx61("ul", { className: "desktop-dock-popup__agent-info-list", children: lines.map((line) => {
|
|
32067
32230
|
const label = getDockAgentProbeLineLabel(line);
|
|
32068
32231
|
const valueText = formatDockAgentProbeLineText(line);
|
|
32069
32232
|
return /* @__PURE__ */ jsxs44(
|
|
@@ -32072,8 +32235,8 @@ function AgentProbeInfoPopover({
|
|
|
32072
32235
|
className: "desktop-dock-popup__agent-info-item",
|
|
32073
32236
|
"data-has-label": label ? "true" : "false",
|
|
32074
32237
|
children: [
|
|
32075
|
-
label ? /* @__PURE__ */
|
|
32076
|
-
/* @__PURE__ */
|
|
32238
|
+
label ? /* @__PURE__ */ jsx61("span", { className: "desktop-dock-popup__agent-info-label", children: label }) : null,
|
|
32239
|
+
/* @__PURE__ */ jsx61(
|
|
32077
32240
|
"span",
|
|
32078
32241
|
{
|
|
32079
32242
|
className: "desktop-dock-popup__agent-info-value",
|
|
@@ -32108,7 +32271,7 @@ function AgentProbeInfoPopover({
|
|
|
32108
32271
|
},
|
|
32109
32272
|
onBlur: () => setIsOpen(false),
|
|
32110
32273
|
children: [
|
|
32111
|
-
/* @__PURE__ */
|
|
32274
|
+
/* @__PURE__ */ jsx61(Info3, { size: 15, strokeWidth: 2.1, "aria-hidden": "true" }),
|
|
32112
32275
|
isOpen ? createPortal5(popover, document.body) : null
|
|
32113
32276
|
]
|
|
32114
32277
|
}
|
|
@@ -32319,7 +32482,7 @@ function areAgentGUINodePropsEqual(previous, next) {
|
|
|
32319
32482
|
const pc = previous.hostCapabilities, nc = next.hostCapabilities;
|
|
32320
32483
|
const pa = previous.hostActions, na = next.hostActions;
|
|
32321
32484
|
const ps = previous.renderSlots, ns = next.renderSlots;
|
|
32322
|
-
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;
|
|
32323
32486
|
}
|
|
32324
32487
|
|
|
32325
32488
|
// agent-gui/agentGuiNode/AgentGUINode.labels.ts
|
|
@@ -32724,6 +32887,9 @@ function useAgentGUIViewLabels(input) {
|
|
|
32724
32887
|
loadingConversation: t("agentHost.agentGui.loadingConversation"),
|
|
32725
32888
|
scrollToBottom: t("agentHost.agentGui.scrollToBottom"),
|
|
32726
32889
|
fallbackAgentTitle,
|
|
32890
|
+
untitledConversationTitle: t(
|
|
32891
|
+
"agentHost.workspaceAgentsUntitledConversation"
|
|
32892
|
+
),
|
|
32727
32893
|
sectionToday: t("agentHost.agentGui.sectionToday"),
|
|
32728
32894
|
sectionYesterday: t("agentHost.agentGui.sectionYesterday"),
|
|
32729
32895
|
sectionEarlier: t("agentHost.agentGui.sectionEarlier"),
|
|
@@ -33162,7 +33328,7 @@ function resolveAgentGUIRailStatusProvider(input) {
|
|
|
33162
33328
|
}
|
|
33163
33329
|
|
|
33164
33330
|
// agent-gui/agentGuiNode/AgentGUINode.tsx
|
|
33165
|
-
import { jsx as
|
|
33331
|
+
import { jsx as jsx62, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
33166
33332
|
var EMPTY_SLASH_STATUS_QUOTAS = [];
|
|
33167
33333
|
var AgentGUINode = memo14(function AgentGUINode2({
|
|
33168
33334
|
identity,
|
|
@@ -33225,8 +33391,25 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33225
33391
|
managedAgentsState,
|
|
33226
33392
|
contextMentionProviders,
|
|
33227
33393
|
workspaceAppIcons,
|
|
33228
|
-
disabledHomeSuggestions
|
|
33394
|
+
disabledHomeSuggestions,
|
|
33395
|
+
referenceProvenanceFilterEnabled = false
|
|
33229
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;
|
|
33230
33413
|
const {
|
|
33231
33414
|
onLinkAction,
|
|
33232
33415
|
onHandoffConversation,
|
|
@@ -33565,7 +33748,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33565
33748
|
previewMode,
|
|
33566
33749
|
railStatusProvider
|
|
33567
33750
|
]);
|
|
33568
|
-
return /* @__PURE__ */
|
|
33751
|
+
return /* @__PURE__ */ jsx62(
|
|
33569
33752
|
WorkspaceNodeWindow,
|
|
33570
33753
|
{
|
|
33571
33754
|
nodeId,
|
|
@@ -33582,7 +33765,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33582
33765
|
bodyClassName: `${AgentGUINode_styles_default.shell} nodrag size-full min-h-0 min-w-0 !bg-transparent p-0`,
|
|
33583
33766
|
hideHeader: embedded,
|
|
33584
33767
|
titleAccessory: /* @__PURE__ */ jsxs45("span", { className: "inline-flex flex-none items-center gap-1", children: [
|
|
33585
|
-
/* @__PURE__ */
|
|
33768
|
+
/* @__PURE__ */ jsx62(
|
|
33586
33769
|
AgentProbeInfoPopover,
|
|
33587
33770
|
{
|
|
33588
33771
|
lines: agentProbeLines,
|
|
@@ -33591,7 +33774,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33591
33774
|
onOpen: handleAgentProbeInfoOpen
|
|
33592
33775
|
}
|
|
33593
33776
|
),
|
|
33594
|
-
/* @__PURE__ */
|
|
33777
|
+
/* @__PURE__ */ jsx62(
|
|
33595
33778
|
CanvasNodeGhostIconButton,
|
|
33596
33779
|
{
|
|
33597
33780
|
"aria-label": isConversationRailCollapsed ? t("agentHost.agentGui.expandConversationRail") : t("agentHost.agentGui.collapseConversationRail"),
|
|
@@ -33603,7 +33786,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33603
33786
|
event.stopPropagation();
|
|
33604
33787
|
handleConversationRailToggle();
|
|
33605
33788
|
},
|
|
33606
|
-
children: /* @__PURE__ */
|
|
33789
|
+
children: /* @__PURE__ */ jsx62(
|
|
33607
33790
|
CanvasNodePanelLinedIcon,
|
|
33608
33791
|
{
|
|
33609
33792
|
width: 18,
|
|
@@ -33627,7 +33810,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33627
33810
|
renderedWidth,
|
|
33628
33811
|
railAutoCollapseWidthPx
|
|
33629
33812
|
);
|
|
33630
|
-
return /* @__PURE__ */
|
|
33813
|
+
return /* @__PURE__ */ jsx62(
|
|
33631
33814
|
AgentGUINodeView,
|
|
33632
33815
|
{
|
|
33633
33816
|
viewModel,
|
|
@@ -33688,7 +33871,8 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33688
33871
|
resolveWorkspaceReferenceInitialTarget,
|
|
33689
33872
|
workspaceFileReferenceCopy,
|
|
33690
33873
|
contextMentionProviders,
|
|
33691
|
-
workspaceAppIcons
|
|
33874
|
+
workspaceAppIcons,
|
|
33875
|
+
referenceProvenanceFilter
|
|
33692
33876
|
}
|
|
33693
33877
|
);
|
|
33694
33878
|
}
|
|
@@ -33697,7 +33881,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
33697
33881
|
}, areAgentGUINodePropsEqual);
|
|
33698
33882
|
|
|
33699
33883
|
// AgentGUI.tsx
|
|
33700
|
-
import { jsx as
|
|
33884
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
33701
33885
|
var AgentGUI = memo15(function AgentGUI2({
|
|
33702
33886
|
agentActivityRuntime,
|
|
33703
33887
|
agentHostApi,
|
|
@@ -33727,15 +33911,15 @@ var AgentGUI = memo15(function AgentGUI2({
|
|
|
33727
33911
|
providerRailEmpty: renderAgentsEmpty
|
|
33728
33912
|
}
|
|
33729
33913
|
};
|
|
33730
|
-
const content = /* @__PURE__ */
|
|
33914
|
+
const content = /* @__PURE__ */ jsx63(AgentGuiI18nProvider, { runtime: i18n, locale, children: /* @__PURE__ */ jsx63(
|
|
33731
33915
|
AgentActivityHostProvider,
|
|
33732
33916
|
{
|
|
33733
33917
|
agentActivityRuntime,
|
|
33734
33918
|
agentHostApi,
|
|
33735
|
-
children: /* @__PURE__ */
|
|
33919
|
+
children: /* @__PURE__ */ jsx63(AgentGUINode, { ...nodeProps })
|
|
33736
33920
|
}
|
|
33737
33921
|
) });
|
|
33738
|
-
return props.frame.previewMode ? content : /* @__PURE__ */
|
|
33922
|
+
return props.frame.previewMode ? content : /* @__PURE__ */ jsx63(TooltipProvider6, { delayDuration: 120, skipDelayDuration: 0, children: content });
|
|
33739
33923
|
});
|
|
33740
33924
|
|
|
33741
33925
|
export {
|
|
@@ -33748,4 +33932,4 @@ export {
|
|
|
33748
33932
|
resolveAgentGUIAgentTarget,
|
|
33749
33933
|
AgentGUI
|
|
33750
33934
|
};
|
|
33751
|
-
//# sourceMappingURL=chunk-
|
|
33935
|
+
//# sourceMappingURL=chunk-BQJOYTW2.js.map
|