@tutti-os/agent-gui 0.0.228 → 0.0.229

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.
@@ -38,7 +38,7 @@ import {
38
38
  normalizePlanIssueBudgetPreset,
39
39
  planImplementationPromptFromPlanTurn,
40
40
  planIssueBudgetPresetsEqual
41
- } from "./chunk-KZIW5CCW.js";
41
+ } from "./chunk-CQFT3MI5.js";
42
42
  import {
43
43
  useEngineSelector
44
44
  } from "./chunk-EVQ4JY3N.js";
@@ -77,7 +77,7 @@ import {
77
77
  toLocalShortDateTime,
78
78
  updateAgentComposerDraft,
79
79
  useProjectedAgentConversation
80
- } from "./chunk-C7XGPXRW.js";
80
+ } from "./chunk-Y5OBJINU.js";
81
81
  import {
82
82
  agentRichTextContentToPromptText,
83
83
  createAgentRichTextInputExtensions,
@@ -94,7 +94,7 @@ import {
94
94
  blobToBase64,
95
95
  normalizeAgentApprovalPurpose,
96
96
  resolveWorkspaceLinkAction
97
- } from "./chunk-Z35E22WS.js";
97
+ } from "./chunk-WGCDSA7P.js";
98
98
  import {
99
99
  AgentTargetPresentationProvider,
100
100
  cn,
@@ -196,7 +196,7 @@ import { memo as memo15, useMemo as useMemo52 } from "react";
196
196
  import { TooltipProvider as TooltipProvider8 } from "@tutti-os/ui-system";
197
197
 
198
198
  // agent-gui/agentGuiNode/AgentGUINode.tsx
199
- import { memo as memo14, useCallback as useCallback68, useMemo as useMemo51, useRef as useRef61 } from "react";
199
+ import { memo as memo14, useCallback as useCallback68, useMemo as useMemo51, useRef as useRef62 } from "react";
200
200
  import { createWorkspaceUserProjectI18nRuntime } from "@tutti-os/workspace-user-project/i18n";
201
201
  import { createWorkspaceFileManagerI18nRuntime } from "@tutti-os/workspace-file-manager";
202
202
 
@@ -2040,7 +2040,7 @@ import {
2040
2040
  selectEngineSessionIsRespondingToInteraction as selectEngineSessionIsRespondingToInteraction2,
2041
2041
  selectWorkspaceAgentConsumerSessions as selectWorkspaceAgentConsumerSessions2
2042
2042
  } from "@tutti-os/agent-activity-core";
2043
- import { useCallback as useCallback28, useEffect as useEffect13, useMemo as useMemo20, useRef as useRef21 } from "react";
2043
+ import { useCallback as useCallback28, useEffect as useEffect13, useMemo as useMemo20, useRef as useRef22 } from "react";
2044
2044
 
2045
2045
  // host/agentHostAccountStore.ts
2046
2046
  import { create as create2 } from "zustand";
@@ -7006,7 +7006,7 @@ import {
7006
7006
  resolveAgentActivityCapability as resolveAgentActivityCapability2,
7007
7007
  resolveAgentActivityUsage
7008
7008
  } from "@tutti-os/agent-activity-core";
7009
- import { useMemo as useMemo7 } from "react";
7009
+ import { useMemo as useMemo7, useRef as useRef9 } from "react";
7010
7010
 
7011
7011
  // agent-gui/agentGuiNode/model/composerSettingsSupport.ts
7012
7012
  import {
@@ -7204,6 +7204,9 @@ function resolveComposerSettingsPresentation(input) {
7204
7204
 
7205
7205
  // agent-gui/agentGuiNode/controller/useAgentGUIComposerCapabilities.ts
7206
7206
  function useAgentGUIComposerCapabilities(input) {
7207
+ const retainedUsageBySessionIdRef = useRef9(
7208
+ /* @__PURE__ */ new Map()
7209
+ );
7207
7210
  const composerTargetData = composerTargetDataForConversation({
7208
7211
  activeConversationId: input.activeConversationId,
7209
7212
  data: input.data,
@@ -7260,10 +7263,20 @@ function useAgentGUIComposerCapabilities(input) {
7260
7263
  };
7261
7264
  }, [providerComposerOptions, sessionCapabilities]);
7262
7265
  const usageSource = input.activeEngineSession?.usage ?? null;
7263
- const usage = useMemo7(
7264
- () => resolveAgentActivityUsage({ sessionUsage: usageSource }),
7265
- [usageSource]
7266
- );
7266
+ const usage = useMemo7(() => {
7267
+ const agentSessionId = input.activeEngineSession?.agentSessionId.trim() ?? "";
7268
+ if (!agentSessionId) {
7269
+ return null;
7270
+ }
7271
+ const resolved = resolveAgentActivityUsage({
7272
+ sessionUsage: usageSource
7273
+ });
7274
+ if (resolved) {
7275
+ retainedUsageBySessionIdRef.current.set(agentSessionId, resolved);
7276
+ return resolved;
7277
+ }
7278
+ return retainedUsageBySessionIdRef.current.get(agentSessionId) ?? null;
7279
+ }, [input.activeEngineSession?.agentSessionId, usageSource]);
7267
7280
  return {
7268
7281
  compactSupported: sessionCapabilities?.compact ?? resolveAgentActivityCapability2("compact", {
7269
7282
  composerOptions: providerComposerOptions,
@@ -7284,7 +7297,7 @@ function useAgentGUIComposerCapabilities(input) {
7284
7297
  }
7285
7298
 
7286
7299
  // agent-gui/agentGuiNode/controller/useAgentGUIComposerOptionsSync.ts
7287
- import { useCallback as useCallback8, useEffect as useEffect5, useRef as useRef9 } from "react";
7300
+ import { useCallback as useCallback8, useEffect as useEffect5, useRef as useRef10 } from "react";
7288
7301
 
7289
7302
  // host/agentHostEventBus.ts
7290
7303
  var LOG_PREFIX = "[agent-host-event-bus]";
@@ -7446,7 +7459,7 @@ function subscribeCoalesced(type, options, callback) {
7446
7459
 
7447
7460
  // agent-gui/agentGuiNode/controller/useAgentGUIComposerOptionsSync.ts
7448
7461
  function useAgentGUIComposerOptionsSync(input) {
7449
- const previousIsCreatingConversationRef = useRef9(
7462
+ const previousIsCreatingConversationRef = useRef10(
7450
7463
  input.isCreatingConversation
7451
7464
  );
7452
7465
  const loadComposerOptionsForTarget = useCallback8(
@@ -7627,37 +7640,37 @@ function useAgentGUIComposerOptionsSync(input) {
7627
7640
  }
7628
7641
 
7629
7642
  // agent-gui/agentGuiNode/controller/useAgentGUIControllerRefs.ts
7630
- import { useRef as useRef10 } from "react";
7643
+ import { useRef as useRef11 } from "react";
7631
7644
  function useAgentGUIControllerRefs(input) {
7632
- const activeConversationIdRef = useRef10(input.activeConversationId);
7633
- const selectedProjectPathRef = useRef10(input.selectedProjectPath);
7634
- const userProjectsRef = useRef10(input.userProjects);
7635
- const isNoProjectPathRef = useRef10(input.isNoProjectPath);
7636
- const userProjectsLoadSeqRef = useRef10(0);
7637
- const conversationsRef = useRef10(input.conversations);
7638
- const isMountedRef = useRef10(true);
7639
- const agentActivitySnapshotRef = useRef10(input.agentActivitySnapshot);
7640
- const dataRef = useRef10(input.data);
7641
- const selectedAgentTargetRef = useRef10(input.effectiveSelectedProviderTarget);
7642
- const selectedAgentTargetIsExplicitRef = useRef10(
7645
+ const activeConversationIdRef = useRef11(input.activeConversationId);
7646
+ const selectedProjectPathRef = useRef11(input.selectedProjectPath);
7647
+ const userProjectsRef = useRef11(input.userProjects);
7648
+ const isNoProjectPathRef = useRef11(input.isNoProjectPath);
7649
+ const userProjectsLoadSeqRef = useRef11(0);
7650
+ const conversationsRef = useRef11(input.conversations);
7651
+ const isMountedRef = useRef11(true);
7652
+ const agentActivitySnapshotRef = useRef11(input.agentActivitySnapshot);
7653
+ const dataRef = useRef11(input.data);
7654
+ const selectedAgentTargetRef = useRef11(input.effectiveSelectedProviderTarget);
7655
+ const selectedAgentTargetIsExplicitRef = useRef11(
7643
7656
  input.homeComposerTargetOverride ? true : input.selectedAgentTargetIsExplicit
7644
7657
  );
7645
- const agentTargetsProvidedRef = useRef10(input.agentTargetsProvided);
7646
- const selectedComposerTargetDataRef = useRef10(
7658
+ const agentTargetsProvidedRef = useRef11(input.agentTargetsProvided);
7659
+ const selectedComposerTargetDataRef = useRef11(
7647
7660
  input.selectedComposerTargetData
7648
7661
  );
7649
- const draftByScopeKeyRef = useRef10(input.draftByScopeKey);
7650
- const draftSettingsBySessionIdRef = useRef10(input.draftSettingsBySessionId);
7651
- const onDataChangeRef = useRef10(input.onDataChange);
7652
- const onRememberComposerDefaultsRef = useRef10(
7662
+ const draftByScopeKeyRef = useRef11(input.draftByScopeKey);
7663
+ const draftSettingsBySessionIdRef = useRef11(input.draftSettingsBySessionId);
7664
+ const onDataChangeRef = useRef11(input.onDataChange);
7665
+ const onRememberComposerDefaultsRef = useRef11(
7653
7666
  input.onRememberComposerDefaults
7654
7667
  );
7655
- const onShowMessageRef = useRef10(input.onShowMessage);
7656
- const handledPrefillPromptSequenceRef = useRef10(null);
7657
- const handledComposerAppendSequenceRef = useRef10(null);
7658
- const loadDraftComposerOptionsRef = useRef10(() => {
7668
+ const onShowMessageRef = useRef11(input.onShowMessage);
7669
+ const handledPrefillPromptSequenceRef = useRef11(null);
7670
+ const handledComposerAppendSequenceRef = useRef11(null);
7671
+ const loadDraftComposerOptionsRef = useRef11(() => {
7659
7672
  });
7660
- const onComposerDefaultsAuthorityReloadedRef = useRef10({
7673
+ const onComposerDefaultsAuthorityReloadedRef = useRef11({
7661
7674
  prepareRead: (_target, settings) => ({
7662
7675
  force: false,
7663
7676
  receipt: null,
@@ -7668,22 +7681,22 @@ function useAgentGUIControllerRefs(input) {
7668
7681
  reloaded: () => {
7669
7682
  }
7670
7683
  });
7671
- const conversationIdsRef = useRef10(
7684
+ const conversationIdsRef = useRef11(
7672
7685
  new Set(input.conversations.map((conversation) => conversation.id))
7673
7686
  );
7674
- const lastRenderStateDiagnosticKeyRef = useRef10(null);
7675
- const handledOpenSessionSequenceRef = useRef10(null);
7676
- const pendingOpenSessionRequestRef = useRef10(null);
7677
- const executePromptRef = useRef10(() => {
7687
+ const lastRenderStateDiagnosticKeyRef = useRef11(null);
7688
+ const handledOpenSessionSequenceRef = useRef11(null);
7689
+ const pendingOpenSessionRequestRef = useRef11(null);
7690
+ const executePromptRef = useRef11(() => {
7678
7691
  });
7679
- const submitPromptRef = useRef10(() => {
7692
+ const submitPromptRef = useRef11(() => {
7680
7693
  });
7681
- const reloadSelectedConversationRef = useRef10(() => {
7694
+ const reloadSelectedConversationRef = useRef11(() => {
7682
7695
  });
7683
- const syncConversationListProjectionRef = useRef10(async () => {
7696
+ const syncConversationListProjectionRef = useRef11(async () => {
7684
7697
  });
7685
- const isComposerHomeRef = useRef10(input.isComposerHome);
7686
- const isCreatingConversationRef = useRef10(input.isCreatingConversation);
7698
+ const isComposerHomeRef = useRef11(input.isComposerHome);
7699
+ const isCreatingConversationRef = useRef11(input.isCreatingConversation);
7687
7700
  activeConversationIdRef.current = input.activeConversationId;
7688
7701
  selectedProjectPathRef.current = input.selectedProjectPath;
7689
7702
  userProjectsRef.current = input.userProjects;
@@ -7797,7 +7810,7 @@ import {
7797
7810
  selectEngineSession as selectEngineSession2,
7798
7811
  selectEngineSessionSettingsUpdate
7799
7812
  } from "@tutti-os/agent-activity-core";
7800
- import { useCallback as useCallback9, useRef as useRef11 } from "react";
7813
+ import { useCallback as useCallback9, useRef as useRef12 } from "react";
7801
7814
 
7802
7815
  // agent-gui/agentGuiNode/model/composerModeSelection.ts
7803
7816
  function normalizePermissionModeSelection(permissionModeId) {
@@ -7936,7 +7949,7 @@ function useAgentGUIComposerSettingsActions(input) {
7936
7949
  const composerSupport = {
7937
7950
  permissionModeChangeDeferred: input.composerSupportPermissionModeChangeDeferred
7938
7951
  };
7939
- const composerDefaultsLedgerRef = useRef11(
7952
+ const composerDefaultsLedgerRef = useRef12(
7940
7953
  createAgentGUIComposerDefaultsLedger()
7941
7954
  );
7942
7955
  const retireAcknowledgedDefaultsForRead = useCallback9(
@@ -8282,12 +8295,12 @@ function reconcileRetiredDraftMap(current, draftKey, retired) {
8282
8295
  }
8283
8296
 
8284
8297
  // agent-gui/agentGuiNode/controller/useAgentGUIContinueConversation.ts
8285
- import { useCallback as useCallback10, useRef as useRef12 } from "react";
8298
+ import { useCallback as useCallback10, useRef as useRef13 } from "react";
8286
8299
  function buildContinueInNewConversationDraft(input) {
8287
8300
  return updateAgentComposerDraft(input.sourceDraft, { prompt: input.prompt });
8288
8301
  }
8289
8302
  function useAgentGUIContinueConversation(input) {
8290
- const inputRef = useRef12(input);
8303
+ const inputRef = useRef13(input);
8291
8304
  inputRef.current = input;
8292
8305
  return useCallback10(() => {
8293
8306
  const current = inputRef.current;
@@ -9851,7 +9864,7 @@ function resolveAgentGUIInteractionTarget(interactions, requestId) {
9851
9864
  import {
9852
9865
  selectEngineSession as selectEngineSession3
9853
9866
  } from "@tutti-os/agent-activity-core";
9854
- import { useCallback as useCallback18, useRef as useRef13 } from "react";
9867
+ import { useCallback as useCallback18, useRef as useRef14 } from "react";
9855
9868
 
9856
9869
  // agent-gui/agentGuiNode/controller/agentGuiOptimisticGoal.ts
9857
9870
  function projectOptimisticGoalControl(currentGoal, action, objective) {
@@ -9890,7 +9903,7 @@ function unresolvedOptimisticGoalControl(optimisticGoalControl, agentSessionId,
9890
9903
 
9891
9904
  // agent-gui/agentGuiNode/controller/useAgentGUIGoalControlActions.ts
9892
9905
  function useAgentGUIGoalControlActions(input) {
9893
- const requestSequenceRef = useRef13(0);
9906
+ const requestSequenceRef = useRef14(0);
9894
9907
  const beginOptimisticGoalControl = useCallback18(
9895
9908
  (agentSessionId, action, objective, requestId, reconcileOnObjectiveMatch = false) => {
9896
9909
  const canonicalSession = selectEngineSession3(
@@ -11607,9 +11620,9 @@ import {
11607
11620
  selectEngineAvailableCommands,
11608
11621
  selectEngineTurnsForSession
11609
11622
  } from "@tutti-os/agent-activity-core";
11610
- import { useEffect as useEffect8, useMemo as useMemo11, useRef as useRef14 } from "react";
11623
+ import { useEffect as useEffect8, useMemo as useMemo11, useRef as useRef15 } from "react";
11611
11624
  function useAgentGUIConversationDetail(input) {
11612
- const projectionConversationRef = useRef14(null);
11625
+ const projectionConversationRef = useRef15(null);
11613
11626
  const activeCanonicalLiveTurn = Boolean(
11614
11627
  input.activeTurn && input.activeTurn.phase !== "settled"
11615
11628
  );
@@ -11700,7 +11713,7 @@ function useAgentGUIConversationDetail(input) {
11700
11713
  }
11701
11714
  return conversationModels.conversation;
11702
11715
  }, [conversationDetail, conversationModels.conversation]);
11703
- const diagnosticKeyRef = useRef14(null);
11716
+ const diagnosticKeyRef = useRef15(null);
11704
11717
  useEffect8(() => {
11705
11718
  if (!input.activeConversationId || !conversation) {
11706
11719
  diagnosticKeyRef.current = null;
@@ -11792,9 +11805,9 @@ function referenceArrayEqual(left, right) {
11792
11805
  }
11793
11806
 
11794
11807
  // agent-gui/agentGuiNode/controller/useAgentGUIConversationPresentation.ts
11795
- import { useEffect as useEffect9, useMemo as useMemo12, useRef as useRef15 } from "react";
11808
+ import { useEffect as useEffect9, useMemo as useMemo12, useRef as useRef16 } from "react";
11796
11809
  function useAgentGUIConversationPresentation(input) {
11797
- const visibleConversationsRef = useRef15(
11810
+ const visibleConversationsRef = useRef16(
11798
11811
  null
11799
11812
  );
11800
11813
  const conversationProjection = useMemo12(() => {
@@ -11825,7 +11838,7 @@ function useAgentGUIConversationPresentation(input) {
11825
11838
  input.userProjects
11826
11839
  ]);
11827
11840
  const visibleConversations = conversationProjection.visibleConversations;
11828
- const activeConversationRef = useRef15(
11841
+ const activeConversationRef = useRef16(
11829
11842
  null
11830
11843
  );
11831
11844
  const activeConversation = useMemo12(() => {
@@ -11975,14 +11988,14 @@ function useAgentGUIConversationPresentation(input) {
11975
11988
  import {
11976
11989
  useCallback as useCallback21,
11977
11990
  useEffect as useEffect10,
11978
- useRef as useRef16
11991
+ useRef as useRef17
11979
11992
  } from "react";
11980
11993
  import {
11981
11994
  selectEngineSession as selectEngineSession5,
11982
11995
  selectEngineSessionDeleted
11983
11996
  } from "@tutti-os/agent-activity-core";
11984
11997
  function useAgentGUIProviderHome(input) {
11985
- const inputRef = useRef16(input);
11998
+ const inputRef = useRef17(input);
11986
11999
  inputRef.current = input;
11987
12000
  const resolveDefaultHomeComposerTarget = useCallback21(() => {
11988
12001
  const current = inputRef.current;
@@ -13224,7 +13237,7 @@ import { useCallback as useCallback25, useMemo as useMemo18 } from "react";
13224
13237
  import { useCallback as useCallback24 } from "react";
13225
13238
 
13226
13239
  // contexts/workspace/presentation/renderer/agentSessions/useAgentSessionPagingState.ts
13227
- import { useCallback as useCallback22, useRef as useRef17, useState as useState5 } from "react";
13240
+ import { useCallback as useCallback22, useRef as useRef18, useState as useState5 } from "react";
13228
13241
  var EMPTY_ENTRY = {
13229
13242
  error: null,
13230
13243
  isLoadingMessages: false,
@@ -13232,7 +13245,7 @@ var EMPTY_ENTRY = {
13232
13245
  };
13233
13246
  function useAgentSessionPagingState() {
13234
13247
  const [entries, setEntries] = useState5({});
13235
- const entriesRef = useRef17(entries);
13248
+ const entriesRef = useRef18(entries);
13236
13249
  entriesRef.current = entries;
13237
13250
  const update = useCallback22(
13238
13251
  (ref, updater) => {
@@ -13278,7 +13291,7 @@ function sessionKey(ref) {
13278
13291
  }
13279
13292
 
13280
13293
  // contexts/workspace/presentation/renderer/agentSessions/useAgentSessionTransport.ts
13281
- import { useCallback as useCallback23, useRef as useRef18, useState as useState6 } from "react";
13294
+ import { useCallback as useCallback23, useRef as useRef19, useState as useState6 } from "react";
13282
13295
  var EMPTY_ENTRY2 = {
13283
13296
  olderMessages: [],
13284
13297
  hasOlderMessages: false,
@@ -13286,7 +13299,7 @@ var EMPTY_ENTRY2 = {
13286
13299
  };
13287
13300
  function useAgentSessionTransport() {
13288
13301
  const [entries, setEntries] = useState6({});
13289
- const entriesRef = useRef18(entries);
13302
+ const entriesRef = useRef19(entries);
13290
13303
  entriesRef.current = entries;
13291
13304
  const update = useCallback23(
13292
13305
  (ref, updater) => {
@@ -13567,7 +13580,7 @@ function useAgentGUISessionDetailTransport(input) {
13567
13580
  // agent-gui/agentGuiNode/controller/useAgentGUILocalState.ts
13568
13581
  import {
13569
13582
  useCallback as useCallback26,
13570
- useRef as useRef19,
13583
+ useRef as useRef20,
13571
13584
  useState as useState7
13572
13585
  } from "react";
13573
13586
  function useAgentGUILocalState({
@@ -13595,7 +13608,7 @@ function useAgentGUILocalState({
13595
13608
  data.lastActiveAgentSessionId === null
13596
13609
  );
13597
13610
  const [draftByScopeKey, setDraftByScopeKey] = useState7({});
13598
- const submittedDraftSnapshotsRef = useRef19({});
13611
+ const submittedDraftSnapshotsRef = useRef20({});
13599
13612
  const [draftSettingsBySessionId, setDraftSettingsBySessionId] = useState7({});
13600
13613
  const [isLoadingMessages, setIsLoadingMessages] = useState7(false);
13601
13614
  const [isDeletingConversation, setIsDeletingConversation] = useState7(false);
@@ -13609,7 +13622,7 @@ function useAgentGUILocalState({
13609
13622
  const [detailError, setDetailError] = useState7(null);
13610
13623
  const [goalClearNoticeSequence, setGoalClearNoticeSequence] = useState7(0);
13611
13624
  const [optimisticGoalControl, setOptimisticGoalControl] = useState7(null);
13612
- const railRevealRevisionRef = useRef19(0);
13625
+ const railRevealRevisionRef = useRef20(0);
13613
13626
  const [railRevealRequest, setRailRevealRequest] = useState7(null);
13614
13627
  const clearRailRevealRequest = useCallback26(() => {
13615
13628
  setRailRevealRequest(null);
@@ -13674,7 +13687,7 @@ import {
13674
13687
  selectTuttiModeActivationPresentation,
13675
13688
  tuttiModeActivationPresentationsEqual
13676
13689
  } from "@tutti-os/agent-activity-core";
13677
- import { useCallback as useCallback27, useMemo as useMemo19, useRef as useRef20 } from "react";
13690
+ import { useCallback as useCallback27, useMemo as useMemo19, useRef as useRef21 } from "react";
13678
13691
  function resolveAgentGUITuttiModeDraftKey(nodeId) {
13679
13692
  return `agent-gui:${nodeId?.trim() || "default"}:tutti-mode:home`;
13680
13693
  }
@@ -13684,7 +13697,7 @@ function useAgentGUITuttiModeActivation({
13684
13697
  engine,
13685
13698
  workspaceId
13686
13699
  }) {
13687
- const commandSequenceRef = useRef20(0);
13700
+ const commandSequenceRef = useRef21(0);
13688
13701
  const presentation = useEngineSelector(
13689
13702
  engine,
13690
13703
  useCallback27(
@@ -13927,9 +13940,9 @@ function useAgentGUINodeController({
13927
13940
  )
13928
13941
  )
13929
13942
  );
13930
- const updateComposerSettingsRef = useRef21(() => {
13943
+ const updateComposerSettingsRef = useRef22(() => {
13931
13944
  });
13932
- const planActionsRef = useRef21({ implement: () => {
13945
+ const planActionsRef = useRef22({ implement: () => {
13933
13946
  }, feedback: () => {
13934
13947
  }, skip: () => {
13935
13948
  } });
@@ -13948,7 +13961,7 @@ function useAgentGUINodeController({
13948
13961
  defaultReasoningEffort,
13949
13962
  providerComposerOptions
13950
13963
  } = composerCapabilities;
13951
- const planImplementationTurnIdRef = useRef21(null);
13964
+ const planImplementationTurnIdRef = useRef22(null);
13952
13965
  const accountProfilesByUserId = useAccountStore(
13953
13966
  (state) => state.profilesByUserId
13954
13967
  );
@@ -15036,7 +15049,7 @@ import {
15036
15049
  useCallback as useCallback66,
15037
15050
  useEffect as useEffect38,
15038
15051
  useMemo as useMemo47,
15039
- useRef as useRef59,
15052
+ useRef as useRef60,
15040
15053
  useState as useState53
15041
15054
  } from "react";
15042
15055
  import { TooltipProvider as TooltipProvider7 } from "@tutti-os/ui-system";
@@ -15255,7 +15268,7 @@ var styles = {
15255
15268
  var AgentGUINode_styles_default = styles;
15256
15269
 
15257
15270
  // agent-gui/agentGuiNode/view/agentGUIViewUtils.ts
15258
- import { useCallback as useCallback30, useLayoutEffect, useMemo as useMemo22, useRef as useRef22 } from "react";
15271
+ import { useCallback as useCallback30, useLayoutEffect, useMemo as useMemo22, useRef as useRef23 } from "react";
15259
15272
  function objectRecord(value) {
15260
15273
  return value && typeof value === "object" && !Array.isArray(value) ? value : null;
15261
15274
  }
@@ -15273,14 +15286,14 @@ function stringValue3(value) {
15273
15286
  return typeof value === "string" ? value : "";
15274
15287
  }
15275
15288
  function useStableEventCallback(callback) {
15276
- const callbackRef = useRef22(callback);
15289
+ const callbackRef = useRef23(callback);
15277
15290
  useLayoutEffect(() => {
15278
15291
  callbackRef.current = callback;
15279
15292
  }, [callback]);
15280
15293
  return useCallback30((...args) => callbackRef.current(...args), []);
15281
15294
  }
15282
15295
  function useOptionalStableEventCallback(callback) {
15283
- const callbackRef = useRef22(callback);
15296
+ const callbackRef = useRef23(callback);
15284
15297
  useLayoutEffect(() => {
15285
15298
  callbackRef.current = callback;
15286
15299
  }, [callback]);
@@ -15649,7 +15662,7 @@ import {
15649
15662
  memo as memo3,
15650
15663
  useCallback as useCallback50,
15651
15664
  useMemo as useMemo37,
15652
- useRef as useRef45,
15665
+ useRef as useRef46,
15653
15666
  useState as useState33
15654
15667
  } from "react";
15655
15668
  import { Tooltip as Tooltip9, TooltipContent as TooltipContent9, TooltipTrigger as TooltipTrigger9 } from "@tutti-os/ui-system";
@@ -17224,7 +17237,7 @@ import {
17224
17237
  useCallback as useCallback31,
17225
17238
  useEffect as useEffect15,
17226
17239
  useImperativeHandle,
17227
- useRef as useRef23
17240
+ useRef as useRef24
17228
17241
  } from "react";
17229
17242
  import {
17230
17243
  motion as motion2,
@@ -17255,7 +17268,7 @@ var CastIcon = forwardRef2(
17255
17268
  }, ref) => {
17256
17269
  const controls = useAnimation();
17257
17270
  const reduceMotion = useReducedMotion();
17258
- const isControlledRef = useRef23(false);
17271
+ const isControlledRef = useRef24(false);
17259
17272
  const startAnimation = useCallback31(() => {
17260
17273
  if (reduceMotion) {
17261
17274
  return;
@@ -17583,7 +17596,7 @@ function AgentSessionChrome({
17583
17596
  }
17584
17597
 
17585
17598
  // agent-gui/agentGuiNode/AgentComposer.tsx
17586
- import { useCallback as useCallback47, useEffect as useEffect27, useRef as useRef42, useState as useState29 } from "react";
17599
+ import { useCallback as useCallback47, useEffect as useEffect27, useRef as useRef43, useState as useState29 } from "react";
17587
17600
  import { repairMentionPaletteHighlight } from "@tutti-os/ui-rich-text/at-panel";
17588
17601
 
17589
17602
  // agent-gui/agentGuiNode/AgentSlashStatusPanel.tsx
@@ -17728,7 +17741,7 @@ import { flushSync as flushSync3 } from "react-dom";
17728
17741
  import {
17729
17742
  startTransition,
17730
17743
  useCallback as useCallback32,
17731
- useRef as useRef24
17744
+ useRef as useRef25
17732
17745
  } from "react";
17733
17746
 
17734
17747
  // agent-gui/agentGuiNode/model/agentComposerDraftFileReconciliation.ts
@@ -17808,7 +17821,7 @@ function agentComposerDevConsoleDiagnosticSinkEnabled(runtime) {
17808
17821
 
17809
17822
  // agent-gui/agentGuiNode/composer/useComposerDraftAttachments.ts
17810
17823
  function useStableEventCallback2(callback) {
17811
- const callbackRef = useRef24(callback);
17824
+ const callbackRef = useRef25(callback);
17812
17825
  callbackRef.current = callback;
17813
17826
  return useCallback32((...args) => callbackRef.current(...args), []);
17814
17827
  }
@@ -17840,7 +17853,7 @@ function useComposerDraftAttachments({
17840
17853
  }) {
17841
17854
  const agentHostApi = useOptionalAgentHostApi();
17842
17855
  const agentActivityRuntime = useOptionalAgentActivityRuntime();
17843
- const activeDraftScopeKeyRef = useRef24(draftScopeKey);
17856
+ const activeDraftScopeKeyRef = useRef25(draftScopeKey);
17844
17857
  activeDraftScopeKeyRef.current = draftScopeKey;
17845
17858
  const reportContentEntered = useStableEventCallback2(
17846
17859
  (contentType) => {
@@ -17873,7 +17886,7 @@ function useComposerDraftAttachments({
17873
17886
  return next;
17874
17887
  }
17875
17888
  );
17876
- const openReferencesForEntityRef = useRef24(null);
17889
+ const openReferencesForEntityRef = useRef25(null);
17877
17890
  const handleDraftChange = useStableEventCallback2(
17878
17891
  (nextDraft) => {
17879
17892
  if (isGoalModeActive) {
@@ -18439,7 +18452,7 @@ import {
18439
18452
  useCallback as useCallback33,
18440
18453
  useLayoutEffect as useLayoutEffect2,
18441
18454
  useMemo as useMemo23,
18442
- useRef as useRef25
18455
+ useRef as useRef26
18443
18456
  } from "react";
18444
18457
  var DOCK_COMPOSER_INPUT_MIN_HEIGHT = 56;
18445
18458
  var DOCK_COMPOSER_TEXT_LINE_HEIGHT = 24;
@@ -18479,7 +18492,7 @@ function useComposerLayout({
18479
18492
  draftImages,
18480
18493
  draftLargeTexts
18481
18494
  }) {
18482
- const composerMeasurementFrameRef = useRef25(null);
18495
+ const composerMeasurementFrameRef = useRef26(null);
18483
18496
  const labels = { promptTipsPrefix };
18484
18497
  const showEdgeGlow = isHeroLayout && !inputDisabled;
18485
18498
  const showPromptTips = isHeroLayout && promptTips.length > 0;
@@ -18972,7 +18985,7 @@ import {
18972
18985
  import {
18973
18986
  useCallback as useCallback34,
18974
18987
  useEffect as useEffect16,
18975
- useRef as useRef26,
18988
+ useRef as useRef27,
18976
18989
  useState as useState10
18977
18990
  } from "react";
18978
18991
  import {
@@ -19021,14 +19034,14 @@ function AgentUsageChip({
19021
19034
  }) {
19022
19035
  "use memo";
19023
19036
  const [usagePopoverOpen, setUsagePopoverOpen] = useState10(false);
19024
- const usagePopoverHoverTimerRef = useRef26(null);
19025
- const usagePopoverContentRef = useRef26(null);
19037
+ const usagePopoverHoverTimerRef = useRef27(null);
19038
+ const usagePopoverContentRef = useRef27(null);
19026
19039
  const clampedPercent = Math.max(0, Math.min(100, percentUsed));
19027
19040
  const chipLabel = labels.usageChipLabel({ percent: clampedPercent });
19028
19041
  const showTokens = usedTokens !== null && totalTokens !== null;
19029
19042
  const usageLevel = agentUsageChipLevel(clampedPercent);
19030
19043
  const ringColor = agentUsageRingColor(usageLevel);
19031
- const usagePopoverCloseTimerRef = useRef26(null);
19044
+ const usagePopoverCloseTimerRef = useRef27(null);
19032
19045
  const clearUsagePopoverHoverTimer = useCallback34(() => {
19033
19046
  if (usagePopoverHoverTimerRef.current) {
19034
19047
  clearTimeout(usagePopoverHoverTimerRef.current);
@@ -19410,10 +19423,10 @@ function useMentionPaletteFrame(inputShellRef, showFileMentionPalette) {
19410
19423
  import {
19411
19424
  useCallback as useCallback36,
19412
19425
  useMemo as useMemo26,
19413
- useRef as useRef27
19426
+ useRef as useRef28
19414
19427
  } from "react";
19415
19428
  function useStableEventCallback3(callback) {
19416
- const callbackRef = useRef27(callback);
19429
+ const callbackRef = useRef28(callback);
19417
19430
  callbackRef.current = callback;
19418
19431
  return useCallback36((...args) => callbackRef.current(...args), []);
19419
19432
  }
@@ -19914,7 +19927,7 @@ function useComposerSlashActions(input) {
19914
19927
  import {
19915
19928
  useCallback as useCallback37,
19916
19929
  useEffect as useEffect17,
19917
- useRef as useRef28
19930
+ useRef as useRef29
19918
19931
  } from "react";
19919
19932
  import {
19920
19933
  createMentionPaletteStateAdapter,
@@ -19934,7 +19947,7 @@ function isAgentRichTextImeComposing(event) {
19934
19947
 
19935
19948
  // agent-gui/agentGuiNode/composer/useComposerMentionActions.ts
19936
19949
  function useStableEventCallback4(callback) {
19937
- const callbackRef = useRef28(callback);
19950
+ const callbackRef = useRef29(callback);
19938
19951
  callbackRef.current = callback;
19939
19952
  return useCallback37((...args) => callbackRef.current(...args), []);
19940
19953
  }
@@ -21192,7 +21205,7 @@ import {
21192
21205
  import {
21193
21206
  Component as Component2,
21194
21207
  useLayoutEffect as useLayoutEffect4,
21195
- useRef as useRef29,
21208
+ useRef as useRef30,
21196
21209
  useState as useState15
21197
21210
  } from "react";
21198
21211
  import { ChevronRight } from "lucide-react";
@@ -21388,9 +21401,9 @@ function AgentQueuedPromptPanel({
21388
21401
  "use memo";
21389
21402
  const runtime = useOptionalAgentActivityRuntime();
21390
21403
  const [isExpanded, setIsExpanded] = useState15(false);
21391
- const singlePromptTextRef = useRef29(null);
21392
- const queuedPromptListRef = useRef29(null);
21393
- const pointerHandledEditPromptIdRef = useRef29(null);
21404
+ const singlePromptTextRef = useRef30(null);
21405
+ const queuedPromptListRef = useRef30(null);
21406
+ const pointerHandledEditPromptIdRef = useRef30(null);
21394
21407
  const [isSinglePromptOverflowing, setIsSinglePromptOverflowing] = useState15(false);
21395
21408
  const [expandedListMaxHeightPx, setExpandedListMaxHeightPx] = useState15(280);
21396
21409
  const singlePromptHasImages = queuedPrompts.length === 1 && queuedPromptImages(queuedPrompts[0]).length > 0;
@@ -23279,7 +23292,7 @@ import {
23279
23292
  useCallback as useCallback42,
23280
23293
  useEffect as useEffect22,
23281
23294
  useMemo as useMemo29,
23282
- useRef as useRef31,
23295
+ useRef as useRef32,
23283
23296
  useState as useState19
23284
23297
  } from "react";
23285
23298
  import { useEditor } from "@tiptap/react";
@@ -23876,7 +23889,7 @@ function useAgentRichTextEditorHandle(input) {
23876
23889
  // agent-gui/agentGuiNode/agentRichText/AgentRichTextEditorSurface.tsx
23877
23890
  import {
23878
23891
  useCallback as useCallback41,
23879
- useRef as useRef30
23892
+ useRef as useRef31
23880
23893
  } from "react";
23881
23894
  import { createPortal as createPortal2 } from "react-dom";
23882
23895
  import { EditorContent } from "@tiptap/react";
@@ -23964,7 +23977,7 @@ function AgentRichTextContextMenuButton({
23964
23977
  label,
23965
23978
  onSelect
23966
23979
  }) {
23967
- const selectionStartedRef = useRef30(false);
23980
+ const selectionStartedRef = useRef31(false);
23968
23981
  const select = useCallback41(() => {
23969
23982
  if (disabled || selectionStartedRef.current) return;
23970
23983
  selectionStartedRef.current = true;
@@ -24103,38 +24116,38 @@ var AgentRichTextEditor = forwardRef3(function AgentRichTextEditor2({
24103
24116
  }, ref) {
24104
24117
  "use memo";
24105
24118
  const { t } = useTranslation();
24106
- const lastEmittedPromptRef = useRef31(value);
24107
- const controlledValueTrackerRef = useRef31(
24119
+ const lastEmittedPromptRef = useRef32(value);
24120
+ const controlledValueTrackerRef = useRef32(
24108
24121
  createAgentRichTextControlledValueTracker(contentScopeKey)
24109
24122
  );
24110
- const editorRef = useRef31(null);
24111
- const onChangeRef = useRef31(onChange);
24112
- const onContentLayoutInvalidatedRef = useRef31(onContentLayoutInvalidated);
24113
- const onFocusRef = useRef31(onFocus);
24114
- const onUserContentChangeRef = useRef31(onUserContentChange);
24115
- const pendingFocusMethodRef = useRef31(null);
24116
- const onSubmitRef = useRef31(onSubmit);
24117
- const onSubmitGuidanceRef = useRef31(onSubmitGuidance);
24118
- const onKeyDownForPaletteRef = useRef31(onKeyDownForPalette);
24119
- const onFileMentionSuggestionChangeRef = useRef31(
24123
+ const editorRef = useRef32(null);
24124
+ const onChangeRef = useRef32(onChange);
24125
+ const onContentLayoutInvalidatedRef = useRef32(onContentLayoutInvalidated);
24126
+ const onFocusRef = useRef32(onFocus);
24127
+ const onUserContentChangeRef = useRef32(onUserContentChange);
24128
+ const pendingFocusMethodRef = useRef32(null);
24129
+ const onSubmitRef = useRef32(onSubmit);
24130
+ const onSubmitGuidanceRef = useRef32(onSubmitGuidance);
24131
+ const onKeyDownForPaletteRef = useRef32(onKeyDownForPalette);
24132
+ const onFileMentionSuggestionChangeRef = useRef32(
24120
24133
  onFileMentionSuggestionChange
24121
24134
  );
24122
- const onFileMentionSuggestionKeyDownRef = useRef31(
24135
+ const onFileMentionSuggestionKeyDownRef = useRef32(
24123
24136
  onFileMentionSuggestionKeyDown
24124
24137
  );
24125
- const onLinkClickRef = useRef31(onLinkClick);
24126
- const onPromptImagesUnsupportedRef = useRef31(onPromptImagesUnsupported);
24127
- const onPasteImagesRef = useRef31(onPasteImages);
24128
- const onPasteLargeTextRef = useRef31(onPasteLargeText);
24129
- const onPasteFilesRef = useRef31(onPasteFiles);
24130
- const onDropFilesRef = useRef31(onDropFiles);
24131
- const promptImagesSupportedRef = useRef31(promptImagesSupported);
24132
- const placeholderRef = useRef31(placeholder);
24133
- const removeMentionLabelRef = useRef31(removeMentionLabel);
24134
- const availableSkillsRef = useRef31(availableSkills);
24135
- const availableCapabilitiesRef = useRef31(availableCapabilities);
24136
- const suppressPastedAtSuggestionRef = useRef31(false);
24137
- const scrollFrameRef = useRef31(null);
24138
+ const onLinkClickRef = useRef32(onLinkClick);
24139
+ const onPromptImagesUnsupportedRef = useRef32(onPromptImagesUnsupported);
24140
+ const onPasteImagesRef = useRef32(onPasteImages);
24141
+ const onPasteLargeTextRef = useRef32(onPasteLargeText);
24142
+ const onPasteFilesRef = useRef32(onPasteFiles);
24143
+ const onDropFilesRef = useRef32(onDropFiles);
24144
+ const promptImagesSupportedRef = useRef32(promptImagesSupported);
24145
+ const placeholderRef = useRef32(placeholder);
24146
+ const removeMentionLabelRef = useRef32(removeMentionLabel);
24147
+ const availableSkillsRef = useRef32(availableSkills);
24148
+ const availableCapabilitiesRef = useRef32(availableCapabilities);
24149
+ const suppressPastedAtSuggestionRef = useRef32(false);
24150
+ const scrollFrameRef = useRef32(null);
24138
24151
  const [contextMenu, setContextMenu] = useState19(null);
24139
24152
  const closeContextMenu = useCallback42(() => {
24140
24153
  setContextMenu(null);
@@ -24700,7 +24713,7 @@ function AgentReferenceProvenanceFilterControl({
24700
24713
  }
24701
24714
 
24702
24715
  // agent-gui/agentGuiNode/AgentSlashCommandPalette.tsx
24703
- import { Fragment as Fragment10, useEffect as useEffect23, useRef as useRef32 } from "react";
24716
+ import { Fragment as Fragment10, useEffect as useEffect23, useRef as useRef33 } from "react";
24704
24717
  import { Spinner as Spinner3 } from "@tutti-os/ui-system";
24705
24718
  import {
24706
24719
  Globe,
@@ -24747,7 +24760,7 @@ function AgentSlashCommandPalette({
24747
24760
  onSelectSkill
24748
24761
  }) {
24749
24762
  "use memo";
24750
- const highlightedOptionRef = useRef32(null);
24763
+ const highlightedOptionRef = useRef33(null);
24751
24764
  useEffect23(() => {
24752
24765
  highlightedOptionRef.current?.scrollIntoView({ block: "nearest" });
24753
24766
  }, [highlightedIndex]);
@@ -24955,7 +24968,7 @@ function slashPaletteEntryIcon(entry) {
24955
24968
  }
24956
24969
 
24957
24970
  // agent-gui/agentGuiNode/AgentReviewPickerPanel.tsx
24958
- import { useCallback as useCallback43, useEffect as useEffect24, useMemo as useMemo30, useRef as useRef33, useState as useState20 } from "react";
24971
+ import { useCallback as useCallback43, useEffect as useEffect24, useMemo as useMemo30, useRef as useRef34, useState as useState20 } from "react";
24959
24972
  import { menuItemClassName } from "@tutti-os/ui-system";
24960
24973
 
24961
24974
  // agent-gui/agentGuiNode/AgentReviewBranchController.ts
@@ -25073,9 +25086,9 @@ function AgentReviewPickerPanel({
25073
25086
  const [stage, setStage] = useState20("root");
25074
25087
  const [query, setQuery] = useState20("");
25075
25088
  const [highlightedIndex, setHighlightedIndex] = useState20(0);
25076
- const searchInputRef = useRef33(null);
25077
- const highlightedOptionRef = useRef33(null);
25078
- const reviewBranchControllerRef = useRef33(
25089
+ const searchInputRef = useRef34(null);
25090
+ const highlightedOptionRef = useRef34(null);
25091
+ const reviewBranchControllerRef = useRef34(
25079
25092
  null
25080
25093
  );
25081
25094
  const [branchState, setBranchState] = useState20({
@@ -25320,7 +25333,7 @@ import {
25320
25333
  useEffect as useEffect25,
25321
25334
  useLayoutEffect as useLayoutEffect5,
25322
25335
  useMemo as useMemo31,
25323
- useRef as useRef34,
25336
+ useRef as useRef35,
25324
25337
  useState as useState21
25325
25338
  } from "react";
25326
25339
  import { createPortal as createPortal3 } from "react-dom";
@@ -25467,7 +25480,7 @@ var ComposerFloatingMenuSurface = forwardRef4(function ComposerFloatingMenuSurfa
25467
25480
  surfaceRef,
25468
25481
  testId
25469
25482
  }, forwardedRef) {
25470
- const localSurfaceRef = useRef34(null);
25483
+ const localSurfaceRef = useRef35(null);
25471
25484
  const frame = useComposerAnchoredMenuFrame({
25472
25485
  anchorRef,
25473
25486
  maxHeight,
@@ -26410,7 +26423,7 @@ function RemovableBadgeIcon({ icon }) {
26410
26423
  }
26411
26424
 
26412
26425
  // agent-gui/agentGuiNode/composer/quickPrompts/AgentQuickPromptPopover.tsx
26413
- import { useId as useId2, useRef as useRef38, useState as useState25 } from "react";
26426
+ import { useId as useId2, useRef as useRef39, useState as useState25 } from "react";
26414
26427
  import {
26415
26428
  Button as Button6,
26416
26429
  ConfirmationDialog as ConfirmationDialog2,
@@ -26437,7 +26450,7 @@ import {
26437
26450
  } from "@tutti-os/ui-system/icons";
26438
26451
 
26439
26452
  // agent-gui/agentGuiNode/composer/quickPrompts/AgentQuickPromptEditorDialog.tsx
26440
- import { useRef as useRef35, useState as useState24 } from "react";
26453
+ import { useRef as useRef36, useState as useState24 } from "react";
26441
26454
  import {
26442
26455
  Button as Button4,
26443
26456
  Dialog,
@@ -26462,7 +26475,7 @@ function AgentQuickPromptEditorDialog({
26462
26475
  () => controller.initialDraft ?? promptDraft(source)
26463
26476
  );
26464
26477
  const [validationError, setValidationError] = useState24(null);
26465
- const cancelRequestedOnPointerDownRef = useRef35(false);
26478
+ const cancelRequestedOnPointerDownRef = useRef36(false);
26466
26479
  const submit = async () => {
26467
26480
  const error = validateDraft(draft, labels);
26468
26481
  if (error) {
@@ -26604,11 +26617,11 @@ function validateDraft(draft, labels) {
26604
26617
  }
26605
26618
 
26606
26619
  // agent-gui/agentGuiNode/composer/quickPrompts/AgentQuickPromptList.tsx
26607
- import { useMemo as useMemo32, useRef as useRef37 } from "react";
26620
+ import { useMemo as useMemo32, useRef as useRef38 } from "react";
26608
26621
  import { Sortable, SortableContent, SortableItem } from "@tutti-os/ui-system";
26609
26622
 
26610
26623
  // agent-gui/agentGuiNode/composer/quickPrompts/AgentQuickPromptRow.tsx
26611
- import { useRef as useRef36 } from "react";
26624
+ import { useRef as useRef37 } from "react";
26612
26625
  import {
26613
26626
  BareIconButton,
26614
26627
  Button as Button5,
@@ -26719,7 +26732,7 @@ function AgentQuickPromptRow({
26719
26732
  ] });
26720
26733
  }
26721
26734
  function usePrimaryPointerAction(action) {
26722
- const requestedOnPointerDownRef = useRef36(false);
26735
+ const requestedOnPointerDownRef = useRef37(false);
26723
26736
  return {
26724
26737
  onPointerDown: (event) => {
26725
26738
  if (event.button !== 0) return;
@@ -26747,7 +26760,7 @@ function AgentQuickPromptList({
26747
26760
  onSelect,
26748
26761
  rowRefs
26749
26762
  }) {
26750
- const handleRefs = useRef37(/* @__PURE__ */ new Map());
26763
+ const handleRefs = useRef38(/* @__PURE__ */ new Map());
26751
26764
  const { filteredPrompts, labels, snapshot } = controller;
26752
26765
  const promptsById = useMemo32(
26753
26766
  () => new Map(filteredPrompts.map((prompt) => [prompt.id, prompt])),
@@ -26867,12 +26880,12 @@ function AgentQuickPromptPopover({
26867
26880
  controller,
26868
26881
  disabled
26869
26882
  }) {
26870
- const searchRef = useRef38(null);
26871
- const rowRefs = useRef38(/* @__PURE__ */ new Map());
26872
- const firstTemplateRef = useRef38(null);
26873
- const preserveExternalFocusRef = useRef38(false);
26874
- const createRequestedOnPointerDownRef = useRef38(false);
26875
- const templateRequestedOnPointerDownRef = useRef38(false);
26883
+ const searchRef = useRef39(null);
26884
+ const rowRefs = useRef39(/* @__PURE__ */ new Map());
26885
+ const firstTemplateRef = useRef39(null);
26886
+ const preserveExternalFocusRef = useRef39(false);
26887
+ const createRequestedOnPointerDownRef = useRef39(false);
26888
+ const templateRequestedOnPointerDownRef = useRef39(false);
26876
26889
  const [view, setView] = useState25("prompts");
26877
26890
  const [sortingState, setSortingState] = useState25({
26878
26891
  isPopoverOpen: controller.isPopoverOpen,
@@ -27318,7 +27331,7 @@ function TemplateEntry({
27318
27331
  );
27319
27332
  }
27320
27333
  function usePrimaryPointerAction2(action) {
27321
- const actionRequestedOnPointerDownRef = useRef38(false);
27334
+ const actionRequestedOnPointerDownRef = useRef39(false);
27322
27335
  return {
27323
27336
  onPointerDown: (event) => {
27324
27337
  if (event.button !== 0) return;
@@ -27937,7 +27950,7 @@ function AgentComposerView(input) {
27937
27950
  }
27938
27951
 
27939
27952
  // agent-gui/agentGuiNode/composer/useAgentMentionSearchController.ts
27940
- import { useEffect as useEffect26, useMemo as useMemo33, useRef as useRef39, useState as useState26 } from "react";
27953
+ import { useEffect as useEffect26, useMemo as useMemo33, useRef as useRef40, useState as useState26 } from "react";
27941
27954
  import { useRichTextMentionService } from "@tutti-os/ui-rich-text/editor";
27942
27955
  var EMPTY_AGENT_CONTEXT_MENTION_PROVIDERS = [];
27943
27956
  function useAgentMentionSearchController(referenceProvenanceFilters) {
@@ -27947,7 +27960,7 @@ function useAgentMentionSearchController(referenceProvenanceFilters) {
27947
27960
  [mentionService]
27948
27961
  );
27949
27962
  const [mentionSearchState, setMentionSearchState] = useState26(INITIAL_AGENT_MENTION_SEARCH_STATE);
27950
- const mentionControllerRef = useRef39(
27963
+ const mentionControllerRef = useRef40(
27951
27964
  null
27952
27965
  );
27953
27966
  const sessionProvenanceFilter = referenceProvenanceFilters?.byFilter.session.snapshot.value ?? null;
@@ -28009,7 +28022,7 @@ var INITIAL_AGENT_MENTION_SEARCH_STATE = {
28009
28022
  };
28010
28023
 
28011
28024
  // agent-gui/agentGuiNode/composer/quickPrompts/useAgentQuickPromptLibrary.ts
28012
- import { useCallback as useCallback45, useMemo as useMemo34, useRef as useRef40, useState as useState27 } from "react";
28025
+ import { useCallback as useCallback45, useMemo as useMemo34, useRef as useRef41, useState as useState27 } from "react";
28013
28026
  var unavailableSnapshot = {
28014
28027
  enabled: false,
28015
28028
  status: "idle",
@@ -28032,7 +28045,7 @@ function useAgentQuickPromptLibrary(input) {
28032
28045
  selectQuickPromptSnapshot
28033
28046
  );
28034
28047
  const [mode, setMode] = useState27("closed");
28035
- const modeRef = useRef40(mode);
28048
+ const modeRef = useRef41(mode);
28036
28049
  modeRef.current = mode;
28037
28050
  const [searchQuery, setSearchQuery] = useState27("");
28038
28051
  const [selectedPrompt, setSelectedPrompt] = useState27(null);
@@ -28046,7 +28059,7 @@ function useAgentQuickPromptLibrary(input) {
28046
28059
  const capabilityAvailable = Boolean(quickPrompts && snapshot.enabled);
28047
28060
  const disclosureAvailable = capabilityAvailable && !disabled;
28048
28061
  const [previousDisclosureAvailable, setPreviousDisclosureAvailable] = useState27(disclosureAvailable);
28049
- const disclosureAvailableRef = useRef40(disclosureAvailable);
28062
+ const disclosureAvailableRef = useRef41(disclosureAvailable);
28050
28063
  disclosureAvailableRef.current = disclosureAvailable;
28051
28064
  if (previousDisclosureAvailable !== disclosureAvailable) {
28052
28065
  setPreviousDisclosureAvailable(disclosureAvailable);
@@ -28326,9 +28339,9 @@ function isVersionConflict(error) {
28326
28339
  }
28327
28340
 
28328
28341
  // agent-gui/agentGuiNode/composer/useScopedProjectMissingState.ts
28329
- import { useCallback as useCallback46, useRef as useRef41, useState as useState28 } from "react";
28342
+ import { useCallback as useCallback46, useRef as useRef42, useState as useState28 } from "react";
28330
28343
  function useScopedProjectMissingState(scopeKey) {
28331
- const identityRef = useRef41({
28344
+ const identityRef = useRef42({
28332
28345
  key: scopeKey,
28333
28346
  revision: 0
28334
28347
  });
@@ -28564,29 +28577,29 @@ function AgentComposer(props) {
28564
28577
  const [isSelectedProjectMissing, setIsSelectedProjectMissing] = useScopedProjectMissingState(selectedProjectPath);
28565
28578
  const [isSlashStatusPanelOpen, setIsSlashStatusPanelOpen] = useState29(false);
28566
28579
  const slashStatusAgentSessionId = slashStatus?.agentSessionId ?? null;
28567
- const previousSlashStatusAgentSessionIdRef = useRef42(
28580
+ const previousSlashStatusAgentSessionIdRef = useRef43(
28568
28581
  slashStatusAgentSessionId
28569
28582
  );
28570
28583
  const selectedProjectSectionKey = composerSettings.selectedProjectSectionKey?.trim() ?? "";
28571
- const previousSelectedProjectPathRef = useRef42(selectedProjectPath);
28572
- const composerRef = useRef42(null);
28573
- const inputShellRef = useRef42(null);
28574
- const promptInputAreaRef = useRef42(null);
28575
- const paletteContentRef = useRef42(null);
28576
- const draftPromptRef = useRef42(draftPrompt);
28577
- const draftImagesRef = useRef42(draftImages);
28578
- const draftFilesRef = useRef42(draftFiles);
28579
- const draftLargeTextsRef = useRef42(draftLargeTexts);
28580
- const draftByScopeKeyRef = useRef42({
28584
+ const previousSelectedProjectPathRef = useRef43(selectedProjectPath);
28585
+ const composerRef = useRef43(null);
28586
+ const inputShellRef = useRef43(null);
28587
+ const promptInputAreaRef = useRef43(null);
28588
+ const paletteContentRef = useRef43(null);
28589
+ const draftPromptRef = useRef43(draftPrompt);
28590
+ const draftImagesRef = useRef43(draftImages);
28591
+ const draftFilesRef = useRef43(draftFiles);
28592
+ const draftLargeTextsRef = useRef43(draftLargeTexts);
28593
+ const draftByScopeKeyRef = useRef43({
28581
28594
  [draftScopeKey]: draftContent
28582
28595
  });
28583
28596
  draftByScopeKeyRef.current[draftScopeKey] = draftContent;
28584
- const promptTipRef = useRef42(null);
28597
+ const promptTipRef = useRef43(null);
28585
28598
  const { mentionControllerRef, mentionSearchState } = useAgentMentionSearchController(referenceProvenanceFilters);
28586
- const editorHandleRef = useRef42(null);
28587
- const wasActiveRef = useRef42(isActive);
28588
- const lastComposerFocusRequestRef = useRef42(null);
28589
- const autoMentionHighlightedKeyRef = useRef42(null);
28599
+ const editorHandleRef = useRef43(null);
28600
+ const wasActiveRef = useRef43(isActive);
28601
+ const lastComposerFocusRequestRef = useRef43(null);
28602
+ const autoMentionHighlightedKeyRef = useRef43(null);
28590
28603
  const [isPromptTipOverflowing, setIsPromptTipOverflowing] = useState29(false);
28591
28604
  const [dockComposerMetrics, setDockComposerMetrics] = useState29(
28592
28605
  INITIAL_DOCK_COMPOSER_METRICS
@@ -29373,7 +29386,7 @@ import {
29373
29386
  useCallback as useCallback48,
29374
29387
  useContext,
29375
29388
  useMemo as useMemo35,
29376
- useRef as useRef43
29389
+ useRef as useRef44
29377
29390
  } from "react";
29378
29391
  import { toast as toast2 } from "@tutti-os/ui-system";
29379
29392
 
@@ -29461,7 +29474,7 @@ function useCreateAgentTargetSetupController(agentTarget) {
29461
29474
  },
29462
29475
  [agentTargetId, hostApi?.debug]
29463
29476
  );
29464
- const controllerRef = useRef43(null);
29477
+ const controllerRef = useRef44(null);
29465
29478
  const targetKey = enabled ? agentTargetId : "";
29466
29479
  const controllerEntry = useMemo35(() => {
29467
29480
  const previousState = controllerRef.current?.targetKey === targetKey ? controllerRef.current.controller.getSnapshot() : null;
@@ -30394,7 +30407,7 @@ function EmptyHeroTitle({
30394
30407
 
30395
30408
  // agent-gui/agentGuiNode/view/AgentGUIProviderManagerDialog.tsx
30396
30409
  import {
30397
- useRef as useRef44,
30410
+ useRef as useRef45,
30398
30411
  useState as useState31
30399
30412
  } from "react";
30400
30413
  import { CircleMinus, CirclePlus } from "lucide-react";
@@ -30436,12 +30449,12 @@ function AgentGUIProviderManagerDialog({
30436
30449
  null
30437
30450
  );
30438
30451
  const [dragPreview, setDragPreview] = useState31(null);
30439
- const dragStateRef = useRef44(null);
30440
- const dragPreviewRef = useRef44(null);
30452
+ const dragStateRef = useRef45(null);
30453
+ const dragPreviewRef = useRef45(null);
30441
30454
  const [longPressTargetId, setLongPressTargetId] = useState31(
30442
30455
  null
30443
30456
  );
30444
- const longPressOriginRef = useRef44(null);
30457
+ const longPressOriginRef = useRef45(null);
30445
30458
  const finalAvailableAgent = availableTargets.length === 1;
30446
30459
  const showRunningAgentBlocked = (targetId) => {
30447
30460
  const target = targets.find((candidate) => candidate.targetId === targetId);
@@ -31039,7 +31052,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31039
31052
  preferences: providerRailPreferences
31040
31053
  } = useAgentGUIProviderRailPreferences();
31041
31054
  const [dragState, setDragState] = useState33(null);
31042
- const dragStateRef = useRef45(null);
31055
+ const dragStateRef = useRef46(null);
31043
31056
  const setProviderRailDragState = useCallback50(
31044
31057
  (nextDragState) => {
31045
31058
  dragStateRef.current = nextDragState;
@@ -31509,7 +31522,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
31509
31522
  import { memo as memo8, useState as useState40 } from "react";
31510
31523
 
31511
31524
  // agent-gui/agentGuiNode/view/AgentGUIConversationRailPane.tsx
31512
- import { Fragment as Fragment21, memo as memo7, useEffect as useEffect29, useMemo as useMemo40, useRef as useRef48, useState as useState39 } from "react";
31525
+ import { Fragment as Fragment21, memo as memo7, useEffect as useEffect29, useMemo as useMemo40, useRef as useRef49, useState as useState39 } from "react";
31513
31526
  import { Button as SystemButton } from "@tutti-os/ui-system";
31514
31527
  import { ScrollArea as ScrollArea2 } from "@tutti-os/ui-system/components";
31515
31528
  import { CreateChatIcon as CreateChatIcon2 } from "@tutti-os/ui-system/icons";
@@ -32694,7 +32707,7 @@ import {
32694
32707
  Fragment as Fragment18,
32695
32708
  useCallback as useCallback52,
32696
32709
  useMemo as useMemo38,
32697
- useRef as useRef46,
32710
+ useRef as useRef47,
32698
32711
  useState as useState35
32699
32712
  } from "react";
32700
32713
  import {
@@ -32906,7 +32919,7 @@ function useConversationActionGroups({
32906
32919
  const agentActivityRuntime = useOptionalAgentActivityRuntime();
32907
32920
  const copyConversationValue = useAgentGUIConversationCopyAction(labels);
32908
32921
  const [resetKey, setResetKey] = useState35(0);
32909
- const pendingActionRef = useRef46(false);
32922
+ const pendingActionRef = useRef47(false);
32910
32923
  const run = useCallback52(
32911
32924
  (action) => {
32912
32925
  if (pendingActionRef.current) {
@@ -34222,7 +34235,7 @@ function AgentGUIProjectActionConfirmationDialog(props) {
34222
34235
  }
34223
34236
 
34224
34237
  // agent-gui/agentGuiNode/view/useAgentGUIConversationRailViewState.ts
34225
- import { useCallback as useCallback56, useLayoutEffect as useLayoutEffect6, useReducer, useRef as useRef47 } from "react";
34238
+ import { useCallback as useCallback56, useLayoutEffect as useLayoutEffect6, useReducer, useRef as useRef48 } from "react";
34226
34239
  function applyRailScrollNavigation(input) {
34227
34240
  const activeConversationId = input.activeConversationId?.trim() || null;
34228
34241
  const current = input.current.navigationKey === input.navigationKey ? input.current : {
@@ -34268,10 +34281,10 @@ function useAgentGUIConversationRailViewState(input) {
34268
34281
  reduceAgentGUIConversationRailViewState,
34269
34282
  /* @__PURE__ */ new Map()
34270
34283
  );
34271
- const conversationListRef = useRef47(null);
34272
- const conversationItemElementsRef = useRef47(/* @__PURE__ */ new Map());
34273
- const scrollTopByScopeRef = useRef47(/* @__PURE__ */ new Map());
34274
- const navigationRef = useRef47({
34284
+ const conversationListRef = useRef48(null);
34285
+ const conversationItemElementsRef = useRef48(/* @__PURE__ */ new Map());
34286
+ const scrollTopByScopeRef = useRef48(/* @__PURE__ */ new Map());
34287
+ const navigationRef = useRef48({
34275
34288
  handledRevealRevision: 0,
34276
34289
  navigationKey: null,
34277
34290
  phase: "scope-pending"
@@ -34442,9 +34455,9 @@ var AgentGUIConversationRailPane = memo7(
34442
34455
  const [pendingProjectAction, setPendingProjectAction] = useState39(null);
34443
34456
  const [isRequestingBatchDeletion, setIsRequestingBatchDeletion] = useState39(false);
34444
34457
  const { railSearch } = railQuery;
34445
- const railElementRef = useRef48(null);
34446
- const railActiveConversationRef = useRef48([]);
34447
- const groupedConversationsRef = useRef48(null);
34458
+ const railElementRef = useRef49(null);
34459
+ const railActiveConversationRef = useRef49([]);
34460
+ const groupedConversationsRef = useRef49(null);
34448
34461
  const {
34449
34462
  batchDeletionAvailable,
34450
34463
  loadMoreSectionConversations,
@@ -34876,7 +34889,7 @@ var AgentGUIConversationRailPane = memo7(
34876
34889
  );
34877
34890
 
34878
34891
  // agent-gui/agentGuiNode/controller/useAgentGUIConversationRailQuery.ts
34879
- import { useEffect as useEffect30, useMemo as useMemo41, useRef as useRef49 } from "react";
34892
+ import { useEffect as useEffect30, useMemo as useMemo41, useRef as useRef50 } from "react";
34880
34893
 
34881
34894
  // agent-gui/agentGuiNode/controller/agentGuiConversationRailDiagnostics.ts
34882
34895
  var CONVERSATION_RAIL_SLOW_DIAGNOSTIC_THRESHOLD_MS = 250;
@@ -36159,7 +36172,7 @@ function useAgentGUIConversationRailQuery({
36159
36172
  () => runtime.getSessionEngine(workspaceId),
36160
36173
  [runtime, workspaceId]
36161
36174
  );
36162
- const activeConversationIdRef = useRef49(activeConversationId);
36175
+ const activeConversationIdRef = useRef50(activeConversationId);
36163
36176
  activeConversationIdRef.current = activeConversationId;
36164
36177
  const controller = useMemo41(
36165
36178
  () => new AgentGUIConversationRailQueryController({
@@ -36278,10 +36291,10 @@ var AgentGUIConversationRailController = memo8(
36278
36291
  );
36279
36292
 
36280
36293
  // agent-gui/agentGuiNode/view/AgentGUIDetailPane.tsx
36281
- import { memo as memo12, useCallback as useCallback60, useEffect as useEffect34, useMemo as useMemo44, useRef as useRef53, useState as useState50 } from "react";
36294
+ import { memo as memo12, useCallback as useCallback60, useEffect as useEffect34, useMemo as useMemo44, useRef as useRef54, useState as useState50 } from "react";
36282
36295
 
36283
36296
  // agent-gui/agentGuiNode/view/agentGUIDetailModelHelpers.ts
36284
- import { useRef as useRef50 } from "react";
36297
+ import { useRef as useRef51 } from "react";
36285
36298
  function commandAppSource(command) {
36286
36299
  if (!command || typeof command !== "object" || !("source" in command)) {
36287
36300
  return null;
@@ -36361,7 +36374,7 @@ function slashStatusesEqual(left, right) {
36361
36374
  return (left.agentSessionId ?? null) === (right.agentSessionId ?? null) && (left.baseUrl ?? null) === (right.baseUrl ?? null) && (left.contextWindow?.usedTokens ?? null) === (right.contextWindow?.usedTokens ?? null) && (left.contextWindow?.totalTokens ?? null) === (right.contextWindow?.totalTokens ?? null) && slashStatusLimitsEqual(left.limits, right.limits) && Boolean(left.limitsLoading) === Boolean(right.limitsLoading) && Boolean(left.limitsUnavailable) === Boolean(right.limitsUnavailable);
36362
36375
  }
36363
36376
  function useStableSlashStatus(status) {
36364
- const statusRef = useRef50(null);
36377
+ const statusRef = useRef51(null);
36365
36378
  if (statusRef.current === null || !slashStatusesEqual(statusRef.current, status)) {
36366
36379
  statusRef.current = status;
36367
36380
  }
@@ -37830,7 +37843,7 @@ function TuttiPlanIssueList({
37830
37843
  }
37831
37844
 
37832
37845
  // workspaceWorkflow/tuttiModePlan/useTuttiModePlanPanels.ts
37833
- import { useCallback as useCallback58, useEffect as useEffect32, useMemo as useMemo42, useRef as useRef51, useState as useState43 } from "react";
37846
+ import { useCallback as useCallback58, useEffect as useEffect32, useMemo as useMemo42, useRef as useRef52, useState as useState43 } from "react";
37834
37847
  function emptyState(scopeKey) {
37835
37848
  return {
37836
37849
  error: null,
@@ -37857,15 +37870,15 @@ function useTuttiModePlanPanels(input) {
37857
37870
  result: null,
37858
37871
  scopeKey: ""
37859
37872
  });
37860
- const requestSequenceRef = useRef51(0);
37873
+ const requestSequenceRef = useRef52(0);
37861
37874
  const [retrySequence, setRetrySequence] = useState43(0);
37862
37875
  const enabled = input.enabled ?? true;
37863
37876
  const workspaceId = input.workspaceId.trim();
37864
37877
  const sourceSessionId = input.sourceSessionId?.trim() ?? "";
37865
37878
  const scopeKey = enabled && runtime && workspaceId && sourceSessionId ? JSON.stringify([workspaceId, sourceSessionId]) : "";
37866
- const activeScopeRef = useRef51("");
37867
- const assignmentRequestsRef = useRef51(/* @__PURE__ */ new Set());
37868
- const planIssueRefreshRef = useRef51(null);
37879
+ const activeScopeRef = useRef52("");
37880
+ const assignmentRequestsRef = useRef52(/* @__PURE__ */ new Set());
37881
+ const planIssueRefreshRef = useRef52(null);
37869
37882
  const assignmentSource = runtime?.assignmentOptions ?? null;
37870
37883
  const loadAgentOptions = useCallback58(
37871
37884
  (agentTargetId) => {
@@ -39105,7 +39118,7 @@ import {
39105
39118
  useCallback as useCallback59,
39106
39119
  useEffect as useEffect33,
39107
39120
  useLayoutEffect as useLayoutEffect7,
39108
- useRef as useRef52,
39121
+ useRef as useRef53,
39109
39122
  useState as useState47
39110
39123
  } from "react";
39111
39124
  var AGENT_GUI_STICK_TO_BOTTOM_THRESHOLD_PX = 24;
@@ -39183,11 +39196,11 @@ function useAgentGUIDetailScroll(input) {
39183
39196
  } = input;
39184
39197
  const [isTimelineScrolledToTop, setIsTimelineScrolledToTop] = useState47(true);
39185
39198
  const [isTimelineScrolledToBottom, setIsTimelineScrolledToBottom] = useState47(true);
39186
- const bottomLockOwnerRef = useRef52(null);
39187
- const pointerScrollConversationRef = useRef52(null);
39188
- const userScrollAwayIntentConversationRef = useRef52(null);
39189
- const lastShowTimelineSkeletonRef = useRef52(showTimelineSkeleton);
39190
- const bottomDockSafeAreaRef = useRef52(null);
39199
+ const bottomLockOwnerRef = useRef53(null);
39200
+ const pointerScrollConversationRef = useRef53(null);
39201
+ const userScrollAwayIntentConversationRef = useRef53(null);
39202
+ const lastShowTimelineSkeletonRef = useRef53(showTimelineSkeleton);
39203
+ const bottomDockSafeAreaRef = useRef53(null);
39191
39204
  useLayoutEffect7(() => {
39192
39205
  const timelineSkeletonChanged = lastShowTimelineSkeletonRef.current !== showTimelineSkeleton;
39193
39206
  lastShowTimelineSkeletonRef.current = showTimelineSkeleton;
@@ -40562,12 +40575,12 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
40562
40575
  readiness,
40563
40576
  operations
40564
40577
  };
40565
- const timelineRef = useRef53(null);
40566
- const timelineContentRef = useRef53(null);
40567
- const bottomDockRef = useRef53(null);
40568
- const timelineScrollAnchorRef = useRef53(null);
40569
- const submittedPromptScrollConversationRef = useRef53(null);
40570
- const pendingPrependScrollAnchorRef = useRef53(null);
40578
+ const timelineRef = useRef54(null);
40579
+ const timelineContentRef = useRef54(null);
40580
+ const bottomDockRef = useRef54(null);
40581
+ const timelineScrollAnchorRef = useRef54(null);
40582
+ const submittedPromptScrollConversationRef = useRef54(null);
40583
+ const pendingPrependScrollAnchorRef = useRef54(null);
40571
40584
  const [
40572
40585
  bottomDockDismissedPromptRequestId,
40573
40586
  setBottomDockDismissedPromptRequestId
@@ -41105,7 +41118,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
41105
41118
  });
41106
41119
 
41107
41120
  // agent-gui/agentGuiNode/view/AgentGUIRenameConversationDialog.tsx
41108
- import { memo as memo13, useCallback as useCallback61, useEffect as useEffect35, useRef as useRef54, useState as useState51 } from "react";
41121
+ import { memo as memo13, useCallback as useCallback61, useEffect as useEffect35, useRef as useRef55, useState as useState51 } from "react";
41109
41122
  import { ConfirmationDialog as ConfirmationDialog4, Input as Input4 } from "@tutti-os/ui-system";
41110
41123
  import { jsx as jsx83, jsxs as jsxs59 } from "react/jsx-runtime";
41111
41124
  var AgentGUIRenameConversationDialog = memo13(
@@ -41119,9 +41132,9 @@ var AgentGUIRenameConversationDialog = memo13(
41119
41132
  "use memo";
41120
41133
  const [title, setTitle] = useState51("");
41121
41134
  const [isSaving, setIsSaving] = useState51(false);
41122
- const isSavingRef = useRef54(false);
41123
- const armedPointerActionRef = useRef54(null);
41124
- const inputRef = useRef54(null);
41135
+ const isSavingRef = useRef55(false);
41136
+ const armedPointerActionRef = useRef55(null);
41137
+ const inputRef = useRef55(null);
41125
41138
  const trimmedTitle = title.trim();
41126
41139
  useEffect35(() => {
41127
41140
  if (!open || !conversation) {
@@ -41406,7 +41419,7 @@ function AgentTargetSetupRoot({
41406
41419
  }
41407
41420
 
41408
41421
  // agent-gui/agentGuiNode/view/useAgentGUIWorkspaceReferencePicker.ts
41409
- import { useCallback as useCallback63, useMemo as useMemo46, useRef as useRef55, useState as useState52 } from "react";
41422
+ import { useCallback as useCallback63, useMemo as useMemo46, useRef as useRef56, useState as useState52 } from "react";
41410
41423
  import { createRichTextMentionHref } from "@tutti-os/ui-rich-text/core";
41411
41424
  function useAgentGUIWorkspaceReferencePicker(input) {
41412
41425
  const {
@@ -41422,8 +41435,8 @@ function useAgentGUIWorkspaceReferencePicker(input) {
41422
41435
  const [workspaceReferencePickerOpen, setWorkspaceReferencePickerOpen] = useState52(false);
41423
41436
  const [workspaceReferencePickerPurpose, setWorkspaceReferencePickerPurpose] = useState52("reference");
41424
41437
  const [workspaceReferencePickerTarget, setWorkspaceReferencePickerTarget] = useState52(null);
41425
- const workspaceReferencePickerResolverRef = useRef55(null);
41426
- const projectDirectoryPickerResolverRef = useRef55(null);
41438
+ const workspaceReferencePickerResolverRef = useRef56(null);
41439
+ const projectDirectoryPickerResolverRef = useRef56(null);
41427
41440
  const emptyReferencePickResult = useMemo46(
41428
41441
  () => ({ files: [], mentionItems: [] }),
41429
41442
  []
@@ -41575,7 +41588,7 @@ function useAgentGUIWorkspaceReferencePicker(input) {
41575
41588
  }
41576
41589
 
41577
41590
  // agent-gui/agentGuiNode/engagement/useAgentGUINodeEngagement.ts
41578
- import { useRef as useRef57 } from "react";
41591
+ import { useRef as useRef58 } from "react";
41579
41592
 
41580
41593
  // agent-gui/agentGuiNode/engagement/projectAgentGUIEngagementContext.ts
41581
41594
  function projectAgentGUIEngagementContext(viewModel, composerReady) {
@@ -41607,7 +41620,7 @@ function createAgentGUIEngagementContextKey(input) {
41607
41620
  }
41608
41621
 
41609
41622
  // agent-gui/agentGuiNode/engagement/useAgentGUIPanelEngagement.ts
41610
- import { useEffect as useEffect36, useRef as useRef56 } from "react";
41623
+ import { useEffect as useEffect36, useRef as useRef57 } from "react";
41611
41624
 
41612
41625
  // agent-gui/agentGuiNode/engagement/AgentGUIPanelEngagementController.ts
41613
41626
  var AGENT_GUI_PANEL_EXPOSURE_DWELL_MS = 1e3;
@@ -41761,10 +41774,10 @@ function documentIsVisible() {
41761
41774
 
41762
41775
  // agent-gui/agentGuiNode/engagement/useAgentGUIPanelEngagement.ts
41763
41776
  function useAgentGUIPanelEngagement(input) {
41764
- const inputRef = useRef56(input);
41765
- const controllerRef = useRef56(null);
41766
- const intersectionRatioRef = useRef56(0);
41767
- const engagementRef = useRef56(null);
41777
+ const inputRef = useRef57(input);
41778
+ const controllerRef = useRef57(null);
41779
+ const intersectionRatioRef = useRef57(0);
41780
+ const engagementRef = useRef57(null);
41768
41781
  inputRef.current = input;
41769
41782
  if (!engagementRef.current) {
41770
41783
  engagementRef.current = {
@@ -41804,7 +41817,7 @@ function useAgentGUIPanelEngagement(input) {
41804
41817
 
41805
41818
  // agent-gui/agentGuiNode/engagement/useAgentGUINodeEngagement.ts
41806
41819
  function useAgentGUINodeEngagement(input) {
41807
- const layoutElementRef = useRef57(null);
41820
+ const layoutElementRef = useRef58(null);
41808
41821
  const projected = projectAgentGUIEngagementContext(
41809
41822
  input.viewModel,
41810
41823
  input.composerReady
@@ -41865,7 +41878,7 @@ function useAgentGUIConversationRailResizePointerMove({
41865
41878
  }
41866
41879
 
41867
41880
  // agent-gui/agentGuiNode/view/useAgentGUIExternalRequests.ts
41868
- import { useCallback as useCallback65, useEffect as useEffect37, useRef as useRef58 } from "react";
41881
+ import { useCallback as useCallback65, useEffect as useEffect37, useRef as useRef59 } from "react";
41869
41882
  function resolveSessionActionConversation(viewModel, agentSessionId) {
41870
41883
  const active = viewModel.rail.activeConversation;
41871
41884
  if (!agentSessionId) {
@@ -41890,17 +41903,17 @@ function useAgentGUIExternalRequests(input) {
41890
41903
  viewModel
41891
41904
  } = input;
41892
41905
  const agentHostApi = useOptionalAgentHostApi();
41893
- const railInteractionLockProbeRef = useRef58(null);
41906
+ const railInteractionLockProbeRef = useRef59(null);
41894
41907
  const registerRailInteractionLockProbe = useCallback65(
41895
41908
  (probe) => {
41896
41909
  railInteractionLockProbeRef.current = probe;
41897
41910
  },
41898
41911
  []
41899
41912
  );
41900
- const handledNewConversationRequestSequenceRef = useRef58(
41913
+ const handledNewConversationRequestSequenceRef = useRef59(
41901
41914
  newConversationRequestSequence
41902
41915
  );
41903
- const handledSessionActionRequestSequenceRef = useRef58(
41916
+ const handledSessionActionRequestSequenceRef = useRef59(
41904
41917
  sessionActionRequest?.sequence ?? null
41905
41918
  );
41906
41919
  const copyConversationValue = useAgentGUIConversationCopyAction(labels);
@@ -42027,7 +42040,7 @@ function AgentGUINodeView({
42027
42040
  viewModel
42028
42041
  });
42029
42042
  const [providerManagerOpen, setProviderManagerOpen] = useState53(false);
42030
- const railResizeInteractionRef = useRef59(null);
42043
+ const railResizeInteractionRef = useRef60(null);
42031
42044
  const [isRailResizing, setIsRailResizing] = useState53(false);
42032
42045
  const [railResizeWidthPx, setRailResizeWidthPx] = useState53(
42033
42046
  null
@@ -42575,7 +42588,7 @@ import {
42575
42588
  useCallback as useCallback67,
42576
42589
  useEffect as useEffect39,
42577
42590
  useLayoutEffect as useLayoutEffect9,
42578
- useRef as useRef60,
42591
+ useRef as useRef61,
42579
42592
  useState as useState54
42580
42593
  } from "react";
42581
42594
  import { createPortal as createPortal5 } from "react-dom";
@@ -42614,8 +42627,8 @@ function AgentProbeInfoPopover({
42614
42627
  onClose
42615
42628
  }) {
42616
42629
  "use memo";
42617
- const anchorRef = useRef60(null);
42618
- const popoverRef = useRef60(null);
42630
+ const anchorRef = useRef61(null);
42631
+ const popoverRef = useRef61(null);
42619
42632
  const [isOpen, setIsOpen] = useState54(false);
42620
42633
  const [popoverStyle, setPopoverStyle] = useState54(null);
42621
42634
  const openPopover = useCallback67(() => {
@@ -44105,7 +44118,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
44105
44118
  isVisible = true,
44106
44119
  embedded = false
44107
44120
  } = frame;
44108
- const widthRef = useRef61(width);
44121
+ const widthRef = useRef62(width);
44109
44122
  widthRef.current = width;
44110
44123
  const {
44111
44124
  composerAppend: composerAppendRequest = null,
@@ -44607,4 +44620,4 @@ export {
44607
44620
  AgentHandoffMenu,
44608
44621
  AgentGUI
44609
44622
  };
44610
- //# sourceMappingURL=chunk-IMHJ3J5X.js.map
44623
+ //# sourceMappingURL=chunk-ZVSKNM6D.js.map