@tutti-os/agent-gui 0.0.127 → 0.0.129
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-DprRUk8h.d.ts → AgentGUI-DxypmD7b.d.ts} +4 -16
- package/dist/{AgentRichTextReadonly-SPIPM3UM.js → AgentRichTextReadonly-PEKCMRPE.js} +6 -6
- package/dist/agent-conversation/index.js +8 -8
- package/dist/agent-gui.d.ts +4 -4
- package/dist/agent-gui.js +15 -15
- package/dist/agent-message-center/index.js +6 -6
- package/dist/app/renderer/agentactivity.css +33 -4
- package/dist/{chunk-WKFMSABH.js → chunk-2RSNLVOX.js} +53 -11
- package/dist/chunk-2RSNLVOX.js.map +1 -0
- package/dist/{chunk-LUGELG5V.js → chunk-5QPOMKMQ.js} +2 -2
- package/dist/chunk-5QPOMKMQ.js.map +1 -0
- package/dist/{chunk-EG7IIFNL.js → chunk-GCQYN7BR.js} +3 -3
- package/dist/{chunk-ZXHXR2KT.js → chunk-GX5HPHPL.js} +524 -475
- package/dist/chunk-GX5HPHPL.js.map +1 -0
- package/dist/{chunk-YJKTYMF4.js → chunk-J4TTEMRW.js} +5 -7
- package/dist/{chunk-YJKTYMF4.js.map → chunk-J4TTEMRW.js.map} +1 -1
- package/dist/{chunk-D5CIV4IB.js → chunk-NE6H7S5Z.js} +2 -2
- package/dist/{chunk-LWJITLCI.js → chunk-OBWM2RFE.js} +3 -3
- package/dist/{chunk-T2CHVUXH.js → chunk-OQR3HXPF.js} +5 -1
- package/dist/chunk-OQR3HXPF.js.map +1 -0
- package/dist/{chunk-JWB5Z5GS.js → chunk-PQJXWXTS.js} +4 -4
- package/dist/{chunk-YWKS4ESK.js → chunk-PVTAFUDS.js} +2 -2
- package/dist/{chunk-JE2DXS4U.js → chunk-QQRTUHCH.js} +2 -2
- package/dist/{chunk-JVISXD4K.js → chunk-SZOTLVH6.js} +2 -2
- package/dist/{chunk-54GR2G3U.js → chunk-UARZZJJB.js} +5 -5
- package/dist/{chunk-WKYMLLHT.js → chunk-XNE2ROCP.js} +2 -2
- package/dist/{chunk-WB3KV4VH.js → chunk-YWHGCKMT.js} +3 -3
- package/dist/context-mention-palette/index.js +8 -8
- package/dist/i18n/index.d.ts +4 -0
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +4 -4
- package/dist/index.js +15 -15
- package/dist/mention-file-presentation.js +1 -1
- package/dist/mention-search.js +6 -6
- package/dist/workbench/contribution.js +3 -3
- package/dist/workbench/index.js +3 -3
- package/dist/workbench/sessionTitle.js +2 -2
- package/package.json +14 -14
- package/dist/chunk-LUGELG5V.js.map +0 -1
- package/dist/chunk-T2CHVUXH.js.map +0 -1
- package/dist/chunk-WKFMSABH.js.map +0 -1
- package/dist/chunk-ZXHXR2KT.js.map +0 -1
- /package/dist/{AgentRichTextReadonly-SPIPM3UM.js.map → AgentRichTextReadonly-PEKCMRPE.js.map} +0 -0
- /package/dist/{chunk-EG7IIFNL.js.map → chunk-GCQYN7BR.js.map} +0 -0
- /package/dist/{chunk-D5CIV4IB.js.map → chunk-NE6H7S5Z.js.map} +0 -0
- /package/dist/{chunk-LWJITLCI.js.map → chunk-OBWM2RFE.js.map} +0 -0
- /package/dist/{chunk-JWB5Z5GS.js.map → chunk-PQJXWXTS.js.map} +0 -0
- /package/dist/{chunk-YWKS4ESK.js.map → chunk-PVTAFUDS.js.map} +0 -0
- /package/dist/{chunk-JE2DXS4U.js.map → chunk-QQRTUHCH.js.map} +0 -0
- /package/dist/{chunk-JVISXD4K.js.map → chunk-SZOTLVH6.js.map} +0 -0
- /package/dist/{chunk-54GR2G3U.js.map → chunk-UARZZJJB.js.map} +0 -0
- /package/dist/{chunk-WKYMLLHT.js.map → chunk-XNE2ROCP.js.map} +0 -0
- /package/dist/{chunk-WB3KV4VH.js.map → chunk-YWHGCKMT.js.map} +0 -0
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
resolveAgentGuiSessionProviderFlatIconUrl,
|
|
13
13
|
resolveNextAgentGUIConversationRailWidthPx,
|
|
14
14
|
shouldAutoCollapseAgentGUIConversationRail
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-GCQYN7BR.js";
|
|
16
16
|
import {
|
|
17
17
|
AGENT_PROVIDERS,
|
|
18
18
|
AGENT_PROVIDER_LABEL,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
resolveAgentGUIFirstUserMessageDisplayPrompt,
|
|
29
29
|
resolveAgentGUIProviderDisplayLabel,
|
|
30
30
|
resolveAgentGUIProviderIdentity
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-PVTAFUDS.js";
|
|
32
32
|
import {
|
|
33
33
|
resolveAgentGuiWorkbenchProviderLabel
|
|
34
34
|
} from "./chunk-R2ZADXRB.js";
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
toLocalShortDateTime,
|
|
64
64
|
updateAgentComposerDraft,
|
|
65
65
|
useProjectedAgentConversation
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-2RSNLVOX.js";
|
|
67
67
|
import {
|
|
68
68
|
agentRichTextContentToPromptText,
|
|
69
69
|
createAgentRichTextInputExtensions,
|
|
@@ -73,7 +73,7 @@ import {
|
|
|
73
73
|
plainTextToAgentRichTextInlineContent,
|
|
74
74
|
skillDescriptionForDisplay,
|
|
75
75
|
skillTriggerForPrefix
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-XNE2ROCP.js";
|
|
77
77
|
import {
|
|
78
78
|
openAgentEnvPanel
|
|
79
79
|
} from "./chunk-VMQNG2KI.js";
|
|
@@ -85,7 +85,7 @@ import {
|
|
|
85
85
|
AgentFileMentionPalette,
|
|
86
86
|
agentMentionItemKey,
|
|
87
87
|
isAgentMentionItemDisabled
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-UARZZJJB.js";
|
|
89
89
|
import {
|
|
90
90
|
normalizeAgentGUIAgents,
|
|
91
91
|
projectAgentGUIAgentsToInternalTargets
|
|
@@ -96,7 +96,7 @@ import {
|
|
|
96
96
|
DEFAULT_AGENT_MENTION_FILTER,
|
|
97
97
|
agentGuiScheduler,
|
|
98
98
|
buildWorkspaceAgentActivityListViewModel
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-J4TTEMRW.js";
|
|
100
100
|
import {
|
|
101
101
|
AGENT_RICH_TEXT_CARET_ANCHOR,
|
|
102
102
|
createAgentSessionMarkdownLink,
|
|
@@ -107,7 +107,7 @@ import {
|
|
|
107
107
|
mentionItemToAttrs,
|
|
108
108
|
normalizeAgentSessionMentionTitle,
|
|
109
109
|
parseMentionItemFromHref
|
|
110
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-OBWM2RFE.js";
|
|
111
111
|
import {
|
|
112
112
|
AgentInteractivePromptSurface,
|
|
113
113
|
PLAN_IMPLEMENTATION_ACTION_FEEDBACK,
|
|
@@ -117,7 +117,7 @@ import {
|
|
|
117
117
|
dispatchAgentPlanPromptAction,
|
|
118
118
|
latestPlanTurnId,
|
|
119
119
|
planImplementationPromptFromPlanTurn
|
|
120
|
-
} from "./chunk-
|
|
120
|
+
} from "./chunk-PQJXWXTS.js";
|
|
121
121
|
import {
|
|
122
122
|
useEngineSelector
|
|
123
123
|
} from "./chunk-2RQM7PJN.js";
|
|
@@ -126,7 +126,7 @@ import {
|
|
|
126
126
|
ZoomableImage,
|
|
127
127
|
normalizeAgentApprovalPurpose,
|
|
128
128
|
resolveWorkspaceLinkAction
|
|
129
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-YWHGCKMT.js";
|
|
130
130
|
import {
|
|
131
131
|
AgentTargetPresentationProvider,
|
|
132
132
|
cn,
|
|
@@ -144,7 +144,7 @@ import {
|
|
|
144
144
|
useAgentHostApi,
|
|
145
145
|
useOptionalAgentActivityRuntime,
|
|
146
146
|
useOptionalAgentHostApi
|
|
147
|
-
} from "./chunk-
|
|
147
|
+
} from "./chunk-NE6H7S5Z.js";
|
|
148
148
|
import {
|
|
149
149
|
MANAGED_AGENT_ICON_FALLBACK_URL,
|
|
150
150
|
MANAGED_AGENT_ICON_URLS,
|
|
@@ -154,7 +154,7 @@ import {
|
|
|
154
154
|
AgentGuiI18nProvider,
|
|
155
155
|
translate,
|
|
156
156
|
useTranslation
|
|
157
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-SZOTLVH6.js";
|
|
158
158
|
import {
|
|
159
159
|
isBetaAgentProvider,
|
|
160
160
|
normalizeManagedAgentProvider
|
|
@@ -171,7 +171,7 @@ import {
|
|
|
171
171
|
|
|
172
172
|
// AgentGUI.tsx
|
|
173
173
|
import { memo as memo15 } from "react";
|
|
174
|
-
import { TooltipProvider as
|
|
174
|
+
import { TooltipProvider as TooltipProvider6 } from "@tutti-os/ui-system";
|
|
175
175
|
|
|
176
176
|
// agent-gui/agentGuiNode/AgentGUINode.tsx
|
|
177
177
|
import { memo as memo14, useCallback as useCallback57, useEffect as useEffect38, useMemo as useMemo41 } from "react";
|
|
@@ -7508,9 +7508,6 @@ function permissionModeSelectionPatch(permissionModeId, options) {
|
|
|
7508
7508
|
return options.clearsPlanMode ? { permissionModeId, planMode: false } : { permissionModeId };
|
|
7509
7509
|
}
|
|
7510
7510
|
function resolvePermissionModeControlsDisabled(options) {
|
|
7511
|
-
if (options.changeDuringTurnSupported) {
|
|
7512
|
-
return options.isSubmittingPrompt;
|
|
7513
|
-
}
|
|
7514
7511
|
return options.isSendingTurn || options.isSubmittingPrompt || options.showStopButton;
|
|
7515
7512
|
}
|
|
7516
7513
|
function shouldRetrySessionSettingsUpdate(status) {
|
|
@@ -10974,7 +10971,6 @@ function useAgentGUIConversationDetail(input) {
|
|
|
10974
10971
|
return;
|
|
10975
10972
|
}
|
|
10976
10973
|
const firstVersion = minFiniteMessageVersion(input.activeMessages);
|
|
10977
|
-
const lastVersion = maxFiniteMessageVersion(input.activeMessages);
|
|
10978
10974
|
const diagnosticKey = [
|
|
10979
10975
|
input.activeConversationId,
|
|
10980
10976
|
input.activeMessages.length,
|
|
@@ -10982,7 +10978,6 @@ function useAgentGUIConversationDetail(input) {
|
|
|
10982
10978
|
conversation.sourceDetail.turns.length,
|
|
10983
10979
|
conversation.rows.length,
|
|
10984
10980
|
firstVersion ?? "",
|
|
10985
|
-
lastVersion ?? "",
|
|
10986
10981
|
input.activeSessionView?.hasOlderMessages ? "1" : "0",
|
|
10987
10982
|
input.activeSessionView?.isLoadingOlderMessages ? "1" : "0"
|
|
10988
10983
|
].join(":");
|
|
@@ -11663,8 +11658,6 @@ function useAgentGUISessionPresentation(input) {
|
|
|
11663
11658
|
(item) => item.role === "user"
|
|
11664
11659
|
);
|
|
11665
11660
|
useEffect11(() => {
|
|
11666
|
-
const firstVersion = minFiniteMessageVersion(input.activeMessages);
|
|
11667
|
-
const lastVersion = maxFiniteMessageVersion(input.activeMessages);
|
|
11668
11661
|
const diagnosticKey = [
|
|
11669
11662
|
input.activeConversationId ?? "",
|
|
11670
11663
|
input.activeConversation?.status ?? "",
|
|
@@ -11679,10 +11672,7 @@ function useAgentGUISessionPresentation(input) {
|
|
|
11679
11672
|
activeSubmitBlocked ? "submit-blocked" : "submit-open",
|
|
11680
11673
|
input.pendingApproval?.requestId ?? "",
|
|
11681
11674
|
promptRequestId(pendingInteractivePrompt) ?? "",
|
|
11682
|
-
input.conversation?.
|
|
11683
|
-
input.conversation?.sourceDetail.turns.length ?? "",
|
|
11684
|
-
firstVersion ?? "",
|
|
11685
|
-
lastVersion ?? "",
|
|
11675
|
+
input.conversation?.activity.status ?? "",
|
|
11686
11676
|
input.isCreatingConversation ? "creating" : "",
|
|
11687
11677
|
input.isLoadingMessages ? "loading-messages" : "",
|
|
11688
11678
|
input.isSubmitting ? "submitting" : "",
|
|
@@ -11718,7 +11708,6 @@ function useAgentGUISessionPresentation(input) {
|
|
|
11718
11708
|
activeSubmitBlocked,
|
|
11719
11709
|
canQueueWhileBusy,
|
|
11720
11710
|
canSubmit,
|
|
11721
|
-
hasSentUserMessage,
|
|
11722
11711
|
input.activeConversation,
|
|
11723
11712
|
input.activeConversationId,
|
|
11724
11713
|
input.activeEngineActiveTurn,
|
|
@@ -11726,7 +11715,6 @@ function useAgentGUISessionPresentation(input) {
|
|
|
11726
11715
|
input.activeEngineLatestTurn,
|
|
11727
11716
|
input.activeEngineSession,
|
|
11728
11717
|
input.activeLiveState,
|
|
11729
|
-
input.activeMessages,
|
|
11730
11718
|
input.activeSessionState,
|
|
11731
11719
|
input.activityDisplayStatus,
|
|
11732
11720
|
input.agentActivityRuntime,
|
|
@@ -13320,7 +13308,7 @@ import {
|
|
|
13320
13308
|
useRef as useRef47,
|
|
13321
13309
|
useState as useState36
|
|
13322
13310
|
} from "react";
|
|
13323
|
-
import { TooltipProvider as
|
|
13311
|
+
import { TooltipProvider as TooltipProvider5 } from "@tutti-os/ui-system";
|
|
13324
13312
|
|
|
13325
13313
|
// shared/workspaceSettingsPanel/workspaceSettingsPanelStore.ts
|
|
13326
13314
|
import { useSnapshot } from "valtio";
|
|
@@ -14455,7 +14443,7 @@ import {
|
|
|
14455
14443
|
SelectContent as SelectContent4,
|
|
14456
14444
|
SelectItem as SelectItem4,
|
|
14457
14445
|
SelectTrigger as SelectTrigger4,
|
|
14458
|
-
cn as
|
|
14446
|
+
cn as cn6
|
|
14459
14447
|
} from "@tutti-os/ui-system";
|
|
14460
14448
|
|
|
14461
14449
|
// agent-gui/agentGuiNode/AgentGUIHeroAgentCarousel.tsx
|
|
@@ -15250,7 +15238,15 @@ function AgentGUIVinylPlayer({
|
|
|
15250
15238
|
/* @__PURE__ */ jsxs9("div", { className: "agent-gui-vinyl-player__tone-control", children: [
|
|
15251
15239
|
/* @__PURE__ */ jsx16("span", {}),
|
|
15252
15240
|
/* @__PURE__ */ jsx16("span", { children: "\u25E6" })
|
|
15253
|
-
] })
|
|
15241
|
+
] }),
|
|
15242
|
+
selectedAgent?.badge?.iconUrl ? /* @__PURE__ */ jsx16(
|
|
15243
|
+
"span",
|
|
15244
|
+
{
|
|
15245
|
+
className: "agent-gui-vinyl-player__owner-badge",
|
|
15246
|
+
"data-agent-owner-badge": "true",
|
|
15247
|
+
children: /* @__PURE__ */ jsx16("img", { src: selectedAgent.badge.iconUrl, alt: "", draggable: false })
|
|
15248
|
+
}
|
|
15249
|
+
) : null
|
|
15254
15250
|
] });
|
|
15255
15251
|
}
|
|
15256
15252
|
|
|
@@ -17423,14 +17419,15 @@ import {
|
|
|
17423
17419
|
PopoverContent as PopoverContent2
|
|
17424
17420
|
} from "@tutti-os/ui-system";
|
|
17425
17421
|
|
|
17422
|
+
// app/renderer/assets/animations/handoff-clap.png
|
|
17423
|
+
var handoff_clap_default = "data:image/png;base64,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";
|
|
17424
|
+
|
|
17426
17425
|
// app/renderer/assets/icons/handoff-lined.svg
|
|
17427
17426
|
var handoff_lined_default = "data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_3861_2885)%22%3E%0A%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22black%22%20fill-opacity%3D%220.01%22%2F%3E%0A%3Cpath%20d%3D%22M12.541%202.64224C13.5268%202.57725%2014.7105%203.26414%2014.9658%204.31119C14.9807%204.37244%2014.971%204.38297%2014.999%204.45279C15.0889%204.49497%2015.8572%204.41273%2016.1084%204.44888C16.6718%204.53003%2017.3283%204.81738%2017.6679%205.29068C18.3576%206.25256%2018.1372%207.15346%2017.9668%208.23795C17.891%208.71986%2017.8512%209.18553%2017.7841%209.66177C18.6508%209.38411%2019.6929%209.3859%2020.3828%2010.0436C20.9482%2010.5828%2021.022%2010.9891%2020.9707%2011.7506C20.9128%2012.6101%2020.7133%2013.4205%2020.5381%2014.2594C20.4156%2014.8393%2020.3126%2015.4234%2020.1748%2015.9997C19.4485%2018.9205%2017.1783%2021.1354%2014.1855%2021.6169C13.2872%2021.7614%2012.2326%2021.7234%2011.3154%2021.8883C11.0306%2021.9395%2010.5122%2021.8928%2010.2041%2021.8737C8.39117%2021.7381%206.83082%2021.0208%205.55368%2019.7018C4.56317%2018.6788%203.76665%2016.85%203.4736%2015.4499C3.27634%2014.5072%203.21936%2013.2571%203.05173%2012.2594C2.92224%2011.4892%202.63431%209.90484%202.66306%209.19595C2.69683%208.52466%202.99466%207.89414%203.49118%207.44107C4.00634%206.96741%204.73785%206.86941%205.40915%206.8981C5.26761%206.12888%205.17335%206.00537%205.47849%205.24673C6.26%203.30387%209.35257%203.09898%2010.1269%205.15591C10.4457%203.7735%2010.9671%202.83356%2012.4736%202.6481C12.496%202.64536%2012.5185%202.64365%2012.541%202.64224ZM7.65329%205.28287C7.34224%205.39341%207.04943%205.51492%206.89841%205.83658C6.87441%205.88847%206.85129%205.94173%206.83005%205.99478C6.84839%206.41774%207.06208%207.04203%207.15817%207.46646C7.52295%209.07758%208.00711%2010.6594%208.13474%2012.3151C8.16969%2012.7687%208.10092%2012.9325%207.81833%2013.2829C7.39918%2013.433%207.31867%2013.3947%206.87106%2013.3239C6.79013%2013.194%206.70881%2013.0713%206.65622%2012.9128C6.49424%2012.424%206.54192%2011.9679%206.41599%2011.4645C6.21294%2010.6528%206.08263%209.60287%205.76266%208.84439C5.65375%208.5874%204.91332%208.33972%204.70407%208.52701C4.33418%208.74784%204.174%209.07895%204.23239%209.50357C4.37588%2010.5311%204.54178%2011.5642%204.69919%2012.5905C4.84794%2013.6103%204.89935%2014.7715%205.16403%2015.7653C5.32709%2016.3774%205.8209%2017.4421%206.16403%2017.9606C6.94094%2019.1217%208.14863%2019.9258%209.5195%2020.195C11.0801%2020.5085%2012.8188%2020.2648%2014.1318%2019.3473C15.1047%2018.6673%2015.3727%2018.2725%2015.9267%2017.2819C16.8241%2015.5121%2016.3967%2013.5316%2016.2441%2011.6442C16.2247%2011.4043%2016.1772%2010.8032%2015.955%2010.6823C15.5703%2010.5916%2015.1103%2011.0915%2014.9013%2011.3747C14.8058%2012.1456%2014.8548%2012.899%2014.8808%2013.6725C14.9036%2014.3491%2014.979%2014.9579%2014.2168%2015.2184C13.0143%2014.9531%2013.3798%2014.1651%2013.2724%2013.2438C13.0766%2011.5645%2013.1952%207.84899%2012.2187%206.50552C12.0063%206.39593%2011.8598%206.35441%2011.6279%206.29556C11.2456%206.3937%2011.0664%206.49764%2010.8252%206.83755C10.826%207.52781%2011.0772%208.09418%2011.1601%208.75552C11.296%209.96436%2011.4554%2011.2031%2011.4472%2012.4196C11.4402%2013.4156%209.94736%2013.3695%209.90329%2012.5114C9.80551%2010.594%209.27439%208.78583%208.98825%206.8981C8.84693%205.96551%208.82536%205.2274%207.65329%205.28287ZM18.79%2011.0602C18.3666%2011.1286%2018.1324%2011.2288%2017.8457%2011.5719C17.8416%2012.006%2017.944%2012.8819%2018%2013.3678C18.1526%2014.6926%2018.0601%2016.0194%2017.6699%2017.2985C17.5713%2017.6217%2017.2346%2018.1239%2017.0879%2018.4733C17.1733%2018.3779%2017.2854%2018.259%2017.3603%2018.1588C17.7942%2017.613%2018.0218%2017.3011%2018.2988%2016.6364C18.4293%2016.3174%2018.5396%2015.9898%2018.6289%2015.6569C18.7615%2015.1552%2018.8619%2014.597%2018.9638%2014.0895C19.1437%2013.1941%2019.3738%2012.2827%2019.416%2011.3708C19.4287%2011.0806%2018.9619%2011.0667%2018.79%2011.0602ZM15.6006%205.99088C15.3568%206.09677%2014.9873%206.2966%2014.9345%206.55826C14.7769%207.34556%2014.5456%208.7319%2014.5664%209.49088C14.8154%209.39809%2015.0902%209.28813%2015.3457%209.22525C15.6499%209.18296%2015.9353%209.14924%2016.2431%209.14322C16.291%208.79009%2016.3293%208.44362%2016.3818%208.09048C16.4534%207.6096%2016.6054%206.9758%2016.5908%206.49869C16.3227%206.07678%2016.0915%205.97202%2015.6006%205.99088ZM21.0615%207.0065C21.6953%207.12329%2021.9585%207.85598%2021.4785%208.29068C21.118%208.617%2020.8665%208.63861%2020.4746%208.63638C19.7722%208.50674%2019.6929%208.11655%2019.7959%207.48795C20.2895%207.07061%2020.4128%207.02325%2021.0498%207.00845C21.0537%207.00789%2021.0576%207.00707%2021.0615%207.0065ZM19.5127%204.57584C20.3899%204.65155%2020.4491%205.15673%2020.2412%205.88541C20.007%206.11731%2019.757%206.3455%2019.4375%206.44205C19.0358%206.39425%2018.9416%206.32032%2018.6582%206.04849C18.5562%205.25112%2018.7461%204.8368%2019.5127%204.57584ZM12.4502%204.19107C12.2196%204.29653%2012.0348%204.53157%2011.8662%204.72232C12.5314%204.92175%2012.7055%204.93493%2013.2549%205.37369L13.498%205.56998C13.512%205.35527%2013.5375%205.09491%2013.542%204.88443C13.3625%204.57804%2013.2165%204.3764%2012.8994%204.18619C12.7541%204.18732%2012.5938%204.18576%2012.4502%204.19107Z%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_3861_2885%22%3E%0A%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A";
|
|
17428
17427
|
|
|
17429
17428
|
// agent-gui/agentGuiNode/composer/AgentComposerChrome.tsx
|
|
17430
17429
|
import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
17431
17430
|
var USAGE_POPOVER_HOVER_DELAY_MS = 120;
|
|
17432
|
-
var HANDOFF_LOTTIE_PLAYER_SCRIPT_SRC = "https://unpkg.com/@lottiefiles/dotlottie-wc@0.9.14/dist/dotlottie-wc.js";
|
|
17433
|
-
var HANDOFF_LOTTIE_ANIMATION_SRC = "https://lottie.host/03d75946-52e5-4ccf-97df-174919a13ced/Av6piqVmPa.lottie";
|
|
17434
17431
|
function agentUsageChipLevel(percentUsed) {
|
|
17435
17432
|
if (percentUsed >= USAGE_CRITICAL_PERCENT) {
|
|
17436
17433
|
return "critical";
|
|
@@ -17711,70 +17708,35 @@ function AgentComposerMaskIcon({
|
|
|
17711
17708
|
);
|
|
17712
17709
|
}
|
|
17713
17710
|
var HANDOFF_SELECT_IDLE_VALUE = "__agent-handoff-idle__";
|
|
17714
|
-
function
|
|
17715
|
-
|
|
17716
|
-
return
|
|
17717
|
-
|
|
17718
|
-
|
|
17719
|
-
|
|
17720
|
-
|
|
17721
|
-
|
|
17722
|
-
|
|
17723
|
-
|
|
17724
|
-
|
|
17725
|
-
|
|
17726
|
-
|
|
17727
|
-
const existingScript = document.querySelector(
|
|
17728
|
-
'script[data-agent-gui-handoff-lottie="true"]'
|
|
17729
|
-
);
|
|
17730
|
-
const script = existingScript ?? document.createElement("script");
|
|
17731
|
-
const handleLoad = () => {
|
|
17732
|
-
resolve(Boolean(window.customElements?.get("dotlottie-wc")));
|
|
17733
|
-
};
|
|
17734
|
-
const handleError = () => {
|
|
17735
|
-
resolve(false);
|
|
17736
|
-
};
|
|
17737
|
-
script.addEventListener("load", handleLoad, { once: true });
|
|
17738
|
-
script.addEventListener("error", handleError, { once: true });
|
|
17739
|
-
if (!existingScript) {
|
|
17740
|
-
script.dataset.agentGuiHandoffLottie = "true";
|
|
17741
|
-
script.src = HANDOFF_LOTTIE_PLAYER_SCRIPT_SRC;
|
|
17742
|
-
script.type = "module";
|
|
17743
|
-
document.head.append(script);
|
|
17711
|
+
function AgentComposerHandoffAnimation() {
|
|
17712
|
+
const [isLoaded, setIsLoaded] = useState10(false);
|
|
17713
|
+
return /* @__PURE__ */ jsx21(
|
|
17714
|
+
"img",
|
|
17715
|
+
{
|
|
17716
|
+
alt: "",
|
|
17717
|
+
"aria-hidden": "true",
|
|
17718
|
+
className: AgentGUINode_styles_default.composerHandoffAnimatedIcon,
|
|
17719
|
+
"data-active": isLoaded ? "true" : void 0,
|
|
17720
|
+
draggable: false,
|
|
17721
|
+
src: handoff_clap_default,
|
|
17722
|
+
onLoad: () => {
|
|
17723
|
+
setIsLoaded(true);
|
|
17744
17724
|
}
|
|
17745
|
-
}
|
|
17746
|
-
|
|
17747
|
-
};
|
|
17725
|
+
}
|
|
17726
|
+
);
|
|
17748
17727
|
}
|
|
17749
|
-
var loadHandoffLottiePlayer = createHandoffLottiePlayerLoader();
|
|
17750
17728
|
function AgentComposerHandoffIcon({
|
|
17751
17729
|
disabled,
|
|
17752
17730
|
isPlaying
|
|
17753
17731
|
}) {
|
|
17754
|
-
const
|
|
17755
|
-
const shouldLoadAnimation = !disabled && isPlaying;
|
|
17756
|
-
useEffect17(() => {
|
|
17757
|
-
if (!shouldLoadAnimation) {
|
|
17758
|
-
return;
|
|
17759
|
-
}
|
|
17760
|
-
let isMounted = true;
|
|
17761
|
-
void loadHandoffLottiePlayer().then((isReady) => {
|
|
17762
|
-
if (isMounted) {
|
|
17763
|
-
setIsLottieReady(isReady);
|
|
17764
|
-
}
|
|
17765
|
-
});
|
|
17766
|
-
return () => {
|
|
17767
|
-
isMounted = false;
|
|
17768
|
-
};
|
|
17769
|
-
}, [shouldLoadAnimation]);
|
|
17770
|
-
const shouldShowAnimation = shouldLoadAnimation && isLottieReady;
|
|
17732
|
+
const shouldPlayAnimation = !disabled && isPlaying;
|
|
17771
17733
|
return /* @__PURE__ */ jsxs14(
|
|
17772
17734
|
"span",
|
|
17773
17735
|
{
|
|
17774
17736
|
"aria-hidden": "true",
|
|
17775
17737
|
className: AgentGUINode_styles_default.composerHandoffIcon,
|
|
17776
17738
|
"data-disabled": disabled ? "true" : void 0,
|
|
17777
|
-
"data-playing":
|
|
17739
|
+
"data-playing": shouldPlayAnimation ? "true" : void 0,
|
|
17778
17740
|
children: [
|
|
17779
17741
|
/* @__PURE__ */ jsx21(
|
|
17780
17742
|
"span",
|
|
@@ -17792,16 +17754,7 @@ function AgentComposerHandoffIcon({
|
|
|
17792
17754
|
}
|
|
17793
17755
|
}
|
|
17794
17756
|
),
|
|
17795
|
-
|
|
17796
|
-
"dotlottie-wc",
|
|
17797
|
-
{
|
|
17798
|
-
autoplay: true,
|
|
17799
|
-
className: AgentGUINode_styles_default.composerHandoffAnimatedIcon,
|
|
17800
|
-
"data-active": "true",
|
|
17801
|
-
loop: true,
|
|
17802
|
-
src: HANDOFF_LOTTIE_ANIMATION_SRC
|
|
17803
|
-
}
|
|
17804
|
-
) : null
|
|
17757
|
+
shouldPlayAnimation ? /* @__PURE__ */ jsx21(AgentComposerHandoffAnimation, {}) : null
|
|
17805
17758
|
]
|
|
17806
17759
|
}
|
|
17807
17760
|
);
|
|
@@ -17956,7 +17909,6 @@ function useComposerSlashActions(input) {
|
|
|
17956
17909
|
}, []);
|
|
17957
17910
|
const settingsControlsDisabled = isSendingTurn || isSubmittingPrompt || showStopButton;
|
|
17958
17911
|
const permissionModeControlsDisabled = resolvePermissionModeControlsDisabled({
|
|
17959
|
-
changeDuringTurnSupported: composerSettings.permissionModeChangeDuringTurn,
|
|
17960
17912
|
isSendingTurn,
|
|
17961
17913
|
isSubmittingPrompt,
|
|
17962
17914
|
showStopButton
|
|
@@ -18379,7 +18331,8 @@ function useComposerMentionActions(input) {
|
|
|
18379
18331
|
} = input;
|
|
18380
18332
|
const selectFileMention = useCallback35(
|
|
18381
18333
|
(entry) => {
|
|
18382
|
-
if (entry.kind === "file" && entry.mentionNavigation
|
|
18334
|
+
if (entry.kind === "file" && entry.mentionNavigation) {
|
|
18335
|
+
mentionControllerRef.current?.selectFileMentionNavigationItem(entry);
|
|
18383
18336
|
return;
|
|
18384
18337
|
}
|
|
18385
18338
|
fileMentionSuggestion?.command(entry);
|
|
@@ -19555,7 +19508,7 @@ import {
|
|
|
19555
19508
|
PopoverAnchor as PopoverAnchor2,
|
|
19556
19509
|
Tooltip as Tooltip4,
|
|
19557
19510
|
TooltipContent as TooltipContent4,
|
|
19558
|
-
TooltipProvider as
|
|
19511
|
+
TooltipProvider as TooltipProvider4,
|
|
19559
19512
|
TooltipTrigger as TooltipTrigger4
|
|
19560
19513
|
} from "@tutti-os/ui-system";
|
|
19561
19514
|
|
|
@@ -20112,6 +20065,7 @@ import {
|
|
|
20112
20065
|
SelectTrigger,
|
|
20113
20066
|
Tooltip as Tooltip2,
|
|
20114
20067
|
TooltipContent as TooltipContent2,
|
|
20068
|
+
TooltipProvider as TooltipProvider2,
|
|
20115
20069
|
TooltipTrigger as TooltipTrigger2,
|
|
20116
20070
|
cn as cn3
|
|
20117
20071
|
} from "@tutti-os/ui-system";
|
|
@@ -20806,6 +20760,7 @@ import { Fragment as Fragment7, jsx as jsx27, jsxs as jsxs20 } from "react/jsx-r
|
|
|
20806
20760
|
function AgentPermissionModeDropdown({
|
|
20807
20761
|
composerSettings,
|
|
20808
20762
|
disabled = false,
|
|
20763
|
+
disabledTooltip,
|
|
20809
20764
|
onLinkAction,
|
|
20810
20765
|
previewMode = false,
|
|
20811
20766
|
provider,
|
|
@@ -20826,6 +20781,7 @@ function AgentPermissionModeDropdown({
|
|
|
20826
20781
|
const selectedOption = permissionOptions.find((option) => option.value === selectedValue) ?? null;
|
|
20827
20782
|
const triggerLabel = isLoading ? labels.loadingOptions : selectedOption?.label ?? selectedValue?.trim() ?? labels.permissionLabel;
|
|
20828
20783
|
const triggerTone = selectDisabled ? void 0 : resolvePermissionModeTriggerTone(selectedValue);
|
|
20784
|
+
const selectDisabledTooltip = disabled ? disabledTooltip : isLoading ? labels.loadingOptions : void 0;
|
|
20829
20785
|
const commitPermissionModeId = (permissionModeId) => {
|
|
20830
20786
|
if (selectDisabled) {
|
|
20831
20787
|
return;
|
|
@@ -20893,14 +20849,14 @@ function AgentPermissionModeDropdown({
|
|
|
20893
20849
|
onOpenChange: setIsSelectOpen,
|
|
20894
20850
|
onValueChange: applyPermissionModeId,
|
|
20895
20851
|
children: [
|
|
20896
|
-
|
|
20897
|
-
//
|
|
20898
|
-
//
|
|
20899
|
-
//
|
|
20900
|
-
/* @__PURE__ */ jsxs20(Tooltip2, { children: [
|
|
20852
|
+
selectDisabledTooltip ? (
|
|
20853
|
+
// Disabled controls do not receive pointer events. Target the tooltip
|
|
20854
|
+
// at a focusable wrapper span so hover/focus reliably surfaces the
|
|
20855
|
+
// reason, both during loading and while a turn is active.
|
|
20856
|
+
/* @__PURE__ */ jsx27(TooltipProvider2, { delayDuration: 120, children: /* @__PURE__ */ jsxs20(Tooltip2, { children: [
|
|
20901
20857
|
/* @__PURE__ */ jsx27(TooltipTrigger2, { asChild: true, children: /* @__PURE__ */ jsx27("span", { className: "inline-flex", tabIndex: 0, children: selectTrigger }) }),
|
|
20902
|
-
/* @__PURE__ */ jsx27(TooltipContent2, { side: "top", children:
|
|
20903
|
-
] })
|
|
20858
|
+
/* @__PURE__ */ jsx27(TooltipContent2, { side: "top", children: selectDisabledTooltip })
|
|
20859
|
+
] }) })
|
|
20904
20860
|
) : selectTrigger,
|
|
20905
20861
|
isSelectOpen ? /* @__PURE__ */ jsx27(
|
|
20906
20862
|
SelectContent,
|
|
@@ -23711,7 +23667,7 @@ import {
|
|
|
23711
23667
|
SelectTrigger as SelectTrigger2,
|
|
23712
23668
|
Tooltip as Tooltip3,
|
|
23713
23669
|
TooltipContent as TooltipContent3,
|
|
23714
|
-
TooltipProvider as
|
|
23670
|
+
TooltipProvider as TooltipProvider3,
|
|
23715
23671
|
TooltipTrigger as TooltipTrigger3
|
|
23716
23672
|
} from "@tutti-os/ui-system";
|
|
23717
23673
|
|
|
@@ -23778,7 +23734,7 @@ function ComposerFooter({
|
|
|
23778
23734
|
return /* @__PURE__ */ jsx35(Fragment10, { children: /* @__PURE__ */ jsxs25("div", { className: AgentGUINode_styles_default.composerFooter, children: [
|
|
23779
23735
|
/* @__PURE__ */ jsxs25("div", { className: composerStyles.footerGroup, children: [
|
|
23780
23736
|
/* @__PURE__ */ jsxs25("div", { className: "inline-flex shrink-0 items-center gap-1", children: [
|
|
23781
|
-
previewMode ? /* @__PURE__ */ jsx35(
|
|
23737
|
+
previewMode ? /* @__PURE__ */ jsx35(TooltipProvider3, { delayDuration: 120, children: /* @__PURE__ */ jsxs25(Tooltip3, { children: [
|
|
23782
23738
|
/* @__PURE__ */ jsx35(TooltipTrigger3, { asChild: true, children: /* @__PURE__ */ jsx35(
|
|
23783
23739
|
"button",
|
|
23784
23740
|
{
|
|
@@ -23837,7 +23793,7 @@ function ComposerFooter({
|
|
|
23837
23793
|
)
|
|
23838
23794
|
}
|
|
23839
23795
|
),
|
|
23840
|
-
/* @__PURE__ */ jsx35(
|
|
23796
|
+
/* @__PURE__ */ jsx35(TooltipProvider3, { delayDuration: 120, children: /* @__PURE__ */ jsxs25(Tooltip3, { children: [
|
|
23841
23797
|
/* @__PURE__ */ jsx35(TooltipTrigger3, { asChild: true, children: /* @__PURE__ */ jsx35(
|
|
23842
23798
|
"button",
|
|
23843
23799
|
{
|
|
@@ -24167,6 +24123,7 @@ function ComposerFooter({
|
|
|
24167
24123
|
{
|
|
24168
24124
|
composerSettings,
|
|
24169
24125
|
disabled: permissionModeControlsDisabled,
|
|
24126
|
+
disabledTooltip: permissionModeControlsDisabled ? labels.permissionModeChangeUnavailableDuringTurn : void 0,
|
|
24170
24127
|
onLinkAction,
|
|
24171
24128
|
previewMode,
|
|
24172
24129
|
provider,
|
|
@@ -24758,7 +24715,7 @@ function AgentComposerView(input) {
|
|
|
24758
24715
|
{
|
|
24759
24716
|
className: AgentGUINode_styles_default.composerPromptTips,
|
|
24760
24717
|
"data-testid": "agent-gui-prompt-tips",
|
|
24761
|
-
children: !previewMode && input.isPromptTipOverflowing && promptTipNode ? /* @__PURE__ */ jsx36(
|
|
24718
|
+
children: !previewMode && input.isPromptTipOverflowing && promptTipNode ? /* @__PURE__ */ jsx36(TooltipProvider4, { delayDuration: 0, children: /* @__PURE__ */ jsxs26(Tooltip4, { children: [
|
|
24762
24719
|
/* @__PURE__ */ jsx36(TooltipTrigger4, { asChild: true, children: promptTipNode }),
|
|
24763
24720
|
/* @__PURE__ */ jsx36(
|
|
24764
24721
|
TooltipContent4,
|
|
@@ -26178,8 +26135,61 @@ function targetSetupPhaseLabel(t, phase) {
|
|
|
26178
26135
|
}
|
|
26179
26136
|
}
|
|
26180
26137
|
|
|
26181
|
-
// agent-gui/agentGuiNode/view/
|
|
26138
|
+
// agent-gui/agentGuiNode/view/AgentGUIAgentTargetName.tsx
|
|
26139
|
+
import { cn as cn5 } from "@tutti-os/ui-system";
|
|
26182
26140
|
import { Fragment as Fragment12, jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
26141
|
+
function projectAgentGUIAgentTargetName(input) {
|
|
26142
|
+
const agentLabel = input.target.label.trim();
|
|
26143
|
+
const ownerLabel = input.target.ownership === "shared" ? input.target.ownerLabel?.trim() || null : null;
|
|
26144
|
+
const ownerSeparator = ownerLabel ? input.ownerSeparator : "";
|
|
26145
|
+
return {
|
|
26146
|
+
agentLabel,
|
|
26147
|
+
fullLabel: ownerLabel ? `${ownerLabel}${ownerSeparator}${agentLabel}` : agentLabel,
|
|
26148
|
+
ownerLabel,
|
|
26149
|
+
ownerSeparator
|
|
26150
|
+
};
|
|
26151
|
+
}
|
|
26152
|
+
function AgentGUIAgentTargetName({
|
|
26153
|
+
className,
|
|
26154
|
+
ownerSeparator,
|
|
26155
|
+
target
|
|
26156
|
+
}) {
|
|
26157
|
+
const presentation = projectAgentGUIAgentTargetName({
|
|
26158
|
+
ownerSeparator,
|
|
26159
|
+
target
|
|
26160
|
+
});
|
|
26161
|
+
return /* @__PURE__ */ jsx42(
|
|
26162
|
+
"span",
|
|
26163
|
+
{
|
|
26164
|
+
className: cn5("flex min-w-0 max-w-full items-baseline", className),
|
|
26165
|
+
title: presentation.fullLabel,
|
|
26166
|
+
children: presentation.ownerLabel ? /* @__PURE__ */ jsxs30(Fragment12, { children: [
|
|
26167
|
+
/* @__PURE__ */ jsx42(
|
|
26168
|
+
"span",
|
|
26169
|
+
{
|
|
26170
|
+
className: "min-w-0 flex-1 truncate",
|
|
26171
|
+
"data-testid": "agent-target-owner-name",
|
|
26172
|
+
children: presentation.ownerLabel
|
|
26173
|
+
}
|
|
26174
|
+
),
|
|
26175
|
+
/* @__PURE__ */ jsxs30(
|
|
26176
|
+
"span",
|
|
26177
|
+
{
|
|
26178
|
+
className: "shrink-0 whitespace-pre",
|
|
26179
|
+
"data-testid": "agent-target-name-suffix",
|
|
26180
|
+
children: [
|
|
26181
|
+
presentation.ownerSeparator,
|
|
26182
|
+
presentation.agentLabel
|
|
26183
|
+
]
|
|
26184
|
+
}
|
|
26185
|
+
)
|
|
26186
|
+
] }) : /* @__PURE__ */ jsx42("span", { className: "min-w-0 truncate", "data-testid": "agent-target-name", children: presentation.agentLabel })
|
|
26187
|
+
}
|
|
26188
|
+
);
|
|
26189
|
+
}
|
|
26190
|
+
|
|
26191
|
+
// agent-gui/agentGuiNode/view/AgentGUIEmptyState.tsx
|
|
26192
|
+
import { Fragment as Fragment13, jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
26183
26193
|
function resolveAgentGUIHeroIconUrl2(provider) {
|
|
26184
26194
|
const normalizedProvider = normalizeManagedAgentProvider(provider);
|
|
26185
26195
|
return MANAGED_AGENT_ICON_URLS[normalizedProvider] ?? MANAGED_AGENT_ICON_FALLBACK_URL;
|
|
@@ -26208,7 +26218,10 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
|
|
|
26208
26218
|
}) {
|
|
26209
26219
|
"use memo";
|
|
26210
26220
|
const runtimeProviderLabel = labels.emptyProviderForProvider?.(provider) ?? labels.emptyProvider ?? "";
|
|
26211
|
-
const providerLabel = selectedAgentTarget
|
|
26221
|
+
const providerLabel = selectedAgentTarget ? projectAgentGUIAgentTargetName({
|
|
26222
|
+
ownerSeparator: labels.sharedAgentOwnerSeparator,
|
|
26223
|
+
target: selectedAgentTarget
|
|
26224
|
+
}).fullLabel : runtimeProviderLabel;
|
|
26212
26225
|
const baseLabel = labels.emptyForProvider?.(provider) ?? labels.empty;
|
|
26213
26226
|
const emptyLabel = runtimeProviderLabel ? baseLabel.replace(runtimeProviderLabel, providerLabel) : baseLabel;
|
|
26214
26227
|
const avatarPresentations = useMemo30(
|
|
@@ -26221,18 +26234,18 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
|
|
|
26221
26234
|
[agentTargets, provider, providerLabel, selectedAgentTarget]
|
|
26222
26235
|
);
|
|
26223
26236
|
const carouselMountedExternally = avatarPresentations.length > 1;
|
|
26224
|
-
return /* @__PURE__ */
|
|
26237
|
+
return /* @__PURE__ */ jsx43(
|
|
26225
26238
|
AgentGUIEmptyHeroCarouselStage,
|
|
26226
26239
|
{
|
|
26227
26240
|
activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
|
|
26228
26241
|
items: avatarPresentations,
|
|
26229
26242
|
onProviderSelect,
|
|
26230
26243
|
providerSelectLabel: labels.providerSwitchLabel,
|
|
26231
|
-
children: /* @__PURE__ */
|
|
26244
|
+
children: /* @__PURE__ */ jsx43(
|
|
26232
26245
|
AgentTargetSetupGate,
|
|
26233
26246
|
{
|
|
26234
26247
|
carouselMountedExternally,
|
|
26235
|
-
children: providerReadinessGate ? /* @__PURE__ */
|
|
26248
|
+
children: providerReadinessGate ? /* @__PURE__ */ jsx43(
|
|
26236
26249
|
AgentGUIProviderReadinessGatePane,
|
|
26237
26250
|
{
|
|
26238
26251
|
provider,
|
|
@@ -26248,7 +26261,7 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
|
|
|
26248
26261
|
selectedAgentTarget,
|
|
26249
26262
|
labels
|
|
26250
26263
|
}
|
|
26251
|
-
) : /* @__PURE__ */
|
|
26264
|
+
) : /* @__PURE__ */ jsx43(
|
|
26252
26265
|
AgentGUIEmptyHeroPane,
|
|
26253
26266
|
{
|
|
26254
26267
|
...heroProps,
|
|
@@ -26260,7 +26273,8 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
|
|
|
26260
26273
|
onProviderSelect,
|
|
26261
26274
|
agentTargets,
|
|
26262
26275
|
selectedAgentTarget,
|
|
26263
|
-
providerSelectLabel: labels.providerSwitchLabel
|
|
26276
|
+
providerSelectLabel: labels.providerSwitchLabel,
|
|
26277
|
+
sharedAgentOwnerSeparator: labels.sharedAgentOwnerSeparator
|
|
26264
26278
|
}
|
|
26265
26279
|
)
|
|
26266
26280
|
}
|
|
@@ -26286,6 +26300,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
26286
26300
|
chromeLabels,
|
|
26287
26301
|
composerProps,
|
|
26288
26302
|
providerSelectLabel,
|
|
26303
|
+
sharedAgentOwnerSeparator,
|
|
26289
26304
|
suggestions,
|
|
26290
26305
|
suggestionsCloseLabel,
|
|
26291
26306
|
onSelectSuggestion,
|
|
@@ -26301,13 +26316,13 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
26301
26316
|
const heroIconAnimationKey = heroAvatarPresentations.map(
|
|
26302
26317
|
(avatar) => `${avatar.agentTargetId}:${avatar.iconUrl}:${avatar.badge?.iconUrl ?? ""}`
|
|
26303
26318
|
).join("|");
|
|
26304
|
-
return /* @__PURE__ */
|
|
26305
|
-
/* @__PURE__ */
|
|
26319
|
+
return /* @__PURE__ */ jsx43("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs31("div", { className: AgentGUINode_styles_default.emptyHeroBody, children: [
|
|
26320
|
+
/* @__PURE__ */ jsx43(
|
|
26306
26321
|
"div",
|
|
26307
26322
|
{
|
|
26308
26323
|
className: AgentGUINode_styles_default.emptyHeroIconSlot,
|
|
26309
26324
|
"data-carousel-placeholder": carouselMountedExternally || void 0,
|
|
26310
|
-
children: carouselMountedExternally ? null : heroAvatarPresentations.length > 1 ? /* @__PURE__ */
|
|
26325
|
+
children: carouselMountedExternally ? null : heroAvatarPresentations.length > 1 ? /* @__PURE__ */ jsx43(
|
|
26311
26326
|
AgentGUIHeroAgentCarousel,
|
|
26312
26327
|
{
|
|
26313
26328
|
activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
|
|
@@ -26315,7 +26330,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
26315
26330
|
onProviderSelect,
|
|
26316
26331
|
providerSelectLabel
|
|
26317
26332
|
}
|
|
26318
|
-
) : /* @__PURE__ */
|
|
26333
|
+
) : /* @__PURE__ */ jsx43(
|
|
26319
26334
|
AgentGUIAgentAvatarVisual,
|
|
26320
26335
|
{
|
|
26321
26336
|
className: AgentGUINode_styles_default.emptyHeroIconEffect,
|
|
@@ -26325,7 +26340,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
26325
26340
|
)
|
|
26326
26341
|
}
|
|
26327
26342
|
),
|
|
26328
|
-
/* @__PURE__ */
|
|
26343
|
+
/* @__PURE__ */ jsx43("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx43(
|
|
26329
26344
|
EmptyHeroTitle,
|
|
26330
26345
|
{
|
|
26331
26346
|
label: emptyLabel,
|
|
@@ -26333,10 +26348,11 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
26333
26348
|
providerSelectLabel,
|
|
26334
26349
|
agentTargets,
|
|
26335
26350
|
selectedAgentTarget,
|
|
26336
|
-
onProviderSelect
|
|
26351
|
+
onProviderSelect,
|
|
26352
|
+
sharedAgentOwnerSeparator
|
|
26337
26353
|
}
|
|
26338
26354
|
) }),
|
|
26339
|
-
inlineNoticeChrome ? /* @__PURE__ */
|
|
26355
|
+
inlineNoticeChrome ? /* @__PURE__ */ jsx43(
|
|
26340
26356
|
AgentSessionChrome,
|
|
26341
26357
|
{
|
|
26342
26358
|
chrome: inlineNoticeChrome,
|
|
@@ -26348,8 +26364,8 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
26348
26364
|
labels: chromeLabels
|
|
26349
26365
|
}
|
|
26350
26366
|
) : null,
|
|
26351
|
-
/* @__PURE__ */
|
|
26352
|
-
/* @__PURE__ */
|
|
26367
|
+
/* @__PURE__ */ jsx43(AgentComposer, { ...composerProps }),
|
|
26368
|
+
/* @__PURE__ */ jsx43(
|
|
26353
26369
|
AgentHomeSuggestions,
|
|
26354
26370
|
{
|
|
26355
26371
|
categories: suggestions,
|
|
@@ -26395,20 +26411,20 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
26395
26411
|
const titleLabel = gate.status === "not_installed" || gate.status === "auth_required" ? emptyLabel : content.title;
|
|
26396
26412
|
const action = resolveAgentGUIProviderReadinessAction(gate.status);
|
|
26397
26413
|
const pendingLabel = pendingAction === "install" ? labels.providerGatePendingInstall : pendingAction === "login" ? labels.providerGatePendingLogin : pendingAction === "refresh" ? labels.providerGatePendingRefresh : null;
|
|
26398
|
-
return /* @__PURE__ */
|
|
26414
|
+
return /* @__PURE__ */ jsx43("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs31(
|
|
26399
26415
|
"div",
|
|
26400
26416
|
{
|
|
26401
|
-
className:
|
|
26417
|
+
className: cn6(AgentGUINode_styles_default.emptyHeroBody, AgentGUINode_styles_default.emptyProviderGate),
|
|
26402
26418
|
"data-testid": "agent-gui-provider-readiness-gate",
|
|
26403
26419
|
role: "status",
|
|
26404
26420
|
children: [
|
|
26405
|
-
carouselMountedExternally ? /* @__PURE__ */
|
|
26421
|
+
carouselMountedExternally ? /* @__PURE__ */ jsx43(
|
|
26406
26422
|
"div",
|
|
26407
26423
|
{
|
|
26408
26424
|
"aria-hidden": "true",
|
|
26409
26425
|
className: AgentGUINode_styles_default.emptyHeroCarouselPlaceholder
|
|
26410
26426
|
}
|
|
26411
|
-
) : heroAvatarPresentations.length > 1 ? /* @__PURE__ */
|
|
26427
|
+
) : heroAvatarPresentations.length > 1 ? /* @__PURE__ */ jsx43(
|
|
26412
26428
|
AgentGUIHeroAgentCarousel,
|
|
26413
26429
|
{
|
|
26414
26430
|
activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
|
|
@@ -26416,14 +26432,14 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
26416
26432
|
onProviderSelect,
|
|
26417
26433
|
providerSelectLabel
|
|
26418
26434
|
}
|
|
26419
|
-
) : /* @__PURE__ */
|
|
26435
|
+
) : /* @__PURE__ */ jsx43(
|
|
26420
26436
|
AgentGUIAgentAvatarVisual,
|
|
26421
26437
|
{
|
|
26422
26438
|
className: AgentGUINode_styles_default.emptyHeroIconEffect,
|
|
26423
26439
|
presentation: heroAvatarPresentations[0]
|
|
26424
26440
|
}
|
|
26425
26441
|
),
|
|
26426
|
-
/* @__PURE__ */
|
|
26442
|
+
/* @__PURE__ */ jsx43("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx43(
|
|
26427
26443
|
EmptyHeroTitle,
|
|
26428
26444
|
{
|
|
26429
26445
|
label: titleLabel,
|
|
@@ -26431,11 +26447,12 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
26431
26447
|
providerSelectLabel,
|
|
26432
26448
|
agentTargets,
|
|
26433
26449
|
selectedAgentTarget,
|
|
26434
|
-
onProviderSelect
|
|
26450
|
+
onProviderSelect,
|
|
26451
|
+
sharedAgentOwnerSeparator: labels.sharedAgentOwnerSeparator
|
|
26435
26452
|
}
|
|
26436
26453
|
) }),
|
|
26437
|
-
/* @__PURE__ */
|
|
26438
|
-
pendingLabel && !action ? /* @__PURE__ */
|
|
26454
|
+
/* @__PURE__ */ jsx43("p", { className: AgentGUINode_styles_default.emptyProviderGateDescription, children: content.description }),
|
|
26455
|
+
pendingLabel && !action ? /* @__PURE__ */ jsx43(
|
|
26439
26456
|
"div",
|
|
26440
26457
|
{
|
|
26441
26458
|
className: AgentGUINode_styles_default.emptyProviderGateStatus,
|
|
@@ -26443,11 +26460,11 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
26443
26460
|
children: pendingLabel
|
|
26444
26461
|
}
|
|
26445
26462
|
) : null,
|
|
26446
|
-
action ? /* @__PURE__ */
|
|
26463
|
+
action ? /* @__PURE__ */ jsx43(
|
|
26447
26464
|
Button,
|
|
26448
26465
|
{
|
|
26449
26466
|
type: "button",
|
|
26450
|
-
className:
|
|
26467
|
+
className: cn6(
|
|
26451
26468
|
AgentGUINode_styles_default.emptyProviderGateAction,
|
|
26452
26469
|
"nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]"
|
|
26453
26470
|
),
|
|
@@ -26462,11 +26479,11 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
26462
26479
|
},
|
|
26463
26480
|
children: isPending && pendingLabel ? pendingLabel : content.actionLabel
|
|
26464
26481
|
}
|
|
26465
|
-
) : content.actionLabel ? /* @__PURE__ */
|
|
26482
|
+
) : content.actionLabel ? /* @__PURE__ */ jsx43(
|
|
26466
26483
|
Button,
|
|
26467
26484
|
{
|
|
26468
26485
|
type: "button",
|
|
26469
|
-
className:
|
|
26486
|
+
className: cn6(
|
|
26470
26487
|
AgentGUINode_styles_default.emptyProviderGateAction,
|
|
26471
26488
|
"nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]"
|
|
26472
26489
|
),
|
|
@@ -26485,7 +26502,7 @@ function AgentGUIUnifiedProviderIcon({
|
|
|
26485
26502
|
presentation
|
|
26486
26503
|
}) {
|
|
26487
26504
|
const iconUrl = presentation?.iconUrl?.trim() || agentColorfulUrl;
|
|
26488
|
-
return /* @__PURE__ */
|
|
26505
|
+
return /* @__PURE__ */ jsx43("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailAvatar, children: /* @__PURE__ */ jsx43(
|
|
26489
26506
|
"img",
|
|
26490
26507
|
{
|
|
26491
26508
|
alt: "",
|
|
@@ -26500,7 +26517,7 @@ function AgentGUIProviderIconVisual({
|
|
|
26500
26517
|
icon,
|
|
26501
26518
|
imageClassName
|
|
26502
26519
|
}) {
|
|
26503
|
-
return /* @__PURE__ */
|
|
26520
|
+
return /* @__PURE__ */ jsx43(
|
|
26504
26521
|
"img",
|
|
26505
26522
|
{
|
|
26506
26523
|
alt: "",
|
|
@@ -26516,23 +26533,23 @@ function AgentGUIAgentAvatarVisual({
|
|
|
26516
26533
|
imageClassName,
|
|
26517
26534
|
presentation
|
|
26518
26535
|
}) {
|
|
26519
|
-
return /* @__PURE__ */
|
|
26536
|
+
return /* @__PURE__ */ jsxs31(
|
|
26520
26537
|
"span",
|
|
26521
26538
|
{
|
|
26522
26539
|
"aria-hidden": "true",
|
|
26523
|
-
className:
|
|
26540
|
+
className: cn6(AgentGUINode_styles_default.agentAvatar, className),
|
|
26524
26541
|
"data-agent-target-id": presentation.agentTargetId,
|
|
26525
26542
|
children: [
|
|
26526
|
-
/* @__PURE__ */
|
|
26543
|
+
/* @__PURE__ */ jsx43(
|
|
26527
26544
|
"img",
|
|
26528
26545
|
{
|
|
26529
26546
|
alt: "",
|
|
26530
|
-
className:
|
|
26547
|
+
className: cn6(AgentGUINode_styles_default.agentAvatarImage, imageClassName),
|
|
26531
26548
|
draggable: false,
|
|
26532
26549
|
src: presentation.iconUrl
|
|
26533
26550
|
}
|
|
26534
26551
|
),
|
|
26535
|
-
presentation.badge?.iconUrl ? /* @__PURE__ */
|
|
26552
|
+
presentation.badge?.iconUrl ? /* @__PURE__ */ jsx43("span", { className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx43(
|
|
26536
26553
|
"img",
|
|
26537
26554
|
{
|
|
26538
26555
|
alt: "",
|
|
@@ -26551,19 +26568,20 @@ function EmptyHeroTitle({
|
|
|
26551
26568
|
providerSelectLabel,
|
|
26552
26569
|
agentTargets = [],
|
|
26553
26570
|
selectedAgentTarget = null,
|
|
26554
|
-
onProviderSelect
|
|
26571
|
+
onProviderSelect,
|
|
26572
|
+
sharedAgentOwnerSeparator
|
|
26555
26573
|
}) {
|
|
26556
26574
|
const providerStart = providerLabel ? label.indexOf(providerLabel) : -1;
|
|
26557
26575
|
if (!shouldEmphasizeEmptyHeroProvider(label) || providerStart < 0) {
|
|
26558
|
-
return /* @__PURE__ */
|
|
26576
|
+
return /* @__PURE__ */ jsx43(Fragment13, { children: label });
|
|
26559
26577
|
}
|
|
26560
26578
|
const providerEnd = providerStart + providerLabel.length;
|
|
26561
26579
|
const selectedAgentTargetId = selectedAgentTarget?.targetId ?? `local:${selectedAgentTarget?.provider ?? ""}`;
|
|
26562
26580
|
const canSwitchProvider = agentTargets.length > 1 && selectedAgentTarget && onProviderSelect;
|
|
26563
26581
|
const providerName = label.slice(providerStart, providerEnd);
|
|
26564
|
-
return /* @__PURE__ */
|
|
26582
|
+
return /* @__PURE__ */ jsxs31(Fragment13, { children: [
|
|
26565
26583
|
label.slice(0, providerStart),
|
|
26566
|
-
canSwitchProvider ? /* @__PURE__ */
|
|
26584
|
+
canSwitchProvider ? /* @__PURE__ */ jsxs31(
|
|
26567
26585
|
Select4,
|
|
26568
26586
|
{
|
|
26569
26587
|
value: selectedAgentTargetId,
|
|
@@ -26580,28 +26598,38 @@ function EmptyHeroTitle({
|
|
|
26580
26598
|
});
|
|
26581
26599
|
},
|
|
26582
26600
|
children: [
|
|
26583
|
-
/* @__PURE__ */
|
|
26601
|
+
/* @__PURE__ */ jsx43(
|
|
26584
26602
|
SelectTrigger4,
|
|
26585
26603
|
{
|
|
26586
26604
|
size: "sm",
|
|
26587
26605
|
"aria-label": providerSelectLabel,
|
|
26588
26606
|
title: providerSelectLabel,
|
|
26589
26607
|
className: AgentGUINode_styles_default.emptyHeroProviderSelect,
|
|
26590
|
-
children: /* @__PURE__ */
|
|
26608
|
+
children: /* @__PURE__ */ jsx43(
|
|
26609
|
+
AgentGUIAgentTargetName,
|
|
26610
|
+
{
|
|
26611
|
+
className: cn6(AgentGUINode_styles_default.emptyHeroProvider, "max-w-[240px]"),
|
|
26612
|
+
ownerSeparator: sharedAgentOwnerSeparator,
|
|
26613
|
+
target: selectedAgentTarget
|
|
26614
|
+
}
|
|
26615
|
+
)
|
|
26591
26616
|
}
|
|
26592
26617
|
),
|
|
26593
|
-
/* @__PURE__ */
|
|
26618
|
+
/* @__PURE__ */ jsx43(
|
|
26594
26619
|
SelectContent4,
|
|
26595
26620
|
{
|
|
26596
26621
|
align: "center",
|
|
26597
|
-
className:
|
|
26598
|
-
|
|
26622
|
+
className: cn6(
|
|
26623
|
+
AgentGUINode_styles_default.composerMenuContent,
|
|
26624
|
+
"min-w-[190px] max-w-[min(420px,calc(100vw-32px))]"
|
|
26625
|
+
),
|
|
26626
|
+
children: agentTargets.map((target) => /* @__PURE__ */ jsx43(
|
|
26599
26627
|
SelectItem4,
|
|
26600
26628
|
{
|
|
26601
26629
|
value: target.targetId,
|
|
26602
|
-
className:
|
|
26603
|
-
children: /* @__PURE__ */
|
|
26604
|
-
/* @__PURE__ */
|
|
26630
|
+
className: cn6(AgentGUINode_styles_default.composerMenuItem, "gap-2"),
|
|
26631
|
+
children: /* @__PURE__ */ jsxs31("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
26632
|
+
/* @__PURE__ */ jsx43(
|
|
26605
26633
|
"img",
|
|
26606
26634
|
{
|
|
26607
26635
|
alt: "",
|
|
@@ -26613,7 +26641,13 @@ function EmptyHeroTitle({
|
|
|
26613
26641
|
).iconUrl
|
|
26614
26642
|
}
|
|
26615
26643
|
),
|
|
26616
|
-
/* @__PURE__ */
|
|
26644
|
+
/* @__PURE__ */ jsx43(
|
|
26645
|
+
AgentGUIAgentTargetName,
|
|
26646
|
+
{
|
|
26647
|
+
ownerSeparator: sharedAgentOwnerSeparator,
|
|
26648
|
+
target
|
|
26649
|
+
}
|
|
26650
|
+
)
|
|
26617
26651
|
] })
|
|
26618
26652
|
},
|
|
26619
26653
|
`${target.provider}:${target.targetId}`
|
|
@@ -26622,7 +26656,14 @@ function EmptyHeroTitle({
|
|
|
26622
26656
|
)
|
|
26623
26657
|
]
|
|
26624
26658
|
}
|
|
26625
|
-
) : /* @__PURE__ */
|
|
26659
|
+
) : selectedAgentTarget ? /* @__PURE__ */ jsx43(
|
|
26660
|
+
AgentGUIAgentTargetName,
|
|
26661
|
+
{
|
|
26662
|
+
className: cn6(AgentGUINode_styles_default.emptyHeroProvider, "max-w-[240px]"),
|
|
26663
|
+
ownerSeparator: sharedAgentOwnerSeparator,
|
|
26664
|
+
target: selectedAgentTarget
|
|
26665
|
+
}
|
|
26666
|
+
) : /* @__PURE__ */ jsx43("span", { className: AgentGUINode_styles_default.emptyHeroProvider, children: providerName }),
|
|
26626
26667
|
label.slice(providerEnd)
|
|
26627
26668
|
] });
|
|
26628
26669
|
}
|
|
@@ -26642,7 +26683,7 @@ import {
|
|
|
26642
26683
|
DialogTitle,
|
|
26643
26684
|
toast as toast3
|
|
26644
26685
|
} from "@tutti-os/ui-system";
|
|
26645
|
-
import { jsx as
|
|
26686
|
+
import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
26646
26687
|
var AGENT_MANAGER_LONG_PRESS_MOVE_TOLERANCE_PX = 8;
|
|
26647
26688
|
var AGENT_MANAGER_DROP_HYSTERESIS_PX = 8;
|
|
26648
26689
|
function AgentGUIProviderManagerDialog({
|
|
@@ -26865,7 +26906,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
26865
26906
|
};
|
|
26866
26907
|
const disabledDropBlocked = dragState?.source === "available" && (finalAvailableAgent || running.has(dragState.targetId));
|
|
26867
26908
|
const disabledDropBlockedByRunning = dragState?.source === "available" && running.has(dragState.targetId);
|
|
26868
|
-
return /* @__PURE__ */
|
|
26909
|
+
return /* @__PURE__ */ jsx44(Dialog, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs32(
|
|
26869
26910
|
DialogContent,
|
|
26870
26911
|
{
|
|
26871
26912
|
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]",
|
|
@@ -26880,17 +26921,17 @@ function AgentGUIProviderManagerDialog({
|
|
|
26880
26921
|
setEditing(false);
|
|
26881
26922
|
},
|
|
26882
26923
|
children: [
|
|
26883
|
-
/* @__PURE__ */
|
|
26884
|
-
/* @__PURE__ */
|
|
26885
|
-
/* @__PURE__ */
|
|
26924
|
+
/* @__PURE__ */ jsxs32(DialogHeader, { className: "shrink-0 border-b border-[var(--border-1)] px-5 py-4", children: [
|
|
26925
|
+
/* @__PURE__ */ jsx44(DialogTitle, { children: labels.manageAgentsTitle }),
|
|
26926
|
+
/* @__PURE__ */ jsx44(DialogDescription, { children: labels.manageAgentsDescription })
|
|
26886
26927
|
] }),
|
|
26887
|
-
/* @__PURE__ */
|
|
26928
|
+
/* @__PURE__ */ jsxs32(
|
|
26888
26929
|
"div",
|
|
26889
26930
|
{
|
|
26890
26931
|
className: "min-h-0 flex-1 overflow-y-auto px-5 py-4",
|
|
26891
26932
|
onClick: exitEditingFromBlankSpace,
|
|
26892
26933
|
children: [
|
|
26893
|
-
/* @__PURE__ */
|
|
26934
|
+
/* @__PURE__ */ jsxs32(
|
|
26894
26935
|
"section",
|
|
26895
26936
|
{
|
|
26896
26937
|
"aria-labelledby": "agent-manager-available-heading",
|
|
@@ -26900,7 +26941,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
26900
26941
|
onDragOver: (event) => dragOverDropZone(event, "available"),
|
|
26901
26942
|
onDrop: (event) => dropIntoZone(event, "available"),
|
|
26902
26943
|
children: [
|
|
26903
|
-
/* @__PURE__ */
|
|
26944
|
+
/* @__PURE__ */ jsx44(
|
|
26904
26945
|
"h3",
|
|
26905
26946
|
{
|
|
26906
26947
|
className: "mb-3 text-[12px] font-medium text-[var(--text-secondary)]",
|
|
@@ -26908,7 +26949,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
26908
26949
|
children: labels.manageAgentsAvailable
|
|
26909
26950
|
}
|
|
26910
26951
|
),
|
|
26911
|
-
availableTargets.length > 0 ? /* @__PURE__ */
|
|
26952
|
+
availableTargets.length > 0 ? /* @__PURE__ */ jsx44(
|
|
26912
26953
|
"div",
|
|
26913
26954
|
{
|
|
26914
26955
|
"aria-label": labels.manageAgentsAvailable,
|
|
@@ -26919,7 +26960,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
26919
26960
|
children: availableTargets.map((target) => {
|
|
26920
26961
|
const label = target.label.trim() || target.provider;
|
|
26921
26962
|
const targetRunning = running.has(target.targetId);
|
|
26922
|
-
return /* @__PURE__ */
|
|
26963
|
+
return /* @__PURE__ */ jsxs32(
|
|
26923
26964
|
"div",
|
|
26924
26965
|
{
|
|
26925
26966
|
"aria-label": labels.dragAgentToReorder(label),
|
|
@@ -26956,7 +26997,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
26956
26997
|
role: "listitem",
|
|
26957
26998
|
tabIndex: 0,
|
|
26958
26999
|
children: [
|
|
26959
|
-
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */
|
|
27000
|
+
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */ jsx44(
|
|
26960
27001
|
"span",
|
|
26961
27002
|
{
|
|
26962
27003
|
"aria-hidden": "true",
|
|
@@ -26965,7 +27006,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
26965
27006
|
"data-testid": "agent-gui-provider-manager-drop-indicator"
|
|
26966
27007
|
}
|
|
26967
27008
|
) : null,
|
|
26968
|
-
editing ? /* @__PURE__ */
|
|
27009
|
+
editing ? /* @__PURE__ */ jsx44(
|
|
26969
27010
|
Button5,
|
|
26970
27011
|
{
|
|
26971
27012
|
"aria-label": labels.removeAgentFromSidebar(label),
|
|
@@ -26983,10 +27024,10 @@ function AgentGUIProviderManagerDialog({
|
|
|
26983
27024
|
title: targetRunning ? labels.manageAgentsRunningBlocked(label) : finalAvailableAgent ? labels.manageAgentsKeepOneAvailable : void 0,
|
|
26984
27025
|
type: "button",
|
|
26985
27026
|
variant: "ghost",
|
|
26986
|
-
children: /* @__PURE__ */
|
|
27027
|
+
children: /* @__PURE__ */ jsx44(CircleMinus, { "aria-hidden": "true", className: "size-4" })
|
|
26987
27028
|
}
|
|
26988
27029
|
) : null,
|
|
26989
|
-
/* @__PURE__ */
|
|
27030
|
+
/* @__PURE__ */ jsx44(
|
|
26990
27031
|
AgentGUIProviderIconVisual,
|
|
26991
27032
|
{
|
|
26992
27033
|
ariaHidden: true,
|
|
@@ -26997,18 +27038,18 @@ function AgentGUIProviderManagerDialog({
|
|
|
26997
27038
|
imageClassName: "size-9 shrink-0 rounded-[9px] object-cover"
|
|
26998
27039
|
}
|
|
26999
27040
|
),
|
|
27000
|
-
/* @__PURE__ */
|
|
27041
|
+
/* @__PURE__ */ jsx44("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-primary)]", children: label })
|
|
27001
27042
|
]
|
|
27002
27043
|
},
|
|
27003
27044
|
target.targetId
|
|
27004
27045
|
);
|
|
27005
27046
|
})
|
|
27006
27047
|
}
|
|
27007
|
-
) : /* @__PURE__ */
|
|
27048
|
+
) : /* @__PURE__ */ jsx44("p", { className: "rounded-[8px] bg-[var(--transparency-block)] px-3 py-4 text-center text-[12px] text-[var(--text-tertiary)]", children: labels.manageAgentsNoAvailable })
|
|
27008
27049
|
]
|
|
27009
27050
|
}
|
|
27010
27051
|
),
|
|
27011
|
-
/* @__PURE__ */
|
|
27052
|
+
/* @__PURE__ */ jsxs32(
|
|
27012
27053
|
"section",
|
|
27013
27054
|
{
|
|
27014
27055
|
"aria-labelledby": "agent-manager-disabled-heading",
|
|
@@ -27024,7 +27065,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
27024
27065
|
)?.label ?? ""
|
|
27025
27066
|
) : labels.manageAgentsKeepOneAvailable : void 0,
|
|
27026
27067
|
children: [
|
|
27027
|
-
/* @__PURE__ */
|
|
27068
|
+
/* @__PURE__ */ jsx44(
|
|
27028
27069
|
"h3",
|
|
27029
27070
|
{
|
|
27030
27071
|
className: "mb-3 text-[12px] font-medium text-[var(--text-secondary)]",
|
|
@@ -27032,7 +27073,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
27032
27073
|
children: labels.manageAgentsDisabled
|
|
27033
27074
|
}
|
|
27034
27075
|
),
|
|
27035
|
-
disabledTargets.length > 0 ? /* @__PURE__ */
|
|
27076
|
+
disabledTargets.length > 0 ? /* @__PURE__ */ jsx44(
|
|
27036
27077
|
"div",
|
|
27037
27078
|
{
|
|
27038
27079
|
"aria-label": labels.manageAgentsDisabled,
|
|
@@ -27042,7 +27083,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
27042
27083
|
role: "list",
|
|
27043
27084
|
children: disabledTargets.map((target) => {
|
|
27044
27085
|
const label = target.label.trim() || target.provider;
|
|
27045
|
-
return /* @__PURE__ */
|
|
27086
|
+
return /* @__PURE__ */ jsxs32(
|
|
27046
27087
|
"div",
|
|
27047
27088
|
{
|
|
27048
27089
|
"aria-label": labels.dragAgentToReorder(label),
|
|
@@ -27078,7 +27119,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
27078
27119
|
role: "listitem",
|
|
27079
27120
|
tabIndex: 0,
|
|
27080
27121
|
children: [
|
|
27081
|
-
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */
|
|
27122
|
+
dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */ jsx44(
|
|
27082
27123
|
"span",
|
|
27083
27124
|
{
|
|
27084
27125
|
"aria-hidden": "true",
|
|
@@ -27087,7 +27128,7 @@ function AgentGUIProviderManagerDialog({
|
|
|
27087
27128
|
"data-testid": "agent-gui-provider-manager-drop-indicator"
|
|
27088
27129
|
}
|
|
27089
27130
|
) : null,
|
|
27090
|
-
editing ? /* @__PURE__ */
|
|
27131
|
+
editing ? /* @__PURE__ */ jsx44(
|
|
27091
27132
|
Button5,
|
|
27092
27133
|
{
|
|
27093
27134
|
"aria-label": labels.addAgentToSidebar(label),
|
|
@@ -27099,10 +27140,10 @@ function AgentGUIProviderManagerDialog({
|
|
|
27099
27140
|
size: "icon-xs",
|
|
27100
27141
|
type: "button",
|
|
27101
27142
|
variant: "ghost",
|
|
27102
|
-
children: /* @__PURE__ */
|
|
27143
|
+
children: /* @__PURE__ */ jsx44(CirclePlus, { "aria-hidden": "true", className: "size-4" })
|
|
27103
27144
|
}
|
|
27104
27145
|
) : null,
|
|
27105
|
-
/* @__PURE__ */
|
|
27146
|
+
/* @__PURE__ */ jsx44(
|
|
27106
27147
|
AgentGUIProviderIconVisual,
|
|
27107
27148
|
{
|
|
27108
27149
|
ariaHidden: true,
|
|
@@ -27113,14 +27154,14 @@ function AgentGUIProviderManagerDialog({
|
|
|
27113
27154
|
imageClassName: "size-9 shrink-0 rounded-[9px] object-cover opacity-70 grayscale-[0.25]"
|
|
27114
27155
|
}
|
|
27115
27156
|
),
|
|
27116
|
-
/* @__PURE__ */
|
|
27157
|
+
/* @__PURE__ */ jsx44("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-secondary)]", children: label })
|
|
27117
27158
|
]
|
|
27118
27159
|
},
|
|
27119
27160
|
target.targetId
|
|
27120
27161
|
);
|
|
27121
27162
|
})
|
|
27122
27163
|
}
|
|
27123
|
-
) : /* @__PURE__ */
|
|
27164
|
+
) : /* @__PURE__ */ jsx44("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 })
|
|
27124
27165
|
]
|
|
27125
27166
|
}
|
|
27126
27167
|
)
|
|
@@ -27183,7 +27224,7 @@ function useAgentGUIProviderRailPreferences() {
|
|
|
27183
27224
|
}
|
|
27184
27225
|
|
|
27185
27226
|
// agent-gui/agentGuiNode/view/AgentGUIProviderRail.tsx
|
|
27186
|
-
import { jsx as
|
|
27227
|
+
import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
27187
27228
|
var agentGUIProviderRailCatalog = [
|
|
27188
27229
|
...migratedAgentGUIProviderIdentityCatalog
|
|
27189
27230
|
].sort((left, right) => left.target.sortOrder - right.target.sortOrder);
|
|
@@ -27582,7 +27623,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
27582
27623
|
},
|
|
27583
27624
|
[dragState, previewMode, agentTargetsLoading, setProviderRailDragState]
|
|
27584
27625
|
);
|
|
27585
|
-
const providerManagerDialog = /* @__PURE__ */
|
|
27626
|
+
const providerManagerDialog = /* @__PURE__ */ jsx45(
|
|
27586
27627
|
AgentGUIProviderManagerDialog,
|
|
27587
27628
|
{
|
|
27588
27629
|
hiddenTargetIds: effectiveHiddenTargetIds,
|
|
@@ -27596,7 +27637,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
27596
27637
|
}
|
|
27597
27638
|
);
|
|
27598
27639
|
if (providerRailMode === "exact" && !agentTargetsLoading && visibleProviderTiles.length === 0 && renderProviderRailEmpty) {
|
|
27599
|
-
return /* @__PURE__ */
|
|
27640
|
+
return /* @__PURE__ */ jsxs33(
|
|
27600
27641
|
"div",
|
|
27601
27642
|
{
|
|
27602
27643
|
className: AgentGUINode_styles_default.providerRail,
|
|
@@ -27611,8 +27652,8 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
27611
27652
|
}
|
|
27612
27653
|
);
|
|
27613
27654
|
}
|
|
27614
|
-
return /* @__PURE__ */
|
|
27615
|
-
/* @__PURE__ */
|
|
27655
|
+
return /* @__PURE__ */ jsxs33("div", { className: AgentGUINode_styles_default.providerRail, children: [
|
|
27656
|
+
/* @__PURE__ */ jsxs33(
|
|
27616
27657
|
"div",
|
|
27617
27658
|
{
|
|
27618
27659
|
className: "flex min-h-0 w-full flex-col items-center",
|
|
@@ -27622,7 +27663,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
27622
27663
|
onDragOver: handleProviderRailContainerDragOver,
|
|
27623
27664
|
onDrop: commitProviderRailDragDrop,
|
|
27624
27665
|
children: [
|
|
27625
|
-
/* @__PURE__ */
|
|
27666
|
+
/* @__PURE__ */ jsxs33(
|
|
27626
27667
|
"button",
|
|
27627
27668
|
{
|
|
27628
27669
|
type: "button",
|
|
@@ -27634,18 +27675,18 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
27634
27675
|
disabled: previewMode,
|
|
27635
27676
|
onClick: selectAllProviders,
|
|
27636
27677
|
children: [
|
|
27637
|
-
/* @__PURE__ */
|
|
27678
|
+
/* @__PURE__ */ jsx45(
|
|
27638
27679
|
AgentGUIUnifiedProviderIcon,
|
|
27639
27680
|
{
|
|
27640
27681
|
presentation: providerRailAllPresentation
|
|
27641
27682
|
}
|
|
27642
27683
|
),
|
|
27643
|
-
/* @__PURE__ */
|
|
27684
|
+
/* @__PURE__ */ jsx45("span", { className: AgentGUINode_styles_default.providerRailTileLabel, children: labels.conversationFilterAll })
|
|
27644
27685
|
]
|
|
27645
27686
|
}
|
|
27646
27687
|
),
|
|
27647
|
-
/* @__PURE__ */
|
|
27648
|
-
agentTargetsLoading ? [0, 1, 2].map((index) => /* @__PURE__ */
|
|
27688
|
+
/* @__PURE__ */ jsx45("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailSeparator }),
|
|
27689
|
+
agentTargetsLoading ? [0, 1, 2].map((index) => /* @__PURE__ */ jsx45(
|
|
27649
27690
|
"button",
|
|
27650
27691
|
{
|
|
27651
27692
|
type: "button",
|
|
@@ -27655,7 +27696,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
27655
27696
|
"data-loading": "true",
|
|
27656
27697
|
"data-selected": "false",
|
|
27657
27698
|
disabled: true,
|
|
27658
|
-
children: /* @__PURE__ */
|
|
27699
|
+
children: /* @__PURE__ */ jsx45(
|
|
27659
27700
|
"span",
|
|
27660
27701
|
{
|
|
27661
27702
|
"aria-hidden": "true",
|
|
@@ -27678,7 +27719,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
27678
27719
|
label,
|
|
27679
27720
|
target.badge?.label
|
|
27680
27721
|
);
|
|
27681
|
-
const tile = /* @__PURE__ */
|
|
27722
|
+
const tile = /* @__PURE__ */ jsx45(
|
|
27682
27723
|
"button",
|
|
27683
27724
|
{
|
|
27684
27725
|
type: "button",
|
|
@@ -27698,8 +27739,8 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
27698
27739
|
onDragEnd: clearProviderRailDragState,
|
|
27699
27740
|
onDragOver: (event) => handleProviderRailDragOver(event, target),
|
|
27700
27741
|
onDragStart: (event) => handleProviderRailDragStart(event, target),
|
|
27701
|
-
children: /* @__PURE__ */
|
|
27702
|
-
/* @__PURE__ */
|
|
27742
|
+
children: /* @__PURE__ */ jsxs33("span", { className: AgentGUINode_styles_default.providerRailAvatar, children: [
|
|
27743
|
+
/* @__PURE__ */ jsx45(
|
|
27703
27744
|
AgentGUIProviderIconVisual,
|
|
27704
27745
|
{
|
|
27705
27746
|
ariaHidden: true,
|
|
@@ -27710,7 +27751,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
27710
27751
|
)
|
|
27711
27752
|
}
|
|
27712
27753
|
),
|
|
27713
|
-
target.badge?.iconUrl ? /* @__PURE__ */
|
|
27754
|
+
target.badge?.iconUrl ? /* @__PURE__ */ jsx45("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx45(
|
|
27714
27755
|
"img",
|
|
27715
27756
|
{
|
|
27716
27757
|
alt: "",
|
|
@@ -27719,7 +27760,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
27719
27760
|
src: target.badge.iconUrl
|
|
27720
27761
|
}
|
|
27721
27762
|
) }) : null,
|
|
27722
|
-
providerSelected && isBetaAgentProvider(target.provider) ? /* @__PURE__ */
|
|
27763
|
+
providerSelected && isBetaAgentProvider(target.provider) ? /* @__PURE__ */ jsx45(
|
|
27723
27764
|
"img",
|
|
27724
27765
|
{
|
|
27725
27766
|
"aria-hidden": "true",
|
|
@@ -27735,9 +27776,9 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
27735
27776
|
if (previewMode) {
|
|
27736
27777
|
return tile;
|
|
27737
27778
|
}
|
|
27738
|
-
return /* @__PURE__ */
|
|
27739
|
-
/* @__PURE__ */
|
|
27740
|
-
/* @__PURE__ */
|
|
27779
|
+
return /* @__PURE__ */ jsxs33(Tooltip5, { children: [
|
|
27780
|
+
/* @__PURE__ */ jsx45(TooltipTrigger5, { asChild: true, children: tile }),
|
|
27781
|
+
/* @__PURE__ */ jsx45(TooltipContent5, { side: "right", sideOffset: -4, children: label })
|
|
27741
27782
|
] }, `${target.provider}:${target.targetId}:tooltip`);
|
|
27742
27783
|
})
|
|
27743
27784
|
]
|
|
@@ -27752,7 +27793,7 @@ import { memo as memo8, useState as useState28 } from "react";
|
|
|
27752
27793
|
|
|
27753
27794
|
// agent-gui/agentGuiNode/view/AgentGUIConversationRailPane.tsx
|
|
27754
27795
|
import {
|
|
27755
|
-
Fragment as
|
|
27796
|
+
Fragment as Fragment15,
|
|
27756
27797
|
memo as memo7,
|
|
27757
27798
|
useCallback as useCallback49,
|
|
27758
27799
|
useEffect as useEffect29,
|
|
@@ -27777,7 +27818,7 @@ var styles3 = {
|
|
|
27777
27818
|
var RoomIssueNode_styles_default = styles3;
|
|
27778
27819
|
|
|
27779
27820
|
// agent-gui/RoomIssueNode/TaskSearchField.tsx
|
|
27780
|
-
import { jsx as
|
|
27821
|
+
import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
27781
27822
|
function TaskSearchField({
|
|
27782
27823
|
ariaLabel,
|
|
27783
27824
|
className,
|
|
@@ -27791,13 +27832,13 @@ function TaskSearchField({
|
|
|
27791
27832
|
"use memo";
|
|
27792
27833
|
const { t } = useTranslation();
|
|
27793
27834
|
const searchInput = useComposedInputValue({ onCommit: onChange, value });
|
|
27794
|
-
return /* @__PURE__ */
|
|
27835
|
+
return /* @__PURE__ */ jsxs34(
|
|
27795
27836
|
"div",
|
|
27796
27837
|
{
|
|
27797
27838
|
className: `${RoomIssueNode_styles_default.searchField} ${className ?? ""}`.trim(),
|
|
27798
27839
|
"data-has-value": searchInput.value ? "true" : "false",
|
|
27799
27840
|
children: [
|
|
27800
|
-
/* @__PURE__ */
|
|
27841
|
+
/* @__PURE__ */ jsx46(
|
|
27801
27842
|
Input,
|
|
27802
27843
|
{
|
|
27803
27844
|
type: "search",
|
|
@@ -27820,7 +27861,7 @@ function TaskSearchField({
|
|
|
27820
27861
|
"data-testid": dataTestId
|
|
27821
27862
|
}
|
|
27822
27863
|
),
|
|
27823
|
-
searchInput.value ? /* @__PURE__ */
|
|
27864
|
+
searchInput.value ? /* @__PURE__ */ jsx46(
|
|
27824
27865
|
"button",
|
|
27825
27866
|
{
|
|
27826
27867
|
type: "button",
|
|
@@ -27828,7 +27869,7 @@ function TaskSearchField({
|
|
|
27828
27869
|
"aria-label": clearAriaLabel ?? t("common.clear"),
|
|
27829
27870
|
onMouseDown: (event) => event.preventDefault(),
|
|
27830
27871
|
onClick: searchInput.clearValue,
|
|
27831
|
-
children: /* @__PURE__ */
|
|
27872
|
+
children: /* @__PURE__ */ jsx46(CloseLinedIcon, { "aria-hidden": "true" })
|
|
27832
27873
|
}
|
|
27833
27874
|
) : null
|
|
27834
27875
|
]
|
|
@@ -27846,7 +27887,7 @@ function isTaskSearchImeComposing(event) {
|
|
|
27846
27887
|
}
|
|
27847
27888
|
|
|
27848
27889
|
// agent-gui/agentGuiNode/AgentConversationListSkeleton.tsx
|
|
27849
|
-
import { jsx as
|
|
27890
|
+
import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
27850
27891
|
var SKELETON_ROWS = [
|
|
27851
27892
|
{ id: "first", size: "long" },
|
|
27852
27893
|
{ id: "second", size: "medium" },
|
|
@@ -27858,23 +27899,23 @@ function AgentConversationListSkeleton({
|
|
|
27858
27899
|
label
|
|
27859
27900
|
}) {
|
|
27860
27901
|
"use memo";
|
|
27861
|
-
return /* @__PURE__ */
|
|
27902
|
+
return /* @__PURE__ */ jsx47(
|
|
27862
27903
|
"div",
|
|
27863
27904
|
{
|
|
27864
27905
|
className: "agent-gui-node__conversation-list-skeleton",
|
|
27865
27906
|
role: "status",
|
|
27866
27907
|
"aria-label": label,
|
|
27867
27908
|
"data-testid": "agent-gui-conversation-list-loading-skeleton",
|
|
27868
|
-
children: SKELETON_ROWS.map((row) => /* @__PURE__ */
|
|
27909
|
+
children: SKELETON_ROWS.map((row) => /* @__PURE__ */ jsxs35(
|
|
27869
27910
|
"div",
|
|
27870
27911
|
{
|
|
27871
27912
|
className: "agent-gui-node__conversation-list-skeleton-row",
|
|
27872
27913
|
"data-size": row.size,
|
|
27873
27914
|
"aria-hidden": "true",
|
|
27874
27915
|
children: [
|
|
27875
|
-
/* @__PURE__ */
|
|
27876
|
-
/* @__PURE__ */
|
|
27877
|
-
/* @__PURE__ */
|
|
27916
|
+
/* @__PURE__ */ jsx47("span", { className: "agent-gui-node__conversation-list-skeleton-spine" }),
|
|
27917
|
+
/* @__PURE__ */ jsx47("span", { className: "agent-gui-node__conversation-list-skeleton-rib agent-gui-node__conversation-list-skeleton-rib-primary" }),
|
|
27918
|
+
/* @__PURE__ */ jsx47("span", { className: "agent-gui-node__conversation-list-skeleton-rib agent-gui-node__conversation-list-skeleton-rib-secondary" })
|
|
27878
27919
|
]
|
|
27879
27920
|
},
|
|
27880
27921
|
row.id
|
|
@@ -28723,16 +28764,16 @@ import {
|
|
|
28723
28764
|
ContextMenuTrigger,
|
|
28724
28765
|
IssueIcon,
|
|
28725
28766
|
NewWorkspaceLinedIcon as NewWorkspaceLinedIcon2,
|
|
28726
|
-
cn as
|
|
28767
|
+
cn as cn7
|
|
28727
28768
|
} from "@tutti-os/ui-system";
|
|
28728
28769
|
import { BareIconButton } from "@tutti-os/ui-system/components";
|
|
28729
28770
|
import { WorkspaceUserProjectSelect as WorkspaceUserProjectSelect2 } from "@tutti-os/workspace-user-project/ui";
|
|
28730
28771
|
|
|
28731
28772
|
// app/renderer/components/icons/PinFilledIcon.tsx
|
|
28732
|
-
import { jsx as
|
|
28773
|
+
import { jsx as jsx48 } from "react/jsx-runtime";
|
|
28733
28774
|
function PinFilledIcon(props) {
|
|
28734
28775
|
"use memo";
|
|
28735
|
-
return /* @__PURE__ */
|
|
28776
|
+
return /* @__PURE__ */ jsx48(
|
|
28736
28777
|
"svg",
|
|
28737
28778
|
{
|
|
28738
28779
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -28740,16 +28781,16 @@ function PinFilledIcon(props) {
|
|
|
28740
28781
|
fill: "currentColor",
|
|
28741
28782
|
"aria-hidden": true,
|
|
28742
28783
|
...props,
|
|
28743
|
-
children: /* @__PURE__ */
|
|
28784
|
+
children: /* @__PURE__ */ jsx48("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" })
|
|
28744
28785
|
}
|
|
28745
28786
|
);
|
|
28746
28787
|
}
|
|
28747
28788
|
|
|
28748
28789
|
// app/renderer/components/icons/PinLinedIcon.tsx
|
|
28749
|
-
import { jsx as
|
|
28790
|
+
import { jsx as jsx49 } from "react/jsx-runtime";
|
|
28750
28791
|
function PinLinedIcon(props) {
|
|
28751
28792
|
"use memo";
|
|
28752
|
-
return /* @__PURE__ */
|
|
28793
|
+
return /* @__PURE__ */ jsx49(
|
|
28753
28794
|
"svg",
|
|
28754
28795
|
{
|
|
28755
28796
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -28757,7 +28798,7 @@ function PinLinedIcon(props) {
|
|
|
28757
28798
|
fill: "currentColor",
|
|
28758
28799
|
"aria-hidden": true,
|
|
28759
28800
|
...props,
|
|
28760
|
-
children: /* @__PURE__ */
|
|
28801
|
+
children: /* @__PURE__ */ jsx49("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" })
|
|
28761
28802
|
}
|
|
28762
28803
|
);
|
|
28763
28804
|
}
|
|
@@ -28765,7 +28806,7 @@ function PinLinedIcon(props) {
|
|
|
28765
28806
|
// agent-gui/agentGuiNode/agentGuiNodeViewConversation.tsx
|
|
28766
28807
|
import { Spinner as Spinner5 } from "@tutti-os/ui-system";
|
|
28767
28808
|
import { AskLinedIcon } from "@tutti-os/ui-system/icons";
|
|
28768
|
-
import { jsx as
|
|
28809
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
28769
28810
|
function ConversationMeta({
|
|
28770
28811
|
item,
|
|
28771
28812
|
nowMs,
|
|
@@ -28774,24 +28815,24 @@ function ConversationMeta({
|
|
|
28774
28815
|
"use memo";
|
|
28775
28816
|
const kind = conversationMetaKind(item);
|
|
28776
28817
|
if (kind === "loading") {
|
|
28777
|
-
return /* @__PURE__ */
|
|
28818
|
+
return /* @__PURE__ */ jsx50(
|
|
28778
28819
|
"span",
|
|
28779
28820
|
{
|
|
28780
28821
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
28781
28822
|
"data-kind": kind,
|
|
28782
28823
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
28783
|
-
children: /* @__PURE__ */
|
|
28824
|
+
children: /* @__PURE__ */ jsx50(LoadingGlyph, {})
|
|
28784
28825
|
}
|
|
28785
28826
|
);
|
|
28786
28827
|
}
|
|
28787
28828
|
if (kind === "waiting") {
|
|
28788
|
-
return /* @__PURE__ */
|
|
28829
|
+
return /* @__PURE__ */ jsx50(
|
|
28789
28830
|
"span",
|
|
28790
28831
|
{
|
|
28791
28832
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
28792
28833
|
"data-kind": kind,
|
|
28793
28834
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
28794
|
-
children: /* @__PURE__ */
|
|
28835
|
+
children: /* @__PURE__ */ jsx50(
|
|
28795
28836
|
AskLinedIcon,
|
|
28796
28837
|
{
|
|
28797
28838
|
"aria-hidden": "true",
|
|
@@ -28802,34 +28843,34 @@ function ConversationMeta({
|
|
|
28802
28843
|
);
|
|
28803
28844
|
}
|
|
28804
28845
|
if (kind === "failed") {
|
|
28805
|
-
return /* @__PURE__ */
|
|
28846
|
+
return /* @__PURE__ */ jsx50(
|
|
28806
28847
|
"span",
|
|
28807
28848
|
{
|
|
28808
28849
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
28809
28850
|
"data-kind": kind,
|
|
28810
28851
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
28811
|
-
children: /* @__PURE__ */
|
|
28852
|
+
children: /* @__PURE__ */ jsx50(AttentionGlyph, {})
|
|
28812
28853
|
}
|
|
28813
28854
|
);
|
|
28814
28855
|
}
|
|
28815
28856
|
if (kind === "unread-complete") {
|
|
28816
|
-
return /* @__PURE__ */
|
|
28857
|
+
return /* @__PURE__ */ jsx50(
|
|
28817
28858
|
"span",
|
|
28818
28859
|
{
|
|
28819
28860
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
28820
28861
|
"data-kind": kind,
|
|
28821
28862
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
28822
|
-
children: /* @__PURE__ */
|
|
28863
|
+
children: /* @__PURE__ */ jsx50("span", { className: AgentGUINode_styles_default.conversationUnreadLamp, "aria-hidden": "true" })
|
|
28823
28864
|
}
|
|
28824
28865
|
);
|
|
28825
28866
|
}
|
|
28826
|
-
return /* @__PURE__ */
|
|
28867
|
+
return /* @__PURE__ */ jsx50(
|
|
28827
28868
|
"span",
|
|
28828
28869
|
{
|
|
28829
28870
|
className: AgentGUINode_styles_default.conversationMeta,
|
|
28830
28871
|
"data-kind": kind,
|
|
28831
28872
|
"data-testid": `agent-gui-conversation-meta-${item.id}`,
|
|
28832
|
-
children: /* @__PURE__ */
|
|
28873
|
+
children: /* @__PURE__ */ jsx50("span", { className: AgentGUINode_styles_default.conversationTime, children: formatConversationRelativeTime(
|
|
28833
28874
|
resolveAgentGUIConversationSortTimeUnixMs(item),
|
|
28834
28875
|
nowMs,
|
|
28835
28876
|
labels
|
|
@@ -28877,7 +28918,7 @@ function formatConversationRelativeTime(updatedAtUnixMs, nowMs, labels) {
|
|
|
28877
28918
|
}
|
|
28878
28919
|
function LoadingGlyph() {
|
|
28879
28920
|
"use memo";
|
|
28880
|
-
return /* @__PURE__ */
|
|
28921
|
+
return /* @__PURE__ */ jsx50(
|
|
28881
28922
|
Spinner5,
|
|
28882
28923
|
{
|
|
28883
28924
|
className: AgentGUINode_styles_default.conversationStatusGlyph,
|
|
@@ -28891,14 +28932,14 @@ function LoadingGlyph() {
|
|
|
28891
28932
|
}
|
|
28892
28933
|
function AttentionGlyph() {
|
|
28893
28934
|
"use memo";
|
|
28894
|
-
return /* @__PURE__ */
|
|
28935
|
+
return /* @__PURE__ */ jsx50(
|
|
28895
28936
|
"svg",
|
|
28896
28937
|
{
|
|
28897
28938
|
viewBox: "0 0 24 24",
|
|
28898
28939
|
fill: "none",
|
|
28899
28940
|
"aria-hidden": "true",
|
|
28900
28941
|
className: AgentGUINode_styles_default.conversationStatusGlyph,
|
|
28901
|
-
children: /* @__PURE__ */
|
|
28942
|
+
children: /* @__PURE__ */ jsx50(
|
|
28902
28943
|
"path",
|
|
28903
28944
|
{
|
|
28904
28945
|
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",
|
|
@@ -28910,7 +28951,7 @@ function AttentionGlyph() {
|
|
|
28910
28951
|
}
|
|
28911
28952
|
|
|
28912
28953
|
// agent-gui/agentGuiNode/view/AgentGUIConversationRailItem.tsx
|
|
28913
|
-
import { Fragment as
|
|
28954
|
+
import { Fragment as Fragment14, jsx as jsx51, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
28914
28955
|
function agentGUIConversationIconUrl(provider, agentTargetId, workspaceId, agentTargets) {
|
|
28915
28956
|
const targetPresentation = resolveAgentTargetPresentation({
|
|
28916
28957
|
agentTargetId: agentTargetId ?? "",
|
|
@@ -29073,7 +29114,7 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29073
29114
|
uiLanguage,
|
|
29074
29115
|
workspaceId
|
|
29075
29116
|
]);
|
|
29076
|
-
const row = /* @__PURE__ */
|
|
29117
|
+
const row = /* @__PURE__ */ jsxs36(
|
|
29077
29118
|
"div",
|
|
29078
29119
|
{
|
|
29079
29120
|
ref: setItemElement,
|
|
@@ -29090,7 +29131,7 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29090
29131
|
},
|
|
29091
29132
|
onMouseLeave: handleMouseLeave,
|
|
29092
29133
|
children: [
|
|
29093
|
-
/* @__PURE__ */
|
|
29134
|
+
/* @__PURE__ */ jsxs36(
|
|
29094
29135
|
"button",
|
|
29095
29136
|
{
|
|
29096
29137
|
type: "button",
|
|
@@ -29101,8 +29142,8 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29101
29142
|
handleRequestRename();
|
|
29102
29143
|
},
|
|
29103
29144
|
children: [
|
|
29104
|
-
/* @__PURE__ */
|
|
29105
|
-
conversationIconUrl ? /* @__PURE__ */
|
|
29145
|
+
/* @__PURE__ */ jsxs36("span", { className: AgentGUINode_styles_default.conversationTitleRow, children: [
|
|
29146
|
+
conversationIconUrl ? /* @__PURE__ */ jsx51(
|
|
29106
29147
|
"span",
|
|
29107
29148
|
{
|
|
29108
29149
|
"aria-hidden": "true",
|
|
@@ -29112,22 +29153,22 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29112
29153
|
}
|
|
29113
29154
|
}
|
|
29114
29155
|
) : null,
|
|
29115
|
-
item.titleLeadingMentionKind === "task" ? /* @__PURE__ */
|
|
29156
|
+
item.titleLeadingMentionKind === "task" ? /* @__PURE__ */ jsx51(
|
|
29116
29157
|
"span",
|
|
29117
29158
|
{
|
|
29118
29159
|
"aria-hidden": "true",
|
|
29119
29160
|
className: AgentGUINode_styles_default.conversationTitleMentionIcon,
|
|
29120
29161
|
"data-agent-gui-conversation-title-mention-icon": item.titleLeadingMentionKind,
|
|
29121
|
-
children: /* @__PURE__ */
|
|
29162
|
+
children: /* @__PURE__ */ jsx51(IssueIcon, {})
|
|
29122
29163
|
}
|
|
29123
29164
|
) : null,
|
|
29124
|
-
/* @__PURE__ */
|
|
29165
|
+
/* @__PURE__ */ jsx51("span", { className: AgentGUINode_styles_default.conversationTitle, children: agentGUIConversationRailTitle(item, labels, uiLanguage) })
|
|
29125
29166
|
] }),
|
|
29126
|
-
/* @__PURE__ */
|
|
29167
|
+
/* @__PURE__ */ jsx51(ConversationMeta, { item, nowMs: currentTimeMs, labels })
|
|
29127
29168
|
]
|
|
29128
29169
|
}
|
|
29129
29170
|
),
|
|
29130
|
-
previewMode ? null : /* @__PURE__ */
|
|
29171
|
+
previewMode ? null : /* @__PURE__ */ jsx51("div", { className: AgentGUINode_styles_default.conversationActions, children: isPendingDeleteConversation ? /* @__PURE__ */ jsx51(
|
|
29131
29172
|
"button",
|
|
29132
29173
|
{
|
|
29133
29174
|
type: "button",
|
|
@@ -29141,10 +29182,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29141
29182
|
onConfirmDeleteConversation();
|
|
29142
29183
|
}
|
|
29143
29184
|
},
|
|
29144
|
-
children: /* @__PURE__ */
|
|
29185
|
+
children: /* @__PURE__ */ jsx51("span", { className: AgentGUINode_styles_default.conversationDeleteConfirmText, children: labels.deleteSessionConfirm })
|
|
29145
29186
|
}
|
|
29146
|
-
) : /* @__PURE__ */
|
|
29147
|
-
onOpenConversationWindow ? /* @__PURE__ */
|
|
29187
|
+
) : /* @__PURE__ */ jsxs36(Fragment14, { children: [
|
|
29188
|
+
onOpenConversationWindow ? /* @__PURE__ */ jsx51(
|
|
29148
29189
|
BareIconButton,
|
|
29149
29190
|
{
|
|
29150
29191
|
className: AgentGUINode_styles_default.conversationOpenWindowButton,
|
|
@@ -29161,10 +29202,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29161
29202
|
event.stopPropagation();
|
|
29162
29203
|
handleOpenConversationWindow();
|
|
29163
29204
|
},
|
|
29164
|
-
children: /* @__PURE__ */
|
|
29205
|
+
children: /* @__PURE__ */ jsx51(ExternalLink2, { "aria-hidden": "true" })
|
|
29165
29206
|
}
|
|
29166
29207
|
) : null,
|
|
29167
|
-
/* @__PURE__ */
|
|
29208
|
+
/* @__PURE__ */ jsx51(
|
|
29168
29209
|
BareIconButton,
|
|
29169
29210
|
{
|
|
29170
29211
|
className: AgentGUINode_styles_default.conversationPinButton,
|
|
@@ -29181,10 +29222,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29181
29222
|
event.stopPropagation();
|
|
29182
29223
|
handleTogglePinned();
|
|
29183
29224
|
},
|
|
29184
|
-
children: pinned ? /* @__PURE__ */
|
|
29225
|
+
children: pinned ? /* @__PURE__ */ jsx51(PinFilledIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ jsx51(PinLinedIcon, { "aria-hidden": "true" })
|
|
29185
29226
|
}
|
|
29186
29227
|
),
|
|
29187
|
-
/* @__PURE__ */
|
|
29228
|
+
/* @__PURE__ */ jsx51(
|
|
29188
29229
|
BareIconButton,
|
|
29189
29230
|
{
|
|
29190
29231
|
className: AgentGUINode_styles_default.conversationDeleteButton,
|
|
@@ -29201,7 +29242,7 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29201
29242
|
event.stopPropagation();
|
|
29202
29243
|
handleRequestDelete();
|
|
29203
29244
|
},
|
|
29204
|
-
children: /* @__PURE__ */
|
|
29245
|
+
children: /* @__PURE__ */ jsx51(CanvasNodeTrashLinedIcon, { "aria-hidden": "true" })
|
|
29205
29246
|
}
|
|
29206
29247
|
)
|
|
29207
29248
|
] }) })
|
|
@@ -29211,14 +29252,14 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29211
29252
|
if (previewMode) {
|
|
29212
29253
|
return row;
|
|
29213
29254
|
}
|
|
29214
|
-
return /* @__PURE__ */
|
|
29215
|
-
/* @__PURE__ */
|
|
29216
|
-
/* @__PURE__ */
|
|
29255
|
+
return /* @__PURE__ */ jsxs36(ContextMenu, { children: [
|
|
29256
|
+
/* @__PURE__ */ jsx51(ContextMenuTrigger, { asChild: true, children: row }),
|
|
29257
|
+
/* @__PURE__ */ jsxs36(
|
|
29217
29258
|
ContextMenuContent,
|
|
29218
29259
|
{
|
|
29219
29260
|
className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
|
|
29220
29261
|
children: [
|
|
29221
|
-
/* @__PURE__ */
|
|
29262
|
+
/* @__PURE__ */ jsx51(
|
|
29222
29263
|
ContextMenuItem,
|
|
29223
29264
|
{
|
|
29224
29265
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -29229,10 +29270,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29229
29270
|
}
|
|
29230
29271
|
},
|
|
29231
29272
|
onSelect: handleContextMenuRename,
|
|
29232
|
-
children: /* @__PURE__ */
|
|
29273
|
+
children: /* @__PURE__ */ jsx51("span", { children: labels.renameSession })
|
|
29233
29274
|
}
|
|
29234
29275
|
),
|
|
29235
|
-
onOpenConversationWindow ? /* @__PURE__ */
|
|
29276
|
+
onOpenConversationWindow ? /* @__PURE__ */ jsx51(
|
|
29236
29277
|
ContextMenuItem,
|
|
29237
29278
|
{
|
|
29238
29279
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -29243,10 +29284,10 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29243
29284
|
}
|
|
29244
29285
|
},
|
|
29245
29286
|
onSelect: handleContextMenuOpenConversationWindow,
|
|
29246
|
-
children: /* @__PURE__ */
|
|
29287
|
+
children: /* @__PURE__ */ jsx51("span", { children: labels.openConversationWindow })
|
|
29247
29288
|
}
|
|
29248
29289
|
) : null,
|
|
29249
|
-
/* @__PURE__ */
|
|
29290
|
+
/* @__PURE__ */ jsx51(
|
|
29250
29291
|
ContextMenuItem,
|
|
29251
29292
|
{
|
|
29252
29293
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -29257,16 +29298,16 @@ var AgentGUIConversationRailItem = memo5(
|
|
|
29257
29298
|
}
|
|
29258
29299
|
},
|
|
29259
29300
|
onSelect: handleContextMenuCopySessionLink,
|
|
29260
|
-
children: /* @__PURE__ */
|
|
29301
|
+
children: /* @__PURE__ */ jsx51("span", { children: labels.copySessionLink })
|
|
29261
29302
|
}
|
|
29262
29303
|
),
|
|
29263
|
-
/* @__PURE__ */
|
|
29304
|
+
/* @__PURE__ */ jsx51(
|
|
29264
29305
|
ContextMenuItem,
|
|
29265
29306
|
{
|
|
29266
29307
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
29267
29308
|
disabled: !canMarkUnread,
|
|
29268
29309
|
onSelect: handleMarkUnread,
|
|
29269
|
-
children: /* @__PURE__ */
|
|
29310
|
+
children: /* @__PURE__ */ jsx51("span", { children: labels.markSessionUnread })
|
|
29270
29311
|
}
|
|
29271
29312
|
)
|
|
29272
29313
|
]
|
|
@@ -29294,23 +29335,23 @@ function AgentGUIProjectRailHeader({
|
|
|
29294
29335
|
selectProjectDirectory
|
|
29295
29336
|
]
|
|
29296
29337
|
);
|
|
29297
|
-
return /* @__PURE__ */
|
|
29298
|
-
/* @__PURE__ */
|
|
29299
|
-
/* @__PURE__ */
|
|
29300
|
-
/* @__PURE__ */
|
|
29338
|
+
return /* @__PURE__ */ jsxs36("div", { className: AgentGUINode_styles_default.projectRailHeader, children: [
|
|
29339
|
+
/* @__PURE__ */ jsx51("div", { className: AgentGUINode_styles_default.projectRailTitle, children: /* @__PURE__ */ jsx51("span", { children: workspaceUserProjectI18n.tFirst(["projectSelect.projectLabel"]) }) }),
|
|
29340
|
+
/* @__PURE__ */ jsxs36("div", { className: AgentGUINode_styles_default.projectRailAddProject, children: [
|
|
29341
|
+
/* @__PURE__ */ jsx51(
|
|
29301
29342
|
WorkspaceUserProjectSelect2,
|
|
29302
29343
|
{
|
|
29303
29344
|
api: userProjectApi,
|
|
29304
29345
|
classNames: {
|
|
29305
|
-
content:
|
|
29346
|
+
content: cn7(
|
|
29306
29347
|
AgentGUINode_styles_default.composerMenuContent,
|
|
29307
29348
|
"w-[240px] min-w-[240px] nodrag [-webkit-app-region:no-drag]"
|
|
29308
29349
|
),
|
|
29309
|
-
item:
|
|
29350
|
+
item: cn7(
|
|
29310
29351
|
AgentGUINode_styles_default.composerMenuItem,
|
|
29311
29352
|
"nodrag [-webkit-app-region:no-drag]"
|
|
29312
29353
|
),
|
|
29313
|
-
trigger:
|
|
29354
|
+
trigger: cn7(
|
|
29314
29355
|
AgentGUINode_styles_default.projectRailAddProjectTrigger,
|
|
29315
29356
|
"nodrag [-webkit-app-region:no-drag]"
|
|
29316
29357
|
)
|
|
@@ -29328,7 +29369,7 @@ function AgentGUIProjectRailHeader({
|
|
|
29328
29369
|
"projectSelect.addProject"
|
|
29329
29370
|
])
|
|
29330
29371
|
},
|
|
29331
|
-
renderAddProjectIcon: () => /* @__PURE__ */
|
|
29372
|
+
renderAddProjectIcon: () => /* @__PURE__ */ jsx51(
|
|
29332
29373
|
NewWorkspaceLinedIcon2,
|
|
29333
29374
|
{
|
|
29334
29375
|
"aria-hidden": true,
|
|
@@ -29346,7 +29387,7 @@ function AgentGUIProjectRailHeader({
|
|
|
29346
29387
|
}
|
|
29347
29388
|
}
|
|
29348
29389
|
),
|
|
29349
|
-
/* @__PURE__ */
|
|
29390
|
+
/* @__PURE__ */ jsx51(
|
|
29350
29391
|
NewWorkspaceLinedIcon2,
|
|
29351
29392
|
{
|
|
29352
29393
|
"aria-hidden": true,
|
|
@@ -29358,7 +29399,7 @@ function AgentGUIProjectRailHeader({
|
|
|
29358
29399
|
}
|
|
29359
29400
|
|
|
29360
29401
|
// agent-gui/agentGuiNode/view/AgentGUIConversationRailSection.tsx
|
|
29361
|
-
import { jsx as
|
|
29402
|
+
import { jsx as jsx52, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
29362
29403
|
var AgentGUIConversationRailSection = memo6(
|
|
29363
29404
|
function AgentGUIConversationRailSection2({
|
|
29364
29405
|
section,
|
|
@@ -29487,7 +29528,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29487
29528
|
source: "unscoped_section"
|
|
29488
29529
|
});
|
|
29489
29530
|
}, [isRailInteractionLocked, onCreateConversation, projectPath]);
|
|
29490
|
-
return /* @__PURE__ */
|
|
29531
|
+
return /* @__PURE__ */ jsxs37(
|
|
29491
29532
|
"section",
|
|
29492
29533
|
{
|
|
29493
29534
|
className: AgentGUINode_styles_default.conversationSection,
|
|
@@ -29496,7 +29537,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29496
29537
|
"data-project-dragging": projectDragging ? "true" : void 0,
|
|
29497
29538
|
"data-project-drop-indicator": projectDropIndicator ?? void 0,
|
|
29498
29539
|
children: [
|
|
29499
|
-
/* @__PURE__ */
|
|
29540
|
+
/* @__PURE__ */ jsxs37(
|
|
29500
29541
|
"div",
|
|
29501
29542
|
{
|
|
29502
29543
|
className: AgentGUINode_styles_default.conversationSectionHeader,
|
|
@@ -29514,7 +29555,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29514
29555
|
},
|
|
29515
29556
|
onDrop: isProjectSection ? onProjectDrop : void 0,
|
|
29516
29557
|
children: [
|
|
29517
|
-
isProjectSection ? /* @__PURE__ */
|
|
29558
|
+
isProjectSection ? /* @__PURE__ */ jsxs37(
|
|
29518
29559
|
"button",
|
|
29519
29560
|
{
|
|
29520
29561
|
type: "button",
|
|
@@ -29527,22 +29568,22 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29527
29568
|
}
|
|
29528
29569
|
},
|
|
29529
29570
|
children: [
|
|
29530
|
-
/* @__PURE__ */
|
|
29571
|
+
/* @__PURE__ */ jsx52(
|
|
29531
29572
|
ChevronRight2,
|
|
29532
29573
|
{
|
|
29533
29574
|
"aria-hidden": "true",
|
|
29534
29575
|
className: AgentGUINode_styles_default.conversationSectionChevron
|
|
29535
29576
|
}
|
|
29536
29577
|
),
|
|
29537
|
-
/* @__PURE__ */
|
|
29538
|
-
isSectionCollapsed ? /* @__PURE__ */
|
|
29578
|
+
/* @__PURE__ */ jsxs37("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: [
|
|
29579
|
+
isSectionCollapsed ? /* @__PURE__ */ jsx52(
|
|
29539
29580
|
FolderIcon2,
|
|
29540
29581
|
{
|
|
29541
29582
|
"aria-hidden": "true",
|
|
29542
29583
|
className: AgentGUINode_styles_default.conversationSectionLabelIcon,
|
|
29543
29584
|
"data-project-drag-icon": "true"
|
|
29544
29585
|
}
|
|
29545
|
-
) : /* @__PURE__ */
|
|
29586
|
+
) : /* @__PURE__ */ jsx52(
|
|
29546
29587
|
FolderOpenLinedIcon,
|
|
29547
29588
|
{
|
|
29548
29589
|
"aria-hidden": "true",
|
|
@@ -29550,18 +29591,18 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29550
29591
|
"data-project-drag-icon": "true"
|
|
29551
29592
|
}
|
|
29552
29593
|
),
|
|
29553
|
-
/* @__PURE__ */
|
|
29594
|
+
/* @__PURE__ */ jsx52("span", { children: section.label })
|
|
29554
29595
|
] })
|
|
29555
29596
|
]
|
|
29556
29597
|
}
|
|
29557
|
-
) : /* @__PURE__ */
|
|
29558
|
-
canCreateConversationFromSection ? /* @__PURE__ */
|
|
29598
|
+
) : /* @__PURE__ */ jsx52("div", { className: AgentGUINode_styles_default.conversationSectionToggle, children: /* @__PURE__ */ jsx52("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: /* @__PURE__ */ jsx52("span", { children: section.label }) }) }),
|
|
29599
|
+
canCreateConversationFromSection ? /* @__PURE__ */ jsxs37(
|
|
29559
29600
|
"div",
|
|
29560
29601
|
{
|
|
29561
29602
|
className: AgentGUINode_styles_default.conversationSectionActions,
|
|
29562
29603
|
"data-project-drag-block": "true",
|
|
29563
29604
|
children: [
|
|
29564
|
-
previewMode ? /* @__PURE__ */
|
|
29605
|
+
previewMode ? /* @__PURE__ */ jsx52("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: /* @__PURE__ */ jsx52(
|
|
29565
29606
|
BareIconButton2,
|
|
29566
29607
|
{
|
|
29567
29608
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
@@ -29569,14 +29610,14 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29569
29610
|
size: "sm",
|
|
29570
29611
|
disabled: createConversationDisabled,
|
|
29571
29612
|
onClick: handleCreateConversation,
|
|
29572
|
-
children: /* @__PURE__ */
|
|
29613
|
+
children: /* @__PURE__ */ jsx52(CreateChatIcon, { "aria-hidden": "true" })
|
|
29573
29614
|
}
|
|
29574
|
-
) }) : /* @__PURE__ */
|
|
29575
|
-
/* @__PURE__ */
|
|
29615
|
+
) }) : /* @__PURE__ */ jsxs37(Tooltip6, { children: [
|
|
29616
|
+
/* @__PURE__ */ jsx52(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx52(
|
|
29576
29617
|
"span",
|
|
29577
29618
|
{
|
|
29578
29619
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
29579
|
-
children: /* @__PURE__ */
|
|
29620
|
+
children: /* @__PURE__ */ jsx52(
|
|
29580
29621
|
BareIconButton2,
|
|
29581
29622
|
{
|
|
29582
29623
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
@@ -29584,12 +29625,12 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29584
29625
|
size: "sm",
|
|
29585
29626
|
disabled: createConversationDisabled,
|
|
29586
29627
|
onClick: handleCreateConversation,
|
|
29587
|
-
children: /* @__PURE__ */
|
|
29628
|
+
children: /* @__PURE__ */ jsx52(CreateChatIcon, { "aria-hidden": "true" })
|
|
29588
29629
|
}
|
|
29589
29630
|
)
|
|
29590
29631
|
}
|
|
29591
29632
|
) }),
|
|
29592
|
-
/* @__PURE__ */
|
|
29633
|
+
/* @__PURE__ */ jsx52(
|
|
29593
29634
|
TooltipContent6,
|
|
29594
29635
|
{
|
|
29595
29636
|
side: "top",
|
|
@@ -29599,40 +29640,40 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29599
29640
|
}
|
|
29600
29641
|
)
|
|
29601
29642
|
] }),
|
|
29602
|
-
projectPath ? /* @__PURE__ */
|
|
29603
|
-
previewMode ? /* @__PURE__ */
|
|
29643
|
+
projectPath ? /* @__PURE__ */ jsxs37(DropdownMenu4, { onOpenChange: onProjectMenuOpenChange, children: [
|
|
29644
|
+
previewMode ? /* @__PURE__ */ jsx52(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx52(
|
|
29604
29645
|
"span",
|
|
29605
29646
|
{
|
|
29606
29647
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
29607
|
-
children: /* @__PURE__ */
|
|
29648
|
+
children: /* @__PURE__ */ jsx52(
|
|
29608
29649
|
BareIconButton2,
|
|
29609
29650
|
{
|
|
29610
29651
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
29611
29652
|
"aria-label": labels.projectSectionMoreActions,
|
|
29612
29653
|
size: "sm",
|
|
29613
29654
|
disabled: isProjectActionLocked(),
|
|
29614
|
-
children: /* @__PURE__ */
|
|
29655
|
+
children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
29615
29656
|
}
|
|
29616
29657
|
)
|
|
29617
29658
|
}
|
|
29618
|
-
) }) : /* @__PURE__ */
|
|
29619
|
-
/* @__PURE__ */
|
|
29659
|
+
) }) : /* @__PURE__ */ jsxs37(Tooltip6, { children: [
|
|
29660
|
+
/* @__PURE__ */ jsx52(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx52(
|
|
29620
29661
|
"span",
|
|
29621
29662
|
{
|
|
29622
29663
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
29623
|
-
children: /* @__PURE__ */
|
|
29664
|
+
children: /* @__PURE__ */ jsx52(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx52(
|
|
29624
29665
|
BareIconButton2,
|
|
29625
29666
|
{
|
|
29626
29667
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
29627
29668
|
"aria-label": labels.projectSectionMoreActions,
|
|
29628
29669
|
size: "sm",
|
|
29629
29670
|
disabled: isProjectActionLocked(),
|
|
29630
|
-
children: /* @__PURE__ */
|
|
29671
|
+
children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
29631
29672
|
}
|
|
29632
29673
|
) })
|
|
29633
29674
|
}
|
|
29634
29675
|
) }),
|
|
29635
|
-
/* @__PURE__ */
|
|
29676
|
+
/* @__PURE__ */ jsx52(
|
|
29636
29677
|
TooltipContent6,
|
|
29637
29678
|
{
|
|
29638
29679
|
side: "right",
|
|
@@ -29642,14 +29683,14 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29642
29683
|
}
|
|
29643
29684
|
)
|
|
29644
29685
|
] }),
|
|
29645
|
-
/* @__PURE__ */
|
|
29686
|
+
/* @__PURE__ */ jsxs37(
|
|
29646
29687
|
DropdownMenuContent4,
|
|
29647
29688
|
{
|
|
29648
29689
|
align: "end",
|
|
29649
29690
|
className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
|
|
29650
29691
|
sideOffset: 6,
|
|
29651
29692
|
children: [
|
|
29652
|
-
/* @__PURE__ */
|
|
29693
|
+
/* @__PURE__ */ jsx52(
|
|
29653
29694
|
DropdownMenuItem3,
|
|
29654
29695
|
{
|
|
29655
29696
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -29665,10 +29706,10 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29665
29706
|
workspaceRoot: projectPath
|
|
29666
29707
|
});
|
|
29667
29708
|
},
|
|
29668
|
-
children: /* @__PURE__ */
|
|
29709
|
+
children: /* @__PURE__ */ jsx52("span", { children: labels.projectSectionViewFiles })
|
|
29669
29710
|
}
|
|
29670
29711
|
),
|
|
29671
|
-
/* @__PURE__ */
|
|
29712
|
+
/* @__PURE__ */ jsx52(
|
|
29672
29713
|
DropdownMenuItem3,
|
|
29673
29714
|
{
|
|
29674
29715
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -29677,10 +29718,10 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29677
29718
|
if (!projectId || isProjectActionLocked()) return;
|
|
29678
29719
|
void onToggleProjectPinned(projectId, !projectPinned);
|
|
29679
29720
|
},
|
|
29680
|
-
children: /* @__PURE__ */
|
|
29721
|
+
children: /* @__PURE__ */ jsx52("span", { children: projectPinned ? labels.unpinProject : labels.pinProject })
|
|
29681
29722
|
}
|
|
29682
29723
|
),
|
|
29683
|
-
/* @__PURE__ */
|
|
29724
|
+
/* @__PURE__ */ jsx52(
|
|
29684
29725
|
DropdownMenuItem3,
|
|
29685
29726
|
{
|
|
29686
29727
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -29690,10 +29731,10 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29690
29731
|
onRequestSectionBatchDeletion(section);
|
|
29691
29732
|
}
|
|
29692
29733
|
},
|
|
29693
|
-
children: /* @__PURE__ */
|
|
29734
|
+
children: /* @__PURE__ */ jsx52("span", { children: labels.batchDeleteProjectSessions })
|
|
29694
29735
|
}
|
|
29695
29736
|
),
|
|
29696
|
-
/* @__PURE__ */
|
|
29737
|
+
/* @__PURE__ */ jsx52(
|
|
29697
29738
|
DropdownMenuItem3,
|
|
29698
29739
|
{
|
|
29699
29740
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -29707,45 +29748,45 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29707
29748
|
path: projectPath
|
|
29708
29749
|
});
|
|
29709
29750
|
},
|
|
29710
|
-
children: /* @__PURE__ */
|
|
29751
|
+
children: /* @__PURE__ */ jsx52("span", { children: labels.removeProject })
|
|
29711
29752
|
}
|
|
29712
29753
|
)
|
|
29713
29754
|
]
|
|
29714
29755
|
}
|
|
29715
29756
|
)
|
|
29716
29757
|
] }) : null,
|
|
29717
|
-
!projectPath && section.kind === "conversations" ? /* @__PURE__ */
|
|
29718
|
-
previewMode ? /* @__PURE__ */
|
|
29758
|
+
!projectPath && section.kind === "conversations" ? /* @__PURE__ */ jsxs37(DropdownMenu4, { children: [
|
|
29759
|
+
previewMode ? /* @__PURE__ */ jsx52(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx52(
|
|
29719
29760
|
"span",
|
|
29720
29761
|
{
|
|
29721
29762
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
29722
|
-
children: /* @__PURE__ */
|
|
29763
|
+
children: /* @__PURE__ */ jsx52(
|
|
29723
29764
|
BareIconButton2,
|
|
29724
29765
|
{
|
|
29725
29766
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
29726
29767
|
"aria-label": labels.conversationsSectionMoreActions,
|
|
29727
29768
|
size: "sm",
|
|
29728
|
-
children: /* @__PURE__ */
|
|
29769
|
+
children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
29729
29770
|
}
|
|
29730
29771
|
)
|
|
29731
29772
|
}
|
|
29732
|
-
) }) : /* @__PURE__ */
|
|
29733
|
-
/* @__PURE__ */
|
|
29773
|
+
) }) : /* @__PURE__ */ jsxs37(Tooltip6, { children: [
|
|
29774
|
+
/* @__PURE__ */ jsx52(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx52(
|
|
29734
29775
|
"span",
|
|
29735
29776
|
{
|
|
29736
29777
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
29737
|
-
children: /* @__PURE__ */
|
|
29778
|
+
children: /* @__PURE__ */ jsx52(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx52(
|
|
29738
29779
|
BareIconButton2,
|
|
29739
29780
|
{
|
|
29740
29781
|
className: AgentGUINode_styles_default.conversationSectionMoreButton,
|
|
29741
29782
|
"aria-label": labels.conversationsSectionMoreActions,
|
|
29742
29783
|
size: "sm",
|
|
29743
|
-
children: /* @__PURE__ */
|
|
29784
|
+
children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
|
|
29744
29785
|
}
|
|
29745
29786
|
) })
|
|
29746
29787
|
}
|
|
29747
29788
|
) }),
|
|
29748
|
-
/* @__PURE__ */
|
|
29789
|
+
/* @__PURE__ */ jsx52(
|
|
29749
29790
|
TooltipContent6,
|
|
29750
29791
|
{
|
|
29751
29792
|
side: "right",
|
|
@@ -29755,13 +29796,13 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29755
29796
|
}
|
|
29756
29797
|
)
|
|
29757
29798
|
] }),
|
|
29758
|
-
/* @__PURE__ */
|
|
29799
|
+
/* @__PURE__ */ jsx52(
|
|
29759
29800
|
DropdownMenuContent4,
|
|
29760
29801
|
{
|
|
29761
29802
|
align: "end",
|
|
29762
29803
|
className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
|
|
29763
29804
|
sideOffset: 6,
|
|
29764
|
-
children: /* @__PURE__ */
|
|
29805
|
+
children: /* @__PURE__ */ jsx52(
|
|
29765
29806
|
DropdownMenuItem3,
|
|
29766
29807
|
{
|
|
29767
29808
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
@@ -29771,7 +29812,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29771
29812
|
onRequestSectionBatchDeletion(section);
|
|
29772
29813
|
}
|
|
29773
29814
|
},
|
|
29774
|
-
children: /* @__PURE__ */
|
|
29815
|
+
children: /* @__PURE__ */ jsx52("span", { children: labels.batchDeleteConversations })
|
|
29775
29816
|
}
|
|
29776
29817
|
)
|
|
29777
29818
|
}
|
|
@@ -29783,14 +29824,14 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29783
29824
|
]
|
|
29784
29825
|
}
|
|
29785
29826
|
),
|
|
29786
|
-
/* @__PURE__ */
|
|
29827
|
+
/* @__PURE__ */ jsx52(
|
|
29787
29828
|
"div",
|
|
29788
29829
|
{
|
|
29789
29830
|
className: AgentGUINode_styles_default.conversationSectionItems,
|
|
29790
29831
|
"aria-hidden": isSectionCollapsed ? "true" : void 0,
|
|
29791
|
-
children: /* @__PURE__ */
|
|
29792
|
-
!isSectionCollapsed && visibleItems.length === 0 ? /* @__PURE__ */
|
|
29793
|
-
visibleItems.map((item) => /* @__PURE__ */
|
|
29832
|
+
children: /* @__PURE__ */ jsxs37("div", { className: AgentGUINode_styles_default.conversationSectionItemsInner, children: [
|
|
29833
|
+
!isSectionCollapsed && visibleItems.length === 0 ? /* @__PURE__ */ jsx52("div", { className: AgentGUINode_styles_default.conversationSectionEmpty, children: labels.emptyProjectConversations }) : null,
|
|
29834
|
+
visibleItems.map((item) => /* @__PURE__ */ jsx52(
|
|
29794
29835
|
AgentGUIConversationRailItem,
|
|
29795
29836
|
{
|
|
29796
29837
|
active: item.id === activeConversationId,
|
|
@@ -29815,8 +29856,8 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29815
29856
|
},
|
|
29816
29857
|
item.id
|
|
29817
29858
|
)),
|
|
29818
|
-
canShowMore || canShowLess ? /* @__PURE__ */
|
|
29819
|
-
canShowMore ? /* @__PURE__ */
|
|
29859
|
+
canShowMore || canShowLess ? /* @__PURE__ */ jsxs37("div", { className: AgentGUINode_styles_default.conversationSectionPagination, children: [
|
|
29860
|
+
canShowMore ? /* @__PURE__ */ jsx52(
|
|
29820
29861
|
"button",
|
|
29821
29862
|
{
|
|
29822
29863
|
type: "button",
|
|
@@ -29826,7 +29867,7 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29826
29867
|
children: labels.showMoreConversations
|
|
29827
29868
|
}
|
|
29828
29869
|
) : null,
|
|
29829
|
-
canShowLess ? /* @__PURE__ */
|
|
29870
|
+
canShowLess ? /* @__PURE__ */ jsx52(
|
|
29830
29871
|
"button",
|
|
29831
29872
|
{
|
|
29832
29873
|
type: "button",
|
|
@@ -29847,11 +29888,11 @@ var AgentGUIConversationRailSection = memo6(
|
|
|
29847
29888
|
|
|
29848
29889
|
// agent-gui/agentGuiNode/view/AgentGUIProjectActionConfirmationDialog.tsx
|
|
29849
29890
|
import { ConfirmationDialog as ConfirmationDialog2 } from "@tutti-os/ui-system";
|
|
29850
|
-
import { jsx as
|
|
29891
|
+
import { jsx as jsx53 } from "react/jsx-runtime";
|
|
29851
29892
|
var DIALOG_CLASS_NAME = "nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]";
|
|
29852
29893
|
function AgentGUIProjectActionConfirmationDialog(props) {
|
|
29853
29894
|
const { action, labels } = props;
|
|
29854
|
-
return /* @__PURE__ */
|
|
29895
|
+
return /* @__PURE__ */ jsx53(
|
|
29855
29896
|
ConfirmationDialog2,
|
|
29856
29897
|
{
|
|
29857
29898
|
cancelLabel: labels.cancel,
|
|
@@ -30028,7 +30069,7 @@ function useAgentGUIConversationRailViewState(input) {
|
|
|
30028
30069
|
}
|
|
30029
30070
|
|
|
30030
30071
|
// agent-gui/agentGuiNode/view/AgentGUIConversationRailPane.tsx
|
|
30031
|
-
import { jsx as
|
|
30072
|
+
import { jsx as jsx54, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
30032
30073
|
function useDelayedBoolean(value, delayMs) {
|
|
30033
30074
|
const [delayedValue, setDelayedValue] = useState27(false);
|
|
30034
30075
|
useEffect29(() => {
|
|
@@ -30327,15 +30368,15 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
30327
30368
|
cleanupProjectDrag();
|
|
30328
30369
|
};
|
|
30329
30370
|
}, [installProjectDragGlobalListeners]);
|
|
30330
|
-
return /* @__PURE__ */
|
|
30371
|
+
return /* @__PURE__ */ jsxs38(
|
|
30331
30372
|
"aside",
|
|
30332
30373
|
{
|
|
30333
30374
|
ref: railElementRef,
|
|
30334
30375
|
className: AgentGUINode_styles_default.rail,
|
|
30335
30376
|
"aria-hidden": isCollapsed ? "true" : void 0,
|
|
30336
30377
|
children: [
|
|
30337
|
-
/* @__PURE__ */
|
|
30338
|
-
/* @__PURE__ */
|
|
30378
|
+
/* @__PURE__ */ jsxs38("div", { className: AgentGUINode_styles_default.railToolbar, children: [
|
|
30379
|
+
/* @__PURE__ */ jsx54(
|
|
30339
30380
|
TaskSearchField,
|
|
30340
30381
|
{
|
|
30341
30382
|
value: conversationQuery,
|
|
@@ -30343,7 +30384,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
30343
30384
|
onChange: onConversationQueryChange
|
|
30344
30385
|
}
|
|
30345
30386
|
),
|
|
30346
|
-
/* @__PURE__ */
|
|
30387
|
+
/* @__PURE__ */ jsxs38(
|
|
30347
30388
|
Button,
|
|
30348
30389
|
{
|
|
30349
30390
|
type: "button",
|
|
@@ -30354,27 +30395,27 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
30354
30395
|
disabled: createConversationDisabled,
|
|
30355
30396
|
onClick: () => onCreateConversation(),
|
|
30356
30397
|
children: [
|
|
30357
|
-
/* @__PURE__ */
|
|
30358
|
-
/* @__PURE__ */
|
|
30398
|
+
/* @__PURE__ */ jsx54(CreateChatIcon2, { "aria-hidden": "true" }),
|
|
30399
|
+
/* @__PURE__ */ jsx54("span", { children: labels.newConversation })
|
|
30359
30400
|
]
|
|
30360
30401
|
}
|
|
30361
30402
|
)
|
|
30362
30403
|
] }),
|
|
30363
|
-
/* @__PURE__ */
|
|
30404
|
+
/* @__PURE__ */ jsx54(
|
|
30364
30405
|
ScrollArea,
|
|
30365
30406
|
{
|
|
30366
30407
|
scrollbarMode: "native",
|
|
30367
30408
|
className: "min-h-0 flex-1 [&_[data-orientation=vertical][data-slot=scroll-area-scrollbar]]:opacity-100",
|
|
30368
30409
|
viewportRef: railViewState.conversationListRef,
|
|
30369
30410
|
viewportClassName: AgentGUINode_styles_default.conversationList,
|
|
30370
|
-
children: shouldShowConversationSkeleton ? /* @__PURE__ */
|
|
30411
|
+
children: shouldShowConversationSkeleton ? /* @__PURE__ */ jsx54(
|
|
30371
30412
|
AgentConversationListSkeleton,
|
|
30372
30413
|
{
|
|
30373
30414
|
label: labels.loadingConversations
|
|
30374
30415
|
}
|
|
30375
|
-
) : shouldShowConversationSearchError ? /* @__PURE__ */
|
|
30376
|
-
/* @__PURE__ */
|
|
30377
|
-
/* @__PURE__ */
|
|
30416
|
+
) : shouldShowConversationSearchError ? /* @__PURE__ */ jsxs38("div", { className: AgentGUINode_styles_default.emptyState, children: [
|
|
30417
|
+
/* @__PURE__ */ jsx54("span", { children: labels.searchFailed }),
|
|
30418
|
+
/* @__PURE__ */ jsx54(
|
|
30378
30419
|
SystemButton,
|
|
30379
30420
|
{
|
|
30380
30421
|
type: "button",
|
|
@@ -30384,7 +30425,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
30384
30425
|
children: labels.retrySearch
|
|
30385
30426
|
}
|
|
30386
30427
|
)
|
|
30387
|
-
] }) : shouldShowConversationEmptyState ? /* @__PURE__ */
|
|
30428
|
+
] }) : shouldShowConversationEmptyState ? /* @__PURE__ */ jsx54("div", { className: AgentGUINode_styles_default.emptyState, children: /* @__PURE__ */ jsx54("span", { children: conversationQuery.trim() ? labels.searchNoConversations : conversations.length === 0 ? labels.noConversations : labels.conversationUnavailable }) }) : /* @__PURE__ */ jsxs38("fieldset", { className: "contents", disabled: railInteractionsLocked, children: [
|
|
30388
30429
|
groupedConversations.map((section, sectionIndex) => {
|
|
30389
30430
|
const projectPath = section.kind === "project" ? section.project?.path ?? "" : "";
|
|
30390
30431
|
const projectLabel = section.kind === "project" ? section.label : "";
|
|
@@ -30417,9 +30458,9 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
30417
30458
|
(item) => item.projectionSource !== "pending_activation"
|
|
30418
30459
|
).length + (activeOverlayCountsTowardTotal && !activeOverlayIsCanonical ? 1 : 0);
|
|
30419
30460
|
const sectionHasMore = searchSectionHasMore || !conversationQuery.trim() && sectionPageState?.hasMore === true;
|
|
30420
|
-
return /* @__PURE__ */
|
|
30421
|
-
showPinnedProjectHeader ? /* @__PURE__ */
|
|
30422
|
-
showProjectRailHeader ? /* @__PURE__ */
|
|
30461
|
+
return /* @__PURE__ */ jsxs38(Fragment15, { children: [
|
|
30462
|
+
showPinnedProjectHeader ? /* @__PURE__ */ jsx54("div", { className: AgentGUINode_styles_default.pinnedProjectRailHeader, children: labels.sectionPinned }) : null,
|
|
30463
|
+
showProjectRailHeader ? /* @__PURE__ */ jsx54(
|
|
30423
30464
|
AgentGUIProjectRailHeader,
|
|
30424
30465
|
{
|
|
30425
30466
|
disabled: railInteractionsLocked || isUserProjectMutationPending,
|
|
@@ -30428,7 +30469,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
30428
30469
|
workspaceUserProjectI18n
|
|
30429
30470
|
}
|
|
30430
30471
|
) : null,
|
|
30431
|
-
/* @__PURE__ */
|
|
30472
|
+
/* @__PURE__ */ jsx54(
|
|
30432
30473
|
AgentGUIConversationRailSection,
|
|
30433
30474
|
{
|
|
30434
30475
|
activeConversation: activeOverlayConversation,
|
|
@@ -30492,7 +30533,7 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
30492
30533
|
)
|
|
30493
30534
|
] }, section.id);
|
|
30494
30535
|
}),
|
|
30495
|
-
appendProjectRailHeader ? /* @__PURE__ */
|
|
30536
|
+
appendProjectRailHeader ? /* @__PURE__ */ jsx54(
|
|
30496
30537
|
AgentGUIProjectRailHeader,
|
|
30497
30538
|
{
|
|
30498
30539
|
disabled: railInteractionsLocked || isUserProjectMutationPending,
|
|
@@ -30504,8 +30545,8 @@ var AgentGUIConversationRailPane = memo7(
|
|
|
30504
30545
|
] })
|
|
30505
30546
|
}
|
|
30506
30547
|
),
|
|
30507
|
-
footer ? /* @__PURE__ */
|
|
30508
|
-
/* @__PURE__ */
|
|
30548
|
+
footer ? /* @__PURE__ */ jsx54("div", { className: "shrink-0 pb-2", children: footer }) : null,
|
|
30549
|
+
/* @__PURE__ */ jsx54(
|
|
30509
30550
|
AgentGUIProjectActionConfirmationDialog,
|
|
30510
30551
|
{
|
|
30511
30552
|
action: pendingProjectAction,
|
|
@@ -31690,7 +31731,7 @@ function identitySnapshot(snapshot) {
|
|
|
31690
31731
|
}
|
|
31691
31732
|
|
|
31692
31733
|
// agent-gui/agentGuiNode/controller/AgentGUIConversationRailController.tsx
|
|
31693
|
-
import { jsx as
|
|
31734
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
31694
31735
|
var AgentGUIConversationRailController = memo8(
|
|
31695
31736
|
function AgentGUIConversationRailController2(props) {
|
|
31696
31737
|
const [conversationQuery, setConversationQuery] = useState28("");
|
|
@@ -31703,7 +31744,7 @@ var AgentGUIConversationRailController = memo8(
|
|
|
31703
31744
|
userProjects: props.userProjects,
|
|
31704
31745
|
workspaceId: props.workspaceId
|
|
31705
31746
|
});
|
|
31706
|
-
return /* @__PURE__ */
|
|
31747
|
+
return /* @__PURE__ */ jsx55(
|
|
31707
31748
|
AgentGUIConversationRailPane,
|
|
31708
31749
|
{
|
|
31709
31750
|
...props,
|
|
@@ -31894,12 +31935,12 @@ function handoffProjectPathForConversation(conversation) {
|
|
|
31894
31935
|
// agent-gui/agentGuiNode/view/AgentGUIBottomDockPane.tsx
|
|
31895
31936
|
import { memo as memo9 } from "react";
|
|
31896
31937
|
import { ChevronsDown } from "lucide-react";
|
|
31897
|
-
import { cn as
|
|
31938
|
+
import { cn as cn8 } from "@tutti-os/ui-system";
|
|
31898
31939
|
|
|
31899
31940
|
// agent-gui/agentGuiNode/AgentGoalBanner.tsx
|
|
31900
31941
|
import { useEffect as useEffect31, useState as useState29 } from "react";
|
|
31901
31942
|
import { CirclePause, CirclePlay, Pencil as Pencil2, Target as Target3, Trash2 } from "lucide-react";
|
|
31902
|
-
import { jsx as
|
|
31943
|
+
import { jsx as jsx56, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
31903
31944
|
var RESUMABLE_GOAL_STATUSES = /* @__PURE__ */ new Set([
|
|
31904
31945
|
"paused",
|
|
31905
31946
|
"blocked",
|
|
@@ -32009,16 +32050,16 @@ function AgentGoalBanner({
|
|
|
32009
32050
|
onEditObjective?.(next);
|
|
32010
32051
|
}
|
|
32011
32052
|
};
|
|
32012
|
-
return /* @__PURE__ */
|
|
32053
|
+
return /* @__PURE__ */ jsx56("div", { className: AgentGUIChrome_styles_default.sessionChrome, children: /* @__PURE__ */ jsx56(
|
|
32013
32054
|
"section",
|
|
32014
32055
|
{
|
|
32015
32056
|
className: cn(AgentGUIChrome_styles_default.chromeCard, AgentGUIChrome_styles_default.chromeCardMuted),
|
|
32016
32057
|
role: "status",
|
|
32017
32058
|
"data-testid": "agent-gui-goal-banner",
|
|
32018
|
-
children: /* @__PURE__ */
|
|
32019
|
-
/* @__PURE__ */
|
|
32020
|
-
/* @__PURE__ */
|
|
32021
|
-
editDraft !== null ? /* @__PURE__ */
|
|
32059
|
+
children: /* @__PURE__ */ jsxs39("div", { className: AgentGUIChrome_styles_default.chromeMetaRow, children: [
|
|
32060
|
+
/* @__PURE__ */ jsxs39("div", { className: AgentGUIChrome_styles_default.chromeMessageSlot, children: [
|
|
32061
|
+
/* @__PURE__ */ jsx56("span", { className: AgentGUIChrome_styles_default.chromeIcon, children: /* @__PURE__ */ jsx56(Target3, { "aria-hidden": true, className: "size-3.5" }) }),
|
|
32062
|
+
editDraft !== null ? /* @__PURE__ */ jsx56(
|
|
32022
32063
|
"input",
|
|
32023
32064
|
{
|
|
32024
32065
|
className: AgentGUIChrome_styles_default.chromeGoalEditInput,
|
|
@@ -32038,14 +32079,14 @@ function AgentGoalBanner({
|
|
|
32038
32079
|
},
|
|
32039
32080
|
onBlur: () => setEditDraft(null)
|
|
32040
32081
|
}
|
|
32041
|
-
) : /* @__PURE__ */
|
|
32082
|
+
) : /* @__PURE__ */ jsxs39(
|
|
32042
32083
|
"p",
|
|
32043
32084
|
{
|
|
32044
32085
|
className: cn(AgentGUIChrome_styles_default.chromeMessage, AgentGUIChrome_styles_default.chromeNoticeMessage),
|
|
32045
32086
|
title: fullMessage,
|
|
32046
32087
|
children: [
|
|
32047
|
-
/* @__PURE__ */
|
|
32048
|
-
/* @__PURE__ */
|
|
32088
|
+
/* @__PURE__ */ jsx56("span", { className: AgentGUIChrome_styles_default.chromeNoticeTitle, children: title }),
|
|
32089
|
+
/* @__PURE__ */ jsx56(
|
|
32049
32090
|
"span",
|
|
32050
32091
|
{
|
|
32051
32092
|
className: AgentGUIChrome_styles_default.chromeNoticeDescription,
|
|
@@ -32057,8 +32098,8 @@ function AgentGoalBanner({
|
|
|
32057
32098
|
}
|
|
32058
32099
|
)
|
|
32059
32100
|
] }),
|
|
32060
|
-
hasActions ? /* @__PURE__ */
|
|
32061
|
-
onEditObjective !== void 0 && editDraft === null ? /* @__PURE__ */
|
|
32101
|
+
hasActions ? /* @__PURE__ */ jsxs39("div", { className: AgentGUIChrome_styles_default.chromeGoalActions, children: [
|
|
32102
|
+
onEditObjective !== void 0 && editDraft === null ? /* @__PURE__ */ jsx56(
|
|
32062
32103
|
"button",
|
|
32063
32104
|
{
|
|
32064
32105
|
type: "button",
|
|
@@ -32066,10 +32107,10 @@ function AgentGoalBanner({
|
|
|
32066
32107
|
title: labels.editAction,
|
|
32067
32108
|
"aria-label": labels.editAction,
|
|
32068
32109
|
"data-testid": "agent-gui-goal-banner-edit",
|
|
32069
|
-
children: /* @__PURE__ */
|
|
32110
|
+
children: /* @__PURE__ */ jsx56(Pencil2, { "aria-hidden": true, className: "size-3.5" })
|
|
32070
32111
|
}
|
|
32071
32112
|
) : null,
|
|
32072
|
-
showPause ? /* @__PURE__ */
|
|
32113
|
+
showPause ? /* @__PURE__ */ jsx56(
|
|
32073
32114
|
"button",
|
|
32074
32115
|
{
|
|
32075
32116
|
type: "button",
|
|
@@ -32077,10 +32118,10 @@ function AgentGoalBanner({
|
|
|
32077
32118
|
title: labels.pauseAction,
|
|
32078
32119
|
"aria-label": labels.pauseAction,
|
|
32079
32120
|
"data-testid": "agent-gui-goal-banner-pause",
|
|
32080
|
-
children: /* @__PURE__ */
|
|
32121
|
+
children: /* @__PURE__ */ jsx56(CirclePause, { "aria-hidden": true, className: "size-3.5" })
|
|
32081
32122
|
}
|
|
32082
32123
|
) : null,
|
|
32083
|
-
showResume ? /* @__PURE__ */
|
|
32124
|
+
showResume ? /* @__PURE__ */ jsx56(
|
|
32084
32125
|
"button",
|
|
32085
32126
|
{
|
|
32086
32127
|
type: "button",
|
|
@@ -32088,10 +32129,10 @@ function AgentGoalBanner({
|
|
|
32088
32129
|
title: labels.resumeAction,
|
|
32089
32130
|
"aria-label": labels.resumeAction,
|
|
32090
32131
|
"data-testid": "agent-gui-goal-banner-resume",
|
|
32091
|
-
children: /* @__PURE__ */
|
|
32132
|
+
children: /* @__PURE__ */ jsx56(CirclePlay, { "aria-hidden": true, className: "size-3.5" })
|
|
32092
32133
|
}
|
|
32093
32134
|
) : null,
|
|
32094
|
-
onClearGoal !== void 0 ? /* @__PURE__ */
|
|
32135
|
+
onClearGoal !== void 0 ? /* @__PURE__ */ jsx56(
|
|
32095
32136
|
"button",
|
|
32096
32137
|
{
|
|
32097
32138
|
type: "button",
|
|
@@ -32099,10 +32140,10 @@ function AgentGoalBanner({
|
|
|
32099
32140
|
title: labels.clearAction,
|
|
32100
32141
|
"aria-label": labels.clearAction,
|
|
32101
32142
|
"data-testid": "agent-gui-goal-banner-clear",
|
|
32102
|
-
children: /* @__PURE__ */
|
|
32143
|
+
children: /* @__PURE__ */ jsx56(Trash2, { "aria-hidden": true, className: "size-3.5" })
|
|
32103
32144
|
}
|
|
32104
32145
|
) : null
|
|
32105
|
-
] }) : /* @__PURE__ */
|
|
32146
|
+
] }) : /* @__PURE__ */ jsx56(
|
|
32106
32147
|
"span",
|
|
32107
32148
|
{
|
|
32108
32149
|
className: AgentGUIChrome_styles_default.chromeGoalHint,
|
|
@@ -32116,7 +32157,7 @@ function AgentGoalBanner({
|
|
|
32116
32157
|
}
|
|
32117
32158
|
|
|
32118
32159
|
// agent-gui/agentGuiNode/view/AgentGUIBottomDockPane.tsx
|
|
32119
|
-
import { jsx as
|
|
32160
|
+
import { jsx as jsx57, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
32120
32161
|
var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
32121
32162
|
bottomDockRef,
|
|
32122
32163
|
showScrollToBottom,
|
|
@@ -32150,18 +32191,18 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
32150
32191
|
const goalDurationMs = goal ? numberValue(goal.durationMs) : null;
|
|
32151
32192
|
const goalIsOptimistic = sessionChrome.rawState?.goalIsOptimistic === true;
|
|
32152
32193
|
const showGoalBanner = isGoalBannerVisible(goalObjective, goalStatus);
|
|
32153
|
-
return /* @__PURE__ */
|
|
32194
|
+
return /* @__PURE__ */ jsxs40(
|
|
32154
32195
|
"div",
|
|
32155
32196
|
{
|
|
32156
32197
|
ref: bottomDockRef,
|
|
32157
32198
|
className: AgentGUINode_styles_default.bottomDock,
|
|
32158
32199
|
"data-testid": "agent-gui-bottom-dock",
|
|
32159
32200
|
children: [
|
|
32160
|
-
showScrollToBottom ? /* @__PURE__ */
|
|
32201
|
+
showScrollToBottom ? /* @__PURE__ */ jsx57(
|
|
32161
32202
|
"button",
|
|
32162
32203
|
{
|
|
32163
32204
|
type: "button",
|
|
32164
|
-
className:
|
|
32205
|
+
className: cn8(
|
|
32165
32206
|
AgentGUINode_styles_default.bottomDockScrollToBottom,
|
|
32166
32207
|
"nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]"
|
|
32167
32208
|
),
|
|
@@ -32170,15 +32211,15 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
32170
32211
|
title: scrollToBottomLabel,
|
|
32171
32212
|
onPointerDown: (event) => event.stopPropagation(),
|
|
32172
32213
|
onClick: onScrollToBottom,
|
|
32173
|
-
children: /* @__PURE__ */
|
|
32214
|
+
children: /* @__PURE__ */ jsx57(ChevronsDown, { "aria-hidden": "true", size: 15, strokeWidth: 2.2 })
|
|
32174
32215
|
}
|
|
32175
32216
|
) : null,
|
|
32176
|
-
bottomDockLiftedPrompt ? /* @__PURE__ */
|
|
32217
|
+
bottomDockLiftedPrompt ? /* @__PURE__ */ jsx57(
|
|
32177
32218
|
"div",
|
|
32178
32219
|
{
|
|
32179
32220
|
className: AgentGUINode_styles_default.bottomDockPrompt,
|
|
32180
32221
|
"data-testid": "agent-gui-bottom-dock-active-prompt",
|
|
32181
|
-
children: /* @__PURE__ */
|
|
32222
|
+
children: /* @__PURE__ */ jsx57(
|
|
32182
32223
|
AgentInteractivePromptSurface,
|
|
32183
32224
|
{
|
|
32184
32225
|
prompt: bottomDockLiftedPrompt,
|
|
@@ -32193,7 +32234,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
32193
32234
|
)
|
|
32194
32235
|
}
|
|
32195
32236
|
) : null,
|
|
32196
|
-
inlineNoticeChrome ? /* @__PURE__ */
|
|
32237
|
+
inlineNoticeChrome ? /* @__PURE__ */ jsx57(
|
|
32197
32238
|
AgentSessionChrome,
|
|
32198
32239
|
{
|
|
32199
32240
|
chrome: inlineNoticeChrome,
|
|
@@ -32205,7 +32246,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
32205
32246
|
labels: chromeLabels
|
|
32206
32247
|
}
|
|
32207
32248
|
) : null,
|
|
32208
|
-
/* @__PURE__ */
|
|
32249
|
+
/* @__PURE__ */ jsx57(
|
|
32209
32250
|
AgentSessionChrome,
|
|
32210
32251
|
{
|
|
32211
32252
|
chrome: sessionChrome,
|
|
@@ -32217,7 +32258,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
32217
32258
|
labels: chromeLabels
|
|
32218
32259
|
}
|
|
32219
32260
|
),
|
|
32220
|
-
showGoalBanner ? /* @__PURE__ */
|
|
32261
|
+
showGoalBanner ? /* @__PURE__ */ jsx57(
|
|
32221
32262
|
AgentGoalBanner,
|
|
32222
32263
|
{
|
|
32223
32264
|
objective: goalObjective,
|
|
@@ -32232,12 +32273,12 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
32232
32273
|
onClearGoal: () => onGoalControl("clear")
|
|
32233
32274
|
}
|
|
32234
32275
|
) : null,
|
|
32235
|
-
bottomDockReplacementPrompt ? /* @__PURE__ */
|
|
32276
|
+
bottomDockReplacementPrompt ? /* @__PURE__ */ jsx57(
|
|
32236
32277
|
"div",
|
|
32237
32278
|
{
|
|
32238
32279
|
className: AgentGUINode_styles_default.bottomDockPrompt,
|
|
32239
32280
|
"data-testid": "agent-gui-bottom-dock-active-prompt",
|
|
32240
|
-
children: /* @__PURE__ */
|
|
32281
|
+
children: /* @__PURE__ */ jsx57(
|
|
32241
32282
|
AgentInteractivePromptSurface,
|
|
32242
32283
|
{
|
|
32243
32284
|
prompt: bottomDockReplacementPrompt,
|
|
@@ -32251,7 +32292,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
32251
32292
|
}
|
|
32252
32293
|
)
|
|
32253
32294
|
}
|
|
32254
|
-
) : /* @__PURE__ */
|
|
32295
|
+
) : /* @__PURE__ */ jsx57(AgentComposer, { ...composerProps })
|
|
32255
32296
|
]
|
|
32256
32297
|
}
|
|
32257
32298
|
);
|
|
@@ -32261,7 +32302,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
|
|
|
32261
32302
|
import { memo as memo10 } from "react";
|
|
32262
32303
|
import { Info as Info2 } from "lucide-react";
|
|
32263
32304
|
import { Tooltip as Tooltip7, TooltipContent as TooltipContent7, TooltipTrigger as TooltipTrigger7 } from "@tutti-os/ui-system";
|
|
32264
|
-
import { jsx as
|
|
32305
|
+
import { jsx as jsx58, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
32265
32306
|
var AgentGUIDetailHeader = memo10(function AgentGUIDetailHeader2({
|
|
32266
32307
|
activeConversation,
|
|
32267
32308
|
hidden,
|
|
@@ -32274,9 +32315,9 @@ var AgentGUIDetailHeader = memo10(function AgentGUIDetailHeader2({
|
|
|
32274
32315
|
return null;
|
|
32275
32316
|
}
|
|
32276
32317
|
const runPath = activeConversation.cwd.trim();
|
|
32277
|
-
return /* @__PURE__ */
|
|
32278
|
-
/* @__PURE__ */
|
|
32279
|
-
runPath ? /* @__PURE__ */
|
|
32318
|
+
return /* @__PURE__ */ jsx58("div", { className: AgentGUINode_styles_default.detailHeader, children: /* @__PURE__ */ jsxs41("span", { className: AgentGUINode_styles_default.detailHeaderTitleGroup, children: [
|
|
32319
|
+
/* @__PURE__ */ jsx58("span", { className: AgentGUINode_styles_default.detailHeaderTitle, children: conversationPlainTitle(activeConversation, labels, uiLanguage) }),
|
|
32320
|
+
runPath ? /* @__PURE__ */ jsx58(AgentRunPathInfo, { path: runPath, previewMode }) : null
|
|
32280
32321
|
] }) });
|
|
32281
32322
|
});
|
|
32282
32323
|
function AgentRunPathInfo({
|
|
@@ -32284,21 +32325,21 @@ function AgentRunPathInfo({
|
|
|
32284
32325
|
previewMode
|
|
32285
32326
|
}) {
|
|
32286
32327
|
"use memo";
|
|
32287
|
-
const trigger = /* @__PURE__ */
|
|
32328
|
+
const trigger = /* @__PURE__ */ jsx58(
|
|
32288
32329
|
"button",
|
|
32289
32330
|
{
|
|
32290
32331
|
type: "button",
|
|
32291
32332
|
className: AgentGUINode_styles_default.detailHeaderPathInfo,
|
|
32292
32333
|
"aria-label": path,
|
|
32293
|
-
children: /* @__PURE__ */
|
|
32334
|
+
children: /* @__PURE__ */ jsx58(Info2, { size: 14, strokeWidth: 2, "aria-hidden": "true" })
|
|
32294
32335
|
}
|
|
32295
32336
|
);
|
|
32296
32337
|
if (previewMode) {
|
|
32297
32338
|
return trigger;
|
|
32298
32339
|
}
|
|
32299
|
-
return /* @__PURE__ */
|
|
32300
|
-
/* @__PURE__ */
|
|
32301
|
-
/* @__PURE__ */
|
|
32340
|
+
return /* @__PURE__ */ jsxs41(Tooltip7, { children: [
|
|
32341
|
+
/* @__PURE__ */ jsx58(TooltipTrigger7, { asChild: true, children: trigger }),
|
|
32342
|
+
/* @__PURE__ */ jsx58(
|
|
32302
32343
|
TooltipContent7,
|
|
32303
32344
|
{
|
|
32304
32345
|
side: "top",
|
|
@@ -32318,14 +32359,14 @@ import {
|
|
|
32318
32359
|
ToastTitle,
|
|
32319
32360
|
ToastViewport
|
|
32320
32361
|
} from "@tutti-os/ui-system";
|
|
32321
|
-
import { jsx as
|
|
32362
|
+
import { jsx as jsx59, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
32322
32363
|
function AgentGUIContentToast({
|
|
32323
32364
|
insetTopPx,
|
|
32324
32365
|
message
|
|
32325
32366
|
}) {
|
|
32326
32367
|
const [open, setOpen] = useState30(true);
|
|
32327
|
-
return /* @__PURE__ */
|
|
32328
|
-
/* @__PURE__ */
|
|
32368
|
+
return /* @__PURE__ */ jsxs42(ToastProvider, { children: [
|
|
32369
|
+
/* @__PURE__ */ jsx59(
|
|
32329
32370
|
ToastRoot,
|
|
32330
32371
|
{
|
|
32331
32372
|
open,
|
|
@@ -32333,10 +32374,10 @@ function AgentGUIContentToast({
|
|
|
32333
32374
|
"data-testid": "agent-gui-content-toast",
|
|
32334
32375
|
variant: "default",
|
|
32335
32376
|
onOpenChange: setOpen,
|
|
32336
|
-
children: /* @__PURE__ */
|
|
32377
|
+
children: /* @__PURE__ */ jsx59(ToastTitle, { children: message })
|
|
32337
32378
|
}
|
|
32338
32379
|
),
|
|
32339
|
-
/* @__PURE__ */
|
|
32380
|
+
/* @__PURE__ */ jsx59(
|
|
32340
32381
|
ToastViewport,
|
|
32341
32382
|
{
|
|
32342
32383
|
className: "nodrag tsh-desktop-no-drag absolute left-0 w-full translate-x-0 px-4 [-webkit-app-region:no-drag]",
|
|
@@ -32349,7 +32390,7 @@ function AgentGUIContentToast({
|
|
|
32349
32390
|
|
|
32350
32391
|
// agent-gui/agentGuiNode/view/AgentGUIConversationTimelinePane.tsx
|
|
32351
32392
|
import { memo as memo11 } from "react";
|
|
32352
|
-
import { Fragment as
|
|
32393
|
+
import { Fragment as Fragment16, jsx as jsx60, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
32353
32394
|
var EMPTY_WORKSPACE_APP_ICONS3 = [];
|
|
32354
32395
|
var AgentGUIConversationTimelinePane = memo11(
|
|
32355
32396
|
function AgentGUIConversationTimelinePane2({
|
|
@@ -32366,17 +32407,17 @@ var AgentGUIConversationTimelinePane = memo11(
|
|
|
32366
32407
|
labels
|
|
32367
32408
|
}) {
|
|
32368
32409
|
"use memo";
|
|
32369
|
-
return /* @__PURE__ */
|
|
32370
|
-
isLoadingOlderMessages && !isLoading ? /* @__PURE__ */
|
|
32410
|
+
return /* @__PURE__ */ jsxs43(Fragment16, { children: [
|
|
32411
|
+
isLoadingOlderMessages && !isLoading ? /* @__PURE__ */ jsx60(
|
|
32371
32412
|
"div",
|
|
32372
32413
|
{
|
|
32373
32414
|
className: "mx-auto flex h-8 items-center justify-center text-[12px] text-[var(--text-secondary)]",
|
|
32374
32415
|
"data-testid": "agent-gui-older-messages-loading",
|
|
32375
32416
|
role: "status",
|
|
32376
|
-
children: /* @__PURE__ */
|
|
32417
|
+
children: /* @__PURE__ */ jsx60("span", { className: "tsh-inline-loading-ellipsis", children: loadingLabel })
|
|
32377
32418
|
}
|
|
32378
32419
|
) : null,
|
|
32379
|
-
/* @__PURE__ */
|
|
32420
|
+
/* @__PURE__ */ jsx60(
|
|
32380
32421
|
AgentConversationFlow,
|
|
32381
32422
|
{
|
|
32382
32423
|
conversation,
|
|
@@ -32757,10 +32798,10 @@ function useAgentGUIDetailScroll(input) {
|
|
|
32757
32798
|
import { useMemo as useMemo35 } from "react";
|
|
32758
32799
|
|
|
32759
32800
|
// app/renderer/components/icons/UnavailableChatIcon.tsx
|
|
32760
|
-
import { jsx as
|
|
32801
|
+
import { jsx as jsx61 } from "react/jsx-runtime";
|
|
32761
32802
|
function UnavailableChatIcon(props) {
|
|
32762
32803
|
"use memo";
|
|
32763
|
-
return /* @__PURE__ */
|
|
32804
|
+
return /* @__PURE__ */ jsx61(
|
|
32764
32805
|
"svg",
|
|
32765
32806
|
{
|
|
32766
32807
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -32768,7 +32809,7 @@ function UnavailableChatIcon(props) {
|
|
|
32768
32809
|
fill: "currentColor",
|
|
32769
32810
|
"aria-hidden": true,
|
|
32770
32811
|
...props,
|
|
32771
|
-
children: /* @__PURE__ */
|
|
32812
|
+
children: /* @__PURE__ */ jsx61("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" })
|
|
32772
32813
|
}
|
|
32773
32814
|
);
|
|
32774
32815
|
}
|
|
@@ -32814,7 +32855,7 @@ function useAgentGUITimelineTransition(input) {
|
|
|
32814
32855
|
}
|
|
32815
32856
|
|
|
32816
32857
|
// agent-gui/agentGuiNode/view/useAgentGUIDetailModel.tsx
|
|
32817
|
-
import { Fragment as
|
|
32858
|
+
import { Fragment as Fragment17, jsx as jsx62, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
32818
32859
|
function useAgentGUIDetailModel(input) {
|
|
32819
32860
|
const {
|
|
32820
32861
|
bottomDockDismissedPromptRequestId,
|
|
@@ -32962,17 +33003,17 @@ function useAgentGUIDetailModel(input) {
|
|
|
32962
33003
|
]
|
|
32963
33004
|
);
|
|
32964
33005
|
const conversationFlowEmpty = useMemo35(
|
|
32965
|
-
() => showUnavailableChatEmpty ? /* @__PURE__ */
|
|
33006
|
+
() => showUnavailableChatEmpty ? /* @__PURE__ */ jsxs44(
|
|
32966
33007
|
"div",
|
|
32967
33008
|
{
|
|
32968
33009
|
className: AgentGUINode_styles_default.unavailableChatEmpty,
|
|
32969
33010
|
"data-testid": "agent-gui-unavailable-chat-empty",
|
|
32970
33011
|
children: [
|
|
32971
|
-
/* @__PURE__ */
|
|
32972
|
-
/* @__PURE__ */
|
|
33012
|
+
/* @__PURE__ */ jsx62(UnavailableChatIcon, { className: AgentGUINode_styles_default.unavailableChatEmptyIcon }),
|
|
33013
|
+
/* @__PURE__ */ jsx62("span", { className: AgentGUINode_styles_default.unavailableChatEmptyText, children: labels.conversationUnavailable })
|
|
32973
33014
|
]
|
|
32974
33015
|
}
|
|
32975
|
-
) : /* @__PURE__ */
|
|
33016
|
+
) : /* @__PURE__ */ jsx62(Fragment17, {}),
|
|
32976
33017
|
[labels.conversationUnavailable, showUnavailableChatEmpty]
|
|
32977
33018
|
);
|
|
32978
33019
|
const chromeLabels = useMemo35(
|
|
@@ -33097,6 +33138,7 @@ function useAgentGUIDetailModel(input) {
|
|
|
33097
33138
|
permissionModeReadOnly: labels.permissionModeReadOnly,
|
|
33098
33139
|
permissionModeAuto: labels.permissionModeAuto,
|
|
33099
33140
|
permissionModeFullAccess: labels.permissionModeFullAccess,
|
|
33141
|
+
permissionModeChangeUnavailableDuringTurn: labels.permissionModeChangeUnavailableDuringTurn,
|
|
33100
33142
|
modelDescriptions: labels.modelDescriptions,
|
|
33101
33143
|
planModeLabel: labels.planModeLabel,
|
|
33102
33144
|
planModeOnLabel: labels.planModeOnLabel,
|
|
@@ -33219,6 +33261,7 @@ function useAgentGUIDetailModel(input) {
|
|
|
33219
33261
|
labels.modelTooltipVersionLabel,
|
|
33220
33262
|
labels.permissionLabel,
|
|
33221
33263
|
labels.permissionModeAuto,
|
|
33264
|
+
labels.permissionModeChangeUnavailableDuringTurn,
|
|
33222
33265
|
labels.permissionModeFullAccess,
|
|
33223
33266
|
labels.permissionModeReadOnly,
|
|
33224
33267
|
labels.planModeLabel,
|
|
@@ -33347,7 +33390,7 @@ function useAgentGUIDetailModel(input) {
|
|
|
33347
33390
|
}
|
|
33348
33391
|
|
|
33349
33392
|
// agent-gui/agentGuiNode/view/AgentGUIDetailPane.tsx
|
|
33350
|
-
import { Fragment as
|
|
33393
|
+
import { Fragment as Fragment18, jsx as jsx63, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
33351
33394
|
var AGENT_GUI_TIMELINE_SCROLL_AREA_CONTENT_STYLE = {
|
|
33352
33395
|
width: "100%",
|
|
33353
33396
|
minWidth: "100%",
|
|
@@ -33804,14 +33847,14 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
33804
33847
|
timelineScrollAnchorRef,
|
|
33805
33848
|
viewModel
|
|
33806
33849
|
});
|
|
33807
|
-
return /* @__PURE__ */
|
|
33850
|
+
return /* @__PURE__ */ jsxs45(
|
|
33808
33851
|
"main",
|
|
33809
33852
|
{
|
|
33810
33853
|
className: AgentGUINode_styles_default.detail,
|
|
33811
33854
|
"aria-busy": timelineInteractionLocked || void 0,
|
|
33812
33855
|
inert: timelineInteractionLocked,
|
|
33813
33856
|
children: [
|
|
33814
|
-
viewModel.operations.goalClearNoticeSequence > 0 ? /* @__PURE__ */
|
|
33857
|
+
viewModel.operations.goalClearNoticeSequence > 0 ? /* @__PURE__ */ jsx63(
|
|
33815
33858
|
AgentGUIContentToast,
|
|
33816
33859
|
{
|
|
33817
33860
|
insetTopPx: hideDetailHeader ? 16 : 80,
|
|
@@ -33819,7 +33862,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
33819
33862
|
},
|
|
33820
33863
|
viewModel.operations.goalClearNoticeSequence
|
|
33821
33864
|
) : null,
|
|
33822
|
-
/* @__PURE__ */
|
|
33865
|
+
/* @__PURE__ */ jsx63(
|
|
33823
33866
|
AgentGUIDetailHeader,
|
|
33824
33867
|
{
|
|
33825
33868
|
activeConversation: viewModel.rail.activeConversation,
|
|
@@ -33829,7 +33872,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
33829
33872
|
previewMode
|
|
33830
33873
|
}
|
|
33831
33874
|
),
|
|
33832
|
-
/* @__PURE__ */
|
|
33875
|
+
/* @__PURE__ */ jsx63(
|
|
33833
33876
|
ScrollArea2,
|
|
33834
33877
|
{
|
|
33835
33878
|
scrollbarMode: "native",
|
|
@@ -33838,7 +33881,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
33838
33881
|
viewportTestId: "agent-gui-timeline",
|
|
33839
33882
|
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(),
|
|
33840
33883
|
viewportContentStyle: AGENT_GUI_TIMELINE_SCROLL_AREA_CONTENT_STYLE,
|
|
33841
|
-
children: !hasActiveConversation ? shouldRenderProviderUnavailableState && disabledProviderTarget ? /* @__PURE__ */
|
|
33884
|
+
children: !hasActiveConversation ? shouldRenderProviderUnavailableState && disabledProviderTarget ? /* @__PURE__ */ jsx63(Fragment18, { children: renderProviderUnavailableState?.({
|
|
33842
33885
|
provider: disabledProviderTarget.provider,
|
|
33843
33886
|
providerLabel: labels.emptyProviderForProvider?.(
|
|
33844
33887
|
disabledProviderTarget.provider
|
|
@@ -33850,7 +33893,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
33850
33893
|
disabledProviderTarget.provider
|
|
33851
33894
|
),
|
|
33852
33895
|
unavailableReason: disabledProviderTarget.unavailableReason ?? null
|
|
33853
|
-
}) }) : /* @__PURE__ */
|
|
33896
|
+
}) }) : /* @__PURE__ */ jsx63(
|
|
33854
33897
|
AgentGUIEmptyHomePane,
|
|
33855
33898
|
{
|
|
33856
33899
|
provider: emptyHeroProvider,
|
|
@@ -33873,7 +33916,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
33873
33916
|
onSelectSuggestion: handleSelectHomeSuggestion,
|
|
33874
33917
|
onSelectSuggestionAction: handleHomeSuggestionAction
|
|
33875
33918
|
}
|
|
33876
|
-
) : /* @__PURE__ */
|
|
33919
|
+
) : /* @__PURE__ */ jsx63(
|
|
33877
33920
|
AgentGUIConversationTimelinePane,
|
|
33878
33921
|
{
|
|
33879
33922
|
conversation,
|
|
@@ -33891,7 +33934,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
33891
33934
|
)
|
|
33892
33935
|
}
|
|
33893
33936
|
),
|
|
33894
|
-
hasActiveConversation ? /* @__PURE__ */
|
|
33937
|
+
hasActiveConversation ? /* @__PURE__ */ jsx63(
|
|
33895
33938
|
AgentGUIBottomDockPane,
|
|
33896
33939
|
{
|
|
33897
33940
|
bottomDockRef,
|
|
@@ -33925,7 +33968,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
33925
33968
|
// agent-gui/agentGuiNode/view/AgentGUIRenameConversationDialog.tsx
|
|
33926
33969
|
import { memo as memo13, useCallback as useCallback52, useEffect as useEffect34, useRef as useRef43, useState as useState34 } from "react";
|
|
33927
33970
|
import { ConfirmationDialog as ConfirmationDialog3, Input as Input2 } from "@tutti-os/ui-system";
|
|
33928
|
-
import { jsx as
|
|
33971
|
+
import { jsx as jsx64, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
33929
33972
|
var AgentGUIRenameConversationDialog = memo13(
|
|
33930
33973
|
function AgentGUIRenameConversationDialog2({
|
|
33931
33974
|
conversation,
|
|
@@ -33981,7 +34024,7 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
33981
34024
|
setIsSaving(false);
|
|
33982
34025
|
});
|
|
33983
34026
|
}, [conversation, onOpenChange, onRename, trimmedTitle]);
|
|
33984
|
-
return /* @__PURE__ */
|
|
34027
|
+
return /* @__PURE__ */ jsx64(
|
|
33985
34028
|
ConfirmationDialog3,
|
|
33986
34029
|
{
|
|
33987
34030
|
cancelLabel: labels.cancel,
|
|
@@ -33990,8 +34033,8 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
33990
34033
|
confirmDisabled: !trimmedTitle,
|
|
33991
34034
|
confirmLabel: labels.renameSessionSave,
|
|
33992
34035
|
description: labels.renameSessionDescription,
|
|
33993
|
-
footer: /* @__PURE__ */
|
|
33994
|
-
/* @__PURE__ */
|
|
34036
|
+
footer: /* @__PURE__ */ jsxs46("div", { className: "flex justify-end gap-2", children: [
|
|
34037
|
+
/* @__PURE__ */ jsx64(
|
|
33995
34038
|
Button,
|
|
33996
34039
|
{
|
|
33997
34040
|
disabled: isSaving,
|
|
@@ -34029,7 +34072,7 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
34029
34072
|
children: labels.cancel
|
|
34030
34073
|
}
|
|
34031
34074
|
),
|
|
34032
|
-
/* @__PURE__ */
|
|
34075
|
+
/* @__PURE__ */ jsx64(
|
|
34033
34076
|
Button,
|
|
34034
34077
|
{
|
|
34035
34078
|
className: "shadow-none",
|
|
@@ -34084,7 +34127,7 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
34084
34127
|
title: labels.renameSessionTitle,
|
|
34085
34128
|
onConfirm: confirmRename,
|
|
34086
34129
|
onOpenChange,
|
|
34087
|
-
children: /* @__PURE__ */
|
|
34130
|
+
children: /* @__PURE__ */ jsx64(
|
|
34088
34131
|
Input2,
|
|
34089
34132
|
{
|
|
34090
34133
|
ref: inputRef,
|
|
@@ -34112,7 +34155,7 @@ import {
|
|
|
34112
34155
|
ReferenceSourcePicker,
|
|
34113
34156
|
WorkspaceFileReferencePicker
|
|
34114
34157
|
} from "@tutti-os/workspace-file-reference/ui";
|
|
34115
|
-
import { jsx as
|
|
34158
|
+
import { jsx as jsx65 } from "react/jsx-runtime";
|
|
34116
34159
|
function AgentGUIReferencePickerSurface({
|
|
34117
34160
|
aggregator,
|
|
34118
34161
|
copy,
|
|
@@ -34129,7 +34172,7 @@ function AgentGUIReferencePickerSurface({
|
|
|
34129
34172
|
onConfirm,
|
|
34130
34173
|
onConfirmBundles
|
|
34131
34174
|
}) {
|
|
34132
|
-
return aggregator ? /* @__PURE__ */
|
|
34175
|
+
return aggregator ? /* @__PURE__ */ jsx65(
|
|
34133
34176
|
ReferenceSourcePicker,
|
|
34134
34177
|
{
|
|
34135
34178
|
aggregator,
|
|
@@ -34139,7 +34182,7 @@ function AgentGUIReferencePickerSurface({
|
|
|
34139
34182
|
fileManagerCopy: fileManagerCopy ?? void 0,
|
|
34140
34183
|
open,
|
|
34141
34184
|
provenanceFilter: provenanceFilter?.snapshot.value,
|
|
34142
|
-
provenanceFilterControl: provenanceFilter ? /* @__PURE__ */
|
|
34185
|
+
provenanceFilterControl: provenanceFilter ? /* @__PURE__ */ jsx65(
|
|
34143
34186
|
AgentReferenceProvenanceFilterControl,
|
|
34144
34187
|
{
|
|
34145
34188
|
filter: provenanceFilter,
|
|
@@ -34152,7 +34195,7 @@ function AgentGUIReferencePickerSurface({
|
|
|
34152
34195
|
onConfirm,
|
|
34153
34196
|
onConfirmBundles
|
|
34154
34197
|
}
|
|
34155
|
-
) : /* @__PURE__ */
|
|
34198
|
+
) : /* @__PURE__ */ jsx65(
|
|
34156
34199
|
WorkspaceFileReferencePicker,
|
|
34157
34200
|
{
|
|
34158
34201
|
copy,
|
|
@@ -34169,7 +34212,7 @@ function AgentGUIReferencePickerSurface({
|
|
|
34169
34212
|
|
|
34170
34213
|
// agent-gui/agentGuiNode/view/AgentTargetSetupRoot.tsx
|
|
34171
34214
|
import { useCallback as useCallback53, useMemo as useMemo37 } from "react";
|
|
34172
|
-
import { jsx as
|
|
34215
|
+
import { jsx as jsx66, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
34173
34216
|
function useAgentTargetSetupRoot(input) {
|
|
34174
34217
|
const { preferences } = useAgentGUIProviderRailPreferences();
|
|
34175
34218
|
const homeTargetProjection = useMemo37(
|
|
@@ -34204,9 +34247,9 @@ function AgentTargetSetupRoot({
|
|
|
34204
34247
|
children,
|
|
34205
34248
|
controller
|
|
34206
34249
|
}) {
|
|
34207
|
-
return /* @__PURE__ */
|
|
34250
|
+
return /* @__PURE__ */ jsxs47(AgentTargetSetupControllerProvider, { controller, children: [
|
|
34208
34251
|
children,
|
|
34209
|
-
/* @__PURE__ */
|
|
34252
|
+
/* @__PURE__ */ jsx66(
|
|
34210
34253
|
AgentTargetSetupGate,
|
|
34211
34254
|
{
|
|
34212
34255
|
carouselMountedExternally: false,
|
|
@@ -34596,7 +34639,7 @@ function useAgentGUINodeEngagement(input) {
|
|
|
34596
34639
|
}
|
|
34597
34640
|
|
|
34598
34641
|
// agent-gui/agentGuiNode/AgentGUINodeView.tsx
|
|
34599
|
-
import { jsx as
|
|
34642
|
+
import { jsx as jsx67, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
34600
34643
|
function AgentGUINodeView({
|
|
34601
34644
|
viewModel,
|
|
34602
34645
|
referenceProvenanceFilter = null,
|
|
@@ -35033,8 +35076,8 @@ function AgentGUINodeView({
|
|
|
35033
35076
|
),
|
|
35034
35077
|
[viewModel.rail.agentTargets, viewModel.shell.workspaceId]
|
|
35035
35078
|
);
|
|
35036
|
-
const content = /* @__PURE__ */
|
|
35037
|
-
/* @__PURE__ */
|
|
35079
|
+
const content = /* @__PURE__ */ jsx67(AgentTargetPresentationProvider, { agentTargets: agentTargetPresentations, children: /* @__PURE__ */ jsxs48(AgentTargetSetupRoot, { controller: targetSetupController, children: [
|
|
35080
|
+
/* @__PURE__ */ jsxs48(
|
|
35038
35081
|
"div",
|
|
35039
35082
|
{
|
|
35040
35083
|
ref: layoutElementRef,
|
|
@@ -35044,7 +35087,7 @@ function AgentGUINodeView({
|
|
|
35044
35087
|
inert: previewMode ? true : void 0,
|
|
35045
35088
|
style: layoutStyle,
|
|
35046
35089
|
children: [
|
|
35047
|
-
/* @__PURE__ */
|
|
35090
|
+
/* @__PURE__ */ jsxs48(
|
|
35048
35091
|
"aside",
|
|
35049
35092
|
{
|
|
35050
35093
|
className: `${AgentGUINode_styles_default.providerRailPanel} nodrag tsh-desktop-no-drag`,
|
|
@@ -35052,7 +35095,7 @@ function AgentGUINodeView({
|
|
|
35052
35095
|
"aria-hidden": conversationRailCollapsed ? "true" : void 0,
|
|
35053
35096
|
inert: conversationRailCollapsed ? true : void 0,
|
|
35054
35097
|
children: [
|
|
35055
|
-
/* @__PURE__ */
|
|
35098
|
+
/* @__PURE__ */ jsx67(
|
|
35056
35099
|
AgentGUIProviderRail,
|
|
35057
35100
|
{
|
|
35058
35101
|
activeConversation: viewModel.rail.activeConversation,
|
|
@@ -35076,7 +35119,7 @@ function AgentGUINodeView({
|
|
|
35076
35119
|
onRequestComposerFocus: requestComposerFocus
|
|
35077
35120
|
}
|
|
35078
35121
|
),
|
|
35079
|
-
renderSidebarFooter ? /* @__PURE__ */
|
|
35122
|
+
renderSidebarFooter ? /* @__PURE__ */ jsx67(
|
|
35080
35123
|
"div",
|
|
35081
35124
|
{
|
|
35082
35125
|
className: `${AgentGUINode_styles_default.providerRailFooter} ${AgentGUINode_styles_default.providerRailSidebarFooter} nodrag tsh-desktop-no-drag`,
|
|
@@ -35087,12 +35130,12 @@ function AgentGUINodeView({
|
|
|
35087
35130
|
})
|
|
35088
35131
|
}
|
|
35089
35132
|
) : null,
|
|
35090
|
-
shouldShowProviderRailConfigButton ? /* @__PURE__ */
|
|
35133
|
+
shouldShowProviderRailConfigButton ? /* @__PURE__ */ jsx67(
|
|
35091
35134
|
"div",
|
|
35092
35135
|
{
|
|
35093
35136
|
className: `${AgentGUINode_styles_default.providerRailFooter} ${AgentGUINode_styles_default.providerRailConfigFooter} nodrag tsh-desktop-no-drag`,
|
|
35094
35137
|
"data-testid": "agent-gui-config-footer",
|
|
35095
|
-
children: /* @__PURE__ */
|
|
35138
|
+
children: /* @__PURE__ */ jsx67(
|
|
35096
35139
|
AgentGUIConfigMenu,
|
|
35097
35140
|
{
|
|
35098
35141
|
environmentSetupVisible,
|
|
@@ -35118,21 +35161,21 @@ function AgentGUINodeView({
|
|
|
35118
35161
|
]
|
|
35119
35162
|
}
|
|
35120
35163
|
),
|
|
35121
|
-
/* @__PURE__ */
|
|
35164
|
+
/* @__PURE__ */ jsx67(
|
|
35122
35165
|
"aside",
|
|
35123
35166
|
{
|
|
35124
35167
|
id: "agent-gui-conversation-rail",
|
|
35125
35168
|
className: `${AgentGUINode_styles_default.railPanel}${conversationRailCollapsed ? ` ${AgentGUINode_styles_default.railPanelCollapsed}` : ""}`,
|
|
35126
35169
|
"aria-hidden": conversationRailCollapsed ? "true" : void 0,
|
|
35127
35170
|
inert: conversationRailCollapsed ? true : void 0,
|
|
35128
|
-
children: /* @__PURE__ */
|
|
35171
|
+
children: /* @__PURE__ */ jsx67(
|
|
35129
35172
|
AgentGUIConversationRailController,
|
|
35130
35173
|
{
|
|
35131
35174
|
...conversationRailStoreState,
|
|
35132
35175
|
conversations: viewModel.rail.conversations,
|
|
35133
35176
|
userProjects: viewModel.rail.userProjects,
|
|
35134
35177
|
workspaceId: viewModel.shell.workspaceId,
|
|
35135
|
-
footer: accountMenuState?.user ? /* @__PURE__ */
|
|
35178
|
+
footer: accountMenuState?.user ? /* @__PURE__ */ jsx67(
|
|
35136
35179
|
AgentGUIAccountRailMenu,
|
|
35137
35180
|
{
|
|
35138
35181
|
accountMenuState,
|
|
@@ -35144,7 +35187,7 @@ function AgentGUINodeView({
|
|
|
35144
35187
|
)
|
|
35145
35188
|
}
|
|
35146
35189
|
),
|
|
35147
|
-
/* @__PURE__ */
|
|
35190
|
+
/* @__PURE__ */ jsx67(
|
|
35148
35191
|
"div",
|
|
35149
35192
|
{
|
|
35150
35193
|
id: "agent-gui-conversation-rail-resize",
|
|
@@ -35168,7 +35211,7 @@ function AgentGUINodeView({
|
|
|
35168
35211
|
onPointerUp: endConversationRailResize
|
|
35169
35212
|
}
|
|
35170
35213
|
),
|
|
35171
|
-
/* @__PURE__ */
|
|
35214
|
+
/* @__PURE__ */ jsx67("section", { id: "agent-gui-detail", className: AgentGUINode_styles_default.detailPanel, children: /* @__PURE__ */ jsx67(
|
|
35172
35215
|
AgentGUIDetailPane,
|
|
35173
35216
|
{
|
|
35174
35217
|
viewModel,
|
|
@@ -35206,7 +35249,7 @@ function AgentGUINodeView({
|
|
|
35206
35249
|
]
|
|
35207
35250
|
}
|
|
35208
35251
|
),
|
|
35209
|
-
/* @__PURE__ */
|
|
35252
|
+
/* @__PURE__ */ jsx67(
|
|
35210
35253
|
AgentGUIReferencePickerSurface,
|
|
35211
35254
|
{
|
|
35212
35255
|
aggregator: referenceSourceAggregator,
|
|
@@ -35225,7 +35268,7 @@ function AgentGUINodeView({
|
|
|
35225
35268
|
onConfirmBundles: confirmWorkspaceReferenceBundles
|
|
35226
35269
|
}
|
|
35227
35270
|
),
|
|
35228
|
-
/* @__PURE__ */
|
|
35271
|
+
/* @__PURE__ */ jsx67(
|
|
35229
35272
|
AgentGUIRenameConversationDialog,
|
|
35230
35273
|
{
|
|
35231
35274
|
conversation: renameConversationTarget,
|
|
@@ -35241,7 +35284,7 @@ function AgentGUINodeView({
|
|
|
35241
35284
|
}
|
|
35242
35285
|
)
|
|
35243
35286
|
] }) });
|
|
35244
|
-
return previewMode ? content : /* @__PURE__ */
|
|
35287
|
+
return previewMode ? content : /* @__PURE__ */ jsx67(TooltipProvider5, { children: content });
|
|
35245
35288
|
}
|
|
35246
35289
|
|
|
35247
35290
|
// agent-gui/workspaceDesktop/view/desktopDockAgentProbeTooltipModel.ts
|
|
@@ -35422,7 +35465,7 @@ import {
|
|
|
35422
35465
|
useState as useState37
|
|
35423
35466
|
} from "react";
|
|
35424
35467
|
import { createPortal as createPortal5 } from "react-dom";
|
|
35425
|
-
import { Fragment as
|
|
35468
|
+
import { Fragment as Fragment19, jsx as jsx68, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
35426
35469
|
var POPOVER_MIN_VIEWPORT_INSET_PX = 16;
|
|
35427
35470
|
var POPOVER_DEFAULT_WIDTH_PX = 260;
|
|
35428
35471
|
function dockAgentProbeLineKey(line) {
|
|
@@ -35432,11 +35475,11 @@ function renderDockAgentProbeLine(line) {
|
|
|
35432
35475
|
if (typeof line === "string") {
|
|
35433
35476
|
return line;
|
|
35434
35477
|
}
|
|
35435
|
-
return /* @__PURE__ */
|
|
35478
|
+
return /* @__PURE__ */ jsxs49(Fragment19, { children: [
|
|
35436
35479
|
line.primary,
|
|
35437
|
-
line.secondary ? /* @__PURE__ */
|
|
35480
|
+
line.secondary ? /* @__PURE__ */ jsxs49(Fragment19, { children: [
|
|
35438
35481
|
" ",
|
|
35439
|
-
/* @__PURE__ */
|
|
35482
|
+
/* @__PURE__ */ jsx68("span", { className: "desktop-dock-popup__agent-status-secondary", children: line.secondary })
|
|
35440
35483
|
] }) : null
|
|
35441
35484
|
] });
|
|
35442
35485
|
}
|
|
@@ -35520,7 +35563,7 @@ function AgentProbeInfoPopover({
|
|
|
35520
35563
|
if (lines.length === 0) {
|
|
35521
35564
|
return null;
|
|
35522
35565
|
}
|
|
35523
|
-
const popover = /* @__PURE__ */
|
|
35566
|
+
const popover = /* @__PURE__ */ jsx68(
|
|
35524
35567
|
"div",
|
|
35525
35568
|
{
|
|
35526
35569
|
ref: popoverRef,
|
|
@@ -35529,17 +35572,17 @@ function AgentProbeInfoPopover({
|
|
|
35529
35572
|
style: popoverStyle ?? void 0,
|
|
35530
35573
|
onMouseEnter: openPopover,
|
|
35531
35574
|
onMouseLeave: closeIfPointerLeavesPopover,
|
|
35532
|
-
children: /* @__PURE__ */
|
|
35575
|
+
children: /* @__PURE__ */ jsx68("ul", { className: "desktop-dock-popup__agent-info-list", children: lines.map((line) => {
|
|
35533
35576
|
const label = getDockAgentProbeLineLabel(line);
|
|
35534
35577
|
const valueText = formatDockAgentProbeLineText(line);
|
|
35535
|
-
return /* @__PURE__ */
|
|
35578
|
+
return /* @__PURE__ */ jsxs49(
|
|
35536
35579
|
"li",
|
|
35537
35580
|
{
|
|
35538
35581
|
className: "desktop-dock-popup__agent-info-item",
|
|
35539
35582
|
"data-has-label": label ? "true" : "false",
|
|
35540
35583
|
children: [
|
|
35541
|
-
label ? /* @__PURE__ */
|
|
35542
|
-
/* @__PURE__ */
|
|
35584
|
+
label ? /* @__PURE__ */ jsx68("span", { className: "desktop-dock-popup__agent-info-label", children: label }) : null,
|
|
35585
|
+
/* @__PURE__ */ jsx68(
|
|
35543
35586
|
"span",
|
|
35544
35587
|
{
|
|
35545
35588
|
className: "desktop-dock-popup__agent-info-value",
|
|
@@ -35554,7 +35597,7 @@ function AgentProbeInfoPopover({
|
|
|
35554
35597
|
}) })
|
|
35555
35598
|
}
|
|
35556
35599
|
);
|
|
35557
|
-
return /* @__PURE__ */
|
|
35600
|
+
return /* @__PURE__ */ jsxs49(
|
|
35558
35601
|
"div",
|
|
35559
35602
|
{
|
|
35560
35603
|
ref: anchorRef,
|
|
@@ -35574,7 +35617,7 @@ function AgentProbeInfoPopover({
|
|
|
35574
35617
|
},
|
|
35575
35618
|
onBlur: () => setIsOpen(false),
|
|
35576
35619
|
children: [
|
|
35577
|
-
/* @__PURE__ */
|
|
35620
|
+
/* @__PURE__ */ jsx68(Info3, { size: 15, strokeWidth: 2.1, "aria-hidden": "true" }),
|
|
35578
35621
|
isOpen ? createPortal5(popover, document.body) : null
|
|
35579
35622
|
]
|
|
35580
35623
|
}
|
|
@@ -35672,7 +35715,7 @@ import {
|
|
|
35672
35715
|
useEffectiveRichTextMentionService,
|
|
35673
35716
|
useRichTextMentionService
|
|
35674
35717
|
} from "@tutti-os/ui-rich-text/editor";
|
|
35675
|
-
import { jsx as
|
|
35718
|
+
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
35676
35719
|
function AgentGUIMentionServiceBoundary({
|
|
35677
35720
|
children,
|
|
35678
35721
|
legacyProviders,
|
|
@@ -35686,7 +35729,7 @@ function AgentGUIMentionServiceBoundary({
|
|
|
35686
35729
|
if (!service && !inheritedService && !legacyProviders?.length) {
|
|
35687
35730
|
return children;
|
|
35688
35731
|
}
|
|
35689
|
-
return effectiveService !== inheritedService ? /* @__PURE__ */
|
|
35732
|
+
return effectiveService !== inheritedService ? /* @__PURE__ */ jsx69(RichTextMentionServiceProvider, { service: effectiveService, children }) : children;
|
|
35690
35733
|
}
|
|
35691
35734
|
|
|
35692
35735
|
// agent-gui/agentGuiNode/AgentGUINode.labels.ts
|
|
@@ -35951,6 +35994,9 @@ function useAgentGUIViewLabels(input) {
|
|
|
35951
35994
|
permissionModeFullAccess: t(
|
|
35952
35995
|
"agentHost.agentGui.permissionModeFullAccess"
|
|
35953
35996
|
),
|
|
35997
|
+
permissionModeChangeUnavailableDuringTurn: t(
|
|
35998
|
+
"agentHost.agentGui.permissionModeChangeUnavailableDuringTurn"
|
|
35999
|
+
),
|
|
35954
36000
|
modelDescriptions: {
|
|
35955
36001
|
frontierComplexCoding: t(
|
|
35956
36002
|
"agentHost.agentGui.modelDescriptions.frontierComplexCoding"
|
|
@@ -36088,6 +36134,9 @@ function useAgentGUIViewLabels(input) {
|
|
|
36088
36134
|
),
|
|
36089
36135
|
conversationFilterTutti: t("agentHost.agentGui.conversationFilterTutti"),
|
|
36090
36136
|
providerSwitchLabel: t("agentHost.agentGui.providerSwitchLabel"),
|
|
36137
|
+
sharedAgentOwnerSeparator: t(
|
|
36138
|
+
"agentHost.agentGui.sharedAgentOwnerSeparator"
|
|
36139
|
+
),
|
|
36091
36140
|
loadingConversation: t("agentHost.agentGui.loadingConversation"),
|
|
36092
36141
|
scrollToBottom: t("agentHost.agentGui.scrollToBottom"),
|
|
36093
36142
|
fallbackAgentTitle,
|
|
@@ -36540,7 +36589,7 @@ function resolveAgentGUIRailStatusProvider(input) {
|
|
|
36540
36589
|
}
|
|
36541
36590
|
|
|
36542
36591
|
// agent-gui/agentGuiNode/AgentGUINode.tsx
|
|
36543
|
-
import { jsx as
|
|
36592
|
+
import { jsx as jsx70, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
36544
36593
|
var EMPTY_SLASH_STATUS_QUOTAS = [];
|
|
36545
36594
|
var DISABLED_REFERENCE_PROVENANCE_CATALOG = {
|
|
36546
36595
|
enabledDimensions: [],
|
|
@@ -36949,12 +36998,12 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
36949
36998
|
previewMode,
|
|
36950
36999
|
railStatusProvider
|
|
36951
37000
|
]);
|
|
36952
|
-
return /* @__PURE__ */
|
|
37001
|
+
return /* @__PURE__ */ jsx70(
|
|
36953
37002
|
AgentGUIMentionServiceBoundary,
|
|
36954
37003
|
{
|
|
36955
37004
|
legacyProviders: contextMentionProviders,
|
|
36956
37005
|
service: mentionService,
|
|
36957
|
-
children: /* @__PURE__ */
|
|
37006
|
+
children: /* @__PURE__ */ jsx70(
|
|
36958
37007
|
WorkspaceNodeWindow,
|
|
36959
37008
|
{
|
|
36960
37009
|
nodeId,
|
|
@@ -36970,8 +37019,8 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
36970
37019
|
className: "size-full bg-transparent",
|
|
36971
37020
|
bodyClassName: `${AgentGUINode_styles_default.shell} nodrag size-full min-h-0 min-w-0 !bg-transparent p-0`,
|
|
36972
37021
|
hideHeader: embedded,
|
|
36973
|
-
titleAccessory: /* @__PURE__ */
|
|
36974
|
-
/* @__PURE__ */
|
|
37022
|
+
titleAccessory: /* @__PURE__ */ jsxs50("span", { className: "inline-flex flex-none items-center gap-1", children: [
|
|
37023
|
+
/* @__PURE__ */ jsx70(
|
|
36975
37024
|
AgentProbeInfoPopover,
|
|
36976
37025
|
{
|
|
36977
37026
|
lines: agentProbeLines,
|
|
@@ -36980,7 +37029,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
36980
37029
|
onOpen: handleAgentProbeInfoOpen
|
|
36981
37030
|
}
|
|
36982
37031
|
),
|
|
36983
|
-
/* @__PURE__ */
|
|
37032
|
+
/* @__PURE__ */ jsx70(
|
|
36984
37033
|
CanvasNodeGhostIconButton,
|
|
36985
37034
|
{
|
|
36986
37035
|
"aria-label": isConversationRailCollapsed ? t("agentHost.agentGui.expandConversationRail") : t("agentHost.agentGui.collapseConversationRail"),
|
|
@@ -36992,7 +37041,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
36992
37041
|
event.stopPropagation();
|
|
36993
37042
|
handleConversationRailToggle();
|
|
36994
37043
|
},
|
|
36995
|
-
children: /* @__PURE__ */
|
|
37044
|
+
children: /* @__PURE__ */ jsx70(
|
|
36996
37045
|
CanvasNodePanelLinedIcon,
|
|
36997
37046
|
{
|
|
36998
37047
|
width: 18,
|
|
@@ -37016,7 +37065,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
37016
37065
|
renderedWidth,
|
|
37017
37066
|
railAutoCollapseWidthPx
|
|
37018
37067
|
);
|
|
37019
|
-
return /* @__PURE__ */
|
|
37068
|
+
return /* @__PURE__ */ jsx70(
|
|
37020
37069
|
AgentGUINodeView,
|
|
37021
37070
|
{
|
|
37022
37071
|
viewModel,
|
|
@@ -37088,7 +37137,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
37088
37137
|
}, areAgentGUINodePropsEqual);
|
|
37089
37138
|
|
|
37090
37139
|
// AgentGUI.tsx
|
|
37091
|
-
import { jsx as
|
|
37140
|
+
import { jsx as jsx71 } from "react/jsx-runtime";
|
|
37092
37141
|
var AgentGUI = memo15(function AgentGUI2({
|
|
37093
37142
|
agentActivityRuntime,
|
|
37094
37143
|
agentHostApi,
|
|
@@ -37127,15 +37176,15 @@ var AgentGUI = memo15(function AgentGUI2({
|
|
|
37127
37176
|
providerRailEmpty: renderAgentsEmpty
|
|
37128
37177
|
}
|
|
37129
37178
|
};
|
|
37130
|
-
const content = /* @__PURE__ */
|
|
37179
|
+
const content = /* @__PURE__ */ jsx71(AgentGuiI18nProvider, { runtime: i18n, locale, children: /* @__PURE__ */ jsx71(
|
|
37131
37180
|
AgentActivityHostProvider,
|
|
37132
37181
|
{
|
|
37133
37182
|
agentActivityRuntime,
|
|
37134
37183
|
agentHostApi,
|
|
37135
|
-
children: /* @__PURE__ */
|
|
37184
|
+
children: /* @__PURE__ */ jsx71(AgentGUINode, { ...nodeProps })
|
|
37136
37185
|
}
|
|
37137
37186
|
) });
|
|
37138
|
-
return props.frame.previewMode ? content : /* @__PURE__ */
|
|
37187
|
+
return props.frame.previewMode ? content : /* @__PURE__ */ jsx71(TooltipProvider6, { delayDuration: 120, skipDelayDuration: 0, children: content });
|
|
37139
37188
|
});
|
|
37140
37189
|
|
|
37141
37190
|
export {
|
|
@@ -37148,4 +37197,4 @@ export {
|
|
|
37148
37197
|
resolveAgentGUIAgentTarget,
|
|
37149
37198
|
AgentGUI
|
|
37150
37199
|
};
|
|
37151
|
-
//# sourceMappingURL=chunk-
|
|
37200
|
+
//# sourceMappingURL=chunk-GX5HPHPL.js.map
|