@tutti-os/agent-gui 0.0.215 → 0.0.216

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 (57) hide show
  1. package/README.md +3 -5
  2. package/dist/{AgentRichTextReadonly-56TZAJ47.js → AgentRichTextReadonly-IPPNAAWG.js} +5 -5
  3. package/dist/agent-conversation/index.d.ts +0 -2
  4. package/dist/agent-conversation/index.js +7 -7
  5. package/dist/agent-gui.d.ts +0 -7
  6. package/dist/agent-gui.js +14 -14
  7. package/dist/agent-message-center/index.d.ts +1 -2
  8. package/dist/agent-message-center/index.js +6 -6
  9. package/dist/app/renderer/agentactivity.css +0 -24
  10. package/dist/{chunk-ISC67YBJ.js → chunk-6A6OVD66.js} +4 -4
  11. package/dist/{chunk-AD2RTSMS.js → chunk-AOK22J62.js} +2 -2
  12. package/dist/{chunk-2HYADTQP.js → chunk-B4TM2HYJ.js} +2 -2
  13. package/dist/{chunk-MWAUXAD2.js → chunk-DLN33TPF.js} +2 -2
  14. package/dist/{chunk-XERDRMSF.js → chunk-DTP2OMCE.js} +4 -4
  15. package/dist/{chunk-AQ7CRDGX.js → chunk-EZRQMJTX.js} +8 -14
  16. package/dist/chunk-EZRQMJTX.js.map +1 -0
  17. package/dist/{chunk-JOUEYIV3.js → chunk-KJA3HHUJ.js} +363 -684
  18. package/dist/chunk-KJA3HHUJ.js.map +1 -0
  19. package/dist/{chunk-GUD5NOHO.js → chunk-MOCBHFJ2.js} +5 -74
  20. package/dist/chunk-MOCBHFJ2.js.map +1 -0
  21. package/dist/{chunk-QVLEP54U.js → chunk-P2RIZAK5.js} +3 -3
  22. package/dist/chunk-P2RIZAK5.js.map +1 -0
  23. package/dist/{chunk-YBIT37P5.js → chunk-QFYOJMEQ.js} +2 -2
  24. package/dist/{chunk-BYHNJQYH.js → chunk-UERICUWM.js} +2 -2
  25. package/dist/{chunk-KVFBUOKZ.js → chunk-VMPPZO5C.js} +2 -2
  26. package/dist/{chunk-YTU6IUO2.js → chunk-YY5WM3OE.js} +39 -143
  27. package/dist/chunk-YY5WM3OE.js.map +1 -0
  28. package/dist/{chunk-KNSLQO52.js → chunk-Z5UJC4Q3.js} +7 -13
  29. package/dist/chunk-Z5UJC4Q3.js.map +1 -0
  30. package/dist/context-mention-palette/index.js +7 -7
  31. package/dist/{contribution-DfeuQHH6.d.ts → contribution-D4lcOjSU.d.ts} +2 -14
  32. package/dist/i18n/index.d.ts +2 -2
  33. package/dist/i18n/index.js +2 -2
  34. package/dist/index.d.ts +2 -9
  35. package/dist/index.js +14 -14
  36. package/dist/mention-search.js +5 -5
  37. package/dist/workbench/contribution.d.ts +1 -1
  38. package/dist/workbench/contribution.js +3 -5
  39. package/dist/workbench/index.d.ts +2 -2
  40. package/dist/workbench/index.js +3 -5
  41. package/dist/workbench/sessionTitle.js +2 -2
  42. package/package.json +14 -14
  43. package/dist/chunk-AQ7CRDGX.js.map +0 -1
  44. package/dist/chunk-GUD5NOHO.js.map +0 -1
  45. package/dist/chunk-JOUEYIV3.js.map +0 -1
  46. package/dist/chunk-KNSLQO52.js.map +0 -1
  47. package/dist/chunk-QVLEP54U.js.map +0 -1
  48. package/dist/chunk-YTU6IUO2.js.map +0 -1
  49. /package/dist/{AgentRichTextReadonly-56TZAJ47.js.map → AgentRichTextReadonly-IPPNAAWG.js.map} +0 -0
  50. /package/dist/{chunk-ISC67YBJ.js.map → chunk-6A6OVD66.js.map} +0 -0
  51. /package/dist/{chunk-AD2RTSMS.js.map → chunk-AOK22J62.js.map} +0 -0
  52. /package/dist/{chunk-2HYADTQP.js.map → chunk-B4TM2HYJ.js.map} +0 -0
  53. /package/dist/{chunk-MWAUXAD2.js.map → chunk-DLN33TPF.js.map} +0 -0
  54. /package/dist/{chunk-XERDRMSF.js.map → chunk-DTP2OMCE.js.map} +0 -0
  55. /package/dist/{chunk-YBIT37P5.js.map → chunk-QFYOJMEQ.js.map} +0 -0
  56. /package/dist/{chunk-BYHNJQYH.js.map → chunk-UERICUWM.js.map} +0 -0
  57. /package/dist/{chunk-KVFBUOKZ.js.map → chunk-VMPPZO5C.js.map} +0 -0
@@ -15,7 +15,7 @@ import {
15
15
  resolveAgentGuiSessionProviderFlatIconUrl,
16
16
  resolveNextAgentGUIConversationRailWidthPx,
17
17
  shouldAutoCollapseAgentGUIConversationRail
18
- } from "./chunk-GUD5NOHO.js";
18
+ } from "./chunk-MOCBHFJ2.js";
19
19
  import {
20
20
  AGENT_PROVIDERS,
21
21
  AGENT_PROVIDER_LABEL,
@@ -31,7 +31,7 @@ import {
31
31
  resolveAgentGUIFirstUserMessageDisplayPrompt,
32
32
  resolveAgentGUIProviderDisplayLabel,
33
33
  resolveAgentGUIProviderIdentity
34
- } from "./chunk-KVFBUOKZ.js";
34
+ } from "./chunk-VMPPZO5C.js";
35
35
  import {
36
36
  resolveAgentGuiWorkbenchProviderLabel
37
37
  } from "./chunk-MGSRWYRN.js";
@@ -70,7 +70,7 @@ import {
70
70
  toLocalShortDateTime,
71
71
  updateAgentComposerDraft,
72
72
  useProjectedAgentConversation
73
- } from "./chunk-YTU6IUO2.js";
73
+ } from "./chunk-YY5WM3OE.js";
74
74
  import {
75
75
  agentRichTextContentToPromptText,
76
76
  createAgentRichTextInputExtensions,
@@ -80,7 +80,7 @@ import {
80
80
  plainTextToAgentRichTextInlineContent,
81
81
  skillDescriptionForDisplay,
82
82
  skillTriggerForPrefix
83
- } from "./chunk-MWAUXAD2.js";
83
+ } from "./chunk-DLN33TPF.js";
84
84
  import {
85
85
  AgentEnvPanelActionProvider
86
86
  } from "./chunk-N4HLBSMJ.js";
@@ -95,7 +95,7 @@ import {
95
95
  AgentFileMentionPalette,
96
96
  agentMentionItemKey,
97
97
  isAgentMentionItemDisabled
98
- } from "./chunk-XERDRMSF.js";
98
+ } from "./chunk-DTP2OMCE.js";
99
99
  import {
100
100
  normalizeAgentGUIAgents,
101
101
  projectAgentGUIAgentsToTargets
@@ -106,7 +106,7 @@ import {
106
106
  DEFAULT_AGENT_MENTION_FILTER,
107
107
  agentGuiScheduler,
108
108
  buildWorkspaceAgentActivityListViewModel
109
- } from "./chunk-ISC67YBJ.js";
109
+ } from "./chunk-6A6OVD66.js";
110
110
  import {
111
111
  AGENT_RICH_TEXT_CARET_ANCHOR,
112
112
  agentComposerFileMentionReferences,
@@ -123,7 +123,7 @@ import {
123
123
  parseMentionItemFromHref,
124
124
  remainingAgentComposerPromptAssetSlots,
125
125
  updateAgentComposerFileMentions
126
- } from "./chunk-2HYADTQP.js";
126
+ } from "./chunk-B4TM2HYJ.js";
127
127
  import {
128
128
  AgentInteractivePromptSurface,
129
129
  PLAN_IMPLEMENTATION_ACTION_FEEDBACK,
@@ -135,7 +135,7 @@ import {
135
135
  normalizePlanIssueBudgetPreset,
136
136
  planImplementationPromptFromPlanTurn,
137
137
  planIssueBudgetPresetsEqual
138
- } from "./chunk-AQ7CRDGX.js";
138
+ } from "./chunk-EZRQMJTX.js";
139
139
  import {
140
140
  useEngineSelector
141
141
  } from "./chunk-EVQ4JY3N.js";
@@ -145,7 +145,7 @@ import {
145
145
  blobToBase64,
146
146
  normalizeAgentApprovalPurpose,
147
147
  resolveWorkspaceLinkAction
148
- } from "./chunk-KNSLQO52.js";
148
+ } from "./chunk-Z5UJC4Q3.js";
149
149
  import {
150
150
  AgentTargetPresentationProvider,
151
151
  cn,
@@ -163,7 +163,7 @@ import {
163
163
  useAgentHostApi,
164
164
  useOptionalAgentActivityRuntime,
165
165
  useOptionalAgentHostApi
166
- } from "./chunk-YBIT37P5.js";
166
+ } from "./chunk-QFYOJMEQ.js";
167
167
  import {
168
168
  MANAGED_AGENT_ICON_FALLBACK_URL,
169
169
  MANAGED_AGENT_ICON_URLS,
@@ -173,7 +173,7 @@ import {
173
173
  AgentGuiI18nProvider,
174
174
  translate,
175
175
  useTranslation
176
- } from "./chunk-BYHNJQYH.js";
176
+ } from "./chunk-UERICUWM.js";
177
177
  import {
178
178
  isBetaAgentProvider,
179
179
  normalizeManagedAgentProvider
@@ -6290,7 +6290,6 @@ function useAgentGUIConversationRouting(input) {
6290
6290
  intent,
6291
6291
  openSessionRequest,
6292
6292
  pendingOpenSessionRequestRef,
6293
- previewMode,
6294
6293
  selectConversation,
6295
6294
  sessionEngine,
6296
6295
  setIntent,
@@ -6332,7 +6331,7 @@ function useAgentGUIConversationRouting(input) {
6332
6331
  );
6333
6332
  useEffect3(() => {
6334
6333
  const normalizedOpenSessionRequest = normalizeAgentGUIOpenSessionRequest(openSessionRequest);
6335
- if (!previewMode && normalizedOpenSessionRequest && handledOpenSessionSequenceRef.current !== normalizedOpenSessionRequest.sequence) {
6334
+ if (normalizedOpenSessionRequest && handledOpenSessionSequenceRef.current !== normalizedOpenSessionRequest.sequence) {
6336
6335
  handledOpenSessionSequenceRef.current = normalizedOpenSessionRequest.sequence;
6337
6336
  pendingOpenSessionRequestRef.current = normalizedOpenSessionRequest;
6338
6337
  }
@@ -6390,7 +6389,6 @@ function useAgentGUIConversationRouting(input) {
6390
6389
  hasLoadedConversations,
6391
6390
  intent,
6392
6391
  openSessionRequest,
6393
- previewMode,
6394
6392
  selectConversation,
6395
6393
  transientConversation
6396
6394
  ]);
@@ -7538,7 +7536,6 @@ function useAgentGUIComposerOptionsSync(input) {
7538
7536
  );
7539
7537
  input.loadDraftComposerOptionsRef.current = loadDraftComposerOptions;
7540
7538
  useEffect5(() => {
7541
- if (input.previewMode) return void 0;
7542
7539
  return subscribeCoalesced(
7543
7540
  "agent-model-catalog-invalidated",
7544
7541
  {
@@ -7566,9 +7563,8 @@ function useAgentGUIComposerOptionsSync(input) {
7566
7563
  });
7567
7564
  }
7568
7565
  );
7569
- }, [input.loadSessionState, input.previewMode, loadDraftComposerOptions]);
7566
+ }, [input.loadSessionState, loadDraftComposerOptions]);
7570
7567
  useEffect5(() => {
7571
- if (input.previewMode) return void 0;
7572
7568
  return subscribe("agent-composer-defaults-invalidated", (event) => {
7573
7569
  const selectedTarget = composerTargetDataForConversation({
7574
7570
  activeConversationId: input.activeConversationIdRef.current,
@@ -7595,11 +7591,9 @@ function useAgentGUIComposerOptionsSync(input) {
7595
7591
  }, [
7596
7592
  input.defaultReasoningEffort,
7597
7593
  input.onComposerDefaultsAuthorityReloadedRef,
7598
- input.previewMode,
7599
7594
  loadComposerOptionsForTarget
7600
7595
  ]);
7601
7596
  useEffect5(() => {
7602
- if (input.previewMode) return;
7603
7597
  const conversationCreationSettled = previousIsCreatingConversationRef.current && !input.isCreatingConversation;
7604
7598
  previousIsCreatingConversationRef.current = input.isCreatingConversation;
7605
7599
  loadDraftComposerOptions(
@@ -7611,13 +7605,12 @@ function useAgentGUIComposerOptionsSync(input) {
7611
7605
  input.composerTargetData.provider,
7612
7606
  input.isComposerHome,
7613
7607
  input.isCreatingConversation,
7614
- input.previewMode,
7615
7608
  input.providerComposerOptions?.behavior?.prewarmDraftSession,
7616
7609
  input.selectedProjectPath,
7617
7610
  loadDraftComposerOptions
7618
7611
  ]);
7619
7612
  useEffect5(() => {
7620
- if (!input.previewMode) {
7613
+ {
7621
7614
  void input.syncConversationListProjection(
7622
7615
  input.dataRef.current.lastActiveAgentSessionId
7623
7616
  );
@@ -7626,7 +7619,6 @@ function useAgentGUIComposerOptionsSync(input) {
7626
7619
  input.conversationFilter,
7627
7620
  input.currentUserId,
7628
7621
  input.data.provider,
7629
- input.previewMode,
7630
7622
  input.syncConversationListProjection
7631
7623
  ]);
7632
7624
  return { loadDraftComposerOptions, reloadComposerOptionsForTarget };
@@ -8731,7 +8723,6 @@ function useAgentGUIConversationHome({
8731
8723
  submitPrefillPrompt,
8732
8724
  persistActiveConversation,
8733
8725
  prefillPromptRequest,
8734
- previewMode,
8735
8726
  reportActiveConversationCleared,
8736
8727
  selectedComposerTargetDataRef,
8737
8728
  selectedProjectPathRef,
@@ -8837,9 +8828,6 @@ function useAgentGUIConversationHome({
8837
8828
  ]
8838
8829
  );
8839
8830
  useEffect6(() => {
8840
- if (previewMode) {
8841
- return;
8842
- }
8843
8831
  const resolvedAppendRequest = resolveAgentGUIComposerAppendRequest({
8844
8832
  activeConversationId: activeConversationIdRef.current,
8845
8833
  draftByScopeKey: draftByScopeKeyRef.current,
@@ -8952,7 +8940,6 @@ function useAgentGUIConversationHome({
8952
8940
  onDataChangeRef,
8953
8941
  persistActiveConversation,
8954
8942
  prefillPromptRequest,
8955
- previewMode,
8956
8943
  selectedComposerTargetDataRef,
8957
8944
  selectedProjectPathRef,
8958
8945
  setConversationFilter,
@@ -9541,16 +9528,12 @@ var QueuedPromptImageLoadOwner = class {
9541
9528
  function useAgentGUIQueueActions({
9542
9529
  activeConversationIdRef,
9543
9530
  agentActivityRuntime,
9544
- previewMode,
9545
9531
  sessionEngine,
9546
9532
  setDraftByScopeKey,
9547
9533
  workspaceId
9548
9534
  }) {
9549
9535
  const removeQueuedPrompt = useCallback17(
9550
9536
  (queuedPromptId) => {
9551
- if (previewMode) {
9552
- return;
9553
- }
9554
9537
  const agentSessionId = activeConversationIdRef.current;
9555
9538
  const normalizedQueuedPromptId = queuedPromptId.trim();
9556
9539
  if (!agentSessionId || !normalizedQueuedPromptId) {
@@ -9573,13 +9556,13 @@ function useAgentGUIQueueActions({
9573
9556
  }
9574
9557
  );
9575
9558
  },
9576
- [activeConversationIdRef, previewMode, sessionEngine]
9559
+ [activeConversationIdRef, sessionEngine]
9577
9560
  );
9578
9561
  const editQueuedPrompt = useCallback17(
9579
9562
  (queuedPromptId) => {
9580
9563
  const agentSessionId = activeConversationIdRef.current;
9581
9564
  const normalizedQueuedPromptId = queuedPromptId.trim();
9582
- if (previewMode || !agentSessionId || !normalizedQueuedPromptId) {
9565
+ if (!agentSessionId || !normalizedQueuedPromptId) {
9583
9566
  return;
9584
9567
  }
9585
9568
  const queuedPrompt = selectEngineQueuedPrompt(
@@ -9664,7 +9647,6 @@ function useAgentGUIQueueActions({
9664
9647
  [
9665
9648
  activeConversationIdRef,
9666
9649
  agentActivityRuntime,
9667
- previewMode,
9668
9650
  sessionEngine,
9669
9651
  setDraftByScopeKey,
9670
9652
  workspaceId
@@ -9674,7 +9656,7 @@ function useAgentGUIQueueActions({
9674
9656
  (queuedPromptId) => {
9675
9657
  const agentSessionId = activeConversationIdRef.current;
9676
9658
  const normalizedQueuedPromptId = queuedPromptId.trim();
9677
- if (previewMode || !agentSessionId || !normalizedQueuedPromptId) {
9659
+ if (!agentSessionId || !normalizedQueuedPromptId) {
9678
9660
  return;
9679
9661
  }
9680
9662
  sessionEngine.dispatch({
@@ -9686,7 +9668,7 @@ function useAgentGUIQueueActions({
9686
9668
  type: "queue/sendNowRequested"
9687
9669
  });
9688
9670
  },
9689
- [activeConversationIdRef, previewMode, sessionEngine]
9671
+ [activeConversationIdRef, sessionEngine]
9690
9672
  );
9691
9673
  return {
9692
9674
  editQueuedPrompt,
@@ -9900,7 +9882,6 @@ function useAgentGUIGoalControlActions(input) {
9900
9882
  );
9901
9883
  const goalControl = useCallback18(
9902
9884
  (action, objective, submittedDraftScopeKey) => {
9903
- if (input.previewMode) return;
9904
9885
  const agentSessionId = input.activeConversationIdRef.current;
9905
9886
  if (!agentSessionId) return;
9906
9887
  const submittedDraftSnapshot = submittedDraftScopeKey ? {
@@ -9951,7 +9932,6 @@ function useAgentGUIGoalControlActions(input) {
9951
9932
  input.agentActivityRuntime,
9952
9933
  input.draftByScopeKeyRef,
9953
9934
  input.isCurrentConversation,
9954
- input.previewMode,
9955
9935
  input.setDetailError,
9956
9936
  input.setDraftByScopeKey,
9957
9937
  input.setGoalClearNoticeSequence,
@@ -10003,7 +9983,6 @@ function useAgentGUISubmitInteractionActions(input) {
10003
9983
  isSessionMarkedNonResumable,
10004
9984
  persistActiveConversation,
10005
9985
  planActionsRef,
10006
- previewMode,
10007
9986
  promptImagesSupported,
10008
9987
  optimisticGoalControl,
10009
9988
  sessionEngine,
@@ -10025,7 +10004,6 @@ function useAgentGUISubmitInteractionActions(input) {
10025
10004
  draftByScopeKeyRef,
10026
10005
  isCurrentConversation,
10027
10006
  optimisticGoalControl,
10028
- previewMode,
10029
10007
  sessionEngine,
10030
10008
  setDetailError,
10031
10009
  setDraftByScopeKey,
@@ -10214,9 +10192,6 @@ function useAgentGUISubmitInteractionActions(input) {
10214
10192
  );
10215
10193
  const submitPrompt = useCallback19(
10216
10194
  (content, displayPrompt, options) => {
10217
- if (previewMode) {
10218
- return;
10219
- }
10220
10195
  const agentSessionId = activeConversationIdRef.current;
10221
10196
  const normalizedContent = normalizeAgentPromptContentBlocks(content);
10222
10197
  if (normalizedContent.length === 0) {
@@ -10342,7 +10317,6 @@ function useAgentGUISubmitInteractionActions(input) {
10342
10317
  agentActivityRuntime,
10343
10318
  beginOptimisticGoalControl,
10344
10319
  conversationListQuery,
10345
- previewMode,
10346
10320
  promptImagesSupported,
10347
10321
  goalControl,
10348
10322
  persistActiveConversation,
@@ -11863,7 +11837,7 @@ function useAgentGUIConversationPresentation(input) {
11863
11837
  input.workspacePath
11864
11838
  ]);
11865
11839
  useEffect9(() => {
11866
- if (input.previewMode || input.agentTargetsLoading || !input.activeConversationId) {
11840
+ if (input.agentTargetsLoading || !input.activeConversationId) {
11867
11841
  return;
11868
11842
  }
11869
11843
  const summary = resolveConversationSummaryById(
@@ -11918,7 +11892,6 @@ function useAgentGUIConversationPresentation(input) {
11918
11892
  input.normalizedExplicitProviderTargets,
11919
11893
  input.normalizedProviderTargets,
11920
11894
  input.onDataChangeRef,
11921
- input.previewMode,
11922
11895
  input.agentTargetsLoading,
11923
11896
  input.shouldUseStaticProviderTargets,
11924
11897
  input.transientConversation
@@ -11951,7 +11924,6 @@ function useAgentGUIProviderHome(input) {
11951
11924
  }, []);
11952
11925
  const resetHomeComposerAgentTargetToDefault = useCallback21(() => {
11953
11926
  const currentInput = inputRef.current;
11954
- if (currentInput.previewMode) return;
11955
11927
  const nextTarget = resolveDefaultHomeComposerTarget();
11956
11928
  if (!nextTarget) return;
11957
11929
  const nextTargetIsExplicit = currentInput.normalizedExplicitProviderTargets.some(
@@ -11998,7 +11970,6 @@ function useAgentGUIProviderHome(input) {
11998
11970
  const selectHomeComposerAgentTarget = useCallback21(
11999
11971
  (selection) => {
12000
11972
  const currentInput = inputRef.current;
12001
- if (currentInput.previewMode) return;
12002
11973
  const nextTarget = resolveAgentGUIAgentTarget({
12003
11974
  agentTargetId: selection.agentTargetId,
12004
11975
  defaultAgentTargetId: currentInput.defaultAgentTargetId,
@@ -12077,7 +12048,7 @@ function useAgentGUIProviderHome(input) {
12077
12048
  []
12078
12049
  );
12079
12050
  useEffect10(() => {
12080
- if (input.previewMode || input.activeConversationId !== null || input.conversationFilter.kind !== "all" || input.homeComposerTargetOverride !== null || agentGUINodeDataHasComposerTarget(input.data) || !input.providerReadinessGates || !input.firstReadyHomeComposerProviderTarget) {
12051
+ if (input.activeConversationId !== null || input.conversationFilter.kind !== "all" || input.homeComposerTargetOverride !== null || agentGUINodeDataHasComposerTarget(input.data) || !input.providerReadinessGates || !input.firstReadyHomeComposerProviderTarget) {
12081
12052
  return;
12082
12053
  }
12083
12054
  const readyTarget = input.firstReadyHomeComposerProviderTarget;
@@ -12104,7 +12075,6 @@ function useAgentGUIProviderHome(input) {
12104
12075
  input.effectiveSelectedProviderTarget,
12105
12076
  input.firstReadyHomeComposerProviderTarget,
12106
12077
  input.homeComposerTargetOverride,
12107
- input.previewMode,
12108
12078
  input.providerReadinessGates,
12109
12079
  selectHomeComposerAgentTarget
12110
12080
  ]);
@@ -12202,38 +12172,6 @@ function useAgentGUIProviderHome(input) {
12202
12172
  },
12203
12173
  [selectHomeComposerAgentTarget]
12204
12174
  );
12205
- useEffect10(() => {
12206
- if (input.previewMode || input.agentTargetsLoading || input.activeConversationId === null || input.conversationFilter.kind !== "agentTarget" || input.isLoadingConversations || !input.conversationListInitialized) {
12207
- return;
12208
- }
12209
- if (input.conversations.some(
12210
- (conversation) => matchesAgentGUIConversationSummaryFilter(
12211
- conversation,
12212
- input.conversationFilter
12213
- )
12214
- )) {
12215
- return;
12216
- }
12217
- const filterAgentTargetId = input.conversationFilter.agentTargetId;
12218
- const target = input.normalizedProviderTargets.find(
12219
- (candidate) => (candidate.agentTargetId?.trim() ?? "") === filterAgentTargetId
12220
- );
12221
- if (!target) return;
12222
- selectHomeComposerAgentTarget({
12223
- provider: target.provider,
12224
- agentTargetId: filterAgentTargetId
12225
- });
12226
- }, [
12227
- input.activeConversationId,
12228
- input.conversationFilter,
12229
- input.conversationListInitialized,
12230
- input.conversations,
12231
- input.isLoadingConversations,
12232
- input.normalizedProviderTargets,
12233
- input.previewMode,
12234
- input.agentTargetsLoading,
12235
- selectHomeComposerAgentTarget
12236
- ]);
12237
12175
  return {
12238
12176
  resetHomeComposerAgentTargetToDefault,
12239
12177
  selectConversationFilterTarget,
@@ -13781,7 +13719,6 @@ function useAgentGUINodeController({
13781
13719
  composerAppendRequest = null,
13782
13720
  openSessionRequest = null,
13783
13721
  prefillPromptRequest = null,
13784
- previewMode = false,
13785
13722
  onDataChange,
13786
13723
  onRememberComposerDefaults,
13787
13724
  onShowMessage
@@ -14068,7 +14005,7 @@ function useAgentGUINodeController({
14068
14005
  }
14069
14006
  };
14070
14007
  void loadUserProjects();
14071
- const unsubscribe = previewMode ? void 0 : api?.subscribe?.(() => {
14008
+ const unsubscribe = api?.subscribe?.(() => {
14072
14009
  setIsUserProjectMutationPending(
14073
14010
  readAgentGUIUserProjectMutationPending(api)
14074
14011
  );
@@ -14080,7 +14017,6 @@ function useAgentGUINodeController({
14080
14017
  };
14081
14018
  }, [
14082
14019
  agentHostApi.userProjects,
14083
- previewMode,
14084
14020
  setIsUserProjectMutationPending,
14085
14021
  setUserProjectsSnapshot
14086
14022
  ]);
@@ -14155,9 +14091,6 @@ function useAgentGUINodeController({
14155
14091
  [agentActivityRuntime, workspaceId]
14156
14092
  );
14157
14093
  useEffect13(() => {
14158
- if (previewMode) {
14159
- return;
14160
- }
14161
14094
  if (!hasLoadedConversations) {
14162
14095
  return;
14163
14096
  }
@@ -14168,12 +14101,7 @@ function useAgentGUINodeController({
14168
14101
  onDataChangeRef.current(
14169
14102
  (current) => current.conversationCount === nextConversationCount ? current : { ...current, conversationCount: nextConversationCount }
14170
14103
  );
14171
- }, [
14172
- conversations.length,
14173
- hasLoadedConversations,
14174
- previewMode,
14175
- transientConversation
14176
- ]);
14104
+ }, [conversations.length, hasLoadedConversations, transientConversation]);
14177
14105
  useAgentGUIConversationRouting({
14178
14106
  activeConversationIdRef,
14179
14107
  conversationListQuery,
@@ -14184,7 +14112,6 @@ function useAgentGUINodeController({
14184
14112
  intent,
14185
14113
  openSessionRequest,
14186
14114
  pendingOpenSessionRequestRef,
14187
- previewMode,
14188
14115
  selectConversation,
14189
14116
  sessionEngine,
14190
14117
  setIntent,
@@ -14208,7 +14135,6 @@ function useAgentGUINodeController({
14208
14135
  loadDraftComposerOptionsRef,
14209
14136
  loadSessionState,
14210
14137
  onComposerDefaultsAuthorityReloadedRef,
14211
- previewMode,
14212
14138
  providerComposerOptions,
14213
14139
  selectedComposerTargetDataRef,
14214
14140
  selectedProjectPath,
@@ -14247,7 +14173,6 @@ function useAgentGUINodeController({
14247
14173
  planActionsRef,
14248
14174
  planImplementationTurnIdRef,
14249
14175
  prefillPromptRequest,
14250
- previewMode,
14251
14176
  reportActiveConversationCleared: reportAgentGUIActiveConversationCleared,
14252
14177
  sessionEngine,
14253
14178
  setUserProjectsSnapshot,
@@ -14287,7 +14212,6 @@ function useAgentGUINodeController({
14287
14212
  currentUserId,
14288
14213
  codeFor: activation.codeFor,
14289
14214
  composerTargetProvider: composerTargetData.provider,
14290
- conversationListInitialized: conversationListState?.initialized === true,
14291
14215
  data,
14292
14216
  defaultAgentTargetId,
14293
14217
  errorFor: activation.errorFor,
@@ -14300,7 +14224,6 @@ function useAgentGUINodeController({
14300
14224
  operationActions,
14301
14225
  persistActiveConversation,
14302
14226
  planImplementationTurnIdRef,
14303
- previewMode,
14304
14227
  providerRailMode,
14305
14228
  providerReadinessGates,
14306
14229
  targetConnectionSource,
@@ -14826,7 +14749,7 @@ var EMPTY_STATUS_STORE = {
14826
14749
  };
14827
14750
  var selectStatusSnapshot = (snapshot) => snapshot;
14828
14751
  function useAgentGUIStatus(input) {
14829
- const { agentStatusController, previewMode, t, viewModel } = input;
14752
+ const { agentStatusController, t, viewModel } = input;
14830
14753
  const agentStatusSnapshot = useEngineSelector(
14831
14754
  agentStatusController ?? EMPTY_STATUS_STORE,
14832
14755
  selectStatusSnapshot
@@ -14895,11 +14818,11 @@ function useAgentGUIStatus(input) {
14895
14818
  );
14896
14819
  const requestStatus = useCallback29(
14897
14820
  (request) => {
14898
- if (!previewMode) {
14821
+ {
14899
14822
  agentStatusController?.open(request);
14900
14823
  }
14901
14824
  },
14902
- [agentStatusController, previewMode]
14825
+ [agentStatusController]
14903
14826
  );
14904
14827
  const closeStatus = useCallback29(
14905
14828
  (reason) => {
@@ -15474,7 +15397,6 @@ import { Fragment as Fragment2, jsx as jsx14, jsxs as jsxs7 } from "react/jsx-ru
15474
15397
  function AgentGUIConfigMenu({
15475
15398
  environmentSetupVisible,
15476
15399
  labels,
15477
- previewMode,
15478
15400
  providerScopedActionsVisible,
15479
15401
  slashStatusLimits,
15480
15402
  slashStatusLimitsLoading,
@@ -15514,7 +15436,6 @@ function AgentGUIConfigMenu({
15514
15436
  "aria-label": labels.agentConfig,
15515
15437
  className: `${AgentGUINode_styles_default.providerRailConfigButton} nodrag tsh-desktop-no-drag`,
15516
15438
  title: labels.agentConfig,
15517
- disabled: previewMode,
15518
15439
  children: /* @__PURE__ */ jsx14(SettingsLinedIcon, { "aria-hidden": "true", width: 18, height: 18 })
15519
15440
  }
15520
15441
  ) }),
@@ -15576,7 +15497,7 @@ function AgentGUIConfigMenu({
15576
15497
  capturedAtUnixMs: slashStatusUsageCapturedAtUnixMs,
15577
15498
  isLoading: slashStatusLimitsLoading,
15578
15499
  didFail: slashStatusUsageDidFail,
15579
- disabled: previewMode || !onAgentUsageRefresh,
15500
+ disabled: !onAgentUsageRefresh,
15580
15501
  onRefresh: () => onAgentUsageRefresh?.(),
15581
15502
  labels: {
15582
15503
  justUpdated: labels.slashStatusUsageJustUpdated,
@@ -15608,7 +15529,6 @@ function AgentGUIConfigMenu({
15608
15529
  type: "button",
15609
15530
  "data-testid": "agent-gui-config-env-setup",
15610
15531
  className: "nodrag flex h-7 w-full items-center gap-2 rounded-[6px] px-2 text-[13px] text-[var(--text-primary)] transition-colors hover:bg-[var(--transparency-hover)] hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--border-focus)] disabled:text-[var(--text-tertiary)] [-webkit-app-region:no-drag]",
15611
- disabled: previewMode,
15612
15532
  onClick: () => onOpenAgentEnvSetup(),
15613
15533
  children: [
15614
15534
  /* @__PURE__ */ jsx14(Wrench, { "aria-hidden": "true", size: 16, strokeWidth: 1.8 }),
@@ -15622,7 +15542,6 @@ function AgentGUIConfigMenu({
15622
15542
  type: "button",
15623
15543
  "data-testid": "agent-gui-config-settings",
15624
15544
  className: "nodrag flex h-7 w-full items-center gap-2 rounded-[6px] px-2 text-[13px] text-[var(--text-primary)] transition-colors hover:bg-[var(--transparency-hover)] hover:text-[var(--text-primary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--border-focus)] disabled:text-[var(--text-tertiary)] [-webkit-app-region:no-drag]",
15625
- disabled: previewMode,
15626
15545
  onClick: () => onOpenAgentSettings(),
15627
15546
  children: [
15628
15547
  /* @__PURE__ */ jsx14(SettingsLinedIcon, { "aria-hidden": "true", width: 16, height: 16 }),
@@ -18462,7 +18381,6 @@ function useComposerLayout({
18462
18381
  projectMissingProbeEnabled,
18463
18382
  showFileMentionPalette,
18464
18383
  showFloatingCommandMenu,
18465
- previewMode,
18466
18384
  promptTips,
18467
18385
  promptTipsPrefix,
18468
18386
  composerSettings,
@@ -18493,10 +18411,6 @@ function useComposerLayout({
18493
18411
  "--agent-gui-prompt-tip-cycle-duration": `${promptTips.length * PROMPT_TIP_CYCLE_STEP_MS}ms`
18494
18412
  } : void 0;
18495
18413
  useLayoutEffect2(() => {
18496
- if (previewMode) {
18497
- setIsPromptTipOverflowing(false);
18498
- return;
18499
- }
18500
18414
  if (!activePromptTipId) {
18501
18415
  setIsPromptTipOverflowing(false);
18502
18416
  return;
@@ -18517,7 +18431,7 @@ function useComposerLayout({
18517
18431
  return () => {
18518
18432
  resizeObserver?.disconnect();
18519
18433
  };
18520
- }, [activePromptTipId, activePromptTipText, previewMode]);
18434
+ }, [activePromptTipId, activePromptTipText]);
18521
18435
  const measureDockComposer = useCallback33(() => {
18522
18436
  composerMeasurementFrameRef.current = null;
18523
18437
  if (isHeroLayout) {
@@ -20242,7 +20156,6 @@ import { useMemo as useMemo27 } from "react";
20242
20156
  function useComposerProviderTargets(input) {
20243
20157
  const {
20244
20158
  layoutMode,
20245
- previewMode,
20246
20159
  provider,
20247
20160
  agentTargets,
20248
20161
  handoffAgentTargets,
@@ -20298,7 +20211,7 @@ function useComposerProviderTargets(input) {
20298
20211
  const providerSelectDisabled = providerSelectReadonly || composerControlsHardDisabled || inputDisabled;
20299
20212
  const handoffDisabled = composerControlsHardDisabled || inputDisabled || !onHandoffConversation || handoffMenuTargets.length === 0;
20300
20213
  const showProviderSelect = !isHeroLayout && selectedProviderSwitchTarget !== null && providerMenuTargets.length > 0;
20301
- const showHandoffSelect = showProviderSelect && providerSelectReadonly && !previewMode;
20214
+ const showHandoffSelect = showProviderSelect && providerSelectReadonly;
20302
20215
  return {
20303
20216
  composerClassName,
20304
20217
  effectiveHandoffLabel,
@@ -21358,7 +21271,6 @@ function AgentQueuedPromptText({
21358
21271
  className: "agent-gui-node__composer-queued-prompt-markdown",
21359
21272
  inline: true,
21360
21273
  onLinkClick,
21361
- previewMode: true,
21362
21274
  workspaceAppIcons
21363
21275
  }
21364
21276
  )
@@ -21627,7 +21539,6 @@ function AgentQueuedPromptPanel({
21627
21539
 
21628
21540
  // agent-gui/agentGuiNode/AgentComposerSettingsMenus.tsx
21629
21541
  import { Fragment as Fragment9, useEffect as useEffect21, useState as useState17 } from "react";
21630
- import { ChevronDown as ChevronDown3 } from "lucide-react";
21631
21542
  import { prepareWorkspaceUserProjectSelection } from "@tutti-os/workspace-user-project/core";
21632
21543
  import {
21633
21544
  Select,
@@ -22390,7 +22301,6 @@ function ComposerOptionInfoTooltip({
22390
22301
  function AgentModelReasoningDropdown({
22391
22302
  composerSettings,
22392
22303
  disabled = false,
22393
- previewMode = false,
22394
22304
  labels,
22395
22305
  modelHistoryTargetId = null,
22396
22306
  onSettingsChange
@@ -22501,9 +22411,6 @@ function AgentModelReasoningDropdown({
22501
22411
  ]
22502
22412
  }
22503
22413
  );
22504
- if (previewMode) {
22505
- return trigger;
22506
- }
22507
22414
  return /* @__PURE__ */ jsxs18(DropdownMenu3, { open: menuOpen, onOpenChange: handleMenuOpenChange, children: [
22508
22415
  isModelLoading ? (
22509
22416
  // The trigger is disabled while loading, so pointer events never reach
@@ -22576,7 +22483,7 @@ function AgentModelReasoningDropdown({
22576
22483
  options: menu.model.favoriteOptions,
22577
22484
  selectedValue: menu.model.selectedValue,
22578
22485
  descriptionPresentation: modelDescriptionPresentation,
22579
- tooltipsEnabled: !previewMode,
22486
+ tooltipsEnabled: true,
22580
22487
  favoriteValues: favoriteValueSet,
22581
22488
  onToggleFavorite: handleToggleFavoriteModel,
22582
22489
  onSelect: applyModelSelection
@@ -22598,7 +22505,7 @@ function AgentModelReasoningDropdown({
22598
22505
  options: menu.model.recentOptions,
22599
22506
  selectedValue: menu.model.selectedValue,
22600
22507
  descriptionPresentation: modelDescriptionPresentation,
22601
- tooltipsEnabled: !previewMode,
22508
+ tooltipsEnabled: true,
22602
22509
  favoriteValues: favoriteValueSet,
22603
22510
  onToggleFavorite: handleToggleFavoriteModel,
22604
22511
  onSelect: applyModelSelection
@@ -22614,7 +22521,7 @@ function AgentModelReasoningDropdown({
22614
22521
  options: group.options,
22615
22522
  selectedValue: menu.model.selectedValue,
22616
22523
  descriptionPresentation: modelDescriptionPresentation,
22617
- tooltipsEnabled: !previewMode,
22524
+ tooltipsEnabled: true,
22618
22525
  favoriteValues: favoriteValueSet,
22619
22526
  onToggleFavorite: handleToggleFavoriteModel,
22620
22527
  onSelect: applyModelSelection
@@ -22626,7 +22533,7 @@ function AgentModelReasoningDropdown({
22626
22533
  options: menu.model.options,
22627
22534
  selectedValue: menu.model.selectedValue,
22628
22535
  descriptionPresentation: modelDescriptionPresentation,
22629
- tooltipsEnabled: !previewMode,
22536
+ tooltipsEnabled: true,
22630
22537
  favoriteValues: favoriteValueSet,
22631
22538
  onToggleFavorite: handleToggleFavoriteModel,
22632
22539
  onSelect: applyModelSelection
@@ -22664,7 +22571,7 @@ function AgentModelReasoningDropdown({
22664
22571
  {
22665
22572
  options: menu.reasoning.options,
22666
22573
  selectedValue: menu.reasoning.selectedValue,
22667
- tooltipsEnabled: !previewMode,
22574
+ tooltipsEnabled: true,
22668
22575
  onSelect: (value) => applySettingsChange({ reasoningEffort: value })
22669
22576
  }
22670
22577
  )
@@ -22694,7 +22601,7 @@ function AgentModelReasoningDropdown({
22694
22601
  options: menu.speed.options,
22695
22602
  selectedValue: menu.speed.selectedValue,
22696
22603
  descriptionPresentation: "inline",
22697
- tooltipsEnabled: !previewMode,
22604
+ tooltipsEnabled: true,
22698
22605
  onSelect: (value) => applySettingsChange({ speed: value })
22699
22606
  }
22700
22607
  )
@@ -22896,17 +22803,10 @@ function ComposerModelOptionTooltip({
22896
22803
 
22897
22804
  // agent-gui/agentGuiNode/AgentComposerProjectMenu.tsx
22898
22805
  import { useMemo as useMemo28 } from "react";
22899
- import { ChevronDown as ChevronDown2 } from "lucide-react";
22900
22806
  import {
22901
- WorkspaceUserProjectSelect,
22902
- resolveWorkspaceUserProjectSelectLabels
22807
+ WorkspaceUserProjectSelect
22903
22808
  } from "@tutti-os/workspace-user-project/ui";
22904
- import {
22905
- FolderIcon,
22906
- NewWorkspaceLinedIcon,
22907
- NoWorkspaceLinedIcon,
22908
- cn as cn3
22909
- } from "@tutti-os/ui-system";
22809
+ import { NewWorkspaceLinedIcon, cn as cn3 } from "@tutti-os/ui-system";
22910
22810
 
22911
22811
  // agent-gui/agentGuiNode/agentGuiUserProjectSelectionApi.ts
22912
22812
  function createAgentGUIUserProjectSelectionApi({
@@ -22923,16 +22823,11 @@ function createAgentGUIUserProjectSelectionApi({
22923
22823
  }
22924
22824
 
22925
22825
  // agent-gui/agentGuiNode/AgentComposerProjectMenu.tsx
22926
- import { jsx as jsx26, jsxs as jsxs19 } from "react/jsx-runtime";
22927
- function basenameProjectPath(path) {
22928
- const normalized = path.trim().replaceAll("\\", "/").replace(/\/+$/, "");
22929
- return normalized.split("/").filter(Boolean).at(-1) ?? path;
22930
- }
22826
+ import { jsx as jsx26 } from "react/jsx-runtime";
22931
22827
  function AgentProjectDropdown({
22932
22828
  composerSettings,
22933
22829
  labels,
22934
22830
  i18n,
22935
- previewMode = false,
22936
22831
  selectProjectDirectory,
22937
22832
  onDismissAutoFocus,
22938
22833
  onProjectMissingChange,
@@ -22940,55 +22835,13 @@ function AgentProjectDropdown({
22940
22835
  }) {
22941
22836
  "use memo";
22942
22837
  const agentHostApi = useAgentHostApi();
22943
- const resolvedLabels = useMemo28(
22944
- () => resolveWorkspaceUserProjectSelectLabels(i18n, labels),
22945
- [i18n, labels]
22946
- );
22947
22838
  const userProjectApi = useMemo28(
22948
22839
  () => createAgentGUIUserProjectSelectionApi({
22949
22840
  selectProjectDirectory,
22950
- userProjects: previewMode ? null : agentHostApi.userProjects
22841
+ userProjects: agentHostApi.userProjects
22951
22842
  }),
22952
- [agentHostApi.userProjects, previewMode, selectProjectDirectory]
22843
+ [agentHostApi.userProjects, selectProjectDirectory]
22953
22844
  );
22954
- if (previewMode) {
22955
- const selectedPath = composerSettings.selectedProjectPath?.trim() ?? "";
22956
- const triggerLabel = selectedPath ? basenameProjectPath(selectedPath) : resolvedLabels.noProject;
22957
- return /* @__PURE__ */ jsxs19(
22958
- "button",
22959
- {
22960
- type: "button",
22961
- "aria-label": composerSettings.projectLocked ? resolvedLabels.projectLocked : resolvedLabels.projectLabel,
22962
- className: cn3(
22963
- "w-auto max-w-full",
22964
- AgentGUINode_styles_default.composerMenuTrigger,
22965
- "text-[var(--agent-gui-text-tertiary)]"
22966
- ),
22967
- children: [
22968
- /* @__PURE__ */ jsxs19(
22969
- "span",
22970
- {
22971
- className: "workspace-user-project-trigger-label",
22972
- "data-workspace-user-project-trigger-label": "true",
22973
- children: [
22974
- selectedPath ? /* @__PURE__ */ jsx26(FolderIcon, { "aria-hidden": true, className: "shrink-0", size: 15 }) : /* @__PURE__ */ jsx26(
22975
- NoWorkspaceLinedIcon,
22976
- {
22977
- "aria-hidden": true,
22978
- className: "shrink-0",
22979
- "data-agent-project-trigger-no-workspace-icon": "true",
22980
- size: 15
22981
- }
22982
- ),
22983
- /* @__PURE__ */ jsx26("span", { className: "min-w-0 truncate", children: triggerLabel })
22984
- ]
22985
- }
22986
- ),
22987
- /* @__PURE__ */ jsx26(ChevronDown2, { "aria-hidden": "true", className: "shrink-0", size: 16 })
22988
- ]
22989
- }
22990
- );
22991
- }
22992
22845
  return /* @__PURE__ */ jsx26(
22993
22846
  WorkspaceUserProjectSelect,
22994
22847
  {
@@ -23028,13 +22881,12 @@ function AgentProjectDropdown({
23028
22881
  }
23029
22882
 
23030
22883
  // agent-gui/agentGuiNode/AgentComposerSettingsMenus.tsx
23031
- import { jsx as jsx27, jsxs as jsxs20 } from "react/jsx-runtime";
22884
+ import { jsx as jsx27, jsxs as jsxs19 } from "react/jsx-runtime";
23032
22885
  function AgentPermissionModeDropdown({
23033
22886
  composerSettings,
23034
22887
  disabled = false,
23035
22888
  disabledTooltip,
23036
22889
  onLinkAction,
23037
- previewMode = false,
23038
22890
  provider,
23039
22891
  labels,
23040
22892
  onSettingsChange
@@ -23076,27 +22928,6 @@ function AgentPermissionModeDropdown({
23076
22928
  }
23077
22929
  commitPermissionModeId(permissionModeId);
23078
22930
  };
23079
- const trigger = /* @__PURE__ */ jsxs20(
23080
- "button",
23081
- {
23082
- type: "button",
23083
- className: cn4(
23084
- "w-auto max-w-full",
23085
- AgentGUINode_styles_default.composerMenuTrigger,
23086
- selectDisabled && "cursor-not-allowed text-[var(--agent-gui-text-tertiary)] opacity-60 hover:text-[var(--agent-gui-text-tertiary)]",
23087
- composerSettings.isSettingsLoading && "animate-pulse"
23088
- ),
23089
- "aria-label": labels.permissionLabel,
23090
- "data-permission-tone": triggerTone,
23091
- children: [
23092
- /* @__PURE__ */ jsx27("span", { className: "flex min-w-0 flex-1 items-center", children: /* @__PURE__ */ jsx27("span", { className: "truncate", children: triggerLabel }) }),
23093
- /* @__PURE__ */ jsx27(ChevronDown3, { "aria-hidden": "true", className: "shrink-0", size: 16 })
23094
- ]
23095
- }
23096
- );
23097
- if (previewMode) {
23098
- return trigger;
23099
- }
23100
22931
  const selectTrigger = /* @__PURE__ */ jsx27(
23101
22932
  SelectTrigger,
23102
22933
  {
@@ -23111,8 +22942,8 @@ function AgentPermissionModeDropdown({
23111
22942
  children: /* @__PURE__ */ jsx27("span", { className: "flex min-w-0 flex-1 items-center", children: /* @__PURE__ */ jsx27("span", { className: "truncate", children: triggerLabel }) })
23112
22943
  }
23113
22944
  );
23114
- return /* @__PURE__ */ jsxs20(Fragment9, { children: [
23115
- /* @__PURE__ */ jsxs20(
22945
+ return /* @__PURE__ */ jsxs19(Fragment9, { children: [
22946
+ /* @__PURE__ */ jsxs19(
23116
22947
  Select,
23117
22948
  {
23118
22949
  open: isSelectOpen,
@@ -23125,7 +22956,7 @@ function AgentPermissionModeDropdown({
23125
22956
  // Disabled controls do not receive pointer events. Target the tooltip
23126
22957
  // at a focusable wrapper span so hover/focus reliably surfaces the
23127
22958
  // reason, both during loading and while a turn is active.
23128
- /* @__PURE__ */ jsx27(TooltipProvider2, { delayDuration: 120, children: /* @__PURE__ */ jsxs20(Tooltip3, { children: [
22959
+ /* @__PURE__ */ jsx27(TooltipProvider2, { delayDuration: 120, children: /* @__PURE__ */ jsxs19(Tooltip3, { children: [
23129
22960
  /* @__PURE__ */ jsx27(TooltipTrigger3, { asChild: true, children: /* @__PURE__ */ jsx27("span", { className: "inline-flex", tabIndex: 0, children: selectTrigger }) }),
23130
22961
  /* @__PURE__ */ jsx27(TooltipContent3, { side: "top", children: selectDisabledTooltip })
23131
22962
  ] }) })
@@ -23147,13 +22978,13 @@ function AgentPermissionModeDropdown({
23147
22978
  value: option.value,
23148
22979
  disabled: selectDisabled,
23149
22980
  className: cn4(AgentGUINode_styles_default.composerMenuItem, "group/composer-option"),
23150
- children: /* @__PURE__ */ jsxs20("span", { className: "flex min-w-0 items-center gap-1.5", children: [
22981
+ children: /* @__PURE__ */ jsxs19("span", { className: "flex min-w-0 items-center gap-1.5", children: [
23151
22982
  /* @__PURE__ */ jsx27("span", { className: "min-w-0 truncate", children: option.label }),
23152
22983
  option.description ? /* @__PURE__ */ jsx27(
23153
22984
  ComposerOptionInfoTooltip,
23154
22985
  {
23155
22986
  description: option.description,
23156
- tooltipsEnabled: !previewMode
22987
+ tooltipsEnabled: true
23157
22988
  }
23158
22989
  ) : null
23159
22990
  ] })
@@ -23270,11 +23101,10 @@ function normalizePermissionModeValue(value) {
23270
23101
  // agent-gui/agentGuiNode/AgentFullAccessRestoredWarning.tsx
23271
23102
  import { useState as useState18 } from "react";
23272
23103
  import { ShieldAlert, X as X2 } from "lucide-react";
23273
- import { jsx as jsx28, jsxs as jsxs21 } from "react/jsx-runtime";
23104
+ import { jsx as jsx28, jsxs as jsxs20 } from "react/jsx-runtime";
23274
23105
  function AgentFullAccessRestoredWarning({
23275
23106
  isSettingsLoading,
23276
23107
  permissionModeId,
23277
- previewMode,
23278
23108
  provider,
23279
23109
  visibleOnHome
23280
23110
  }) {
@@ -23282,11 +23112,11 @@ function AgentFullAccessRestoredWarning({
23282
23112
  const [dismissedForCurrentOpen, setDismissedForCurrentOpen] = useState18(false);
23283
23113
  const acknowledged = isCodexFullAccessWarningAcknowledged();
23284
23114
  const normalizedPermissionModeId = permissionModeId?.trim() ?? "";
23285
- const shouldShow = visibleOnHome && !previewMode && !isSettingsLoading && !dismissedForCurrentOpen && !acknowledged && requiresFullAccessSafetyConfirmation(provider, normalizedPermissionModeId);
23115
+ const shouldShow = visibleOnHome && !isSettingsLoading && !dismissedForCurrentOpen && !acknowledged && requiresFullAccessSafetyConfirmation(provider, normalizedPermissionModeId);
23286
23116
  if (!shouldShow) {
23287
23117
  return null;
23288
23118
  }
23289
- return /* @__PURE__ */ jsxs21(
23119
+ return /* @__PURE__ */ jsxs20(
23290
23120
  "section",
23291
23121
  {
23292
23122
  className: cn(
@@ -23298,7 +23128,7 @@ function AgentFullAccessRestoredWarning({
23298
23128
  role: "alert",
23299
23129
  children: [
23300
23130
  /* @__PURE__ */ jsx28(ShieldAlert, { "aria-hidden": "true", className: "size-5 shrink-0" }),
23301
- /* @__PURE__ */ jsxs21("div", { className: "min-w-[220px] flex-1", children: [
23131
+ /* @__PURE__ */ jsxs20("div", { className: "min-w-[220px] flex-1", children: [
23302
23132
  /* @__PURE__ */ jsx28("p", { className: "m-0 font-semibold leading-[1.35]", children: t("agentHost.agentGui.fullAccessRestoredWarning.title") }),
23303
23133
  /* @__PURE__ */ jsx28("p", { className: "m-0 mt-0.5 text-[13px] leading-[1.45]", children: t("agentHost.agentGui.fullAccessRestoredWarning.description") })
23304
23134
  ] }),
@@ -23948,7 +23778,7 @@ import {
23948
23778
  } from "react";
23949
23779
  import { createPortal as createPortal2 } from "react-dom";
23950
23780
  import { EditorContent } from "@tiptap/react";
23951
- import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
23781
+ import { jsx as jsx29, jsxs as jsxs21 } from "react/jsx-runtime";
23952
23782
  function AgentRichTextEditorSurface({
23953
23783
  className,
23954
23784
  contextMenu,
@@ -23962,7 +23792,7 @@ function AgentRichTextEditorSurface({
23962
23792
  placeholder,
23963
23793
  t
23964
23794
  }) {
23965
- return /* @__PURE__ */ jsxs22(
23795
+ return /* @__PURE__ */ jsxs21(
23966
23796
  "div",
23967
23797
  {
23968
23798
  className: "relative min-w-0",
@@ -23983,7 +23813,7 @@ function AgentRichTextEditorSurface({
23983
23813
  }
23984
23814
  ),
23985
23815
  contextMenu ? createPortal2(
23986
- /* @__PURE__ */ jsxs22(
23816
+ /* @__PURE__ */ jsxs21(
23987
23817
  "div",
23988
23818
  {
23989
23819
  role: "menu",
@@ -24780,7 +24610,7 @@ import {
24780
24610
  Target,
24781
24611
  ZapIcon as ZapIcon2
24782
24612
  } from "lucide-react";
24783
- import { jsx as jsx32, jsxs as jsxs23 } from "react/jsx-runtime";
24613
+ import { jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
24784
24614
  var paletteStyles = {
24785
24615
  palette: "nodrag agent-gui-node__mention-palette flex h-full min-h-0 flex-col gap-0.5 overflow-y-auto px-1 pb-1 pt-2 [-webkit-app-region:no-drag]",
24786
24616
  option: "nodrag relative flex h-7 min-h-7 w-full min-w-0 cursor-pointer select-none items-center gap-2 overflow-hidden rounded-[6px] border-0 bg-transparent px-2.5 py-0 text-left text-[13px] text-[var(--text-primary)] outline-hidden transition-colors duration-200 [-webkit-app-region:no-drag] hover:bg-[var(--transparency-block)] focus-visible:bg-[var(--transparency-block)] focus-visible:outline-none active:bg-[var(--transparency-active)] data-[highlighted]:bg-[var(--transparency-block)] data-[highlighted]:text-[var(--text-primary)] [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
@@ -24838,7 +24668,7 @@ function AgentSlashCommandPalette({
24838
24668
  (entry) => entry.type === "capability"
24839
24669
  );
24840
24670
  const capabilityLoadingInsertIndex = capabilitiesLoading ? capabilityLoadingIndex(entries) : -1;
24841
- const capabilityLoadingNode = capabilitiesLoading ? /* @__PURE__ */ jsxs23(Fragment10, { children: [
24671
+ const capabilityLoadingNode = capabilitiesLoading ? /* @__PURE__ */ jsxs22(Fragment10, { children: [
24842
24672
  !hasCapabilityEntries ? /* @__PURE__ */ jsx32(
24843
24673
  "div",
24844
24674
  {
@@ -24850,12 +24680,12 @@ function AgentSlashCommandPalette({
24850
24680
  children: capabilitiesGroupLabel
24851
24681
  }
24852
24682
  ) : null,
24853
- /* @__PURE__ */ jsxs23("div", { "aria-live": "polite", className: paletteStyles.loading, role: "status", children: [
24683
+ /* @__PURE__ */ jsxs22("div", { "aria-live": "polite", className: paletteStyles.loading, role: "status", children: [
24854
24684
  /* @__PURE__ */ jsx32("span", { "aria-hidden": "true", className: paletteStyles.icon, children: /* @__PURE__ */ jsx32(Spinner3, { size: 12, strokeWidth: 2 }) }),
24855
24685
  /* @__PURE__ */ jsx32("span", { children: capabilitiesLoadingLabel })
24856
24686
  ] })
24857
24687
  ] }, "capability-loading") : null;
24858
- return /* @__PURE__ */ jsxs23("div", { className: paletteStyles.palette, role: "listbox", "aria-label": label, children: [
24688
+ return /* @__PURE__ */ jsxs22("div", { className: paletteStyles.palette, role: "listbox", "aria-label": label, children: [
24859
24689
  entries.map((entry, index) => {
24860
24690
  const isHighlighted = index === highlightedIndex;
24861
24691
  const isDisabled = entry.type === "capability" && entry.disabled === true;
@@ -24879,10 +24709,10 @@ function AgentSlashCommandPalette({
24879
24709
  })
24880
24710
  }
24881
24711
  ) : null;
24882
- return /* @__PURE__ */ jsxs23(Fragment10, { children: [
24712
+ return /* @__PURE__ */ jsxs22(Fragment10, { children: [
24883
24713
  capabilityLoadingInsertIndex === index ? capabilityLoadingNode : null,
24884
24714
  groupHeader,
24885
- /* @__PURE__ */ jsxs23(
24715
+ /* @__PURE__ */ jsxs22(
24886
24716
  "div",
24887
24717
  {
24888
24718
  ref: isHighlighted ? highlightedOptionRef : null,
@@ -24917,8 +24747,8 @@ function AgentSlashCommandPalette({
24917
24747
  },
24918
24748
  children: [
24919
24749
  entryIcon ? /* @__PURE__ */ jsx32("span", { "aria-hidden": "true", className: paletteStyles.icon, children: entryIcon }) : null,
24920
- /* @__PURE__ */ jsxs23("span", { className: paletteStyles.copy, children: [
24921
- /* @__PURE__ */ jsxs23("span", { className: paletteStyles.name, children: [
24750
+ /* @__PURE__ */ jsxs22("span", { className: paletteStyles.copy, children: [
24751
+ /* @__PURE__ */ jsxs22("span", { className: paletteStyles.name, children: [
24922
24752
  /* @__PURE__ */ jsx32("span", { className: paletteStyles.primaryName, children: entry.type === "command" ? entry.primaryLabel ?? entry.label : entry.label }),
24923
24753
  entry.type === "command" && entry.secondaryLabel ? /* @__PURE__ */ jsx32("span", { className: paletteStyles.secondaryName, children: entry.secondaryLabel }) : null
24924
24754
  ] }),
@@ -25118,7 +24948,7 @@ var AgentReviewBranchController = class {
25118
24948
  };
25119
24949
 
25120
24950
  // agent-gui/agentGuiNode/AgentReviewPickerPanel.tsx
25121
- import { jsx as jsx33, jsxs as jsxs24 } from "react/jsx-runtime";
24951
+ import { jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
25122
24952
  var reviewMenuStyles = {
25123
24953
  panel: "agent-gui-node__slash-status-panel nodrag flex max-h-[280px] flex-col gap-1 overflow-hidden [-webkit-app-region:no-drag]",
25124
24954
  search: "nodrag h-8 w-full shrink-0 rounded-[6px] border-0 bg-transparent px-2.5 text-[11px] leading-4 text-[var(--text-primary)] placeholder:text-[var(--text-secondary)] focus-visible:outline-none [-webkit-app-region:no-drag]",
@@ -25314,7 +25144,7 @@ function AgentReviewPickerPanel({
25314
25144
  },
25315
25145
  [entries, safeHighlightedIndex, stage, query, onClose, goBackToRoot]
25316
25146
  );
25317
- return /* @__PURE__ */ jsxs24(
25147
+ return /* @__PURE__ */ jsxs23(
25318
25148
  "section",
25319
25149
  {
25320
25150
  className: reviewMenuStyles.panel,
@@ -25366,7 +25196,7 @@ function AgentReviewPickerPanel({
25366
25196
  entry.onSelect();
25367
25197
  }
25368
25198
  },
25369
- children: /* @__PURE__ */ jsxs24("span", { className: reviewMenuStyles.copy, children: [
25199
+ children: /* @__PURE__ */ jsxs23("span", { className: reviewMenuStyles.copy, children: [
25370
25200
  /* @__PURE__ */ jsx33("span", { className: reviewMenuStyles.name, children: entry.label }),
25371
25201
  entry.description ? /* @__PURE__ */ jsx33("span", { className: reviewMenuStyles.description, children: entry.description }) : null
25372
25202
  ] })
@@ -25646,7 +25476,7 @@ var ComposerFloatingMenuSurface = forwardRef4(function ComposerFloatingMenuSurfa
25646
25476
  // agent-gui/agentGuiNode/composer/ComposerDraftAttachments.tsx
25647
25477
  import { FileText, X as X3 } from "lucide-react";
25648
25478
  import { Spinner as Spinner4 } from "@tutti-os/ui-system";
25649
- import { Fragment as Fragment11, jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
25479
+ import { Fragment as Fragment11, jsx as jsx35, jsxs as jsxs24 } from "react/jsx-runtime";
25650
25480
  function ComposerDraftAttachments({
25651
25481
  draftImages,
25652
25482
  draftLargeTexts: visibleDraftLargeTexts,
@@ -25656,7 +25486,7 @@ function ComposerDraftAttachments({
25656
25486
  onExpandLargeText: expandDraftLargeTextToPrompt
25657
25487
  }) {
25658
25488
  const labels = { removeMention: removeLabel };
25659
- return /* @__PURE__ */ jsxs25(Fragment11, { children: [
25489
+ return /* @__PURE__ */ jsxs24(Fragment11, { children: [
25660
25490
  draftImages.length > 0 ? /* @__PURE__ */ jsx35(
25661
25491
  "div",
25662
25492
  {
@@ -25689,7 +25519,7 @@ function ComposerDraftAttachments({
25689
25519
  "agentHost.agentGui.pastedTextRestoreToComposer"
25690
25520
  );
25691
25521
  const canRestore = !item.uploading && item.text.trim() !== "";
25692
- return /* @__PURE__ */ jsxs25(
25522
+ return /* @__PURE__ */ jsxs24(
25693
25523
  "div",
25694
25524
  {
25695
25525
  className: cn(
@@ -25700,7 +25530,7 @@ function ComposerDraftAttachments({
25700
25530
  "data-uploading": item.uploading ? "true" : void 0,
25701
25531
  "data-upload-error": item.uploadError ? "true" : void 0,
25702
25532
  children: [
25703
- /* @__PURE__ */ jsxs25(
25533
+ /* @__PURE__ */ jsxs24(
25704
25534
  "button",
25705
25535
  {
25706
25536
  type: "button",
@@ -25719,7 +25549,7 @@ function ComposerDraftAttachments({
25719
25549
  testId: "agent-gui-composer-large-text-upload-spinner"
25720
25550
  }
25721
25551
  ) : /* @__PURE__ */ jsx35(FileText, { size: 16, strokeWidth: 2, "aria-hidden": true }) }),
25722
- /* @__PURE__ */ jsxs25("span", { className: "flex min-w-0 flex-col", children: [
25552
+ /* @__PURE__ */ jsxs24("span", { className: "flex min-w-0 flex-col", children: [
25723
25553
  /* @__PURE__ */ jsx35("span", { className: "max-w-[200px] truncate font-medium text-[var(--text-primary)]", children: preview }),
25724
25554
  /* @__PURE__ */ jsx35("span", { className: "max-w-[200px] truncate text-[11px] text-[var(--text-tertiary)]", children: attachmentStatus })
25725
25555
  ] })
@@ -25792,7 +25622,7 @@ function resolveHandoffTargetOwnershipLabel(target, labels) {
25792
25622
  }
25793
25623
 
25794
25624
  // agent-gui/agentGuiNode/composer/AgentHandoffMenu.tsx
25795
- import { jsx as jsx36, jsxs as jsxs26 } from "react/jsx-runtime";
25625
+ import { jsx as jsx36, jsxs as jsxs25 } from "react/jsx-runtime";
25796
25626
  function AgentHandoffMenu({
25797
25627
  align = "start",
25798
25628
  contentClassName,
@@ -25843,7 +25673,7 @@ function AgentHandoffMenu({
25843
25673
  "w-auto max-w-[180px] [&>svg:last-child]:hidden",
25844
25674
  triggerClassName
25845
25675
  ),
25846
- children: /* @__PURE__ */ jsxs26("span", { className: "flex min-w-0 items-center gap-1.5", children: [
25676
+ children: /* @__PURE__ */ jsxs25("span", { className: "flex min-w-0 items-center gap-1.5", children: [
25847
25677
  /* @__PURE__ */ jsx36(
25848
25678
  AgentComposerHandoffIcon,
25849
25679
  {
@@ -25868,7 +25698,7 @@ function AgentHandoffMenu({
25868
25698
  onPointerDown: isolateTriggerEvents ? (event) => {
25869
25699
  event.stopPropagation();
25870
25700
  } : void 0,
25871
- children: /* @__PURE__ */ jsxs26(
25701
+ children: /* @__PURE__ */ jsxs25(
25872
25702
  Select2,
25873
25703
  {
25874
25704
  value: HANDOFF_SELECT_IDLE_VALUE,
@@ -25883,7 +25713,7 @@ function AgentHandoffMenu({
25883
25713
  onSelect(target);
25884
25714
  },
25885
25715
  children: [
25886
- tooltip ? /* @__PURE__ */ jsx36(TooltipProvider3, { delayDuration: 120, children: /* @__PURE__ */ jsxs26(Tooltip4, { children: [
25716
+ tooltip ? /* @__PURE__ */ jsx36(TooltipProvider3, { delayDuration: 120, children: /* @__PURE__ */ jsxs25(Tooltip4, { children: [
25887
25717
  /* @__PURE__ */ jsx36(TooltipTrigger4, { asChild: true, children: trigger }),
25888
25718
  /* @__PURE__ */ jsx36(TooltipContent4, { side: "top", children: tooltip })
25889
25719
  ] }) }) : trigger,
@@ -25911,8 +25741,8 @@ function AgentHandoffMenu({
25911
25741
  value: target.targetId,
25912
25742
  className: cn(AgentGUINode_styles_default.composerMenuItem, "gap-2 py-1.5"),
25913
25743
  disabled: target.disabled === true,
25914
- children: /* @__PURE__ */ jsxs26("span", { className: "flex min-w-0 items-center gap-2", children: [
25915
- /* @__PURE__ */ jsxs26("span", { className: "relative size-5 shrink-0", children: [
25744
+ children: /* @__PURE__ */ jsxs25("span", { className: "flex min-w-0 items-center gap-2", children: [
25745
+ /* @__PURE__ */ jsxs25("span", { className: "relative size-5 shrink-0", children: [
25916
25746
  /* @__PURE__ */ jsx36(
25917
25747
  "img",
25918
25748
  {
@@ -25932,9 +25762,9 @@ function AgentHandoffMenu({
25932
25762
  }
25933
25763
  ) : null
25934
25764
  ] }),
25935
- /* @__PURE__ */ jsxs26("span", { className: "flex min-w-0 flex-col gap-0.5", children: [
25765
+ /* @__PURE__ */ jsxs25("span", { className: "flex min-w-0 flex-col gap-0.5", children: [
25936
25766
  /* @__PURE__ */ jsx36("span", { className: "min-w-0 truncate", children: target.label }),
25937
- ownershipLabel || deviceSourceLabel ? /* @__PURE__ */ jsxs26("span", { className: "flex min-w-0 items-center gap-1.5 truncate text-[11px] leading-none text-[var(--agent-gui-text-secondary)]", children: [
25767
+ ownershipLabel || deviceSourceLabel ? /* @__PURE__ */ jsxs25("span", { className: "flex min-w-0 items-center gap-1.5 truncate text-[11px] leading-none text-[var(--agent-gui-text-secondary)]", children: [
25938
25768
  ownershipLabel ? /* @__PURE__ */ jsx36("span", { children: ownershipLabel }) : null,
25939
25769
  deviceSourceLabel ? /* @__PURE__ */ jsx36("span", { children: deviceSourceLabel }) : null
25940
25770
  ] }) : null
@@ -25961,7 +25791,7 @@ import { Switch } from "@tutti-os/ui-system";
25961
25791
  var tutti_mode_lined_default = "data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M6.2525%202.29982C7.33705%201.67365%208.42639%201.76315%209.30719%202.19923C10.1442%202.61379%2010.7869%203.32997%2011.1783%204.00782C11.182%204.01417%2011.1865%204.02092%2011.19%204.02735L14.6041%2010.2568C14.8975%209.82469%2015.2682%209.41791%2015.6949%209.08398C16.562%208.40562%2017.7709%207.94423%2019.1187%208.30273C20.0625%208.55396%2020.6751%209.17174%2020.9293%2010.0039C21.1566%2010.7488%2021.0723%2011.5815%2020.9039%2012.3262C20.5644%2013.8263%2019.7411%2015.5353%2019.1636%2016.7519C18.1461%2018.8959%2016.5837%2020.9345%2014.6656%2022.2089C12.7211%2023.5006%2010.3591%2024.0285%207.92243%2022.9794C6.53406%2022.3816%205.11984%2021.3547%204.02984%2020.1396C2.95362%2018.9398%202.08969%2017.4375%202.0191%2015.8711C2.00256%2015.5011%202.07428%2015.0786%202.21051%2014.707C2.32007%2014.4085%202.5283%2013.9859%202.9107%2013.6933L3.08551%2013.5761C3.52116%2013.3247%204.00247%2013.2136%204.47613%2013.2246C4.56029%2012.337%205.00243%2011.5023%205.92926%2010.9639C6.24585%2010.78%206.59784%2010.6401%206.96442%2010.5586L5.18121%207.4707C4.77623%206.76922%204.50913%205.83092%204.59723%204.89063C4.68916%203.91106%205.17521%202.92193%206.2525%202.29982ZM8.4195%203.99219C8.0585%203.81354%207.68432%203.78292%207.2525%204.03223C6.81383%204.28569%206.62867%204.64873%206.58844%205.07715C6.54458%205.54507%206.6839%206.07275%206.91364%206.4707L9.6861%2011.2724C9.72481%2011.3395%209.75419%2011.4094%209.77594%2011.4805C9.83692%2011.5617%209.89457%2011.649%209.94782%2011.7412C10.2235%2012.2194%2010.0596%2012.8313%209.58161%2013.1074C9.10351%2013.3833%208.49163%2013.219%208.2154%2012.7412C8.13017%2012.5938%208.00116%2012.508%207.78668%2012.4844C7.54655%2012.458%207.22985%2012.5217%206.93414%2012.6933C6.47716%2012.9588%206.21644%2013.6335%206.75055%2014.5586C6.80212%2014.648%206.8383%2014.7422%206.85993%2014.8379C6.88169%2014.9341%206.88921%2015.0325%206.88239%2015.1289C6.88011%2015.1605%206.87591%2015.1924%206.87067%2015.2236C6.84953%2015.3497%206.80398%2015.4712%206.73688%2015.581C6.71999%2015.6086%206.70182%2015.6361%206.68219%2015.6621C6.604%2015.7655%206.50365%2015.8558%206.38434%2015.9248C6.26484%2015.9937%206.13622%2016.0358%206.00739%2016.0517C5.97532%2016.0557%205.94278%2016.0567%205.91071%2016.0576C5.78181%2016.0609%205.65369%2016.0399%205.53375%2015.9951C5.50399%2015.984%205.47451%2015.9719%205.44586%2015.958C5.38803%2015.9299%205.33274%2015.8956%205.28082%2015.8564C5.22884%2015.8172%205.17952%2015.7725%205.13531%2015.7226C5.0915%2015.6731%205.05248%2015.618%205.01813%2015.5586C4.84584%2015.2603%204.44767%2015.1429%204.13824%2015.2851C4.12447%2015.3096%204.10645%2015.3465%204.08844%2015.3955C4.06324%2015.4643%204.04336%2015.542%204.03082%2015.6172C4.01804%2015.6941%204.01585%2015.7518%204.01715%2015.7812C4.05847%2016.6992%204.59721%2017.777%205.5191%2018.8046C6.42748%2019.8172%207.60728%2020.6662%208.71344%2021.1425C10.3938%2021.8659%2012.0425%2021.5504%2013.5592%2020.5429C15.1019%2019.5179%2016.4527%2017.7999%2017.357%2015.8945C17.965%2014.6134%2018.6735%2013.1231%2018.9537%2011.8847C19.0949%2011.2602%2019.0921%2010.8367%2019.0162%2010.5879C18.967%2010.4271%2018.8907%2010.3115%2018.6051%2010.2353C18.0234%2010.0806%2017.4482%2010.2526%2016.9283%2010.6592C16.3901%2011.0803%2016.0271%2011.6697%2015.9146%2012.0888C15.8847%2012.2004%2015.8355%2012.3022%2015.774%2012.3926L15.8941%2012.6133C16.1594%2013.0975%2015.9828%2013.7052%2015.4986%2013.9707C15.0144%2014.236%2014.4067%2014.0583%2014.1412%2013.5742L9.44196%204.99903C9.19845%204.58079%208.82143%204.19137%208.4195%203.99219ZM16.8004%201.13869C16.8688%200.95384%2017.1302%200.953926%2017.1988%201.13869L17.5113%201.98243C17.7695%202.67996%2018.3197%203.22996%2019.0172%203.48829L19.8609%203.80079C20.0458%203.86929%2020.0458%204.13073%2019.8609%204.19922L19.0172%204.51172C18.3197%204.77005%2017.7695%205.32004%2017.5113%206.01758L17.1988%206.86133C17.1302%207.04606%2016.8689%207.04614%2016.8004%206.86133L16.4879%206.01758C16.2296%205.31999%2015.6796%204.76998%2014.982%204.51172L14.1383%204.19922C13.9538%204.13058%2013.9538%203.86944%2014.1383%203.80079L14.982%203.48829C15.6796%203.23003%2016.2296%202.68002%2016.4879%201.98243L16.8004%201.13869Z%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fsvg%3E%0A";
25962
25792
 
25963
25793
  // agent-gui/agentGuiNode/composer/ComposerTuttiModeChip.tsx
25964
- import { jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
25794
+ import { jsx as jsx37, jsxs as jsxs26 } from "react/jsx-runtime";
25965
25795
  function ComposerTuttiModeChip({
25966
25796
  active,
25967
25797
  updating,
@@ -25974,7 +25804,7 @@ function ComposerTuttiModeChip({
25974
25804
  if (!onTuttiModeChange || !tuttiModeSupported) {
25975
25805
  return null;
25976
25806
  }
25977
- return /* @__PURE__ */ jsxs27(
25807
+ return /* @__PURE__ */ jsxs26(
25978
25808
  "label",
25979
25809
  {
25980
25810
  htmlFor: switchId,
@@ -26024,14 +25854,13 @@ function ComposerTuttiModeChip({
26024
25854
  }
26025
25855
 
26026
25856
  // agent-gui/agentGuiNode/composer/ComposerFooter.tsx
26027
- import { Fragment as Fragment12, jsx as jsx38, jsxs as jsxs28 } from "react/jsx-runtime";
25857
+ import { Fragment as Fragment12, jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
26028
25858
  function ComposerFooter({
26029
25859
  workspaceId: _workspaceId,
26030
25860
  labels,
26031
25861
  provider,
26032
25862
  composerSettings,
26033
25863
  usage,
26034
- previewMode,
26035
25864
  compactSupported,
26036
25865
  hasCompactableContext,
26037
25866
  composerControlsHardDisabled,
@@ -26072,31 +25901,10 @@ function ComposerFooter({
26072
25901
  onClearPlanMode
26073
25902
  }) {
26074
25903
  const showSettingsLoadingPlaceholders = composerSettings.isSettingsLoading;
26075
- return /* @__PURE__ */ jsx38(Fragment12, { children: /* @__PURE__ */ jsxs28("div", { className: AgentGUINode_styles_default.composerFooter, children: [
26076
- /* @__PURE__ */ jsxs28("div", { className: composerStyles.footerGroup, children: [
26077
- /* @__PURE__ */ jsxs28("div", { className: "inline-flex shrink-0 items-center gap-1", children: [
26078
- previewMode ? /* @__PURE__ */ jsx38(TooltipProvider4, { delayDuration: 120, children: /* @__PURE__ */ jsxs28(Tooltip5, { children: [
26079
- /* @__PURE__ */ jsx38(TooltipTrigger5, { asChild: true, children: /* @__PURE__ */ jsx38(
26080
- "button",
26081
- {
26082
- type: "button",
26083
- "aria-label": labels.referenceWorkspaceFiles,
26084
- className: cn(
26085
- AgentGUINode_styles_default.composerMenuTrigger,
26086
- AgentGUINode_styles_default.composerReferenceTrigger,
26087
- "group w-auto justify-center text-[var(--agent-gui-text-secondary)]"
26088
- ),
26089
- children: /* @__PURE__ */ jsx38(
26090
- AgentComposerMaskIcon,
26091
- {
26092
- iconUrl: add_lined_default,
26093
- marker: "reference-add"
26094
- }
26095
- )
26096
- }
26097
- ) }),
26098
- /* @__PURE__ */ jsx38(TooltipContent5, { side: "top", children: labels.addContent })
26099
- ] }) }) : /* @__PURE__ */ jsx38(
25904
+ return /* @__PURE__ */ jsx38(Fragment12, { children: /* @__PURE__ */ jsxs27("div", { className: AgentGUINode_styles_default.composerFooter, children: [
25905
+ /* @__PURE__ */ jsxs27("div", { className: composerStyles.footerGroup, children: [
25906
+ /* @__PURE__ */ jsxs27("div", { className: "inline-flex shrink-0 items-center gap-1", children: [
25907
+ /* @__PURE__ */ jsx38(
26100
25908
  Select3,
26101
25909
  {
26102
25910
  open: false,
@@ -26112,7 +25920,7 @@ function ComposerFooter({
26112
25920
  void handleWorkspaceReferencePicker();
26113
25921
  }
26114
25922
  },
26115
- children: /* @__PURE__ */ jsx38(TooltipProvider4, { delayDuration: 120, children: /* @__PURE__ */ jsxs28(Tooltip5, { children: [
25923
+ children: /* @__PURE__ */ jsx38(TooltipProvider4, { delayDuration: 120, children: /* @__PURE__ */ jsxs27(Tooltip5, { children: [
26116
25924
  /* @__PURE__ */ jsx38(TooltipTrigger5, { asChild: true, children: /* @__PURE__ */ jsx38("span", { className: "inline-flex", children: /* @__PURE__ */ jsx38(
26117
25925
  SelectTrigger3,
26118
25926
  {
@@ -26136,7 +25944,7 @@ function ComposerFooter({
26136
25944
  ] }) })
26137
25945
  }
26138
25946
  ),
26139
- /* @__PURE__ */ jsx38(TooltipProvider4, { delayDuration: 120, children: /* @__PURE__ */ jsxs28(Tooltip5, { children: [
25947
+ /* @__PURE__ */ jsx38(TooltipProvider4, { delayDuration: 120, children: /* @__PURE__ */ jsxs27(Tooltip5, { children: [
26140
25948
  /* @__PURE__ */ jsx38(TooltipTrigger5, { asChild: true, children: /* @__PURE__ */ jsx38(
26141
25949
  "button",
26142
25950
  {
@@ -26202,7 +26010,7 @@ function ComposerFooter({
26202
26010
  onHandoffConversation?.(target);
26203
26011
  }
26204
26012
  }
26205
- ) : showProviderSelect && selectedProviderSwitchTarget ? /* @__PURE__ */ jsxs28(
26013
+ ) : showProviderSelect && selectedProviderSwitchTarget ? /* @__PURE__ */ jsxs27(
26206
26014
  Select3,
26207
26015
  {
26208
26016
  value: selectedProviderSwitchTarget.targetId,
@@ -26231,7 +26039,7 @@ function ComposerFooter({
26231
26039
  AgentGUINode_styles_default.composerProviderSelect,
26232
26040
  "w-auto max-w-[180px]"
26233
26041
  ),
26234
- children: /* @__PURE__ */ jsxs28("span", { className: "flex min-w-0 items-center gap-1.5", children: [
26042
+ children: /* @__PURE__ */ jsxs27("span", { className: "flex min-w-0 items-center gap-1.5", children: [
26235
26043
  /* @__PURE__ */ jsx38(
26236
26044
  "img",
26237
26045
  {
@@ -26257,7 +26065,7 @@ function ComposerFooter({
26257
26065
  {
26258
26066
  value: target.targetId,
26259
26067
  className: cn(AgentGUINode_styles_default.composerMenuItem, "gap-2"),
26260
- children: /* @__PURE__ */ jsxs28("span", { className: "flex min-w-0 items-center gap-1.5", children: [
26068
+ children: /* @__PURE__ */ jsxs27("span", { className: "flex min-w-0 items-center gap-1.5", children: [
26261
26069
  /* @__PURE__ */ jsx38(
26262
26070
  "img",
26263
26071
  {
@@ -26292,7 +26100,7 @@ function ComposerFooter({
26292
26100
  "disabled:cursor-not-allowed disabled:opacity-60"
26293
26101
  ),
26294
26102
  onClick: onClearPlanMode,
26295
- children: /* @__PURE__ */ jsxs28("span", { className: "flex min-w-0 items-center gap-1.5 overflow-hidden", children: [
26103
+ children: /* @__PURE__ */ jsxs27("span", { className: "flex min-w-0 items-center gap-1.5 overflow-hidden", children: [
26296
26104
  /* @__PURE__ */ jsx38(
26297
26105
  RemovableBadgeIcon,
26298
26106
  {
@@ -26317,8 +26125,8 @@ function ComposerFooter({
26317
26125
  "disabled:cursor-not-allowed disabled:opacity-60"
26318
26126
  ),
26319
26127
  onClick: clearGoalModeBadge,
26320
- children: /* @__PURE__ */ jsxs28("span", { className: "flex min-w-0 items-center gap-1.5 overflow-hidden", children: [
26321
- /* @__PURE__ */ jsxs28("span", { className: "relative flex size-3.5 shrink-0 items-center justify-center", children: [
26128
+ children: /* @__PURE__ */ jsxs27("span", { className: "flex min-w-0 items-center gap-1.5 overflow-hidden", children: [
26129
+ /* @__PURE__ */ jsxs27("span", { className: "relative flex size-3.5 shrink-0 items-center justify-center", children: [
26322
26130
  /* @__PURE__ */ jsx38(
26323
26131
  Target2,
26324
26132
  {
@@ -26346,14 +26154,14 @@ function ComposerFooter({
26346
26154
  }
26347
26155
  ) : null
26348
26156
  ] }),
26349
- /* @__PURE__ */ jsxs28("div", { className: composerStyles.footerGroupRight, children: [
26157
+ /* @__PURE__ */ jsxs27("div", { className: composerStyles.footerGroupRight, children: [
26350
26158
  usage && usage.percentUsed !== null ? /* @__PURE__ */ jsx38(
26351
26159
  AgentUsageChip,
26352
26160
  {
26353
26161
  percentUsed: usage.percentUsed,
26354
26162
  usedTokens: usage.usedTokens,
26355
26163
  totalTokens: usage.totalTokens,
26356
- tooltipsEnabled: !previewMode,
26164
+ tooltipsEnabled: true,
26357
26165
  compactSupported: compactSupported ?? false,
26358
26166
  compactDisabled: !hasCompactableContext || composerControlsHardDisabled || isSendingTurn,
26359
26167
  onCompact: () => onSubmit(textPromptContent("/compact")),
@@ -26373,7 +26181,6 @@ function ComposerFooter({
26373
26181
  disabled: permissionModeControlsDisabled,
26374
26182
  disabledTooltip: permissionModeControlsDisabled ? labels.permissionModeChangeUnavailableDuringTurn : void 0,
26375
26183
  onLinkAction,
26376
- previewMode,
26377
26184
  provider,
26378
26185
  labels: {
26379
26186
  permissionLabel: labels.permissionLabel,
@@ -26387,7 +26194,6 @@ function ComposerFooter({
26387
26194
  {
26388
26195
  composerSettings,
26389
26196
  disabled: settingsControlsDisabled,
26390
- previewMode,
26391
26197
  labels: {
26392
26198
  modelLabel: labels.modelLabel,
26393
26199
  modelSelectionLabel: labels.modelSelectionLabel,
@@ -26424,7 +26230,7 @@ function ComposerFooter({
26424
26230
  ] }) });
26425
26231
  }
26426
26232
  function RemovableBadgeIcon({ icon }) {
26427
- return /* @__PURE__ */ jsxs28("span", { className: "relative flex size-3.5 shrink-0 items-center justify-center", children: [
26233
+ return /* @__PURE__ */ jsxs27("span", { className: "relative flex size-3.5 shrink-0 items-center justify-center", children: [
26428
26234
  /* @__PURE__ */ jsx38(
26429
26235
  "span",
26430
26236
  {
@@ -26491,7 +26297,7 @@ import {
26491
26297
  Spinner as Spinner5,
26492
26298
  Textarea
26493
26299
  } from "@tutti-os/ui-system";
26494
- import { jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
26300
+ import { jsx as jsx39, jsxs as jsxs28 } from "react/jsx-runtime";
26495
26301
  var MAX_TITLE_CODE_POINTS = 80;
26496
26302
  var MAX_CONTENT_BYTES = 32 * 1024;
26497
26303
  function AgentQuickPromptEditorDialog({
@@ -26526,7 +26332,7 @@ function AgentQuickPromptEditorDialog({
26526
26332
  controller.closeDialog();
26527
26333
  }
26528
26334
  },
26529
- children: /* @__PURE__ */ jsxs29(
26335
+ children: /* @__PURE__ */ jsxs28(
26530
26336
  DialogContent,
26531
26337
  {
26532
26338
  className: "sm:max-w-[560px]",
@@ -26541,11 +26347,11 @@ function AgentQuickPromptEditorDialog({
26541
26347
  if (controller.isSaving) event.preventDefault();
26542
26348
  },
26543
26349
  children: [
26544
- /* @__PURE__ */ jsxs29(DialogHeader, { children: [
26350
+ /* @__PURE__ */ jsxs28(DialogHeader, { children: [
26545
26351
  /* @__PURE__ */ jsx39(DialogTitle, { children: source ? labels.editTitle : labels.createTitle }),
26546
26352
  /* @__PURE__ */ jsx39(DialogDescription, { className: "sr-only", children: labels.contentPlaceholder })
26547
26353
  ] }),
26548
- /* @__PURE__ */ jsxs29(
26354
+ /* @__PURE__ */ jsxs28(
26549
26355
  "form",
26550
26356
  {
26551
26357
  className: "flex min-h-0 flex-col gap-3",
@@ -26554,7 +26360,7 @@ function AgentQuickPromptEditorDialog({
26554
26360
  void submit();
26555
26361
  },
26556
26362
  children: [
26557
- /* @__PURE__ */ jsxs29("label", { className: "flex flex-col gap-1.5 text-[13px] text-[var(--text-secondary)]", children: [
26363
+ /* @__PURE__ */ jsxs28("label", { className: "flex flex-col gap-1.5 text-[13px] text-[var(--text-secondary)]", children: [
26558
26364
  /* @__PURE__ */ jsx39("span", { children: labels.titleLabel }),
26559
26365
  /* @__PURE__ */ jsx39(
26560
26366
  Input,
@@ -26572,7 +26378,7 @@ function AgentQuickPromptEditorDialog({
26572
26378
  }
26573
26379
  )
26574
26380
  ] }),
26575
- /* @__PURE__ */ jsxs29("label", { className: "flex min-h-0 flex-col gap-1.5 text-[13px] text-[var(--text-secondary)]", children: [
26381
+ /* @__PURE__ */ jsxs28("label", { className: "flex min-h-0 flex-col gap-1.5 text-[13px] text-[var(--text-secondary)]", children: [
26576
26382
  /* @__PURE__ */ jsx39("span", { children: labels.contentLabel }),
26577
26383
  /* @__PURE__ */ jsx39(
26578
26384
  Textarea,
@@ -26590,7 +26396,7 @@ function AgentQuickPromptEditorDialog({
26590
26396
  )
26591
26397
  ] }),
26592
26398
  validationError || mutationError ? /* @__PURE__ */ jsx39("p", { className: "text-[12px] text-[var(--state-danger)]", role: "alert", children: validationError ?? mutationError }) : null,
26593
- /* @__PURE__ */ jsxs29(DialogFooter, { children: [
26399
+ /* @__PURE__ */ jsxs28(DialogFooter, { children: [
26594
26400
  /* @__PURE__ */ jsx39(
26595
26401
  Button4,
26596
26402
  {
@@ -26614,7 +26420,7 @@ function AgentQuickPromptEditorDialog({
26614
26420
  children: labels.cancel
26615
26421
  }
26616
26422
  ),
26617
- /* @__PURE__ */ jsxs29(Button4, { disabled: controller.isSaving, size: "dialog", type: "submit", children: [
26423
+ /* @__PURE__ */ jsxs28(Button4, { disabled: controller.isSaving, size: "dialog", type: "submit", children: [
26618
26424
  controller.isSaving ? /* @__PURE__ */ jsx39(Spinner5, { size: 14 }) : null,
26619
26425
  controller.isSaving ? labels.saving : labels.save
26620
26426
  ] })
@@ -26663,7 +26469,7 @@ import {
26663
26469
  EditIcon,
26664
26470
  GripVerticalIcon
26665
26471
  } from "@tutti-os/ui-system/icons";
26666
- import { Fragment as Fragment13, jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
26472
+ import { Fragment as Fragment13, jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
26667
26473
  function AgentQuickPromptRow({
26668
26474
  handleRef,
26669
26475
  isSorting,
@@ -26682,16 +26488,16 @@ function AgentQuickPromptRow({
26682
26488
  const editAction = usePrimaryPointerAction(onEdit);
26683
26489
  const deleteAction = usePrimaryPointerAction(onDelete);
26684
26490
  const actionRevealClass = "opacity-100 transition-opacity [@media(hover:hover)]:opacity-0 [@media(hover:hover)]:group-hover/quick-prompt-row:opacity-100 group-has-[:focus-visible]/quick-prompt-row:opacity-100 focus-visible:opacity-100";
26685
- const promptContent = /* @__PURE__ */ jsxs30("span", { className: "flex min-w-0 flex-col items-start gap-0.5", children: [
26491
+ const promptContent = /* @__PURE__ */ jsxs29("span", { className: "flex min-w-0 flex-col items-start gap-0.5", children: [
26686
26492
  /* @__PURE__ */ jsx40("span", { className: "w-full truncate font-medium text-[var(--text-primary)]", children: prompt.title }),
26687
26493
  /* @__PURE__ */ jsx40("span", { className: "line-clamp-2 w-full text-[12px] leading-[1.35] text-[var(--text-secondary)]", children: prompt.content })
26688
26494
  ] });
26689
- return /* @__PURE__ */ jsxs30("div", { className: "group/quick-prompt-row flex min-w-0 items-start gap-1 rounded-md hover:bg-[var(--transparency-hover)]", children: [
26495
+ return /* @__PURE__ */ jsxs29("div", { className: "group/quick-prompt-row flex min-w-0 items-start gap-1 rounded-md hover:bg-[var(--transparency-hover)]", children: [
26690
26496
  showReorderHandle ? /* @__PURE__ */ jsx40(
26691
26497
  "div",
26692
26498
  {
26693
26499
  className: `mt-1.5 flex size-6 shrink-0 items-center justify-center ${reorderDisabled ? "cursor-not-allowed" : ""}`,
26694
- children: /* @__PURE__ */ jsxs30(Tooltip6, { children: [
26500
+ children: /* @__PURE__ */ jsxs29(Tooltip6, { children: [
26695
26501
  /* @__PURE__ */ jsx40(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx40(SortableItemHandle, { asChild: true, disabled: reorderDisabled, children: /* @__PURE__ */ jsx40(
26696
26502
  BareIconButton,
26697
26503
  {
@@ -26725,8 +26531,8 @@ function AgentQuickPromptRow({
26725
26531
  children: promptContent
26726
26532
  }
26727
26533
  ),
26728
- !isSorting ? /* @__PURE__ */ jsxs30(Fragment13, { children: [
26729
- /* @__PURE__ */ jsxs30(Tooltip6, { children: [
26534
+ !isSorting ? /* @__PURE__ */ jsxs29(Fragment13, { children: [
26535
+ /* @__PURE__ */ jsxs29(Tooltip6, { children: [
26730
26536
  /* @__PURE__ */ jsx40(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx40(
26731
26537
  BareIconButton,
26732
26538
  {
@@ -26741,7 +26547,7 @@ function AgentQuickPromptRow({
26741
26547
  ) }),
26742
26548
  /* @__PURE__ */ jsx40(TooltipContent6, { side: "top", children: labels.edit })
26743
26549
  ] }),
26744
- /* @__PURE__ */ jsxs30(Tooltip6, { children: [
26550
+ /* @__PURE__ */ jsxs29(Tooltip6, { children: [
26745
26551
  /* @__PURE__ */ jsx40(TooltipTrigger6, { asChild: true, children: /* @__PURE__ */ jsx40(
26746
26552
  BareIconButton,
26747
26553
  {
@@ -26903,7 +26709,7 @@ function AgentQuickPromptList({
26903
26709
  }
26904
26710
 
26905
26711
  // agent-gui/agentGuiNode/composer/quickPrompts/AgentQuickPromptPopover.tsx
26906
- import { Fragment as Fragment14, jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
26712
+ import { Fragment as Fragment14, jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
26907
26713
  function AgentQuickPromptPopover({
26908
26714
  controller,
26909
26715
  disabled
@@ -26962,8 +26768,8 @@ function AgentQuickPromptPopover({
26962
26768
  controller.openCreate({ title: template.title, content: template.content });
26963
26769
  };
26964
26770
  const isTemplateView = view === "templates";
26965
- return /* @__PURE__ */ jsxs31(Fragment14, { children: [
26966
- /* @__PURE__ */ jsxs31(
26771
+ return /* @__PURE__ */ jsxs30(Fragment14, { children: [
26772
+ /* @__PURE__ */ jsxs30(
26967
26773
  Popover3,
26968
26774
  {
26969
26775
  modal: false,
@@ -26976,8 +26782,8 @@ function AgentQuickPromptPopover({
26976
26782
  controller.setPopoverOpen(open);
26977
26783
  },
26978
26784
  children: [
26979
- /* @__PURE__ */ jsx42(TooltipProvider5, { delayDuration: 120, children: /* @__PURE__ */ jsxs31(Tooltip7, { children: [
26980
- /* @__PURE__ */ jsx42(TooltipTrigger7, { asChild: true, children: /* @__PURE__ */ jsx42("span", { className: "inline-flex shrink-0", children: /* @__PURE__ */ jsx42(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs31(
26785
+ /* @__PURE__ */ jsx42(TooltipProvider5, { delayDuration: 120, children: /* @__PURE__ */ jsxs30(Tooltip7, { children: [
26786
+ /* @__PURE__ */ jsx42(TooltipTrigger7, { asChild: true, children: /* @__PURE__ */ jsx42("span", { className: "inline-flex shrink-0", children: /* @__PURE__ */ jsx42(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs30(
26981
26787
  Button6,
26982
26788
  {
26983
26789
  "aria-label": labels.triggerTooltip,
@@ -26993,7 +26799,7 @@ function AgentQuickPromptPopover({
26993
26799
  ) }) }) }),
26994
26800
  /* @__PURE__ */ jsx42(TooltipContent7, { side: "top", children: labels.triggerTooltip })
26995
26801
  ] }) }),
26996
- /* @__PURE__ */ jsxs31(
26802
+ /* @__PURE__ */ jsxs30(
26997
26803
  PopoverContent3,
26998
26804
  {
26999
26805
  "aria-labelledby": titleId,
@@ -27018,7 +26824,7 @@ function AgentQuickPromptPopover({
27018
26824
  preserveExternalFocusRef.current = false;
27019
26825
  },
27020
26826
  children: [
27021
- /* @__PURE__ */ jsxs31("div", { className: "flex shrink-0 items-center justify-between gap-2 border-b border-[var(--border-1)] px-3 py-2.5", children: [
26827
+ /* @__PURE__ */ jsxs30("div", { className: "flex shrink-0 items-center justify-between gap-2 border-b border-[var(--border-1)] px-3 py-2.5", children: [
27022
26828
  /* @__PURE__ */ jsx42(
27023
26829
  "h2",
27024
26830
  {
@@ -27027,7 +26833,7 @@ function AgentQuickPromptPopover({
27027
26833
  children: isTemplateView ? labels.recommendedTemplatesTitle : labels.title
27028
26834
  }
27029
26835
  ),
27030
- isTemplateView ? /* @__PURE__ */ jsxs31(
26836
+ isTemplateView ? /* @__PURE__ */ jsxs30(
27031
26837
  Button6,
27032
26838
  {
27033
26839
  size: "sm",
@@ -27039,7 +26845,7 @@ function AgentQuickPromptPopover({
27039
26845
  labels.returnToPrompts
27040
26846
  ]
27041
26847
  }
27042
- ) : /* @__PURE__ */ jsx42("div", { className: "flex items-center gap-1", children: isSorting ? /* @__PURE__ */ jsxs31(
26848
+ ) : /* @__PURE__ */ jsx42("div", { className: "flex items-center gap-1", children: isSorting ? /* @__PURE__ */ jsxs30(
27043
26849
  Button6,
27044
26850
  {
27045
26851
  disabled: controller.isInteractionLocked,
@@ -27052,8 +26858,8 @@ function AgentQuickPromptPopover({
27052
26858
  labels.finishSorting
27053
26859
  ]
27054
26860
  }
27055
- ) : /* @__PURE__ */ jsxs31(Fragment14, { children: [
27056
- /* @__PURE__ */ jsxs31(
26861
+ ) : /* @__PURE__ */ jsxs30(Fragment14, { children: [
26862
+ /* @__PURE__ */ jsxs30(
27057
26863
  Button6,
27058
26864
  {
27059
26865
  disabled: controller.isInteractionLocked || !controller.showReorderHandles,
@@ -27067,7 +26873,7 @@ function AgentQuickPromptPopover({
27067
26873
  ]
27068
26874
  }
27069
26875
  ),
27070
- /* @__PURE__ */ jsxs31(
26876
+ /* @__PURE__ */ jsxs30(
27071
26877
  Button6,
27072
26878
  {
27073
26879
  disabled: controller.isInteractionLocked,
@@ -27094,7 +26900,7 @@ function AgentQuickPromptPopover({
27094
26900
  )
27095
26901
  ] }) })
27096
26902
  ] }),
27097
- !isTemplateView ? /* @__PURE__ */ jsxs31("div", { className: "relative shrink-0 px-3 py-2.5", children: [
26903
+ !isTemplateView ? /* @__PURE__ */ jsxs30("div", { className: "relative shrink-0 px-3 py-2.5", children: [
27098
26904
  /* @__PURE__ */ jsx42(
27099
26905
  SearchIcon,
27100
26906
  {
@@ -27121,7 +26927,7 @@ function AgentQuickPromptPopover({
27121
26927
  }
27122
26928
  )
27123
26929
  ] }) : null,
27124
- !isTemplateView && snapshot.status === "error" && snapshot.prompts.length > 0 ? /* @__PURE__ */ jsxs31(
26930
+ !isTemplateView && snapshot.status === "error" && snapshot.prompts.length > 0 ? /* @__PURE__ */ jsxs30(
27125
26931
  "div",
27126
26932
  {
27127
26933
  className: "flex shrink-0 items-center justify-between gap-2 px-3 pb-2 text-[12px] text-[var(--state-danger)]",
@@ -27141,7 +26947,7 @@ function AgentQuickPromptPopover({
27141
26947
  ]
27142
26948
  }
27143
26949
  ) : null,
27144
- !isTemplateView && controller.reorderError ? /* @__PURE__ */ jsxs31(
26950
+ !isTemplateView && controller.reorderError ? /* @__PURE__ */ jsxs30(
27145
26951
  "div",
27146
26952
  {
27147
26953
  className: "flex shrink-0 items-center justify-between gap-2 px-3 pb-2 text-[12px] text-[var(--state-danger)]",
@@ -27207,7 +27013,7 @@ function AgentQuickPromptPopover({
27207
27013
  onSelect: requestTemplate,
27208
27014
  selectionRequestedOnPointerDownRef: templateRequestedOnPointerDownRef
27209
27015
  }
27210
- ) : controller.filteredPrompts.length === 0 ? /* @__PURE__ */ jsx42(PromptState, { label: labels.noResults }) : /* @__PURE__ */ jsxs31("div", { className: "flex flex-col gap-0.5", children: [
27016
+ ) : controller.filteredPrompts.length === 0 ? /* @__PURE__ */ jsx42(PromptState, { label: labels.noResults }) : /* @__PURE__ */ jsxs30("div", { className: "flex flex-col gap-0.5", children: [
27211
27017
  /* @__PURE__ */ jsx42(
27212
27018
  AgentQuickPromptList,
27213
27019
  {
@@ -27255,7 +27061,7 @@ function AgentQuickPromptPopover({
27255
27061
  confirmBusy: controller.isDeleting,
27256
27062
  confirmLabel: controller.isDeleting ? labels.deleting : labels.deleteConfirm,
27257
27063
  description: controller.promptToDelete ? labels.deleteDescription(controller.promptToDelete.title) : void 0,
27258
- footer: /* @__PURE__ */ jsxs31(DialogFooter2, { children: [
27064
+ footer: /* @__PURE__ */ jsxs30(DialogFooter2, { children: [
27259
27065
  /* @__PURE__ */ jsx42(
27260
27066
  Button6,
27261
27067
  {
@@ -27297,12 +27103,12 @@ function RecommendedTemplateList({
27297
27103
  onSelect,
27298
27104
  selectionRequestedOnPointerDownRef
27299
27105
  }) {
27300
- return /* @__PURE__ */ jsxs31("section", { className: "flex flex-col gap-1 px-1 pt-2", children: [
27301
- /* @__PURE__ */ jsxs31("div", { className: "px-2 pb-1", children: [
27106
+ return /* @__PURE__ */ jsxs30("section", { className: "flex flex-col gap-1 px-1 pt-2", children: [
27107
+ /* @__PURE__ */ jsxs30("div", { className: "px-2 pb-1", children: [
27302
27108
  /* @__PURE__ */ jsx42("h3", { className: "text-[13px] font-medium text-[var(--text-primary)]", children: labels.recommendedTemplatesTitle }),
27303
27109
  /* @__PURE__ */ jsx42("p", { className: "pt-0.5 text-[12px] leading-[1.35] text-[var(--text-secondary)]", children: labels.recommendedTemplatesDescription })
27304
27110
  ] }),
27305
- labels.recommendedTemplates.map((template, index) => /* @__PURE__ */ jsxs31(
27111
+ labels.recommendedTemplates.map((template, index) => /* @__PURE__ */ jsxs30(
27306
27112
  Button6,
27307
27113
  {
27308
27114
  ref: index === 0 ? firstTemplateRef : void 0,
@@ -27324,11 +27130,11 @@ function RecommendedTemplateList({
27324
27130
  onSelect(template);
27325
27131
  },
27326
27132
  children: [
27327
- /* @__PURE__ */ jsxs31("span", { className: "flex min-w-0 flex-col items-start gap-0.5", children: [
27133
+ /* @__PURE__ */ jsxs30("span", { className: "flex min-w-0 flex-col items-start gap-0.5", children: [
27328
27134
  /* @__PURE__ */ jsx42("span", { className: "w-full truncate font-medium text-[var(--text-primary)]", children: template.title }),
27329
27135
  /* @__PURE__ */ jsx42("span", { className: "line-clamp-2 w-full text-[12px] leading-[1.35] text-[var(--text-secondary)]", children: template.description })
27330
27136
  ] }),
27331
- /* @__PURE__ */ jsxs31("span", { className: "flex shrink-0 items-center gap-1 text-[12px] text-[var(--text-secondary)]", children: [
27137
+ /* @__PURE__ */ jsxs30("span", { className: "flex shrink-0 items-center gap-1 text-[12px] text-[var(--text-secondary)]", children: [
27332
27138
  labels.useTemplate,
27333
27139
  /* @__PURE__ */ jsx42(ArrowRightIcon, { "data-icon": "inline-end" })
27334
27140
  ] })
@@ -27343,7 +27149,7 @@ function TemplateEntry({
27343
27149
  disabled,
27344
27150
  label
27345
27151
  }) {
27346
- return /* @__PURE__ */ jsxs31(
27152
+ return /* @__PURE__ */ jsxs30(
27347
27153
  Button6,
27348
27154
  {
27349
27155
  ...action,
@@ -27381,7 +27187,7 @@ function PromptState({
27381
27187
  icon,
27382
27188
  label
27383
27189
  }) {
27384
- return /* @__PURE__ */ jsxs31("div", { className: "flex min-h-[180px] flex-col items-center justify-center gap-2 px-4 text-center text-[13px] text-[var(--text-secondary)]", children: [
27190
+ return /* @__PURE__ */ jsxs30("div", { className: "flex min-h-[180px] flex-col items-center justify-center gap-2 px-4 text-center text-[13px] text-[var(--text-secondary)]", children: [
27385
27191
  icon,
27386
27192
  /* @__PURE__ */ jsx42("span", { children: label }),
27387
27193
  action
@@ -27389,7 +27195,7 @@ function PromptState({
27389
27195
  }
27390
27196
 
27391
27197
  // agent-gui/agentGuiNode/composer/AgentComposerView.tsx
27392
- import { jsx as jsx43, jsxs as jsxs32 } from "react/jsx-runtime";
27198
+ import { jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
27393
27199
  function AgentComposerView(input) {
27394
27200
  const {
27395
27201
  provider,
@@ -27406,7 +27212,6 @@ function AgentComposerView(input) {
27406
27212
  workspaceAppIcons = EMPTY_WORKSPACE_APP_ICONS,
27407
27213
  activePromptKeyboardShortcutsEnabled = true,
27408
27214
  promptImagesSupported = true,
27409
- previewMode = false,
27410
27215
  layoutMode = "dock",
27411
27216
  providerSelectLabel = "",
27412
27217
  labels,
@@ -27509,7 +27314,7 @@ function AgentComposerView(input) {
27509
27314
  visibleActivePrompt,
27510
27315
  visibleDraftLargeTexts
27511
27316
  } = input.presentation;
27512
- return /* @__PURE__ */ jsxs32(
27317
+ return /* @__PURE__ */ jsxs31(
27513
27318
  "form",
27514
27319
  {
27515
27320
  ref: input.composerRef,
@@ -27531,7 +27336,6 @@ function AgentComposerView(input) {
27531
27336
  embedded: true,
27532
27337
  edgeGlow: true,
27533
27338
  keyboardShortcuts: activePromptKeyboardShortcutsEnabled,
27534
- previewMode,
27535
27339
  isSubmitting: isSubmittingPrompt,
27536
27340
  onSubmit: submitInteractivePromptAndDismiss,
27537
27341
  labels: {
@@ -27602,12 +27406,11 @@ function AgentComposerView(input) {
27602
27406
  {
27603
27407
  isSettingsLoading: composerSettings.isSettingsLoading,
27604
27408
  permissionModeId: composerSettings.selectedPermissionModeValue ?? composerSettings.draftSettings.permissionModeId,
27605
- previewMode,
27606
27409
  provider,
27607
27410
  visibleOnHome: isHeroLayout
27608
27411
  }
27609
27412
  ),
27610
- /* @__PURE__ */ jsxs32(
27413
+ /* @__PURE__ */ jsxs31(
27611
27414
  "div",
27612
27415
  {
27613
27416
  className: cn(
@@ -27628,7 +27431,7 @@ function AgentComposerView(input) {
27628
27431
  description: labels.projectMissingDescription
27629
27432
  }
27630
27433
  ) : null,
27631
- /* @__PURE__ */ jsxs32(
27434
+ /* @__PURE__ */ jsxs31(
27632
27435
  "div",
27633
27436
  {
27634
27437
  ref: input.inputShellRef,
@@ -27638,14 +27441,14 @@ function AgentComposerView(input) {
27638
27441
  title: inputDisabled && disabledReasonText ? disabledReasonText : void 0,
27639
27442
  style: inputShellStyle,
27640
27443
  children: [
27641
- /* @__PURE__ */ jsxs32(
27444
+ /* @__PURE__ */ jsxs31(
27642
27445
  Popover4,
27643
27446
  {
27644
27447
  open: input.showFileMentionPalette,
27645
27448
  onOpenChange: input.setIsPaletteOpen,
27646
27449
  modal: false,
27647
27450
  children: [
27648
- /* @__PURE__ */ jsx43(PopoverAnchor2, { asChild: true, children: /* @__PURE__ */ jsxs32(
27451
+ /* @__PURE__ */ jsx43(PopoverAnchor2, { asChild: true, children: /* @__PURE__ */ jsxs31(
27649
27452
  "div",
27650
27453
  {
27651
27454
  ref: input.promptInputAreaRef,
@@ -27668,7 +27471,7 @@ function AgentComposerView(input) {
27668
27471
  onExpandLargeText: expandDraftLargeTextToPrompt
27669
27472
  }
27670
27473
  ),
27671
- /* @__PURE__ */ jsxs32(
27474
+ /* @__PURE__ */ jsxs31(
27672
27475
  "div",
27673
27476
  {
27674
27477
  className: cn(
@@ -27880,7 +27683,6 @@ function AgentComposerView(input) {
27880
27683
  provider,
27881
27684
  composerSettings,
27882
27685
  usage,
27883
- previewMode,
27884
27686
  compactSupported,
27885
27687
  hasCompactableContext,
27886
27688
  composerControlsHardDisabled,
@@ -27930,7 +27732,7 @@ function AgentComposerView(input) {
27930
27732
  ]
27931
27733
  }
27932
27734
  ),
27933
- showProjectRow ? /* @__PURE__ */ jsxs32(
27735
+ showProjectRow ? /* @__PURE__ */ jsxs31(
27934
27736
  "div",
27935
27737
  {
27936
27738
  className: AgentGUINode_styles_default.composerProjectRow,
@@ -27941,7 +27743,6 @@ function AgentComposerView(input) {
27941
27743
  {
27942
27744
  composerSettings,
27943
27745
  i18n: workspaceUserProjectI18n,
27944
- previewMode,
27945
27746
  labels: {
27946
27747
  projectLocked: labels.projectLocked,
27947
27748
  projectMissingDescription: labels.projectMissingDescription
@@ -27957,7 +27758,7 @@ function AgentComposerView(input) {
27957
27758
  {
27958
27759
  className: AgentGUINode_styles_default.composerPromptTips,
27959
27760
  "data-testid": "agent-gui-prompt-tips",
27960
- children: !previewMode && input.isPromptTipOverflowing && promptTipNode ? /* @__PURE__ */ jsx43(TooltipProvider6, { delayDuration: 0, children: /* @__PURE__ */ jsxs32(Tooltip8, { children: [
27761
+ children: input.isPromptTipOverflowing && promptTipNode ? /* @__PURE__ */ jsx43(TooltipProvider6, { delayDuration: 0, children: /* @__PURE__ */ jsxs31(Tooltip8, { children: [
27961
27762
  /* @__PURE__ */ jsx43(TooltipTrigger8, { asChild: true, children: promptTipNode }),
27962
27763
  /* @__PURE__ */ jsx43(
27963
27764
  TooltipContent8,
@@ -28501,7 +28302,6 @@ function AgentComposer(props) {
28501
28302
  projectMissingProbeEnabled = true,
28502
28303
  uiLanguage = "en",
28503
28304
  isActive = true,
28504
- previewMode = false,
28505
28305
  workspaceReferencePickerOpen = false,
28506
28306
  promptImagesSupported = true,
28507
28307
  canGoalControl = true,
@@ -28862,7 +28662,6 @@ function AgentComposer(props) {
28862
28662
  );
28863
28663
  const providerState = useComposerProviderTargets({
28864
28664
  layoutMode,
28865
- previewMode,
28866
28665
  provider,
28867
28666
  agentTargets,
28868
28667
  handoffAgentTargets,
@@ -28921,7 +28720,6 @@ function AgentComposer(props) {
28921
28720
  projectMissingProbeEnabled,
28922
28721
  showFileMentionPalette,
28923
28722
  showFloatingCommandMenu,
28924
- previewMode,
28925
28723
  promptTips,
28926
28724
  promptTipsPrefix: labels.promptTipsPrefix,
28927
28725
  composerSettings,
@@ -29023,7 +28821,7 @@ function AgentComposer(props) {
29023
28821
  // agent-gui/agentGuiNode/AgentHomeSuggestions.tsx
29024
28822
  import { memo, useState as useState29 } from "react";
29025
28823
  import { ArrowLeftRight, Code, Compass, Import, Pencil, X as X5 } from "lucide-react";
29026
- import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
28824
+ import { jsx as jsx45, jsxs as jsxs32 } from "react/jsx-runtime";
29027
28825
  function TuttiIcon(props) {
29028
28826
  return /* @__PURE__ */ jsx45(
29029
28827
  "svg",
@@ -29140,12 +28938,12 @@ var AgentHomeSuggestions = memo(function AgentHomeSuggestions2({
29140
28938
  (category) => category.id === activeCategoryId && !isDirectCategory(category)
29141
28939
  ) ?? null;
29142
28940
  const ActiveCategoryIcon = activeCategory?.icon ? CATEGORY_ICON[activeCategory.icon] : null;
29143
- return /* @__PURE__ */ jsxs33("div", { className: AgentGUINode_styles_default.emptyHeroSuggestions, children: [
28941
+ return /* @__PURE__ */ jsxs32("div", { className: AgentGUINode_styles_default.emptyHeroSuggestions, children: [
29144
28942
  /* @__PURE__ */ jsx45("div", { className: AgentGUINode_styles_default.emptyHeroSuggestionsChips, children: categories.map((category) => {
29145
28943
  const Icon = category.icon ? CATEGORY_ICON[category.icon] : null;
29146
28944
  const direct = isDirectCategory(category);
29147
28945
  const isActive = !direct && category.id === activeCategory?.id;
29148
- return /* @__PURE__ */ jsxs33(
28946
+ return /* @__PURE__ */ jsxs32(
29149
28947
  "button",
29150
28948
  {
29151
28949
  type: "button",
@@ -29179,9 +28977,9 @@ var AgentHomeSuggestions = memo(function AgentHomeSuggestions2({
29179
28977
  category.id
29180
28978
  );
29181
28979
  }) }),
29182
- activeCategory ? /* @__PURE__ */ jsxs33("div", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCard, children: [
29183
- /* @__PURE__ */ jsxs33("div", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCardHeader, children: [
29184
- /* @__PURE__ */ jsxs33("span", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCardTitle, children: [
28980
+ activeCategory ? /* @__PURE__ */ jsxs32("div", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCard, children: [
28981
+ /* @__PURE__ */ jsxs32("div", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCardHeader, children: [
28982
+ /* @__PURE__ */ jsxs32("span", { className: AgentGUINode_styles_default.emptyHeroSuggestionsCardTitle, children: [
29185
28983
  ActiveCategoryIcon ? /* @__PURE__ */ jsx45(
29186
28984
  ActiveCategoryIcon,
29187
28985
  {
@@ -29251,7 +29049,7 @@ function createFallbackAgentGUIAgentAvatar(input) {
29251
29049
 
29252
29050
  // agent-gui/agentGuiNode/view/AgentGUIEmptyHeroCarouselStage.tsx
29253
29051
  import { Component as Component3 } from "react";
29254
- import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
29052
+ import { jsx as jsx46, jsxs as jsxs33 } from "react/jsx-runtime";
29255
29053
  var AgentGUIEmptyHeroCarouselStage = class extends Component3 {
29256
29054
  alignmentActive = false;
29257
29055
  animationFrame = null;
@@ -29285,7 +29083,7 @@ var AgentGUIEmptyHeroCarouselStage = class extends Component3 {
29285
29083
  providerSelectLabel
29286
29084
  } = this.props;
29287
29085
  const hasCarousel = items.length > 1;
29288
- return /* @__PURE__ */ jsxs34("div", { ref: this.setStage, className: AgentGUINode_styles_default.emptyHeroCarouselStage, children: [
29086
+ return /* @__PURE__ */ jsxs33("div", { ref: this.setStage, className: AgentGUINode_styles_default.emptyHeroCarouselStage, children: [
29289
29087
  hasCarousel ? /* @__PURE__ */ jsx46("div", { ref: this.setLayer, className: AgentGUINode_styles_default.emptyHeroCarouselLayer, children: /* @__PURE__ */ jsx46(
29290
29088
  AgentGUIHeroAgentCarousel,
29291
29089
  {
@@ -29326,9 +29124,7 @@ var AgentGUIEmptyHeroCarouselStage = class extends Component3 {
29326
29124
  this.syncAlignment();
29327
29125
  }
29328
29126
  canAlign() {
29329
- return Boolean(
29330
- !this.props.previewMode && this.props.items.length > 1 && this.stage && this.layer
29331
- );
29127
+ return Boolean(this.props.items.length > 1 && this.stage && this.layer);
29332
29128
  }
29333
29129
  stopAlignment() {
29334
29130
  this.alignmentActive = false;
@@ -29618,7 +29414,7 @@ function createClientActionId() {
29618
29414
  }
29619
29415
 
29620
29416
  // agent-gui/agentGuiNode/view/AgentTargetSetupGate.tsx
29621
- import { Fragment as Fragment15, jsx as jsx48, jsxs as jsxs35 } from "react/jsx-runtime";
29417
+ import { Fragment as Fragment15, jsx as jsx48, jsxs as jsxs34 } from "react/jsx-runtime";
29622
29418
  function AgentTargetSetupGate({
29623
29419
  children,
29624
29420
  carouselMountedExternally,
@@ -29669,8 +29465,8 @@ function AgentTargetSetupGate({
29669
29465
  const accountDetail = account ? [account.displayName, account.organization].filter(Boolean).join(" \xB7 ") : void 0;
29670
29466
  const setupDescription = setupChecking ? t("agentHost.agentGui.targetSetupChecking") : snapshot?.status === "auth_required" ? t("agentHost.agentGui.targetSetupAuthRequired") : snapshot?.status === "ready" ? t("agentHost.agentGui.targetSetupReady") : t("agentHost.agentGui.targetSetupDescription");
29671
29467
  const authenticationAvailable = snapshot?.status === "auth_required" || snapshot?.status === "ready";
29672
- return /* @__PURE__ */ jsxs35(Fragment15, { children: [
29673
- gateVisible && setupBlocked ? /* @__PURE__ */ jsx48("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs35(
29468
+ return /* @__PURE__ */ jsxs34(Fragment15, { children: [
29469
+ gateVisible && setupBlocked ? /* @__PURE__ */ jsx48("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs34(
29674
29470
  "div",
29675
29471
  {
29676
29472
  className: cn5(AgentGUINode_styles_default.emptyHeroBody, AgentGUINode_styles_default.emptyProviderGate),
@@ -29709,7 +29505,7 @@ function AgentTargetSetupGate({
29709
29505
  provider: providerLabel
29710
29506
  }),
29711
29507
  description: setupDescription,
29712
- footer: /* @__PURE__ */ jsxs35(
29508
+ footer: /* @__PURE__ */ jsxs34(
29713
29509
  Button7,
29714
29510
  {
29715
29511
  size: "dialog",
@@ -29722,13 +29518,13 @@ function AgentTargetSetupGate({
29722
29518
  ]
29723
29519
  }
29724
29520
  ),
29725
- children: /* @__PURE__ */ jsxs35("div", { className: "flex flex-col gap-4", children: [
29521
+ children: /* @__PURE__ */ jsxs34("div", { className: "flex flex-col gap-4", children: [
29726
29522
  /* @__PURE__ */ jsx48("p", { className: "m-0 text-[13px] text-[var(--text-secondary)]", children: statusLabel2 ?? (snapshot?.status === "ready" ? t("agentHost.agentGui.targetSetupComplete", {
29727
29523
  provider: providerLabel
29728
29524
  }) : t("agentHost.agentGui.targetSetupRemaining", {
29729
29525
  provider: providerLabel
29730
29526
  })) }),
29731
- /* @__PURE__ */ jsxs35("ol", { className: "m-0 flex list-none flex-col divide-y divide-[var(--border-1)] p-0", children: [
29527
+ /* @__PURE__ */ jsxs34("ol", { className: "m-0 flex list-none flex-col divide-y divide-[var(--border-1)] p-0", children: [
29732
29528
  /* @__PURE__ */ jsx48(
29733
29529
  SetupTrackRow,
29734
29530
  {
@@ -29778,9 +29574,9 @@ function AgentTargetSetupGate({
29778
29574
  children: authenticatePending ? t("agentHost.agentGui.targetSetupAuthStarting") : snapshot?.status === "ready" ? t("agentHost.agentGui.targetSetupReauthenticate") : t("agentHost.agentGui.targetSetupAuthenticate")
29779
29575
  }
29780
29576
  ) : void 0,
29781
- children: snapshot?.status === "auth_required" && authMethods.length > 0 ? /* @__PURE__ */ jsxs35("label", { className: "mt-2 flex flex-col gap-1 text-[12px] text-[var(--text-secondary)]", children: [
29577
+ children: snapshot?.status === "auth_required" && authMethods.length > 0 ? /* @__PURE__ */ jsxs34("label", { className: "mt-2 flex flex-col gap-1 text-[12px] text-[var(--text-secondary)]", children: [
29782
29578
  t("agentHost.agentGui.targetSetupAuthMethod"),
29783
- /* @__PURE__ */ jsxs35(
29579
+ /* @__PURE__ */ jsxs34(
29784
29580
  Select4,
29785
29581
  {
29786
29582
  value: effectiveAuthMethodId,
@@ -29809,7 +29605,7 @@ function AgentTargetSetupGate({
29809
29605
  }
29810
29606
  )
29811
29607
  ] }),
29812
- failed || snapshot?.status === "failed" || actionFailed ? /* @__PURE__ */ jsxs35("p", { className: "m-0 text-[12px] text-[var(--state-danger)]", children: [
29608
+ failed || snapshot?.status === "failed" || actionFailed ? /* @__PURE__ */ jsxs34("p", { className: "m-0 text-[12px] text-[var(--state-danger)]", children: [
29813
29609
  /* @__PURE__ */ jsx48("span", { className: "block", children: snapshot?.action?.kind === "authenticate" ? t("agentHost.agentGui.targetSetupAuthFailed") : t("agentHost.agentGui.targetSetupFailed") }),
29814
29610
  snapshot?.action?.errorMessage?.trim() ? /* @__PURE__ */ jsx48("span", { className: "mt-1 block break-words text-[var(--text-secondary)]", children: snapshot.action.errorMessage.trim() }) : null
29815
29611
  ] }) : null
@@ -29832,15 +29628,15 @@ function SetupTrackRow({
29832
29628
  status,
29833
29629
  warning = false
29834
29630
  }) {
29835
- return /* @__PURE__ */ jsxs35(
29631
+ return /* @__PURE__ */ jsxs34(
29836
29632
  "li",
29837
29633
  {
29838
29634
  "data-status": status,
29839
29635
  className: `flex items-start gap-2.5 py-3 ${status === "pending" ? "opacity-50" : ""}`,
29840
29636
  children: [
29841
29637
  /* @__PURE__ */ jsx48("span", { className: "mt-0.5 shrink-0", children: /* @__PURE__ */ jsx48(AgentSetupStepIcon, { status, warning }) }),
29842
- /* @__PURE__ */ jsxs35("span", { className: "min-w-0 flex-1", children: [
29843
- /* @__PURE__ */ jsxs35("span", { className: "flex min-w-0 items-baseline gap-2", children: [
29638
+ /* @__PURE__ */ jsxs34("span", { className: "min-w-0 flex-1", children: [
29639
+ /* @__PURE__ */ jsxs34("span", { className: "flex min-w-0 items-baseline gap-2", children: [
29844
29640
  /* @__PURE__ */ jsx48(
29845
29641
  "span",
29846
29642
  {
@@ -29897,7 +29693,7 @@ function targetSetupPhaseLabel(t, phase) {
29897
29693
 
29898
29694
  // agent-gui/agentGuiNode/view/AgentGUIAgentTargetName.tsx
29899
29695
  import { cn as cn6 } from "@tutti-os/ui-system";
29900
- import { Fragment as Fragment16, jsx as jsx49, jsxs as jsxs36 } from "react/jsx-runtime";
29696
+ import { Fragment as Fragment16, jsx as jsx49, jsxs as jsxs35 } from "react/jsx-runtime";
29901
29697
  function projectAgentGUIAgentTargetName(input) {
29902
29698
  const agentLabel = input.target.label.trim();
29903
29699
  const ownerLabel = input.target.ownership === "shared" ? input.target.ownerLabel?.trim() || null : null;
@@ -29923,7 +29719,7 @@ function AgentGUIAgentTargetName({
29923
29719
  {
29924
29720
  className: cn6("flex min-w-0 max-w-full items-baseline", className),
29925
29721
  title: presentation.fullLabel,
29926
- children: presentation.ownerLabel ? /* @__PURE__ */ jsxs36(Fragment16, { children: [
29722
+ children: presentation.ownerLabel ? /* @__PURE__ */ jsxs35(Fragment16, { children: [
29927
29723
  /* @__PURE__ */ jsx49(
29928
29724
  "span",
29929
29725
  {
@@ -29932,7 +29728,7 @@ function AgentGUIAgentTargetName({
29932
29728
  children: presentation.ownerLabel
29933
29729
  }
29934
29730
  ),
29935
- /* @__PURE__ */ jsxs36(
29731
+ /* @__PURE__ */ jsxs35(
29936
29732
  "span",
29937
29733
  {
29938
29734
  className: "shrink-0 whitespace-pre",
@@ -29949,7 +29745,7 @@ function AgentGUIAgentTargetName({
29949
29745
  }
29950
29746
 
29951
29747
  // agent-gui/agentGuiNode/view/AgentGUIEmptyState.tsx
29952
- import { Fragment as Fragment17, jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
29748
+ import { Fragment as Fragment17, jsx as jsx50, jsxs as jsxs36 } from "react/jsx-runtime";
29953
29749
  function resolveAgentGUIHeroIconUrl2(provider) {
29954
29750
  const normalizedProvider = normalizeManagedAgentProvider(provider);
29955
29751
  return MANAGED_AGENT_ICON_URLS[normalizedProvider] ?? MANAGED_AGENT_ICON_FALLBACK_URL;
@@ -29973,7 +29769,6 @@ var AgentGUIEmptyHomePane = memo2(function AgentGUIEmptyHomePane2({
29973
29769
  agentTargets,
29974
29770
  selectedAgentTarget,
29975
29771
  onProviderSelect,
29976
- previewMode,
29977
29772
  labels,
29978
29773
  ...heroProps
29979
29774
  }) {
@@ -30001,7 +29796,6 @@ var AgentGUIEmptyHomePane = memo2(function AgentGUIEmptyHomePane2({
30001
29796
  activeAgentTargetId: selectedAgentTarget?.agentTargetId ?? selectedAgentTarget?.targetId,
30002
29797
  items: avatarPresentations,
30003
29798
  onProviderSelect,
30004
- previewMode,
30005
29799
  providerSelectLabel: labels.providerSwitchLabel,
30006
29800
  children: /* @__PURE__ */ jsx50(
30007
29801
  AgentTargetSetupGate,
@@ -30078,7 +29872,7 @@ var AgentGUIEmptyHeroPane = memo2(function AgentGUIEmptyHeroPane2({
30078
29872
  const heroIconAnimationKey = heroAvatarPresentations.map(
30079
29873
  (avatar) => `${avatar.agentTargetId}:${avatar.iconUrl}:${avatar.badge?.iconUrl ?? ""}`
30080
29874
  ).join("|");
30081
- return /* @__PURE__ */ jsx50("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs37("div", { className: AgentGUINode_styles_default.emptyHeroBody, children: [
29875
+ return /* @__PURE__ */ jsx50("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs36("div", { className: AgentGUINode_styles_default.emptyHeroBody, children: [
30082
29876
  /* @__PURE__ */ jsx50(
30083
29877
  "div",
30084
29878
  {
@@ -30173,7 +29967,7 @@ var AgentGUIProviderReadinessGatePane = memo2(
30173
29967
  const titleLabel = gate.status === "not_installed" || gate.status === "auth_required" ? emptyLabel : content.title;
30174
29968
  const action = resolveAgentGUIProviderReadinessAction(gate.status);
30175
29969
  const pendingLabel = pendingAction === "install" ? labels.providerGatePendingInstall : pendingAction === "login" ? labels.providerGatePendingLogin : pendingAction === "refresh" ? labels.providerGatePendingRefresh : null;
30176
- return /* @__PURE__ */ jsx50("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs37(
29970
+ return /* @__PURE__ */ jsx50("div", { className: AgentGUINode_styles_default.emptyHero, children: /* @__PURE__ */ jsxs36(
30177
29971
  "div",
30178
29972
  {
30179
29973
  className: cn7(AgentGUINode_styles_default.emptyHeroBody, AgentGUINode_styles_default.emptyProviderGate),
@@ -30295,7 +30089,7 @@ function AgentGUIAgentAvatarVisual({
30295
30089
  imageClassName,
30296
30090
  presentation
30297
30091
  }) {
30298
- return /* @__PURE__ */ jsxs37(
30092
+ return /* @__PURE__ */ jsxs36(
30299
30093
  "span",
30300
30094
  {
30301
30095
  "aria-hidden": "true",
@@ -30341,9 +30135,9 @@ function EmptyHeroTitle({
30341
30135
  const selectedAgentTargetId = selectedAgentTarget?.targetId ?? `local:${selectedAgentTarget?.provider ?? ""}`;
30342
30136
  const canSwitchProvider = agentTargets.length > 1 && selectedAgentTarget && onProviderSelect;
30343
30137
  const providerName = label.slice(providerStart, providerEnd);
30344
- return /* @__PURE__ */ jsxs37(Fragment17, { children: [
30138
+ return /* @__PURE__ */ jsxs36(Fragment17, { children: [
30345
30139
  label.slice(0, providerStart),
30346
- canSwitchProvider ? /* @__PURE__ */ jsxs37(
30140
+ canSwitchProvider ? /* @__PURE__ */ jsxs36(
30347
30141
  Select5,
30348
30142
  {
30349
30143
  value: selectedAgentTargetId,
@@ -30390,7 +30184,7 @@ function EmptyHeroTitle({
30390
30184
  {
30391
30185
  value: target.targetId,
30392
30186
  className: cn7(AgentGUINode_styles_default.composerMenuItem, "gap-2"),
30393
- children: /* @__PURE__ */ jsxs37("span", { className: "flex min-w-0 items-center gap-1.5", children: [
30187
+ children: /* @__PURE__ */ jsxs36("span", { className: "flex min-w-0 items-center gap-1.5", children: [
30394
30188
  /* @__PURE__ */ jsx50(
30395
30189
  "img",
30396
30190
  {
@@ -30445,7 +30239,7 @@ import {
30445
30239
  DialogTitle as DialogTitle2,
30446
30240
  toast as toast3
30447
30241
  } from "@tutti-os/ui-system";
30448
- import { jsx as jsx51, jsxs as jsxs38 } from "react/jsx-runtime";
30242
+ import { jsx as jsx51, jsxs as jsxs37 } from "react/jsx-runtime";
30449
30243
  var AGENT_MANAGER_LONG_PRESS_MOVE_TOLERANCE_PX = 8;
30450
30244
  var AGENT_MANAGER_DROP_HYSTERESIS_PX = 8;
30451
30245
  function AgentGUIProviderManagerDialog({
@@ -30668,7 +30462,7 @@ function AgentGUIProviderManagerDialog({
30668
30462
  };
30669
30463
  const disabledDropBlocked = dragState?.source === "available" && (finalAvailableAgent || running.has(dragState.targetId));
30670
30464
  const disabledDropBlockedByRunning = dragState?.source === "available" && running.has(dragState.targetId);
30671
- return /* @__PURE__ */ jsx51(Dialog2, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs38(
30465
+ return /* @__PURE__ */ jsx51(Dialog2, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs37(
30672
30466
  DialogContent2,
30673
30467
  {
30674
30468
  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]",
@@ -30683,17 +30477,17 @@ function AgentGUIProviderManagerDialog({
30683
30477
  setEditing(false);
30684
30478
  },
30685
30479
  children: [
30686
- /* @__PURE__ */ jsxs38(DialogHeader2, { className: "shrink-0 border-b border-[var(--border-1)] px-5 py-4", children: [
30480
+ /* @__PURE__ */ jsxs37(DialogHeader2, { className: "shrink-0 border-b border-[var(--border-1)] px-5 py-4", children: [
30687
30481
  /* @__PURE__ */ jsx51(DialogTitle2, { children: labels.manageAgentsTitle }),
30688
30482
  /* @__PURE__ */ jsx51(DialogDescription2, { children: labels.manageAgentsDescription })
30689
30483
  ] }),
30690
- /* @__PURE__ */ jsxs38(
30484
+ /* @__PURE__ */ jsxs37(
30691
30485
  "div",
30692
30486
  {
30693
30487
  className: "min-h-0 flex-1 overflow-y-auto px-5 py-4",
30694
30488
  onClick: exitEditingFromBlankSpace,
30695
30489
  children: [
30696
- /* @__PURE__ */ jsxs38(
30490
+ /* @__PURE__ */ jsxs37(
30697
30491
  "section",
30698
30492
  {
30699
30493
  "aria-labelledby": "agent-manager-available-heading",
@@ -30722,7 +30516,7 @@ function AgentGUIProviderManagerDialog({
30722
30516
  children: availableTargets.map((target) => {
30723
30517
  const label = target.label.trim() || target.provider;
30724
30518
  const targetRunning = running.has(target.targetId);
30725
- return /* @__PURE__ */ jsxs38(
30519
+ return /* @__PURE__ */ jsxs37(
30726
30520
  "div",
30727
30521
  {
30728
30522
  "aria-label": labels.dragAgentToReorder(label),
@@ -30811,7 +30605,7 @@ function AgentGUIProviderManagerDialog({
30811
30605
  ]
30812
30606
  }
30813
30607
  ),
30814
- /* @__PURE__ */ jsxs38(
30608
+ /* @__PURE__ */ jsxs37(
30815
30609
  "section",
30816
30610
  {
30817
30611
  "aria-labelledby": "agent-manager-disabled-heading",
@@ -30845,7 +30639,7 @@ function AgentGUIProviderManagerDialog({
30845
30639
  role: "list",
30846
30640
  children: disabledTargets.map((target) => {
30847
30641
  const label = target.label.trim() || target.provider;
30848
- return /* @__PURE__ */ jsxs38(
30642
+ return /* @__PURE__ */ jsxs37(
30849
30643
  "div",
30850
30644
  {
30851
30645
  "aria-label": labels.dragAgentToReorder(label),
@@ -30986,7 +30780,7 @@ function useAgentGUIProviderRailPreferences() {
30986
30780
  }
30987
30781
 
30988
30782
  // agent-gui/agentGuiNode/view/AgentGUIProviderRail.tsx
30989
- import { jsx as jsx52, jsxs as jsxs39 } from "react/jsx-runtime";
30783
+ import { jsx as jsx52, jsxs as jsxs38 } from "react/jsx-runtime";
30990
30784
  var agentGUIProviderRailCatalog = [
30991
30785
  ...migratedAgentGUIProviderIdentityCatalog
30992
30786
  ].sort((left, right) => left.target.sortOrder - right.target.sortOrder);
@@ -31059,7 +30853,6 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31059
30853
  labels,
31060
30854
  managerOpen,
31061
30855
  onManagerOpenChange,
31062
- previewMode,
31063
30856
  selectedAgentTarget,
31064
30857
  agentTargets,
31065
30858
  agentTargetsLoading,
@@ -31166,7 +30959,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31166
30959
  }, [setProviderRailDragState]);
31167
30960
  const handleProviderRailDragStart = useCallback50(
31168
30961
  (event, target) => {
31169
- if (previewMode || agentTargetsLoading) {
30962
+ if (agentTargetsLoading) {
31170
30963
  event.preventDefault();
31171
30964
  return;
31172
30965
  }
@@ -31178,11 +30971,11 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31178
30971
  position: null
31179
30972
  });
31180
30973
  },
31181
- [previewMode, agentTargetsLoading, setProviderRailDragState]
30974
+ [agentTargetsLoading, setProviderRailDragState]
31182
30975
  );
31183
30976
  const handleProviderRailDragOver = useCallback50(
31184
30977
  (event, target) => {
31185
- if (previewMode || agentTargetsLoading || !dragState) {
30978
+ if (agentTargetsLoading || !dragState) {
31186
30979
  return;
31187
30980
  }
31188
30981
  event.preventDefault();
@@ -31210,7 +31003,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31210
31003
  position
31211
31004
  });
31212
31005
  },
31213
- [dragState, previewMode, agentTargetsLoading, setProviderRailDragState]
31006
+ [dragState, agentTargetsLoading, setProviderRailDragState]
31214
31007
  );
31215
31008
  const commitProviderRailDragDrop = useCallback50(
31216
31009
  (event) => {
@@ -31220,7 +31013,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31220
31013
  overTargetId: null,
31221
31014
  position: null
31222
31015
  } : null);
31223
- if (previewMode || agentTargetsLoading || !activeDragState) {
31016
+ if (agentTargetsLoading || !activeDragState) {
31224
31017
  clearProviderRailDragState();
31225
31018
  return;
31226
31019
  }
@@ -31282,7 +31075,6 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31282
31075
  clearProviderRailDragState,
31283
31076
  dragState,
31284
31077
  persistProviderRailPreferences,
31285
- previewMode,
31286
31078
  agentTargetsLoading,
31287
31079
  effectiveProviderRailPreferences,
31288
31080
  visibleProviderTiles
@@ -31344,7 +31136,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31344
31136
  const handleProviderRailContainerDragOver = useCallback50(
31345
31137
  (event) => {
31346
31138
  const activeDragState = dragStateRef.current ?? dragState;
31347
- if (!activeDragState || previewMode || agentTargetsLoading) {
31139
+ if (!activeDragState || agentTargetsLoading) {
31348
31140
  return;
31349
31141
  }
31350
31142
  event.preventDefault();
@@ -31383,7 +31175,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31383
31175
  position
31384
31176
  });
31385
31177
  },
31386
- [dragState, previewMode, agentTargetsLoading, setProviderRailDragState]
31178
+ [dragState, agentTargetsLoading, setProviderRailDragState]
31387
31179
  );
31388
31180
  const providerManagerDialog = /* @__PURE__ */ jsx52(
31389
31181
  AgentGUIProviderManagerDialog,
@@ -31399,7 +31191,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31399
31191
  }
31400
31192
  );
31401
31193
  if (providerRailMode === "exact" && !agentTargetsLoading && visibleProviderTiles.length === 0 && renderProviderRailEmpty) {
31402
- return /* @__PURE__ */ jsxs39(
31194
+ return /* @__PURE__ */ jsxs38(
31403
31195
  "div",
31404
31196
  {
31405
31197
  className: AgentGUINode_styles_default.providerRail,
@@ -31414,8 +31206,8 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31414
31206
  }
31415
31207
  );
31416
31208
  }
31417
- return /* @__PURE__ */ jsxs39("div", { className: AgentGUINode_styles_default.providerRail, children: [
31418
- /* @__PURE__ */ jsxs39(
31209
+ return /* @__PURE__ */ jsxs38("div", { className: AgentGUINode_styles_default.providerRail, children: [
31210
+ /* @__PURE__ */ jsxs38(
31419
31211
  "div",
31420
31212
  {
31421
31213
  className: "flex min-h-0 w-full flex-col items-center",
@@ -31425,7 +31217,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31425
31217
  onDragOver: handleProviderRailContainerDragOver,
31426
31218
  onDrop: commitProviderRailDragDrop,
31427
31219
  children: [
31428
- /* @__PURE__ */ jsxs39(
31220
+ /* @__PURE__ */ jsxs38(
31429
31221
  "button",
31430
31222
  {
31431
31223
  type: "button",
@@ -31434,7 +31226,6 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31434
31226
  "aria-selected": allTileSelected,
31435
31227
  className: AgentGUINode_styles_default.providerRailTile,
31436
31228
  "data-selected": allTileSelected ? "true" : "false",
31437
- disabled: previewMode,
31438
31229
  onClick: selectAllProviders,
31439
31230
  children: [
31440
31231
  /* @__PURE__ */ jsx52(
@@ -31495,13 +31286,12 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31495
31286
  "data-provider-tile": "true",
31496
31287
  "data-provider-target-id": target.targetId,
31497
31288
  "data-selected": providerSelected ? "true" : "false",
31498
- disabled: previewMode,
31499
- draggable: !previewMode && !agentTargetsLoading,
31289
+ draggable: !agentTargetsLoading,
31500
31290
  onClick: () => selectAgentTargetTile(target),
31501
31291
  onDragEnd: clearProviderRailDragState,
31502
31292
  onDragOver: (event) => handleProviderRailDragOver(event, target),
31503
31293
  onDragStart: (event) => handleProviderRailDragStart(event, target),
31504
- children: /* @__PURE__ */ jsxs39("span", { className: AgentGUINode_styles_default.providerRailAvatar, children: [
31294
+ children: /* @__PURE__ */ jsxs38("span", { className: AgentGUINode_styles_default.providerRailAvatar, children: [
31505
31295
  /* @__PURE__ */ jsx52(
31506
31296
  AgentGUIProviderIconVisual,
31507
31297
  {
@@ -31535,10 +31325,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31535
31325
  },
31536
31326
  `${target.provider}:${target.targetId}`
31537
31327
  );
31538
- if (previewMode) {
31539
- return tile;
31540
- }
31541
- return /* @__PURE__ */ jsxs39(Tooltip9, { children: [
31328
+ return /* @__PURE__ */ jsxs38(Tooltip9, { children: [
31542
31329
  /* @__PURE__ */ jsx52(TooltipTrigger9, { asChild: true, children: tile }),
31543
31330
  /* @__PURE__ */ jsx52(TooltipContent9, { side: "right", sideOffset: -4, children: label })
31544
31331
  ] }, `${target.provider}:${target.targetId}:tooltip`);
@@ -31572,7 +31359,7 @@ var styles3 = {
31572
31359
  var RoomIssueNode_styles_default = styles3;
31573
31360
 
31574
31361
  // agent-gui/RoomIssueNode/TaskSearchField.tsx
31575
- import { jsx as jsx53, jsxs as jsxs40 } from "react/jsx-runtime";
31362
+ import { jsx as jsx53, jsxs as jsxs39 } from "react/jsx-runtime";
31576
31363
  function TaskSearchField({
31577
31364
  ariaLabel,
31578
31365
  className,
@@ -31586,7 +31373,7 @@ function TaskSearchField({
31586
31373
  "use memo";
31587
31374
  const { t } = useTranslation();
31588
31375
  const searchInput = useComposedInputValue({ onCommit: onChange, value });
31589
- return /* @__PURE__ */ jsxs40(
31376
+ return /* @__PURE__ */ jsxs39(
31590
31377
  "div",
31591
31378
  {
31592
31379
  className: `${RoomIssueNode_styles_default.searchField} ${className ?? ""}`.trim(),
@@ -31641,7 +31428,7 @@ function isTaskSearchImeComposing(event) {
31641
31428
  }
31642
31429
 
31643
31430
  // agent-gui/agentGuiNode/AgentConversationListSkeleton.tsx
31644
- import { jsx as jsx54, jsxs as jsxs41 } from "react/jsx-runtime";
31431
+ import { jsx as jsx54, jsxs as jsxs40 } from "react/jsx-runtime";
31645
31432
  var SKELETON_ROWS = [
31646
31433
  { id: "first", size: "long" },
31647
31434
  { id: "second", size: "medium" },
@@ -31660,7 +31447,7 @@ function AgentConversationListSkeleton({
31660
31447
  role: "status",
31661
31448
  "aria-label": label,
31662
31449
  "data-testid": "agent-gui-conversation-list-loading-skeleton",
31663
- children: SKELETON_ROWS.map((row) => /* @__PURE__ */ jsxs41(
31450
+ children: SKELETON_ROWS.map((row) => /* @__PURE__ */ jsxs40(
31664
31451
  "div",
31665
31452
  {
31666
31453
  className: "agent-gui-node__conversation-list-skeleton-row",
@@ -32788,7 +32575,7 @@ function renderAgentConversationCopyHtml(markdown) {
32788
32575
  }
32789
32576
 
32790
32577
  // agent-gui/agentGuiNode/view/AgentGUIConversationActionsMenu.tsx
32791
- import { Fragment as Fragment19, jsx as jsx59, jsxs as jsxs42 } from "react/jsx-runtime";
32578
+ import { Fragment as Fragment19, jsx as jsx59, jsxs as jsxs41 } from "react/jsx-runtime";
32792
32579
  var menuContentClassName = "w-max min-w-44 nodrag [-webkit-app-region:no-drag]";
32793
32580
  async function writeTextAndHtmlWithWebClipboard(text, html) {
32794
32581
  if (typeof navigator === "undefined" || typeof navigator.clipboard?.write !== "function" || typeof ClipboardItem === "undefined") {
@@ -33045,7 +32832,7 @@ function AgentGUIConversationActionsDropdown({
33045
32832
  moreSessionActionsLabel
33046
32833
  }) {
33047
32834
  const [open, setOpen] = useState34(false);
33048
- return /* @__PURE__ */ jsxs42(DropdownMenu4, { onOpenChange: setOpen, children: [
32835
+ return /* @__PURE__ */ jsxs41(DropdownMenu4, { onOpenChange: setOpen, children: [
33049
32836
  /* @__PURE__ */ jsx59(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx59(
33050
32837
  BareIconButton2,
33051
32838
  {
@@ -33075,7 +32862,7 @@ function AgentGUIConversationActionsContextMenu({
33075
32862
  menu
33076
32863
  }) {
33077
32864
  const [open, setOpen] = useState34(false);
33078
- return /* @__PURE__ */ jsxs42(ContextMenu, { onOpenChange: setOpen, children: [
32865
+ return /* @__PURE__ */ jsxs41(ContextMenu, { onOpenChange: setOpen, children: [
33079
32866
  /* @__PURE__ */ jsx59(ContextMenuTrigger, { asChild: true, children }),
33080
32867
  open ? /* @__PURE__ */ jsx59(ContextMenuContent, { className: menuContentClassName, children: /* @__PURE__ */ jsx59(ContextActionGroups, { groups: menu.groups }) }) : null
33081
32868
  ] }, menu.resetKey);
@@ -33083,14 +32870,14 @@ function AgentGUIConversationActionsContextMenu({
33083
32870
  function DropdownActionGroups({
33084
32871
  groups
33085
32872
  }) {
33086
- return /* @__PURE__ */ jsx59(Fragment19, { children: groups.map((group, groupIndex) => /* @__PURE__ */ jsxs42(Fragment18, { children: [
32873
+ return /* @__PURE__ */ jsx59(Fragment19, { children: groups.map((group, groupIndex) => /* @__PURE__ */ jsxs41(Fragment18, { children: [
33087
32874
  groupIndex > 0 ? /* @__PURE__ */ jsx59(DropdownMenuSeparator2, {}) : null,
33088
32875
  group.map((entry) => (
33089
32876
  // onClick/onPointerUp mirror onSelect so the action survives
33090
32877
  // workbench dead clicks (pointerup arrives but the click event
33091
32878
  // is swallowed); the shared runner's pending ref dedups the
33092
32879
  // overlapping events of one gesture.
33093
- /* @__PURE__ */ jsxs42(
32880
+ /* @__PURE__ */ jsxs41(
33094
32881
  DropdownMenuItem3,
33095
32882
  {
33096
32883
  disabled: entry.disabled,
@@ -33118,11 +32905,11 @@ function DropdownActionGroups({
33118
32905
  function ContextActionGroups({
33119
32906
  groups
33120
32907
  }) {
33121
- return /* @__PURE__ */ jsx59(Fragment19, { children: groups.map((group, groupIndex) => /* @__PURE__ */ jsxs42(Fragment18, { children: [
32908
+ return /* @__PURE__ */ jsx59(Fragment19, { children: groups.map((group, groupIndex) => /* @__PURE__ */ jsxs41(Fragment18, { children: [
33122
32909
  groupIndex > 0 ? /* @__PURE__ */ jsx59(ContextMenuSeparator, {}) : null,
33123
32910
  group.map((entry) => (
33124
32911
  // Same dead-click fallbacks as DropdownActionGroups.
33125
- /* @__PURE__ */ jsxs42(
32912
+ /* @__PURE__ */ jsxs41(
33126
32913
  ContextMenuItem,
33127
32914
  {
33128
32915
  disabled: entry.disabled,
@@ -33149,7 +32936,7 @@ function ContextActionGroups({
33149
32936
  }
33150
32937
 
33151
32938
  // agent-gui/agentGuiNode/view/AgentGUIConversationRailItem.tsx
33152
- import { Fragment as Fragment20, jsx as jsx60, jsxs as jsxs43 } from "react/jsx-runtime";
32939
+ import { Fragment as Fragment20, jsx as jsx60, jsxs as jsxs42 } from "react/jsx-runtime";
33153
32940
  function agentGUIConversationIconPresentation(provider, agentTargetId, workspaceId, agentTargets) {
33154
32941
  const targetPresentation = resolveAgentTargetPresentation({
33155
32942
  agentTargetId: agentTargetId ?? "",
@@ -33178,7 +32965,6 @@ var AgentGUIConversationRailItem = memo4(
33178
32965
  isDeletingConversation,
33179
32966
  isRailInteractionLocked,
33180
32967
  labels,
33181
- previewMode,
33182
32968
  uiLanguage,
33183
32969
  workspaceId,
33184
32970
  registerItemElement,
@@ -33241,7 +33027,7 @@ var AgentGUIConversationRailItem = memo4(
33241
33027
  }
33242
33028
  };
33243
33029
  const canMarkUnread = Boolean(
33244
- !previewMode && !item.hasUnreadCompletion && item.isImported !== true && (item.unreadCompletionKey || item.status === "completed" || item.status === "ready")
33030
+ !item.hasUnreadCompletion && item.isImported !== true && (item.unreadCompletionKey || item.status === "completed" || item.status === "ready")
33245
33031
  );
33246
33032
  const menu = useConversationActionGroups({
33247
33033
  canMarkUnread,
@@ -33254,7 +33040,7 @@ var AgentGUIConversationRailItem = memo4(
33254
33040
  onOpenConversationWindow,
33255
33041
  onRequestRenameConversation
33256
33042
  });
33257
- const row = /* @__PURE__ */ jsxs43(
33043
+ const row = /* @__PURE__ */ jsxs42(
33258
33044
  "div",
33259
33045
  {
33260
33046
  ref: setItemElement,
@@ -33271,7 +33057,7 @@ var AgentGUIConversationRailItem = memo4(
33271
33057
  },
33272
33058
  onMouseLeave: handleMouseLeave,
33273
33059
  children: [
33274
- /* @__PURE__ */ jsxs43(
33060
+ /* @__PURE__ */ jsxs42(
33275
33061
  "button",
33276
33062
  {
33277
33063
  type: "button",
@@ -33282,7 +33068,7 @@ var AgentGUIConversationRailItem = memo4(
33282
33068
  handleRequestRename();
33283
33069
  },
33284
33070
  children: [
33285
- /* @__PURE__ */ jsxs43("span", { className: AgentGUINode_styles_default.conversationTitleRow, children: [
33071
+ /* @__PURE__ */ jsxs42("span", { className: AgentGUINode_styles_default.conversationTitleRow, children: [
33286
33072
  conversationIcon?.kind === "mask" ? /* @__PURE__ */ jsx60(
33287
33073
  "span",
33288
33074
  {
@@ -33315,7 +33101,7 @@ var AgentGUIConversationRailItem = memo4(
33315
33101
  ]
33316
33102
  }
33317
33103
  ),
33318
- previewMode ? null : /* @__PURE__ */ jsx60("div", { className: AgentGUINode_styles_default.conversationActions, children: isPendingDeleteConversation ? /* @__PURE__ */ jsx60(
33104
+ /* @__PURE__ */ jsx60("div", { className: AgentGUINode_styles_default.conversationActions, children: isPendingDeleteConversation ? /* @__PURE__ */ jsx60(
33319
33105
  "button",
33320
33106
  {
33321
33107
  type: "button",
@@ -33331,7 +33117,7 @@ var AgentGUIConversationRailItem = memo4(
33331
33117
  },
33332
33118
  children: /* @__PURE__ */ jsx60("span", { className: AgentGUINode_styles_default.conversationDeleteConfirmText, children: labels.deleteSessionConfirm })
33333
33119
  }
33334
- ) : /* @__PURE__ */ jsxs43(Fragment20, { children: [
33120
+ ) : /* @__PURE__ */ jsxs42(Fragment20, { children: [
33335
33121
  onOpenConversationWindow ? /* @__PURE__ */ jsx60(
33336
33122
  BareIconButton3,
33337
33123
  {
@@ -33404,9 +33190,6 @@ var AgentGUIConversationRailItem = memo4(
33404
33190
  ]
33405
33191
  }
33406
33192
  );
33407
- if (previewMode) {
33408
- return row;
33409
- }
33410
33193
  return /* @__PURE__ */ jsx60(AgentGUIConversationActionsContextMenu, { menu, children: row });
33411
33194
  }
33412
33195
  );
@@ -33425,9 +33208,9 @@ function AgentGUIProjectRailHeader({
33425
33208
  }),
33426
33209
  [agentHostApi.userProjects, selectProjectDirectory]
33427
33210
  );
33428
- return /* @__PURE__ */ jsxs43("div", { className: AgentGUINode_styles_default.projectRailHeader, children: [
33211
+ return /* @__PURE__ */ jsxs42("div", { className: AgentGUINode_styles_default.projectRailHeader, children: [
33429
33212
  /* @__PURE__ */ jsx60("div", { className: AgentGUINode_styles_default.projectRailTitle, children: /* @__PURE__ */ jsx60("span", { children: workspaceUserProjectI18n.tFirst(["projectSelect.projectLabel"]) }) }),
33430
- /* @__PURE__ */ jsxs43("div", { className: AgentGUINode_styles_default.projectRailAddProject, children: [
33213
+ /* @__PURE__ */ jsxs42("div", { className: AgentGUINode_styles_default.projectRailAddProject, children: [
33431
33214
  /* @__PURE__ */ jsx60(
33432
33215
  WorkspaceUserProjectSelect2,
33433
33216
  {
@@ -33505,7 +33288,7 @@ import {
33505
33288
  } from "@tutti-os/ui-system/components";
33506
33289
  import {
33507
33290
  CreateChatIcon,
33508
- FolderIcon as FolderIcon2,
33291
+ FolderIcon,
33509
33292
  FolderOpenLinedIcon,
33510
33293
  MoreHorizontalIcon
33511
33294
  } from "@tutti-os/ui-system/icons";
@@ -33568,7 +33351,7 @@ function readSectionPresentationValue(value, name) {
33568
33351
  }
33569
33352
 
33570
33353
  // agent-gui/agentGuiNode/view/AgentGUIConversationRailSectionHeader.tsx
33571
- import { jsx as jsx62, jsxs as jsxs44 } from "react/jsx-runtime";
33354
+ import { jsx as jsx62, jsxs as jsxs43 } from "react/jsx-runtime";
33572
33355
  function HeaderFrame({
33573
33356
  children,
33574
33357
  isProjectSection,
@@ -33599,7 +33382,7 @@ var HeaderIdentity = memo5(function HeaderIdentity2({
33599
33382
  if (!isProjectSection) {
33600
33383
  return /* @__PURE__ */ jsx62("div", { className: AgentGUINode_styles_default.conversationSectionToggle, children: /* @__PURE__ */ jsx62("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: /* @__PURE__ */ jsx62("span", { children: sectionLabel }) }) });
33601
33384
  }
33602
- return /* @__PURE__ */ jsxs44(
33385
+ return /* @__PURE__ */ jsxs43(
33603
33386
  "button",
33604
33387
  {
33605
33388
  type: "button",
@@ -33615,9 +33398,9 @@ var HeaderIdentity = memo5(function HeaderIdentity2({
33615
33398
  className: AgentGUINode_styles_default.conversationSectionChevron
33616
33399
  }
33617
33400
  ),
33618
- /* @__PURE__ */ jsxs44("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: [
33401
+ /* @__PURE__ */ jsxs43("span", { className: AgentGUINode_styles_default.conversationSectionLabel, children: [
33619
33402
  isSectionCollapsed ? /* @__PURE__ */ jsx62(
33620
- FolderIcon2,
33403
+ FolderIcon,
33621
33404
  {
33622
33405
  "aria-hidden": "true",
33623
33406
  className: AgentGUINode_styles_default.conversationSectionLabelIcon,
@@ -33640,8 +33423,7 @@ var HeaderIdentity = memo5(function HeaderIdentity2({
33640
33423
  var CreateAction = memo5(function CreateAction2({
33641
33424
  createConversationDisabled,
33642
33425
  createConversationLabel,
33643
- onCreateConversation,
33644
- previewMode
33426
+ onCreateConversation
33645
33427
  }) {
33646
33428
  "use memo";
33647
33429
  const button = /* @__PURE__ */ jsx62(
@@ -33656,10 +33438,7 @@ var CreateAction = memo5(function CreateAction2({
33656
33438
  children: /* @__PURE__ */ jsx62(CreateChatIcon, { "aria-hidden": "true" })
33657
33439
  }
33658
33440
  );
33659
- if (previewMode) {
33660
- return /* @__PURE__ */ jsx62("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: button });
33661
- }
33662
- return /* @__PURE__ */ jsxs44(Tooltip10, { children: [
33441
+ return /* @__PURE__ */ jsxs43(Tooltip10, { children: [
33663
33442
  /* @__PURE__ */ jsx62(TooltipTrigger10, { asChild: true, children: /* @__PURE__ */ jsx62("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: button }) }),
33664
33443
  /* @__PURE__ */ jsx62(
33665
33444
  TooltipContent10,
@@ -33692,14 +33471,10 @@ var ProjectMenuButton = forwardRef5(
33692
33471
  );
33693
33472
  ProjectMenuButton.displayName = "ProjectMenuButton";
33694
33473
  function ProjectMenuTrigger({
33695
- labels,
33696
- previewMode
33474
+ labels
33697
33475
  }) {
33698
33476
  const accessibleName = labels.projectSectionMoreActions;
33699
- if (previewMode) {
33700
- return /* @__PURE__ */ jsx62(DropdownMenuTrigger5, { asChild: true, children: /* @__PURE__ */ jsx62("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: /* @__PURE__ */ jsx62(ProjectMenuButton, { accessibleName }) }) });
33701
- }
33702
- return /* @__PURE__ */ jsxs44(Tooltip10, { children: [
33477
+ return /* @__PURE__ */ jsxs43(Tooltip10, { children: [
33703
33478
  /* @__PURE__ */ jsx62(TooltipTrigger10, { asChild: true, children: /* @__PURE__ */ jsx62("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: /* @__PURE__ */ jsx62(DropdownMenuTrigger5, { asChild: true, children: /* @__PURE__ */ jsx62(ProjectMenuButton, { accessibleName }) }) }) }),
33704
33479
  /* @__PURE__ */ jsx62(
33705
33480
  TooltipContent10,
@@ -33723,7 +33498,7 @@ function ProjectMenuContent({
33723
33498
  }) {
33724
33499
  const batchDeletionDisabled = useAgentGUIConversationRailSectionBatchDeletionDisabled();
33725
33500
  const projectActionLocked = useAgentGUIConversationRailSectionProjectActionLocked();
33726
- return /* @__PURE__ */ jsxs44(
33501
+ return /* @__PURE__ */ jsxs43(
33727
33502
  DropdownMenuContent5,
33728
33503
  {
33729
33504
  align: "end",
@@ -33779,12 +33554,11 @@ var ProjectMenu = memo5(function ProjectMenu2({
33779
33554
  onRequestBatchDeletion,
33780
33555
  onToggleProjectPinned,
33781
33556
  open,
33782
- previewMode,
33783
33557
  projectPinned
33784
33558
  }) {
33785
33559
  "use memo";
33786
- return /* @__PURE__ */ jsxs44(DropdownMenu5, { onOpenChange, children: [
33787
- /* @__PURE__ */ jsx62(ProjectMenuTrigger, { labels, previewMode }),
33560
+ return /* @__PURE__ */ jsxs43(DropdownMenu5, { onOpenChange, children: [
33561
+ /* @__PURE__ */ jsx62(ProjectMenuTrigger, { labels }),
33788
33562
  open ? /* @__PURE__ */ jsx62(
33789
33563
  ProjectMenuContent,
33790
33564
  {
@@ -33800,23 +33574,10 @@ var ProjectMenu = memo5(function ProjectMenu2({
33800
33574
  ] });
33801
33575
  });
33802
33576
  function ConversationMenuTrigger({
33803
- labels,
33804
- previewMode
33577
+ labels
33805
33578
  }) {
33806
33579
  const accessibleName = labels.conversationsSectionMoreActions;
33807
- if (previewMode) {
33808
- return /* @__PURE__ */ jsx62(DropdownMenuTrigger5, { asChild: true, children: /* @__PURE__ */ jsx62("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: /* @__PURE__ */ jsx62(
33809
- BareIconButton4,
33810
- {
33811
- className: AgentGUINode_styles_default.conversationSectionMoreButton,
33812
- "aria-label": accessibleName,
33813
- size: "sm",
33814
- title: "",
33815
- children: /* @__PURE__ */ jsx62(MoreHorizontalIcon, { "aria-hidden": "true" })
33816
- }
33817
- ) }) });
33818
- }
33819
- return /* @__PURE__ */ jsxs44(Tooltip10, { children: [
33580
+ return /* @__PURE__ */ jsxs43(Tooltip10, { children: [
33820
33581
  /* @__PURE__ */ jsx62(TooltipTrigger10, { asChild: true, children: /* @__PURE__ */ jsx62("span", { className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap, children: /* @__PURE__ */ jsx62(DropdownMenuTrigger5, { asChild: true, children: /* @__PURE__ */ jsx62(
33821
33582
  BareIconButton4,
33822
33583
  {
@@ -33865,11 +33626,10 @@ function ConversationMenu({
33865
33626
  labels,
33866
33627
  onOpenChange,
33867
33628
  onRequestBatchDeletion,
33868
- open,
33869
- previewMode
33629
+ open
33870
33630
  }) {
33871
- return /* @__PURE__ */ jsxs44(DropdownMenu5, { onOpenChange, children: [
33872
- /* @__PURE__ */ jsx62(ConversationMenuTrigger, { labels, previewMode }),
33631
+ return /* @__PURE__ */ jsxs43(DropdownMenu5, { onOpenChange, children: [
33632
+ /* @__PURE__ */ jsx62(ConversationMenuTrigger, { labels }),
33873
33633
  open ? /* @__PURE__ */ jsx62(
33874
33634
  ConversationMenuContent,
33875
33635
  {
@@ -33898,7 +33658,6 @@ var AgentGUIConversationRailSectionHeader = memo5(
33898
33658
  onRequestBatchDeletion,
33899
33659
  onToggleCollapsed,
33900
33660
  onToggleProjectPinned,
33901
- previewMode,
33902
33661
  projectPinned,
33903
33662
  sectionLabel
33904
33663
  }) {
@@ -33913,7 +33672,7 @@ var AgentGUIConversationRailSectionHeader = memo5(
33913
33672
  [onProjectMenuOpenChange]
33914
33673
  );
33915
33674
  const isProjectSection = kind === "project";
33916
- return /* @__PURE__ */ jsxs44(
33675
+ return /* @__PURE__ */ jsxs43(
33917
33676
  HeaderFrame,
33918
33677
  {
33919
33678
  isProjectSection,
@@ -33931,7 +33690,7 @@ var AgentGUIConversationRailSectionHeader = memo5(
33931
33690
  sectionLabel
33932
33691
  }
33933
33692
  ),
33934
- canCreateConversation ? /* @__PURE__ */ jsxs44(
33693
+ canCreateConversation ? /* @__PURE__ */ jsxs43(
33935
33694
  "div",
33936
33695
  {
33937
33696
  className: AgentGUINode_styles_default.conversationSectionActions,
@@ -33942,8 +33701,7 @@ var AgentGUIConversationRailSectionHeader = memo5(
33942
33701
  {
33943
33702
  createConversationDisabled,
33944
33703
  createConversationLabel,
33945
- onCreateConversation,
33946
- previewMode
33704
+ onCreateConversation
33947
33705
  }
33948
33706
  ),
33949
33707
  hasProjectPath ? /* @__PURE__ */ jsx62(
@@ -33957,7 +33715,6 @@ var AgentGUIConversationRailSectionHeader = memo5(
33957
33715
  onRequestBatchDeletion,
33958
33716
  onToggleProjectPinned,
33959
33717
  open: projectMenuOpen,
33960
- previewMode,
33961
33718
  projectPinned
33962
33719
  }
33963
33720
  ) : null,
@@ -33967,8 +33724,7 @@ var AgentGUIConversationRailSectionHeader = memo5(
33967
33724
  labels,
33968
33725
  onOpenChange: setConversationMenuOpen,
33969
33726
  onRequestBatchDeletion,
33970
- open: conversationMenuOpen,
33971
- previewMode
33727
+ open: conversationMenuOpen
33972
33728
  }
33973
33729
  ) : null
33974
33730
  ]
@@ -33981,7 +33737,7 @@ var AgentGUIConversationRailSectionHeader = memo5(
33981
33737
  );
33982
33738
 
33983
33739
  // agent-gui/agentGuiNode/view/AgentGUIConversationRailSection.tsx
33984
- import { jsx as jsx63, jsxs as jsxs45 } from "react/jsx-runtime";
33740
+ import { jsx as jsx63, jsxs as jsxs44 } from "react/jsx-runtime";
33985
33741
  var AgentGUIConversationRailSection = memo6(
33986
33742
  function AgentGUIConversationRailSection2({
33987
33743
  section,
@@ -33992,7 +33748,6 @@ var AgentGUIConversationRailSection = memo6(
33992
33748
  isSectionCollapsed,
33993
33749
  activeConversationId,
33994
33750
  pendingDeleteConversationId,
33995
- previewMode,
33996
33751
  isDeletingConversation,
33997
33752
  isLoadingMoreConversations,
33998
33753
  isRailInteractionLocked,
@@ -34159,7 +33914,7 @@ var AgentGUIConversationRailSection = memo6(
34159
33914
  path: projectPath
34160
33915
  });
34161
33916
  });
34162
- return /* @__PURE__ */ jsxs45(
33917
+ return /* @__PURE__ */ jsxs44(
34163
33918
  "section",
34164
33919
  {
34165
33920
  className: AgentGUINode_styles_default.conversationSection,
@@ -34189,7 +33944,6 @@ var AgentGUIConversationRailSection = memo6(
34189
33944
  onRequestBatchDeletion: handleRequestBatchDeletion,
34190
33945
  onToggleCollapsed: handleToggleCollapsed,
34191
33946
  onToggleProjectPinned: handleToggleProjectPinned,
34192
- previewMode,
34193
33947
  projectPinned,
34194
33948
  sectionLabel: section.label
34195
33949
  }
@@ -34199,7 +33953,7 @@ var AgentGUIConversationRailSection = memo6(
34199
33953
  {
34200
33954
  className: AgentGUINode_styles_default.conversationSectionItems,
34201
33955
  "aria-hidden": isSectionCollapsed ? "true" : void 0,
34202
- children: /* @__PURE__ */ jsxs45("div", { className: AgentGUINode_styles_default.conversationSectionItemsInner, children: [
33956
+ children: /* @__PURE__ */ jsxs44("div", { className: AgentGUINode_styles_default.conversationSectionItemsInner, children: [
34203
33957
  !isSectionCollapsed && visibleItems.length === 0 ? /* @__PURE__ */ jsx63("div", { className: AgentGUINode_styles_default.conversationSectionEmpty, children: labels.emptyProjectConversations }) : null,
34204
33958
  visibleItems.map((item) => /* @__PURE__ */ jsx63(
34205
33959
  AgentGUIConversationRailItem,
@@ -34210,7 +33964,6 @@ var AgentGUIConversationRailSection = memo6(
34210
33964
  isRailInteractionLocked,
34211
33965
  item,
34212
33966
  labels,
34213
- previewMode,
34214
33967
  registerItemElement,
34215
33968
  uiLanguage,
34216
33969
  workspaceId,
@@ -34225,7 +33978,7 @@ var AgentGUIConversationRailSection = memo6(
34225
33978
  },
34226
33979
  item.id
34227
33980
  )),
34228
- canShowMore || canShowLess ? /* @__PURE__ */ jsxs45("div", { className: AgentGUINode_styles_default.conversationSectionPagination, children: [
33981
+ canShowMore || canShowLess ? /* @__PURE__ */ jsxs44("div", { className: AgentGUINode_styles_default.conversationSectionPagination, children: [
34229
33982
  canShowMore ? /* @__PURE__ */ jsx63(
34230
33983
  "button",
34231
33984
  {
@@ -34458,7 +34211,7 @@ function useAgentGUIProjectMenuState(isRailInteractionLocked, isUserProjectMutat
34458
34211
  }
34459
34212
 
34460
34213
  // agent-gui/agentGuiNode/view/AgentGUIConversationRailPane.tsx
34461
- import { jsx as jsx65, jsxs as jsxs46 } from "react/jsx-runtime";
34214
+ import { jsx as jsx65, jsxs as jsxs45 } from "react/jsx-runtime";
34462
34215
  function useDelayedBoolean(value, delayMs) {
34463
34216
  const [delayedValue, setDelayedValue] = useState37(false);
34464
34217
  useEffect29(() => {
@@ -34488,7 +34241,6 @@ var AgentGUIConversationRailPane = memo7(
34488
34241
  labels,
34489
34242
  workspaceUserProjectI18n,
34490
34243
  uiLanguage,
34491
- previewMode,
34492
34244
  createConversationDisabled,
34493
34245
  isCollapsed,
34494
34246
  conversationFilter,
@@ -34550,7 +34302,7 @@ var AgentGUIConversationRailPane = memo7(
34550
34302
  const hasConversationQuery = conversationQuery.trim().length > 0;
34551
34303
  const backendSearchActive = hasConversationQuery && railSearch.enabled;
34552
34304
  const railInteractionsLocked = isInteractionLocked();
34553
- const projectDragBaseLocked = railInteractionsLocked || isDeletingConversation || isDeletingProjectConversations || isRequestingBatchDeletion || isUserProjectMutationPending || pendingDeleteConversationId !== null || pendingProjectAction !== null || projectMenuOpen || previewMode;
34305
+ const projectDragBaseLocked = railInteractionsLocked || isDeletingConversation || isDeletingProjectConversations || isRequestingBatchDeletion || isUserProjectMutationPending || pendingDeleteConversationId !== null || pendingProjectAction !== null || projectMenuOpen;
34554
34306
  const backendSearchConversations = backendSearchActive ? railSearch.sessionIds.flatMap((id) => {
34555
34307
  const conversation = railConversationEntitiesById.get(id);
34556
34308
  return conversation ? [conversation] : [];
@@ -34748,14 +34500,14 @@ var AgentGUIConversationRailPane = memo7(
34748
34500
  useEffect29(() => {
34749
34501
  return installProjectDragGlobalListeners();
34750
34502
  }, [installProjectDragGlobalListeners]);
34751
- return /* @__PURE__ */ jsxs46(
34503
+ return /* @__PURE__ */ jsxs45(
34752
34504
  "aside",
34753
34505
  {
34754
34506
  ref: railElementRef,
34755
34507
  className: AgentGUINode_styles_default.rail,
34756
34508
  "aria-hidden": isCollapsed ? "true" : void 0,
34757
34509
  children: [
34758
- /* @__PURE__ */ jsxs46("div", { className: AgentGUINode_styles_default.railToolbar, children: [
34510
+ /* @__PURE__ */ jsxs45("div", { className: AgentGUINode_styles_default.railToolbar, children: [
34759
34511
  /* @__PURE__ */ jsx65(
34760
34512
  TaskSearchField,
34761
34513
  {
@@ -34764,7 +34516,7 @@ var AgentGUIConversationRailPane = memo7(
34764
34516
  onChange: onConversationQueryChange
34765
34517
  }
34766
34518
  ),
34767
- /* @__PURE__ */ jsxs46(
34519
+ /* @__PURE__ */ jsxs45(
34768
34520
  Button,
34769
34521
  {
34770
34522
  type: "button",
@@ -34797,7 +34549,7 @@ var AgentGUIConversationRailPane = memo7(
34797
34549
  {
34798
34550
  label: labels.loadingConversations
34799
34551
  }
34800
- ) : shouldShowConversationSearchError ? /* @__PURE__ */ jsxs46("div", { className: AgentGUINode_styles_default.emptyState, children: [
34552
+ ) : shouldShowConversationSearchError ? /* @__PURE__ */ jsxs45("div", { className: AgentGUINode_styles_default.emptyState, children: [
34801
34553
  /* @__PURE__ */ jsx65("span", { children: labels.searchFailed }),
34802
34554
  /* @__PURE__ */ jsx65(
34803
34555
  SystemButton,
@@ -34809,7 +34561,7 @@ var AgentGUIConversationRailPane = memo7(
34809
34561
  children: labels.retrySearch
34810
34562
  }
34811
34563
  )
34812
- ] }) : shouldShowConversationEmptyState ? /* @__PURE__ */ jsx65("div", { className: AgentGUINode_styles_default.emptyState, children: /* @__PURE__ */ jsx65("span", { children: conversationQuery.trim() ? labels.searchNoConversations : conversations.length === 0 ? labels.noConversations : labels.conversationUnavailable }) }) : /* @__PURE__ */ jsxs46("fieldset", { className: "contents", disabled: railInteractionsLocked, children: [
34564
+ ] }) : shouldShowConversationEmptyState ? /* @__PURE__ */ jsx65("div", { className: AgentGUINode_styles_default.emptyState, children: /* @__PURE__ */ jsx65("span", { children: conversationQuery.trim() ? labels.searchNoConversations : conversations.length === 0 ? labels.noConversations : labels.conversationUnavailable }) }) : /* @__PURE__ */ jsxs45("fieldset", { className: "contents", disabled: railInteractionsLocked, children: [
34813
34565
  groupedConversations.map((section, sectionIndex) => {
34814
34566
  const projectPath = section.kind === "project" ? section.project?.path ?? "" : "";
34815
34567
  const projectLabel = section.kind === "project" ? section.label : "";
@@ -34843,7 +34595,7 @@ var AgentGUIConversationRailPane = memo7(
34843
34595
  ).length + (activeOverlayCountsTowardTotal && !activeOverlayIsCanonical ? 1 : 0);
34844
34596
  const sectionHasMore = searchSectionHasMore || !conversationQuery.trim() && sectionPageState?.hasMore === true;
34845
34597
  const batchDeletionDisabled = !batchDeletionAvailable || hasConversationQuery || section.items.length === 0 && !sectionHasMore || isDeletingProjectConversations || isRequestingBatchDeletion;
34846
- return /* @__PURE__ */ jsxs46(Fragment21, { children: [
34598
+ return /* @__PURE__ */ jsxs45(Fragment21, { children: [
34847
34599
  showPinnedProjectHeader ? /* @__PURE__ */ jsx65("div", { className: AgentGUINode_styles_default.pinnedProjectRailHeader, children: labels.sectionPinned }) : null,
34848
34600
  showProjectRailHeader ? /* @__PURE__ */ jsx65(
34849
34601
  AgentGUIProjectRailHeader,
@@ -34882,7 +34634,6 @@ var AgentGUIConversationRailPane = memo7(
34882
34634
  isSectionCollapsed,
34883
34635
  labels,
34884
34636
  pendingDeleteConversationId,
34885
- previewMode,
34886
34637
  projectLabel,
34887
34638
  projectPath,
34888
34639
  registerItemElement: railViewState.registerConversationItemElement,
@@ -35529,7 +35280,6 @@ function resolveConversationRailQueryScope(workspaceId, scope) {
35529
35280
  scopeKey: JSON.stringify([
35530
35281
  workspaceId,
35531
35282
  scope.conversationFilter.kind === "agentTarget" ? `agentTarget:${scope.conversationFilter.agentTargetId.trim()}` : "all",
35532
- scope.previewMode,
35533
35283
  agentTargetId,
35534
35284
  projectCollectionKey
35535
35285
  ])
@@ -35770,7 +35520,7 @@ var AgentGUIConversationRailQueryController = class {
35770
35520
  }
35771
35521
  loadMoreSectionConversations = (section) => {
35772
35522
  const scopeKey = this.railSectionQueryKey;
35773
- if (this.scope?.previewMode || !scopeKey || this.publicationBlocked() || this.queryState.pending || this.queryState.resolvedScopeKey !== scopeKey) {
35523
+ if (!scopeKey || this.publicationBlocked() || this.queryState.pending || this.queryState.resolvedScopeKey !== scopeKey) {
35774
35524
  return;
35775
35525
  }
35776
35526
  const currentPageState = this.queryState.sectionPageStates.get(section.id);
@@ -36149,11 +35899,11 @@ var AgentGUIConversationRailQueryController = class {
36149
35899
  }
36150
35900
  runtimeSectionsEnabled() {
36151
35901
  return Boolean(
36152
- !this.scope?.previewMode && this.runtime.listSessionSections && this.runtime.listSessionSectionPage
35902
+ this.runtime.listSessionSections && this.runtime.listSessionSectionPage
36153
35903
  );
36154
35904
  }
36155
35905
  searchEnabled() {
36156
- return Boolean(!this.scope?.previewMode && this.runtime.listSessionsPage);
35906
+ return Boolean(this.runtime.listSessionsPage);
36157
35907
  }
36158
35908
  publishIfReady(state = this.engine.getSnapshot(), force = false) {
36159
35909
  if (this.publicationBlocked()) return;
@@ -36222,7 +35972,6 @@ function useAgentGUIConversationRailQuery({
36222
35972
  conversationFilter,
36223
35973
  conversationQuery,
36224
35974
  nodeId,
36225
- previewMode,
36226
35975
  registerInteractionLockProbe,
36227
35976
  sectionAgentTargetFallbackId,
36228
35977
  userProjects,
@@ -36273,7 +36022,6 @@ function useAgentGUIConversationRailQuery({
36273
36022
  useEffect30(() => {
36274
36023
  controller.configure({
36275
36024
  conversationFilter,
36276
- previewMode,
36277
36025
  sectionAgentTargetFallbackId,
36278
36026
  userProjects
36279
36027
  });
@@ -36282,7 +36030,6 @@ function useAgentGUIConversationRailQuery({
36282
36030
  controller,
36283
36031
  conversationFilter,
36284
36032
  conversationQuery,
36285
- previewMode,
36286
36033
  sectionAgentTargetFallbackId,
36287
36034
  userProjects
36288
36035
  ]);
@@ -36294,13 +36041,11 @@ function useAgentGUIConversationRailQuery({
36294
36041
  const requestedRailScopeKey = useMemo41(
36295
36042
  () => resolveConversationRailQueryScope(workspaceId, {
36296
36043
  conversationFilter,
36297
- previewMode,
36298
36044
  sectionAgentTargetFallbackId,
36299
36045
  userProjects
36300
36046
  }).scopeKey,
36301
36047
  [
36302
36048
  conversationFilter,
36303
- previewMode,
36304
36049
  sectionAgentTargetFallbackId,
36305
36050
  userProjects,
36306
36051
  workspaceId
@@ -36309,7 +36054,7 @@ function useAgentGUIConversationRailQuery({
36309
36054
  return useMemo41(
36310
36055
  () => ({
36311
36056
  ...querySnapshot,
36312
- batchDeletionAvailable: !previewMode && batchDeletionCapability.available,
36057
+ batchDeletionAvailable: batchDeletionCapability.available,
36313
36058
  isInteractionLocked: controller.isInteractionLocked,
36314
36059
  loadMoreSectionConversations: controller.loadMoreSectionConversations,
36315
36060
  railSearch: {
@@ -36323,7 +36068,6 @@ function useAgentGUIConversationRailQuery({
36323
36068
  [
36324
36069
  batchDeletionCapability.available,
36325
36070
  controller,
36326
- previewMode,
36327
36071
  querySnapshot,
36328
36072
  requestedRailScopeKey
36329
36073
  ]
@@ -36343,7 +36087,6 @@ var AgentGUIConversationRailController = memo8(
36343
36087
  conversationFilter: props.conversationFilter,
36344
36088
  conversationQuery,
36345
36089
  nodeId: props.nodeId,
36346
- previewMode: props.previewMode,
36347
36090
  registerInteractionLockProbe: props.registerInteractionLockProbe,
36348
36091
  sectionAgentTargetFallbackId: props.sectionAgentTargetFallbackId,
36349
36092
  userProjects: props.userProjects,
@@ -36577,7 +36320,7 @@ import { ChevronsDown } from "lucide-react";
36577
36320
  import { cn as cn12 } from "@tutti-os/ui-system";
36578
36321
 
36579
36322
  // agent-gui/agentGuiNode/AgentComposerRegion.tsx
36580
- import { jsxs as jsxs47 } from "react/jsx-runtime";
36323
+ import { jsxs as jsxs46 } from "react/jsx-runtime";
36581
36324
  function AgentComposerRegion({
36582
36325
  accessories,
36583
36326
  floating,
@@ -36585,7 +36328,7 @@ function AgentComposerRegion({
36585
36328
  primary,
36586
36329
  regionRef
36587
36330
  }) {
36588
- return /* @__PURE__ */ jsxs47(
36331
+ return /* @__PURE__ */ jsxs46(
36589
36332
  "div",
36590
36333
  {
36591
36334
  ref: regionRef,
@@ -36604,7 +36347,7 @@ function AgentComposerRegion({
36604
36347
  // agent-gui/agentGuiNode/AgentGoalBanner.tsx
36605
36348
  import { useEffect as useEffect31, useState as useState39 } from "react";
36606
36349
  import { CirclePause, CirclePlay, Pencil as Pencil3, Target as Target3, Trash2 } from "lucide-react";
36607
- import { jsx as jsx67, jsxs as jsxs48 } from "react/jsx-runtime";
36350
+ import { jsx as jsx67, jsxs as jsxs47 } from "react/jsx-runtime";
36608
36351
  var RESUMABLE_GOAL_STATUSES = /* @__PURE__ */ new Set([
36609
36352
  "paused",
36610
36353
  "blocked",
@@ -36720,8 +36463,8 @@ function AgentGoalBanner({
36720
36463
  className: cn(AgentGUIChrome_styles_default.chromeCard, AgentGUIChrome_styles_default.chromeCardMuted),
36721
36464
  role: "status",
36722
36465
  "data-testid": "agent-gui-goal-banner",
36723
- children: /* @__PURE__ */ jsxs48("div", { className: AgentGUIChrome_styles_default.chromeMetaRow, children: [
36724
- /* @__PURE__ */ jsxs48("div", { className: AgentGUIChrome_styles_default.chromeMessageSlot, children: [
36466
+ children: /* @__PURE__ */ jsxs47("div", { className: AgentGUIChrome_styles_default.chromeMetaRow, children: [
36467
+ /* @__PURE__ */ jsxs47("div", { className: AgentGUIChrome_styles_default.chromeMessageSlot, children: [
36725
36468
  /* @__PURE__ */ jsx67("span", { className: AgentGUIChrome_styles_default.chromeIcon, children: /* @__PURE__ */ jsx67(Target3, { "aria-hidden": true, className: "size-3.5" }) }),
36726
36469
  editDraft !== null ? /* @__PURE__ */ jsx67(
36727
36470
  "input",
@@ -36743,7 +36486,7 @@ function AgentGoalBanner({
36743
36486
  },
36744
36487
  onBlur: () => setEditDraft(null)
36745
36488
  }
36746
- ) : /* @__PURE__ */ jsxs48(
36489
+ ) : /* @__PURE__ */ jsxs47(
36747
36490
  "p",
36748
36491
  {
36749
36492
  className: cn(AgentGUIChrome_styles_default.chromeMessage, AgentGUIChrome_styles_default.chromeNoticeMessage),
@@ -36762,7 +36505,7 @@ function AgentGoalBanner({
36762
36505
  }
36763
36506
  )
36764
36507
  ] }),
36765
- hasActions ? /* @__PURE__ */ jsxs48("div", { className: AgentGUIChrome_styles_default.chromeGoalActions, children: [
36508
+ hasActions ? /* @__PURE__ */ jsxs47("div", { className: AgentGUIChrome_styles_default.chromeGoalActions, children: [
36766
36509
  onEditObjective !== void 0 && editDraft === null ? /* @__PURE__ */ jsx67(
36767
36510
  "button",
36768
36511
  {
@@ -37038,7 +36781,7 @@ import {
37038
36781
  Switch as Switch2,
37039
36782
  cn as cn9
37040
36783
  } from "@tutti-os/ui-system";
37041
- import { jsx as jsx69, jsxs as jsxs49 } from "react/jsx-runtime";
36784
+ import { jsx as jsx69, jsxs as jsxs48 } from "react/jsx-runtime";
37042
36785
  var CLEAR_VALUE = "__tutti_plan_assignment_clear__";
37043
36786
  function toSelectValue(value) {
37044
36787
  return value === "" ? CLEAR_VALUE : value;
@@ -37096,13 +36839,13 @@ function TuttiModePlanTaskAssignmentEditor({
37096
36839
  const agentLabel = agentValue ? (catalog.agents ?? []).find(
37097
36840
  (agent) => agent.agentTargetId === agentValue
37098
36841
  )?.label ?? agentValue : null;
37099
- return /* @__PURE__ */ jsxs49(
36842
+ return /* @__PURE__ */ jsxs48(
37100
36843
  "div",
37101
36844
  {
37102
36845
  className: "tutti-plan-task-assignment-row mt-3 flex flex-wrap items-center gap-3 border-t border-[var(--line-2)] pt-2",
37103
36846
  "data-testid": `tutti-plan-task-assignment-${task.id}`,
37104
36847
  children: [
37105
- /* @__PURE__ */ jsxs49(
36848
+ /* @__PURE__ */ jsxs48(
37106
36849
  Select6,
37107
36850
  {
37108
36851
  disabled,
@@ -37120,7 +36863,7 @@ function TuttiModePlanTaskAssignmentEditor({
37120
36863
  value: agentLabel
37121
36864
  }
37122
36865
  ),
37123
- /* @__PURE__ */ jsxs49(AssignmentSelectContent, { children: [
36866
+ /* @__PURE__ */ jsxs48(AssignmentSelectContent, { children: [
37124
36867
  /* @__PURE__ */ jsx69(AssignmentSelectItem, { value: CLEAR_VALUE, children: labels.notSpecified }),
37125
36868
  (catalog.agents ?? []).map((agent) => /* @__PURE__ */ jsx69(
37126
36869
  AssignmentSelectItem,
@@ -37186,7 +36929,7 @@ function TuttiModePlanTaskAssignmentEditor({
37186
36929
  onChange: (value) => onEdit({ reasoningEffort: value })
37187
36930
  }
37188
36931
  ),
37189
- /* @__PURE__ */ jsxs49(
36932
+ /* @__PURE__ */ jsxs48(
37190
36933
  "label",
37191
36934
  {
37192
36935
  className: cn9(
@@ -37213,7 +36956,7 @@ function TuttiModePlanTaskAssignmentEditor({
37213
36956
  ]
37214
36957
  }
37215
36958
  ),
37216
- /* @__PURE__ */ jsxs49(
36959
+ /* @__PURE__ */ jsxs48(
37217
36960
  "label",
37218
36961
  {
37219
36962
  className: cn9(
@@ -37310,7 +37053,7 @@ function AssignmentValueSelect({
37310
37053
  }) {
37311
37054
  const known = options.some((option) => option.value === value);
37312
37055
  const selectedLabel = value ? options.find((option) => option.value === value)?.label ?? value : null;
37313
- return /* @__PURE__ */ jsxs49(
37056
+ return /* @__PURE__ */ jsxs48(
37314
37057
  Select6,
37315
37058
  {
37316
37059
  disabled,
@@ -37327,7 +37070,7 @@ function AssignmentValueSelect({
37327
37070
  value: selectedLabel
37328
37071
  }
37329
37072
  ),
37330
- /* @__PURE__ */ jsxs49(AssignmentSelectContent, { children: [
37073
+ /* @__PURE__ */ jsxs48(AssignmentSelectContent, { children: [
37331
37074
  /* @__PURE__ */ jsx69(AssignmentSelectItem, { value: CLEAR_VALUE, children: notSpecifiedLabel }),
37332
37075
  options.map((option) => /* @__PURE__ */ jsx69(AssignmentSelectItem, { value: option.value, children: option.label }, option.value)),
37333
37076
  value && !known ? /* @__PURE__ */ jsx69(AssignmentSelectItem, { value, children: value }) : null
@@ -37338,7 +37081,7 @@ function AssignmentValueSelect({
37338
37081
  }
37339
37082
 
37340
37083
  // workspaceWorkflow/tuttiModePlan/TuttiModePlanPanel.tsx
37341
- import { jsx as jsx70, jsxs as jsxs50 } from "react/jsx-runtime";
37084
+ import { jsx as jsx70, jsxs as jsxs49 } from "react/jsx-runtime";
37342
37085
  function TuttiModePlanPanel({
37343
37086
  assignmentCatalog,
37344
37087
  assignmentDrafts,
@@ -37349,7 +37092,7 @@ function TuttiModePlanPanel({
37349
37092
  onAssignmentDraftChange
37350
37093
  }) {
37351
37094
  const editable = assignmentCatalog?.agents != null && panel.actionable && onAssignmentDraftChange !== void 0;
37352
- return /* @__PURE__ */ jsxs50(
37095
+ return /* @__PURE__ */ jsxs49(
37353
37096
  Card,
37354
37097
  {
37355
37098
  className: cn10(
@@ -37358,11 +37101,11 @@ function TuttiModePlanPanel({
37358
37101
  ),
37359
37102
  "data-testid": "tutti-mode-plan-panel",
37360
37103
  children: [
37361
- /* @__PURE__ */ jsxs50(CardHeader, { children: [
37104
+ /* @__PURE__ */ jsxs49(CardHeader, { children: [
37362
37105
  /* @__PURE__ */ jsx70(CardTitle, { children: panel.title }),
37363
37106
  /* @__PURE__ */ jsx70(CardDescription, { children: panel.topicId })
37364
37107
  ] }),
37365
- /* @__PURE__ */ jsxs50(CardContent, { className: "grid gap-4", children: [
37108
+ /* @__PURE__ */ jsxs49(CardContent, { className: "grid gap-4", children: [
37366
37109
  /* @__PURE__ */ jsx70("div", { className: "prose prose-sm max-w-none text-foreground dark:prose-invert", children: /* @__PURE__ */ jsx70(
37367
37110
  ReactMarkdown2,
37368
37111
  {
@@ -37371,15 +37114,15 @@ function TuttiModePlanPanel({
37371
37114
  children: panel.markdownBody
37372
37115
  }
37373
37116
  ) }),
37374
- panel.tasks.length > 0 ? /* @__PURE__ */ jsxs50("section", { className: "grid gap-2", children: [
37117
+ panel.tasks.length > 0 ? /* @__PURE__ */ jsxs49("section", { className: "grid gap-2", children: [
37375
37118
  /* @__PURE__ */ jsx70("h4", { className: "text-xs font-medium text-foreground", children: labels.tasks }),
37376
- /* @__PURE__ */ jsx70("ol", { className: "grid gap-2", children: panel.tasks.map((task) => /* @__PURE__ */ jsxs50(
37119
+ /* @__PURE__ */ jsx70("ol", { className: "grid gap-2", children: panel.tasks.map((task) => /* @__PURE__ */ jsxs49(
37377
37120
  "li",
37378
37121
  {
37379
37122
  className: "rounded-lg border border-[var(--line-2)] bg-[var(--background-board-card)] px-4 pt-3 pb-2 text-sm",
37380
37123
  children: [
37381
- /* @__PURE__ */ jsxs50("div", { className: "flex flex-wrap items-start justify-between gap-2", children: [
37382
- /* @__PURE__ */ jsxs50("div", { className: "font-medium text-foreground", children: [
37124
+ /* @__PURE__ */ jsxs49("div", { className: "flex flex-wrap items-start justify-between gap-2", children: [
37125
+ /* @__PURE__ */ jsxs49("div", { className: "font-medium text-foreground", children: [
37383
37126
  task.ordinal,
37384
37127
  ". ",
37385
37128
  task.title
@@ -37464,7 +37207,7 @@ function priorityLabel(labels, priority) {
37464
37207
  import { useState as useState40 } from "react";
37465
37208
  import { ExternalLink as ExternalLink3, ListChecks as ListChecks3, Square } from "lucide-react";
37466
37209
  import { Button as Button9, Card as Card2, CardContent as CardContent2, CardHeader as CardHeader2, cn as cn11 } from "@tutti-os/ui-system";
37467
- import { jsx as jsx71, jsxs as jsxs51 } from "react/jsx-runtime";
37210
+ import { jsx as jsx71, jsxs as jsxs50 } from "react/jsx-runtime";
37468
37211
  var BOARD_STATUS_ORDER = [
37469
37212
  "not_started",
37470
37213
  "running",
@@ -37567,7 +37310,7 @@ function TuttiPlanIssuePanel({
37567
37310
  setStopping(false);
37568
37311
  });
37569
37312
  } : void 0;
37570
- return /* @__PURE__ */ jsxs51(
37313
+ return /* @__PURE__ */ jsxs50(
37571
37314
  Card2,
37572
37315
  {
37573
37316
  className: cn11(
@@ -37576,8 +37319,8 @@ function TuttiPlanIssuePanel({
37576
37319
  ),
37577
37320
  "data-testid": "tutti-plan-issue-panel",
37578
37321
  children: [
37579
- /* @__PURE__ */ jsx71(CardHeader2, { className: "gap-2", children: /* @__PURE__ */ jsxs51("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [
37580
- /* @__PURE__ */ jsxs51("div", { className: "flex min-w-0 items-center gap-2", children: [
37322
+ /* @__PURE__ */ jsx71(CardHeader2, { className: "gap-2", children: /* @__PURE__ */ jsxs50("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [
37323
+ /* @__PURE__ */ jsxs50("div", { className: "flex min-w-0 items-center gap-2", children: [
37581
37324
  /* @__PURE__ */ jsx71(
37582
37325
  ListChecks3,
37583
37326
  {
@@ -37592,7 +37335,7 @@ function TuttiPlanIssuePanel({
37592
37335
  String(running)
37593
37336
  ) })
37594
37337
  ] }),
37595
- /* @__PURE__ */ jsxs51("div", { className: "flex shrink-0 items-center gap-1.5", children: [
37338
+ /* @__PURE__ */ jsxs50("div", { className: "flex shrink-0 items-center gap-1.5", children: [
37596
37339
  /* @__PURE__ */ jsx71("div", { className: "flex items-center gap-0.5", children: ["list", "board"].map((mode) => /* @__PURE__ */ jsx71(
37597
37340
  "button",
37598
37341
  {
@@ -37609,7 +37352,7 @@ function TuttiPlanIssuePanel({
37609
37352
  },
37610
37353
  mode
37611
37354
  )) }),
37612
- stopExecution ? /* @__PURE__ */ jsxs51(
37355
+ stopExecution ? /* @__PURE__ */ jsxs50(
37613
37356
  Button9,
37614
37357
  {
37615
37358
  type: "button",
@@ -37625,7 +37368,7 @@ function TuttiPlanIssuePanel({
37625
37368
  ]
37626
37369
  }
37627
37370
  ) : null,
37628
- onOpenIssue ? /* @__PURE__ */ jsxs51(
37371
+ onOpenIssue ? /* @__PURE__ */ jsxs50(
37629
37372
  Button9,
37630
37373
  {
37631
37374
  type: "button",
@@ -37672,10 +37415,10 @@ function TaskStructureChips({
37672
37415
  if (!task.parallelizable && !task.autoAccept && dependencies.length === 0) {
37673
37416
  return null;
37674
37417
  }
37675
- return /* @__PURE__ */ jsxs51("span", { className: "flex min-w-0 flex-wrap items-center gap-1", children: [
37418
+ return /* @__PURE__ */ jsxs50("span", { className: "flex min-w-0 flex-wrap items-center gap-1", children: [
37676
37419
  task.parallelizable ? /* @__PURE__ */ jsx71("span", { className: "shrink-0 rounded-full border border-[color-mix(in_srgb,var(--tutti-purple)_36%,transparent)] px-1.5 text-[10px] leading-4 text-[var(--tutti-purple)]", children: labels.parallelizable }) : null,
37677
37420
  task.autoAccept ? /* @__PURE__ */ jsx71("span", { className: "shrink-0 rounded-full border border-[color-mix(in_srgb,var(--state-success)_42%,transparent)] px-1.5 text-[10px] leading-4 text-[var(--state-success)]", children: labels.autoAccept }) : null,
37678
- dependencies.length > 0 ? /* @__PURE__ */ jsxs51(
37421
+ dependencies.length > 0 ? /* @__PURE__ */ jsxs50(
37679
37422
  "span",
37680
37423
  {
37681
37424
  className: "min-w-0 truncate rounded-full border border-[var(--line-2)] px-1.5 text-[10px] leading-4 text-muted-foreground",
@@ -37700,7 +37443,7 @@ function TaskDecisionActions({
37700
37443
  if (!decideTask || !canRework) {
37701
37444
  return null;
37702
37445
  }
37703
- return /* @__PURE__ */ jsxs51("span", { className: "flex shrink-0 items-center gap-1", children: [
37446
+ return /* @__PURE__ */ jsxs50("span", { className: "flex shrink-0 items-center gap-1", children: [
37704
37447
  canAccept ? /* @__PURE__ */ jsx71(
37705
37448
  Button9,
37706
37449
  {
@@ -37758,14 +37501,14 @@ function TuttiPlanIssueBoard({
37758
37501
  },
37759
37502
  children: columns.map((status) => {
37760
37503
  const tasks = groups.get(status) ?? [];
37761
- return /* @__PURE__ */ jsxs51(
37504
+ return /* @__PURE__ */ jsxs50(
37762
37505
  "div",
37763
37506
  {
37764
37507
  className: "min-h-[220px] rounded-lg border border-[var(--line-2)] bg-muted/30 px-2 py-2",
37765
37508
  "data-testid": `tutti-plan-issue-column-${status}`,
37766
37509
  children: [
37767
- /* @__PURE__ */ jsxs51("div", { className: "mb-1.5 flex items-center justify-between gap-2", children: [
37768
- /* @__PURE__ */ jsxs51("span", { className: "flex min-w-0 items-center gap-1.5", children: [
37510
+ /* @__PURE__ */ jsxs50("div", { className: "mb-1.5 flex items-center justify-between gap-2", children: [
37511
+ /* @__PURE__ */ jsxs50("span", { className: "flex min-w-0 items-center gap-1.5", children: [
37769
37512
  /* @__PURE__ */ jsx71(
37770
37513
  "span",
37771
37514
  {
@@ -37782,7 +37525,7 @@ function TuttiPlanIssueBoard({
37782
37525
  ] }),
37783
37526
  /* @__PURE__ */ jsx71("div", { className: "grid gap-1.5", children: tasks.map((task) => {
37784
37527
  const openable = openTask && taskHasConversation(task);
37785
- return /* @__PURE__ */ jsxs51(
37528
+ return /* @__PURE__ */ jsxs50(
37786
37529
  "div",
37787
37530
  {
37788
37531
  role: openable ? "button" : void 0,
@@ -37832,7 +37575,7 @@ function TuttiPlanIssueList({
37832
37575
  }) {
37833
37576
  const showStages = issue.tasks.some((task) => task.parallelizable);
37834
37577
  const stages = showStages ? groupTuttiPlanIssueTasksIntoStages(issue.tasks) : [{ kind: "sequential", tasks: [...issue.tasks] }];
37835
- return /* @__PURE__ */ jsx71("div", { className: "overflow-hidden rounded-lg border border-[var(--line-2)]", children: stages.map((stage, index) => /* @__PURE__ */ jsxs51("div", { children: [
37578
+ return /* @__PURE__ */ jsx71("div", { className: "overflow-hidden rounded-lg border border-[var(--line-2)]", children: stages.map((stage, index) => /* @__PURE__ */ jsxs50("div", { children: [
37836
37579
  showStages ? /* @__PURE__ */ jsx71(
37837
37580
  "div",
37838
37581
  {
@@ -37847,7 +37590,7 @@ function TuttiPlanIssueList({
37847
37590
  stage.tasks.map((task) => {
37848
37591
  const status = boardStatusOf(task);
37849
37592
  const openable = openTask && taskHasConversation(task);
37850
- return /* @__PURE__ */ jsxs51(
37593
+ return /* @__PURE__ */ jsxs50(
37851
37594
  "div",
37852
37595
  {
37853
37596
  role: openable ? "button" : void 0,
@@ -37864,14 +37607,14 @@ function TuttiPlanIssueList({
37864
37607
  }
37865
37608
  } : void 0,
37866
37609
  children: [
37867
- /* @__PURE__ */ jsxs51("div", { className: "min-w-0 flex-1", children: [
37868
- /* @__PURE__ */ jsxs51("div", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
37610
+ /* @__PURE__ */ jsxs50("div", { className: "min-w-0 flex-1", children: [
37611
+ /* @__PURE__ */ jsxs50("div", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
37869
37612
  /* @__PURE__ */ jsx71("span", { className: "truncate text-xs font-medium text-foreground", children: task.title }),
37870
37613
  /* @__PURE__ */ jsx71(TaskStructureChips, { labels, task })
37871
37614
  ] }),
37872
37615
  task.content ? /* @__PURE__ */ jsx71("p", { className: "mt-1 line-clamp-2 text-[11px] text-muted-foreground", children: task.content }) : null
37873
37616
  ] }),
37874
- /* @__PURE__ */ jsxs51("span", { className: "flex shrink-0 items-center gap-2", children: [
37617
+ /* @__PURE__ */ jsxs50("span", { className: "flex shrink-0 items-center gap-2", children: [
37875
37618
  /* @__PURE__ */ jsx71(
37876
37619
  TaskDecisionActions,
37877
37620
  {
@@ -37881,7 +37624,7 @@ function TuttiPlanIssueList({
37881
37624
  deciding: decidingTaskIds.includes(task.taskId)
37882
37625
  }
37883
37626
  ),
37884
- /* @__PURE__ */ jsxs51("span", { className: "flex shrink-0 items-center gap-1.5 text-[11px] text-muted-foreground", children: [
37627
+ /* @__PURE__ */ jsxs50("span", { className: "flex shrink-0 items-center gap-1.5 text-[11px] text-muted-foreground", children: [
37885
37628
  /* @__PURE__ */ jsx71(
37886
37629
  "span",
37887
37630
  {
@@ -38264,8 +38007,8 @@ function useTuttiModePlanPanels(input) {
38264
38007
 
38265
38008
  // agent-gui/agentGuiNode/AgentComposerDisclosureCard.tsx
38266
38009
  import { useId as useId3 } from "react";
38267
- import { ChevronDown as ChevronDown4 } from "lucide-react";
38268
- import { jsx as jsx72, jsxs as jsxs52 } from "react/jsx-runtime";
38010
+ import { ChevronDown as ChevronDown2 } from "lucide-react";
38011
+ import { jsx as jsx72, jsxs as jsxs51 } from "react/jsx-runtime";
38269
38012
  function AgentComposerDisclosureCard({
38270
38013
  actions,
38271
38014
  bannerClassName,
@@ -38281,7 +38024,7 @@ function AgentComposerDisclosureCard({
38281
38024
  }) {
38282
38025
  const panelId = useId3();
38283
38026
  const disclosureLabel = expanded ? labels.collapse : labels.expand;
38284
- return /* @__PURE__ */ jsx72("div", { className: AgentGUIChrome_styles_default.sessionChrome, children: /* @__PURE__ */ jsxs52(
38027
+ return /* @__PURE__ */ jsx72("div", { className: AgentGUIChrome_styles_default.sessionChrome, children: /* @__PURE__ */ jsxs51(
38285
38028
  "section",
38286
38029
  {
38287
38030
  className: AgentGUIChrome_styles_default.composerDisclosure,
@@ -38297,7 +38040,7 @@ function AgentComposerDisclosureCard({
38297
38040
  children
38298
38041
  }
38299
38042
  ) : null,
38300
- /* @__PURE__ */ jsxs52(
38043
+ /* @__PURE__ */ jsxs51(
38301
38044
  "div",
38302
38045
  {
38303
38046
  className: cn(
@@ -38307,7 +38050,7 @@ function AgentComposerDisclosureCard({
38307
38050
  bannerClassName
38308
38051
  ),
38309
38052
  children: [
38310
- /* @__PURE__ */ jsxs52(
38053
+ /* @__PURE__ */ jsxs51(
38311
38054
  "button",
38312
38055
  {
38313
38056
  type: "button",
@@ -38319,7 +38062,7 @@ function AgentComposerDisclosureCard({
38319
38062
  onClick: () => onExpandedChange(!expanded),
38320
38063
  children: [
38321
38064
  /* @__PURE__ */ jsx72("span", { className: AgentGUIChrome_styles_default.chromeIcon, children: icon }),
38322
- /* @__PURE__ */ jsxs52(
38065
+ /* @__PURE__ */ jsxs51(
38323
38066
  "span",
38324
38067
  {
38325
38068
  className: cn(AgentGUIChrome_styles_default.chromeMessage, AgentGUIChrome_styles_default.chromeNoticeMessage),
@@ -38338,7 +38081,7 @@ function AgentComposerDisclosureCard({
38338
38081
  }
38339
38082
  ),
38340
38083
  /* @__PURE__ */ jsx72(
38341
- ChevronDown4,
38084
+ ChevronDown2,
38342
38085
  {
38343
38086
  "aria-hidden": true,
38344
38087
  className: cn(
@@ -38390,7 +38133,7 @@ function projectTuttiIntensityPreview(intensity) {
38390
38133
  }
38391
38134
 
38392
38135
  // agent-gui/agentGuiNode/composer/TuttiBudgetPopover.tsx
38393
- import { jsx as jsx73, jsxs as jsxs53 } from "react/jsx-runtime";
38136
+ import { jsx as jsx73, jsxs as jsxs52 } from "react/jsx-runtime";
38394
38137
  var tierTone = {
38395
38138
  cost: {
38396
38139
  sliderHandleUrl: tutti_intensity_handle_cost_default,
@@ -38425,7 +38168,7 @@ function TuttiBudgetPopover({
38425
38168
  smallGroup: labels.agentCountBalance,
38426
38169
  maxParallel: labels.agentCountPowerful
38427
38170
  }[preview.agentCount];
38428
- return /* @__PURE__ */ jsxs53(
38171
+ return /* @__PURE__ */ jsxs52(
38429
38172
  Popover5,
38430
38173
  {
38431
38174
  open,
@@ -38437,7 +38180,7 @@ function TuttiBudgetPopover({
38437
38180
  },
38438
38181
  children: [
38439
38182
  /* @__PURE__ */ jsx73(PopoverTrigger3, { asChild: true, children }),
38440
- /* @__PURE__ */ jsxs53(
38183
+ /* @__PURE__ */ jsxs52(
38441
38184
  PopoverContent4,
38442
38185
  {
38443
38186
  align: "start",
@@ -38449,13 +38192,13 @@ function TuttiBudgetPopover({
38449
38192
  },
38450
38193
  children: [
38451
38194
  /* @__PURE__ */ jsx73("div", { className: "text-[13px] font-semibold text-[var(--text-primary)]", children: labels.title }),
38452
- /* @__PURE__ */ jsxs53(
38195
+ /* @__PURE__ */ jsxs52(
38453
38196
  "div",
38454
38197
  {
38455
38198
  className: "rounded-[8px] border border-[var(--line-2)] bg-[var(--transparency-block)] p-2.5",
38456
38199
  "data-agent-tutti-budget-preview": preview.tier,
38457
38200
  children: [
38458
- /* @__PURE__ */ jsxs53("div", { className: "flex items-center justify-between gap-2 text-[12px] text-[var(--text-secondary)]", children: [
38201
+ /* @__PURE__ */ jsxs52("div", { className: "flex items-center justify-between gap-2 text-[12px] text-[var(--text-secondary)]", children: [
38459
38202
  /* @__PURE__ */ jsx73("span", { children: labels.intensityLabel }),
38460
38203
  /* @__PURE__ */ jsx73(
38461
38204
  "span",
@@ -38466,7 +38209,7 @@ function TuttiBudgetPopover({
38466
38209
  }
38467
38210
  )
38468
38211
  ] }),
38469
- /* @__PURE__ */ jsxs53("div", { className: "mt-3", children: [
38212
+ /* @__PURE__ */ jsxs52("div", { className: "mt-3", children: [
38470
38213
  /* @__PURE__ */ jsx73(
38471
38214
  Slider,
38472
38215
  {
@@ -38488,7 +38231,7 @@ function TuttiBudgetPopover({
38488
38231
  }
38489
38232
  }
38490
38233
  ),
38491
- /* @__PURE__ */ jsxs53("div", { className: "mt-3 flex items-center justify-between gap-2 text-[11px] font-medium", children: [
38234
+ /* @__PURE__ */ jsxs52("div", { className: "mt-3 flex items-center justify-between gap-2 text-[11px] font-medium", children: [
38492
38235
  /* @__PURE__ */ jsx73("span", { className: "text-[var(--state-success)]", children: labels.previewCost }),
38493
38236
  /* @__PURE__ */ jsx73("span", { className: "text-[var(--accent-codex)]", children: labels.previewBalance }),
38494
38237
  /* @__PURE__ */ jsx73("span", { className: "text-[var(--tutti-purple)]", children: labels.previewPowerful })
@@ -38502,8 +38245,8 @@ function TuttiBudgetPopover({
38502
38245
  children: /* @__PURE__ */ jsx73("span", { className: "text-[12px] font-medium text-[var(--text-secondary)]", children: labels.previewTitle })
38503
38246
  }
38504
38247
  ),
38505
- /* @__PURE__ */ jsxs53("div", { className: "mt-2 grid grid-cols-2 gap-2 text-[11px]", children: [
38506
- /* @__PURE__ */ jsxs53("div", { className: "min-w-0", children: [
38248
+ /* @__PURE__ */ jsxs52("div", { className: "mt-2 grid grid-cols-2 gap-2 text-[11px]", children: [
38249
+ /* @__PURE__ */ jsxs52("div", { className: "min-w-0", children: [
38507
38250
  /* @__PURE__ */ jsx73("div", { className: "text-[var(--text-tertiary)]", children: labels.modelStrengthLabel }),
38508
38251
  /* @__PURE__ */ jsx73(
38509
38252
  "div",
@@ -38514,7 +38257,7 @@ function TuttiBudgetPopover({
38514
38257
  }
38515
38258
  )
38516
38259
  ] }),
38517
- /* @__PURE__ */ jsxs53("div", { className: "min-w-0", children: [
38260
+ /* @__PURE__ */ jsxs52("div", { className: "min-w-0", children: [
38518
38261
  /* @__PURE__ */ jsx73("div", { className: "text-[var(--text-tertiary)]", children: labels.agentCountLabel }),
38519
38262
  /* @__PURE__ */ jsx73(
38520
38263
  "div",
@@ -38539,7 +38282,7 @@ function TuttiBudgetPopover({
38539
38282
  }
38540
38283
 
38541
38284
  // agent-gui/agentGuiNode/TuttiWorkflowDock.tsx
38542
- import { Fragment as Fragment22, jsx as jsx74, jsxs as jsxs54 } from "react/jsx-runtime";
38285
+ import { Fragment as Fragment22, jsx as jsx74, jsxs as jsxs53 } from "react/jsx-runtime";
38543
38286
  function countIssueTasks(issue, status) {
38544
38287
  return issue.tasks.filter((task) => task.status === status).length;
38545
38288
  }
@@ -38608,14 +38351,14 @@ function TuttiWorkflowDock({
38608
38351
  balance: intensityPopoverLabels.previewBalance,
38609
38352
  powerful: intensityPopoverLabels.previewPowerful
38610
38353
  }[reviewTier] : null;
38611
- const actions = review !== null ? /* @__PURE__ */ jsxs54(Fragment22, { children: [
38354
+ const actions = review !== null ? /* @__PURE__ */ jsxs53(Fragment22, { children: [
38612
38355
  /* @__PURE__ */ jsx74(
38613
38356
  TuttiBudgetPopover,
38614
38357
  {
38615
38358
  intensity: reviewDisplayIntensity ?? review.intensity,
38616
38359
  labels: intensityPopoverLabels,
38617
38360
  onChange: handleIntensityChange,
38618
- children: /* @__PURE__ */ jsxs54(
38361
+ children: /* @__PURE__ */ jsxs53(
38619
38362
  "button",
38620
38363
  {
38621
38364
  type: "button",
@@ -38631,7 +38374,7 @@ function TuttiWorkflowDock({
38631
38374
  ),
38632
38375
  children: [
38633
38376
  /* @__PURE__ */ jsx74(Gauge2, { "aria-hidden": true, className: "size-3.5" }),
38634
- /* @__PURE__ */ jsxs54("span", { className: "flex items-center gap-0.5", children: [
38377
+ /* @__PURE__ */ jsxs53("span", { className: "flex items-center gap-0.5", children: [
38635
38378
  reviewTierLabel !== null ? /* @__PURE__ */ jsx74("span", { className: "text-[11px]", children: reviewTierLabel }) : null,
38636
38379
  /* @__PURE__ */ jsx74("span", { className: "inline-block w-[3ch] text-left text-[11px] tabular-nums", children: reviewDisplayIntensity ?? review.intensity })
38637
38380
  ] })
@@ -38653,7 +38396,7 @@ function TuttiWorkflowDock({
38653
38396
  children: /* @__PURE__ */ jsx74(X6, { "aria-hidden": true, className: "size-3.5" })
38654
38397
  }
38655
38398
  )
38656
- ] }) : phase.kind === "error" && phase.retryable ? /* @__PURE__ */ jsxs54(
38399
+ ] }) : phase.kind === "error" && phase.retryable ? /* @__PURE__ */ jsxs53(
38657
38400
  "button",
38658
38401
  {
38659
38402
  type: "button",
@@ -38691,7 +38434,7 @@ function TuttiWorkflowDock({
38691
38434
  submitting: review.submitting,
38692
38435
  onAssignmentDraftChange
38693
38436
  }
38694
- ) : phase.kind === "materializing" ? /* @__PURE__ */ jsxs54(
38437
+ ) : phase.kind === "materializing" ? /* @__PURE__ */ jsxs53(
38695
38438
  "div",
38696
38439
  {
38697
38440
  className: "grid min-h-28 place-items-center gap-2 text-center text-sm text-muted-foreground",
@@ -38731,7 +38474,7 @@ function TuttiWorkflowDock({
38731
38474
  }
38732
38475
 
38733
38476
  // agent-gui/agentGuiNode/view/AgentGUIBottomDockPane.tsx
38734
- import { Fragment as Fragment23, jsx as jsx75, jsxs as jsxs55 } from "react/jsx-runtime";
38477
+ import { Fragment as Fragment23, jsx as jsx75, jsxs as jsxs54 } from "react/jsx-runtime";
38735
38478
  var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
38736
38479
  bottomDockRef,
38737
38480
  showScrollToBottom,
@@ -38761,7 +38504,6 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
38761
38504
  tuttiPlanIssuePanelLabels
38762
38505
  }) {
38763
38506
  "use memo";
38764
- const previewMode = composerProps.previewMode === true;
38765
38507
  const goal = objectRecord(sessionChrome.rawState?.goal);
38766
38508
  const goalObjective = goal ? stringValue3(goal.objective) : "";
38767
38509
  const goalStatus = goal ? stringValue3(goal.status) : "";
@@ -38803,7 +38545,6 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
38803
38545
  embedded: true,
38804
38546
  edgeGlow: true,
38805
38547
  keyboardShortcuts: keyboardShortcutsEnabled,
38806
- previewMode,
38807
38548
  isSubmitting: isRespondingApproval,
38808
38549
  onSubmit: onSubmitBottomDockInteractivePrompt,
38809
38550
  labels: promptLabels
@@ -38811,7 +38552,7 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
38811
38552
  )
38812
38553
  }
38813
38554
  ) : null,
38814
- accessories: /* @__PURE__ */ jsxs55(Fragment23, { children: [
38555
+ accessories: /* @__PURE__ */ jsxs54(Fragment23, { children: [
38815
38556
  inlineNoticeChrome ? /* @__PURE__ */ jsx75(
38816
38557
  AgentSessionChrome,
38817
38558
  {
@@ -38900,7 +38641,6 @@ var AgentGUIBottomDockPane = memo9(function AgentGUIBottomDockPane2({
38900
38641
  embedded: true,
38901
38642
  edgeGlow: true,
38902
38643
  keyboardShortcuts: keyboardShortcutsEnabled,
38903
- previewMode,
38904
38644
  isSubmitting: isRespondingApproval,
38905
38645
  onSubmit: onSubmitBottomDockInteractivePrompt,
38906
38646
  labels: promptLabels
@@ -38920,13 +38660,13 @@ import {
38920
38660
  ToastTitle,
38921
38661
  ToastViewport
38922
38662
  } from "@tutti-os/ui-system";
38923
- import { jsx as jsx76, jsxs as jsxs56 } from "react/jsx-runtime";
38663
+ import { jsx as jsx76, jsxs as jsxs55 } from "react/jsx-runtime";
38924
38664
  function AgentGUIContentToast({
38925
38665
  insetTopPx,
38926
38666
  message
38927
38667
  }) {
38928
38668
  const [open, setOpen] = useState44(true);
38929
- return /* @__PURE__ */ jsxs56(ToastProvider, { children: [
38669
+ return /* @__PURE__ */ jsxs55(ToastProvider, { children: [
38930
38670
  /* @__PURE__ */ jsx76(
38931
38671
  ToastRoot,
38932
38672
  {
@@ -38957,7 +38697,7 @@ import { ScrollArea as ScrollArea3 } from "@tutti-os/ui-system/components";
38957
38697
 
38958
38698
  // agent-gui/agentGuiNode/view/AgentGUIConversationTimelinePane.tsx
38959
38699
  import { memo as memo10 } from "react";
38960
- import { Fragment as Fragment24, jsx as jsx77, jsxs as jsxs57 } from "react/jsx-runtime";
38700
+ import { Fragment as Fragment24, jsx as jsx77, jsxs as jsxs56 } from "react/jsx-runtime";
38961
38701
  var EMPTY_WORKSPACE_APP_ICONS3 = [];
38962
38702
  var AgentGUIConversationTimelinePane = memo10(
38963
38703
  function AgentGUIConversationTimelinePane2({
@@ -38973,11 +38713,10 @@ var AgentGUIConversationTimelinePane = memo10(
38973
38713
  onAuthLogin,
38974
38714
  availableSkills,
38975
38715
  workspaceAppIcons = EMPTY_WORKSPACE_APP_ICONS3,
38976
- previewMode = false,
38977
38716
  labels
38978
38717
  }) {
38979
38718
  "use memo";
38980
- return /* @__PURE__ */ jsxs57(Fragment24, { children: [
38719
+ return /* @__PURE__ */ jsxs56(Fragment24, { children: [
38981
38720
  isLoadingOlderMessages && !isLoading ? /* @__PURE__ */ jsx77(
38982
38721
  "div",
38983
38722
  {
@@ -39001,7 +38740,6 @@ var AgentGUIConversationTimelinePane = memo10(
39001
38740
  onAuthLogin,
39002
38741
  availableSkills,
39003
38742
  workspaceAppIcons,
39004
- previewMode,
39005
38743
  labels
39006
38744
  }
39007
38745
  )
@@ -39044,7 +38782,6 @@ var AgentGUIDetailTimeline = memo11(function AgentGUIDetailTimeline2({
39044
38782
  labels,
39045
38783
  onAuthLogin,
39046
38784
  onLinkAction,
39047
- previewMode,
39048
38785
  showTimelineSkeleton,
39049
38786
  showUnavailableChatEmpty,
39050
38787
  timelineContentRef,
@@ -39074,7 +38811,6 @@ var AgentGUIDetailTimeline = memo11(function AgentGUIDetailTimeline2({
39074
38811
  onAuthLogin,
39075
38812
  availableSkills,
39076
38813
  workspaceAppIcons,
39077
- previewMode,
39078
38814
  labels: conversationFlowLabels
39079
38815
  }
39080
38816
  ) : homeContent
@@ -39616,7 +39352,7 @@ function useAgentGUITimelineTransition(input) {
39616
39352
  }
39617
39353
 
39618
39354
  // agent-gui/agentGuiNode/view/useAgentGUIDetailModel.tsx
39619
- import { Fragment as Fragment25, jsx as jsx80, jsxs as jsxs58 } from "react/jsx-runtime";
39355
+ import { Fragment as Fragment25, jsx as jsx80, jsxs as jsxs57 } from "react/jsx-runtime";
39620
39356
  function resolveTuttiModeUpdateInlineNotice(input) {
39621
39357
  if (input.status !== "failed" && input.status !== "uncertain") return null;
39622
39358
  const localizedMessage = input.status === "failed" ? input.failedMessage : input.uncertainMessage;
@@ -39814,7 +39550,7 @@ function useAgentGUIDetailModel(input) {
39814
39550
  ]
39815
39551
  );
39816
39552
  const conversationFlowEmpty = useMemo43(
39817
- () => showUnavailableChatEmpty ? /* @__PURE__ */ jsxs58(
39553
+ () => showUnavailableChatEmpty ? /* @__PURE__ */ jsxs57(
39818
39554
  "div",
39819
39555
  {
39820
39556
  className: AgentGUINode_styles_default.unavailableChatEmpty,
@@ -40271,7 +40007,6 @@ import { useState as useState47 } from "react";
40271
40007
  function useAgentGUITuttiWorkflow(input) {
40272
40008
  const {
40273
40009
  viewModel,
40274
- previewMode,
40275
40010
  labels,
40276
40011
  stableLinkAction,
40277
40012
  setTuttiModeActive,
@@ -40280,7 +40015,7 @@ function useAgentGUITuttiWorkflow(input) {
40280
40015
  submitPromptPassthrough
40281
40016
  } = input;
40282
40017
  const tuttiModePlanPanels = useTuttiModePlanPanels({
40283
- enabled: !previewMode,
40018
+ enabled: true,
40284
40019
  workspaceId: viewModel.shell.workspaceId,
40285
40020
  sourceSessionId: viewModel.rail.activeConversationId,
40286
40021
  decidedBy: viewModel.shell.currentUserId?.trim() || "local"
@@ -40491,7 +40226,7 @@ function useAgentGUITuttiWorkflow(input) {
40491
40226
  }
40492
40227
 
40493
40228
  // agent-gui/agentGuiNode/view/AgentGUIDetailPane.tsx
40494
- import { Fragment as Fragment26, jsx as jsx81, jsxs as jsxs59 } from "react/jsx-runtime";
40229
+ import { Fragment as Fragment26, jsx as jsx81, jsxs as jsxs58 } from "react/jsx-runtime";
40495
40230
  var EMPTY_WORKSPACE_APP_ICONS4 = [];
40496
40231
  var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
40497
40232
  shell,
@@ -40509,7 +40244,6 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
40509
40244
  workspaceUserProjectI18n,
40510
40245
  uiLanguage,
40511
40246
  isActive,
40512
- previewMode,
40513
40247
  workspaceReferencePickerOpen,
40514
40248
  composerFocusRequestSequence,
40515
40249
  slashStatusLimits,
@@ -40692,7 +40426,6 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
40692
40426
  const stableLinkAction = useOptionalStableEventCallback(onLinkAction);
40693
40427
  const tuttiWorkflow = useAgentGUITuttiWorkflow({
40694
40428
  viewModel,
40695
- previewMode,
40696
40429
  labels,
40697
40430
  stableLinkAction,
40698
40431
  setTuttiModeActive: actions.setTuttiModeActive,
@@ -40791,7 +40524,6 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
40791
40524
  placeholder: viewModel.detail.hasSentUserMessage ? labels.followupPlaceholder : labels.initialPlaceholder,
40792
40525
  showStopButton,
40793
40526
  stopDisabled: stopDisabled || timelineInteractionLocked,
40794
- previewMode,
40795
40527
  workspaceReferencePickerOpen,
40796
40528
  referenceProvenanceFilter,
40797
40529
  // Plan decisions replace the composer; approval / ask-user embed here.
@@ -40876,7 +40608,6 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
40876
40608
  onSlashStatusOpen,
40877
40609
  onSlashStatusClose,
40878
40610
  onSlashStatusRefresh,
40879
- previewMode,
40880
40611
  workspaceReferencePickerOpen,
40881
40612
  composerActivePrompt,
40882
40613
  editQueuedPrompt,
@@ -41005,7 +40736,6 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
41005
40736
  onProviderSelect: canSwitchComposerProvider && viewModel.rail.activeConversationId === null ? selectHomeComposerAgentTargetAndFocus : void 0,
41006
40737
  noticeChrome: homeNoticeChrome,
41007
40738
  isRespondingApproval: isInteractionPending,
41008
- previewMode,
41009
40739
  onSubmitApprovalOption: submitApprovalOption,
41010
40740
  onRetryActivation: retryActivation,
41011
40741
  onAuthLogin: authLogin,
@@ -41019,7 +40749,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
41019
40749
  onSelectSuggestionAction: handleHomeSuggestionAction
41020
40750
  }
41021
40751
  ) : null;
41022
- return /* @__PURE__ */ jsxs59(
40752
+ return /* @__PURE__ */ jsxs58(
41023
40753
  "main",
41024
40754
  {
41025
40755
  className: AgentGUINode_styles_default.detail,
@@ -41048,7 +40778,6 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
41048
40778
  labels,
41049
40779
  onAuthLogin: authLogin,
41050
40780
  onLinkAction: stableLinkAction,
41051
- previewMode,
41052
40781
  showTimelineSkeleton,
41053
40782
  showUnavailableChatEmpty,
41054
40783
  timelineContentRef,
@@ -41095,7 +40824,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
41095
40824
  // agent-gui/agentGuiNode/view/AgentGUIRenameConversationDialog.tsx
41096
40825
  import { memo as memo13, useCallback as useCallback61, useEffect as useEffect35, useRef as useRef54, useState as useState49 } from "react";
41097
40826
  import { ConfirmationDialog as ConfirmationDialog4, Input as Input4 } from "@tutti-os/ui-system";
41098
- import { jsx as jsx82, jsxs as jsxs60 } from "react/jsx-runtime";
40827
+ import { jsx as jsx82, jsxs as jsxs59 } from "react/jsx-runtime";
41099
40828
  var AgentGUIRenameConversationDialog = memo13(
41100
40829
  function AgentGUIRenameConversationDialog2({
41101
40830
  conversation,
@@ -41160,7 +40889,7 @@ var AgentGUIRenameConversationDialog = memo13(
41160
40889
  confirmDisabled: !trimmedTitle,
41161
40890
  confirmLabel: labels.renameSessionSave,
41162
40891
  description: labels.renameSessionDescription,
41163
- footer: /* @__PURE__ */ jsxs60("div", { className: "flex justify-end gap-2", children: [
40892
+ footer: /* @__PURE__ */ jsxs59("div", { className: "flex justify-end gap-2", children: [
41164
40893
  /* @__PURE__ */ jsx82(
41165
40894
  Button,
41166
40895
  {
@@ -41334,7 +41063,7 @@ function AgentGUIReferencePickerSurface({
41334
41063
 
41335
41064
  // agent-gui/agentGuiNode/view/AgentTargetSetupRoot.tsx
41336
41065
  import { useCallback as useCallback62, useMemo as useMemo45 } from "react";
41337
- import { jsx as jsx84, jsxs as jsxs61 } from "react/jsx-runtime";
41066
+ import { jsx as jsx84, jsxs as jsxs60 } from "react/jsx-runtime";
41338
41067
  function useAgentTargetSetupRoot(input) {
41339
41068
  const { preferences } = useAgentGUIProviderRailPreferences();
41340
41069
  const homeTargetProjection = useMemo45(
@@ -41378,7 +41107,7 @@ function AgentTargetSetupRoot({
41378
41107
  controller,
41379
41108
  openEnvironmentSetup
41380
41109
  }) {
41381
- return /* @__PURE__ */ jsx84(AgentEnvPanelActionProvider, { openPanel: openEnvironmentSetup, children: /* @__PURE__ */ jsxs61(AgentTargetSetupControllerProvider, { controller, children: [
41110
+ return /* @__PURE__ */ jsx84(AgentEnvPanelActionProvider, { openPanel: openEnvironmentSetup, children: /* @__PURE__ */ jsxs60(AgentTargetSetupControllerProvider, { controller, children: [
41382
41111
  children,
41383
41112
  /* @__PURE__ */ jsx84(
41384
41113
  AgentTargetSetupGate,
@@ -41397,7 +41126,6 @@ import { createRichTextMentionHref } from "@tutti-os/ui-rich-text/core";
41397
41126
  function useAgentGUIWorkspaceReferencePicker(input) {
41398
41127
  const {
41399
41128
  onWorkspaceFileReferencesAdded,
41400
- previewMode,
41401
41129
  projectDirectorySourceAggregator,
41402
41130
  referenceSourceAggregator,
41403
41131
  resolveMentionReferenceTarget,
@@ -41427,9 +41155,6 @@ function useAgentGUIWorkspaceReferencePicker(input) {
41427
41155
  );
41428
41156
  const requestWorkspaceReferences = useCallback63(
41429
41157
  async (entity) => {
41430
- if (previewMode) {
41431
- return emptyReferencePickResult;
41432
- }
41433
41158
  if (!workspaceFileReferenceAdapter && !referenceSourceAggregator) {
41434
41159
  return emptyReferencePickResult;
41435
41160
  }
@@ -41450,7 +41175,6 @@ function useAgentGUIWorkspaceReferencePicker(input) {
41450
41175
  },
41451
41176
  [
41452
41177
  emptyReferencePickResult,
41453
- previewMode,
41454
41178
  referenceSourceAggregator,
41455
41179
  resolveMentionReferenceTarget,
41456
41180
  resolveWorkspaceReferenceInitialTarget,
@@ -41462,7 +41186,7 @@ function useAgentGUIWorkspaceReferencePicker(input) {
41462
41186
  ]
41463
41187
  );
41464
41188
  const requestProjectDirectory = useCallback63(async () => {
41465
- if (previewMode || !projectDirectorySourceAggregator) {
41189
+ if (!projectDirectorySourceAggregator) {
41466
41190
  return null;
41467
41191
  }
41468
41192
  setWorkspaceReferencePickerTarget(null);
@@ -41474,7 +41198,7 @@ function useAgentGUIWorkspaceReferencePicker(input) {
41474
41198
  projectDirectoryPickerResolverRef.current?.(null);
41475
41199
  projectDirectoryPickerResolverRef.current = resolve;
41476
41200
  });
41477
- }, [emptyReferencePickResult, previewMode, projectDirectorySourceAggregator]);
41201
+ }, [emptyReferencePickResult, projectDirectorySourceAggregator]);
41478
41202
  const closeWorkspaceReferencePicker = useCallback63(() => {
41479
41203
  workspaceReferencePickerResolverRef.current?.(emptyReferencePickResult);
41480
41204
  workspaceReferencePickerResolverRef.current = null;
@@ -41718,7 +41442,7 @@ var AgentGUIPanelEngagementController = class {
41718
41442
  }
41719
41443
  isExposureEligible() {
41720
41444
  const input = this.options.getInput();
41721
- return Boolean(input.onEvent) && !input.previewMode && input.contextKey === this.options.visitContextKey && input.isActive && input.isVisible && this.documentFocused && this.documentVisible && this.intersectionRatio >= AGENT_GUI_PANEL_EXPOSURE_INTERSECTION_RATIO;
41445
+ return Boolean(input.onEvent) && input.contextKey === this.options.visitContextKey && input.isActive && input.isVisible && this.documentFocused && this.documentVisible && this.intersectionRatio >= AGENT_GUI_PANEL_EXPOSURE_INTERSECTION_RATIO;
41722
41446
  }
41723
41447
  eventForVisit(visit, type) {
41724
41448
  return {
@@ -41767,7 +41491,7 @@ function useAgentGUIPanelEngagement(input) {
41767
41491
  }
41768
41492
  };
41769
41493
  }
41770
- const engagementEnabled = Boolean(input.onEvent) && !input.previewMode;
41494
+ const engagementEnabled = Boolean(input.onEvent);
41771
41495
  useEffect36(() => {
41772
41496
  const element = input.elementRef.current;
41773
41497
  if (!engagementEnabled || !element) return void 0;
@@ -41806,8 +41530,7 @@ function useAgentGUINodeEngagement(input) {
41806
41530
  elementRef: layoutElementRef,
41807
41531
  isActive: input.isActive,
41808
41532
  isVisible: input.isVisible,
41809
- onEvent: input.onEvent,
41810
- previewMode: input.previewMode
41533
+ onEvent: input.onEvent
41811
41534
  }),
41812
41535
  layoutElementRef
41813
41536
  };
@@ -41819,7 +41542,6 @@ function useAgentGUIConversationRailResizePointerMove({
41819
41542
  clampConversationRailWidth,
41820
41543
  layoutElementRef,
41821
41544
  onConversationRailLayoutChange,
41822
- previewMode,
41823
41545
  providerRailWidthPx,
41824
41546
  railResizeInteractionRef
41825
41547
  }) {
@@ -41828,7 +41550,6 @@ function useAgentGUIConversationRailResizePointerMove({
41828
41550
  );
41829
41551
  return useCallback64(
41830
41552
  (event) => {
41831
- if (previewMode) return;
41832
41553
  const resizeState = railResizeInteractionRef.current;
41833
41554
  if (!resizeState || resizeState.pointerId !== event.pointerId) return;
41834
41555
  const nextWidthPx = clampConversationRailWidth(
@@ -41851,7 +41572,6 @@ function useAgentGUIConversationRailResizePointerMove({
41851
41572
  [
41852
41573
  clampConversationRailWidth,
41853
41574
  layoutElementRef,
41854
- previewMode,
41855
41575
  providerRailWidthPx,
41856
41576
  railResizeInteractionRef,
41857
41577
  reportConversationRailLayoutChange
@@ -41878,7 +41598,6 @@ function useAgentGUIExternalRequests(input) {
41878
41598
  createConversationDisabled,
41879
41599
  labels,
41880
41600
  newConversationRequestSequence,
41881
- previewMode,
41882
41601
  requestCreateConversation,
41883
41602
  requestRenameConversation,
41884
41603
  sessionActionRequest,
@@ -41907,7 +41626,7 @@ function useAgentGUIExternalRequests(input) {
41907
41626
  requestCreateConversation({ source: "external_request" });
41908
41627
  }
41909
41628
  }
41910
- if (sessionActionRequest && handledSessionActionRequestSequenceRef.current !== sessionActionRequest.sequence && !previewMode) {
41629
+ if (sessionActionRequest && handledSessionActionRequestSequenceRef.current !== sessionActionRequest.sequence) {
41911
41630
  handledSessionActionRequestSequenceRef.current = sessionActionRequest.sequence;
41912
41631
  const conversation = resolveSessionActionConversation(
41913
41632
  viewModel,
@@ -41932,7 +41651,6 @@ function useAgentGUIExternalRequests(input) {
41932
41651
  createConversationDisabled,
41933
41652
  labels,
41934
41653
  newConversationRequestSequence,
41935
- previewMode,
41936
41654
  requestCreateConversation,
41937
41655
  requestRenameConversation,
41938
41656
  sessionActionRequest,
@@ -41943,7 +41661,7 @@ function useAgentGUIExternalRequests(input) {
41943
41661
  }
41944
41662
 
41945
41663
  // agent-gui/agentGuiNode/AgentGUINodeView.tsx
41946
- import { jsx as jsx85, jsxs as jsxs62 } from "react/jsx-runtime";
41664
+ import { jsx as jsx85, jsxs as jsxs61 } from "react/jsx-runtime";
41947
41665
  function AgentGUINodeView({
41948
41666
  viewModel,
41949
41667
  referenceProvenanceFilter = null,
@@ -41979,7 +41697,6 @@ function AgentGUINodeView({
41979
41697
  onSlashStatusOpen,
41980
41698
  onSlashStatusClose,
41981
41699
  onSlashStatusRefresh,
41982
- previewMode = false,
41983
41700
  onAgentProviderLogin,
41984
41701
  onAgentEnvPanelOpen,
41985
41702
  actions,
@@ -42021,7 +41738,6 @@ function AgentGUINodeView({
42021
41738
  isActive,
42022
41739
  isVisible,
42023
41740
  onEvent: onEngagementEvent,
42024
- previewMode,
42025
41741
  viewModel
42026
41742
  });
42027
41743
  const [providerManagerOpen, setProviderManagerOpen] = useState51(false);
@@ -42047,7 +41763,6 @@ function AgentGUINodeView({
42047
41763
  workspaceReferencePickerTarget
42048
41764
  } = useAgentGUIWorkspaceReferencePicker({
42049
41765
  onWorkspaceFileReferencesAdded,
42050
- previewMode,
42051
41766
  projectDirectorySourceAggregator,
42052
41767
  referenceSourceAggregator,
42053
41768
  resolveMentionReferenceTarget,
@@ -42095,9 +41810,6 @@ function AgentGUINodeView({
42095
41810
  }, []);
42096
41811
  const requestCreateConversation = useStableEventCallback(
42097
41812
  (options) => {
42098
- if (previewMode) {
42099
- return;
42100
- }
42101
41813
  const source = options?.source;
42102
41814
  if (options && "projectPath" in options) {
42103
41815
  createConversationAction(options);
@@ -42134,9 +41846,6 @@ function AgentGUINodeView({
42134
41846
  const providerRailWidthPx = conversationRailCollapsed ? 0 : 52;
42135
41847
  const handleConversationRailResizePointerDown = useCallback66(
42136
41848
  (event) => {
42137
- if (previewMode) {
42138
- return;
42139
- }
42140
41849
  if (conversationRailCollapsed || event.button !== 0) {
42141
41850
  return;
42142
41851
  }
@@ -42151,13 +41860,12 @@ function AgentGUINodeView({
42151
41860
  setRailResizeWidthPx(conversationRailWidthPx);
42152
41861
  setIsRailResizing(true);
42153
41862
  },
42154
- [conversationRailCollapsed, conversationRailWidthPx, previewMode]
41863
+ [conversationRailCollapsed, conversationRailWidthPx]
42155
41864
  );
42156
41865
  const handleConversationRailResizePointerMove = useAgentGUIConversationRailResizePointerMove({
42157
41866
  clampConversationRailWidth,
42158
41867
  layoutElementRef,
42159
41868
  onConversationRailLayoutChange,
42160
- previewMode,
42161
41869
  providerRailWidthPx,
42162
41870
  railResizeInteractionRef
42163
41871
  });
@@ -42194,9 +41902,6 @@ function AgentGUINodeView({
42194
41902
  ]);
42195
41903
  const handleConversationRailResizeKeyDown = useCallback66(
42196
41904
  (event) => {
42197
- if (previewMode) {
42198
- return;
42199
- }
42200
41905
  if (conversationRailCollapsed) {
42201
41906
  return;
42202
41907
  }
@@ -42214,8 +41919,7 @@ function AgentGUINodeView({
42214
41919
  clampConversationRailWidth,
42215
41920
  conversationRailCollapsed,
42216
41921
  conversationRailWidthPx,
42217
- onConversationRailWidthChanged,
42218
- previewMode
41922
+ onConversationRailWidthChanged
42219
41923
  ]
42220
41924
  );
42221
41925
  const visualConversationRailWidthPx = isRailResizing ? railResizeInteractionRef.current?.lastWidthPx ?? conversationRailWidthPx : railResizeWidthPx ?? conversationRailWidthPx;
@@ -42278,7 +41982,6 @@ function AgentGUINodeView({
42278
41982
  createConversationDisabled,
42279
41983
  labels,
42280
41984
  newConversationRequestSequence,
42281
- previewMode,
42282
41985
  requestCreateConversation,
42283
41986
  requestRenameConversation,
42284
41987
  sessionActionRequest,
@@ -42298,7 +42001,6 @@ function AgentGUINodeView({
42298
42001
  labels: conversationRailLabels,
42299
42002
  workspaceUserProjectI18n,
42300
42003
  uiLanguage,
42301
- previewMode,
42302
42004
  createConversationDisabled,
42303
42005
  isCollapsed: conversationRailCollapsed,
42304
42006
  agentTargets: viewModel.rail.agentTargets,
@@ -42336,7 +42038,6 @@ function AgentGUINodeView({
42336
42038
  openProjectFiles,
42337
42039
  actions.markConversationUnread,
42338
42040
  actions.updateConversationFilter,
42339
- previewMode,
42340
42041
  removeProject,
42341
42042
  moveProject,
42342
42043
  toggleProjectPinned,
@@ -42372,23 +42073,21 @@ function AgentGUINodeView({
42372
42073
  }),
42373
42074
  [targetPresentationKey, viewModel.shell.workspaceId]
42374
42075
  );
42375
- const content = /* @__PURE__ */ jsx85(AgentTargetPresentationProvider, { agentTargets: agentTargetPresentations, children: /* @__PURE__ */ jsxs62(
42076
+ const content = /* @__PURE__ */ jsx85(AgentTargetPresentationProvider, { agentTargets: agentTargetPresentations, children: /* @__PURE__ */ jsxs61(
42376
42077
  AgentTargetSetupRoot,
42377
42078
  {
42378
42079
  controller: targetSetupController,
42379
42080
  openEnvironmentSetup: onAgentEnvPanelOpen,
42380
42081
  children: [
42381
- /* @__PURE__ */ jsxs62(
42082
+ /* @__PURE__ */ jsxs61(
42382
42083
  "div",
42383
42084
  {
42384
42085
  ref: layoutElementRef,
42385
42086
  className: AgentGUINode_styles_default.layout,
42386
- "data-agent-gui-preview": previewMode ? "true" : void 0,
42387
42087
  "data-rail-resizing": isRailResizing ? "true" : void 0,
42388
- inert: previewMode ? true : void 0,
42389
42088
  style: layoutStyle,
42390
42089
  children: [
42391
- /* @__PURE__ */ jsxs62(
42090
+ /* @__PURE__ */ jsxs61(
42392
42091
  "aside",
42393
42092
  {
42394
42093
  className: `${AgentGUINode_styles_default.providerRailPanel} nodrag tsh-desktop-no-drag`,
@@ -42404,7 +42103,6 @@ function AgentGUINodeView({
42404
42103
  conversationFilter: viewModel.rail.conversationFilter,
42405
42104
  conversations: viewModel.rail.conversations,
42406
42105
  labels,
42407
- previewMode,
42408
42106
  selectedAgentTarget: viewModel.rail.selectedAgentTarget,
42409
42107
  agentTargets: viewModel.rail.agentTargets,
42410
42108
  agentTargetsLoading: viewModel.rail.agentTargetsLoading,
@@ -42441,7 +42139,6 @@ function AgentGUINodeView({
42441
42139
  {
42442
42140
  environmentSetupVisible,
42443
42141
  labels,
42444
- previewMode,
42445
42142
  providerScopedActionsVisible: viewModel.rail.conversationFilter.kind !== "all",
42446
42143
  slashStatusLimits: effectiveRailSlashStatusLimits,
42447
42144
  slashStatusLimitsLoading,
@@ -42548,8 +42245,7 @@ function AgentGUINodeView({
42548
42245
  onRequestComposerFocus: requestComposerFocus,
42549
42246
  workspaceAppIcons: effectiveWorkspaceAppIcons,
42550
42247
  workspaceUserProjectI18n,
42551
- renderProviderUnavailableState,
42552
- previewMode
42248
+ renderProviderUnavailableState
42553
42249
  }
42554
42250
  ) })
42555
42251
  ]
@@ -42593,7 +42289,7 @@ function AgentGUINodeView({
42593
42289
  ]
42594
42290
  }
42595
42291
  ) });
42596
- return previewMode ? content : /* @__PURE__ */ jsx85(TooltipProvider7, { children: content });
42292
+ return /* @__PURE__ */ jsx85(TooltipProvider7, { children: content });
42597
42293
  }
42598
42294
 
42599
42295
  // agent-gui/workspaceDesktop/view/AgentProbeInfoPopover.tsx
@@ -42606,7 +42302,7 @@ import {
42606
42302
  useState as useState52
42607
42303
  } from "react";
42608
42304
  import { createPortal as createPortal5 } from "react-dom";
42609
- import { Fragment as Fragment27, jsx as jsx86, jsxs as jsxs63 } from "react/jsx-runtime";
42305
+ import { Fragment as Fragment27, jsx as jsx86, jsxs as jsxs62 } from "react/jsx-runtime";
42610
42306
  var POPOVER_MIN_VIEWPORT_INSET_PX = 16;
42611
42307
  var POPOVER_DEFAULT_WIDTH_PX = 260;
42612
42308
  function dockAgentProbeLineKey(line) {
@@ -42616,9 +42312,9 @@ function renderDockAgentProbeLine(line) {
42616
42312
  if (typeof line === "string") {
42617
42313
  return line;
42618
42314
  }
42619
- return /* @__PURE__ */ jsxs63(Fragment27, { children: [
42315
+ return /* @__PURE__ */ jsxs62(Fragment27, { children: [
42620
42316
  line.primary,
42621
- line.secondary ? /* @__PURE__ */ jsxs63(Fragment27, { children: [
42317
+ line.secondary ? /* @__PURE__ */ jsxs62(Fragment27, { children: [
42622
42318
  " ",
42623
42319
  /* @__PURE__ */ jsx86("span", { className: "desktop-dock-popup__agent-status-secondary", children: line.secondary })
42624
42320
  ] }) : null
@@ -42725,7 +42421,7 @@ function AgentProbeInfoPopover({
42725
42421
  children: /* @__PURE__ */ jsx86("ul", { className: "desktop-dock-popup__agent-info-list", children: lines.map((line) => {
42726
42422
  const label = getDockAgentProbeLineLabel(line);
42727
42423
  const valueText = formatDockAgentProbeLineText(line);
42728
- return /* @__PURE__ */ jsxs63(
42424
+ return /* @__PURE__ */ jsxs62(
42729
42425
  "li",
42730
42426
  {
42731
42427
  className: "desktop-dock-popup__agent-info-item",
@@ -42747,7 +42443,7 @@ function AgentProbeInfoPopover({
42747
42443
  }) })
42748
42444
  }
42749
42445
  );
42750
- return /* @__PURE__ */ jsxs63(
42446
+ return /* @__PURE__ */ jsxs62(
42751
42447
  "div",
42752
42448
  {
42753
42449
  ref: anchorRef,
@@ -42856,7 +42552,7 @@ function areAgentGUINodePropsEqual(previous, next) {
42856
42552
  const pc = previous.hostCapabilities, nc = next.hostCapabilities;
42857
42553
  const pa = previous.hostActions, na = next.hostActions;
42858
42554
  const ps = previous.renderSlots, ns = next.renderSlots;
42859
- return pi.nodeId === ni.nodeId && pi.workspaceId === ni.workspaceId && pi.currentUserId === ni.currentUserId && pi.title === ni.title && pw.path === nw.path && pw.fileReferenceAdapter === nw.fileReferenceAdapter && pw.onRequestGitBranches === nw.onRequestGitBranches && pw.selectProjectDirectory === nw.selectProjectDirectory && pw.resolveExternalPromptEntries === nw.resolveExternalPromptEntries && pw.prepareExternalPromptFiles === nw.prepareExternalPromptFiles && pw.promptAssetLimit === nw.promptAssetLimit && pw.projectDirectorySourceAggregator === nw.projectDirectorySourceAggregator && pw.referenceSourceAggregator === nw.referenceSourceAggregator && pw.resolveReferenceContentErrorAction === nw.resolveReferenceContentErrorAction && pw.resolveReferenceEntryIconUrl === nw.resolveReferenceEntryIconUrl && pw.resolveMentionReferenceTarget === nw.resolveMentionReferenceTarget && pw.resolveReferenceInitialTarget === nw.resolveReferenceInitialTarget && pw.onFileReferencesAdded === nw.onFileReferencesAdded && pw.agentSettings.avoidGroupingEdits === nw.agentSettings.avoidGroupingEdits && pc.referenceProvenanceFilterCatalog === nc.referenceProvenanceFilterCatalog && pc.referenceProvenanceFilterEnabled === nc.referenceProvenanceFilterEnabled && agentGuiStateEquals(previous.state, next.state) && pf.position.x === nf.position.x && pf.position.y === nf.position.y && pf.width === nf.width && pf.height === nf.height && pf.desktopSize.width === nf.desktopSize.width && pf.desktopSize.height === nf.desktopSize.height && pf.isMaximized === nf.isMaximized && pf.isActive === nf.isActive && pf.isVisible === nf.isVisible && pf.embedded === nf.embedded && pf.previewMode === nf.previewMode && pf.conversationRailAutoCollapseWidthPx === nf.conversationRailAutoCollapseWidthPx && pr.composerFocusSequence === nr.composerFocusSequence && pr.composerAppend === nr.composerAppend && pr.newConversationSequence === nr.newConversationSequence && pr.sessionAction === nr.sessionAction && pr.openSession === nr.openSession && pr.prefillPrompt === nr.prefillPrompt && pr.agentStatusController === nr.agentStatusController && pc.capabilityMenuState === nc.capabilityMenuState && pc.capabilityControlsReadOnly === nc.capabilityControlsReadOnly && pc.agentTargets === nc.agentTargets && pc.agentTargetsLoading === nc.agentTargetsLoading && pc.handoffAgentTargets === nc.handoffAgentTargets && pc.handoffAgentTargetsLoading === nc.handoffAgentTargetsLoading && pc.providerRailAllPresentation?.iconUrl === nc.providerRailAllPresentation?.iconUrl && pc.providerRailMode === nc.providerRailMode && pc.comingSoonProviders === nc.comingSoonProviders && pc.providerReadinessGates === nc.providerReadinessGates && pc.targetConnectionSource === nc.targetConnectionSource && pc.defaultAgentTargetId === nc.defaultAgentTargetId && pc.providerAuthAccountLabels === nc.providerAuthAccountLabels && pc.mentionService === nc.mentionService && pc.workspaceAppIcons === nc.workspaceAppIcons && pc.disabledHomeSuggestions === nc.disabledHomeSuggestions && pa.onLinkAction === na.onLinkAction && pa.onHandoffConversation === na.onHandoffConversation && pa.onCapabilitySettingsRequest === na.onCapabilitySettingsRequest && pa.onAgentProviderLogin === na.onAgentProviderLogin && pa.onAgentEnvPanelOpen === na.onAgentEnvPanelOpen && pa.onOpenConversationWindow === na.onOpenConversationWindow && pa.onClose === na.onClose && pa.onResize === na.onResize && pa.onUpdateNode === na.onUpdateNode && pa.onRememberComposerDefaults === na.onRememberComposerDefaults && pa.isMuted === na.isMuted && pa.onMinimize === na.onMinimize && pa.onToggleMaximize === na.onToggleMaximize && pa.onShowMessage === na.onShowMessage && pa.onEngagementEvent === na.onEngagementEvent && pa.onConversationRailLayoutChange === na.onConversationRailLayoutChange && ps.providerRailEmpty === ns.providerRailEmpty && ps.providerUnavailableState === ns.providerUnavailableState && ps.sidebarFooter === ns.sidebarFooter;
42555
+ return pi.nodeId === ni.nodeId && pi.workspaceId === ni.workspaceId && pi.currentUserId === ni.currentUserId && pi.title === ni.title && pw.path === nw.path && pw.fileReferenceAdapter === nw.fileReferenceAdapter && pw.onRequestGitBranches === nw.onRequestGitBranches && pw.selectProjectDirectory === nw.selectProjectDirectory && pw.resolveExternalPromptEntries === nw.resolveExternalPromptEntries && pw.prepareExternalPromptFiles === nw.prepareExternalPromptFiles && pw.promptAssetLimit === nw.promptAssetLimit && pw.projectDirectorySourceAggregator === nw.projectDirectorySourceAggregator && pw.referenceSourceAggregator === nw.referenceSourceAggregator && pw.resolveReferenceContentErrorAction === nw.resolveReferenceContentErrorAction && pw.resolveReferenceEntryIconUrl === nw.resolveReferenceEntryIconUrl && pw.resolveMentionReferenceTarget === nw.resolveMentionReferenceTarget && pw.resolveReferenceInitialTarget === nw.resolveReferenceInitialTarget && pw.onFileReferencesAdded === nw.onFileReferencesAdded && pw.agentSettings.avoidGroupingEdits === nw.agentSettings.avoidGroupingEdits && pc.referenceProvenanceFilterCatalog === nc.referenceProvenanceFilterCatalog && pc.referenceProvenanceFilterEnabled === nc.referenceProvenanceFilterEnabled && agentGuiStateEquals(previous.state, next.state) && pf.position.x === nf.position.x && pf.position.y === nf.position.y && pf.width === nf.width && pf.height === nf.height && pf.desktopSize.width === nf.desktopSize.width && pf.desktopSize.height === nf.desktopSize.height && pf.isMaximized === nf.isMaximized && pf.isActive === nf.isActive && pf.isVisible === nf.isVisible && pf.embedded === nf.embedded && pf.conversationRailAutoCollapseWidthPx === nf.conversationRailAutoCollapseWidthPx && pr.composerFocusSequence === nr.composerFocusSequence && pr.composerAppend === nr.composerAppend && pr.newConversationSequence === nr.newConversationSequence && pr.sessionAction === nr.sessionAction && pr.openSession === nr.openSession && pr.prefillPrompt === nr.prefillPrompt && pr.agentStatusController === nr.agentStatusController && pc.capabilityMenuState === nc.capabilityMenuState && pc.capabilityControlsReadOnly === nc.capabilityControlsReadOnly && pc.agentTargets === nc.agentTargets && pc.agentTargetsLoading === nc.agentTargetsLoading && pc.handoffAgentTargets === nc.handoffAgentTargets && pc.handoffAgentTargetsLoading === nc.handoffAgentTargetsLoading && pc.providerRailAllPresentation?.iconUrl === nc.providerRailAllPresentation?.iconUrl && pc.providerRailMode === nc.providerRailMode && pc.comingSoonProviders === nc.comingSoonProviders && pc.providerReadinessGates === nc.providerReadinessGates && pc.targetConnectionSource === nc.targetConnectionSource && pc.defaultAgentTargetId === nc.defaultAgentTargetId && pc.providerAuthAccountLabels === nc.providerAuthAccountLabels && pc.mentionService === nc.mentionService && pc.workspaceAppIcons === nc.workspaceAppIcons && pc.disabledHomeSuggestions === nc.disabledHomeSuggestions && pa.onLinkAction === na.onLinkAction && pa.onHandoffConversation === na.onHandoffConversation && pa.onCapabilitySettingsRequest === na.onCapabilitySettingsRequest && pa.onAgentProviderLogin === na.onAgentProviderLogin && pa.onAgentEnvPanelOpen === na.onAgentEnvPanelOpen && pa.onOpenConversationWindow === na.onOpenConversationWindow && pa.onClose === na.onClose && pa.onResize === na.onResize && pa.onUpdateNode === na.onUpdateNode && pa.onRememberComposerDefaults === na.onRememberComposerDefaults && pa.isMuted === na.isMuted && pa.onMinimize === na.onMinimize && pa.onToggleMaximize === na.onToggleMaximize && pa.onShowMessage === na.onShowMessage && pa.onEngagementEvent === na.onEngagementEvent && pa.onConversationRailLayoutChange === na.onConversationRailLayoutChange && ps.providerRailEmpty === ns.providerRailEmpty && ps.providerUnavailableState === ns.providerUnavailableState && ps.sidebarFooter === ns.sidebarFooter;
42860
42556
  }
42861
42557
 
42862
42558
  // agent-gui/agentGuiNode/AgentGUIMentionServiceBoundary.tsx
@@ -44048,7 +43744,7 @@ function useAgentGUIWorkspaceFileReferenceCopy(t) {
44048
43744
  }
44049
43745
 
44050
43746
  // agent-gui/agentGuiNode/AgentGUINode.tsx
44051
- import { jsx as jsx88, jsxs as jsxs64 } from "react/jsx-runtime";
43747
+ import { jsx as jsx88, jsxs as jsxs63 } from "react/jsx-runtime";
44052
43748
  var DISABLED_REFERENCE_PROVENANCE_CATALOG = {
44053
43749
  enabledDimensions: [],
44054
43750
  agentOptions: [],
@@ -44092,7 +43788,6 @@ var AgentGUINode = memo14(function AgentGUINode2({
44092
43788
  isActive,
44093
43789
  isVisible = true,
44094
43790
  embedded = false,
44095
- previewMode = false,
44096
43791
  conversationRailAutoCollapseWidthPx = null
44097
43792
  } = frame;
44098
43793
  const railAutoCollapseWidthPx = conversationRailAutoCollapseWidthPx ?? void 0;
@@ -44194,18 +43889,12 @@ var AgentGUINode = memo14(function AgentGUINode2({
44194
43889
  );
44195
43890
  const handleDataChange = useCallback68(
44196
43891
  (updater) => {
44197
- if (previewMode) {
44198
- return;
44199
- }
44200
43892
  onUpdateNode(updater);
44201
43893
  },
44202
- [onUpdateNode, previewMode]
43894
+ [onUpdateNode]
44203
43895
  );
44204
43896
  const handleConversationRailWidthChanged = useCallback68(
44205
43897
  (widthPx) => {
44206
- if (previewMode) {
44207
- return;
44208
- }
44209
43898
  onUpdateNode((current) => {
44210
43899
  const nextWidthPx = resolveNextAgentGUIConversationRailWidthPx({
44211
43900
  currentWidthPx: current.conversationRailWidthPx,
@@ -44221,7 +43910,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
44221
43910
  };
44222
43911
  });
44223
43912
  },
44224
- [onUpdateNode, previewMode]
43913
+ [onUpdateNode]
44225
43914
  );
44226
43915
  const isConversationRailManuallyCollapsed = state.conversationRailCollapsed === true;
44227
43916
  const isConversationRailAutoCollapsed = shouldAutoCollapseAgentGUIConversationRail(width, railAutoCollapseWidthPx);
@@ -44234,18 +43923,12 @@ var AgentGUINode = memo14(function AgentGUINode2({
44234
43923
  []
44235
43924
  );
44236
43925
  const toggleConversationRailCollapsed = useCallback68(() => {
44237
- if (previewMode) {
44238
- return;
44239
- }
44240
43926
  onUpdateNode((current) => ({
44241
43927
  ...current,
44242
43928
  conversationRailCollapsed: current.conversationRailCollapsed !== true
44243
43929
  }));
44244
- }, [onUpdateNode, previewMode]);
43930
+ }, [onUpdateNode]);
44245
43931
  const handleConversationRailToggle = useCallback68(() => {
44246
- if (previewMode) {
44247
- return;
44248
- }
44249
43932
  if (!isConversationRailAutoCollapsed) {
44250
43933
  toggleConversationRailCollapsed();
44251
43934
  return;
@@ -44275,7 +43958,6 @@ var AgentGUINode = memo14(function AgentGUINode2({
44275
43958
  onResize,
44276
43959
  onUpdateNode,
44277
43960
  position,
44278
- previewMode,
44279
43961
  state.conversationRailWidthPx,
44280
43962
  toggleConversationRailCollapsed,
44281
43963
  width
@@ -44299,14 +43981,13 @@ var AgentGUINode = memo14(function AgentGUINode2({
44299
43981
  providerReadinessGates,
44300
43982
  targetConnectionSource,
44301
43983
  defaultAgentTargetId,
44302
- previewMode,
44303
43984
  onDataChange: handleDataChange,
44304
43985
  onRememberComposerDefaults,
44305
43986
  onShowMessage
44306
43987
  });
44307
43988
  const handleCreateConversation = useCallback68(
44308
43989
  (...args) => {
44309
- if (!previewMode) {
43990
+ {
44310
43991
  onUpdateNode(
44311
43992
  (current) => current.lastActiveAgentSessionId === null ? current : {
44312
43993
  ...current,
@@ -44316,7 +43997,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
44316
43997
  }
44317
43998
  actions.createConversation(...args);
44318
43999
  },
44319
- [actions, onUpdateNode, previewMode]
44000
+ [actions, onUpdateNode]
44320
44001
  );
44321
44002
  const viewActions = useMemo50(
44322
44003
  () => ({
@@ -44358,7 +44039,6 @@ var AgentGUINode = memo14(function AgentGUINode2({
44358
44039
  } = useAgentGUIStatus({
44359
44040
  activeProvider,
44360
44041
  agentStatusController,
44361
- previewMode,
44362
44042
  t,
44363
44043
  viewModel
44364
44044
  });
@@ -44378,7 +44058,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
44378
44058
  className: "size-full bg-transparent",
44379
44059
  bodyClassName: `${AgentGUINode_styles_default.shell} nodrag size-full min-h-0 min-w-0 !bg-transparent p-0`,
44380
44060
  hideHeader: embedded,
44381
- titleAccessory: /* @__PURE__ */ jsxs64("span", { className: "inline-flex flex-none items-center gap-1", children: [
44061
+ titleAccessory: /* @__PURE__ */ jsxs63("span", { className: "inline-flex flex-none items-center gap-1", children: [
44382
44062
  /* @__PURE__ */ jsx88(
44383
44063
  AgentProbeInfoPopover,
44384
44064
  {
@@ -44457,7 +44137,6 @@ var AgentGUINode = memo14(function AgentGUINode2({
44457
44137
  onSlashStatusOpen: handleSlashStatusOpen,
44458
44138
  onSlashStatusClose: handleSlashStatusClose,
44459
44139
  onSlashStatusRefresh: handleSlashStatusRefresh,
44460
- previewMode,
44461
44140
  onLinkAction: handleLinkAction,
44462
44141
  onHandoffConversation,
44463
44142
  capabilityMenuState,
@@ -44593,7 +44272,7 @@ var AgentGUI = memo15(function AgentGUI2({
44593
44272
  )
44594
44273
  }
44595
44274
  ) }) });
44596
- return props.frame.previewMode ? content : /* @__PURE__ */ jsx89(TooltipProvider8, { delayDuration: 120, skipDelayDuration: 0, children: content });
44275
+ return /* @__PURE__ */ jsx89(TooltipProvider8, { delayDuration: 120, skipDelayDuration: 0, children: content });
44597
44276
  });
44598
44277
 
44599
44278
  export {
@@ -44609,4 +44288,4 @@ export {
44609
44288
  AgentHandoffMenu,
44610
44289
  AgentGUI
44611
44290
  };
44612
- //# sourceMappingURL=chunk-JOUEYIV3.js.map
44291
+ //# sourceMappingURL=chunk-KJA3HHUJ.js.map