@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.
- package/dist/agent-conversation/index.js +2 -2
- package/dist/agent-gui.js +4 -4
- package/dist/agent-message-center/index.js +2 -2
- package/dist/app/renderer/agentactivity.css +31 -85
- package/dist/{chunk-KZIW5CCW.js → chunk-CQFT3MI5.js} +35 -25
- package/dist/chunk-CQFT3MI5.js.map +1 -0
- package/dist/{chunk-Z35E22WS.js → chunk-WGCDSA7P.js} +24 -22
- package/dist/{chunk-Z35E22WS.js.map → chunk-WGCDSA7P.js.map} +1 -1
- package/dist/{chunk-C7XGPXRW.js → chunk-Y5OBJINU.js} +2 -2
- package/dist/{chunk-IMHJ3J5X.js → chunk-ZVSKNM6D.js} +248 -235
- package/dist/chunk-ZVSKNM6D.js.map +1 -0
- package/dist/index.js +4 -4
- package/package.json +16 -16
- package/dist/chunk-IMHJ3J5X.js.map +0 -1
- package/dist/chunk-KZIW5CCW.js.map +0 -1
- /package/dist/{chunk-C7XGPXRW.js.map → chunk-Y5OBJINU.js.map} +0 -0
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
normalizePlanIssueBudgetPreset,
|
|
39
39
|
planImplementationPromptFromPlanTurn,
|
|
40
40
|
planIssueBudgetPresetsEqual
|
|
41
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
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
|
-
|
|
7265
|
-
|
|
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
|
|
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 =
|
|
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
|
|
7643
|
+
import { useRef as useRef11 } from "react";
|
|
7631
7644
|
function useAgentGUIControllerRefs(input) {
|
|
7632
|
-
const activeConversationIdRef =
|
|
7633
|
-
const selectedProjectPathRef =
|
|
7634
|
-
const userProjectsRef =
|
|
7635
|
-
const isNoProjectPathRef =
|
|
7636
|
-
const userProjectsLoadSeqRef =
|
|
7637
|
-
const conversationsRef =
|
|
7638
|
-
const isMountedRef =
|
|
7639
|
-
const agentActivitySnapshotRef =
|
|
7640
|
-
const dataRef =
|
|
7641
|
-
const selectedAgentTargetRef =
|
|
7642
|
-
const selectedAgentTargetIsExplicitRef =
|
|
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 =
|
|
7646
|
-
const selectedComposerTargetDataRef =
|
|
7658
|
+
const agentTargetsProvidedRef = useRef11(input.agentTargetsProvided);
|
|
7659
|
+
const selectedComposerTargetDataRef = useRef11(
|
|
7647
7660
|
input.selectedComposerTargetData
|
|
7648
7661
|
);
|
|
7649
|
-
const draftByScopeKeyRef =
|
|
7650
|
-
const draftSettingsBySessionIdRef =
|
|
7651
|
-
const onDataChangeRef =
|
|
7652
|
-
const onRememberComposerDefaultsRef =
|
|
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 =
|
|
7656
|
-
const handledPrefillPromptSequenceRef =
|
|
7657
|
-
const handledComposerAppendSequenceRef =
|
|
7658
|
-
const loadDraftComposerOptionsRef =
|
|
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 =
|
|
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 =
|
|
7684
|
+
const conversationIdsRef = useRef11(
|
|
7672
7685
|
new Set(input.conversations.map((conversation) => conversation.id))
|
|
7673
7686
|
);
|
|
7674
|
-
const lastRenderStateDiagnosticKeyRef =
|
|
7675
|
-
const handledOpenSessionSequenceRef =
|
|
7676
|
-
const pendingOpenSessionRequestRef =
|
|
7677
|
-
const executePromptRef =
|
|
7687
|
+
const lastRenderStateDiagnosticKeyRef = useRef11(null);
|
|
7688
|
+
const handledOpenSessionSequenceRef = useRef11(null);
|
|
7689
|
+
const pendingOpenSessionRequestRef = useRef11(null);
|
|
7690
|
+
const executePromptRef = useRef11(() => {
|
|
7678
7691
|
});
|
|
7679
|
-
const submitPromptRef =
|
|
7692
|
+
const submitPromptRef = useRef11(() => {
|
|
7680
7693
|
});
|
|
7681
|
-
const reloadSelectedConversationRef =
|
|
7694
|
+
const reloadSelectedConversationRef = useRef11(() => {
|
|
7682
7695
|
});
|
|
7683
|
-
const syncConversationListProjectionRef =
|
|
7696
|
+
const syncConversationListProjectionRef = useRef11(async () => {
|
|
7684
7697
|
});
|
|
7685
|
-
const isComposerHomeRef =
|
|
7686
|
-
const isCreatingConversationRef =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
11623
|
+
import { useEffect as useEffect8, useMemo as useMemo11, useRef as useRef15 } from "react";
|
|
11611
11624
|
function useAgentGUIConversationDetail(input) {
|
|
11612
|
-
const projectionConversationRef =
|
|
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 =
|
|
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
|
|
11808
|
+
import { useEffect as useEffect9, useMemo as useMemo12, useRef as useRef16 } from "react";
|
|
11796
11809
|
function useAgentGUIConversationPresentation(input) {
|
|
11797
|
-
const visibleConversationsRef =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
13943
|
+
const updateComposerSettingsRef = useRef22(() => {
|
|
13931
13944
|
});
|
|
13932
|
-
const planActionsRef =
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
19025
|
-
const usagePopoverContentRef =
|
|
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 =
|
|
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
|
|
19426
|
+
useRef as useRef28
|
|
19414
19427
|
} from "react";
|
|
19415
19428
|
function useStableEventCallback3(callback) {
|
|
19416
|
-
const callbackRef =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
21392
|
-
const queuedPromptListRef =
|
|
21393
|
-
const pointerHandledEditPromptIdRef =
|
|
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
|
|
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
|
|
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 =
|
|
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 =
|
|
24107
|
-
const controlledValueTrackerRef =
|
|
24119
|
+
const lastEmittedPromptRef = useRef32(value);
|
|
24120
|
+
const controlledValueTrackerRef = useRef32(
|
|
24108
24121
|
createAgentRichTextControlledValueTracker(contentScopeKey)
|
|
24109
24122
|
);
|
|
24110
|
-
const editorRef =
|
|
24111
|
-
const onChangeRef =
|
|
24112
|
-
const onContentLayoutInvalidatedRef =
|
|
24113
|
-
const onFocusRef =
|
|
24114
|
-
const onUserContentChangeRef =
|
|
24115
|
-
const pendingFocusMethodRef =
|
|
24116
|
-
const onSubmitRef =
|
|
24117
|
-
const onSubmitGuidanceRef =
|
|
24118
|
-
const onKeyDownForPaletteRef =
|
|
24119
|
-
const onFileMentionSuggestionChangeRef =
|
|
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 =
|
|
24135
|
+
const onFileMentionSuggestionKeyDownRef = useRef32(
|
|
24123
24136
|
onFileMentionSuggestionKeyDown
|
|
24124
24137
|
);
|
|
24125
|
-
const onLinkClickRef =
|
|
24126
|
-
const onPromptImagesUnsupportedRef =
|
|
24127
|
-
const onPasteImagesRef =
|
|
24128
|
-
const onPasteLargeTextRef =
|
|
24129
|
-
const onPasteFilesRef =
|
|
24130
|
-
const onDropFilesRef =
|
|
24131
|
-
const promptImagesSupportedRef =
|
|
24132
|
-
const placeholderRef =
|
|
24133
|
-
const removeMentionLabelRef =
|
|
24134
|
-
const availableSkillsRef =
|
|
24135
|
-
const availableCapabilitiesRef =
|
|
24136
|
-
const suppressPastedAtSuggestionRef =
|
|
24137
|
-
const scrollFrameRef =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
25077
|
-
const highlightedOptionRef =
|
|
25078
|
-
const reviewBranchControllerRef =
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
26871
|
-
const rowRefs =
|
|
26872
|
-
const firstTemplateRef =
|
|
26873
|
-
const preserveExternalFocusRef =
|
|
26874
|
-
const createRequestedOnPointerDownRef =
|
|
26875
|
-
const templateRequestedOnPointerDownRef =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
28342
|
+
import { useCallback as useCallback46, useRef as useRef42, useState as useState28 } from "react";
|
|
28330
28343
|
function useScopedProjectMissingState(scopeKey) {
|
|
28331
|
-
const identityRef =
|
|
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 =
|
|
28580
|
+
const previousSlashStatusAgentSessionIdRef = useRef43(
|
|
28568
28581
|
slashStatusAgentSessionId
|
|
28569
28582
|
);
|
|
28570
28583
|
const selectedProjectSectionKey = composerSettings.selectedProjectSectionKey?.trim() ?? "";
|
|
28571
|
-
const previousSelectedProjectPathRef =
|
|
28572
|
-
const composerRef =
|
|
28573
|
-
const inputShellRef =
|
|
28574
|
-
const promptInputAreaRef =
|
|
28575
|
-
const paletteContentRef =
|
|
28576
|
-
const draftPromptRef =
|
|
28577
|
-
const draftImagesRef =
|
|
28578
|
-
const draftFilesRef =
|
|
28579
|
-
const draftLargeTextsRef =
|
|
28580
|
-
const draftByScopeKeyRef =
|
|
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 =
|
|
28597
|
+
const promptTipRef = useRef43(null);
|
|
28585
28598
|
const { mentionControllerRef, mentionSearchState } = useAgentMentionSearchController(referenceProvenanceFilters);
|
|
28586
|
-
const editorHandleRef =
|
|
28587
|
-
const wasActiveRef =
|
|
28588
|
-
const lastComposerFocusRequestRef =
|
|
28589
|
-
const autoMentionHighlightedKeyRef =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
30440
|
-
const dragPreviewRef =
|
|
30452
|
+
const dragStateRef = useRef45(null);
|
|
30453
|
+
const dragPreviewRef = useRef45(null);
|
|
30441
30454
|
const [longPressTargetId, setLongPressTargetId] = useState31(
|
|
30442
30455
|
null
|
|
30443
30456
|
);
|
|
30444
|
-
const longPressOriginRef =
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
34272
|
-
const conversationItemElementsRef =
|
|
34273
|
-
const scrollTopByScopeRef =
|
|
34274
|
-
const navigationRef =
|
|
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 =
|
|
34446
|
-
const railActiveConversationRef =
|
|
34447
|
-
const groupedConversationsRef =
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
37867
|
-
const assignmentRequestsRef =
|
|
37868
|
-
const planIssueRefreshRef =
|
|
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
|
|
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 =
|
|
39187
|
-
const pointerScrollConversationRef =
|
|
39188
|
-
const userScrollAwayIntentConversationRef =
|
|
39189
|
-
const lastShowTimelineSkeletonRef =
|
|
39190
|
-
const bottomDockSafeAreaRef =
|
|
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 =
|
|
40566
|
-
const timelineContentRef =
|
|
40567
|
-
const bottomDockRef =
|
|
40568
|
-
const timelineScrollAnchorRef =
|
|
40569
|
-
const submittedPromptScrollConversationRef =
|
|
40570
|
-
const pendingPrependScrollAnchorRef =
|
|
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
|
|
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 =
|
|
41123
|
-
const armedPointerActionRef =
|
|
41124
|
-
const inputRef =
|
|
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
|
|
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 =
|
|
41426
|
-
const projectDirectoryPickerResolverRef =
|
|
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
|
|
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
|
|
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 =
|
|
41765
|
-
const controllerRef =
|
|
41766
|
-
const intersectionRatioRef =
|
|
41767
|
-
const engagementRef =
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
41913
|
+
const handledNewConversationRequestSequenceRef = useRef59(
|
|
41901
41914
|
newConversationRequestSequence
|
|
41902
41915
|
);
|
|
41903
|
-
const handledSessionActionRequestSequenceRef =
|
|
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 =
|
|
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
|
|
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 =
|
|
42618
|
-
const popoverRef =
|
|
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 =
|
|
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-
|
|
44623
|
+
//# sourceMappingURL=chunk-ZVSKNM6D.js.map
|