@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.
Files changed (53) hide show
  1. package/dist/{AgentGUI-DprRUk8h.d.ts → AgentGUI-DxypmD7b.d.ts} +4 -16
  2. package/dist/{AgentRichTextReadonly-SPIPM3UM.js → AgentRichTextReadonly-PEKCMRPE.js} +6 -6
  3. package/dist/agent-conversation/index.js +8 -8
  4. package/dist/agent-gui.d.ts +4 -4
  5. package/dist/agent-gui.js +15 -15
  6. package/dist/agent-message-center/index.js +6 -6
  7. package/dist/app/renderer/agentactivity.css +33 -4
  8. package/dist/{chunk-WKFMSABH.js → chunk-2RSNLVOX.js} +53 -11
  9. package/dist/chunk-2RSNLVOX.js.map +1 -0
  10. package/dist/{chunk-LUGELG5V.js → chunk-5QPOMKMQ.js} +2 -2
  11. package/dist/chunk-5QPOMKMQ.js.map +1 -0
  12. package/dist/{chunk-EG7IIFNL.js → chunk-GCQYN7BR.js} +3 -3
  13. package/dist/{chunk-ZXHXR2KT.js → chunk-GX5HPHPL.js} +524 -475
  14. package/dist/chunk-GX5HPHPL.js.map +1 -0
  15. package/dist/{chunk-YJKTYMF4.js → chunk-J4TTEMRW.js} +5 -7
  16. package/dist/{chunk-YJKTYMF4.js.map → chunk-J4TTEMRW.js.map} +1 -1
  17. package/dist/{chunk-D5CIV4IB.js → chunk-NE6H7S5Z.js} +2 -2
  18. package/dist/{chunk-LWJITLCI.js → chunk-OBWM2RFE.js} +3 -3
  19. package/dist/{chunk-T2CHVUXH.js → chunk-OQR3HXPF.js} +5 -1
  20. package/dist/chunk-OQR3HXPF.js.map +1 -0
  21. package/dist/{chunk-JWB5Z5GS.js → chunk-PQJXWXTS.js} +4 -4
  22. package/dist/{chunk-YWKS4ESK.js → chunk-PVTAFUDS.js} +2 -2
  23. package/dist/{chunk-JE2DXS4U.js → chunk-QQRTUHCH.js} +2 -2
  24. package/dist/{chunk-JVISXD4K.js → chunk-SZOTLVH6.js} +2 -2
  25. package/dist/{chunk-54GR2G3U.js → chunk-UARZZJJB.js} +5 -5
  26. package/dist/{chunk-WKYMLLHT.js → chunk-XNE2ROCP.js} +2 -2
  27. package/dist/{chunk-WB3KV4VH.js → chunk-YWHGCKMT.js} +3 -3
  28. package/dist/context-mention-palette/index.js +8 -8
  29. package/dist/i18n/index.d.ts +4 -0
  30. package/dist/i18n/index.js +2 -2
  31. package/dist/index.d.ts +4 -4
  32. package/dist/index.js +15 -15
  33. package/dist/mention-file-presentation.js +1 -1
  34. package/dist/mention-search.js +6 -6
  35. package/dist/workbench/contribution.js +3 -3
  36. package/dist/workbench/index.js +3 -3
  37. package/dist/workbench/sessionTitle.js +2 -2
  38. package/package.json +14 -14
  39. package/dist/chunk-LUGELG5V.js.map +0 -1
  40. package/dist/chunk-T2CHVUXH.js.map +0 -1
  41. package/dist/chunk-WKFMSABH.js.map +0 -1
  42. package/dist/chunk-ZXHXR2KT.js.map +0 -1
  43. /package/dist/{AgentRichTextReadonly-SPIPM3UM.js.map → AgentRichTextReadonly-PEKCMRPE.js.map} +0 -0
  44. /package/dist/{chunk-EG7IIFNL.js.map → chunk-GCQYN7BR.js.map} +0 -0
  45. /package/dist/{chunk-D5CIV4IB.js.map → chunk-NE6H7S5Z.js.map} +0 -0
  46. /package/dist/{chunk-LWJITLCI.js.map → chunk-OBWM2RFE.js.map} +0 -0
  47. /package/dist/{chunk-JWB5Z5GS.js.map → chunk-PQJXWXTS.js.map} +0 -0
  48. /package/dist/{chunk-YWKS4ESK.js.map → chunk-PVTAFUDS.js.map} +0 -0
  49. /package/dist/{chunk-JE2DXS4U.js.map → chunk-QQRTUHCH.js.map} +0 -0
  50. /package/dist/{chunk-JVISXD4K.js.map → chunk-SZOTLVH6.js.map} +0 -0
  51. /package/dist/{chunk-54GR2G3U.js.map → chunk-UARZZJJB.js.map} +0 -0
  52. /package/dist/{chunk-WKYMLLHT.js.map → chunk-XNE2ROCP.js.map} +0 -0
  53. /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-EG7IIFNL.js";
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-YWKS4ESK.js";
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-WKFMSABH.js";
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-WKYMLLHT.js";
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-54GR2G3U.js";
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-YJKTYMF4.js";
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-LWJITLCI.js";
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-JWB5Z5GS.js";
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-WB3KV4VH.js";
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-D5CIV4IB.js";
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-JVISXD4K.js";
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 TooltipProvider5 } from "@tutti-os/ui-system";
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?.rows.length ?? "",
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 TooltipProvider4 } from "@tutti-os/ui-system";
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 cn5
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 createHandoffLottiePlayerLoader() {
17715
- let loadPromise = null;
17716
- return function loadHandoffLottiePlayer2() {
17717
- if (typeof window === "undefined" || typeof document === "undefined") {
17718
- return Promise.resolve(false);
17719
- }
17720
- if (window.customElements?.get("dotlottie-wc")) {
17721
- return Promise.resolve(true);
17722
- }
17723
- if (loadPromise) {
17724
- return loadPromise;
17725
- }
17726
- loadPromise = new Promise((resolve) => {
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
- return loadPromise;
17747
- };
17725
+ }
17726
+ );
17748
17727
  }
17749
- var loadHandoffLottiePlayer = createHandoffLottiePlayerLoader();
17750
17728
  function AgentComposerHandoffIcon({
17751
17729
  disabled,
17752
17730
  isPlaying
17753
17731
  }) {
17754
- const [isLottieReady, setIsLottieReady] = useState10(false);
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": shouldShowAnimation ? "true" : void 0,
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
- shouldShowAnimation ? /* @__PURE__ */ jsx21(
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 && mentionControllerRef.current?.selectFileMentionNavigationItem(entry)) {
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 TooltipProvider3,
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
- isLoading ? (
20897
- // The trigger is disabled while loading, so pointer events never reach
20898
- // it. Target the tooltip at a focusable wrapper span (Radix's pattern
20899
- // for disabled triggers) so hover/focus reliably surfaces the hint.
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: labels.loadingOptions })
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 TooltipProvider2,
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(TooltipProvider2, { delayDuration: 120, children: /* @__PURE__ */ jsxs25(Tooltip3, { children: [
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(TooltipProvider2, { delayDuration: 120, children: /* @__PURE__ */ jsxs25(Tooltip3, { children: [
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(TooltipProvider3, { delayDuration: 0, children: /* @__PURE__ */ jsxs26(Tooltip4, { children: [
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/AgentGUIEmptyState.tsx
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?.label ?? runtimeProviderLabel;
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__ */ jsx42(
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__ */ jsx42(
26244
+ children: /* @__PURE__ */ jsx43(
26232
26245
  AgentTargetSetupGate,
26233
26246
  {
26234
26247
  carouselMountedExternally,
26235
- children: providerReadinessGate ? /* @__PURE__ */ jsx42(
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__ */ jsx42(
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__ */ jsx42("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs30("div", { className: AgentGUINode_styles_default.emptyHeroBody, children: [
26305
- /* @__PURE__ */ jsx42(
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__ */ jsx42(
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__ */ jsx42(
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__ */ jsx42("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx42(
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__ */ jsx42(
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__ */ jsx42(AgentComposer, { ...composerProps }),
26352
- /* @__PURE__ */ jsx42(
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__ */ jsx42("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs30(
26414
+ return /* @__PURE__ */ jsx43("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs31(
26399
26415
  "div",
26400
26416
  {
26401
- className: cn5(AgentGUINode_styles_default.emptyHeroBody, AgentGUINode_styles_default.emptyProviderGate),
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__ */ jsx42(
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__ */ jsx42(
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__ */ jsx42(
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__ */ jsx42("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx42(
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__ */ jsx42("p", { className: AgentGUINode_styles_default.emptyProviderGateDescription, children: content.description }),
26438
- pendingLabel && !action ? /* @__PURE__ */ jsx42(
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__ */ jsx42(
26463
+ action ? /* @__PURE__ */ jsx43(
26447
26464
  Button,
26448
26465
  {
26449
26466
  type: "button",
26450
- className: cn5(
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__ */ jsx42(
26482
+ ) : content.actionLabel ? /* @__PURE__ */ jsx43(
26466
26483
  Button,
26467
26484
  {
26468
26485
  type: "button",
26469
- className: cn5(
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__ */ jsx42("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailAvatar, children: /* @__PURE__ */ jsx42(
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__ */ jsx42(
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__ */ jsxs30(
26536
+ return /* @__PURE__ */ jsxs31(
26520
26537
  "span",
26521
26538
  {
26522
26539
  "aria-hidden": "true",
26523
- className: cn5(AgentGUINode_styles_default.agentAvatar, className),
26540
+ className: cn6(AgentGUINode_styles_default.agentAvatar, className),
26524
26541
  "data-agent-target-id": presentation.agentTargetId,
26525
26542
  children: [
26526
- /* @__PURE__ */ jsx42(
26543
+ /* @__PURE__ */ jsx43(
26527
26544
  "img",
26528
26545
  {
26529
26546
  alt: "",
26530
- className: cn5(AgentGUINode_styles_default.agentAvatarImage, imageClassName),
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__ */ jsx42("span", { className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx42(
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__ */ jsx42(Fragment12, { children: label });
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__ */ jsxs30(Fragment12, { children: [
26582
+ return /* @__PURE__ */ jsxs31(Fragment13, { children: [
26565
26583
  label.slice(0, providerStart),
26566
- canSwitchProvider ? /* @__PURE__ */ jsxs30(
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__ */ jsx42(
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__ */ jsx42("span", { className: AgentGUINode_styles_default.emptyHeroProvider, children: providerName })
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__ */ jsx42(
26618
+ /* @__PURE__ */ jsx43(
26594
26619
  SelectContent4,
26595
26620
  {
26596
26621
  align: "center",
26597
- className: cn5(AgentGUINode_styles_default.composerMenuContent, "min-w-[190px]"),
26598
- children: agentTargets.map((target) => /* @__PURE__ */ jsx42(
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: cn5(AgentGUINode_styles_default.composerMenuItem, "gap-2"),
26603
- children: /* @__PURE__ */ jsxs30("span", { className: "flex min-w-0 items-center gap-1.5", children: [
26604
- /* @__PURE__ */ jsx42(
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__ */ jsx42("span", { className: "min-w-0 truncate", children: target.label })
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__ */ jsx42("span", { className: AgentGUINode_styles_default.emptyHeroProvider, children: providerName }),
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 jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
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__ */ jsx43(Dialog, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs31(
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__ */ jsxs31(DialogHeader, { className: "shrink-0 border-b border-[var(--border-1)] px-5 py-4", children: [
26884
- /* @__PURE__ */ jsx43(DialogTitle, { children: labels.manageAgentsTitle }),
26885
- /* @__PURE__ */ jsx43(DialogDescription, { children: labels.manageAgentsDescription })
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__ */ jsxs31(
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__ */ jsxs31(
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__ */ jsx43(
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__ */ jsx43(
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__ */ jsxs31(
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__ */ jsx43(
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__ */ jsx43(
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__ */ jsx43(CircleMinus, { "aria-hidden": "true", className: "size-4" })
27027
+ children: /* @__PURE__ */ jsx44(CircleMinus, { "aria-hidden": "true", className: "size-4" })
26987
27028
  }
26988
27029
  ) : null,
26989
- /* @__PURE__ */ jsx43(
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__ */ jsx43("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-primary)]", children: label })
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__ */ jsx43("p", { className: "rounded-[8px] bg-[var(--transparency-block)] px-3 py-4 text-center text-[12px] text-[var(--text-tertiary)]", children: labels.manageAgentsNoAvailable })
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__ */ jsxs31(
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__ */ jsx43(
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__ */ jsx43(
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__ */ jsxs31(
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__ */ jsx43(
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__ */ jsx43(
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__ */ jsx43(CirclePlus, { "aria-hidden": "true", className: "size-4" })
27143
+ children: /* @__PURE__ */ jsx44(CirclePlus, { "aria-hidden": "true", className: "size-4" })
27103
27144
  }
27104
27145
  ) : null,
27105
- /* @__PURE__ */ jsx43(
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__ */ jsx43("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-secondary)]", children: label })
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__ */ jsx43("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 })
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 jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
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__ */ jsx44(
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__ */ jsxs32(
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__ */ jsxs32("div", { className: AgentGUINode_styles_default.providerRail, children: [
27615
- /* @__PURE__ */ jsxs32(
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__ */ jsxs32(
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__ */ jsx44(
27678
+ /* @__PURE__ */ jsx45(
27638
27679
  AgentGUIUnifiedProviderIcon,
27639
27680
  {
27640
27681
  presentation: providerRailAllPresentation
27641
27682
  }
27642
27683
  ),
27643
- /* @__PURE__ */ jsx44("span", { className: AgentGUINode_styles_default.providerRailTileLabel, children: labels.conversationFilterAll })
27684
+ /* @__PURE__ */ jsx45("span", { className: AgentGUINode_styles_default.providerRailTileLabel, children: labels.conversationFilterAll })
27644
27685
  ]
27645
27686
  }
27646
27687
  ),
27647
- /* @__PURE__ */ jsx44("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailSeparator }),
27648
- agentTargetsLoading ? [0, 1, 2].map((index) => /* @__PURE__ */ jsx44(
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__ */ jsx44(
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__ */ jsx44(
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__ */ jsxs32("span", { className: AgentGUINode_styles_default.providerRailAvatar, children: [
27702
- /* @__PURE__ */ jsx44(
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__ */ jsx44("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx44(
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__ */ jsx44(
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__ */ jsxs32(Tooltip5, { children: [
27739
- /* @__PURE__ */ jsx44(TooltipTrigger5, { asChild: true, children: tile }),
27740
- /* @__PURE__ */ jsx44(TooltipContent5, { side: "right", sideOffset: -4, children: label })
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 Fragment14,
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 jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
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__ */ jsxs33(
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__ */ jsx45(
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__ */ jsx45(
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__ */ jsx45(CloseLinedIcon, { "aria-hidden": "true" })
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 jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
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__ */ jsx46(
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__ */ jsxs34(
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__ */ jsx46("span", { className: "agent-gui-node__conversation-list-skeleton-spine" }),
27876
- /* @__PURE__ */ jsx46("span", { className: "agent-gui-node__conversation-list-skeleton-rib agent-gui-node__conversation-list-skeleton-rib-primary" }),
27877
- /* @__PURE__ */ jsx46("span", { className: "agent-gui-node__conversation-list-skeleton-rib agent-gui-node__conversation-list-skeleton-rib-secondary" })
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 cn6
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 jsx47 } from "react/jsx-runtime";
28773
+ import { jsx as jsx48 } from "react/jsx-runtime";
28733
28774
  function PinFilledIcon(props) {
28734
28775
  "use memo";
28735
- return /* @__PURE__ */ jsx47(
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__ */ jsx47("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" })
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 jsx48 } from "react/jsx-runtime";
28790
+ import { jsx as jsx49 } from "react/jsx-runtime";
28750
28791
  function PinLinedIcon(props) {
28751
28792
  "use memo";
28752
- return /* @__PURE__ */ jsx48(
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__ */ 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.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" })
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 jsx49 } from "react/jsx-runtime";
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__ */ jsx49(
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__ */ jsx49(LoadingGlyph, {})
28824
+ children: /* @__PURE__ */ jsx50(LoadingGlyph, {})
28784
28825
  }
28785
28826
  );
28786
28827
  }
28787
28828
  if (kind === "waiting") {
28788
- return /* @__PURE__ */ jsx49(
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__ */ jsx49(
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__ */ jsx49(
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__ */ jsx49(AttentionGlyph, {})
28852
+ children: /* @__PURE__ */ jsx50(AttentionGlyph, {})
28812
28853
  }
28813
28854
  );
28814
28855
  }
28815
28856
  if (kind === "unread-complete") {
28816
- return /* @__PURE__ */ jsx49(
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__ */ jsx49("span", { className: AgentGUINode_styles_default.conversationUnreadLamp, "aria-hidden": "true" })
28863
+ children: /* @__PURE__ */ jsx50("span", { className: AgentGUINode_styles_default.conversationUnreadLamp, "aria-hidden": "true" })
28823
28864
  }
28824
28865
  );
28825
28866
  }
28826
- return /* @__PURE__ */ jsx49(
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__ */ jsx49("span", { className: AgentGUINode_styles_default.conversationTime, children: formatConversationRelativeTime(
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__ */ jsx49(
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__ */ jsx49(
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__ */ jsx49(
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 Fragment13, jsx as jsx50, jsxs as jsxs35 } from "react/jsx-runtime";
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__ */ jsxs35(
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__ */ jsxs35(
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__ */ jsxs35("span", { className: AgentGUINode_styles_default.conversationTitleRow, children: [
29105
- conversationIconUrl ? /* @__PURE__ */ jsx50(
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__ */ jsx50(
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__ */ jsx50(IssueIcon, {})
29162
+ children: /* @__PURE__ */ jsx51(IssueIcon, {})
29122
29163
  }
29123
29164
  ) : null,
29124
- /* @__PURE__ */ jsx50("span", { className: AgentGUINode_styles_default.conversationTitle, children: agentGUIConversationRailTitle(item, labels, uiLanguage) })
29165
+ /* @__PURE__ */ jsx51("span", { className: AgentGUINode_styles_default.conversationTitle, children: agentGUIConversationRailTitle(item, labels, uiLanguage) })
29125
29166
  ] }),
29126
- /* @__PURE__ */ jsx50(ConversationMeta, { item, nowMs: currentTimeMs, labels })
29167
+ /* @__PURE__ */ jsx51(ConversationMeta, { item, nowMs: currentTimeMs, labels })
29127
29168
  ]
29128
29169
  }
29129
29170
  ),
29130
- previewMode ? null : /* @__PURE__ */ jsx50("div", { className: AgentGUINode_styles_default.conversationActions, children: isPendingDeleteConversation ? /* @__PURE__ */ jsx50(
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__ */ jsx50("span", { className: AgentGUINode_styles_default.conversationDeleteConfirmText, children: labels.deleteSessionConfirm })
29185
+ children: /* @__PURE__ */ jsx51("span", { className: AgentGUINode_styles_default.conversationDeleteConfirmText, children: labels.deleteSessionConfirm })
29145
29186
  }
29146
- ) : /* @__PURE__ */ jsxs35(Fragment13, { children: [
29147
- onOpenConversationWindow ? /* @__PURE__ */ jsx50(
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__ */ jsx50(ExternalLink2, { "aria-hidden": "true" })
29205
+ children: /* @__PURE__ */ jsx51(ExternalLink2, { "aria-hidden": "true" })
29165
29206
  }
29166
29207
  ) : null,
29167
- /* @__PURE__ */ jsx50(
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__ */ jsx50(PinFilledIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ jsx50(PinLinedIcon, { "aria-hidden": "true" })
29225
+ children: pinned ? /* @__PURE__ */ jsx51(PinFilledIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ jsx51(PinLinedIcon, { "aria-hidden": "true" })
29185
29226
  }
29186
29227
  ),
29187
- /* @__PURE__ */ jsx50(
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__ */ jsx50(CanvasNodeTrashLinedIcon, { "aria-hidden": "true" })
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__ */ jsxs35(ContextMenu, { children: [
29215
- /* @__PURE__ */ jsx50(ContextMenuTrigger, { asChild: true, children: row }),
29216
- /* @__PURE__ */ jsxs35(
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__ */ jsx50(
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__ */ jsx50("span", { children: labels.renameSession })
29273
+ children: /* @__PURE__ */ jsx51("span", { children: labels.renameSession })
29233
29274
  }
29234
29275
  ),
29235
- onOpenConversationWindow ? /* @__PURE__ */ jsx50(
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__ */ jsx50("span", { children: labels.openConversationWindow })
29287
+ children: /* @__PURE__ */ jsx51("span", { children: labels.openConversationWindow })
29247
29288
  }
29248
29289
  ) : null,
29249
- /* @__PURE__ */ jsx50(
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__ */ jsx50("span", { children: labels.copySessionLink })
29301
+ children: /* @__PURE__ */ jsx51("span", { children: labels.copySessionLink })
29261
29302
  }
29262
29303
  ),
29263
- /* @__PURE__ */ jsx50(
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__ */ jsx50("span", { children: labels.markSessionUnread })
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__ */ jsxs35("div", { className: AgentGUINode_styles_default.projectRailHeader, children: [
29298
- /* @__PURE__ */ jsx50("div", { className: AgentGUINode_styles_default.projectRailTitle, children: /* @__PURE__ */ jsx50("span", { children: workspaceUserProjectI18n.tFirst(["projectSelect.projectLabel"]) }) }),
29299
- /* @__PURE__ */ jsxs35("div", { className: AgentGUINode_styles_default.projectRailAddProject, children: [
29300
- /* @__PURE__ */ jsx50(
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: cn6(
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: cn6(
29350
+ item: cn7(
29310
29351
  AgentGUINode_styles_default.composerMenuItem,
29311
29352
  "nodrag [-webkit-app-region:no-drag]"
29312
29353
  ),
29313
- trigger: cn6(
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__ */ jsx50(
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__ */ jsx50(
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 jsx51, jsxs as jsxs36 } from "react/jsx-runtime";
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__ */ jsxs36(
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__ */ jsxs36(
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__ */ jsxs36(
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__ */ jsx51(
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__ */ jsxs36("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: [
29538
- isSectionCollapsed ? /* @__PURE__ */ jsx51(
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__ */ jsx51(
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__ */ jsx51("span", { children: section.label })
29594
+ /* @__PURE__ */ jsx52("span", { children: section.label })
29554
29595
  ] })
29555
29596
  ]
29556
29597
  }
29557
- ) : /* @__PURE__ */ jsx51("div", { className: AgentGUINode_styles_default.conversationSectionToggle, children: /* @__PURE__ */ jsx51("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: /* @__PURE__ */ jsx51("span", { children: section.label }) }) }),
29558
- canCreateConversationFromSection ? /* @__PURE__ */ jsxs36(
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__ */ jsx51("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: /* @__PURE__ */ jsx51(
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__ */ jsx51(CreateChatIcon, { "aria-hidden": "true" })
29613
+ children: /* @__PURE__ */ jsx52(CreateChatIcon, { "aria-hidden": "true" })
29573
29614
  }
29574
- ) }) : /* @__PURE__ */ jsxs36(Tooltip6, { children: [
29575
- /* @__PURE__ */ jsx51(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx51(
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__ */ jsx51(
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__ */ jsx51(CreateChatIcon, { "aria-hidden": "true" })
29628
+ children: /* @__PURE__ */ jsx52(CreateChatIcon, { "aria-hidden": "true" })
29588
29629
  }
29589
29630
  )
29590
29631
  }
29591
29632
  ) }),
29592
- /* @__PURE__ */ jsx51(
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__ */ jsxs36(DropdownMenu4, { onOpenChange: onProjectMenuOpenChange, children: [
29603
- previewMode ? /* @__PURE__ */ jsx51(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx51(
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__ */ jsx51(
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__ */ jsx51(MoreHorizontalIcon, { "aria-hidden": "true" })
29655
+ children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
29615
29656
  }
29616
29657
  )
29617
29658
  }
29618
- ) }) : /* @__PURE__ */ jsxs36(Tooltip6, { children: [
29619
- /* @__PURE__ */ jsx51(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx51(
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__ */ jsx51(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx51(
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__ */ jsx51(MoreHorizontalIcon, { "aria-hidden": "true" })
29671
+ children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
29631
29672
  }
29632
29673
  ) })
29633
29674
  }
29634
29675
  ) }),
29635
- /* @__PURE__ */ jsx51(
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__ */ jsxs36(
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__ */ jsx51(
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__ */ jsx51("span", { children: labels.projectSectionViewFiles })
29709
+ children: /* @__PURE__ */ jsx52("span", { children: labels.projectSectionViewFiles })
29669
29710
  }
29670
29711
  ),
29671
- /* @__PURE__ */ jsx51(
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__ */ jsx51("span", { children: projectPinned ? labels.unpinProject : labels.pinProject })
29721
+ children: /* @__PURE__ */ jsx52("span", { children: projectPinned ? labels.unpinProject : labels.pinProject })
29681
29722
  }
29682
29723
  ),
29683
- /* @__PURE__ */ jsx51(
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__ */ jsx51("span", { children: labels.batchDeleteProjectSessions })
29734
+ children: /* @__PURE__ */ jsx52("span", { children: labels.batchDeleteProjectSessions })
29694
29735
  }
29695
29736
  ),
29696
- /* @__PURE__ */ jsx51(
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__ */ jsx51("span", { children: labels.removeProject })
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__ */ jsxs36(DropdownMenu4, { children: [
29718
- previewMode ? /* @__PURE__ */ jsx51(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx51(
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__ */ jsx51(
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__ */ jsx51(MoreHorizontalIcon, { "aria-hidden": "true" })
29769
+ children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
29729
29770
  }
29730
29771
  )
29731
29772
  }
29732
- ) }) : /* @__PURE__ */ jsxs36(Tooltip6, { children: [
29733
- /* @__PURE__ */ jsx51(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx51(
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__ */ jsx51(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx51(
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__ */ jsx51(MoreHorizontalIcon, { "aria-hidden": "true" })
29784
+ children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
29744
29785
  }
29745
29786
  ) })
29746
29787
  }
29747
29788
  ) }),
29748
- /* @__PURE__ */ jsx51(
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__ */ jsx51(
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__ */ jsx51(
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__ */ jsx51("span", { children: labels.batchDeleteConversations })
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__ */ jsx51(
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__ */ jsxs36("div", { className: AgentGUINode_styles_default.conversationSectionItemsInner, children: [
29792
- !isSectionCollapsed && visibleItems.length === 0 ? /* @__PURE__ */ jsx51("div", { className: AgentGUINode_styles_default.conversationSectionEmpty, children: labels.emptyProjectConversations }) : null,
29793
- visibleItems.map((item) => /* @__PURE__ */ jsx51(
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__ */ jsxs36("div", { className: AgentGUINode_styles_default.conversationSectionPagination, children: [
29819
- canShowMore ? /* @__PURE__ */ jsx51(
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__ */ jsx51(
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 jsx52 } from "react/jsx-runtime";
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__ */ jsx52(
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 jsx53, jsxs as jsxs37 } from "react/jsx-runtime";
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__ */ jsxs37(
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__ */ jsxs37("div", { className: AgentGUINode_styles_default.railToolbar, children: [
30338
- /* @__PURE__ */ jsx53(
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__ */ jsxs37(
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__ */ jsx53(CreateChatIcon2, { "aria-hidden": "true" }),
30358
- /* @__PURE__ */ jsx53("span", { children: labels.newConversation })
30398
+ /* @__PURE__ */ jsx54(CreateChatIcon2, { "aria-hidden": "true" }),
30399
+ /* @__PURE__ */ jsx54("span", { children: labels.newConversation })
30359
30400
  ]
30360
30401
  }
30361
30402
  )
30362
30403
  ] }),
30363
- /* @__PURE__ */ jsx53(
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__ */ jsx53(
30411
+ children: shouldShowConversationSkeleton ? /* @__PURE__ */ jsx54(
30371
30412
  AgentConversationListSkeleton,
30372
30413
  {
30373
30414
  label: labels.loadingConversations
30374
30415
  }
30375
- ) : shouldShowConversationSearchError ? /* @__PURE__ */ jsxs37("div", { className: AgentGUINode_styles_default.emptyState, children: [
30376
- /* @__PURE__ */ jsx53("span", { children: labels.searchFailed }),
30377
- /* @__PURE__ */ jsx53(
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__ */ jsx53("div", { className: AgentGUINode_styles_default.emptyState, children: /* @__PURE__ */ jsx53("span", { children: conversationQuery.trim() ? labels.searchNoConversations : conversations.length === 0 ? labels.noConversations : labels.conversationUnavailable }) }) : /* @__PURE__ */ jsxs37("fieldset", { className: "contents", disabled: railInteractionsLocked, children: [
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__ */ jsxs37(Fragment14, { children: [
30421
- showPinnedProjectHeader ? /* @__PURE__ */ jsx53("div", { className: AgentGUINode_styles_default.pinnedProjectRailHeader, children: labels.sectionPinned }) : null,
30422
- showProjectRailHeader ? /* @__PURE__ */ jsx53(
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__ */ jsx53(
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__ */ jsx53(
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__ */ jsx53("div", { className: "shrink-0 pb-2", children: footer }) : null,
30508
- /* @__PURE__ */ jsx53(
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 jsx54 } from "react/jsx-runtime";
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__ */ jsx54(
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 cn7 } from "@tutti-os/ui-system";
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 jsx55, jsxs as jsxs38 } from "react/jsx-runtime";
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__ */ jsx55("div", { className: AgentGUIChrome_styles_default.sessionChrome, children: /* @__PURE__ */ jsx55(
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__ */ jsxs38("div", { className: AgentGUIChrome_styles_default.chromeMetaRow, children: [
32019
- /* @__PURE__ */ jsxs38("div", { className: AgentGUIChrome_styles_default.chromeMessageSlot, children: [
32020
- /* @__PURE__ */ jsx55("span", { className: AgentGUIChrome_styles_default.chromeIcon, children: /* @__PURE__ */ jsx55(Target3, { "aria-hidden": true, className: "size-3.5" }) }),
32021
- editDraft !== null ? /* @__PURE__ */ jsx55(
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__ */ jsxs38(
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__ */ jsx55("span", { className: AgentGUIChrome_styles_default.chromeNoticeTitle, children: title }),
32048
- /* @__PURE__ */ jsx55(
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__ */ jsxs38("div", { className: AgentGUIChrome_styles_default.chromeGoalActions, children: [
32061
- onEditObjective !== void 0 && editDraft === null ? /* @__PURE__ */ jsx55(
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__ */ jsx55(Pencil2, { "aria-hidden": true, className: "size-3.5" })
32110
+ children: /* @__PURE__ */ jsx56(Pencil2, { "aria-hidden": true, className: "size-3.5" })
32070
32111
  }
32071
32112
  ) : null,
32072
- showPause ? /* @__PURE__ */ jsx55(
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__ */ jsx55(CirclePause, { "aria-hidden": true, className: "size-3.5" })
32121
+ children: /* @__PURE__ */ jsx56(CirclePause, { "aria-hidden": true, className: "size-3.5" })
32081
32122
  }
32082
32123
  ) : null,
32083
- showResume ? /* @__PURE__ */ jsx55(
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__ */ jsx55(CirclePlay, { "aria-hidden": true, className: "size-3.5" })
32132
+ children: /* @__PURE__ */ jsx56(CirclePlay, { "aria-hidden": true, className: "size-3.5" })
32092
32133
  }
32093
32134
  ) : null,
32094
- onClearGoal !== void 0 ? /* @__PURE__ */ jsx55(
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__ */ jsx55(Trash2, { "aria-hidden": true, className: "size-3.5" })
32143
+ children: /* @__PURE__ */ jsx56(Trash2, { "aria-hidden": true, className: "size-3.5" })
32103
32144
  }
32104
32145
  ) : null
32105
- ] }) : /* @__PURE__ */ jsx55(
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 jsx56, jsxs as jsxs39 } from "react/jsx-runtime";
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__ */ jsxs39(
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__ */ jsx56(
32201
+ showScrollToBottom ? /* @__PURE__ */ jsx57(
32161
32202
  "button",
32162
32203
  {
32163
32204
  type: "button",
32164
- className: cn7(
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__ */ jsx56(ChevronsDown, { "aria-hidden": "true", size: 15, strokeWidth: 2.2 })
32214
+ children: /* @__PURE__ */ jsx57(ChevronsDown, { "aria-hidden": "true", size: 15, strokeWidth: 2.2 })
32174
32215
  }
32175
32216
  ) : null,
32176
- bottomDockLiftedPrompt ? /* @__PURE__ */ jsx56(
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__ */ jsx56(
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__ */ jsx56(
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__ */ jsx56(
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__ */ jsx56(
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__ */ jsx56(
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__ */ jsx56(
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__ */ jsx56(AgentComposer, { ...composerProps })
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 jsx57, jsxs as jsxs40 } from "react/jsx-runtime";
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__ */ jsx57("div", { className: AgentGUINode_styles_default.detailHeader, children: /* @__PURE__ */ jsxs40("span", { className: AgentGUINode_styles_default.detailHeaderTitleGroup, children: [
32278
- /* @__PURE__ */ jsx57("span", { className: AgentGUINode_styles_default.detailHeaderTitle, children: conversationPlainTitle(activeConversation, labels, uiLanguage) }),
32279
- runPath ? /* @__PURE__ */ jsx57(AgentRunPathInfo, { path: runPath, previewMode }) : null
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__ */ jsx57(
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__ */ jsx57(Info2, { size: 14, strokeWidth: 2, "aria-hidden": "true" })
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__ */ jsxs40(Tooltip7, { children: [
32300
- /* @__PURE__ */ jsx57(TooltipTrigger7, { asChild: true, children: trigger }),
32301
- /* @__PURE__ */ jsx57(
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 jsx58, jsxs as jsxs41 } from "react/jsx-runtime";
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__ */ jsxs41(ToastProvider, { children: [
32328
- /* @__PURE__ */ jsx58(
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__ */ jsx58(ToastTitle, { children: message })
32377
+ children: /* @__PURE__ */ jsx59(ToastTitle, { children: message })
32337
32378
  }
32338
32379
  ),
32339
- /* @__PURE__ */ jsx58(
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 Fragment15, jsx as jsx59, jsxs as jsxs42 } from "react/jsx-runtime";
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__ */ jsxs42(Fragment15, { children: [
32370
- isLoadingOlderMessages && !isLoading ? /* @__PURE__ */ jsx59(
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__ */ jsx59("span", { className: "tsh-inline-loading-ellipsis", children: loadingLabel })
32417
+ children: /* @__PURE__ */ jsx60("span", { className: "tsh-inline-loading-ellipsis", children: loadingLabel })
32377
32418
  }
32378
32419
  ) : null,
32379
- /* @__PURE__ */ jsx59(
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 jsx60 } from "react/jsx-runtime";
32801
+ import { jsx as jsx61 } from "react/jsx-runtime";
32761
32802
  function UnavailableChatIcon(props) {
32762
32803
  "use memo";
32763
- return /* @__PURE__ */ jsx60(
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__ */ jsx60("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" })
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 Fragment16, jsx as jsx61, jsxs as jsxs43 } from "react/jsx-runtime";
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__ */ jsxs43(
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__ */ jsx61(UnavailableChatIcon, { className: AgentGUINode_styles_default.unavailableChatEmptyIcon }),
32972
- /* @__PURE__ */ jsx61("span", { className: AgentGUINode_styles_default.unavailableChatEmptyText, children: labels.conversationUnavailable })
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__ */ jsx61(Fragment16, {}),
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 Fragment17, jsx as jsx62, jsxs as jsxs44 } from "react/jsx-runtime";
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__ */ jsxs44(
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__ */ jsx62(
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__ */ jsx62(
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__ */ jsx62(
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__ */ jsx62(Fragment17, { children: renderProviderUnavailableState?.({
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__ */ jsx62(
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__ */ jsx62(
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__ */ jsx62(
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 jsx63, jsxs as jsxs45 } from "react/jsx-runtime";
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__ */ jsx63(
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__ */ jsxs45("div", { className: "flex justify-end gap-2", children: [
33994
- /* @__PURE__ */ jsx63(
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__ */ jsx63(
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__ */ jsx63(
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 jsx64 } from "react/jsx-runtime";
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__ */ jsx64(
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__ */ jsx64(
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__ */ jsx64(
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 jsx65, jsxs as jsxs46 } from "react/jsx-runtime";
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__ */ jsxs46(AgentTargetSetupControllerProvider, { controller, children: [
34250
+ return /* @__PURE__ */ jsxs47(AgentTargetSetupControllerProvider, { controller, children: [
34208
34251
  children,
34209
- /* @__PURE__ */ jsx65(
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 jsx66, jsxs as jsxs47 } from "react/jsx-runtime";
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__ */ jsx66(AgentTargetPresentationProvider, { agentTargets: agentTargetPresentations, children: /* @__PURE__ */ jsxs47(AgentTargetSetupRoot, { controller: targetSetupController, children: [
35037
- /* @__PURE__ */ jsxs47(
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__ */ jsxs47(
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__ */ jsx66(
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__ */ jsx66(
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__ */ jsx66(
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__ */ jsx66(
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__ */ jsx66(
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__ */ jsx66(
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__ */ jsx66(
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__ */ jsx66(
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__ */ jsx66("section", { id: "agent-gui-detail", className: AgentGUINode_styles_default.detailPanel, children: /* @__PURE__ */ jsx66(
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__ */ jsx66(
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__ */ jsx66(
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__ */ jsx66(TooltipProvider4, { children: content });
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 Fragment18, jsx as jsx67, jsxs as jsxs48 } from "react/jsx-runtime";
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__ */ jsxs48(Fragment18, { children: [
35478
+ return /* @__PURE__ */ jsxs49(Fragment19, { children: [
35436
35479
  line.primary,
35437
- line.secondary ? /* @__PURE__ */ jsxs48(Fragment18, { children: [
35480
+ line.secondary ? /* @__PURE__ */ jsxs49(Fragment19, { children: [
35438
35481
  " ",
35439
- /* @__PURE__ */ jsx67("span", { className: "desktop-dock-popup__agent-status-secondary", children: line.secondary })
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__ */ jsx67(
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__ */ jsx67("ul", { className: "desktop-dock-popup__agent-info-list", children: lines.map((line) => {
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__ */ jsxs48(
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__ */ jsx67("span", { className: "desktop-dock-popup__agent-info-label", children: label }) : null,
35542
- /* @__PURE__ */ jsx67(
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__ */ jsxs48(
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__ */ jsx67(Info3, { size: 15, strokeWidth: 2.1, "aria-hidden": "true" }),
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 jsx68 } from "react/jsx-runtime";
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__ */ jsx68(RichTextMentionServiceProvider, { service: effectiveService, children }) : children;
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 jsx69, jsxs as jsxs49 } from "react/jsx-runtime";
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__ */ jsx69(
37001
+ return /* @__PURE__ */ jsx70(
36953
37002
  AgentGUIMentionServiceBoundary,
36954
37003
  {
36955
37004
  legacyProviders: contextMentionProviders,
36956
37005
  service: mentionService,
36957
- children: /* @__PURE__ */ jsx69(
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__ */ jsxs49("span", { className: "inline-flex flex-none items-center gap-1", children: [
36974
- /* @__PURE__ */ jsx69(
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__ */ jsx69(
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__ */ jsx69(
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__ */ jsx69(
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 jsx70 } from "react/jsx-runtime";
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__ */ jsx70(AgentGuiI18nProvider, { runtime: i18n, locale, children: /* @__PURE__ */ jsx70(
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__ */ jsx70(AgentGUINode, { ...nodeProps })
37184
+ children: /* @__PURE__ */ jsx71(AgentGUINode, { ...nodeProps })
37136
37185
  }
37137
37186
  ) });
37138
- return props.frame.previewMode ? content : /* @__PURE__ */ jsx70(TooltipProvider5, { delayDuration: 120, skipDelayDuration: 0, children: content });
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-ZXHXR2KT.js.map
37200
+ //# sourceMappingURL=chunk-GX5HPHPL.js.map