@tutti-os/agent-gui 0.0.127 → 0.0.128

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 (49) hide show
  1. package/dist/{AgentRichTextReadonly-SPIPM3UM.js → AgentRichTextReadonly-UGZQXMPT.js} +6 -6
  2. package/dist/agent-conversation/index.js +8 -8
  3. package/dist/agent-gui.js +15 -15
  4. package/dist/agent-message-center/index.js +6 -6
  5. package/dist/app/renderer/agentactivity.css +25 -0
  6. package/dist/{chunk-WKYMLLHT.js → chunk-3LKGPCCL.js} +2 -2
  7. package/dist/{chunk-JE2DXS4U.js → chunk-5ILYI4EM.js} +2 -2
  8. package/dist/{chunk-LUGELG5V.js → chunk-5QPOMKMQ.js} +2 -2
  9. package/dist/chunk-5QPOMKMQ.js.map +1 -0
  10. package/dist/{chunk-LWJITLCI.js → chunk-6TYXZI35.js} +3 -3
  11. package/dist/{chunk-YWKS4ESK.js → chunk-A3HZBKIQ.js} +2 -2
  12. package/dist/{chunk-EG7IIFNL.js → chunk-BKTH4EVE.js} +3 -3
  13. package/dist/{chunk-WKFMSABH.js → chunk-FNI4JFDM.js} +5 -5
  14. package/dist/{chunk-WB3KV4VH.js → chunk-Q5JYEQK6.js} +3 -3
  15. package/dist/{chunk-YJKTYMF4.js → chunk-RABOGNWT.js} +5 -7
  16. package/dist/{chunk-YJKTYMF4.js.map → chunk-RABOGNWT.js.map} +1 -1
  17. package/dist/{chunk-54GR2G3U.js → chunk-TBFWNWDX.js} +5 -5
  18. package/dist/{chunk-T2CHVUXH.js → chunk-UZP2LEQL.js} +3 -1
  19. package/dist/chunk-UZP2LEQL.js.map +1 -0
  20. package/dist/{chunk-JVISXD4K.js → chunk-VH2UJCQG.js} +2 -2
  21. package/dist/{chunk-D5CIV4IB.js → chunk-VWIADFP4.js} +2 -2
  22. package/dist/{chunk-JWB5Z5GS.js → chunk-YZF23LW4.js} +4 -4
  23. package/dist/{chunk-ZXHXR2KT.js → chunk-Z4HPUA2G.js} +479 -383
  24. package/dist/chunk-Z4HPUA2G.js.map +1 -0
  25. package/dist/context-mention-palette/index.js +8 -8
  26. package/dist/i18n/index.d.ts +2 -0
  27. package/dist/i18n/index.js +2 -2
  28. package/dist/index.js +15 -15
  29. package/dist/mention-file-presentation.js +1 -1
  30. package/dist/mention-search.js +6 -6
  31. package/dist/workbench/contribution.js +3 -3
  32. package/dist/workbench/index.js +3 -3
  33. package/dist/workbench/sessionTitle.js +2 -2
  34. package/package.json +14 -14
  35. package/dist/chunk-LUGELG5V.js.map +0 -1
  36. package/dist/chunk-T2CHVUXH.js.map +0 -1
  37. package/dist/chunk-ZXHXR2KT.js.map +0 -1
  38. /package/dist/{AgentRichTextReadonly-SPIPM3UM.js.map → AgentRichTextReadonly-UGZQXMPT.js.map} +0 -0
  39. /package/dist/{chunk-WKYMLLHT.js.map → chunk-3LKGPCCL.js.map} +0 -0
  40. /package/dist/{chunk-JE2DXS4U.js.map → chunk-5ILYI4EM.js.map} +0 -0
  41. /package/dist/{chunk-LWJITLCI.js.map → chunk-6TYXZI35.js.map} +0 -0
  42. /package/dist/{chunk-YWKS4ESK.js.map → chunk-A3HZBKIQ.js.map} +0 -0
  43. /package/dist/{chunk-EG7IIFNL.js.map → chunk-BKTH4EVE.js.map} +0 -0
  44. /package/dist/{chunk-WKFMSABH.js.map → chunk-FNI4JFDM.js.map} +0 -0
  45. /package/dist/{chunk-WB3KV4VH.js.map → chunk-Q5JYEQK6.js.map} +0 -0
  46. /package/dist/{chunk-54GR2G3U.js.map → chunk-TBFWNWDX.js.map} +0 -0
  47. /package/dist/{chunk-JVISXD4K.js.map → chunk-VH2UJCQG.js.map} +0 -0
  48. /package/dist/{chunk-D5CIV4IB.js.map → chunk-VWIADFP4.js.map} +0 -0
  49. /package/dist/{chunk-JWB5Z5GS.js.map → chunk-YZF23LW4.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-BKTH4EVE.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-A3HZBKIQ.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-FNI4JFDM.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-3LKGPCCL.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-TBFWNWDX.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-RABOGNWT.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-6TYXZI35.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-YZF23LW4.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-Q5JYEQK6.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-VWIADFP4.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-VH2UJCQG.js";
158
158
  import {
159
159
  isBetaAgentProvider,
160
160
  normalizeManagedAgentProvider
@@ -14455,7 +14455,7 @@ import {
14455
14455
  SelectContent as SelectContent4,
14456
14456
  SelectItem as SelectItem4,
14457
14457
  SelectTrigger as SelectTrigger4,
14458
- cn as cn5
14458
+ cn as cn6
14459
14459
  } from "@tutti-os/ui-system";
14460
14460
 
14461
14461
  // agent-gui/agentGuiNode/AgentGUIHeroAgentCarousel.tsx
@@ -15250,7 +15250,15 @@ function AgentGUIVinylPlayer({
15250
15250
  /* @__PURE__ */ jsxs9("div", { className: "agent-gui-vinyl-player__tone-control", children: [
15251
15251
  /* @__PURE__ */ jsx16("span", {}),
15252
15252
  /* @__PURE__ */ jsx16("span", { children: "\u25E6" })
15253
- ] })
15253
+ ] }),
15254
+ selectedAgent?.badge?.iconUrl ? /* @__PURE__ */ jsx16(
15255
+ "span",
15256
+ {
15257
+ className: "agent-gui-vinyl-player__owner-badge",
15258
+ "data-agent-owner-badge": "true",
15259
+ children: /* @__PURE__ */ jsx16("img", { src: selectedAgent.badge.iconUrl, alt: "", draggable: false })
15260
+ }
15261
+ ) : null
15254
15262
  ] });
15255
15263
  }
15256
15264
 
@@ -18379,7 +18387,8 @@ function useComposerMentionActions(input) {
18379
18387
  } = input;
18380
18388
  const selectFileMention = useCallback35(
18381
18389
  (entry) => {
18382
- if (entry.kind === "file" && entry.mentionNavigation && mentionControllerRef.current?.selectFileMentionNavigationItem(entry)) {
18390
+ if (entry.kind === "file" && entry.mentionNavigation) {
18391
+ mentionControllerRef.current?.selectFileMentionNavigationItem(entry);
18383
18392
  return;
18384
18393
  }
18385
18394
  fileMentionSuggestion?.command(entry);
@@ -26178,8 +26187,61 @@ function targetSetupPhaseLabel(t, phase) {
26178
26187
  }
26179
26188
  }
26180
26189
 
26181
- // agent-gui/agentGuiNode/view/AgentGUIEmptyState.tsx
26190
+ // agent-gui/agentGuiNode/view/AgentGUIAgentTargetName.tsx
26191
+ import { cn as cn5 } from "@tutti-os/ui-system";
26182
26192
  import { Fragment as Fragment12, jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
26193
+ function projectAgentGUIAgentTargetName(input) {
26194
+ const agentLabel = input.target.label.trim();
26195
+ const ownerLabel = input.target.ownership === "shared" ? input.target.ownerLabel?.trim() || null : null;
26196
+ const ownerSeparator = ownerLabel ? input.ownerSeparator : "";
26197
+ return {
26198
+ agentLabel,
26199
+ fullLabel: ownerLabel ? `${ownerLabel}${ownerSeparator}${agentLabel}` : agentLabel,
26200
+ ownerLabel,
26201
+ ownerSeparator
26202
+ };
26203
+ }
26204
+ function AgentGUIAgentTargetName({
26205
+ className,
26206
+ ownerSeparator,
26207
+ target
26208
+ }) {
26209
+ const presentation = projectAgentGUIAgentTargetName({
26210
+ ownerSeparator,
26211
+ target
26212
+ });
26213
+ return /* @__PURE__ */ jsx42(
26214
+ "span",
26215
+ {
26216
+ className: cn5("flex min-w-0 max-w-full items-baseline", className),
26217
+ title: presentation.fullLabel,
26218
+ children: presentation.ownerLabel ? /* @__PURE__ */ jsxs30(Fragment12, { children: [
26219
+ /* @__PURE__ */ jsx42(
26220
+ "span",
26221
+ {
26222
+ className: "min-w-0 flex-1 truncate",
26223
+ "data-testid": "agent-target-owner-name",
26224
+ children: presentation.ownerLabel
26225
+ }
26226
+ ),
26227
+ /* @__PURE__ */ jsxs30(
26228
+ "span",
26229
+ {
26230
+ className: "shrink-0 whitespace-pre",
26231
+ "data-testid": "agent-target-name-suffix",
26232
+ children: [
26233
+ presentation.ownerSeparator,
26234
+ presentation.agentLabel
26235
+ ]
26236
+ }
26237
+ )
26238
+ ] }) : /* @__PURE__ */ jsx42("span", { className: "min-w-0 truncate", "data-testid": "agent-target-name", children: presentation.agentLabel })
26239
+ }
26240
+ );
26241
+ }
26242
+
26243
+ // agent-gui/agentGuiNode/view/AgentGUIEmptyState.tsx
26244
+ import { Fragment as Fragment13, jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
26183
26245
  function resolveAgentGUIHeroIconUrl2(provider) {
26184
26246
  const normalizedProvider = normalizeManagedAgentProvider(provider);
26185
26247
  return MANAGED_AGENT_ICON_URLS[normalizedProvider] ?? MANAGED_AGENT_ICON_FALLBACK_URL;
@@ -26208,7 +26270,10 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
26208
26270
  }) {
26209
26271
  "use memo";
26210
26272
  const runtimeProviderLabel = labels.emptyProviderForProvider?.(provider) ?? labels.emptyProvider ?? "";
26211
- const providerLabel = selectedAgentTarget?.label ?? runtimeProviderLabel;
26273
+ const providerLabel = selectedAgentTarget ? projectAgentGUIAgentTargetName({
26274
+ ownerSeparator: labels.sharedAgentOwnerSeparator,
26275
+ target: selectedAgentTarget
26276
+ }).fullLabel : runtimeProviderLabel;
26212
26277
  const baseLabel = labels.emptyForProvider?.(provider) ?? labels.empty;
26213
26278
  const emptyLabel = runtimeProviderLabel ? baseLabel.replace(runtimeProviderLabel, providerLabel) : baseLabel;
26214
26279
  const avatarPresentations = useMemo30(
@@ -26221,18 +26286,18 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
26221
26286
  [agentTargets, provider, providerLabel, selectedAgentTarget]
26222
26287
  );
26223
26288
  const carouselMountedExternally = avatarPresentations.length > 1;
26224
- return /* @__PURE__ */ jsx42(
26289
+ return /* @__PURE__ */ jsx43(
26225
26290
  AgentGUIEmptyHeroCarouselStage,
26226
26291
  {
26227
26292
  activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
26228
26293
  items: avatarPresentations,
26229
26294
  onProviderSelect,
26230
26295
  providerSelectLabel: labels.providerSwitchLabel,
26231
- children: /* @__PURE__ */ jsx42(
26296
+ children: /* @__PURE__ */ jsx43(
26232
26297
  AgentTargetSetupGate,
26233
26298
  {
26234
26299
  carouselMountedExternally,
26235
- children: providerReadinessGate ? /* @__PURE__ */ jsx42(
26300
+ children: providerReadinessGate ? /* @__PURE__ */ jsx43(
26236
26301
  AgentGUIProviderReadinessGatePane,
26237
26302
  {
26238
26303
  provider,
@@ -26248,7 +26313,7 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
26248
26313
  selectedAgentTarget,
26249
26314
  labels
26250
26315
  }
26251
- ) : /* @__PURE__ */ jsx42(
26316
+ ) : /* @__PURE__ */ jsx43(
26252
26317
  AgentGUIEmptyHeroPane,
26253
26318
  {
26254
26319
  ...heroProps,
@@ -26260,7 +26325,8 @@ var AgentGUIEmptyHomePane = memo3(function AgentGUIEmptyHomePane2({
26260
26325
  onProviderSelect,
26261
26326
  agentTargets,
26262
26327
  selectedAgentTarget,
26263
- providerSelectLabel: labels.providerSwitchLabel
26328
+ providerSelectLabel: labels.providerSwitchLabel,
26329
+ sharedAgentOwnerSeparator: labels.sharedAgentOwnerSeparator
26264
26330
  }
26265
26331
  )
26266
26332
  }
@@ -26286,6 +26352,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
26286
26352
  chromeLabels,
26287
26353
  composerProps,
26288
26354
  providerSelectLabel,
26355
+ sharedAgentOwnerSeparator,
26289
26356
  suggestions,
26290
26357
  suggestionsCloseLabel,
26291
26358
  onSelectSuggestion,
@@ -26301,13 +26368,13 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
26301
26368
  const heroIconAnimationKey = heroAvatarPresentations.map(
26302
26369
  (avatar) => `${avatar.agentTargetId}:${avatar.iconUrl}:${avatar.badge?.iconUrl ?? ""}`
26303
26370
  ).join("|");
26304
- return /* @__PURE__ */ jsx42("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs30("div", { className: AgentGUINode_styles_default.emptyHeroBody, children: [
26305
- /* @__PURE__ */ jsx42(
26371
+ return /* @__PURE__ */ jsx43("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs31("div", { className: AgentGUINode_styles_default.emptyHeroBody, children: [
26372
+ /* @__PURE__ */ jsx43(
26306
26373
  "div",
26307
26374
  {
26308
26375
  className: AgentGUINode_styles_default.emptyHeroIconSlot,
26309
26376
  "data-carousel-placeholder": carouselMountedExternally || void 0,
26310
- children: carouselMountedExternally ? null : heroAvatarPresentations.length > 1 ? /* @__PURE__ */ jsx42(
26377
+ children: carouselMountedExternally ? null : heroAvatarPresentations.length > 1 ? /* @__PURE__ */ jsx43(
26311
26378
  AgentGUIHeroAgentCarousel,
26312
26379
  {
26313
26380
  activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
@@ -26315,7 +26382,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
26315
26382
  onProviderSelect,
26316
26383
  providerSelectLabel
26317
26384
  }
26318
- ) : /* @__PURE__ */ jsx42(
26385
+ ) : /* @__PURE__ */ jsx43(
26319
26386
  AgentGUIAgentAvatarVisual,
26320
26387
  {
26321
26388
  className: AgentGUINode_styles_default.emptyHeroIconEffect,
@@ -26325,7 +26392,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
26325
26392
  )
26326
26393
  }
26327
26394
  ),
26328
- /* @__PURE__ */ jsx42("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx42(
26395
+ /* @__PURE__ */ jsx43("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx43(
26329
26396
  EmptyHeroTitle,
26330
26397
  {
26331
26398
  label: emptyLabel,
@@ -26333,10 +26400,11 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
26333
26400
  providerSelectLabel,
26334
26401
  agentTargets,
26335
26402
  selectedAgentTarget,
26336
- onProviderSelect
26403
+ onProviderSelect,
26404
+ sharedAgentOwnerSeparator
26337
26405
  }
26338
26406
  ) }),
26339
- inlineNoticeChrome ? /* @__PURE__ */ jsx42(
26407
+ inlineNoticeChrome ? /* @__PURE__ */ jsx43(
26340
26408
  AgentSessionChrome,
26341
26409
  {
26342
26410
  chrome: inlineNoticeChrome,
@@ -26348,8 +26416,8 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
26348
26416
  labels: chromeLabels
26349
26417
  }
26350
26418
  ) : null,
26351
- /* @__PURE__ */ jsx42(AgentComposer, { ...composerProps }),
26352
- /* @__PURE__ */ jsx42(
26419
+ /* @__PURE__ */ jsx43(AgentComposer, { ...composerProps }),
26420
+ /* @__PURE__ */ jsx43(
26353
26421
  AgentHomeSuggestions,
26354
26422
  {
26355
26423
  categories: suggestions,
@@ -26395,20 +26463,20 @@ var AgentGUIProviderReadinessGatePane = memo3(
26395
26463
  const titleLabel = gate.status === "not_installed" || gate.status === "auth_required" ? emptyLabel : content.title;
26396
26464
  const action = resolveAgentGUIProviderReadinessAction(gate.status);
26397
26465
  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(
26466
+ return /* @__PURE__ */ jsx43("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs31(
26399
26467
  "div",
26400
26468
  {
26401
- className: cn5(AgentGUINode_styles_default.emptyHeroBody, AgentGUINode_styles_default.emptyProviderGate),
26469
+ className: cn6(AgentGUINode_styles_default.emptyHeroBody, AgentGUINode_styles_default.emptyProviderGate),
26402
26470
  "data-testid": "agent-gui-provider-readiness-gate",
26403
26471
  role: "status",
26404
26472
  children: [
26405
- carouselMountedExternally ? /* @__PURE__ */ jsx42(
26473
+ carouselMountedExternally ? /* @__PURE__ */ jsx43(
26406
26474
  "div",
26407
26475
  {
26408
26476
  "aria-hidden": "true",
26409
26477
  className: AgentGUINode_styles_default.emptyHeroCarouselPlaceholder
26410
26478
  }
26411
- ) : heroAvatarPresentations.length > 1 ? /* @__PURE__ */ jsx42(
26479
+ ) : heroAvatarPresentations.length > 1 ? /* @__PURE__ */ jsx43(
26412
26480
  AgentGUIHeroAgentCarousel,
26413
26481
  {
26414
26482
  activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
@@ -26416,14 +26484,14 @@ var AgentGUIProviderReadinessGatePane = memo3(
26416
26484
  onProviderSelect,
26417
26485
  providerSelectLabel
26418
26486
  }
26419
- ) : /* @__PURE__ */ jsx42(
26487
+ ) : /* @__PURE__ */ jsx43(
26420
26488
  AgentGUIAgentAvatarVisual,
26421
26489
  {
26422
26490
  className: AgentGUINode_styles_default.emptyHeroIconEffect,
26423
26491
  presentation: heroAvatarPresentations[0]
26424
26492
  }
26425
26493
  ),
26426
- /* @__PURE__ */ jsx42("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx42(
26494
+ /* @__PURE__ */ jsx43("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: /* @__PURE__ */ jsx43(
26427
26495
  EmptyHeroTitle,
26428
26496
  {
26429
26497
  label: titleLabel,
@@ -26431,11 +26499,12 @@ var AgentGUIProviderReadinessGatePane = memo3(
26431
26499
  providerSelectLabel,
26432
26500
  agentTargets,
26433
26501
  selectedAgentTarget,
26434
- onProviderSelect
26502
+ onProviderSelect,
26503
+ sharedAgentOwnerSeparator: labels.sharedAgentOwnerSeparator
26435
26504
  }
26436
26505
  ) }),
26437
- /* @__PURE__ */ jsx42("p", { className: AgentGUINode_styles_default.emptyProviderGateDescription, children: content.description }),
26438
- pendingLabel && !action ? /* @__PURE__ */ jsx42(
26506
+ /* @__PURE__ */ jsx43("p", { className: AgentGUINode_styles_default.emptyProviderGateDescription, children: content.description }),
26507
+ pendingLabel && !action ? /* @__PURE__ */ jsx43(
26439
26508
  "div",
26440
26509
  {
26441
26510
  className: AgentGUINode_styles_default.emptyProviderGateStatus,
@@ -26443,11 +26512,11 @@ var AgentGUIProviderReadinessGatePane = memo3(
26443
26512
  children: pendingLabel
26444
26513
  }
26445
26514
  ) : null,
26446
- action ? /* @__PURE__ */ jsx42(
26515
+ action ? /* @__PURE__ */ jsx43(
26447
26516
  Button,
26448
26517
  {
26449
26518
  type: "button",
26450
- className: cn5(
26519
+ className: cn6(
26451
26520
  AgentGUINode_styles_default.emptyProviderGateAction,
26452
26521
  "nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]"
26453
26522
  ),
@@ -26462,11 +26531,11 @@ var AgentGUIProviderReadinessGatePane = memo3(
26462
26531
  },
26463
26532
  children: isPending && pendingLabel ? pendingLabel : content.actionLabel
26464
26533
  }
26465
- ) : content.actionLabel ? /* @__PURE__ */ jsx42(
26534
+ ) : content.actionLabel ? /* @__PURE__ */ jsx43(
26466
26535
  Button,
26467
26536
  {
26468
26537
  type: "button",
26469
- className: cn5(
26538
+ className: cn6(
26470
26539
  AgentGUINode_styles_default.emptyProviderGateAction,
26471
26540
  "nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]"
26472
26541
  ),
@@ -26485,7 +26554,7 @@ function AgentGUIUnifiedProviderIcon({
26485
26554
  presentation
26486
26555
  }) {
26487
26556
  const iconUrl = presentation?.iconUrl?.trim() || agentColorfulUrl;
26488
- return /* @__PURE__ */ jsx42("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailAvatar, children: /* @__PURE__ */ jsx42(
26557
+ return /* @__PURE__ */ jsx43("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailAvatar, children: /* @__PURE__ */ jsx43(
26489
26558
  "img",
26490
26559
  {
26491
26560
  alt: "",
@@ -26500,7 +26569,7 @@ function AgentGUIProviderIconVisual({
26500
26569
  icon,
26501
26570
  imageClassName
26502
26571
  }) {
26503
- return /* @__PURE__ */ jsx42(
26572
+ return /* @__PURE__ */ jsx43(
26504
26573
  "img",
26505
26574
  {
26506
26575
  alt: "",
@@ -26516,23 +26585,23 @@ function AgentGUIAgentAvatarVisual({
26516
26585
  imageClassName,
26517
26586
  presentation
26518
26587
  }) {
26519
- return /* @__PURE__ */ jsxs30(
26588
+ return /* @__PURE__ */ jsxs31(
26520
26589
  "span",
26521
26590
  {
26522
26591
  "aria-hidden": "true",
26523
- className: cn5(AgentGUINode_styles_default.agentAvatar, className),
26592
+ className: cn6(AgentGUINode_styles_default.agentAvatar, className),
26524
26593
  "data-agent-target-id": presentation.agentTargetId,
26525
26594
  children: [
26526
- /* @__PURE__ */ jsx42(
26595
+ /* @__PURE__ */ jsx43(
26527
26596
  "img",
26528
26597
  {
26529
26598
  alt: "",
26530
- className: cn5(AgentGUINode_styles_default.agentAvatarImage, imageClassName),
26599
+ className: cn6(AgentGUINode_styles_default.agentAvatarImage, imageClassName),
26531
26600
  draggable: false,
26532
26601
  src: presentation.iconUrl
26533
26602
  }
26534
26603
  ),
26535
- presentation.badge?.iconUrl ? /* @__PURE__ */ jsx42("span", { className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx42(
26604
+ presentation.badge?.iconUrl ? /* @__PURE__ */ jsx43("span", { className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx43(
26536
26605
  "img",
26537
26606
  {
26538
26607
  alt: "",
@@ -26551,19 +26620,20 @@ function EmptyHeroTitle({
26551
26620
  providerSelectLabel,
26552
26621
  agentTargets = [],
26553
26622
  selectedAgentTarget = null,
26554
- onProviderSelect
26623
+ onProviderSelect,
26624
+ sharedAgentOwnerSeparator
26555
26625
  }) {
26556
26626
  const providerStart = providerLabel ? label.indexOf(providerLabel) : -1;
26557
26627
  if (!shouldEmphasizeEmptyHeroProvider(label) || providerStart < 0) {
26558
- return /* @__PURE__ */ jsx42(Fragment12, { children: label });
26628
+ return /* @__PURE__ */ jsx43(Fragment13, { children: label });
26559
26629
  }
26560
26630
  const providerEnd = providerStart + providerLabel.length;
26561
26631
  const selectedAgentTargetId = selectedAgentTarget?.targetId ?? `local:${selectedAgentTarget?.provider ?? ""}`;
26562
26632
  const canSwitchProvider = agentTargets.length > 1 && selectedAgentTarget && onProviderSelect;
26563
26633
  const providerName = label.slice(providerStart, providerEnd);
26564
- return /* @__PURE__ */ jsxs30(Fragment12, { children: [
26634
+ return /* @__PURE__ */ jsxs31(Fragment13, { children: [
26565
26635
  label.slice(0, providerStart),
26566
- canSwitchProvider ? /* @__PURE__ */ jsxs30(
26636
+ canSwitchProvider ? /* @__PURE__ */ jsxs31(
26567
26637
  Select4,
26568
26638
  {
26569
26639
  value: selectedAgentTargetId,
@@ -26580,28 +26650,38 @@ function EmptyHeroTitle({
26580
26650
  });
26581
26651
  },
26582
26652
  children: [
26583
- /* @__PURE__ */ jsx42(
26653
+ /* @__PURE__ */ jsx43(
26584
26654
  SelectTrigger4,
26585
26655
  {
26586
26656
  size: "sm",
26587
26657
  "aria-label": providerSelectLabel,
26588
26658
  title: providerSelectLabel,
26589
26659
  className: AgentGUINode_styles_default.emptyHeroProviderSelect,
26590
- children: /* @__PURE__ */ jsx42("span", { className: AgentGUINode_styles_default.emptyHeroProvider, children: providerName })
26660
+ children: /* @__PURE__ */ jsx43(
26661
+ AgentGUIAgentTargetName,
26662
+ {
26663
+ className: cn6(AgentGUINode_styles_default.emptyHeroProvider, "max-w-[240px]"),
26664
+ ownerSeparator: sharedAgentOwnerSeparator,
26665
+ target: selectedAgentTarget
26666
+ }
26667
+ )
26591
26668
  }
26592
26669
  ),
26593
- /* @__PURE__ */ jsx42(
26670
+ /* @__PURE__ */ jsx43(
26594
26671
  SelectContent4,
26595
26672
  {
26596
26673
  align: "center",
26597
- className: cn5(AgentGUINode_styles_default.composerMenuContent, "min-w-[190px]"),
26598
- children: agentTargets.map((target) => /* @__PURE__ */ jsx42(
26674
+ className: cn6(
26675
+ AgentGUINode_styles_default.composerMenuContent,
26676
+ "min-w-[190px] max-w-[min(420px,calc(100vw-32px))]"
26677
+ ),
26678
+ children: agentTargets.map((target) => /* @__PURE__ */ jsx43(
26599
26679
  SelectItem4,
26600
26680
  {
26601
26681
  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(
26682
+ className: cn6(AgentGUINode_styles_default.composerMenuItem, "gap-2"),
26683
+ children: /* @__PURE__ */ jsxs31("span", { className: "flex min-w-0 items-center gap-1.5", children: [
26684
+ /* @__PURE__ */ jsx43(
26605
26685
  "img",
26606
26686
  {
26607
26687
  alt: "",
@@ -26613,7 +26693,13 @@ function EmptyHeroTitle({
26613
26693
  ).iconUrl
26614
26694
  }
26615
26695
  ),
26616
- /* @__PURE__ */ jsx42("span", { className: "min-w-0 truncate", children: target.label })
26696
+ /* @__PURE__ */ jsx43(
26697
+ AgentGUIAgentTargetName,
26698
+ {
26699
+ ownerSeparator: sharedAgentOwnerSeparator,
26700
+ target
26701
+ }
26702
+ )
26617
26703
  ] })
26618
26704
  },
26619
26705
  `${target.provider}:${target.targetId}`
@@ -26622,7 +26708,14 @@ function EmptyHeroTitle({
26622
26708
  )
26623
26709
  ]
26624
26710
  }
26625
- ) : /* @__PURE__ */ jsx42("span", { className: AgentGUINode_styles_default.emptyHeroProvider, children: providerName }),
26711
+ ) : selectedAgentTarget ? /* @__PURE__ */ jsx43(
26712
+ AgentGUIAgentTargetName,
26713
+ {
26714
+ className: cn6(AgentGUINode_styles_default.emptyHeroProvider, "max-w-[240px]"),
26715
+ ownerSeparator: sharedAgentOwnerSeparator,
26716
+ target: selectedAgentTarget
26717
+ }
26718
+ ) : /* @__PURE__ */ jsx43("span", { className: AgentGUINode_styles_default.emptyHeroProvider, children: providerName }),
26626
26719
  label.slice(providerEnd)
26627
26720
  ] });
26628
26721
  }
@@ -26642,7 +26735,7 @@ import {
26642
26735
  DialogTitle,
26643
26736
  toast as toast3
26644
26737
  } from "@tutti-os/ui-system";
26645
- import { jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
26738
+ import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
26646
26739
  var AGENT_MANAGER_LONG_PRESS_MOVE_TOLERANCE_PX = 8;
26647
26740
  var AGENT_MANAGER_DROP_HYSTERESIS_PX = 8;
26648
26741
  function AgentGUIProviderManagerDialog({
@@ -26865,7 +26958,7 @@ function AgentGUIProviderManagerDialog({
26865
26958
  };
26866
26959
  const disabledDropBlocked = dragState?.source === "available" && (finalAvailableAgent || running.has(dragState.targetId));
26867
26960
  const disabledDropBlockedByRunning = dragState?.source === "available" && running.has(dragState.targetId);
26868
- return /* @__PURE__ */ jsx43(Dialog, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs31(
26961
+ return /* @__PURE__ */ jsx44(Dialog, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs32(
26869
26962
  DialogContent,
26870
26963
  {
26871
26964
  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 +26973,17 @@ function AgentGUIProviderManagerDialog({
26880
26973
  setEditing(false);
26881
26974
  },
26882
26975
  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 })
26976
+ /* @__PURE__ */ jsxs32(DialogHeader, { className: "shrink-0 border-b border-[var(--border-1)] px-5 py-4", children: [
26977
+ /* @__PURE__ */ jsx44(DialogTitle, { children: labels.manageAgentsTitle }),
26978
+ /* @__PURE__ */ jsx44(DialogDescription, { children: labels.manageAgentsDescription })
26886
26979
  ] }),
26887
- /* @__PURE__ */ jsxs31(
26980
+ /* @__PURE__ */ jsxs32(
26888
26981
  "div",
26889
26982
  {
26890
26983
  className: "min-h-0 flex-1 overflow-y-auto px-5 py-4",
26891
26984
  onClick: exitEditingFromBlankSpace,
26892
26985
  children: [
26893
- /* @__PURE__ */ jsxs31(
26986
+ /* @__PURE__ */ jsxs32(
26894
26987
  "section",
26895
26988
  {
26896
26989
  "aria-labelledby": "agent-manager-available-heading",
@@ -26900,7 +26993,7 @@ function AgentGUIProviderManagerDialog({
26900
26993
  onDragOver: (event) => dragOverDropZone(event, "available"),
26901
26994
  onDrop: (event) => dropIntoZone(event, "available"),
26902
26995
  children: [
26903
- /* @__PURE__ */ jsx43(
26996
+ /* @__PURE__ */ jsx44(
26904
26997
  "h3",
26905
26998
  {
26906
26999
  className: "mb-3 text-[12px] font-medium text-[var(--text-secondary)]",
@@ -26908,7 +27001,7 @@ function AgentGUIProviderManagerDialog({
26908
27001
  children: labels.manageAgentsAvailable
26909
27002
  }
26910
27003
  ),
26911
- availableTargets.length > 0 ? /* @__PURE__ */ jsx43(
27004
+ availableTargets.length > 0 ? /* @__PURE__ */ jsx44(
26912
27005
  "div",
26913
27006
  {
26914
27007
  "aria-label": labels.manageAgentsAvailable,
@@ -26919,7 +27012,7 @@ function AgentGUIProviderManagerDialog({
26919
27012
  children: availableTargets.map((target) => {
26920
27013
  const label = target.label.trim() || target.provider;
26921
27014
  const targetRunning = running.has(target.targetId);
26922
- return /* @__PURE__ */ jsxs31(
27015
+ return /* @__PURE__ */ jsxs32(
26923
27016
  "div",
26924
27017
  {
26925
27018
  "aria-label": labels.dragAgentToReorder(label),
@@ -26956,7 +27049,7 @@ function AgentGUIProviderManagerDialog({
26956
27049
  role: "listitem",
26957
27050
  tabIndex: 0,
26958
27051
  children: [
26959
- dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */ jsx43(
27052
+ dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */ jsx44(
26960
27053
  "span",
26961
27054
  {
26962
27055
  "aria-hidden": "true",
@@ -26965,7 +27058,7 @@ function AgentGUIProviderManagerDialog({
26965
27058
  "data-testid": "agent-gui-provider-manager-drop-indicator"
26966
27059
  }
26967
27060
  ) : null,
26968
- editing ? /* @__PURE__ */ jsx43(
27061
+ editing ? /* @__PURE__ */ jsx44(
26969
27062
  Button5,
26970
27063
  {
26971
27064
  "aria-label": labels.removeAgentFromSidebar(label),
@@ -26983,10 +27076,10 @@ function AgentGUIProviderManagerDialog({
26983
27076
  title: targetRunning ? labels.manageAgentsRunningBlocked(label) : finalAvailableAgent ? labels.manageAgentsKeepOneAvailable : void 0,
26984
27077
  type: "button",
26985
27078
  variant: "ghost",
26986
- children: /* @__PURE__ */ jsx43(CircleMinus, { "aria-hidden": "true", className: "size-4" })
27079
+ children: /* @__PURE__ */ jsx44(CircleMinus, { "aria-hidden": "true", className: "size-4" })
26987
27080
  }
26988
27081
  ) : null,
26989
- /* @__PURE__ */ jsx43(
27082
+ /* @__PURE__ */ jsx44(
26990
27083
  AgentGUIProviderIconVisual,
26991
27084
  {
26992
27085
  ariaHidden: true,
@@ -26997,18 +27090,18 @@ function AgentGUIProviderManagerDialog({
26997
27090
  imageClassName: "size-9 shrink-0 rounded-[9px] object-cover"
26998
27091
  }
26999
27092
  ),
27000
- /* @__PURE__ */ jsx43("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-primary)]", children: label })
27093
+ /* @__PURE__ */ jsx44("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-primary)]", children: label })
27001
27094
  ]
27002
27095
  },
27003
27096
  target.targetId
27004
27097
  );
27005
27098
  })
27006
27099
  }
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 })
27100
+ ) : /* @__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
27101
  ]
27009
27102
  }
27010
27103
  ),
27011
- /* @__PURE__ */ jsxs31(
27104
+ /* @__PURE__ */ jsxs32(
27012
27105
  "section",
27013
27106
  {
27014
27107
  "aria-labelledby": "agent-manager-disabled-heading",
@@ -27024,7 +27117,7 @@ function AgentGUIProviderManagerDialog({
27024
27117
  )?.label ?? ""
27025
27118
  ) : labels.manageAgentsKeepOneAvailable : void 0,
27026
27119
  children: [
27027
- /* @__PURE__ */ jsx43(
27120
+ /* @__PURE__ */ jsx44(
27028
27121
  "h3",
27029
27122
  {
27030
27123
  className: "mb-3 text-[12px] font-medium text-[var(--text-secondary)]",
@@ -27032,7 +27125,7 @@ function AgentGUIProviderManagerDialog({
27032
27125
  children: labels.manageAgentsDisabled
27033
27126
  }
27034
27127
  ),
27035
- disabledTargets.length > 0 ? /* @__PURE__ */ jsx43(
27128
+ disabledTargets.length > 0 ? /* @__PURE__ */ jsx44(
27036
27129
  "div",
27037
27130
  {
27038
27131
  "aria-label": labels.manageAgentsDisabled,
@@ -27042,7 +27135,7 @@ function AgentGUIProviderManagerDialog({
27042
27135
  role: "list",
27043
27136
  children: disabledTargets.map((target) => {
27044
27137
  const label = target.label.trim() || target.provider;
27045
- return /* @__PURE__ */ jsxs31(
27138
+ return /* @__PURE__ */ jsxs32(
27046
27139
  "div",
27047
27140
  {
27048
27141
  "aria-label": labels.dragAgentToReorder(label),
@@ -27078,7 +27171,7 @@ function AgentGUIProviderManagerDialog({
27078
27171
  role: "listitem",
27079
27172
  tabIndex: 0,
27080
27173
  children: [
27081
- dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */ jsx43(
27174
+ dragPreview?.overTargetId === target.targetId ? /* @__PURE__ */ jsx44(
27082
27175
  "span",
27083
27176
  {
27084
27177
  "aria-hidden": "true",
@@ -27087,7 +27180,7 @@ function AgentGUIProviderManagerDialog({
27087
27180
  "data-testid": "agent-gui-provider-manager-drop-indicator"
27088
27181
  }
27089
27182
  ) : null,
27090
- editing ? /* @__PURE__ */ jsx43(
27183
+ editing ? /* @__PURE__ */ jsx44(
27091
27184
  Button5,
27092
27185
  {
27093
27186
  "aria-label": labels.addAgentToSidebar(label),
@@ -27099,10 +27192,10 @@ function AgentGUIProviderManagerDialog({
27099
27192
  size: "icon-xs",
27100
27193
  type: "button",
27101
27194
  variant: "ghost",
27102
- children: /* @__PURE__ */ jsx43(CirclePlus, { "aria-hidden": "true", className: "size-4" })
27195
+ children: /* @__PURE__ */ jsx44(CirclePlus, { "aria-hidden": "true", className: "size-4" })
27103
27196
  }
27104
27197
  ) : null,
27105
- /* @__PURE__ */ jsx43(
27198
+ /* @__PURE__ */ jsx44(
27106
27199
  AgentGUIProviderIconVisual,
27107
27200
  {
27108
27201
  ariaHidden: true,
@@ -27113,14 +27206,14 @@ function AgentGUIProviderManagerDialog({
27113
27206
  imageClassName: "size-9 shrink-0 rounded-[9px] object-cover opacity-70 grayscale-[0.25]"
27114
27207
  }
27115
27208
  ),
27116
- /* @__PURE__ */ jsx43("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-secondary)]", children: label })
27209
+ /* @__PURE__ */ jsx44("span", { className: "mt-2 block w-full truncate text-center text-[12px] font-medium text-[var(--text-secondary)]", children: label })
27117
27210
  ]
27118
27211
  },
27119
27212
  target.targetId
27120
27213
  );
27121
27214
  })
27122
27215
  }
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 })
27216
+ ) : /* @__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
27217
  ]
27125
27218
  }
27126
27219
  )
@@ -27183,7 +27276,7 @@ function useAgentGUIProviderRailPreferences() {
27183
27276
  }
27184
27277
 
27185
27278
  // agent-gui/agentGuiNode/view/AgentGUIProviderRail.tsx
27186
- import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
27279
+ import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
27187
27280
  var agentGUIProviderRailCatalog = [
27188
27281
  ...migratedAgentGUIProviderIdentityCatalog
27189
27282
  ].sort((left, right) => left.target.sortOrder - right.target.sortOrder);
@@ -27582,7 +27675,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
27582
27675
  },
27583
27676
  [dragState, previewMode, agentTargetsLoading, setProviderRailDragState]
27584
27677
  );
27585
- const providerManagerDialog = /* @__PURE__ */ jsx44(
27678
+ const providerManagerDialog = /* @__PURE__ */ jsx45(
27586
27679
  AgentGUIProviderManagerDialog,
27587
27680
  {
27588
27681
  hiddenTargetIds: effectiveHiddenTargetIds,
@@ -27596,7 +27689,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
27596
27689
  }
27597
27690
  );
27598
27691
  if (providerRailMode === "exact" && !agentTargetsLoading && visibleProviderTiles.length === 0 && renderProviderRailEmpty) {
27599
- return /* @__PURE__ */ jsxs32(
27692
+ return /* @__PURE__ */ jsxs33(
27600
27693
  "div",
27601
27694
  {
27602
27695
  className: AgentGUINode_styles_default.providerRail,
@@ -27611,8 +27704,8 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
27611
27704
  }
27612
27705
  );
27613
27706
  }
27614
- return /* @__PURE__ */ jsxs32("div", { className: AgentGUINode_styles_default.providerRail, children: [
27615
- /* @__PURE__ */ jsxs32(
27707
+ return /* @__PURE__ */ jsxs33("div", { className: AgentGUINode_styles_default.providerRail, children: [
27708
+ /* @__PURE__ */ jsxs33(
27616
27709
  "div",
27617
27710
  {
27618
27711
  className: "flex min-h-0 w-full flex-col items-center",
@@ -27622,7 +27715,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
27622
27715
  onDragOver: handleProviderRailContainerDragOver,
27623
27716
  onDrop: commitProviderRailDragDrop,
27624
27717
  children: [
27625
- /* @__PURE__ */ jsxs32(
27718
+ /* @__PURE__ */ jsxs33(
27626
27719
  "button",
27627
27720
  {
27628
27721
  type: "button",
@@ -27634,18 +27727,18 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
27634
27727
  disabled: previewMode,
27635
27728
  onClick: selectAllProviders,
27636
27729
  children: [
27637
- /* @__PURE__ */ jsx44(
27730
+ /* @__PURE__ */ jsx45(
27638
27731
  AgentGUIUnifiedProviderIcon,
27639
27732
  {
27640
27733
  presentation: providerRailAllPresentation
27641
27734
  }
27642
27735
  ),
27643
- /* @__PURE__ */ jsx44("span", { className: AgentGUINode_styles_default.providerRailTileLabel, children: labels.conversationFilterAll })
27736
+ /* @__PURE__ */ jsx45("span", { className: AgentGUINode_styles_default.providerRailTileLabel, children: labels.conversationFilterAll })
27644
27737
  ]
27645
27738
  }
27646
27739
  ),
27647
- /* @__PURE__ */ jsx44("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailSeparator }),
27648
- agentTargetsLoading ? [0, 1, 2].map((index) => /* @__PURE__ */ jsx44(
27740
+ /* @__PURE__ */ jsx45("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailSeparator }),
27741
+ agentTargetsLoading ? [0, 1, 2].map((index) => /* @__PURE__ */ jsx45(
27649
27742
  "button",
27650
27743
  {
27651
27744
  type: "button",
@@ -27655,7 +27748,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
27655
27748
  "data-loading": "true",
27656
27749
  "data-selected": "false",
27657
27750
  disabled: true,
27658
- children: /* @__PURE__ */ jsx44(
27751
+ children: /* @__PURE__ */ jsx45(
27659
27752
  "span",
27660
27753
  {
27661
27754
  "aria-hidden": "true",
@@ -27678,7 +27771,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
27678
27771
  label,
27679
27772
  target.badge?.label
27680
27773
  );
27681
- const tile = /* @__PURE__ */ jsx44(
27774
+ const tile = /* @__PURE__ */ jsx45(
27682
27775
  "button",
27683
27776
  {
27684
27777
  type: "button",
@@ -27698,8 +27791,8 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
27698
27791
  onDragEnd: clearProviderRailDragState,
27699
27792
  onDragOver: (event) => handleProviderRailDragOver(event, target),
27700
27793
  onDragStart: (event) => handleProviderRailDragStart(event, target),
27701
- children: /* @__PURE__ */ jsxs32("span", { className: AgentGUINode_styles_default.providerRailAvatar, children: [
27702
- /* @__PURE__ */ jsx44(
27794
+ children: /* @__PURE__ */ jsxs33("span", { className: AgentGUINode_styles_default.providerRailAvatar, children: [
27795
+ /* @__PURE__ */ jsx45(
27703
27796
  AgentGUIProviderIconVisual,
27704
27797
  {
27705
27798
  ariaHidden: true,
@@ -27710,7 +27803,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
27710
27803
  )
27711
27804
  }
27712
27805
  ),
27713
- target.badge?.iconUrl ? /* @__PURE__ */ jsx44("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx44(
27806
+ target.badge?.iconUrl ? /* @__PURE__ */ jsx45("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.agentAvatarBadge, children: /* @__PURE__ */ jsx45(
27714
27807
  "img",
27715
27808
  {
27716
27809
  alt: "",
@@ -27719,7 +27812,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
27719
27812
  src: target.badge.iconUrl
27720
27813
  }
27721
27814
  ) }) : null,
27722
- providerSelected && isBetaAgentProvider(target.provider) ? /* @__PURE__ */ jsx44(
27815
+ providerSelected && isBetaAgentProvider(target.provider) ? /* @__PURE__ */ jsx45(
27723
27816
  "img",
27724
27817
  {
27725
27818
  "aria-hidden": "true",
@@ -27735,9 +27828,9 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
27735
27828
  if (previewMode) {
27736
27829
  return tile;
27737
27830
  }
27738
- return /* @__PURE__ */ jsxs32(Tooltip5, { children: [
27739
- /* @__PURE__ */ jsx44(TooltipTrigger5, { asChild: true, children: tile }),
27740
- /* @__PURE__ */ jsx44(TooltipContent5, { side: "right", sideOffset: -4, children: label })
27831
+ return /* @__PURE__ */ jsxs33(Tooltip5, { children: [
27832
+ /* @__PURE__ */ jsx45(TooltipTrigger5, { asChild: true, children: tile }),
27833
+ /* @__PURE__ */ jsx45(TooltipContent5, { side: "right", sideOffset: -4, children: label })
27741
27834
  ] }, `${target.provider}:${target.targetId}:tooltip`);
27742
27835
  })
27743
27836
  ]
@@ -27752,7 +27845,7 @@ import { memo as memo8, useState as useState28 } from "react";
27752
27845
 
27753
27846
  // agent-gui/agentGuiNode/view/AgentGUIConversationRailPane.tsx
27754
27847
  import {
27755
- Fragment as Fragment14,
27848
+ Fragment as Fragment15,
27756
27849
  memo as memo7,
27757
27850
  useCallback as useCallback49,
27758
27851
  useEffect as useEffect29,
@@ -27777,7 +27870,7 @@ var styles3 = {
27777
27870
  var RoomIssueNode_styles_default = styles3;
27778
27871
 
27779
27872
  // agent-gui/RoomIssueNode/TaskSearchField.tsx
27780
- import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
27873
+ import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
27781
27874
  function TaskSearchField({
27782
27875
  ariaLabel,
27783
27876
  className,
@@ -27791,13 +27884,13 @@ function TaskSearchField({
27791
27884
  "use memo";
27792
27885
  const { t } = useTranslation();
27793
27886
  const searchInput = useComposedInputValue({ onCommit: onChange, value });
27794
- return /* @__PURE__ */ jsxs33(
27887
+ return /* @__PURE__ */ jsxs34(
27795
27888
  "div",
27796
27889
  {
27797
27890
  className: `${RoomIssueNode_styles_default.searchField} ${className ?? ""}`.trim(),
27798
27891
  "data-has-value": searchInput.value ? "true" : "false",
27799
27892
  children: [
27800
- /* @__PURE__ */ jsx45(
27893
+ /* @__PURE__ */ jsx46(
27801
27894
  Input,
27802
27895
  {
27803
27896
  type: "search",
@@ -27820,7 +27913,7 @@ function TaskSearchField({
27820
27913
  "data-testid": dataTestId
27821
27914
  }
27822
27915
  ),
27823
- searchInput.value ? /* @__PURE__ */ jsx45(
27916
+ searchInput.value ? /* @__PURE__ */ jsx46(
27824
27917
  "button",
27825
27918
  {
27826
27919
  type: "button",
@@ -27828,7 +27921,7 @@ function TaskSearchField({
27828
27921
  "aria-label": clearAriaLabel ?? t("common.clear"),
27829
27922
  onMouseDown: (event) => event.preventDefault(),
27830
27923
  onClick: searchInput.clearValue,
27831
- children: /* @__PURE__ */ jsx45(CloseLinedIcon, { "aria-hidden": "true" })
27924
+ children: /* @__PURE__ */ jsx46(CloseLinedIcon, { "aria-hidden": "true" })
27832
27925
  }
27833
27926
  ) : null
27834
27927
  ]
@@ -27846,7 +27939,7 @@ function isTaskSearchImeComposing(event) {
27846
27939
  }
27847
27940
 
27848
27941
  // agent-gui/agentGuiNode/AgentConversationListSkeleton.tsx
27849
- import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
27942
+ import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
27850
27943
  var SKELETON_ROWS = [
27851
27944
  { id: "first", size: "long" },
27852
27945
  { id: "second", size: "medium" },
@@ -27858,23 +27951,23 @@ function AgentConversationListSkeleton({
27858
27951
  label
27859
27952
  }) {
27860
27953
  "use memo";
27861
- return /* @__PURE__ */ jsx46(
27954
+ return /* @__PURE__ */ jsx47(
27862
27955
  "div",
27863
27956
  {
27864
27957
  className: "agent-gui-node__conversation-list-skeleton",
27865
27958
  role: "status",
27866
27959
  "aria-label": label,
27867
27960
  "data-testid": "agent-gui-conversation-list-loading-skeleton",
27868
- children: SKELETON_ROWS.map((row) => /* @__PURE__ */ jsxs34(
27961
+ children: SKELETON_ROWS.map((row) => /* @__PURE__ */ jsxs35(
27869
27962
  "div",
27870
27963
  {
27871
27964
  className: "agent-gui-node__conversation-list-skeleton-row",
27872
27965
  "data-size": row.size,
27873
27966
  "aria-hidden": "true",
27874
27967
  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" })
27968
+ /* @__PURE__ */ jsx47("span", { className: "agent-gui-node__conversation-list-skeleton-spine" }),
27969
+ /* @__PURE__ */ jsx47("span", { className: "agent-gui-node__conversation-list-skeleton-rib agent-gui-node__conversation-list-skeleton-rib-primary" }),
27970
+ /* @__PURE__ */ jsx47("span", { className: "agent-gui-node__conversation-list-skeleton-rib agent-gui-node__conversation-list-skeleton-rib-secondary" })
27878
27971
  ]
27879
27972
  },
27880
27973
  row.id
@@ -28723,16 +28816,16 @@ import {
28723
28816
  ContextMenuTrigger,
28724
28817
  IssueIcon,
28725
28818
  NewWorkspaceLinedIcon as NewWorkspaceLinedIcon2,
28726
- cn as cn6
28819
+ cn as cn7
28727
28820
  } from "@tutti-os/ui-system";
28728
28821
  import { BareIconButton } from "@tutti-os/ui-system/components";
28729
28822
  import { WorkspaceUserProjectSelect as WorkspaceUserProjectSelect2 } from "@tutti-os/workspace-user-project/ui";
28730
28823
 
28731
28824
  // app/renderer/components/icons/PinFilledIcon.tsx
28732
- import { jsx as jsx47 } from "react/jsx-runtime";
28825
+ import { jsx as jsx48 } from "react/jsx-runtime";
28733
28826
  function PinFilledIcon(props) {
28734
28827
  "use memo";
28735
- return /* @__PURE__ */ jsx47(
28828
+ return /* @__PURE__ */ jsx48(
28736
28829
  "svg",
28737
28830
  {
28738
28831
  xmlns: "http://www.w3.org/2000/svg",
@@ -28740,16 +28833,16 @@ function PinFilledIcon(props) {
28740
28833
  fill: "currentColor",
28741
28834
  "aria-hidden": true,
28742
28835
  ...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" })
28836
+ 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
28837
  }
28745
28838
  );
28746
28839
  }
28747
28840
 
28748
28841
  // app/renderer/components/icons/PinLinedIcon.tsx
28749
- import { jsx as jsx48 } from "react/jsx-runtime";
28842
+ import { jsx as jsx49 } from "react/jsx-runtime";
28750
28843
  function PinLinedIcon(props) {
28751
28844
  "use memo";
28752
- return /* @__PURE__ */ jsx48(
28845
+ return /* @__PURE__ */ jsx49(
28753
28846
  "svg",
28754
28847
  {
28755
28848
  xmlns: "http://www.w3.org/2000/svg",
@@ -28757,7 +28850,7 @@ function PinLinedIcon(props) {
28757
28850
  fill: "currentColor",
28758
28851
  "aria-hidden": true,
28759
28852
  ...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" })
28853
+ 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
28854
  }
28762
28855
  );
28763
28856
  }
@@ -28765,7 +28858,7 @@ function PinLinedIcon(props) {
28765
28858
  // agent-gui/agentGuiNode/agentGuiNodeViewConversation.tsx
28766
28859
  import { Spinner as Spinner5 } from "@tutti-os/ui-system";
28767
28860
  import { AskLinedIcon } from "@tutti-os/ui-system/icons";
28768
- import { jsx as jsx49 } from "react/jsx-runtime";
28861
+ import { jsx as jsx50 } from "react/jsx-runtime";
28769
28862
  function ConversationMeta({
28770
28863
  item,
28771
28864
  nowMs,
@@ -28774,24 +28867,24 @@ function ConversationMeta({
28774
28867
  "use memo";
28775
28868
  const kind = conversationMetaKind(item);
28776
28869
  if (kind === "loading") {
28777
- return /* @__PURE__ */ jsx49(
28870
+ return /* @__PURE__ */ jsx50(
28778
28871
  "span",
28779
28872
  {
28780
28873
  className: AgentGUINode_styles_default.conversationMeta,
28781
28874
  "data-kind": kind,
28782
28875
  "data-testid": `agent-gui-conversation-meta-${item.id}`,
28783
- children: /* @__PURE__ */ jsx49(LoadingGlyph, {})
28876
+ children: /* @__PURE__ */ jsx50(LoadingGlyph, {})
28784
28877
  }
28785
28878
  );
28786
28879
  }
28787
28880
  if (kind === "waiting") {
28788
- return /* @__PURE__ */ jsx49(
28881
+ return /* @__PURE__ */ jsx50(
28789
28882
  "span",
28790
28883
  {
28791
28884
  className: AgentGUINode_styles_default.conversationMeta,
28792
28885
  "data-kind": kind,
28793
28886
  "data-testid": `agent-gui-conversation-meta-${item.id}`,
28794
- children: /* @__PURE__ */ jsx49(
28887
+ children: /* @__PURE__ */ jsx50(
28795
28888
  AskLinedIcon,
28796
28889
  {
28797
28890
  "aria-hidden": "true",
@@ -28802,34 +28895,34 @@ function ConversationMeta({
28802
28895
  );
28803
28896
  }
28804
28897
  if (kind === "failed") {
28805
- return /* @__PURE__ */ jsx49(
28898
+ return /* @__PURE__ */ jsx50(
28806
28899
  "span",
28807
28900
  {
28808
28901
  className: AgentGUINode_styles_default.conversationMeta,
28809
28902
  "data-kind": kind,
28810
28903
  "data-testid": `agent-gui-conversation-meta-${item.id}`,
28811
- children: /* @__PURE__ */ jsx49(AttentionGlyph, {})
28904
+ children: /* @__PURE__ */ jsx50(AttentionGlyph, {})
28812
28905
  }
28813
28906
  );
28814
28907
  }
28815
28908
  if (kind === "unread-complete") {
28816
- return /* @__PURE__ */ jsx49(
28909
+ return /* @__PURE__ */ jsx50(
28817
28910
  "span",
28818
28911
  {
28819
28912
  className: AgentGUINode_styles_default.conversationMeta,
28820
28913
  "data-kind": kind,
28821
28914
  "data-testid": `agent-gui-conversation-meta-${item.id}`,
28822
- children: /* @__PURE__ */ jsx49("span", { className: AgentGUINode_styles_default.conversationUnreadLamp, "aria-hidden": "true" })
28915
+ children: /* @__PURE__ */ jsx50("span", { className: AgentGUINode_styles_default.conversationUnreadLamp, "aria-hidden": "true" })
28823
28916
  }
28824
28917
  );
28825
28918
  }
28826
- return /* @__PURE__ */ jsx49(
28919
+ return /* @__PURE__ */ jsx50(
28827
28920
  "span",
28828
28921
  {
28829
28922
  className: AgentGUINode_styles_default.conversationMeta,
28830
28923
  "data-kind": kind,
28831
28924
  "data-testid": `agent-gui-conversation-meta-${item.id}`,
28832
- children: /* @__PURE__ */ jsx49("span", { className: AgentGUINode_styles_default.conversationTime, children: formatConversationRelativeTime(
28925
+ children: /* @__PURE__ */ jsx50("span", { className: AgentGUINode_styles_default.conversationTime, children: formatConversationRelativeTime(
28833
28926
  resolveAgentGUIConversationSortTimeUnixMs(item),
28834
28927
  nowMs,
28835
28928
  labels
@@ -28877,7 +28970,7 @@ function formatConversationRelativeTime(updatedAtUnixMs, nowMs, labels) {
28877
28970
  }
28878
28971
  function LoadingGlyph() {
28879
28972
  "use memo";
28880
- return /* @__PURE__ */ jsx49(
28973
+ return /* @__PURE__ */ jsx50(
28881
28974
  Spinner5,
28882
28975
  {
28883
28976
  className: AgentGUINode_styles_default.conversationStatusGlyph,
@@ -28891,14 +28984,14 @@ function LoadingGlyph() {
28891
28984
  }
28892
28985
  function AttentionGlyph() {
28893
28986
  "use memo";
28894
- return /* @__PURE__ */ jsx49(
28987
+ return /* @__PURE__ */ jsx50(
28895
28988
  "svg",
28896
28989
  {
28897
28990
  viewBox: "0 0 24 24",
28898
28991
  fill: "none",
28899
28992
  "aria-hidden": "true",
28900
28993
  className: AgentGUINode_styles_default.conversationStatusGlyph,
28901
- children: /* @__PURE__ */ jsx49(
28994
+ children: /* @__PURE__ */ jsx50(
28902
28995
  "path",
28903
28996
  {
28904
28997
  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 +29003,7 @@ function AttentionGlyph() {
28910
29003
  }
28911
29004
 
28912
29005
  // agent-gui/agentGuiNode/view/AgentGUIConversationRailItem.tsx
28913
- import { Fragment as Fragment13, jsx as jsx50, jsxs as jsxs35 } from "react/jsx-runtime";
29006
+ import { Fragment as Fragment14, jsx as jsx51, jsxs as jsxs36 } from "react/jsx-runtime";
28914
29007
  function agentGUIConversationIconUrl(provider, agentTargetId, workspaceId, agentTargets) {
28915
29008
  const targetPresentation = resolveAgentTargetPresentation({
28916
29009
  agentTargetId: agentTargetId ?? "",
@@ -29073,7 +29166,7 @@ var AgentGUIConversationRailItem = memo5(
29073
29166
  uiLanguage,
29074
29167
  workspaceId
29075
29168
  ]);
29076
- const row = /* @__PURE__ */ jsxs35(
29169
+ const row = /* @__PURE__ */ jsxs36(
29077
29170
  "div",
29078
29171
  {
29079
29172
  ref: setItemElement,
@@ -29090,7 +29183,7 @@ var AgentGUIConversationRailItem = memo5(
29090
29183
  },
29091
29184
  onMouseLeave: handleMouseLeave,
29092
29185
  children: [
29093
- /* @__PURE__ */ jsxs35(
29186
+ /* @__PURE__ */ jsxs36(
29094
29187
  "button",
29095
29188
  {
29096
29189
  type: "button",
@@ -29101,8 +29194,8 @@ var AgentGUIConversationRailItem = memo5(
29101
29194
  handleRequestRename();
29102
29195
  },
29103
29196
  children: [
29104
- /* @__PURE__ */ jsxs35("span", { className: AgentGUINode_styles_default.conversationTitleRow, children: [
29105
- conversationIconUrl ? /* @__PURE__ */ jsx50(
29197
+ /* @__PURE__ */ jsxs36("span", { className: AgentGUINode_styles_default.conversationTitleRow, children: [
29198
+ conversationIconUrl ? /* @__PURE__ */ jsx51(
29106
29199
  "span",
29107
29200
  {
29108
29201
  "aria-hidden": "true",
@@ -29112,22 +29205,22 @@ var AgentGUIConversationRailItem = memo5(
29112
29205
  }
29113
29206
  }
29114
29207
  ) : null,
29115
- item.titleLeadingMentionKind === "task" ? /* @__PURE__ */ jsx50(
29208
+ item.titleLeadingMentionKind === "task" ? /* @__PURE__ */ jsx51(
29116
29209
  "span",
29117
29210
  {
29118
29211
  "aria-hidden": "true",
29119
29212
  className: AgentGUINode_styles_default.conversationTitleMentionIcon,
29120
29213
  "data-agent-gui-conversation-title-mention-icon": item.titleLeadingMentionKind,
29121
- children: /* @__PURE__ */ jsx50(IssueIcon, {})
29214
+ children: /* @__PURE__ */ jsx51(IssueIcon, {})
29122
29215
  }
29123
29216
  ) : null,
29124
- /* @__PURE__ */ jsx50("span", { className: AgentGUINode_styles_default.conversationTitle, children: agentGUIConversationRailTitle(item, labels, uiLanguage) })
29217
+ /* @__PURE__ */ jsx51("span", { className: AgentGUINode_styles_default.conversationTitle, children: agentGUIConversationRailTitle(item, labels, uiLanguage) })
29125
29218
  ] }),
29126
- /* @__PURE__ */ jsx50(ConversationMeta, { item, nowMs: currentTimeMs, labels })
29219
+ /* @__PURE__ */ jsx51(ConversationMeta, { item, nowMs: currentTimeMs, labels })
29127
29220
  ]
29128
29221
  }
29129
29222
  ),
29130
- previewMode ? null : /* @__PURE__ */ jsx50("div", { className: AgentGUINode_styles_default.conversationActions, children: isPendingDeleteConversation ? /* @__PURE__ */ jsx50(
29223
+ previewMode ? null : /* @__PURE__ */ jsx51("div", { className: AgentGUINode_styles_default.conversationActions, children: isPendingDeleteConversation ? /* @__PURE__ */ jsx51(
29131
29224
  "button",
29132
29225
  {
29133
29226
  type: "button",
@@ -29141,10 +29234,10 @@ var AgentGUIConversationRailItem = memo5(
29141
29234
  onConfirmDeleteConversation();
29142
29235
  }
29143
29236
  },
29144
- children: /* @__PURE__ */ jsx50("span", { className: AgentGUINode_styles_default.conversationDeleteConfirmText, children: labels.deleteSessionConfirm })
29237
+ children: /* @__PURE__ */ jsx51("span", { className: AgentGUINode_styles_default.conversationDeleteConfirmText, children: labels.deleteSessionConfirm })
29145
29238
  }
29146
- ) : /* @__PURE__ */ jsxs35(Fragment13, { children: [
29147
- onOpenConversationWindow ? /* @__PURE__ */ jsx50(
29239
+ ) : /* @__PURE__ */ jsxs36(Fragment14, { children: [
29240
+ onOpenConversationWindow ? /* @__PURE__ */ jsx51(
29148
29241
  BareIconButton,
29149
29242
  {
29150
29243
  className: AgentGUINode_styles_default.conversationOpenWindowButton,
@@ -29161,10 +29254,10 @@ var AgentGUIConversationRailItem = memo5(
29161
29254
  event.stopPropagation();
29162
29255
  handleOpenConversationWindow();
29163
29256
  },
29164
- children: /* @__PURE__ */ jsx50(ExternalLink2, { "aria-hidden": "true" })
29257
+ children: /* @__PURE__ */ jsx51(ExternalLink2, { "aria-hidden": "true" })
29165
29258
  }
29166
29259
  ) : null,
29167
- /* @__PURE__ */ jsx50(
29260
+ /* @__PURE__ */ jsx51(
29168
29261
  BareIconButton,
29169
29262
  {
29170
29263
  className: AgentGUINode_styles_default.conversationPinButton,
@@ -29181,10 +29274,10 @@ var AgentGUIConversationRailItem = memo5(
29181
29274
  event.stopPropagation();
29182
29275
  handleTogglePinned();
29183
29276
  },
29184
- children: pinned ? /* @__PURE__ */ jsx50(PinFilledIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ jsx50(PinLinedIcon, { "aria-hidden": "true" })
29277
+ children: pinned ? /* @__PURE__ */ jsx51(PinFilledIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ jsx51(PinLinedIcon, { "aria-hidden": "true" })
29185
29278
  }
29186
29279
  ),
29187
- /* @__PURE__ */ jsx50(
29280
+ /* @__PURE__ */ jsx51(
29188
29281
  BareIconButton,
29189
29282
  {
29190
29283
  className: AgentGUINode_styles_default.conversationDeleteButton,
@@ -29201,7 +29294,7 @@ var AgentGUIConversationRailItem = memo5(
29201
29294
  event.stopPropagation();
29202
29295
  handleRequestDelete();
29203
29296
  },
29204
- children: /* @__PURE__ */ jsx50(CanvasNodeTrashLinedIcon, { "aria-hidden": "true" })
29297
+ children: /* @__PURE__ */ jsx51(CanvasNodeTrashLinedIcon, { "aria-hidden": "true" })
29205
29298
  }
29206
29299
  )
29207
29300
  ] }) })
@@ -29211,14 +29304,14 @@ var AgentGUIConversationRailItem = memo5(
29211
29304
  if (previewMode) {
29212
29305
  return row;
29213
29306
  }
29214
- return /* @__PURE__ */ jsxs35(ContextMenu, { children: [
29215
- /* @__PURE__ */ jsx50(ContextMenuTrigger, { asChild: true, children: row }),
29216
- /* @__PURE__ */ jsxs35(
29307
+ return /* @__PURE__ */ jsxs36(ContextMenu, { children: [
29308
+ /* @__PURE__ */ jsx51(ContextMenuTrigger, { asChild: true, children: row }),
29309
+ /* @__PURE__ */ jsxs36(
29217
29310
  ContextMenuContent,
29218
29311
  {
29219
29312
  className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
29220
29313
  children: [
29221
- /* @__PURE__ */ jsx50(
29314
+ /* @__PURE__ */ jsx51(
29222
29315
  ContextMenuItem,
29223
29316
  {
29224
29317
  className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
@@ -29229,10 +29322,10 @@ var AgentGUIConversationRailItem = memo5(
29229
29322
  }
29230
29323
  },
29231
29324
  onSelect: handleContextMenuRename,
29232
- children: /* @__PURE__ */ jsx50("span", { children: labels.renameSession })
29325
+ children: /* @__PURE__ */ jsx51("span", { children: labels.renameSession })
29233
29326
  }
29234
29327
  ),
29235
- onOpenConversationWindow ? /* @__PURE__ */ jsx50(
29328
+ onOpenConversationWindow ? /* @__PURE__ */ jsx51(
29236
29329
  ContextMenuItem,
29237
29330
  {
29238
29331
  className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
@@ -29243,10 +29336,10 @@ var AgentGUIConversationRailItem = memo5(
29243
29336
  }
29244
29337
  },
29245
29338
  onSelect: handleContextMenuOpenConversationWindow,
29246
- children: /* @__PURE__ */ jsx50("span", { children: labels.openConversationWindow })
29339
+ children: /* @__PURE__ */ jsx51("span", { children: labels.openConversationWindow })
29247
29340
  }
29248
29341
  ) : null,
29249
- /* @__PURE__ */ jsx50(
29342
+ /* @__PURE__ */ jsx51(
29250
29343
  ContextMenuItem,
29251
29344
  {
29252
29345
  className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
@@ -29257,16 +29350,16 @@ var AgentGUIConversationRailItem = memo5(
29257
29350
  }
29258
29351
  },
29259
29352
  onSelect: handleContextMenuCopySessionLink,
29260
- children: /* @__PURE__ */ jsx50("span", { children: labels.copySessionLink })
29353
+ children: /* @__PURE__ */ jsx51("span", { children: labels.copySessionLink })
29261
29354
  }
29262
29355
  ),
29263
- /* @__PURE__ */ jsx50(
29356
+ /* @__PURE__ */ jsx51(
29264
29357
  ContextMenuItem,
29265
29358
  {
29266
29359
  className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
29267
29360
  disabled: !canMarkUnread,
29268
29361
  onSelect: handleMarkUnread,
29269
- children: /* @__PURE__ */ jsx50("span", { children: labels.markSessionUnread })
29362
+ children: /* @__PURE__ */ jsx51("span", { children: labels.markSessionUnread })
29270
29363
  }
29271
29364
  )
29272
29365
  ]
@@ -29294,23 +29387,23 @@ function AgentGUIProjectRailHeader({
29294
29387
  selectProjectDirectory
29295
29388
  ]
29296
29389
  );
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(
29390
+ return /* @__PURE__ */ jsxs36("div", { className: AgentGUINode_styles_default.projectRailHeader, children: [
29391
+ /* @__PURE__ */ jsx51("div", { className: AgentGUINode_styles_default.projectRailTitle, children: /* @__PURE__ */ jsx51("span", { children: workspaceUserProjectI18n.tFirst(["projectSelect.projectLabel"]) }) }),
29392
+ /* @__PURE__ */ jsxs36("div", { className: AgentGUINode_styles_default.projectRailAddProject, children: [
29393
+ /* @__PURE__ */ jsx51(
29301
29394
  WorkspaceUserProjectSelect2,
29302
29395
  {
29303
29396
  api: userProjectApi,
29304
29397
  classNames: {
29305
- content: cn6(
29398
+ content: cn7(
29306
29399
  AgentGUINode_styles_default.composerMenuContent,
29307
29400
  "w-[240px] min-w-[240px] nodrag [-webkit-app-region:no-drag]"
29308
29401
  ),
29309
- item: cn6(
29402
+ item: cn7(
29310
29403
  AgentGUINode_styles_default.composerMenuItem,
29311
29404
  "nodrag [-webkit-app-region:no-drag]"
29312
29405
  ),
29313
- trigger: cn6(
29406
+ trigger: cn7(
29314
29407
  AgentGUINode_styles_default.projectRailAddProjectTrigger,
29315
29408
  "nodrag [-webkit-app-region:no-drag]"
29316
29409
  )
@@ -29328,7 +29421,7 @@ function AgentGUIProjectRailHeader({
29328
29421
  "projectSelect.addProject"
29329
29422
  ])
29330
29423
  },
29331
- renderAddProjectIcon: () => /* @__PURE__ */ jsx50(
29424
+ renderAddProjectIcon: () => /* @__PURE__ */ jsx51(
29332
29425
  NewWorkspaceLinedIcon2,
29333
29426
  {
29334
29427
  "aria-hidden": true,
@@ -29346,7 +29439,7 @@ function AgentGUIProjectRailHeader({
29346
29439
  }
29347
29440
  }
29348
29441
  ),
29349
- /* @__PURE__ */ jsx50(
29442
+ /* @__PURE__ */ jsx51(
29350
29443
  NewWorkspaceLinedIcon2,
29351
29444
  {
29352
29445
  "aria-hidden": true,
@@ -29358,7 +29451,7 @@ function AgentGUIProjectRailHeader({
29358
29451
  }
29359
29452
 
29360
29453
  // agent-gui/agentGuiNode/view/AgentGUIConversationRailSection.tsx
29361
- import { jsx as jsx51, jsxs as jsxs36 } from "react/jsx-runtime";
29454
+ import { jsx as jsx52, jsxs as jsxs37 } from "react/jsx-runtime";
29362
29455
  var AgentGUIConversationRailSection = memo6(
29363
29456
  function AgentGUIConversationRailSection2({
29364
29457
  section,
@@ -29487,7 +29580,7 @@ var AgentGUIConversationRailSection = memo6(
29487
29580
  source: "unscoped_section"
29488
29581
  });
29489
29582
  }, [isRailInteractionLocked, onCreateConversation, projectPath]);
29490
- return /* @__PURE__ */ jsxs36(
29583
+ return /* @__PURE__ */ jsxs37(
29491
29584
  "section",
29492
29585
  {
29493
29586
  className: AgentGUINode_styles_default.conversationSection,
@@ -29496,7 +29589,7 @@ var AgentGUIConversationRailSection = memo6(
29496
29589
  "data-project-dragging": projectDragging ? "true" : void 0,
29497
29590
  "data-project-drop-indicator": projectDropIndicator ?? void 0,
29498
29591
  children: [
29499
- /* @__PURE__ */ jsxs36(
29592
+ /* @__PURE__ */ jsxs37(
29500
29593
  "div",
29501
29594
  {
29502
29595
  className: AgentGUINode_styles_default.conversationSectionHeader,
@@ -29514,7 +29607,7 @@ var AgentGUIConversationRailSection = memo6(
29514
29607
  },
29515
29608
  onDrop: isProjectSection ? onProjectDrop : void 0,
29516
29609
  children: [
29517
- isProjectSection ? /* @__PURE__ */ jsxs36(
29610
+ isProjectSection ? /* @__PURE__ */ jsxs37(
29518
29611
  "button",
29519
29612
  {
29520
29613
  type: "button",
@@ -29527,22 +29620,22 @@ var AgentGUIConversationRailSection = memo6(
29527
29620
  }
29528
29621
  },
29529
29622
  children: [
29530
- /* @__PURE__ */ jsx51(
29623
+ /* @__PURE__ */ jsx52(
29531
29624
  ChevronRight2,
29532
29625
  {
29533
29626
  "aria-hidden": "true",
29534
29627
  className: AgentGUINode_styles_default.conversationSectionChevron
29535
29628
  }
29536
29629
  ),
29537
- /* @__PURE__ */ jsxs36("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: [
29538
- isSectionCollapsed ? /* @__PURE__ */ jsx51(
29630
+ /* @__PURE__ */ jsxs37("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: [
29631
+ isSectionCollapsed ? /* @__PURE__ */ jsx52(
29539
29632
  FolderIcon2,
29540
29633
  {
29541
29634
  "aria-hidden": "true",
29542
29635
  className: AgentGUINode_styles_default.conversationSectionLabelIcon,
29543
29636
  "data-project-drag-icon": "true"
29544
29637
  }
29545
- ) : /* @__PURE__ */ jsx51(
29638
+ ) : /* @__PURE__ */ jsx52(
29546
29639
  FolderOpenLinedIcon,
29547
29640
  {
29548
29641
  "aria-hidden": "true",
@@ -29550,18 +29643,18 @@ var AgentGUIConversationRailSection = memo6(
29550
29643
  "data-project-drag-icon": "true"
29551
29644
  }
29552
29645
  ),
29553
- /* @__PURE__ */ jsx51("span", { children: section.label })
29646
+ /* @__PURE__ */ jsx52("span", { children: section.label })
29554
29647
  ] })
29555
29648
  ]
29556
29649
  }
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(
29650
+ ) : /* @__PURE__ */ jsx52("div", { className: AgentGUINode_styles_default.conversationSectionToggle, children: /* @__PURE__ */ jsx52("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: /* @__PURE__ */ jsx52("span", { children: section.label }) }) }),
29651
+ canCreateConversationFromSection ? /* @__PURE__ */ jsxs37(
29559
29652
  "div",
29560
29653
  {
29561
29654
  className: AgentGUINode_styles_default.conversationSectionActions,
29562
29655
  "data-project-drag-block": "true",
29563
29656
  children: [
29564
- previewMode ? /* @__PURE__ */ jsx51("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: /* @__PURE__ */ jsx51(
29657
+ previewMode ? /* @__PURE__ */ jsx52("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: /* @__PURE__ */ jsx52(
29565
29658
  BareIconButton2,
29566
29659
  {
29567
29660
  className: AgentGUINode_styles_default.conversationSectionMoreButton,
@@ -29569,14 +29662,14 @@ var AgentGUIConversationRailSection = memo6(
29569
29662
  size: "sm",
29570
29663
  disabled: createConversationDisabled,
29571
29664
  onClick: handleCreateConversation,
29572
- children: /* @__PURE__ */ jsx51(CreateChatIcon, { "aria-hidden": "true" })
29665
+ children: /* @__PURE__ */ jsx52(CreateChatIcon, { "aria-hidden": "true" })
29573
29666
  }
29574
- ) }) : /* @__PURE__ */ jsxs36(Tooltip6, { children: [
29575
- /* @__PURE__ */ jsx51(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx51(
29667
+ ) }) : /* @__PURE__ */ jsxs37(Tooltip6, { children: [
29668
+ /* @__PURE__ */ jsx52(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx52(
29576
29669
  "span",
29577
29670
  {
29578
29671
  className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
29579
- children: /* @__PURE__ */ jsx51(
29672
+ children: /* @__PURE__ */ jsx52(
29580
29673
  BareIconButton2,
29581
29674
  {
29582
29675
  className: AgentGUINode_styles_default.conversationSectionMoreButton,
@@ -29584,12 +29677,12 @@ var AgentGUIConversationRailSection = memo6(
29584
29677
  size: "sm",
29585
29678
  disabled: createConversationDisabled,
29586
29679
  onClick: handleCreateConversation,
29587
- children: /* @__PURE__ */ jsx51(CreateChatIcon, { "aria-hidden": "true" })
29680
+ children: /* @__PURE__ */ jsx52(CreateChatIcon, { "aria-hidden": "true" })
29588
29681
  }
29589
29682
  )
29590
29683
  }
29591
29684
  ) }),
29592
- /* @__PURE__ */ jsx51(
29685
+ /* @__PURE__ */ jsx52(
29593
29686
  TooltipContent6,
29594
29687
  {
29595
29688
  side: "top",
@@ -29599,40 +29692,40 @@ var AgentGUIConversationRailSection = memo6(
29599
29692
  }
29600
29693
  )
29601
29694
  ] }),
29602
- projectPath ? /* @__PURE__ */ jsxs36(DropdownMenu4, { onOpenChange: onProjectMenuOpenChange, children: [
29603
- previewMode ? /* @__PURE__ */ jsx51(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx51(
29695
+ projectPath ? /* @__PURE__ */ jsxs37(DropdownMenu4, { onOpenChange: onProjectMenuOpenChange, children: [
29696
+ previewMode ? /* @__PURE__ */ jsx52(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx52(
29604
29697
  "span",
29605
29698
  {
29606
29699
  className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
29607
- children: /* @__PURE__ */ jsx51(
29700
+ children: /* @__PURE__ */ jsx52(
29608
29701
  BareIconButton2,
29609
29702
  {
29610
29703
  className: AgentGUINode_styles_default.conversationSectionMoreButton,
29611
29704
  "aria-label": labels.projectSectionMoreActions,
29612
29705
  size: "sm",
29613
29706
  disabled: isProjectActionLocked(),
29614
- children: /* @__PURE__ */ jsx51(MoreHorizontalIcon, { "aria-hidden": "true" })
29707
+ children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
29615
29708
  }
29616
29709
  )
29617
29710
  }
29618
- ) }) : /* @__PURE__ */ jsxs36(Tooltip6, { children: [
29619
- /* @__PURE__ */ jsx51(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx51(
29711
+ ) }) : /* @__PURE__ */ jsxs37(Tooltip6, { children: [
29712
+ /* @__PURE__ */ jsx52(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx52(
29620
29713
  "span",
29621
29714
  {
29622
29715
  className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
29623
- children: /* @__PURE__ */ jsx51(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx51(
29716
+ children: /* @__PURE__ */ jsx52(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx52(
29624
29717
  BareIconButton2,
29625
29718
  {
29626
29719
  className: AgentGUINode_styles_default.conversationSectionMoreButton,
29627
29720
  "aria-label": labels.projectSectionMoreActions,
29628
29721
  size: "sm",
29629
29722
  disabled: isProjectActionLocked(),
29630
- children: /* @__PURE__ */ jsx51(MoreHorizontalIcon, { "aria-hidden": "true" })
29723
+ children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
29631
29724
  }
29632
29725
  ) })
29633
29726
  }
29634
29727
  ) }),
29635
- /* @__PURE__ */ jsx51(
29728
+ /* @__PURE__ */ jsx52(
29636
29729
  TooltipContent6,
29637
29730
  {
29638
29731
  side: "right",
@@ -29642,14 +29735,14 @@ var AgentGUIConversationRailSection = memo6(
29642
29735
  }
29643
29736
  )
29644
29737
  ] }),
29645
- /* @__PURE__ */ jsxs36(
29738
+ /* @__PURE__ */ jsxs37(
29646
29739
  DropdownMenuContent4,
29647
29740
  {
29648
29741
  align: "end",
29649
29742
  className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
29650
29743
  sideOffset: 6,
29651
29744
  children: [
29652
- /* @__PURE__ */ jsx51(
29745
+ /* @__PURE__ */ jsx52(
29653
29746
  DropdownMenuItem3,
29654
29747
  {
29655
29748
  className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
@@ -29665,10 +29758,10 @@ var AgentGUIConversationRailSection = memo6(
29665
29758
  workspaceRoot: projectPath
29666
29759
  });
29667
29760
  },
29668
- children: /* @__PURE__ */ jsx51("span", { children: labels.projectSectionViewFiles })
29761
+ children: /* @__PURE__ */ jsx52("span", { children: labels.projectSectionViewFiles })
29669
29762
  }
29670
29763
  ),
29671
- /* @__PURE__ */ jsx51(
29764
+ /* @__PURE__ */ jsx52(
29672
29765
  DropdownMenuItem3,
29673
29766
  {
29674
29767
  className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
@@ -29677,10 +29770,10 @@ var AgentGUIConversationRailSection = memo6(
29677
29770
  if (!projectId || isProjectActionLocked()) return;
29678
29771
  void onToggleProjectPinned(projectId, !projectPinned);
29679
29772
  },
29680
- children: /* @__PURE__ */ jsx51("span", { children: projectPinned ? labels.unpinProject : labels.pinProject })
29773
+ children: /* @__PURE__ */ jsx52("span", { children: projectPinned ? labels.unpinProject : labels.pinProject })
29681
29774
  }
29682
29775
  ),
29683
- /* @__PURE__ */ jsx51(
29776
+ /* @__PURE__ */ jsx52(
29684
29777
  DropdownMenuItem3,
29685
29778
  {
29686
29779
  className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
@@ -29690,10 +29783,10 @@ var AgentGUIConversationRailSection = memo6(
29690
29783
  onRequestSectionBatchDeletion(section);
29691
29784
  }
29692
29785
  },
29693
- children: /* @__PURE__ */ jsx51("span", { children: labels.batchDeleteProjectSessions })
29786
+ children: /* @__PURE__ */ jsx52("span", { children: labels.batchDeleteProjectSessions })
29694
29787
  }
29695
29788
  ),
29696
- /* @__PURE__ */ jsx51(
29789
+ /* @__PURE__ */ jsx52(
29697
29790
  DropdownMenuItem3,
29698
29791
  {
29699
29792
  className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
@@ -29707,45 +29800,45 @@ var AgentGUIConversationRailSection = memo6(
29707
29800
  path: projectPath
29708
29801
  });
29709
29802
  },
29710
- children: /* @__PURE__ */ jsx51("span", { children: labels.removeProject })
29803
+ children: /* @__PURE__ */ jsx52("span", { children: labels.removeProject })
29711
29804
  }
29712
29805
  )
29713
29806
  ]
29714
29807
  }
29715
29808
  )
29716
29809
  ] }) : null,
29717
- !projectPath && section.kind === "conversations" ? /* @__PURE__ */ jsxs36(DropdownMenu4, { children: [
29718
- previewMode ? /* @__PURE__ */ jsx51(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx51(
29810
+ !projectPath && section.kind === "conversations" ? /* @__PURE__ */ jsxs37(DropdownMenu4, { children: [
29811
+ previewMode ? /* @__PURE__ */ jsx52(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx52(
29719
29812
  "span",
29720
29813
  {
29721
29814
  className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
29722
- children: /* @__PURE__ */ jsx51(
29815
+ children: /* @__PURE__ */ jsx52(
29723
29816
  BareIconButton2,
29724
29817
  {
29725
29818
  className: AgentGUINode_styles_default.conversationSectionMoreButton,
29726
29819
  "aria-label": labels.conversationsSectionMoreActions,
29727
29820
  size: "sm",
29728
- children: /* @__PURE__ */ jsx51(MoreHorizontalIcon, { "aria-hidden": "true" })
29821
+ children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
29729
29822
  }
29730
29823
  )
29731
29824
  }
29732
- ) }) : /* @__PURE__ */ jsxs36(Tooltip6, { children: [
29733
- /* @__PURE__ */ jsx51(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx51(
29825
+ ) }) : /* @__PURE__ */ jsxs37(Tooltip6, { children: [
29826
+ /* @__PURE__ */ jsx52(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx52(
29734
29827
  "span",
29735
29828
  {
29736
29829
  className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
29737
- children: /* @__PURE__ */ jsx51(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx51(
29830
+ children: /* @__PURE__ */ jsx52(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx52(
29738
29831
  BareIconButton2,
29739
29832
  {
29740
29833
  className: AgentGUINode_styles_default.conversationSectionMoreButton,
29741
29834
  "aria-label": labels.conversationsSectionMoreActions,
29742
29835
  size: "sm",
29743
- children: /* @__PURE__ */ jsx51(MoreHorizontalIcon, { "aria-hidden": "true" })
29836
+ children: /* @__PURE__ */ jsx52(MoreHorizontalIcon, { "aria-hidden": "true" })
29744
29837
  }
29745
29838
  ) })
29746
29839
  }
29747
29840
  ) }),
29748
- /* @__PURE__ */ jsx51(
29841
+ /* @__PURE__ */ jsx52(
29749
29842
  TooltipContent6,
29750
29843
  {
29751
29844
  side: "right",
@@ -29755,13 +29848,13 @@ var AgentGUIConversationRailSection = memo6(
29755
29848
  }
29756
29849
  )
29757
29850
  ] }),
29758
- /* @__PURE__ */ jsx51(
29851
+ /* @__PURE__ */ jsx52(
29759
29852
  DropdownMenuContent4,
29760
29853
  {
29761
29854
  align: "end",
29762
29855
  className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
29763
29856
  sideOffset: 6,
29764
- children: /* @__PURE__ */ jsx51(
29857
+ children: /* @__PURE__ */ jsx52(
29765
29858
  DropdownMenuItem3,
29766
29859
  {
29767
29860
  className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
@@ -29771,7 +29864,7 @@ var AgentGUIConversationRailSection = memo6(
29771
29864
  onRequestSectionBatchDeletion(section);
29772
29865
  }
29773
29866
  },
29774
- children: /* @__PURE__ */ jsx51("span", { children: labels.batchDeleteConversations })
29867
+ children: /* @__PURE__ */ jsx52("span", { children: labels.batchDeleteConversations })
29775
29868
  }
29776
29869
  )
29777
29870
  }
@@ -29783,14 +29876,14 @@ var AgentGUIConversationRailSection = memo6(
29783
29876
  ]
29784
29877
  }
29785
29878
  ),
29786
- /* @__PURE__ */ jsx51(
29879
+ /* @__PURE__ */ jsx52(
29787
29880
  "div",
29788
29881
  {
29789
29882
  className: AgentGUINode_styles_default.conversationSectionItems,
29790
29883
  "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(
29884
+ children: /* @__PURE__ */ jsxs37("div", { className: AgentGUINode_styles_default.conversationSectionItemsInner, children: [
29885
+ !isSectionCollapsed && visibleItems.length === 0 ? /* @__PURE__ */ jsx52("div", { className: AgentGUINode_styles_default.conversationSectionEmpty, children: labels.emptyProjectConversations }) : null,
29886
+ visibleItems.map((item) => /* @__PURE__ */ jsx52(
29794
29887
  AgentGUIConversationRailItem,
29795
29888
  {
29796
29889
  active: item.id === activeConversationId,
@@ -29815,8 +29908,8 @@ var AgentGUIConversationRailSection = memo6(
29815
29908
  },
29816
29909
  item.id
29817
29910
  )),
29818
- canShowMore || canShowLess ? /* @__PURE__ */ jsxs36("div", { className: AgentGUINode_styles_default.conversationSectionPagination, children: [
29819
- canShowMore ? /* @__PURE__ */ jsx51(
29911
+ canShowMore || canShowLess ? /* @__PURE__ */ jsxs37("div", { className: AgentGUINode_styles_default.conversationSectionPagination, children: [
29912
+ canShowMore ? /* @__PURE__ */ jsx52(
29820
29913
  "button",
29821
29914
  {
29822
29915
  type: "button",
@@ -29826,7 +29919,7 @@ var AgentGUIConversationRailSection = memo6(
29826
29919
  children: labels.showMoreConversations
29827
29920
  }
29828
29921
  ) : null,
29829
- canShowLess ? /* @__PURE__ */ jsx51(
29922
+ canShowLess ? /* @__PURE__ */ jsx52(
29830
29923
  "button",
29831
29924
  {
29832
29925
  type: "button",
@@ -29847,11 +29940,11 @@ var AgentGUIConversationRailSection = memo6(
29847
29940
 
29848
29941
  // agent-gui/agentGuiNode/view/AgentGUIProjectActionConfirmationDialog.tsx
29849
29942
  import { ConfirmationDialog as ConfirmationDialog2 } from "@tutti-os/ui-system";
29850
- import { jsx as jsx52 } from "react/jsx-runtime";
29943
+ import { jsx as jsx53 } from "react/jsx-runtime";
29851
29944
  var DIALOG_CLASS_NAME = "nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]";
29852
29945
  function AgentGUIProjectActionConfirmationDialog(props) {
29853
29946
  const { action, labels } = props;
29854
- return /* @__PURE__ */ jsx52(
29947
+ return /* @__PURE__ */ jsx53(
29855
29948
  ConfirmationDialog2,
29856
29949
  {
29857
29950
  cancelLabel: labels.cancel,
@@ -30028,7 +30121,7 @@ function useAgentGUIConversationRailViewState(input) {
30028
30121
  }
30029
30122
 
30030
30123
  // agent-gui/agentGuiNode/view/AgentGUIConversationRailPane.tsx
30031
- import { jsx as jsx53, jsxs as jsxs37 } from "react/jsx-runtime";
30124
+ import { jsx as jsx54, jsxs as jsxs38 } from "react/jsx-runtime";
30032
30125
  function useDelayedBoolean(value, delayMs) {
30033
30126
  const [delayedValue, setDelayedValue] = useState27(false);
30034
30127
  useEffect29(() => {
@@ -30327,15 +30420,15 @@ var AgentGUIConversationRailPane = memo7(
30327
30420
  cleanupProjectDrag();
30328
30421
  };
30329
30422
  }, [installProjectDragGlobalListeners]);
30330
- return /* @__PURE__ */ jsxs37(
30423
+ return /* @__PURE__ */ jsxs38(
30331
30424
  "aside",
30332
30425
  {
30333
30426
  ref: railElementRef,
30334
30427
  className: AgentGUINode_styles_default.rail,
30335
30428
  "aria-hidden": isCollapsed ? "true" : void 0,
30336
30429
  children: [
30337
- /* @__PURE__ */ jsxs37("div", { className: AgentGUINode_styles_default.railToolbar, children: [
30338
- /* @__PURE__ */ jsx53(
30430
+ /* @__PURE__ */ jsxs38("div", { className: AgentGUINode_styles_default.railToolbar, children: [
30431
+ /* @__PURE__ */ jsx54(
30339
30432
  TaskSearchField,
30340
30433
  {
30341
30434
  value: conversationQuery,
@@ -30343,7 +30436,7 @@ var AgentGUIConversationRailPane = memo7(
30343
30436
  onChange: onConversationQueryChange
30344
30437
  }
30345
30438
  ),
30346
- /* @__PURE__ */ jsxs37(
30439
+ /* @__PURE__ */ jsxs38(
30347
30440
  Button,
30348
30441
  {
30349
30442
  type: "button",
@@ -30354,27 +30447,27 @@ var AgentGUIConversationRailPane = memo7(
30354
30447
  disabled: createConversationDisabled,
30355
30448
  onClick: () => onCreateConversation(),
30356
30449
  children: [
30357
- /* @__PURE__ */ jsx53(CreateChatIcon2, { "aria-hidden": "true" }),
30358
- /* @__PURE__ */ jsx53("span", { children: labels.newConversation })
30450
+ /* @__PURE__ */ jsx54(CreateChatIcon2, { "aria-hidden": "true" }),
30451
+ /* @__PURE__ */ jsx54("span", { children: labels.newConversation })
30359
30452
  ]
30360
30453
  }
30361
30454
  )
30362
30455
  ] }),
30363
- /* @__PURE__ */ jsx53(
30456
+ /* @__PURE__ */ jsx54(
30364
30457
  ScrollArea,
30365
30458
  {
30366
30459
  scrollbarMode: "native",
30367
30460
  className: "min-h-0 flex-1 [&_[data-orientation=vertical][data-slot=scroll-area-scrollbar]]:opacity-100",
30368
30461
  viewportRef: railViewState.conversationListRef,
30369
30462
  viewportClassName: AgentGUINode_styles_default.conversationList,
30370
- children: shouldShowConversationSkeleton ? /* @__PURE__ */ jsx53(
30463
+ children: shouldShowConversationSkeleton ? /* @__PURE__ */ jsx54(
30371
30464
  AgentConversationListSkeleton,
30372
30465
  {
30373
30466
  label: labels.loadingConversations
30374
30467
  }
30375
- ) : shouldShowConversationSearchError ? /* @__PURE__ */ jsxs37("div", { className: AgentGUINode_styles_default.emptyState, children: [
30376
- /* @__PURE__ */ jsx53("span", { children: labels.searchFailed }),
30377
- /* @__PURE__ */ jsx53(
30468
+ ) : shouldShowConversationSearchError ? /* @__PURE__ */ jsxs38("div", { className: AgentGUINode_styles_default.emptyState, children: [
30469
+ /* @__PURE__ */ jsx54("span", { children: labels.searchFailed }),
30470
+ /* @__PURE__ */ jsx54(
30378
30471
  SystemButton,
30379
30472
  {
30380
30473
  type: "button",
@@ -30384,7 +30477,7 @@ var AgentGUIConversationRailPane = memo7(
30384
30477
  children: labels.retrySearch
30385
30478
  }
30386
30479
  )
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: [
30480
+ ] }) : 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
30481
  groupedConversations.map((section, sectionIndex) => {
30389
30482
  const projectPath = section.kind === "project" ? section.project?.path ?? "" : "";
30390
30483
  const projectLabel = section.kind === "project" ? section.label : "";
@@ -30417,9 +30510,9 @@ var AgentGUIConversationRailPane = memo7(
30417
30510
  (item) => item.projectionSource !== "pending_activation"
30418
30511
  ).length + (activeOverlayCountsTowardTotal && !activeOverlayIsCanonical ? 1 : 0);
30419
30512
  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(
30513
+ return /* @__PURE__ */ jsxs38(Fragment15, { children: [
30514
+ showPinnedProjectHeader ? /* @__PURE__ */ jsx54("div", { className: AgentGUINode_styles_default.pinnedProjectRailHeader, children: labels.sectionPinned }) : null,
30515
+ showProjectRailHeader ? /* @__PURE__ */ jsx54(
30423
30516
  AgentGUIProjectRailHeader,
30424
30517
  {
30425
30518
  disabled: railInteractionsLocked || isUserProjectMutationPending,
@@ -30428,7 +30521,7 @@ var AgentGUIConversationRailPane = memo7(
30428
30521
  workspaceUserProjectI18n
30429
30522
  }
30430
30523
  ) : null,
30431
- /* @__PURE__ */ jsx53(
30524
+ /* @__PURE__ */ jsx54(
30432
30525
  AgentGUIConversationRailSection,
30433
30526
  {
30434
30527
  activeConversation: activeOverlayConversation,
@@ -30492,7 +30585,7 @@ var AgentGUIConversationRailPane = memo7(
30492
30585
  )
30493
30586
  ] }, section.id);
30494
30587
  }),
30495
- appendProjectRailHeader ? /* @__PURE__ */ jsx53(
30588
+ appendProjectRailHeader ? /* @__PURE__ */ jsx54(
30496
30589
  AgentGUIProjectRailHeader,
30497
30590
  {
30498
30591
  disabled: railInteractionsLocked || isUserProjectMutationPending,
@@ -30504,8 +30597,8 @@ var AgentGUIConversationRailPane = memo7(
30504
30597
  ] })
30505
30598
  }
30506
30599
  ),
30507
- footer ? /* @__PURE__ */ jsx53("div", { className: "shrink-0 pb-2", children: footer }) : null,
30508
- /* @__PURE__ */ jsx53(
30600
+ footer ? /* @__PURE__ */ jsx54("div", { className: "shrink-0 pb-2", children: footer }) : null,
30601
+ /* @__PURE__ */ jsx54(
30509
30602
  AgentGUIProjectActionConfirmationDialog,
30510
30603
  {
30511
30604
  action: pendingProjectAction,
@@ -31690,7 +31783,7 @@ function identitySnapshot(snapshot) {
31690
31783
  }
31691
31784
 
31692
31785
  // agent-gui/agentGuiNode/controller/AgentGUIConversationRailController.tsx
31693
- import { jsx as jsx54 } from "react/jsx-runtime";
31786
+ import { jsx as jsx55 } from "react/jsx-runtime";
31694
31787
  var AgentGUIConversationRailController = memo8(
31695
31788
  function AgentGUIConversationRailController2(props) {
31696
31789
  const [conversationQuery, setConversationQuery] = useState28("");
@@ -31703,7 +31796,7 @@ var AgentGUIConversationRailController = memo8(
31703
31796
  userProjects: props.userProjects,
31704
31797
  workspaceId: props.workspaceId
31705
31798
  });
31706
- return /* @__PURE__ */ jsx54(
31799
+ return /* @__PURE__ */ jsx55(
31707
31800
  AgentGUIConversationRailPane,
31708
31801
  {
31709
31802
  ...props,
@@ -31894,12 +31987,12 @@ function handoffProjectPathForConversation(conversation) {
31894
31987
  // agent-gui/agentGuiNode/view/AgentGUIBottomDockPane.tsx
31895
31988
  import { memo as memo9 } from "react";
31896
31989
  import { ChevronsDown } from "lucide-react";
31897
- import { cn as cn7 } from "@tutti-os/ui-system";
31990
+ import { cn as cn8 } from "@tutti-os/ui-system";
31898
31991
 
31899
31992
  // agent-gui/agentGuiNode/AgentGoalBanner.tsx
31900
31993
  import { useEffect as useEffect31, useState as useState29 } from "react";
31901
31994
  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";
31995
+ import { jsx as jsx56, jsxs as jsxs39 } from "react/jsx-runtime";
31903
31996
  var RESUMABLE_GOAL_STATUSES = /* @__PURE__ */ new Set([
31904
31997
  "paused",
31905
31998
  "blocked",
@@ -32009,16 +32102,16 @@ function AgentGoalBanner({
32009
32102
  onEditObjective?.(next);
32010
32103
  }
32011
32104
  };
32012
- return /* @__PURE__ */ jsx55("div", { className: AgentGUIChrome_styles_default.sessionChrome, children: /* @__PURE__ */ jsx55(
32105
+ return /* @__PURE__ */ jsx56("div", { className: AgentGUIChrome_styles_default.sessionChrome, children: /* @__PURE__ */ jsx56(
32013
32106
  "section",
32014
32107
  {
32015
32108
  className: cn(AgentGUIChrome_styles_default.chromeCard, AgentGUIChrome_styles_default.chromeCardMuted),
32016
32109
  role: "status",
32017
32110
  "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(
32111
+ children: /* @__PURE__ */ jsxs39("div", { className: AgentGUIChrome_styles_default.chromeMetaRow, children: [
32112
+ /* @__PURE__ */ jsxs39("div", { className: AgentGUIChrome_styles_default.chromeMessageSlot, children: [
32113
+ /* @__PURE__ */ jsx56("span", { className: AgentGUIChrome_styles_default.chromeIcon, children: /* @__PURE__ */ jsx56(Target3, { "aria-hidden": true, className: "size-3.5" }) }),
32114
+ editDraft !== null ? /* @__PURE__ */ jsx56(
32022
32115
  "input",
32023
32116
  {
32024
32117
  className: AgentGUIChrome_styles_default.chromeGoalEditInput,
@@ -32038,14 +32131,14 @@ function AgentGoalBanner({
32038
32131
  },
32039
32132
  onBlur: () => setEditDraft(null)
32040
32133
  }
32041
- ) : /* @__PURE__ */ jsxs38(
32134
+ ) : /* @__PURE__ */ jsxs39(
32042
32135
  "p",
32043
32136
  {
32044
32137
  className: cn(AgentGUIChrome_styles_default.chromeMessage, AgentGUIChrome_styles_default.chromeNoticeMessage),
32045
32138
  title: fullMessage,
32046
32139
  children: [
32047
- /* @__PURE__ */ jsx55("span", { className: AgentGUIChrome_styles_default.chromeNoticeTitle, children: title }),
32048
- /* @__PURE__ */ jsx55(
32140
+ /* @__PURE__ */ jsx56("span", { className: AgentGUIChrome_styles_default.chromeNoticeTitle, children: title }),
32141
+ /* @__PURE__ */ jsx56(
32049
32142
  "span",
32050
32143
  {
32051
32144
  className: AgentGUIChrome_styles_default.chromeNoticeDescription,
@@ -32057,8 +32150,8 @@ function AgentGoalBanner({
32057
32150
  }
32058
32151
  )
32059
32152
  ] }),
32060
- hasActions ? /* @__PURE__ */ jsxs38("div", { className: AgentGUIChrome_styles_default.chromeGoalActions, children: [
32061
- onEditObjective !== void 0 && editDraft === null ? /* @__PURE__ */ jsx55(
32153
+ hasActions ? /* @__PURE__ */ jsxs39("div", { className: AgentGUIChrome_styles_default.chromeGoalActions, children: [
32154
+ onEditObjective !== void 0 && editDraft === null ? /* @__PURE__ */ jsx56(
32062
32155
  "button",
32063
32156
  {
32064
32157
  type: "button",
@@ -32066,10 +32159,10 @@ function AgentGoalBanner({
32066
32159
  title: labels.editAction,
32067
32160
  "aria-label": labels.editAction,
32068
32161
  "data-testid": "agent-gui-goal-banner-edit",
32069
- children: /* @__PURE__ */ jsx55(Pencil2, { "aria-hidden": true, className: "size-3.5" })
32162
+ children: /* @__PURE__ */ jsx56(Pencil2, { "aria-hidden": true, className: "size-3.5" })
32070
32163
  }
32071
32164
  ) : null,
32072
- showPause ? /* @__PURE__ */ jsx55(
32165
+ showPause ? /* @__PURE__ */ jsx56(
32073
32166
  "button",
32074
32167
  {
32075
32168
  type: "button",
@@ -32077,10 +32170,10 @@ function AgentGoalBanner({
32077
32170
  title: labels.pauseAction,
32078
32171
  "aria-label": labels.pauseAction,
32079
32172
  "data-testid": "agent-gui-goal-banner-pause",
32080
- children: /* @__PURE__ */ jsx55(CirclePause, { "aria-hidden": true, className: "size-3.5" })
32173
+ children: /* @__PURE__ */ jsx56(CirclePause, { "aria-hidden": true, className: "size-3.5" })
32081
32174
  }
32082
32175
  ) : null,
32083
- showResume ? /* @__PURE__ */ jsx55(
32176
+ showResume ? /* @__PURE__ */ jsx56(
32084
32177
  "button",
32085
32178
  {
32086
32179
  type: "button",
@@ -32088,10 +32181,10 @@ function AgentGoalBanner({
32088
32181
  title: labels.resumeAction,
32089
32182
  "aria-label": labels.resumeAction,
32090
32183
  "data-testid": "agent-gui-goal-banner-resume",
32091
- children: /* @__PURE__ */ jsx55(CirclePlay, { "aria-hidden": true, className: "size-3.5" })
32184
+ children: /* @__PURE__ */ jsx56(CirclePlay, { "aria-hidden": true, className: "size-3.5" })
32092
32185
  }
32093
32186
  ) : null,
32094
- onClearGoal !== void 0 ? /* @__PURE__ */ jsx55(
32187
+ onClearGoal !== void 0 ? /* @__PURE__ */ jsx56(
32095
32188
  "button",
32096
32189
  {
32097
32190
  type: "button",
@@ -32099,10 +32192,10 @@ function AgentGoalBanner({
32099
32192
  title: labels.clearAction,
32100
32193
  "aria-label": labels.clearAction,
32101
32194
  "data-testid": "agent-gui-goal-banner-clear",
32102
- children: /* @__PURE__ */ jsx55(Trash2, { "aria-hidden": true, className: "size-3.5" })
32195
+ children: /* @__PURE__ */ jsx56(Trash2, { "aria-hidden": true, className: "size-3.5" })
32103
32196
  }
32104
32197
  ) : null
32105
- ] }) : /* @__PURE__ */ jsx55(
32198
+ ] }) : /* @__PURE__ */ jsx56(
32106
32199
  "span",
32107
32200
  {
32108
32201
  className: AgentGUIChrome_styles_default.chromeGoalHint,
@@ -32116,7 +32209,7 @@ function AgentGoalBanner({
32116
32209
  }
32117
32210
 
32118
32211
  // agent-gui/agentGuiNode/view/AgentGUIBottomDockPane.tsx
32119
- import { jsx as jsx56, jsxs as jsxs39 } from "react/jsx-runtime";
32212
+ import { jsx as jsx57, jsxs as jsxs40 } from "react/jsx-runtime";
32120
32213
  var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
32121
32214
  bottomDockRef,
32122
32215
  showScrollToBottom,
@@ -32150,18 +32243,18 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
32150
32243
  const goalDurationMs = goal ? numberValue(goal.durationMs) : null;
32151
32244
  const goalIsOptimistic = sessionChrome.rawState?.goalIsOptimistic === true;
32152
32245
  const showGoalBanner = isGoalBannerVisible(goalObjective, goalStatus);
32153
- return /* @__PURE__ */ jsxs39(
32246
+ return /* @__PURE__ */ jsxs40(
32154
32247
  "div",
32155
32248
  {
32156
32249
  ref: bottomDockRef,
32157
32250
  className: AgentGUINode_styles_default.bottomDock,
32158
32251
  "data-testid": "agent-gui-bottom-dock",
32159
32252
  children: [
32160
- showScrollToBottom ? /* @__PURE__ */ jsx56(
32253
+ showScrollToBottom ? /* @__PURE__ */ jsx57(
32161
32254
  "button",
32162
32255
  {
32163
32256
  type: "button",
32164
- className: cn7(
32257
+ className: cn8(
32165
32258
  AgentGUINode_styles_default.bottomDockScrollToBottom,
32166
32259
  "nodrag tsh-desktop-no-drag [-webkit-app-region:no-drag]"
32167
32260
  ),
@@ -32170,15 +32263,15 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
32170
32263
  title: scrollToBottomLabel,
32171
32264
  onPointerDown: (event) => event.stopPropagation(),
32172
32265
  onClick: onScrollToBottom,
32173
- children: /* @__PURE__ */ jsx56(ChevronsDown, { "aria-hidden": "true", size: 15, strokeWidth: 2.2 })
32266
+ children: /* @__PURE__ */ jsx57(ChevronsDown, { "aria-hidden": "true", size: 15, strokeWidth: 2.2 })
32174
32267
  }
32175
32268
  ) : null,
32176
- bottomDockLiftedPrompt ? /* @__PURE__ */ jsx56(
32269
+ bottomDockLiftedPrompt ? /* @__PURE__ */ jsx57(
32177
32270
  "div",
32178
32271
  {
32179
32272
  className: AgentGUINode_styles_default.bottomDockPrompt,
32180
32273
  "data-testid": "agent-gui-bottom-dock-active-prompt",
32181
- children: /* @__PURE__ */ jsx56(
32274
+ children: /* @__PURE__ */ jsx57(
32182
32275
  AgentInteractivePromptSurface,
32183
32276
  {
32184
32277
  prompt: bottomDockLiftedPrompt,
@@ -32193,7 +32286,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
32193
32286
  )
32194
32287
  }
32195
32288
  ) : null,
32196
- inlineNoticeChrome ? /* @__PURE__ */ jsx56(
32289
+ inlineNoticeChrome ? /* @__PURE__ */ jsx57(
32197
32290
  AgentSessionChrome,
32198
32291
  {
32199
32292
  chrome: inlineNoticeChrome,
@@ -32205,7 +32298,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
32205
32298
  labels: chromeLabels
32206
32299
  }
32207
32300
  ) : null,
32208
- /* @__PURE__ */ jsx56(
32301
+ /* @__PURE__ */ jsx57(
32209
32302
  AgentSessionChrome,
32210
32303
  {
32211
32304
  chrome: sessionChrome,
@@ -32217,7 +32310,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
32217
32310
  labels: chromeLabels
32218
32311
  }
32219
32312
  ),
32220
- showGoalBanner ? /* @__PURE__ */ jsx56(
32313
+ showGoalBanner ? /* @__PURE__ */ jsx57(
32221
32314
  AgentGoalBanner,
32222
32315
  {
32223
32316
  objective: goalObjective,
@@ -32232,12 +32325,12 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
32232
32325
  onClearGoal: () => onGoalControl("clear")
32233
32326
  }
32234
32327
  ) : null,
32235
- bottomDockReplacementPrompt ? /* @__PURE__ */ jsx56(
32328
+ bottomDockReplacementPrompt ? /* @__PURE__ */ jsx57(
32236
32329
  "div",
32237
32330
  {
32238
32331
  className: AgentGUINode_styles_default.bottomDockPrompt,
32239
32332
  "data-testid": "agent-gui-bottom-dock-active-prompt",
32240
- children: /* @__PURE__ */ jsx56(
32333
+ children: /* @__PURE__ */ jsx57(
32241
32334
  AgentInteractivePromptSurface,
32242
32335
  {
32243
32336
  prompt: bottomDockReplacementPrompt,
@@ -32251,7 +32344,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
32251
32344
  }
32252
32345
  )
32253
32346
  }
32254
- ) : /* @__PURE__ */ jsx56(AgentComposer, { ...composerProps })
32347
+ ) : /* @__PURE__ */ jsx57(AgentComposer, { ...composerProps })
32255
32348
  ]
32256
32349
  }
32257
32350
  );
@@ -32261,7 +32354,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
32261
32354
  import { memo as memo10 } from "react";
32262
32355
  import { Info as Info2 } from "lucide-react";
32263
32356
  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";
32357
+ import { jsx as jsx58, jsxs as jsxs41 } from "react/jsx-runtime";
32265
32358
  var AgentGUIDetailHeader = memo10(function AgentGUIDetailHeader2({
32266
32359
  activeConversation,
32267
32360
  hidden,
@@ -32274,9 +32367,9 @@ var AgentGUIDetailHeader = memo10(function AgentGUIDetailHeader2({
32274
32367
  return null;
32275
32368
  }
32276
32369
  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
32370
+ return /* @__PURE__ */ jsx58("div", { className: AgentGUINode_styles_default.detailHeader, children: /* @__PURE__ */ jsxs41("span", { className: AgentGUINode_styles_default.detailHeaderTitleGroup, children: [
32371
+ /* @__PURE__ */ jsx58("span", { className: AgentGUINode_styles_default.detailHeaderTitle, children: conversationPlainTitle(activeConversation, labels, uiLanguage) }),
32372
+ runPath ? /* @__PURE__ */ jsx58(AgentRunPathInfo, { path: runPath, previewMode }) : null
32280
32373
  ] }) });
32281
32374
  });
32282
32375
  function AgentRunPathInfo({
@@ -32284,21 +32377,21 @@ function AgentRunPathInfo({
32284
32377
  previewMode
32285
32378
  }) {
32286
32379
  "use memo";
32287
- const trigger = /* @__PURE__ */ jsx57(
32380
+ const trigger = /* @__PURE__ */ jsx58(
32288
32381
  "button",
32289
32382
  {
32290
32383
  type: "button",
32291
32384
  className: AgentGUINode_styles_default.detailHeaderPathInfo,
32292
32385
  "aria-label": path,
32293
- children: /* @__PURE__ */ jsx57(Info2, { size: 14, strokeWidth: 2, "aria-hidden": "true" })
32386
+ children: /* @__PURE__ */ jsx58(Info2, { size: 14, strokeWidth: 2, "aria-hidden": "true" })
32294
32387
  }
32295
32388
  );
32296
32389
  if (previewMode) {
32297
32390
  return trigger;
32298
32391
  }
32299
- return /* @__PURE__ */ jsxs40(Tooltip7, { children: [
32300
- /* @__PURE__ */ jsx57(TooltipTrigger7, { asChild: true, children: trigger }),
32301
- /* @__PURE__ */ jsx57(
32392
+ return /* @__PURE__ */ jsxs41(Tooltip7, { children: [
32393
+ /* @__PURE__ */ jsx58(TooltipTrigger7, { asChild: true, children: trigger }),
32394
+ /* @__PURE__ */ jsx58(
32302
32395
  TooltipContent7,
32303
32396
  {
32304
32397
  side: "top",
@@ -32318,14 +32411,14 @@ import {
32318
32411
  ToastTitle,
32319
32412
  ToastViewport
32320
32413
  } from "@tutti-os/ui-system";
32321
- import { jsx as jsx58, jsxs as jsxs41 } from "react/jsx-runtime";
32414
+ import { jsx as jsx59, jsxs as jsxs42 } from "react/jsx-runtime";
32322
32415
  function AgentGUIContentToast({
32323
32416
  insetTopPx,
32324
32417
  message
32325
32418
  }) {
32326
32419
  const [open, setOpen] = useState30(true);
32327
- return /* @__PURE__ */ jsxs41(ToastProvider, { children: [
32328
- /* @__PURE__ */ jsx58(
32420
+ return /* @__PURE__ */ jsxs42(ToastProvider, { children: [
32421
+ /* @__PURE__ */ jsx59(
32329
32422
  ToastRoot,
32330
32423
  {
32331
32424
  open,
@@ -32333,10 +32426,10 @@ function AgentGUIContentToast({
32333
32426
  "data-testid": "agent-gui-content-toast",
32334
32427
  variant: "default",
32335
32428
  onOpenChange: setOpen,
32336
- children: /* @__PURE__ */ jsx58(ToastTitle, { children: message })
32429
+ children: /* @__PURE__ */ jsx59(ToastTitle, { children: message })
32337
32430
  }
32338
32431
  ),
32339
- /* @__PURE__ */ jsx58(
32432
+ /* @__PURE__ */ jsx59(
32340
32433
  ToastViewport,
32341
32434
  {
32342
32435
  className: "nodrag tsh-desktop-no-drag absolute left-0 w-full translate-x-0 px-4 [-webkit-app-region:no-drag]",
@@ -32349,7 +32442,7 @@ function AgentGUIContentToast({
32349
32442
 
32350
32443
  // agent-gui/agentGuiNode/view/AgentGUIConversationTimelinePane.tsx
32351
32444
  import { memo as memo11 } from "react";
32352
- import { Fragment as Fragment15, jsx as jsx59, jsxs as jsxs42 } from "react/jsx-runtime";
32445
+ import { Fragment as Fragment16, jsx as jsx60, jsxs as jsxs43 } from "react/jsx-runtime";
32353
32446
  var EMPTY_WORKSPACE_APP_ICONS3 = [];
32354
32447
  var AgentGUIConversationTimelinePane = memo11(
32355
32448
  function AgentGUIConversationTimelinePane2({
@@ -32366,17 +32459,17 @@ var AgentGUIConversationTimelinePane = memo11(
32366
32459
  labels
32367
32460
  }) {
32368
32461
  "use memo";
32369
- return /* @__PURE__ */ jsxs42(Fragment15, { children: [
32370
- isLoadingOlderMessages && !isLoading ? /* @__PURE__ */ jsx59(
32462
+ return /* @__PURE__ */ jsxs43(Fragment16, { children: [
32463
+ isLoadingOlderMessages && !isLoading ? /* @__PURE__ */ jsx60(
32371
32464
  "div",
32372
32465
  {
32373
32466
  className: "mx-auto flex h-8 items-center justify-center text-[12px] text-[var(--text-secondary)]",
32374
32467
  "data-testid": "agent-gui-older-messages-loading",
32375
32468
  role: "status",
32376
- children: /* @__PURE__ */ jsx59("span", { className: "tsh-inline-loading-ellipsis", children: loadingLabel })
32469
+ children: /* @__PURE__ */ jsx60("span", { className: "tsh-inline-loading-ellipsis", children: loadingLabel })
32377
32470
  }
32378
32471
  ) : null,
32379
- /* @__PURE__ */ jsx59(
32472
+ /* @__PURE__ */ jsx60(
32380
32473
  AgentConversationFlow,
32381
32474
  {
32382
32475
  conversation,
@@ -32757,10 +32850,10 @@ function useAgentGUIDetailScroll(input) {
32757
32850
  import { useMemo as useMemo35 } from "react";
32758
32851
 
32759
32852
  // app/renderer/components/icons/UnavailableChatIcon.tsx
32760
- import { jsx as jsx60 } from "react/jsx-runtime";
32853
+ import { jsx as jsx61 } from "react/jsx-runtime";
32761
32854
  function UnavailableChatIcon(props) {
32762
32855
  "use memo";
32763
- return /* @__PURE__ */ jsx60(
32856
+ return /* @__PURE__ */ jsx61(
32764
32857
  "svg",
32765
32858
  {
32766
32859
  xmlns: "http://www.w3.org/2000/svg",
@@ -32768,7 +32861,7 @@ function UnavailableChatIcon(props) {
32768
32861
  fill: "currentColor",
32769
32862
  "aria-hidden": true,
32770
32863
  ...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" })
32864
+ 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
32865
  }
32773
32866
  );
32774
32867
  }
@@ -32814,7 +32907,7 @@ function useAgentGUITimelineTransition(input) {
32814
32907
  }
32815
32908
 
32816
32909
  // agent-gui/agentGuiNode/view/useAgentGUIDetailModel.tsx
32817
- import { Fragment as Fragment16, jsx as jsx61, jsxs as jsxs43 } from "react/jsx-runtime";
32910
+ import { Fragment as Fragment17, jsx as jsx62, jsxs as jsxs44 } from "react/jsx-runtime";
32818
32911
  function useAgentGUIDetailModel(input) {
32819
32912
  const {
32820
32913
  bottomDockDismissedPromptRequestId,
@@ -32962,17 +33055,17 @@ function useAgentGUIDetailModel(input) {
32962
33055
  ]
32963
33056
  );
32964
33057
  const conversationFlowEmpty = useMemo35(
32965
- () => showUnavailableChatEmpty ? /* @__PURE__ */ jsxs43(
33058
+ () => showUnavailableChatEmpty ? /* @__PURE__ */ jsxs44(
32966
33059
  "div",
32967
33060
  {
32968
33061
  className: AgentGUINode_styles_default.unavailableChatEmpty,
32969
33062
  "data-testid": "agent-gui-unavailable-chat-empty",
32970
33063
  children: [
32971
- /* @__PURE__ */ jsx61(UnavailableChatIcon, { className: AgentGUINode_styles_default.unavailableChatEmptyIcon }),
32972
- /* @__PURE__ */ jsx61("span", { className: AgentGUINode_styles_default.unavailableChatEmptyText, children: labels.conversationUnavailable })
33064
+ /* @__PURE__ */ jsx62(UnavailableChatIcon, { className: AgentGUINode_styles_default.unavailableChatEmptyIcon }),
33065
+ /* @__PURE__ */ jsx62("span", { className: AgentGUINode_styles_default.unavailableChatEmptyText, children: labels.conversationUnavailable })
32973
33066
  ]
32974
33067
  }
32975
- ) : /* @__PURE__ */ jsx61(Fragment16, {}),
33068
+ ) : /* @__PURE__ */ jsx62(Fragment17, {}),
32976
33069
  [labels.conversationUnavailable, showUnavailableChatEmpty]
32977
33070
  );
32978
33071
  const chromeLabels = useMemo35(
@@ -33347,7 +33440,7 @@ function useAgentGUIDetailModel(input) {
33347
33440
  }
33348
33441
 
33349
33442
  // agent-gui/agentGuiNode/view/AgentGUIDetailPane.tsx
33350
- import { Fragment as Fragment17, jsx as jsx62, jsxs as jsxs44 } from "react/jsx-runtime";
33443
+ import { Fragment as Fragment18, jsx as jsx63, jsxs as jsxs45 } from "react/jsx-runtime";
33351
33444
  var AGENT_GUI_TIMELINE_SCROLL_AREA_CONTENT_STYLE = {
33352
33445
  width: "100%",
33353
33446
  minWidth: "100%",
@@ -33804,14 +33897,14 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
33804
33897
  timelineScrollAnchorRef,
33805
33898
  viewModel
33806
33899
  });
33807
- return /* @__PURE__ */ jsxs44(
33900
+ return /* @__PURE__ */ jsxs45(
33808
33901
  "main",
33809
33902
  {
33810
33903
  className: AgentGUINode_styles_default.detail,
33811
33904
  "aria-busy": timelineInteractionLocked || void 0,
33812
33905
  inert: timelineInteractionLocked,
33813
33906
  children: [
33814
- viewModel.operations.goalClearNoticeSequence > 0 ? /* @__PURE__ */ jsx62(
33907
+ viewModel.operations.goalClearNoticeSequence > 0 ? /* @__PURE__ */ jsx63(
33815
33908
  AgentGUIContentToast,
33816
33909
  {
33817
33910
  insetTopPx: hideDetailHeader ? 16 : 80,
@@ -33819,7 +33912,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
33819
33912
  },
33820
33913
  viewModel.operations.goalClearNoticeSequence
33821
33914
  ) : null,
33822
- /* @__PURE__ */ jsx62(
33915
+ /* @__PURE__ */ jsx63(
33823
33916
  AgentGUIDetailHeader,
33824
33917
  {
33825
33918
  activeConversation: viewModel.rail.activeConversation,
@@ -33829,7 +33922,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
33829
33922
  previewMode
33830
33923
  }
33831
33924
  ),
33832
- /* @__PURE__ */ jsx62(
33925
+ /* @__PURE__ */ jsx63(
33833
33926
  ScrollArea2,
33834
33927
  {
33835
33928
  scrollbarMode: "native",
@@ -33838,7 +33931,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
33838
33931
  viewportTestId: "agent-gui-timeline",
33839
33932
  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
33933
  viewportContentStyle: AGENT_GUI_TIMELINE_SCROLL_AREA_CONTENT_STYLE,
33841
- children: !hasActiveConversation ? shouldRenderProviderUnavailableState && disabledProviderTarget ? /* @__PURE__ */ jsx62(Fragment17, { children: renderProviderUnavailableState?.({
33934
+ children: !hasActiveConversation ? shouldRenderProviderUnavailableState && disabledProviderTarget ? /* @__PURE__ */ jsx63(Fragment18, { children: renderProviderUnavailableState?.({
33842
33935
  provider: disabledProviderTarget.provider,
33843
33936
  providerLabel: labels.emptyProviderForProvider?.(
33844
33937
  disabledProviderTarget.provider
@@ -33850,7 +33943,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
33850
33943
  disabledProviderTarget.provider
33851
33944
  ),
33852
33945
  unavailableReason: disabledProviderTarget.unavailableReason ?? null
33853
- }) }) : /* @__PURE__ */ jsx62(
33946
+ }) }) : /* @__PURE__ */ jsx63(
33854
33947
  AgentGUIEmptyHomePane,
33855
33948
  {
33856
33949
  provider: emptyHeroProvider,
@@ -33873,7 +33966,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
33873
33966
  onSelectSuggestion: handleSelectHomeSuggestion,
33874
33967
  onSelectSuggestionAction: handleHomeSuggestionAction
33875
33968
  }
33876
- ) : /* @__PURE__ */ jsx62(
33969
+ ) : /* @__PURE__ */ jsx63(
33877
33970
  AgentGUIConversationTimelinePane,
33878
33971
  {
33879
33972
  conversation,
@@ -33891,7 +33984,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
33891
33984
  )
33892
33985
  }
33893
33986
  ),
33894
- hasActiveConversation ? /* @__PURE__ */ jsx62(
33987
+ hasActiveConversation ? /* @__PURE__ */ jsx63(
33895
33988
  AgentGUIBottomDockPane,
33896
33989
  {
33897
33990
  bottomDockRef,
@@ -33925,7 +34018,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
33925
34018
  // agent-gui/agentGuiNode/view/AgentGUIRenameConversationDialog.tsx
33926
34019
  import { memo as memo13, useCallback as useCallback52, useEffect as useEffect34, useRef as useRef43, useState as useState34 } from "react";
33927
34020
  import { ConfirmationDialog as ConfirmationDialog3, Input as Input2 } from "@tutti-os/ui-system";
33928
- import { jsx as jsx63, jsxs as jsxs45 } from "react/jsx-runtime";
34021
+ import { jsx as jsx64, jsxs as jsxs46 } from "react/jsx-runtime";
33929
34022
  var AgentGUIRenameConversationDialog = memo13(
33930
34023
  function AgentGUIRenameConversationDialog2({
33931
34024
  conversation,
@@ -33981,7 +34074,7 @@ var AgentGUIRenameConversationDialog = memo13(
33981
34074
  setIsSaving(false);
33982
34075
  });
33983
34076
  }, [conversation, onOpenChange, onRename, trimmedTitle]);
33984
- return /* @__PURE__ */ jsx63(
34077
+ return /* @__PURE__ */ jsx64(
33985
34078
  ConfirmationDialog3,
33986
34079
  {
33987
34080
  cancelLabel: labels.cancel,
@@ -33990,8 +34083,8 @@ var AgentGUIRenameConversationDialog = memo13(
33990
34083
  confirmDisabled: !trimmedTitle,
33991
34084
  confirmLabel: labels.renameSessionSave,
33992
34085
  description: labels.renameSessionDescription,
33993
- footer: /* @__PURE__ */ jsxs45("div", { className: "flex justify-end gap-2", children: [
33994
- /* @__PURE__ */ jsx63(
34086
+ footer: /* @__PURE__ */ jsxs46("div", { className: "flex justify-end gap-2", children: [
34087
+ /* @__PURE__ */ jsx64(
33995
34088
  Button,
33996
34089
  {
33997
34090
  disabled: isSaving,
@@ -34029,7 +34122,7 @@ var AgentGUIRenameConversationDialog = memo13(
34029
34122
  children: labels.cancel
34030
34123
  }
34031
34124
  ),
34032
- /* @__PURE__ */ jsx63(
34125
+ /* @__PURE__ */ jsx64(
34033
34126
  Button,
34034
34127
  {
34035
34128
  className: "shadow-none",
@@ -34084,7 +34177,7 @@ var AgentGUIRenameConversationDialog = memo13(
34084
34177
  title: labels.renameSessionTitle,
34085
34178
  onConfirm: confirmRename,
34086
34179
  onOpenChange,
34087
- children: /* @__PURE__ */ jsx63(
34180
+ children: /* @__PURE__ */ jsx64(
34088
34181
  Input2,
34089
34182
  {
34090
34183
  ref: inputRef,
@@ -34112,7 +34205,7 @@ import {
34112
34205
  ReferenceSourcePicker,
34113
34206
  WorkspaceFileReferencePicker
34114
34207
  } from "@tutti-os/workspace-file-reference/ui";
34115
- import { jsx as jsx64 } from "react/jsx-runtime";
34208
+ import { jsx as jsx65 } from "react/jsx-runtime";
34116
34209
  function AgentGUIReferencePickerSurface({
34117
34210
  aggregator,
34118
34211
  copy,
@@ -34129,7 +34222,7 @@ function AgentGUIReferencePickerSurface({
34129
34222
  onConfirm,
34130
34223
  onConfirmBundles
34131
34224
  }) {
34132
- return aggregator ? /* @__PURE__ */ jsx64(
34225
+ return aggregator ? /* @__PURE__ */ jsx65(
34133
34226
  ReferenceSourcePicker,
34134
34227
  {
34135
34228
  aggregator,
@@ -34139,7 +34232,7 @@ function AgentGUIReferencePickerSurface({
34139
34232
  fileManagerCopy: fileManagerCopy ?? void 0,
34140
34233
  open,
34141
34234
  provenanceFilter: provenanceFilter?.snapshot.value,
34142
- provenanceFilterControl: provenanceFilter ? /* @__PURE__ */ jsx64(
34235
+ provenanceFilterControl: provenanceFilter ? /* @__PURE__ */ jsx65(
34143
34236
  AgentReferenceProvenanceFilterControl,
34144
34237
  {
34145
34238
  filter: provenanceFilter,
@@ -34152,7 +34245,7 @@ function AgentGUIReferencePickerSurface({
34152
34245
  onConfirm,
34153
34246
  onConfirmBundles
34154
34247
  }
34155
- ) : /* @__PURE__ */ jsx64(
34248
+ ) : /* @__PURE__ */ jsx65(
34156
34249
  WorkspaceFileReferencePicker,
34157
34250
  {
34158
34251
  copy,
@@ -34169,7 +34262,7 @@ function AgentGUIReferencePickerSurface({
34169
34262
 
34170
34263
  // agent-gui/agentGuiNode/view/AgentTargetSetupRoot.tsx
34171
34264
  import { useCallback as useCallback53, useMemo as useMemo37 } from "react";
34172
- import { jsx as jsx65, jsxs as jsxs46 } from "react/jsx-runtime";
34265
+ import { jsx as jsx66, jsxs as jsxs47 } from "react/jsx-runtime";
34173
34266
  function useAgentTargetSetupRoot(input) {
34174
34267
  const { preferences } = useAgentGUIProviderRailPreferences();
34175
34268
  const homeTargetProjection = useMemo37(
@@ -34204,9 +34297,9 @@ function AgentTargetSetupRoot({
34204
34297
  children,
34205
34298
  controller
34206
34299
  }) {
34207
- return /* @__PURE__ */ jsxs46(AgentTargetSetupControllerProvider, { controller, children: [
34300
+ return /* @__PURE__ */ jsxs47(AgentTargetSetupControllerProvider, { controller, children: [
34208
34301
  children,
34209
- /* @__PURE__ */ jsx65(
34302
+ /* @__PURE__ */ jsx66(
34210
34303
  AgentTargetSetupGate,
34211
34304
  {
34212
34305
  carouselMountedExternally: false,
@@ -34596,7 +34689,7 @@ function useAgentGUINodeEngagement(input) {
34596
34689
  }
34597
34690
 
34598
34691
  // agent-gui/agentGuiNode/AgentGUINodeView.tsx
34599
- import { jsx as jsx66, jsxs as jsxs47 } from "react/jsx-runtime";
34692
+ import { jsx as jsx67, jsxs as jsxs48 } from "react/jsx-runtime";
34600
34693
  function AgentGUINodeView({
34601
34694
  viewModel,
34602
34695
  referenceProvenanceFilter = null,
@@ -35033,8 +35126,8 @@ function AgentGUINodeView({
35033
35126
  ),
35034
35127
  [viewModel.rail.agentTargets, viewModel.shell.workspaceId]
35035
35128
  );
35036
- const content = /* @__PURE__ */ jsx66(AgentTargetPresentationProvider, { agentTargets: agentTargetPresentations, children: /* @__PURE__ */ jsxs47(AgentTargetSetupRoot, { controller: targetSetupController, children: [
35037
- /* @__PURE__ */ jsxs47(
35129
+ const content = /* @__PURE__ */ jsx67(AgentTargetPresentationProvider, { agentTargets: agentTargetPresentations, children: /* @__PURE__ */ jsxs48(AgentTargetSetupRoot, { controller: targetSetupController, children: [
35130
+ /* @__PURE__ */ jsxs48(
35038
35131
  "div",
35039
35132
  {
35040
35133
  ref: layoutElementRef,
@@ -35044,7 +35137,7 @@ function AgentGUINodeView({
35044
35137
  inert: previewMode ? true : void 0,
35045
35138
  style: layoutStyle,
35046
35139
  children: [
35047
- /* @__PURE__ */ jsxs47(
35140
+ /* @__PURE__ */ jsxs48(
35048
35141
  "aside",
35049
35142
  {
35050
35143
  className: `${AgentGUINode_styles_default.providerRailPanel} nodrag tsh-desktop-no-drag`,
@@ -35052,7 +35145,7 @@ function AgentGUINodeView({
35052
35145
  "aria-hidden": conversationRailCollapsed ? "true" : void 0,
35053
35146
  inert: conversationRailCollapsed ? true : void 0,
35054
35147
  children: [
35055
- /* @__PURE__ */ jsx66(
35148
+ /* @__PURE__ */ jsx67(
35056
35149
  AgentGUIProviderRail,
35057
35150
  {
35058
35151
  activeConversation: viewModel.rail.activeConversation,
@@ -35076,7 +35169,7 @@ function AgentGUINodeView({
35076
35169
  onRequestComposerFocus: requestComposerFocus
35077
35170
  }
35078
35171
  ),
35079
- renderSidebarFooter ? /* @__PURE__ */ jsx66(
35172
+ renderSidebarFooter ? /* @__PURE__ */ jsx67(
35080
35173
  "div",
35081
35174
  {
35082
35175
  className: `${AgentGUINode_styles_default.providerRailFooter} ${AgentGUINode_styles_default.providerRailSidebarFooter} nodrag tsh-desktop-no-drag`,
@@ -35087,12 +35180,12 @@ function AgentGUINodeView({
35087
35180
  })
35088
35181
  }
35089
35182
  ) : null,
35090
- shouldShowProviderRailConfigButton ? /* @__PURE__ */ jsx66(
35183
+ shouldShowProviderRailConfigButton ? /* @__PURE__ */ jsx67(
35091
35184
  "div",
35092
35185
  {
35093
35186
  className: `${AgentGUINode_styles_default.providerRailFooter} ${AgentGUINode_styles_default.providerRailConfigFooter} nodrag tsh-desktop-no-drag`,
35094
35187
  "data-testid": "agent-gui-config-footer",
35095
- children: /* @__PURE__ */ jsx66(
35188
+ children: /* @__PURE__ */ jsx67(
35096
35189
  AgentGUIConfigMenu,
35097
35190
  {
35098
35191
  environmentSetupVisible,
@@ -35118,21 +35211,21 @@ function AgentGUINodeView({
35118
35211
  ]
35119
35212
  }
35120
35213
  ),
35121
- /* @__PURE__ */ jsx66(
35214
+ /* @__PURE__ */ jsx67(
35122
35215
  "aside",
35123
35216
  {
35124
35217
  id: "agent-gui-conversation-rail",
35125
35218
  className: `${AgentGUINode_styles_default.railPanel}${conversationRailCollapsed ? ` ${AgentGUINode_styles_default.railPanelCollapsed}` : ""}`,
35126
35219
  "aria-hidden": conversationRailCollapsed ? "true" : void 0,
35127
35220
  inert: conversationRailCollapsed ? true : void 0,
35128
- children: /* @__PURE__ */ jsx66(
35221
+ children: /* @__PURE__ */ jsx67(
35129
35222
  AgentGUIConversationRailController,
35130
35223
  {
35131
35224
  ...conversationRailStoreState,
35132
35225
  conversations: viewModel.rail.conversations,
35133
35226
  userProjects: viewModel.rail.userProjects,
35134
35227
  workspaceId: viewModel.shell.workspaceId,
35135
- footer: accountMenuState?.user ? /* @__PURE__ */ jsx66(
35228
+ footer: accountMenuState?.user ? /* @__PURE__ */ jsx67(
35136
35229
  AgentGUIAccountRailMenu,
35137
35230
  {
35138
35231
  accountMenuState,
@@ -35144,7 +35237,7 @@ function AgentGUINodeView({
35144
35237
  )
35145
35238
  }
35146
35239
  ),
35147
- /* @__PURE__ */ jsx66(
35240
+ /* @__PURE__ */ jsx67(
35148
35241
  "div",
35149
35242
  {
35150
35243
  id: "agent-gui-conversation-rail-resize",
@@ -35168,7 +35261,7 @@ function AgentGUINodeView({
35168
35261
  onPointerUp: endConversationRailResize
35169
35262
  }
35170
35263
  ),
35171
- /* @__PURE__ */ jsx66("section", { id: "agent-gui-detail", className: AgentGUINode_styles_default.detailPanel, children: /* @__PURE__ */ jsx66(
35264
+ /* @__PURE__ */ jsx67("section", { id: "agent-gui-detail", className: AgentGUINode_styles_default.detailPanel, children: /* @__PURE__ */ jsx67(
35172
35265
  AgentGUIDetailPane,
35173
35266
  {
35174
35267
  viewModel,
@@ -35206,7 +35299,7 @@ function AgentGUINodeView({
35206
35299
  ]
35207
35300
  }
35208
35301
  ),
35209
- /* @__PURE__ */ jsx66(
35302
+ /* @__PURE__ */ jsx67(
35210
35303
  AgentGUIReferencePickerSurface,
35211
35304
  {
35212
35305
  aggregator: referenceSourceAggregator,
@@ -35225,7 +35318,7 @@ function AgentGUINodeView({
35225
35318
  onConfirmBundles: confirmWorkspaceReferenceBundles
35226
35319
  }
35227
35320
  ),
35228
- /* @__PURE__ */ jsx66(
35321
+ /* @__PURE__ */ jsx67(
35229
35322
  AgentGUIRenameConversationDialog,
35230
35323
  {
35231
35324
  conversation: renameConversationTarget,
@@ -35241,7 +35334,7 @@ function AgentGUINodeView({
35241
35334
  }
35242
35335
  )
35243
35336
  ] }) });
35244
- return previewMode ? content : /* @__PURE__ */ jsx66(TooltipProvider4, { children: content });
35337
+ return previewMode ? content : /* @__PURE__ */ jsx67(TooltipProvider4, { children: content });
35245
35338
  }
35246
35339
 
35247
35340
  // agent-gui/workspaceDesktop/view/desktopDockAgentProbeTooltipModel.ts
@@ -35422,7 +35515,7 @@ import {
35422
35515
  useState as useState37
35423
35516
  } from "react";
35424
35517
  import { createPortal as createPortal5 } from "react-dom";
35425
- import { Fragment as Fragment18, jsx as jsx67, jsxs as jsxs48 } from "react/jsx-runtime";
35518
+ import { Fragment as Fragment19, jsx as jsx68, jsxs as jsxs49 } from "react/jsx-runtime";
35426
35519
  var POPOVER_MIN_VIEWPORT_INSET_PX = 16;
35427
35520
  var POPOVER_DEFAULT_WIDTH_PX = 260;
35428
35521
  function dockAgentProbeLineKey(line) {
@@ -35432,11 +35525,11 @@ function renderDockAgentProbeLine(line) {
35432
35525
  if (typeof line === "string") {
35433
35526
  return line;
35434
35527
  }
35435
- return /* @__PURE__ */ jsxs48(Fragment18, { children: [
35528
+ return /* @__PURE__ */ jsxs49(Fragment19, { children: [
35436
35529
  line.primary,
35437
- line.secondary ? /* @__PURE__ */ jsxs48(Fragment18, { children: [
35530
+ line.secondary ? /* @__PURE__ */ jsxs49(Fragment19, { children: [
35438
35531
  " ",
35439
- /* @__PURE__ */ jsx67("span", { className: "desktop-dock-popup__agent-status-secondary", children: line.secondary })
35532
+ /* @__PURE__ */ jsx68("span", { className: "desktop-dock-popup__agent-status-secondary", children: line.secondary })
35440
35533
  ] }) : null
35441
35534
  ] });
35442
35535
  }
@@ -35520,7 +35613,7 @@ function AgentProbeInfoPopover({
35520
35613
  if (lines.length === 0) {
35521
35614
  return null;
35522
35615
  }
35523
- const popover = /* @__PURE__ */ jsx67(
35616
+ const popover = /* @__PURE__ */ jsx68(
35524
35617
  "div",
35525
35618
  {
35526
35619
  ref: popoverRef,
@@ -35529,17 +35622,17 @@ function AgentProbeInfoPopover({
35529
35622
  style: popoverStyle ?? void 0,
35530
35623
  onMouseEnter: openPopover,
35531
35624
  onMouseLeave: closeIfPointerLeavesPopover,
35532
- children: /* @__PURE__ */ jsx67("ul", { className: "desktop-dock-popup__agent-info-list", children: lines.map((line) => {
35625
+ children: /* @__PURE__ */ jsx68("ul", { className: "desktop-dock-popup__agent-info-list", children: lines.map((line) => {
35533
35626
  const label = getDockAgentProbeLineLabel(line);
35534
35627
  const valueText = formatDockAgentProbeLineText(line);
35535
- return /* @__PURE__ */ jsxs48(
35628
+ return /* @__PURE__ */ jsxs49(
35536
35629
  "li",
35537
35630
  {
35538
35631
  className: "desktop-dock-popup__agent-info-item",
35539
35632
  "data-has-label": label ? "true" : "false",
35540
35633
  children: [
35541
- label ? /* @__PURE__ */ jsx67("span", { className: "desktop-dock-popup__agent-info-label", children: label }) : null,
35542
- /* @__PURE__ */ jsx67(
35634
+ label ? /* @__PURE__ */ jsx68("span", { className: "desktop-dock-popup__agent-info-label", children: label }) : null,
35635
+ /* @__PURE__ */ jsx68(
35543
35636
  "span",
35544
35637
  {
35545
35638
  className: "desktop-dock-popup__agent-info-value",
@@ -35554,7 +35647,7 @@ function AgentProbeInfoPopover({
35554
35647
  }) })
35555
35648
  }
35556
35649
  );
35557
- return /* @__PURE__ */ jsxs48(
35650
+ return /* @__PURE__ */ jsxs49(
35558
35651
  "div",
35559
35652
  {
35560
35653
  ref: anchorRef,
@@ -35574,7 +35667,7 @@ function AgentProbeInfoPopover({
35574
35667
  },
35575
35668
  onBlur: () => setIsOpen(false),
35576
35669
  children: [
35577
- /* @__PURE__ */ jsx67(Info3, { size: 15, strokeWidth: 2.1, "aria-hidden": "true" }),
35670
+ /* @__PURE__ */ jsx68(Info3, { size: 15, strokeWidth: 2.1, "aria-hidden": "true" }),
35578
35671
  isOpen ? createPortal5(popover, document.body) : null
35579
35672
  ]
35580
35673
  }
@@ -35672,7 +35765,7 @@ import {
35672
35765
  useEffectiveRichTextMentionService,
35673
35766
  useRichTextMentionService
35674
35767
  } from "@tutti-os/ui-rich-text/editor";
35675
- import { jsx as jsx68 } from "react/jsx-runtime";
35768
+ import { jsx as jsx69 } from "react/jsx-runtime";
35676
35769
  function AgentGUIMentionServiceBoundary({
35677
35770
  children,
35678
35771
  legacyProviders,
@@ -35686,7 +35779,7 @@ function AgentGUIMentionServiceBoundary({
35686
35779
  if (!service && !inheritedService && !legacyProviders?.length) {
35687
35780
  return children;
35688
35781
  }
35689
- return effectiveService !== inheritedService ? /* @__PURE__ */ jsx68(RichTextMentionServiceProvider, { service: effectiveService, children }) : children;
35782
+ return effectiveService !== inheritedService ? /* @__PURE__ */ jsx69(RichTextMentionServiceProvider, { service: effectiveService, children }) : children;
35690
35783
  }
35691
35784
 
35692
35785
  // agent-gui/agentGuiNode/AgentGUINode.labels.ts
@@ -36088,6 +36181,9 @@ function useAgentGUIViewLabels(input) {
36088
36181
  ),
36089
36182
  conversationFilterTutti: t("agentHost.agentGui.conversationFilterTutti"),
36090
36183
  providerSwitchLabel: t("agentHost.agentGui.providerSwitchLabel"),
36184
+ sharedAgentOwnerSeparator: t(
36185
+ "agentHost.agentGui.sharedAgentOwnerSeparator"
36186
+ ),
36091
36187
  loadingConversation: t("agentHost.agentGui.loadingConversation"),
36092
36188
  scrollToBottom: t("agentHost.agentGui.scrollToBottom"),
36093
36189
  fallbackAgentTitle,
@@ -36540,7 +36636,7 @@ function resolveAgentGUIRailStatusProvider(input) {
36540
36636
  }
36541
36637
 
36542
36638
  // agent-gui/agentGuiNode/AgentGUINode.tsx
36543
- import { jsx as jsx69, jsxs as jsxs49 } from "react/jsx-runtime";
36639
+ import { jsx as jsx70, jsxs as jsxs50 } from "react/jsx-runtime";
36544
36640
  var EMPTY_SLASH_STATUS_QUOTAS = [];
36545
36641
  var DISABLED_REFERENCE_PROVENANCE_CATALOG = {
36546
36642
  enabledDimensions: [],
@@ -36949,12 +37045,12 @@ var AgentGUINode = memo14(function AgentGUINode2({
36949
37045
  previewMode,
36950
37046
  railStatusProvider
36951
37047
  ]);
36952
- return /* @__PURE__ */ jsx69(
37048
+ return /* @__PURE__ */ jsx70(
36953
37049
  AgentGUIMentionServiceBoundary,
36954
37050
  {
36955
37051
  legacyProviders: contextMentionProviders,
36956
37052
  service: mentionService,
36957
- children: /* @__PURE__ */ jsx69(
37053
+ children: /* @__PURE__ */ jsx70(
36958
37054
  WorkspaceNodeWindow,
36959
37055
  {
36960
37056
  nodeId,
@@ -36970,8 +37066,8 @@ var AgentGUINode = memo14(function AgentGUINode2({
36970
37066
  className: "size-full bg-transparent",
36971
37067
  bodyClassName: `${AgentGUINode_styles_default.shell} nodrag size-full min-h-0 min-w-0 !bg-transparent p-0`,
36972
37068
  hideHeader: embedded,
36973
- titleAccessory: /* @__PURE__ */ jsxs49("span", { className: "inline-flex flex-none items-center gap-1", children: [
36974
- /* @__PURE__ */ jsx69(
37069
+ titleAccessory: /* @__PURE__ */ jsxs50("span", { className: "inline-flex flex-none items-center gap-1", children: [
37070
+ /* @__PURE__ */ jsx70(
36975
37071
  AgentProbeInfoPopover,
36976
37072
  {
36977
37073
  lines: agentProbeLines,
@@ -36980,7 +37076,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
36980
37076
  onOpen: handleAgentProbeInfoOpen
36981
37077
  }
36982
37078
  ),
36983
- /* @__PURE__ */ jsx69(
37079
+ /* @__PURE__ */ jsx70(
36984
37080
  CanvasNodeGhostIconButton,
36985
37081
  {
36986
37082
  "aria-label": isConversationRailCollapsed ? t("agentHost.agentGui.expandConversationRail") : t("agentHost.agentGui.collapseConversationRail"),
@@ -36992,7 +37088,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
36992
37088
  event.stopPropagation();
36993
37089
  handleConversationRailToggle();
36994
37090
  },
36995
- children: /* @__PURE__ */ jsx69(
37091
+ children: /* @__PURE__ */ jsx70(
36996
37092
  CanvasNodePanelLinedIcon,
36997
37093
  {
36998
37094
  width: 18,
@@ -37016,7 +37112,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
37016
37112
  renderedWidth,
37017
37113
  railAutoCollapseWidthPx
37018
37114
  );
37019
- return /* @__PURE__ */ jsx69(
37115
+ return /* @__PURE__ */ jsx70(
37020
37116
  AgentGUINodeView,
37021
37117
  {
37022
37118
  viewModel,
@@ -37088,7 +37184,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
37088
37184
  }, areAgentGUINodePropsEqual);
37089
37185
 
37090
37186
  // AgentGUI.tsx
37091
- import { jsx as jsx70 } from "react/jsx-runtime";
37187
+ import { jsx as jsx71 } from "react/jsx-runtime";
37092
37188
  var AgentGUI = memo15(function AgentGUI2({
37093
37189
  agentActivityRuntime,
37094
37190
  agentHostApi,
@@ -37127,15 +37223,15 @@ var AgentGUI = memo15(function AgentGUI2({
37127
37223
  providerRailEmpty: renderAgentsEmpty
37128
37224
  }
37129
37225
  };
37130
- const content = /* @__PURE__ */ jsx70(AgentGuiI18nProvider, { runtime: i18n, locale, children: /* @__PURE__ */ jsx70(
37226
+ const content = /* @__PURE__ */ jsx71(AgentGuiI18nProvider, { runtime: i18n, locale, children: /* @__PURE__ */ jsx71(
37131
37227
  AgentActivityHostProvider,
37132
37228
  {
37133
37229
  agentActivityRuntime,
37134
37230
  agentHostApi,
37135
- children: /* @__PURE__ */ jsx70(AgentGUINode, { ...nodeProps })
37231
+ children: /* @__PURE__ */ jsx71(AgentGUINode, { ...nodeProps })
37136
37232
  }
37137
37233
  ) });
37138
- return props.frame.previewMode ? content : /* @__PURE__ */ jsx70(TooltipProvider5, { delayDuration: 120, skipDelayDuration: 0, children: content });
37234
+ return props.frame.previewMode ? content : /* @__PURE__ */ jsx71(TooltipProvider5, { delayDuration: 120, skipDelayDuration: 0, children: content });
37139
37235
  });
37140
37236
 
37141
37237
  export {
@@ -37148,4 +37244,4 @@ export {
37148
37244
  resolveAgentGUIAgentTarget,
37149
37245
  AgentGUI
37150
37246
  };
37151
- //# sourceMappingURL=chunk-ZXHXR2KT.js.map
37247
+ //# sourceMappingURL=chunk-Z4HPUA2G.js.map