@tutti-os/agent-gui 0.0.159 → 0.0.160
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/{AgentRichTextReadonly-ZGW4IZ6O.js → AgentRichTextReadonly-PNUSXHOQ.js} +5 -5
- package/dist/agent-conversation/index.js +7 -7
- package/dist/agent-gui.d.ts +1 -0
- package/dist/agent-gui.js +14 -14
- package/dist/agent-message-center/index.js +6 -6
- package/dist/app/renderer/agentactivity.css +14 -2
- package/dist/{chunk-YRAKPTXS.js → chunk-2DGFRQEP.js} +3 -3
- package/dist/{chunk-YUJY75WA.js → chunk-52ANPJET.js} +3 -3
- package/dist/{chunk-PAVNEKRU.js → chunk-7ED6E444.js} +4 -4
- package/dist/{chunk-CBQMF744.js → chunk-C4Z4JLOJ.js} +2 -2
- package/dist/{chunk-EITAGUEN.js → chunk-DFQMEPM7.js} +2 -2
- package/dist/{chunk-GTSKTVVB.js → chunk-DSOWEIVN.js} +2 -2
- package/dist/{chunk-55UKPTLG.js → chunk-GUGOTL55.js} +4 -4
- package/dist/{chunk-YGBZKQ2S.js → chunk-HGMOBQKA.js} +2 -2
- package/dist/{chunk-UMJIM225.js → chunk-HP4RM2SM.js} +335 -253
- package/dist/chunk-HP4RM2SM.js.map +1 -0
- package/dist/{chunk-DB3PHOZC.js → chunk-ILSYNGFJ.js} +99 -77
- package/dist/chunk-ILSYNGFJ.js.map +1 -0
- package/dist/{chunk-3PSYZ53C.js → chunk-MOC5TDZU.js} +4 -4
- package/dist/{chunk-ABUBJDTO.js → chunk-QHSWRS4L.js} +6 -6
- package/dist/{chunk-VVB5N5ON.js → chunk-W5U7PGMH.js} +2 -2
- package/dist/{chunk-J4QLQETO.js → chunk-ZJWX36UL.js} +2 -2
- package/dist/context-mention-palette/index.js +7 -7
- package/dist/i18n/index.d.ts +220 -208
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +221 -208
- package/dist/index.js +14 -14
- package/dist/mention-search.js +5 -5
- package/dist/workbench/contribution.js +3 -3
- package/dist/workbench/index.js +3 -3
- package/dist/workbench/sessionTitle.js +2 -2
- package/package.json +13 -13
- package/dist/chunk-DB3PHOZC.js.map +0 -1
- package/dist/chunk-UMJIM225.js.map +0 -1
- /package/dist/{AgentRichTextReadonly-ZGW4IZ6O.js.map → AgentRichTextReadonly-PNUSXHOQ.js.map} +0 -0
- /package/dist/{chunk-YRAKPTXS.js.map → chunk-2DGFRQEP.js.map} +0 -0
- /package/dist/{chunk-YUJY75WA.js.map → chunk-52ANPJET.js.map} +0 -0
- /package/dist/{chunk-PAVNEKRU.js.map → chunk-7ED6E444.js.map} +0 -0
- /package/dist/{chunk-CBQMF744.js.map → chunk-C4Z4JLOJ.js.map} +0 -0
- /package/dist/{chunk-EITAGUEN.js.map → chunk-DFQMEPM7.js.map} +0 -0
- /package/dist/{chunk-GTSKTVVB.js.map → chunk-DSOWEIVN.js.map} +0 -0
- /package/dist/{chunk-55UKPTLG.js.map → chunk-GUGOTL55.js.map} +0 -0
- /package/dist/{chunk-YGBZKQ2S.js.map → chunk-HGMOBQKA.js.map} +0 -0
- /package/dist/{chunk-3PSYZ53C.js.map → chunk-MOC5TDZU.js.map} +0 -0
- /package/dist/{chunk-ABUBJDTO.js.map → chunk-QHSWRS4L.js.map} +0 -0
- /package/dist/{chunk-VVB5N5ON.js.map → chunk-W5U7PGMH.js.map} +0 -0
- /package/dist/{chunk-J4QLQETO.js.map → chunk-ZJWX36UL.js.map} +0 -0
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
resolveAgentGuiSessionProviderFlatIconUrl,
|
|
13
13
|
resolveNextAgentGUIConversationRailWidthPx,
|
|
14
14
|
shouldAutoCollapseAgentGUIConversationRail
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-2DGFRQEP.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveAgentGuiWorkbenchProviderLabel
|
|
18
18
|
} from "./chunk-SZVHT57M.js";
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
resolveAgentGUIFirstUserMessageDisplayPrompt,
|
|
32
32
|
resolveAgentGUIProviderDisplayLabel,
|
|
33
33
|
resolveAgentGUIProviderIdentity
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-HGMOBQKA.js";
|
|
35
35
|
import {
|
|
36
36
|
AgentConversationFlow,
|
|
37
37
|
Button,
|
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
toLocalShortDateTime,
|
|
66
66
|
updateAgentComposerDraft,
|
|
67
67
|
useProjectedAgentConversation
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-QHSWRS4L.js";
|
|
69
69
|
import {
|
|
70
70
|
agentRichTextContentToPromptText,
|
|
71
71
|
createAgentRichTextInputExtensions,
|
|
@@ -75,7 +75,7 @@ import {
|
|
|
75
75
|
plainTextToAgentRichTextInlineContent,
|
|
76
76
|
skillDescriptionForDisplay,
|
|
77
77
|
skillTriggerForPrefix
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-C4Z4JLOJ.js";
|
|
79
79
|
import {
|
|
80
80
|
AgentEnvPanelActionProvider
|
|
81
81
|
} from "./chunk-THBCAUBR.js";
|
|
@@ -90,7 +90,7 @@ import {
|
|
|
90
90
|
AgentFileMentionPalette,
|
|
91
91
|
agentMentionItemKey,
|
|
92
92
|
isAgentMentionItemDisabled
|
|
93
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-7ED6E444.js";
|
|
94
94
|
import {
|
|
95
95
|
normalizeAgentGUIAgents,
|
|
96
96
|
projectAgentGUIAgentsToTargets
|
|
@@ -101,7 +101,7 @@ import {
|
|
|
101
101
|
DEFAULT_AGENT_MENTION_FILTER,
|
|
102
102
|
agentGuiScheduler,
|
|
103
103
|
buildWorkspaceAgentActivityListViewModel
|
|
104
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-MOC5TDZU.js";
|
|
105
105
|
import {
|
|
106
106
|
AGENT_RICH_TEXT_CARET_ANCHOR,
|
|
107
107
|
agentComposerFileMentionReferences,
|
|
@@ -118,7 +118,7 @@ import {
|
|
|
118
118
|
parseMentionItemFromHref,
|
|
119
119
|
remainingAgentComposerPromptAssetSlots,
|
|
120
120
|
updateAgentComposerFileMentions
|
|
121
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-ZJWX36UL.js";
|
|
122
122
|
import {
|
|
123
123
|
AgentInteractivePromptSurface,
|
|
124
124
|
PLAN_IMPLEMENTATION_ACTION_FEEDBACK,
|
|
@@ -128,7 +128,7 @@ import {
|
|
|
128
128
|
dispatchAgentPlanPromptAction,
|
|
129
129
|
latestPlanTurnId,
|
|
130
130
|
planImplementationPromptFromPlanTurn
|
|
131
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-GUGOTL55.js";
|
|
132
132
|
import {
|
|
133
133
|
useEngineSelector
|
|
134
134
|
} from "./chunk-2RQM7PJN.js";
|
|
@@ -138,7 +138,7 @@ import {
|
|
|
138
138
|
blobToBase64,
|
|
139
139
|
normalizeAgentApprovalPurpose,
|
|
140
140
|
resolveWorkspaceLinkAction
|
|
141
|
-
} from "./chunk-
|
|
141
|
+
} from "./chunk-52ANPJET.js";
|
|
142
142
|
import {
|
|
143
143
|
AgentTargetPresentationProvider,
|
|
144
144
|
cn,
|
|
@@ -156,7 +156,7 @@ import {
|
|
|
156
156
|
useAgentHostApi,
|
|
157
157
|
useOptionalAgentActivityRuntime,
|
|
158
158
|
useOptionalAgentHostApi
|
|
159
|
-
} from "./chunk-
|
|
159
|
+
} from "./chunk-W5U7PGMH.js";
|
|
160
160
|
import {
|
|
161
161
|
MANAGED_AGENT_ICON_FALLBACK_URL,
|
|
162
162
|
MANAGED_AGENT_ICON_URLS,
|
|
@@ -166,7 +166,7 @@ import {
|
|
|
166
166
|
AgentGuiI18nProvider,
|
|
167
167
|
translate,
|
|
168
168
|
useTranslation
|
|
169
|
-
} from "./chunk-
|
|
169
|
+
} from "./chunk-DFQMEPM7.js";
|
|
170
170
|
import {
|
|
171
171
|
isBetaAgentProvider,
|
|
172
172
|
normalizeManagedAgentProvider
|
|
@@ -186,7 +186,7 @@ import { memo as memo15, useMemo as useMemo46 } from "react";
|
|
|
186
186
|
import { TooltipProvider as TooltipProvider8 } from "@tutti-os/ui-system";
|
|
187
187
|
|
|
188
188
|
// agent-gui/agentGuiNode/AgentGUINode.tsx
|
|
189
|
-
import { memo as memo14, useCallback as useCallback62, useEffect as useEffect40, useMemo as useMemo45, useRef as
|
|
189
|
+
import { memo as memo14, useCallback as useCallback62, useEffect as useEffect40, useMemo as useMemo45, useRef as useRef55 } from "react";
|
|
190
190
|
import { createWorkspaceUserProjectI18nRuntime } from "@tutti-os/workspace-user-project/i18n";
|
|
191
191
|
import { createWorkspaceFileManagerI18nRuntime } from "@tutti-os/workspace-file-manager";
|
|
192
192
|
import { useReferenceProvenanceFilterCatalog } from "@tutti-os/workspace-file-reference/react";
|
|
@@ -2041,7 +2041,7 @@ import {
|
|
|
2041
2041
|
selectEngineSessionIsRespondingToInteraction as selectEngineSessionIsRespondingToInteraction2,
|
|
2042
2042
|
selectWorkspaceAgentConsumerSessions as selectWorkspaceAgentConsumerSessions2
|
|
2043
2043
|
} from "@tutti-os/agent-activity-core";
|
|
2044
|
-
import { useCallback as useCallback27, useEffect as useEffect13, useMemo as useMemo18, useRef as
|
|
2044
|
+
import { useCallback as useCallback27, useEffect as useEffect13, useMemo as useMemo18, useRef as useRef20 } from "react";
|
|
2045
2045
|
|
|
2046
2046
|
// host/agentHostAccountStore.ts
|
|
2047
2047
|
import { create as create2 } from "zustand";
|
|
@@ -6233,11 +6233,16 @@ import {
|
|
|
6233
6233
|
selectEngineSessionDetailHydrated,
|
|
6234
6234
|
selectLatestActivationForSession as selectLatestActivationForSession3
|
|
6235
6235
|
} from "@tutti-os/agent-activity-core";
|
|
6236
|
-
import { useCallback as useCallback7, useEffect as useEffect4 } from "react";
|
|
6236
|
+
import { useCallback as useCallback7, useEffect as useEffect4, useRef as useRef7 } from "react";
|
|
6237
6237
|
function clearFailedAgentGUIActivationSelection(current, failedAgentSessionId) {
|
|
6238
6238
|
const normalized = failedAgentSessionId.trim();
|
|
6239
6239
|
return normalized ? forgetAgentGUISessionMemories(current, /* @__PURE__ */ new Set([normalized])) : current;
|
|
6240
6240
|
}
|
|
6241
|
+
function shouldMarkActiveConversationRead(input) {
|
|
6242
|
+
const { activeConversationId, previousActiveConversationId, record } = input;
|
|
6243
|
+
if (!record?.isUnread) return false;
|
|
6244
|
+
return !record.markedUnreadByUser || previousActiveConversationId !== activeConversationId;
|
|
6245
|
+
}
|
|
6241
6246
|
function useAgentGUIConversationSelectionController(input) {
|
|
6242
6247
|
const {
|
|
6243
6248
|
activation,
|
|
@@ -6270,6 +6275,7 @@ function useAgentGUIConversationSelectionController(input) {
|
|
|
6270
6275
|
transientConversation,
|
|
6271
6276
|
workspaceId
|
|
6272
6277
|
} = input;
|
|
6278
|
+
const previousAttentionActiveConversationIdRef = useRef7(null);
|
|
6273
6279
|
useEffect4(() => {
|
|
6274
6280
|
const userId = currentUserId?.trim() ?? "";
|
|
6275
6281
|
const normalizedWorkspaceId = workspaceId.trim();
|
|
@@ -6300,10 +6306,20 @@ function useAgentGUIConversationSelectionController(input) {
|
|
|
6300
6306
|
activePendingActivation.errorMessage || translate("agentHost.agentGui.sessionActivationFailed")
|
|
6301
6307
|
);
|
|
6302
6308
|
}
|
|
6309
|
+
previousAttentionActiveConversationIdRef.current = null;
|
|
6310
|
+
return;
|
|
6311
|
+
}
|
|
6312
|
+
if (!activeConversationId) {
|
|
6313
|
+
previousAttentionActiveConversationIdRef.current = null;
|
|
6303
6314
|
return;
|
|
6304
6315
|
}
|
|
6305
|
-
|
|
6306
|
-
|
|
6316
|
+
const previousActiveConversationId = previousAttentionActiveConversationIdRef.current;
|
|
6317
|
+
previousAttentionActiveConversationIdRef.current = activeConversationId;
|
|
6318
|
+
if (shouldMarkActiveConversationRead({
|
|
6319
|
+
activeConversationId,
|
|
6320
|
+
previousActiveConversationId,
|
|
6321
|
+
record: attentionReadRecordsBySessionId[activeConversationId]
|
|
6322
|
+
})) {
|
|
6307
6323
|
sessionEngine.dispatch({
|
|
6308
6324
|
type: "attention/read",
|
|
6309
6325
|
agentSessionId: activeConversationId,
|
|
@@ -6480,7 +6496,7 @@ function useAgentGUIConversationSelectionController(input) {
|
|
|
6480
6496
|
import {
|
|
6481
6497
|
selectAttentionReadState
|
|
6482
6498
|
} from "@tutti-os/agent-activity-core";
|
|
6483
|
-
import { useMemo as useMemo6, useRef as
|
|
6499
|
+
import { useMemo as useMemo6, useRef as useRef8, useState as useState3 } from "react";
|
|
6484
6500
|
|
|
6485
6501
|
// contexts/workspace/presentation/renderer/agentGuiConversationList/useAgentGuiConversationList.ts
|
|
6486
6502
|
import { useMemo as useMemo5 } from "react";
|
|
@@ -6752,7 +6768,7 @@ function useAgentGUIConversationListState({
|
|
|
6752
6768
|
const [conversationFilter, setConversationFilter] = useState3(
|
|
6753
6769
|
() => createAgentGUIConversationFilterState().filter
|
|
6754
6770
|
);
|
|
6755
|
-
const conversationFilterRef =
|
|
6771
|
+
const conversationFilterRef = useRef8(conversationFilter);
|
|
6756
6772
|
conversationFilterRef.current = conversationFilter;
|
|
6757
6773
|
const conversationListQuery = useMemo6(() => {
|
|
6758
6774
|
const userId = currentUserId?.trim() ?? "";
|
|
@@ -7027,7 +7043,7 @@ function useAgentGUIComposerCapabilities(input) {
|
|
|
7027
7043
|
import {
|
|
7028
7044
|
selectLatestActivationForSession as selectLatestActivationForSession4
|
|
7029
7045
|
} from "@tutti-os/agent-activity-core";
|
|
7030
|
-
import { useCallback as useCallback8, useEffect as useEffect5, useRef as
|
|
7046
|
+
import { useCallback as useCallback8, useEffect as useEffect5, useRef as useRef9 } from "react";
|
|
7031
7047
|
|
|
7032
7048
|
// host/agentHostEventBus.ts
|
|
7033
7049
|
var LOG_PREFIX = "[agent-host-event-bus]";
|
|
@@ -7189,8 +7205,8 @@ function subscribeCoalesced(type, options, callback) {
|
|
|
7189
7205
|
|
|
7190
7206
|
// agent-gui/agentGuiNode/controller/useAgentGUIComposerOptionsSync.ts
|
|
7191
7207
|
function useAgentGUIComposerOptionsSync(input) {
|
|
7192
|
-
const previousActiveConversationIdRef =
|
|
7193
|
-
const previousIsCreatingConversationRef =
|
|
7208
|
+
const previousActiveConversationIdRef = useRef9(input.activeConversationId);
|
|
7209
|
+
const previousIsCreatingConversationRef = useRef9(
|
|
7194
7210
|
input.isCreatingConversation
|
|
7195
7211
|
);
|
|
7196
7212
|
const loadComposerOptionsForTarget = useCallback8(
|
|
@@ -7388,37 +7404,37 @@ function useAgentGUIComposerOptionsSync(input) {
|
|
|
7388
7404
|
}
|
|
7389
7405
|
|
|
7390
7406
|
// agent-gui/agentGuiNode/controller/useAgentGUIControllerRefs.ts
|
|
7391
|
-
import { useRef as
|
|
7407
|
+
import { useRef as useRef10 } from "react";
|
|
7392
7408
|
function useAgentGUIControllerRefs(input) {
|
|
7393
|
-
const activeConversationIdRef =
|
|
7394
|
-
const selectedProjectPathRef =
|
|
7395
|
-
const userProjectsRef =
|
|
7396
|
-
const isNoProjectPathRef =
|
|
7397
|
-
const userProjectsLoadSeqRef =
|
|
7398
|
-
const conversationsRef =
|
|
7399
|
-
const isMountedRef =
|
|
7400
|
-
const agentActivitySnapshotRef =
|
|
7401
|
-
const dataRef =
|
|
7402
|
-
const selectedAgentTargetRef =
|
|
7403
|
-
const selectedAgentTargetIsExplicitRef =
|
|
7409
|
+
const activeConversationIdRef = useRef10(input.activeConversationId);
|
|
7410
|
+
const selectedProjectPathRef = useRef10(input.selectedProjectPath);
|
|
7411
|
+
const userProjectsRef = useRef10(input.userProjects);
|
|
7412
|
+
const isNoProjectPathRef = useRef10(input.isNoProjectPath);
|
|
7413
|
+
const userProjectsLoadSeqRef = useRef10(0);
|
|
7414
|
+
const conversationsRef = useRef10(input.conversations);
|
|
7415
|
+
const isMountedRef = useRef10(true);
|
|
7416
|
+
const agentActivitySnapshotRef = useRef10(input.agentActivitySnapshot);
|
|
7417
|
+
const dataRef = useRef10(input.data);
|
|
7418
|
+
const selectedAgentTargetRef = useRef10(input.effectiveSelectedProviderTarget);
|
|
7419
|
+
const selectedAgentTargetIsExplicitRef = useRef10(
|
|
7404
7420
|
input.homeComposerTargetOverride ? true : input.selectedAgentTargetIsExplicit
|
|
7405
7421
|
);
|
|
7406
|
-
const agentTargetsProvidedRef =
|
|
7407
|
-
const selectedComposerTargetDataRef =
|
|
7422
|
+
const agentTargetsProvidedRef = useRef10(input.agentTargetsProvided);
|
|
7423
|
+
const selectedComposerTargetDataRef = useRef10(
|
|
7408
7424
|
input.selectedComposerTargetData
|
|
7409
7425
|
);
|
|
7410
|
-
const draftByScopeKeyRef =
|
|
7411
|
-
const draftSettingsBySessionIdRef =
|
|
7412
|
-
const onDataChangeRef =
|
|
7413
|
-
const onRememberComposerDefaultsRef =
|
|
7426
|
+
const draftByScopeKeyRef = useRef10(input.draftByScopeKey);
|
|
7427
|
+
const draftSettingsBySessionIdRef = useRef10(input.draftSettingsBySessionId);
|
|
7428
|
+
const onDataChangeRef = useRef10(input.onDataChange);
|
|
7429
|
+
const onRememberComposerDefaultsRef = useRef10(
|
|
7414
7430
|
input.onRememberComposerDefaults
|
|
7415
7431
|
);
|
|
7416
|
-
const onShowMessageRef =
|
|
7417
|
-
const handledPrefillPromptSequenceRef =
|
|
7418
|
-
const handledComposerAppendSequenceRef =
|
|
7419
|
-
const loadDraftComposerOptionsRef =
|
|
7432
|
+
const onShowMessageRef = useRef10(input.onShowMessage);
|
|
7433
|
+
const handledPrefillPromptSequenceRef = useRef10(null);
|
|
7434
|
+
const handledComposerAppendSequenceRef = useRef10(null);
|
|
7435
|
+
const loadDraftComposerOptionsRef = useRef10(() => {
|
|
7420
7436
|
});
|
|
7421
|
-
const onComposerDefaultsAuthorityReloadedRef =
|
|
7437
|
+
const onComposerDefaultsAuthorityReloadedRef = useRef10({
|
|
7422
7438
|
prepareRead: (_target, settings) => ({
|
|
7423
7439
|
force: false,
|
|
7424
7440
|
receipt: null,
|
|
@@ -7427,22 +7443,22 @@ function useAgentGUIControllerRefs(input) {
|
|
|
7427
7443
|
reloaded: () => {
|
|
7428
7444
|
}
|
|
7429
7445
|
});
|
|
7430
|
-
const conversationIdsRef =
|
|
7446
|
+
const conversationIdsRef = useRef10(
|
|
7431
7447
|
new Set(input.conversations.map((conversation) => conversation.id))
|
|
7432
7448
|
);
|
|
7433
|
-
const lastRenderStateDiagnosticKeyRef =
|
|
7434
|
-
const handledOpenSessionSequenceRef =
|
|
7435
|
-
const pendingOpenSessionRequestRef =
|
|
7436
|
-
const executePromptRef =
|
|
7449
|
+
const lastRenderStateDiagnosticKeyRef = useRef10(null);
|
|
7450
|
+
const handledOpenSessionSequenceRef = useRef10(null);
|
|
7451
|
+
const pendingOpenSessionRequestRef = useRef10(null);
|
|
7452
|
+
const executePromptRef = useRef10(() => {
|
|
7437
7453
|
});
|
|
7438
|
-
const submitPromptRef =
|
|
7454
|
+
const submitPromptRef = useRef10(() => {
|
|
7439
7455
|
});
|
|
7440
|
-
const reloadSelectedConversationRef =
|
|
7456
|
+
const reloadSelectedConversationRef = useRef10(() => {
|
|
7441
7457
|
});
|
|
7442
|
-
const syncConversationListProjectionRef =
|
|
7458
|
+
const syncConversationListProjectionRef = useRef10(async () => {
|
|
7443
7459
|
});
|
|
7444
|
-
const isComposerHomeRef =
|
|
7445
|
-
const isCreatingConversationRef =
|
|
7460
|
+
const isComposerHomeRef = useRef10(input.isComposerHome);
|
|
7461
|
+
const isCreatingConversationRef = useRef10(input.isCreatingConversation);
|
|
7446
7462
|
activeConversationIdRef.current = input.activeConversationId;
|
|
7447
7463
|
selectedProjectPathRef.current = input.selectedProjectPath;
|
|
7448
7464
|
userProjectsRef.current = input.userProjects;
|
|
@@ -7509,7 +7525,7 @@ import {
|
|
|
7509
7525
|
selectEngineSession as selectEngineSession2,
|
|
7510
7526
|
selectEngineSessionSettingsUpdate
|
|
7511
7527
|
} from "@tutti-os/agent-activity-core";
|
|
7512
|
-
import { useCallback as useCallback9, useRef as
|
|
7528
|
+
import { useCallback as useCallback9, useRef as useRef11 } from "react";
|
|
7513
7529
|
|
|
7514
7530
|
// agent-gui/agentGuiNode/model/composerModeSelection.ts
|
|
7515
7531
|
function normalizePermissionModeSelection(permissionModeId) {
|
|
@@ -7647,7 +7663,7 @@ function useAgentGUIComposerSettingsActions(input) {
|
|
|
7647
7663
|
const composerSupport = {
|
|
7648
7664
|
permissionModeChangeDeferred: input.composerSupportPermissionModeChangeDeferred
|
|
7649
7665
|
};
|
|
7650
|
-
const composerDefaultsLedgerRef =
|
|
7666
|
+
const composerDefaultsLedgerRef = useRef11(
|
|
7651
7667
|
createAgentGUIComposerDefaultsLedger()
|
|
7652
7668
|
);
|
|
7653
7669
|
const retireAcknowledgedDefaultsForRead = useCallback9(
|
|
@@ -7932,12 +7948,12 @@ function reconcileRetiredDraftMap(current, draftKey, retired) {
|
|
|
7932
7948
|
}
|
|
7933
7949
|
|
|
7934
7950
|
// agent-gui/agentGuiNode/controller/useAgentGUIContinueConversation.ts
|
|
7935
|
-
import { useCallback as useCallback10, useRef as
|
|
7951
|
+
import { useCallback as useCallback10, useRef as useRef12 } from "react";
|
|
7936
7952
|
function buildContinueInNewConversationDraft(input) {
|
|
7937
7953
|
return updateAgentComposerDraft(input.sourceDraft, { prompt: input.prompt });
|
|
7938
7954
|
}
|
|
7939
7955
|
function useAgentGUIContinueConversation(input) {
|
|
7940
|
-
const inputRef =
|
|
7956
|
+
const inputRef = useRef12(input);
|
|
7941
7957
|
inputRef.current = input;
|
|
7942
7958
|
return useCallback10(() => {
|
|
7943
7959
|
const current = inputRef.current;
|
|
@@ -9220,7 +9236,7 @@ function resolveAgentGUIInteractionTarget(interactions, requestId) {
|
|
|
9220
9236
|
import {
|
|
9221
9237
|
selectEngineSession as selectEngineSession3
|
|
9222
9238
|
} from "@tutti-os/agent-activity-core";
|
|
9223
|
-
import { useCallback as useCallback18, useRef as
|
|
9239
|
+
import { useCallback as useCallback18, useRef as useRef13 } from "react";
|
|
9224
9240
|
|
|
9225
9241
|
// agent-gui/agentGuiNode/controller/agentGuiOptimisticGoal.ts
|
|
9226
9242
|
function projectOptimisticGoalControl(currentGoal, action, objective) {
|
|
@@ -9259,7 +9275,7 @@ function unresolvedOptimisticGoalControl(optimisticGoalControl, agentSessionId,
|
|
|
9259
9275
|
|
|
9260
9276
|
// agent-gui/agentGuiNode/controller/useAgentGUIGoalControlActions.ts
|
|
9261
9277
|
function useAgentGUIGoalControlActions(input) {
|
|
9262
|
-
const requestSequenceRef =
|
|
9278
|
+
const requestSequenceRef = useRef13(0);
|
|
9263
9279
|
const beginOptimisticGoalControl = useCallback18(
|
|
9264
9280
|
(agentSessionId, action, objective, requestId, reconcileOnObjectiveMatch = false) => {
|
|
9265
9281
|
const canonicalSession = selectEngineSession3(
|
|
@@ -10884,9 +10900,9 @@ import {
|
|
|
10884
10900
|
selectEngineAvailableCommands,
|
|
10885
10901
|
selectEngineTurnsForSession
|
|
10886
10902
|
} from "@tutti-os/agent-activity-core";
|
|
10887
|
-
import { useEffect as useEffect8, useMemo as useMemo11, useRef as
|
|
10903
|
+
import { useEffect as useEffect8, useMemo as useMemo11, useRef as useRef14 } from "react";
|
|
10888
10904
|
function useAgentGUIConversationDetail(input) {
|
|
10889
|
-
const projectionConversationRef =
|
|
10905
|
+
const projectionConversationRef = useRef14(null);
|
|
10890
10906
|
const activeCanonicalLiveTurn = Boolean(
|
|
10891
10907
|
input.activeTurn && input.activeTurn.phase !== "settled"
|
|
10892
10908
|
);
|
|
@@ -10976,7 +10992,7 @@ function useAgentGUIConversationDetail(input) {
|
|
|
10976
10992
|
}
|
|
10977
10993
|
return conversationModels.conversation;
|
|
10978
10994
|
}, [conversationDetail, conversationModels.conversation]);
|
|
10979
|
-
const diagnosticKeyRef =
|
|
10995
|
+
const diagnosticKeyRef = useRef14(null);
|
|
10980
10996
|
useEffect8(() => {
|
|
10981
10997
|
if (!input.activeConversationId || !conversation) {
|
|
10982
10998
|
diagnosticKeyRef.current = null;
|
|
@@ -11065,9 +11081,9 @@ function useAgentGUIConversationDetail(input) {
|
|
|
11065
11081
|
}
|
|
11066
11082
|
|
|
11067
11083
|
// agent-gui/agentGuiNode/controller/useAgentGUIConversationPresentation.ts
|
|
11068
|
-
import { useEffect as useEffect9, useMemo as useMemo12, useRef as
|
|
11084
|
+
import { useEffect as useEffect9, useMemo as useMemo12, useRef as useRef15 } from "react";
|
|
11069
11085
|
function useAgentGUIConversationPresentation(input) {
|
|
11070
|
-
const visibleConversationsRef =
|
|
11086
|
+
const visibleConversationsRef = useRef15(
|
|
11071
11087
|
null
|
|
11072
11088
|
);
|
|
11073
11089
|
const conversationProjection = useMemo12(() => {
|
|
@@ -11098,7 +11114,7 @@ function useAgentGUIConversationPresentation(input) {
|
|
|
11098
11114
|
input.userProjects
|
|
11099
11115
|
]);
|
|
11100
11116
|
const visibleConversations = conversationProjection.visibleConversations;
|
|
11101
|
-
const activeConversationRef =
|
|
11117
|
+
const activeConversationRef = useRef15(
|
|
11102
11118
|
null
|
|
11103
11119
|
);
|
|
11104
11120
|
const activeConversation = useMemo12(() => {
|
|
@@ -11249,14 +11265,14 @@ function useAgentGUIConversationPresentation(input) {
|
|
|
11249
11265
|
import {
|
|
11250
11266
|
useCallback as useCallback21,
|
|
11251
11267
|
useEffect as useEffect10,
|
|
11252
|
-
useRef as
|
|
11268
|
+
useRef as useRef16
|
|
11253
11269
|
} from "react";
|
|
11254
11270
|
import {
|
|
11255
11271
|
selectEngineSession as selectEngineSession5,
|
|
11256
11272
|
selectEngineSessionDeleted
|
|
11257
11273
|
} from "@tutti-os/agent-activity-core";
|
|
11258
11274
|
function useAgentGUIProviderHome(input) {
|
|
11259
|
-
const inputRef =
|
|
11275
|
+
const inputRef = useRef16(input);
|
|
11260
11276
|
inputRef.current = input;
|
|
11261
11277
|
const resolveDefaultHomeComposerTarget = useCallback21(() => {
|
|
11262
11278
|
const current = inputRef.current;
|
|
@@ -12336,7 +12352,7 @@ import { useCallback as useCallback25, useMemo as useMemo17 } from "react";
|
|
|
12336
12352
|
import { useCallback as useCallback24 } from "react";
|
|
12337
12353
|
|
|
12338
12354
|
// contexts/workspace/presentation/renderer/agentSessions/useAgentSessionPagingState.ts
|
|
12339
|
-
import { useCallback as useCallback22, useRef as
|
|
12355
|
+
import { useCallback as useCallback22, useRef as useRef17, useState as useState5 } from "react";
|
|
12340
12356
|
var EMPTY_ENTRY = {
|
|
12341
12357
|
error: null,
|
|
12342
12358
|
isLoadingMessages: false,
|
|
@@ -12344,7 +12360,7 @@ var EMPTY_ENTRY = {
|
|
|
12344
12360
|
};
|
|
12345
12361
|
function useAgentSessionPagingState() {
|
|
12346
12362
|
const [entries, setEntries] = useState5({});
|
|
12347
|
-
const entriesRef =
|
|
12363
|
+
const entriesRef = useRef17(entries);
|
|
12348
12364
|
entriesRef.current = entries;
|
|
12349
12365
|
const update = useCallback22(
|
|
12350
12366
|
(ref, updater) => {
|
|
@@ -12390,7 +12406,7 @@ function sessionKey(ref) {
|
|
|
12390
12406
|
}
|
|
12391
12407
|
|
|
12392
12408
|
// contexts/workspace/presentation/renderer/agentSessions/useAgentSessionTransport.ts
|
|
12393
|
-
import { useCallback as useCallback23, useRef as
|
|
12409
|
+
import { useCallback as useCallback23, useRef as useRef18, useState as useState6 } from "react";
|
|
12394
12410
|
var EMPTY_ENTRY2 = {
|
|
12395
12411
|
olderMessages: [],
|
|
12396
12412
|
hasOlderMessages: false,
|
|
@@ -12398,7 +12414,7 @@ var EMPTY_ENTRY2 = {
|
|
|
12398
12414
|
};
|
|
12399
12415
|
function useAgentSessionTransport() {
|
|
12400
12416
|
const [entries, setEntries] = useState6({});
|
|
12401
|
-
const entriesRef =
|
|
12417
|
+
const entriesRef = useRef18(entries);
|
|
12402
12418
|
entriesRef.current = entries;
|
|
12403
12419
|
const update = useCallback23(
|
|
12404
12420
|
(ref, updater) => {
|
|
@@ -12675,7 +12691,7 @@ function useAgentGUISessionDetailTransport(input) {
|
|
|
12675
12691
|
}
|
|
12676
12692
|
|
|
12677
12693
|
// agent-gui/agentGuiNode/controller/useAgentGUILocalState.ts
|
|
12678
|
-
import { useCallback as useCallback26, useRef as
|
|
12694
|
+
import { useCallback as useCallback26, useRef as useRef19, useState as useState7 } from "react";
|
|
12679
12695
|
function useAgentGUILocalState({
|
|
12680
12696
|
data,
|
|
12681
12697
|
userProjectsApi
|
|
@@ -12695,7 +12711,7 @@ function useAgentGUILocalState({
|
|
|
12695
12711
|
data.lastActiveAgentSessionId === null
|
|
12696
12712
|
);
|
|
12697
12713
|
const [draftByScopeKey, setDraftByScopeKey] = useState7({});
|
|
12698
|
-
const submittedDraftSnapshotsRef =
|
|
12714
|
+
const submittedDraftSnapshotsRef = useRef19({});
|
|
12699
12715
|
const [draftSettingsBySessionId, setDraftSettingsBySessionId] = useState7({});
|
|
12700
12716
|
const [isLoadingMessages, setIsLoadingMessages] = useState7(false);
|
|
12701
12717
|
const [isDeletingConversation, setIsDeletingConversation] = useState7(false);
|
|
@@ -12709,7 +12725,7 @@ function useAgentGUILocalState({
|
|
|
12709
12725
|
const [detailError, setDetailError] = useState7(null);
|
|
12710
12726
|
const [goalClearNoticeSequence, setGoalClearNoticeSequence] = useState7(0);
|
|
12711
12727
|
const [optimisticGoalControl, setOptimisticGoalControl] = useState7(null);
|
|
12712
|
-
const railRevealRevisionRef =
|
|
12728
|
+
const railRevealRevisionRef = useRef19(0);
|
|
12713
12729
|
const [railRevealRequest, setRailRevealRequest] = useState7(null);
|
|
12714
12730
|
const clearRailRevealRequest = useCallback26(() => {
|
|
12715
12731
|
setRailRevealRequest(null);
|
|
@@ -12905,9 +12921,9 @@ function useAgentGUINodeController({
|
|
|
12905
12921
|
)
|
|
12906
12922
|
)
|
|
12907
12923
|
);
|
|
12908
|
-
const updateComposerSettingsRef =
|
|
12924
|
+
const updateComposerSettingsRef = useRef20(() => {
|
|
12909
12925
|
});
|
|
12910
|
-
const planActionsRef =
|
|
12926
|
+
const planActionsRef = useRef20({ implement: () => {
|
|
12911
12927
|
}, feedback: () => {
|
|
12912
12928
|
}, skip: () => {
|
|
12913
12929
|
} });
|
|
@@ -12926,7 +12942,7 @@ function useAgentGUINodeController({
|
|
|
12926
12942
|
defaultReasoningEffort,
|
|
12927
12943
|
providerComposerOptions
|
|
12928
12944
|
} = composerCapabilities;
|
|
12929
|
-
const planImplementationTurnIdRef =
|
|
12945
|
+
const planImplementationTurnIdRef = useRef20(null);
|
|
12930
12946
|
const accountProfilesByUserId = useAccountStore(
|
|
12931
12947
|
(state) => state.profilesByUserId
|
|
12932
12948
|
);
|
|
@@ -13317,7 +13333,7 @@ import {
|
|
|
13317
13333
|
useCallback as useCallback60,
|
|
13318
13334
|
useEffect as useEffect38,
|
|
13319
13335
|
useMemo as useMemo42,
|
|
13320
|
-
useRef as
|
|
13336
|
+
useRef as useRef53,
|
|
13321
13337
|
useState as useState44
|
|
13322
13338
|
} from "react";
|
|
13323
13339
|
import { TooltipProvider as TooltipProvider7 } from "@tutti-os/ui-system";
|
|
@@ -13533,7 +13549,7 @@ var styles = {
|
|
|
13533
13549
|
var AgentGUINode_styles_default = styles;
|
|
13534
13550
|
|
|
13535
13551
|
// agent-gui/agentGuiNode/view/agentGUIViewUtils.ts
|
|
13536
|
-
import { useCallback as useCallback28, useLayoutEffect, useMemo as useMemo19, useRef as
|
|
13552
|
+
import { useCallback as useCallback28, useLayoutEffect, useMemo as useMemo19, useRef as useRef21 } from "react";
|
|
13537
13553
|
function objectRecord(value) {
|
|
13538
13554
|
return value && typeof value === "object" && !Array.isArray(value) ? value : null;
|
|
13539
13555
|
}
|
|
@@ -13551,14 +13567,14 @@ function stringValue3(value) {
|
|
|
13551
13567
|
return typeof value === "string" ? value : "";
|
|
13552
13568
|
}
|
|
13553
13569
|
function useStableEventCallback(callback) {
|
|
13554
|
-
const callbackRef =
|
|
13570
|
+
const callbackRef = useRef21(callback);
|
|
13555
13571
|
useLayoutEffect(() => {
|
|
13556
13572
|
callbackRef.current = callback;
|
|
13557
13573
|
}, [callback]);
|
|
13558
13574
|
return useCallback28((...args) => callbackRef.current(...args), []);
|
|
13559
13575
|
}
|
|
13560
13576
|
function useOptionalStableEventCallback(callback) {
|
|
13561
|
-
const callbackRef =
|
|
13577
|
+
const callbackRef = useRef21(callback);
|
|
13562
13578
|
useLayoutEffect(() => {
|
|
13563
13579
|
callbackRef.current = callback;
|
|
13564
13580
|
}, [callback]);
|
|
@@ -14242,7 +14258,7 @@ import {
|
|
|
14242
14258
|
memo as memo4,
|
|
14243
14259
|
useCallback as useCallback46,
|
|
14244
14260
|
useMemo as useMemo33,
|
|
14245
|
-
useRef as
|
|
14261
|
+
useRef as useRef40,
|
|
14246
14262
|
useState as useState30
|
|
14247
14263
|
} from "react";
|
|
14248
14264
|
import { Tooltip as Tooltip7, TooltipContent as TooltipContent7, TooltipTrigger as TooltipTrigger7 } from "@tutti-os/ui-system";
|
|
@@ -15817,7 +15833,7 @@ import {
|
|
|
15817
15833
|
useCallback as useCallback30,
|
|
15818
15834
|
useEffect as useEffect16,
|
|
15819
15835
|
useImperativeHandle,
|
|
15820
|
-
useRef as
|
|
15836
|
+
useRef as useRef22
|
|
15821
15837
|
} from "react";
|
|
15822
15838
|
import {
|
|
15823
15839
|
motion as motion2,
|
|
@@ -15848,7 +15864,7 @@ var CastIcon = forwardRef2(
|
|
|
15848
15864
|
}, ref) => {
|
|
15849
15865
|
const controls = useAnimation();
|
|
15850
15866
|
const reduceMotion = useReducedMotion();
|
|
15851
|
-
const isControlledRef =
|
|
15867
|
+
const isControlledRef = useRef22(false);
|
|
15852
15868
|
const startAnimation = useCallback30(() => {
|
|
15853
15869
|
if (reduceMotion) {
|
|
15854
15870
|
return;
|
|
@@ -16168,7 +16184,7 @@ function AgentSessionChrome({
|
|
|
16168
16184
|
}
|
|
16169
16185
|
|
|
16170
16186
|
// agent-gui/agentGuiNode/AgentComposer.tsx
|
|
16171
|
-
import { useCallback as useCallback43, useEffect as useEffect28, useRef as
|
|
16187
|
+
import { useCallback as useCallback43, useEffect as useEffect28, useRef as useRef37, useState as useState26 } from "react";
|
|
16172
16188
|
import { repairMentionPaletteHighlight } from "@tutti-os/ui-rich-text/at-panel";
|
|
16173
16189
|
|
|
16174
16190
|
// agent-gui/agentGuiNode/AgentSlashStatusPanel.tsx
|
|
@@ -16299,7 +16315,7 @@ function AgentSlashStatusPanel({
|
|
|
16299
16315
|
import { flushSync as flushSync3 } from "react-dom";
|
|
16300
16316
|
import {
|
|
16301
16317
|
useCallback as useCallback31,
|
|
16302
|
-
useRef as
|
|
16318
|
+
useRef as useRef23
|
|
16303
16319
|
} from "react";
|
|
16304
16320
|
|
|
16305
16321
|
// agent-gui/agentGuiNode/model/agentComposerDraftFileReconciliation.ts
|
|
@@ -16379,7 +16395,7 @@ function agentComposerDevConsoleDiagnosticSinkEnabled(runtime) {
|
|
|
16379
16395
|
|
|
16380
16396
|
// agent-gui/agentGuiNode/composer/useComposerDraftAttachments.ts
|
|
16381
16397
|
function useStableEventCallback2(callback) {
|
|
16382
|
-
const callbackRef =
|
|
16398
|
+
const callbackRef = useRef23(callback);
|
|
16383
16399
|
callbackRef.current = callback;
|
|
16384
16400
|
return useCallback31((...args) => callbackRef.current(...args), []);
|
|
16385
16401
|
}
|
|
@@ -16411,7 +16427,7 @@ function useComposerDraftAttachments({
|
|
|
16411
16427
|
}) {
|
|
16412
16428
|
const agentHostApi = useOptionalAgentHostApi();
|
|
16413
16429
|
const agentActivityRuntime = useOptionalAgentActivityRuntime();
|
|
16414
|
-
const activeDraftScopeKeyRef =
|
|
16430
|
+
const activeDraftScopeKeyRef = useRef23(draftScopeKey);
|
|
16415
16431
|
activeDraftScopeKeyRef.current = draftScopeKey;
|
|
16416
16432
|
const reportContentEntered = useStableEventCallback2(
|
|
16417
16433
|
(contentType) => {
|
|
@@ -16444,7 +16460,7 @@ function useComposerDraftAttachments({
|
|
|
16444
16460
|
return next;
|
|
16445
16461
|
}
|
|
16446
16462
|
);
|
|
16447
|
-
const openReferencesForEntityRef =
|
|
16463
|
+
const openReferencesForEntityRef = useRef23(null);
|
|
16448
16464
|
const handleDraftChange = useStableEventCallback2(
|
|
16449
16465
|
(nextDraft) => {
|
|
16450
16466
|
if (isGoalModeActive) {
|
|
@@ -17519,7 +17535,7 @@ import {
|
|
|
17519
17535
|
import {
|
|
17520
17536
|
useCallback as useCallback32,
|
|
17521
17537
|
useEffect as useEffect17,
|
|
17522
|
-
useRef as
|
|
17538
|
+
useRef as useRef24,
|
|
17523
17539
|
useState as useState10
|
|
17524
17540
|
} from "react";
|
|
17525
17541
|
import {
|
|
@@ -17568,14 +17584,14 @@ function AgentUsageChip({
|
|
|
17568
17584
|
}) {
|
|
17569
17585
|
"use memo";
|
|
17570
17586
|
const [usagePopoverOpen, setUsagePopoverOpen] = useState10(false);
|
|
17571
|
-
const usagePopoverHoverTimerRef =
|
|
17572
|
-
const usagePopoverContentRef =
|
|
17587
|
+
const usagePopoverHoverTimerRef = useRef24(null);
|
|
17588
|
+
const usagePopoverContentRef = useRef24(null);
|
|
17573
17589
|
const clampedPercent = Math.max(0, Math.min(100, percentUsed));
|
|
17574
17590
|
const chipLabel = labels.usageChipLabel({ percent: clampedPercent });
|
|
17575
17591
|
const showTokens = usedTokens !== null && totalTokens !== null;
|
|
17576
17592
|
const usageLevel = agentUsageChipLevel(clampedPercent);
|
|
17577
17593
|
const ringColor = agentUsageRingColor(usageLevel);
|
|
17578
|
-
const usagePopoverCloseTimerRef =
|
|
17594
|
+
const usagePopoverCloseTimerRef = useRef24(null);
|
|
17579
17595
|
const clearUsagePopoverHoverTimer = useCallback32(() => {
|
|
17580
17596
|
if (usagePopoverHoverTimerRef.current) {
|
|
17581
17597
|
clearTimeout(usagePopoverHoverTimerRef.current);
|
|
@@ -17957,10 +17973,10 @@ function useMentionPaletteFrame(inputShellRef, showFileMentionPalette) {
|
|
|
17957
17973
|
import {
|
|
17958
17974
|
useCallback as useCallback34,
|
|
17959
17975
|
useMemo as useMemo23,
|
|
17960
|
-
useRef as
|
|
17976
|
+
useRef as useRef25
|
|
17961
17977
|
} from "react";
|
|
17962
17978
|
function useStableEventCallback3(callback) {
|
|
17963
|
-
const callbackRef =
|
|
17979
|
+
const callbackRef = useRef25(callback);
|
|
17964
17980
|
callbackRef.current = callback;
|
|
17965
17981
|
return useCallback34((...args) => callbackRef.current(...args), []);
|
|
17966
17982
|
}
|
|
@@ -18408,7 +18424,7 @@ function useComposerSlashActions(input) {
|
|
|
18408
18424
|
import {
|
|
18409
18425
|
useCallback as useCallback35,
|
|
18410
18426
|
useEffect as useEffect18,
|
|
18411
|
-
useRef as
|
|
18427
|
+
useRef as useRef26
|
|
18412
18428
|
} from "react";
|
|
18413
18429
|
import {
|
|
18414
18430
|
createMentionPaletteStateAdapter,
|
|
@@ -18428,7 +18444,7 @@ function isAgentRichTextImeComposing(event) {
|
|
|
18428
18444
|
|
|
18429
18445
|
// agent-gui/agentGuiNode/composer/useComposerMentionActions.ts
|
|
18430
18446
|
function useStableEventCallback4(callback) {
|
|
18431
|
-
const callbackRef =
|
|
18447
|
+
const callbackRef = useRef26(callback);
|
|
18432
18448
|
callbackRef.current = callback;
|
|
18433
18449
|
return useCallback35((...args) => callbackRef.current(...args), []);
|
|
18434
18450
|
}
|
|
@@ -19659,7 +19675,7 @@ import {
|
|
|
19659
19675
|
import {
|
|
19660
19676
|
Component as Component2,
|
|
19661
19677
|
useLayoutEffect as useLayoutEffect4,
|
|
19662
|
-
useRef as
|
|
19678
|
+
useRef as useRef27,
|
|
19663
19679
|
useState as useState15
|
|
19664
19680
|
} from "react";
|
|
19665
19681
|
import { ChevronRight } from "lucide-react";
|
|
@@ -19945,9 +19961,9 @@ function AgentQueuedPromptPanel({
|
|
|
19945
19961
|
"use memo";
|
|
19946
19962
|
const runtime = useOptionalAgentActivityRuntime();
|
|
19947
19963
|
const [isExpanded, setIsExpanded] = useState15(false);
|
|
19948
|
-
const singlePromptTextRef =
|
|
19949
|
-
const queuedPromptListRef =
|
|
19950
|
-
const pointerHandledEditPromptIdRef =
|
|
19964
|
+
const singlePromptTextRef = useRef27(null);
|
|
19965
|
+
const queuedPromptListRef = useRef27(null);
|
|
19966
|
+
const pointerHandledEditPromptIdRef = useRef27(null);
|
|
19951
19967
|
const [isSinglePromptOverflowing, setIsSinglePromptOverflowing] = useState15(false);
|
|
19952
19968
|
const [expandedListMaxHeightPx, setExpandedListMaxHeightPx] = useState15(280);
|
|
19953
19969
|
const singlePromptHasImages = queuedPrompts.length === 1 && queuedPromptImages(queuedPrompts[0]).length > 0;
|
|
@@ -20808,6 +20824,22 @@ import {
|
|
|
20808
20824
|
NoWorkspaceLinedIcon,
|
|
20809
20825
|
cn as cn2
|
|
20810
20826
|
} from "@tutti-os/ui-system";
|
|
20827
|
+
|
|
20828
|
+
// agent-gui/agentGuiNode/agentGuiUserProjectSelectionApi.ts
|
|
20829
|
+
function createAgentGUIUserProjectSelectionApi({
|
|
20830
|
+
selectProjectDirectory,
|
|
20831
|
+
userProjects
|
|
20832
|
+
}) {
|
|
20833
|
+
if (!userProjects) {
|
|
20834
|
+
return null;
|
|
20835
|
+
}
|
|
20836
|
+
return {
|
|
20837
|
+
...userProjects,
|
|
20838
|
+
selectDirectory: selectProjectDirectory
|
|
20839
|
+
};
|
|
20840
|
+
}
|
|
20841
|
+
|
|
20842
|
+
// agent-gui/agentGuiNode/AgentComposerProjectMenu.tsx
|
|
20811
20843
|
import { jsx as jsx26, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
20812
20844
|
function basenameProjectPath(path) {
|
|
20813
20845
|
const normalized = path.trim().replaceAll("\\", "/").replace(/\/+$/, "");
|
|
@@ -20830,16 +20862,11 @@ function AgentProjectDropdown({
|
|
|
20830
20862
|
[i18n, labels]
|
|
20831
20863
|
);
|
|
20832
20864
|
const userProjectApi = useMemo25(
|
|
20833
|
-
() =>
|
|
20834
|
-
|
|
20835
|
-
|
|
20836
|
-
}
|
|
20837
|
-
[
|
|
20838
|
-
agentHostApi.userProjects,
|
|
20839
|
-
agentHostApi.workspace.selectDirectory,
|
|
20840
|
-
previewMode,
|
|
20841
|
-
selectProjectDirectory
|
|
20842
|
-
]
|
|
20865
|
+
() => createAgentGUIUserProjectSelectionApi({
|
|
20866
|
+
selectProjectDirectory,
|
|
20867
|
+
userProjects: previewMode ? null : agentHostApi.userProjects
|
|
20868
|
+
}),
|
|
20869
|
+
[agentHostApi.userProjects, previewMode, selectProjectDirectory]
|
|
20843
20870
|
);
|
|
20844
20871
|
if (previewMode) {
|
|
20845
20872
|
const selectedPath = composerSettings.selectedProjectPath?.trim() ?? "";
|
|
@@ -21545,7 +21572,7 @@ import {
|
|
|
21545
21572
|
useCallback as useCallback39,
|
|
21546
21573
|
useEffect as useEffect23,
|
|
21547
21574
|
useMemo as useMemo26,
|
|
21548
|
-
useRef as
|
|
21575
|
+
useRef as useRef29,
|
|
21549
21576
|
useState as useState18
|
|
21550
21577
|
} from "react";
|
|
21551
21578
|
import { useEditor } from "@tiptap/react";
|
|
@@ -22142,7 +22169,7 @@ function useAgentRichTextEditorHandle(input) {
|
|
|
22142
22169
|
// agent-gui/agentGuiNode/agentRichText/AgentRichTextEditorSurface.tsx
|
|
22143
22170
|
import {
|
|
22144
22171
|
useCallback as useCallback38,
|
|
22145
|
-
useRef as
|
|
22172
|
+
useRef as useRef28
|
|
22146
22173
|
} from "react";
|
|
22147
22174
|
import { createPortal as createPortal2 } from "react-dom";
|
|
22148
22175
|
import { EditorContent } from "@tiptap/react";
|
|
@@ -22230,7 +22257,7 @@ function AgentRichTextContextMenuButton({
|
|
|
22230
22257
|
label,
|
|
22231
22258
|
onSelect
|
|
22232
22259
|
}) {
|
|
22233
|
-
const selectionStartedRef =
|
|
22260
|
+
const selectionStartedRef = useRef28(false);
|
|
22234
22261
|
const select = useCallback38(() => {
|
|
22235
22262
|
if (disabled || selectionStartedRef.current) return;
|
|
22236
22263
|
selectionStartedRef.current = true;
|
|
@@ -22332,34 +22359,34 @@ var AgentRichTextEditor = forwardRef3(function AgentRichTextEditor2({
|
|
|
22332
22359
|
}, ref) {
|
|
22333
22360
|
"use memo";
|
|
22334
22361
|
const { t } = useTranslation();
|
|
22335
|
-
const lastEmittedPromptRef =
|
|
22336
|
-
const editorRef =
|
|
22337
|
-
const onChangeRef =
|
|
22338
|
-
const onFocusRef =
|
|
22339
|
-
const onUserContentChangeRef =
|
|
22340
|
-
const pendingFocusMethodRef =
|
|
22341
|
-
const onSubmitRef =
|
|
22342
|
-
const onSubmitGuidanceRef =
|
|
22343
|
-
const onKeyDownForPaletteRef =
|
|
22344
|
-
const onFileMentionSuggestionChangeRef =
|
|
22362
|
+
const lastEmittedPromptRef = useRef29(value);
|
|
22363
|
+
const editorRef = useRef29(null);
|
|
22364
|
+
const onChangeRef = useRef29(onChange);
|
|
22365
|
+
const onFocusRef = useRef29(onFocus);
|
|
22366
|
+
const onUserContentChangeRef = useRef29(onUserContentChange);
|
|
22367
|
+
const pendingFocusMethodRef = useRef29(null);
|
|
22368
|
+
const onSubmitRef = useRef29(onSubmit);
|
|
22369
|
+
const onSubmitGuidanceRef = useRef29(onSubmitGuidance);
|
|
22370
|
+
const onKeyDownForPaletteRef = useRef29(onKeyDownForPalette);
|
|
22371
|
+
const onFileMentionSuggestionChangeRef = useRef29(
|
|
22345
22372
|
onFileMentionSuggestionChange
|
|
22346
22373
|
);
|
|
22347
|
-
const onFileMentionSuggestionKeyDownRef =
|
|
22374
|
+
const onFileMentionSuggestionKeyDownRef = useRef29(
|
|
22348
22375
|
onFileMentionSuggestionKeyDown
|
|
22349
22376
|
);
|
|
22350
|
-
const onLinkClickRef =
|
|
22351
|
-
const onPromptImagesUnsupportedRef =
|
|
22352
|
-
const onPasteImagesRef =
|
|
22353
|
-
const onPasteLargeTextRef =
|
|
22354
|
-
const onPasteFilesRef =
|
|
22355
|
-
const onDropFilesRef =
|
|
22356
|
-
const promptImagesSupportedRef =
|
|
22357
|
-
const placeholderRef =
|
|
22358
|
-
const removeMentionLabelRef =
|
|
22359
|
-
const availableSkillsRef =
|
|
22360
|
-
const availableCapabilitiesRef =
|
|
22361
|
-
const suppressPastedAtSuggestionRef =
|
|
22362
|
-
const scrollFrameRef =
|
|
22377
|
+
const onLinkClickRef = useRef29(onLinkClick);
|
|
22378
|
+
const onPromptImagesUnsupportedRef = useRef29(onPromptImagesUnsupported);
|
|
22379
|
+
const onPasteImagesRef = useRef29(onPasteImages);
|
|
22380
|
+
const onPasteLargeTextRef = useRef29(onPasteLargeText);
|
|
22381
|
+
const onPasteFilesRef = useRef29(onPasteFiles);
|
|
22382
|
+
const onDropFilesRef = useRef29(onDropFiles);
|
|
22383
|
+
const promptImagesSupportedRef = useRef29(promptImagesSupported);
|
|
22384
|
+
const placeholderRef = useRef29(placeholder);
|
|
22385
|
+
const removeMentionLabelRef = useRef29(removeMentionLabel);
|
|
22386
|
+
const availableSkillsRef = useRef29(availableSkills);
|
|
22387
|
+
const availableCapabilitiesRef = useRef29(availableCapabilities);
|
|
22388
|
+
const suppressPastedAtSuggestionRef = useRef29(false);
|
|
22389
|
+
const scrollFrameRef = useRef29(null);
|
|
22363
22390
|
const [contextMenu, setContextMenu] = useState18(null);
|
|
22364
22391
|
const closeContextMenu = useCallback39(() => {
|
|
22365
22392
|
setContextMenu(null);
|
|
@@ -22913,7 +22940,7 @@ function AgentReferenceProvenanceFilterControl({
|
|
|
22913
22940
|
}
|
|
22914
22941
|
|
|
22915
22942
|
// agent-gui/agentGuiNode/AgentSlashCommandPalette.tsx
|
|
22916
|
-
import { Fragment as Fragment8, useEffect as useEffect24, useRef as
|
|
22943
|
+
import { Fragment as Fragment8, useEffect as useEffect24, useRef as useRef30 } from "react";
|
|
22917
22944
|
import { Spinner as Spinner3 } from "@tutti-os/ui-system";
|
|
22918
22945
|
import {
|
|
22919
22946
|
Globe,
|
|
@@ -22960,7 +22987,7 @@ function AgentSlashCommandPalette({
|
|
|
22960
22987
|
onSelectSkill
|
|
22961
22988
|
}) {
|
|
22962
22989
|
"use memo";
|
|
22963
|
-
const highlightedOptionRef =
|
|
22990
|
+
const highlightedOptionRef = useRef30(null);
|
|
22964
22991
|
useEffect24(() => {
|
|
22965
22992
|
highlightedOptionRef.current?.scrollIntoView({ block: "nearest" });
|
|
22966
22993
|
}, [highlightedIndex]);
|
|
@@ -23161,7 +23188,7 @@ function slashPaletteEntryIcon(entry) {
|
|
|
23161
23188
|
}
|
|
23162
23189
|
|
|
23163
23190
|
// agent-gui/agentGuiNode/AgentReviewPickerPanel.tsx
|
|
23164
|
-
import { useCallback as useCallback40, useEffect as useEffect25, useMemo as useMemo27, useRef as
|
|
23191
|
+
import { useCallback as useCallback40, useEffect as useEffect25, useMemo as useMemo27, useRef as useRef31, useState as useState19 } from "react";
|
|
23165
23192
|
import { menuItemClassName } from "@tutti-os/ui-system";
|
|
23166
23193
|
|
|
23167
23194
|
// agent-gui/agentGuiNode/AgentReviewBranchController.ts
|
|
@@ -23279,9 +23306,9 @@ function AgentReviewPickerPanel({
|
|
|
23279
23306
|
const [stage, setStage] = useState19("root");
|
|
23280
23307
|
const [query, setQuery] = useState19("");
|
|
23281
23308
|
const [highlightedIndex, setHighlightedIndex] = useState19(0);
|
|
23282
|
-
const searchInputRef =
|
|
23283
|
-
const highlightedOptionRef =
|
|
23284
|
-
const reviewBranchControllerRef =
|
|
23309
|
+
const searchInputRef = useRef31(null);
|
|
23310
|
+
const highlightedOptionRef = useRef31(null);
|
|
23311
|
+
const reviewBranchControllerRef = useRef31(
|
|
23285
23312
|
null
|
|
23286
23313
|
);
|
|
23287
23314
|
const [branchState, setBranchState] = useState19({
|
|
@@ -23526,7 +23553,7 @@ import {
|
|
|
23526
23553
|
useEffect as useEffect26,
|
|
23527
23554
|
useLayoutEffect as useLayoutEffect5,
|
|
23528
23555
|
useMemo as useMemo28,
|
|
23529
|
-
useRef as
|
|
23556
|
+
useRef as useRef32,
|
|
23530
23557
|
useState as useState20
|
|
23531
23558
|
} from "react";
|
|
23532
23559
|
import { createPortal as createPortal3 } from "react-dom";
|
|
@@ -23673,7 +23700,7 @@ var ComposerFloatingMenuSurface = forwardRef4(function ComposerFloatingMenuSurfa
|
|
|
23673
23700
|
surfaceRef,
|
|
23674
23701
|
testId
|
|
23675
23702
|
}, forwardedRef) {
|
|
23676
|
-
const localSurfaceRef =
|
|
23703
|
+
const localSurfaceRef = useRef32(null);
|
|
23677
23704
|
const frame = useComposerAnchoredMenuFrame({
|
|
23678
23705
|
anchorRef,
|
|
23679
23706
|
maxHeight,
|
|
@@ -24482,7 +24509,7 @@ function ComposerFooter({
|
|
|
24482
24509
|
}
|
|
24483
24510
|
|
|
24484
24511
|
// agent-gui/agentGuiNode/composer/quickPrompts/AgentQuickPromptPopover.tsx
|
|
24485
|
-
import { useId, useRef as
|
|
24512
|
+
import { useId, useRef as useRef34, useState as useState23 } from "react";
|
|
24486
24513
|
import {
|
|
24487
24514
|
Button as Button5,
|
|
24488
24515
|
ConfirmationDialog as ConfirmationDialog2,
|
|
@@ -24509,7 +24536,7 @@ import {
|
|
|
24509
24536
|
} from "@tutti-os/ui-system/icons";
|
|
24510
24537
|
|
|
24511
24538
|
// agent-gui/agentGuiNode/composer/quickPrompts/AgentQuickPromptEditorDialog.tsx
|
|
24512
|
-
import { useRef as
|
|
24539
|
+
import { useRef as useRef33, useState as useState22 } from "react";
|
|
24513
24540
|
import {
|
|
24514
24541
|
Button as Button4,
|
|
24515
24542
|
Dialog,
|
|
@@ -24534,7 +24561,7 @@ function AgentQuickPromptEditorDialog({
|
|
|
24534
24561
|
() => controller.initialDraft ?? promptDraft(source)
|
|
24535
24562
|
);
|
|
24536
24563
|
const [validationError, setValidationError] = useState22(null);
|
|
24537
|
-
const cancelRequestedOnPointerDownRef =
|
|
24564
|
+
const cancelRequestedOnPointerDownRef = useRef33(false);
|
|
24538
24565
|
const submit = async () => {
|
|
24539
24566
|
const error = validateDraft(draft, labels);
|
|
24540
24567
|
if (error) {
|
|
@@ -24681,12 +24708,12 @@ function AgentQuickPromptPopover({
|
|
|
24681
24708
|
controller,
|
|
24682
24709
|
disabled
|
|
24683
24710
|
}) {
|
|
24684
|
-
const searchRef =
|
|
24685
|
-
const rowRefs =
|
|
24686
|
-
const firstTemplateRef =
|
|
24687
|
-
const preserveExternalFocusRef =
|
|
24688
|
-
const createRequestedOnPointerDownRef =
|
|
24689
|
-
const templateRequestedOnPointerDownRef =
|
|
24711
|
+
const searchRef = useRef34(null);
|
|
24712
|
+
const rowRefs = useRef34(/* @__PURE__ */ new Map());
|
|
24713
|
+
const firstTemplateRef = useRef34(null);
|
|
24714
|
+
const preserveExternalFocusRef = useRef34(false);
|
|
24715
|
+
const createRequestedOnPointerDownRef = useRef34(false);
|
|
24716
|
+
const templateRequestedOnPointerDownRef = useRef34(false);
|
|
24690
24717
|
const [view, setView] = useState23("prompts");
|
|
24691
24718
|
const titleId = useId();
|
|
24692
24719
|
const { labels, snapshot } = controller;
|
|
@@ -25057,7 +25084,7 @@ function TemplateEntry({
|
|
|
25057
25084
|
);
|
|
25058
25085
|
}
|
|
25059
25086
|
function usePrimaryPointerAction(action) {
|
|
25060
|
-
const actionRequestedOnPointerDownRef =
|
|
25087
|
+
const actionRequestedOnPointerDownRef = useRef34(false);
|
|
25061
25088
|
return {
|
|
25062
25089
|
onPointerDown: (event) => {
|
|
25063
25090
|
if (event.button !== 0) return;
|
|
@@ -25095,9 +25122,9 @@ function PromptRow({
|
|
|
25095
25122
|
prompt,
|
|
25096
25123
|
selectionRef
|
|
25097
25124
|
}) {
|
|
25098
|
-
const selectionRequestedOnPointerDownRef =
|
|
25099
|
-
const editRequestedOnPointerDownRef =
|
|
25100
|
-
const deleteRequestedOnPointerDownRef =
|
|
25125
|
+
const selectionRequestedOnPointerDownRef = useRef34(false);
|
|
25126
|
+
const editRequestedOnPointerDownRef = useRef34(false);
|
|
25127
|
+
const deleteRequestedOnPointerDownRef = useRef34(false);
|
|
25101
25128
|
return /* @__PURE__ */ jsxs29("div", { className: "group flex min-w-0 items-start gap-1 rounded-md hover:bg-[var(--transparency-hover)]", children: [
|
|
25102
25129
|
/* @__PURE__ */ jsx39(
|
|
25103
25130
|
Button5,
|
|
@@ -25763,7 +25790,7 @@ function AgentComposerView(input) {
|
|
|
25763
25790
|
}
|
|
25764
25791
|
|
|
25765
25792
|
// agent-gui/agentGuiNode/composer/useAgentMentionSearchController.ts
|
|
25766
|
-
import { useEffect as useEffect27, useMemo as useMemo29, useRef as
|
|
25793
|
+
import { useEffect as useEffect27, useMemo as useMemo29, useRef as useRef35, useState as useState24 } from "react";
|
|
25767
25794
|
import { useRichTextMentionService } from "@tutti-os/ui-rich-text/editor";
|
|
25768
25795
|
var EMPTY_AGENT_CONTEXT_MENTION_PROVIDERS = [];
|
|
25769
25796
|
function useAgentMentionSearchController(referenceProvenanceFilter) {
|
|
@@ -25773,7 +25800,7 @@ function useAgentMentionSearchController(referenceProvenanceFilter) {
|
|
|
25773
25800
|
[mentionService]
|
|
25774
25801
|
);
|
|
25775
25802
|
const [mentionSearchState, setMentionSearchState] = useState24(INITIAL_AGENT_MENTION_SEARCH_STATE);
|
|
25776
|
-
const mentionControllerRef =
|
|
25803
|
+
const mentionControllerRef = useRef35(
|
|
25777
25804
|
null
|
|
25778
25805
|
);
|
|
25779
25806
|
useEffect27(() => {
|
|
@@ -25821,7 +25848,7 @@ var INITIAL_AGENT_MENTION_SEARCH_STATE = {
|
|
|
25821
25848
|
};
|
|
25822
25849
|
|
|
25823
25850
|
// agent-gui/agentGuiNode/composer/quickPrompts/useAgentQuickPromptLibrary.ts
|
|
25824
|
-
import { useCallback as useCallback42, useMemo as useMemo30, useRef as
|
|
25851
|
+
import { useCallback as useCallback42, useMemo as useMemo30, useRef as useRef36, useState as useState25 } from "react";
|
|
25825
25852
|
var unavailableSnapshot = {
|
|
25826
25853
|
enabled: false,
|
|
25827
25854
|
status: "idle",
|
|
@@ -25844,7 +25871,7 @@ function useAgentQuickPromptLibrary(input) {
|
|
|
25844
25871
|
selectQuickPromptSnapshot
|
|
25845
25872
|
);
|
|
25846
25873
|
const [mode, setMode] = useState25("closed");
|
|
25847
|
-
const modeRef =
|
|
25874
|
+
const modeRef = useRef36(mode);
|
|
25848
25875
|
modeRef.current = mode;
|
|
25849
25876
|
const [searchQuery, setSearchQuery] = useState25("");
|
|
25850
25877
|
const [selectedPrompt, setSelectedPrompt] = useState25(null);
|
|
@@ -25856,7 +25883,7 @@ function useAgentQuickPromptLibrary(input) {
|
|
|
25856
25883
|
const capabilityAvailable = Boolean(quickPrompts && snapshot.enabled);
|
|
25857
25884
|
const disclosureAvailable = capabilityAvailable && !disabled;
|
|
25858
25885
|
const [previousDisclosureAvailable, setPreviousDisclosureAvailable] = useState25(disclosureAvailable);
|
|
25859
|
-
const disclosureAvailableRef =
|
|
25886
|
+
const disclosureAvailableRef = useRef36(disclosureAvailable);
|
|
25860
25887
|
disclosureAvailableRef.current = disclosureAvailable;
|
|
25861
25888
|
if (previousDisclosureAvailable !== disclosureAvailable) {
|
|
25862
25889
|
setPreviousDisclosureAvailable(disclosureAvailable);
|
|
@@ -26231,30 +26258,30 @@ function AgentComposer(props) {
|
|
|
26231
26258
|
const [isSelectedProjectMissing, setIsSelectedProjectMissing] = useState26(false);
|
|
26232
26259
|
const [isSlashStatusPanelOpen, setIsSlashStatusPanelOpen] = useState26(false);
|
|
26233
26260
|
const slashStatusAgentSessionId = slashStatus?.agentSessionId ?? null;
|
|
26234
|
-
const previousSlashStatusAgentSessionIdRef =
|
|
26261
|
+
const previousSlashStatusAgentSessionIdRef = useRef37(
|
|
26235
26262
|
slashStatusAgentSessionId
|
|
26236
26263
|
);
|
|
26237
26264
|
const selectedProjectPath = composerSettings.selectedProjectPath?.trim() ?? "";
|
|
26238
26265
|
const selectedProjectSectionKey = composerSettings.selectedProjectSectionKey?.trim() ?? "";
|
|
26239
|
-
const previousSelectedProjectPathRef =
|
|
26240
|
-
const composerRef =
|
|
26241
|
-
const inputShellRef =
|
|
26242
|
-
const promptInputAreaRef =
|
|
26243
|
-
const paletteContentRef =
|
|
26244
|
-
const draftPromptRef =
|
|
26245
|
-
const draftImagesRef =
|
|
26246
|
-
const draftFilesRef =
|
|
26247
|
-
const draftLargeTextsRef =
|
|
26248
|
-
const draftByScopeKeyRef =
|
|
26266
|
+
const previousSelectedProjectPathRef = useRef37(selectedProjectPath);
|
|
26267
|
+
const composerRef = useRef37(null);
|
|
26268
|
+
const inputShellRef = useRef37(null);
|
|
26269
|
+
const promptInputAreaRef = useRef37(null);
|
|
26270
|
+
const paletteContentRef = useRef37(null);
|
|
26271
|
+
const draftPromptRef = useRef37(draftPrompt);
|
|
26272
|
+
const draftImagesRef = useRef37(draftImages);
|
|
26273
|
+
const draftFilesRef = useRef37(draftFiles);
|
|
26274
|
+
const draftLargeTextsRef = useRef37(draftLargeTexts);
|
|
26275
|
+
const draftByScopeKeyRef = useRef37({
|
|
26249
26276
|
[draftScopeKey]: draftContent
|
|
26250
26277
|
});
|
|
26251
26278
|
draftByScopeKeyRef.current[draftScopeKey] = draftContent;
|
|
26252
|
-
const promptTipRef =
|
|
26279
|
+
const promptTipRef = useRef37(null);
|
|
26253
26280
|
const { mentionControllerRef, mentionSearchState } = useAgentMentionSearchController(referenceProvenanceFilter);
|
|
26254
|
-
const editorHandleRef =
|
|
26255
|
-
const wasActiveRef =
|
|
26256
|
-
const lastComposerFocusRequestRef =
|
|
26257
|
-
const autoMentionHighlightedKeyRef =
|
|
26281
|
+
const editorHandleRef = useRef37(null);
|
|
26282
|
+
const wasActiveRef = useRef37(isActive);
|
|
26283
|
+
const lastComposerFocusRequestRef = useRef37(null);
|
|
26284
|
+
const autoMentionHighlightedKeyRef = useRef37(null);
|
|
26258
26285
|
const [isPromptTipOverflowing, setIsPromptTipOverflowing] = useState26(false);
|
|
26259
26286
|
const [dockComposerInputHeight, setDockComposerInputHeight] = useState26(
|
|
26260
26287
|
DOCK_COMPOSER_INPUT_MIN_HEIGHT2
|
|
@@ -27023,7 +27050,7 @@ import {
|
|
|
27023
27050
|
useCallback as useCallback44,
|
|
27024
27051
|
useContext,
|
|
27025
27052
|
useMemo as useMemo31,
|
|
27026
|
-
useRef as
|
|
27053
|
+
useRef as useRef38
|
|
27027
27054
|
} from "react";
|
|
27028
27055
|
import { toast as toast2 } from "@tutti-os/ui-system";
|
|
27029
27056
|
|
|
@@ -27111,7 +27138,7 @@ function useCreateAgentTargetSetupController(agentTarget) {
|
|
|
27111
27138
|
},
|
|
27112
27139
|
[agentTargetId, hostApi?.debug]
|
|
27113
27140
|
);
|
|
27114
|
-
const controllerRef =
|
|
27141
|
+
const controllerRef = useRef38(null);
|
|
27115
27142
|
const targetKey = enabled ? agentTargetId : "";
|
|
27116
27143
|
const controllerEntry = useMemo31(() => {
|
|
27117
27144
|
const previousState = controllerRef.current?.targetKey === targetKey ? controllerRef.current.controller.getSnapshot() : null;
|
|
@@ -28045,7 +28072,7 @@ function EmptyHeroTitle({
|
|
|
28045
28072
|
|
|
28046
28073
|
// agent-gui/agentGuiNode/view/AgentGUIProviderManagerDialog.tsx
|
|
28047
28074
|
import {
|
|
28048
|
-
useRef as
|
|
28075
|
+
useRef as useRef39,
|
|
28049
28076
|
useState as useState28
|
|
28050
28077
|
} from "react";
|
|
28051
28078
|
import { CircleMinus, CirclePlus } from "lucide-react";
|
|
@@ -28087,12 +28114,12 @@ function AgentGUIProviderManagerDialog({
|
|
|
28087
28114
|
null
|
|
28088
28115
|
);
|
|
28089
28116
|
const [dragPreview, setDragPreview] = useState28(null);
|
|
28090
|
-
const dragStateRef =
|
|
28091
|
-
const dragPreviewRef =
|
|
28117
|
+
const dragStateRef = useRef39(null);
|
|
28118
|
+
const dragPreviewRef = useRef39(null);
|
|
28092
28119
|
const [longPressTargetId, setLongPressTargetId] = useState28(
|
|
28093
28120
|
null
|
|
28094
28121
|
);
|
|
28095
|
-
const longPressOriginRef =
|
|
28122
|
+
const longPressOriginRef = useRef39(null);
|
|
28096
28123
|
const finalAvailableAgent = availableTargets.length === 1;
|
|
28097
28124
|
const showRunningAgentBlocked = (targetId) => {
|
|
28098
28125
|
const target = targets.find((candidate) => candidate.targetId === targetId);
|
|
@@ -28691,7 +28718,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
28691
28718
|
preferences: providerRailPreferences
|
|
28692
28719
|
} = useAgentGUIProviderRailPreferences();
|
|
28693
28720
|
const [dragState, setDragState] = useState30(null);
|
|
28694
|
-
const dragStateRef =
|
|
28721
|
+
const dragStateRef = useRef40(null);
|
|
28695
28722
|
const setProviderRailDragState = useCallback46(
|
|
28696
28723
|
(nextDragState) => {
|
|
28697
28724
|
dragStateRef.current = nextDragState;
|
|
@@ -29167,7 +29194,7 @@ var AgentGUIProviderRail = memo4(function AgentGUIProviderRail2({
|
|
|
29167
29194
|
import { memo as memo9, useState as useState36 } from "react";
|
|
29168
29195
|
|
|
29169
29196
|
// agent-gui/agentGuiNode/view/AgentGUIConversationRailPane.tsx
|
|
29170
|
-
import { Fragment as Fragment18, memo as memo8, useEffect as useEffect30, useMemo as useMemo36, useRef as
|
|
29197
|
+
import { Fragment as Fragment18, memo as memo8, useEffect as useEffect30, useMemo as useMemo36, useRef as useRef43, useState as useState35 } from "react";
|
|
29171
29198
|
import { Button as SystemButton } from "@tutti-os/ui-system";
|
|
29172
29199
|
import { ScrollArea as ScrollArea2 } from "@tutti-os/ui-system/components";
|
|
29173
29200
|
import { CreateChatIcon as CreateChatIcon2 } from "@tutti-os/ui-system/icons";
|
|
@@ -30352,7 +30379,7 @@ import {
|
|
|
30352
30379
|
Fragment as Fragment15,
|
|
30353
30380
|
useCallback as useCallback48,
|
|
30354
30381
|
useMemo as useMemo34,
|
|
30355
|
-
useRef as
|
|
30382
|
+
useRef as useRef41,
|
|
30356
30383
|
useState as useState32
|
|
30357
30384
|
} from "react";
|
|
30358
30385
|
import {
|
|
@@ -30564,7 +30591,7 @@ function useConversationActionGroups({
|
|
|
30564
30591
|
const agentActivityRuntime = useOptionalAgentActivityRuntime();
|
|
30565
30592
|
const copyConversationValue = useAgentGUIConversationCopyAction(labels);
|
|
30566
30593
|
const [resetKey, setResetKey] = useState32(0);
|
|
30567
|
-
const pendingActionRef =
|
|
30594
|
+
const pendingActionRef = useRef41(false);
|
|
30568
30595
|
const run = useCallback48(
|
|
30569
30596
|
(action) => {
|
|
30570
30597
|
if (pendingActionRef.current) {
|
|
@@ -31042,15 +31069,11 @@ function AgentGUIProjectRailHeader({
|
|
|
31042
31069
|
"use memo";
|
|
31043
31070
|
const agentHostApi = useAgentHostApi();
|
|
31044
31071
|
const userProjectApi = useMemo35(
|
|
31045
|
-
() =>
|
|
31046
|
-
|
|
31047
|
-
|
|
31048
|
-
}
|
|
31049
|
-
[
|
|
31050
|
-
agentHostApi.userProjects,
|
|
31051
|
-
agentHostApi.workspace.selectDirectory,
|
|
31052
|
-
selectProjectDirectory
|
|
31053
|
-
]
|
|
31072
|
+
() => createAgentGUIUserProjectSelectionApi({
|
|
31073
|
+
selectProjectDirectory,
|
|
31074
|
+
userProjects: agentHostApi.userProjects
|
|
31075
|
+
}),
|
|
31076
|
+
[agentHostApi.userProjects, selectProjectDirectory]
|
|
31054
31077
|
);
|
|
31055
31078
|
return /* @__PURE__ */ jsxs41("div", { className: AgentGUINode_styles_default.projectRailHeader, children: [
|
|
31056
31079
|
/* @__PURE__ */ jsx57("div", { className: AgentGUINode_styles_default.projectRailTitle, children: /* @__PURE__ */ jsx57("span", { children: workspaceUserProjectI18n.tFirst(["projectSelect.projectLabel"]) }) }),
|
|
@@ -31919,7 +31942,7 @@ function AgentGUIProjectActionConfirmationDialog(props) {
|
|
|
31919
31942
|
}
|
|
31920
31943
|
|
|
31921
31944
|
// agent-gui/agentGuiNode/view/useAgentGUIConversationRailViewState.ts
|
|
31922
|
-
import { useCallback as useCallback52, useLayoutEffect as useLayoutEffect6, useReducer, useRef as
|
|
31945
|
+
import { useCallback as useCallback52, useLayoutEffect as useLayoutEffect6, useReducer, useRef as useRef42 } from "react";
|
|
31923
31946
|
function applyRailScrollNavigation(input) {
|
|
31924
31947
|
const activeConversationId = input.activeConversationId?.trim() || null;
|
|
31925
31948
|
const current = input.current.navigationKey === input.navigationKey ? input.current : {
|
|
@@ -31965,10 +31988,10 @@ function useAgentGUIConversationRailViewState(input) {
|
|
|
31965
31988
|
reduceAgentGUIConversationRailViewState,
|
|
31966
31989
|
/* @__PURE__ */ new Map()
|
|
31967
31990
|
);
|
|
31968
|
-
const conversationListRef =
|
|
31969
|
-
const conversationItemElementsRef =
|
|
31970
|
-
const scrollTopByScopeRef =
|
|
31971
|
-
const navigationRef =
|
|
31991
|
+
const conversationListRef = useRef42(null);
|
|
31992
|
+
const conversationItemElementsRef = useRef42(/* @__PURE__ */ new Map());
|
|
31993
|
+
const scrollTopByScopeRef = useRef42(/* @__PURE__ */ new Map());
|
|
31994
|
+
const navigationRef = useRef42({
|
|
31972
31995
|
handledRevealRevision: 0,
|
|
31973
31996
|
navigationKey: null,
|
|
31974
31997
|
phase: "scope-pending"
|
|
@@ -32141,9 +32164,9 @@ var AgentGUIConversationRailPane = memo8(
|
|
|
32141
32164
|
const [pendingProjectAction, setPendingProjectAction] = useState35(null);
|
|
32142
32165
|
const [isRequestingBatchDeletion, setIsRequestingBatchDeletion] = useState35(false);
|
|
32143
32166
|
const { railSearch } = railQuery;
|
|
32144
|
-
const railElementRef =
|
|
32145
|
-
const railActiveConversationRef =
|
|
32146
|
-
const groupedConversationsRef =
|
|
32167
|
+
const railElementRef = useRef43(null);
|
|
32168
|
+
const railActiveConversationRef = useRef43([]);
|
|
32169
|
+
const groupedConversationsRef = useRef43(null);
|
|
32147
32170
|
const {
|
|
32148
32171
|
loadMoreSectionConversations,
|
|
32149
32172
|
isInteractionLocked,
|
|
@@ -32575,7 +32598,7 @@ var AgentGUIConversationRailPane = memo8(
|
|
|
32575
32598
|
);
|
|
32576
32599
|
|
|
32577
32600
|
// agent-gui/agentGuiNode/controller/useAgentGUIConversationRailQuery.ts
|
|
32578
|
-
import { useEffect as useEffect31, useMemo as useMemo37, useRef as
|
|
32601
|
+
import { useEffect as useEffect31, useMemo as useMemo37, useRef as useRef44 } from "react";
|
|
32579
32602
|
|
|
32580
32603
|
// agent-gui/agentGuiNode/controller/agentGuiConversationRailDiagnostics.ts
|
|
32581
32604
|
var CONVERSATION_RAIL_SLOW_DIAGNOSTIC_THRESHOLD_MS = 250;
|
|
@@ -33696,7 +33719,7 @@ function useAgentGUIConversationRailQuery({
|
|
|
33696
33719
|
() => runtime.getSessionEngine(workspaceId),
|
|
33697
33720
|
[runtime, workspaceId]
|
|
33698
33721
|
);
|
|
33699
|
-
const activeConversationIdRef =
|
|
33722
|
+
const activeConversationIdRef = useRef44(activeConversationId);
|
|
33700
33723
|
activeConversationIdRef.current = activeConversationId;
|
|
33701
33724
|
const controller = useMemo37(
|
|
33702
33725
|
() => new AgentGUIConversationRailQueryController({
|
|
@@ -33804,13 +33827,13 @@ import {
|
|
|
33804
33827
|
useCallback as useCallback55,
|
|
33805
33828
|
useEffect as useEffect34,
|
|
33806
33829
|
useMemo as useMemo39,
|
|
33807
|
-
useRef as
|
|
33830
|
+
useRef as useRef47,
|
|
33808
33831
|
useState as useState41
|
|
33809
33832
|
} from "react";
|
|
33810
33833
|
import { ScrollArea as ScrollArea3 } from "@tutti-os/ui-system/components";
|
|
33811
33834
|
|
|
33812
33835
|
// agent-gui/agentGuiNode/view/agentGUIDetailModelHelpers.ts
|
|
33813
|
-
import { useRef as
|
|
33836
|
+
import { useRef as useRef45 } from "react";
|
|
33814
33837
|
function commandAppSource(command) {
|
|
33815
33838
|
if (!command || typeof command !== "object" || !("source" in command)) {
|
|
33816
33839
|
return null;
|
|
@@ -33890,7 +33913,7 @@ function slashStatusesEqual(left, right) {
|
|
|
33890
33913
|
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);
|
|
33891
33914
|
}
|
|
33892
33915
|
function useStableSlashStatus(status) {
|
|
33893
|
-
const statusRef =
|
|
33916
|
+
const statusRef = useRef45(null);
|
|
33894
33917
|
if (statusRef.current === null || !slashStatusesEqual(statusRef.current, status)) {
|
|
33895
33918
|
statusRef.current = status;
|
|
33896
33919
|
}
|
|
@@ -34430,7 +34453,7 @@ import {
|
|
|
34430
34453
|
useCallback as useCallback54,
|
|
34431
34454
|
useEffect as useEffect33,
|
|
34432
34455
|
useLayoutEffect as useLayoutEffect7,
|
|
34433
|
-
useRef as
|
|
34456
|
+
useRef as useRef46,
|
|
34434
34457
|
useState as useState39
|
|
34435
34458
|
} from "react";
|
|
34436
34459
|
var AGENT_GUI_STICK_TO_BOTTOM_THRESHOLD_PX = 24;
|
|
@@ -34452,8 +34475,8 @@ function useAgentGUIDetailScroll(input) {
|
|
|
34452
34475
|
} = input;
|
|
34453
34476
|
const [isTimelineScrolledToTop, setIsTimelineScrolledToTop] = useState39(true);
|
|
34454
34477
|
const [isTimelineScrolledToBottom, setIsTimelineScrolledToBottom] = useState39(true);
|
|
34455
|
-
const bottomLockOwnerRef =
|
|
34456
|
-
const userScrollAwayIntentConversationRef =
|
|
34478
|
+
const bottomLockOwnerRef = useRef46(null);
|
|
34479
|
+
const userScrollAwayIntentConversationRef = useRef46(null);
|
|
34457
34480
|
useLayoutEffect7(() => {
|
|
34458
34481
|
const timeline = timelineRef.current;
|
|
34459
34482
|
if (!timeline) {
|
|
@@ -35450,11 +35473,11 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
35450
35473
|
renderProviderUnavailableState
|
|
35451
35474
|
}) {
|
|
35452
35475
|
"use memo";
|
|
35453
|
-
const timelineRef =
|
|
35454
|
-
const bottomDockRef =
|
|
35455
|
-
const timelineScrollAnchorRef =
|
|
35456
|
-
const submittedPromptScrollConversationRef =
|
|
35457
|
-
const pendingPrependScrollAnchorRef =
|
|
35476
|
+
const timelineRef = useRef47(null);
|
|
35477
|
+
const bottomDockRef = useRef47(null);
|
|
35478
|
+
const timelineScrollAnchorRef = useRef47(null);
|
|
35479
|
+
const submittedPromptScrollConversationRef = useRef47(null);
|
|
35480
|
+
const pendingPrependScrollAnchorRef = useRef47(null);
|
|
35458
35481
|
const [
|
|
35459
35482
|
bottomDockDismissedPromptRequestId,
|
|
35460
35483
|
setBottomDockDismissedPromptRequestId
|
|
@@ -35936,7 +35959,7 @@ var AgentGUIDetailPane = memo12(function AgentGUIDetailPane2({
|
|
|
35936
35959
|
});
|
|
35937
35960
|
|
|
35938
35961
|
// agent-gui/agentGuiNode/view/AgentGUIRenameConversationDialog.tsx
|
|
35939
|
-
import { memo as memo13, useCallback as useCallback56, useEffect as useEffect35, useRef as
|
|
35962
|
+
import { memo as memo13, useCallback as useCallback56, useEffect as useEffect35, useRef as useRef48, useState as useState42 } from "react";
|
|
35940
35963
|
import { ConfirmationDialog as ConfirmationDialog4, Input as Input4 } from "@tutti-os/ui-system";
|
|
35941
35964
|
import { jsx as jsx71, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
35942
35965
|
var AgentGUIRenameConversationDialog = memo13(
|
|
@@ -35950,9 +35973,9 @@ var AgentGUIRenameConversationDialog = memo13(
|
|
|
35950
35973
|
"use memo";
|
|
35951
35974
|
const [title, setTitle] = useState42("");
|
|
35952
35975
|
const [isSaving, setIsSaving] = useState42(false);
|
|
35953
|
-
const isSavingRef =
|
|
35954
|
-
const armedPointerActionRef =
|
|
35955
|
-
const inputRef =
|
|
35976
|
+
const isSavingRef = useRef48(false);
|
|
35977
|
+
const armedPointerActionRef = useRef48(null);
|
|
35978
|
+
const inputRef = useRef48(null);
|
|
35956
35979
|
const trimmedTitle = title.trim();
|
|
35957
35980
|
useEffect35(() => {
|
|
35958
35981
|
if (!open || !conversation) {
|
|
@@ -36135,6 +36158,7 @@ function AgentGUIReferencePickerSurface({
|
|
|
36135
36158
|
initialTarget,
|
|
36136
36159
|
isNodeSelectable,
|
|
36137
36160
|
open,
|
|
36161
|
+
purpose,
|
|
36138
36162
|
provenanceFilter,
|
|
36139
36163
|
resolveEntryIconUrl,
|
|
36140
36164
|
workspaceId,
|
|
@@ -36151,6 +36175,7 @@ function AgentGUIReferencePickerSurface({
|
|
|
36151
36175
|
isNodeSelectable,
|
|
36152
36176
|
fileManagerCopy: fileManagerCopy ?? void 0,
|
|
36153
36177
|
open,
|
|
36178
|
+
purpose,
|
|
36154
36179
|
provenanceFilter: provenanceFilter?.snapshot.value,
|
|
36155
36180
|
provenanceFilterControl: provenanceFilter ? /* @__PURE__ */ jsx72(
|
|
36156
36181
|
AgentReferenceProvenanceFilterControl,
|
|
@@ -36240,12 +36265,13 @@ function AgentTargetSetupRoot({
|
|
|
36240
36265
|
}
|
|
36241
36266
|
|
|
36242
36267
|
// agent-gui/agentGuiNode/view/useAgentGUIWorkspaceReferencePicker.ts
|
|
36243
|
-
import { useCallback as useCallback58, useMemo as useMemo41, useRef as
|
|
36268
|
+
import { useCallback as useCallback58, useMemo as useMemo41, useRef as useRef49, useState as useState43 } from "react";
|
|
36244
36269
|
import { createRichTextMentionHref } from "@tutti-os/ui-rich-text/core";
|
|
36245
36270
|
function useAgentGUIWorkspaceReferencePicker(input) {
|
|
36246
36271
|
const {
|
|
36247
36272
|
onWorkspaceFileReferencesAdded,
|
|
36248
36273
|
previewMode,
|
|
36274
|
+
projectDirectorySourceAggregator,
|
|
36249
36275
|
referenceSourceAggregator,
|
|
36250
36276
|
resolveMentionReferenceTarget,
|
|
36251
36277
|
resolveWorkspaceReferenceInitialTarget,
|
|
@@ -36254,16 +36280,23 @@ function useAgentGUIWorkspaceReferencePicker(input) {
|
|
|
36254
36280
|
workspaceFileReferenceCopy
|
|
36255
36281
|
} = input;
|
|
36256
36282
|
const [workspaceReferencePickerOpen, setWorkspaceReferencePickerOpen] = useState43(false);
|
|
36283
|
+
const [workspaceReferencePickerPurpose, setWorkspaceReferencePickerPurpose] = useState43("reference");
|
|
36257
36284
|
const [workspaceReferencePickerTarget, setWorkspaceReferencePickerTarget] = useState43(null);
|
|
36258
|
-
const workspaceReferencePickerResolverRef =
|
|
36285
|
+
const workspaceReferencePickerResolverRef = useRef49(null);
|
|
36286
|
+
const projectDirectoryPickerResolverRef = useRef49(null);
|
|
36259
36287
|
const emptyReferencePickResult = useMemo41(
|
|
36260
36288
|
() => ({ files: [], mentionItems: [] }),
|
|
36261
36289
|
[]
|
|
36262
36290
|
);
|
|
36263
36291
|
const hostLocalFileSourceId = "host-local-file";
|
|
36264
36292
|
const isWorkspaceReferencePickerNodeSelectable = useCallback58(
|
|
36265
|
-
(node) =>
|
|
36266
|
-
|
|
36293
|
+
(node) => {
|
|
36294
|
+
if (workspaceReferencePickerPurpose === "directory") {
|
|
36295
|
+
return node.kind === "folder";
|
|
36296
|
+
}
|
|
36297
|
+
return node.ref.sourceId !== hostLocalFileSourceId || node.kind === "file";
|
|
36298
|
+
},
|
|
36299
|
+
[hostLocalFileSourceId, workspaceReferencePickerPurpose]
|
|
36267
36300
|
);
|
|
36268
36301
|
const requestWorkspaceReferences = useCallback58(
|
|
36269
36302
|
async (entity) => {
|
|
@@ -36279,8 +36312,12 @@ function useAgentGUIWorkspaceReferencePicker(input) {
|
|
|
36279
36312
|
userProjects: viewModel.rail.userProjects
|
|
36280
36313
|
}) ?? null : null;
|
|
36281
36314
|
setWorkspaceReferencePickerTarget(target);
|
|
36315
|
+
setWorkspaceReferencePickerPurpose("reference");
|
|
36282
36316
|
setWorkspaceReferencePickerOpen(true);
|
|
36283
36317
|
return await new Promise((resolve) => {
|
|
36318
|
+
workspaceReferencePickerResolverRef.current?.(emptyReferencePickResult);
|
|
36319
|
+
projectDirectoryPickerResolverRef.current?.(null);
|
|
36320
|
+
projectDirectoryPickerResolverRef.current = null;
|
|
36284
36321
|
workspaceReferencePickerResolverRef.current = resolve;
|
|
36285
36322
|
});
|
|
36286
36323
|
},
|
|
@@ -36297,11 +36334,28 @@ function useAgentGUIWorkspaceReferencePicker(input) {
|
|
|
36297
36334
|
workspaceFileReferenceCopy
|
|
36298
36335
|
]
|
|
36299
36336
|
);
|
|
36337
|
+
const requestProjectDirectory = useCallback58(async () => {
|
|
36338
|
+
if (previewMode || !projectDirectorySourceAggregator) {
|
|
36339
|
+
return null;
|
|
36340
|
+
}
|
|
36341
|
+
setWorkspaceReferencePickerTarget(null);
|
|
36342
|
+
setWorkspaceReferencePickerPurpose("directory");
|
|
36343
|
+
setWorkspaceReferencePickerOpen(true);
|
|
36344
|
+
return await new Promise((resolve) => {
|
|
36345
|
+
workspaceReferencePickerResolverRef.current?.(emptyReferencePickResult);
|
|
36346
|
+
workspaceReferencePickerResolverRef.current = null;
|
|
36347
|
+
projectDirectoryPickerResolverRef.current?.(null);
|
|
36348
|
+
projectDirectoryPickerResolverRef.current = resolve;
|
|
36349
|
+
});
|
|
36350
|
+
}, [emptyReferencePickResult, previewMode, projectDirectorySourceAggregator]);
|
|
36300
36351
|
const closeWorkspaceReferencePicker = useCallback58(() => {
|
|
36301
36352
|
workspaceReferencePickerResolverRef.current?.(emptyReferencePickResult);
|
|
36302
36353
|
workspaceReferencePickerResolverRef.current = null;
|
|
36354
|
+
projectDirectoryPickerResolverRef.current?.(null);
|
|
36355
|
+
projectDirectoryPickerResolverRef.current = null;
|
|
36303
36356
|
setWorkspaceReferencePickerOpen(false);
|
|
36304
36357
|
setWorkspaceReferencePickerTarget(null);
|
|
36358
|
+
setWorkspaceReferencePickerPurpose("reference");
|
|
36305
36359
|
}, [emptyReferencePickResult]);
|
|
36306
36360
|
const settleReferencePicker = useCallback58(
|
|
36307
36361
|
(result, addedFiles) => {
|
|
@@ -36309,6 +36363,7 @@ function useAgentGUIWorkspaceReferencePicker(input) {
|
|
|
36309
36363
|
workspaceReferencePickerResolverRef.current = null;
|
|
36310
36364
|
setWorkspaceReferencePickerOpen(false);
|
|
36311
36365
|
setWorkspaceReferencePickerTarget(null);
|
|
36366
|
+
setWorkspaceReferencePickerPurpose("reference");
|
|
36312
36367
|
if (addedFiles.length > 0) {
|
|
36313
36368
|
void onWorkspaceFileReferencesAdded?.(addedFiles);
|
|
36314
36369
|
}
|
|
@@ -36317,9 +36372,20 @@ function useAgentGUIWorkspaceReferencePicker(input) {
|
|
|
36317
36372
|
);
|
|
36318
36373
|
const confirmWorkspaceReferencePicker = useCallback58(
|
|
36319
36374
|
(refs) => {
|
|
36375
|
+
if (workspaceReferencePickerPurpose === "directory") {
|
|
36376
|
+
const directory = refs.find((ref) => ref.kind === "folder") ?? null;
|
|
36377
|
+
projectDirectoryPickerResolverRef.current?.(
|
|
36378
|
+
directory ? { path: directory.path } : null
|
|
36379
|
+
);
|
|
36380
|
+
projectDirectoryPickerResolverRef.current = null;
|
|
36381
|
+
setWorkspaceReferencePickerOpen(false);
|
|
36382
|
+
setWorkspaceReferencePickerTarget(null);
|
|
36383
|
+
setWorkspaceReferencePickerPurpose("reference");
|
|
36384
|
+
return;
|
|
36385
|
+
}
|
|
36320
36386
|
settleReferencePicker({ files: refs, mentionItems: [] }, refs);
|
|
36321
36387
|
},
|
|
36322
|
-
[settleReferencePicker]
|
|
36388
|
+
[settleReferencePicker, workspaceReferencePickerPurpose]
|
|
36323
36389
|
);
|
|
36324
36390
|
const confirmWorkspaceReferenceBundles = useCallback58(
|
|
36325
36391
|
(result) => {
|
|
@@ -36363,14 +36429,17 @@ function useAgentGUIWorkspaceReferencePicker(input) {
|
|
|
36363
36429
|
confirmWorkspaceReferenceBundles,
|
|
36364
36430
|
confirmWorkspaceReferencePicker,
|
|
36365
36431
|
isWorkspaceReferencePickerNodeSelectable,
|
|
36432
|
+
requestProjectDirectory,
|
|
36366
36433
|
requestWorkspaceReferences,
|
|
36434
|
+
workspaceReferencePickerAggregator: workspaceReferencePickerPurpose === "directory" ? projectDirectorySourceAggregator ?? null : referenceSourceAggregator ?? null,
|
|
36367
36435
|
workspaceReferencePickerOpen,
|
|
36436
|
+
workspaceReferencePickerPurpose,
|
|
36368
36437
|
workspaceReferencePickerTarget
|
|
36369
36438
|
};
|
|
36370
36439
|
}
|
|
36371
36440
|
|
|
36372
36441
|
// agent-gui/agentGuiNode/engagement/useAgentGUINodeEngagement.ts
|
|
36373
|
-
import { useRef as
|
|
36442
|
+
import { useRef as useRef51 } from "react";
|
|
36374
36443
|
|
|
36375
36444
|
// agent-gui/agentGuiNode/engagement/projectAgentGUIEngagementContext.ts
|
|
36376
36445
|
function projectAgentGUIEngagementContext(viewModel, composerReady) {
|
|
@@ -36402,7 +36471,7 @@ function createAgentGUIEngagementContextKey(input) {
|
|
|
36402
36471
|
}
|
|
36403
36472
|
|
|
36404
36473
|
// agent-gui/agentGuiNode/engagement/useAgentGUIPanelEngagement.ts
|
|
36405
|
-
import { useEffect as useEffect36, useRef as
|
|
36474
|
+
import { useEffect as useEffect36, useRef as useRef50 } from "react";
|
|
36406
36475
|
|
|
36407
36476
|
// agent-gui/agentGuiNode/engagement/AgentGUIPanelEngagementController.ts
|
|
36408
36477
|
var AGENT_GUI_PANEL_EXPOSURE_DWELL_MS = 1e3;
|
|
@@ -36556,10 +36625,10 @@ function documentIsVisible() {
|
|
|
36556
36625
|
|
|
36557
36626
|
// agent-gui/agentGuiNode/engagement/useAgentGUIPanelEngagement.ts
|
|
36558
36627
|
function useAgentGUIPanelEngagement(input) {
|
|
36559
|
-
const inputRef =
|
|
36560
|
-
const controllerRef =
|
|
36561
|
-
const intersectionRatioRef =
|
|
36562
|
-
const engagementRef =
|
|
36628
|
+
const inputRef = useRef50(input);
|
|
36629
|
+
const controllerRef = useRef50(null);
|
|
36630
|
+
const intersectionRatioRef = useRef50(0);
|
|
36631
|
+
const engagementRef = useRef50(null);
|
|
36563
36632
|
inputRef.current = input;
|
|
36564
36633
|
if (!engagementRef.current) {
|
|
36565
36634
|
engagementRef.current = {
|
|
@@ -36599,7 +36668,7 @@ function useAgentGUIPanelEngagement(input) {
|
|
|
36599
36668
|
|
|
36600
36669
|
// agent-gui/agentGuiNode/engagement/useAgentGUINodeEngagement.ts
|
|
36601
36670
|
function useAgentGUINodeEngagement(input) {
|
|
36602
|
-
const layoutElementRef =
|
|
36671
|
+
const layoutElementRef = useRef51(null);
|
|
36603
36672
|
const projected = projectAgentGUIEngagementContext(
|
|
36604
36673
|
input.viewModel,
|
|
36605
36674
|
input.composerReady
|
|
@@ -36618,7 +36687,7 @@ function useAgentGUINodeEngagement(input) {
|
|
|
36618
36687
|
}
|
|
36619
36688
|
|
|
36620
36689
|
// agent-gui/agentGuiNode/view/useAgentGUIExternalRequests.ts
|
|
36621
|
-
import { useCallback as useCallback59, useEffect as useEffect37, useRef as
|
|
36690
|
+
import { useCallback as useCallback59, useEffect as useEffect37, useRef as useRef52 } from "react";
|
|
36622
36691
|
function resolveSessionActionConversation(viewModel, agentSessionId) {
|
|
36623
36692
|
const active = viewModel.rail.activeConversation;
|
|
36624
36693
|
if (!agentSessionId) {
|
|
@@ -36644,17 +36713,17 @@ function useAgentGUIExternalRequests(input) {
|
|
|
36644
36713
|
viewModel
|
|
36645
36714
|
} = input;
|
|
36646
36715
|
const agentHostApi = useOptionalAgentHostApi();
|
|
36647
|
-
const railInteractionLockProbeRef =
|
|
36716
|
+
const railInteractionLockProbeRef = useRef52(null);
|
|
36648
36717
|
const registerRailInteractionLockProbe = useCallback59(
|
|
36649
36718
|
(probe) => {
|
|
36650
36719
|
railInteractionLockProbeRef.current = probe;
|
|
36651
36720
|
},
|
|
36652
36721
|
[]
|
|
36653
36722
|
);
|
|
36654
|
-
const handledNewConversationRequestSequenceRef =
|
|
36723
|
+
const handledNewConversationRequestSequenceRef = useRef52(
|
|
36655
36724
|
newConversationRequestSequence
|
|
36656
36725
|
);
|
|
36657
|
-
const handledSessionActionRequestSequenceRef =
|
|
36726
|
+
const handledSessionActionRequestSequenceRef = useRef52(
|
|
36658
36727
|
sessionActionRequest?.sequence ?? null
|
|
36659
36728
|
);
|
|
36660
36729
|
const copyConversationValue = useAgentGUIConversationCopyAction(labels);
|
|
@@ -36756,6 +36825,7 @@ function AgentGUINodeView({
|
|
|
36756
36825
|
selectProjectDirectory,
|
|
36757
36826
|
workspaceFileReferenceCopy = null,
|
|
36758
36827
|
onRequestGitBranches = null,
|
|
36828
|
+
projectDirectorySourceAggregator = null,
|
|
36759
36829
|
referenceSourceAggregator = null,
|
|
36760
36830
|
resolveWorkspaceReferenceEntryIconUrl,
|
|
36761
36831
|
resolveMentionReferenceTarget = null,
|
|
@@ -36775,7 +36845,7 @@ function AgentGUINodeView({
|
|
|
36775
36845
|
viewModel
|
|
36776
36846
|
});
|
|
36777
36847
|
const [providerManagerOpen, setProviderManagerOpen] = useState44(false);
|
|
36778
|
-
const railResizeInteractionRef =
|
|
36848
|
+
const railResizeInteractionRef = useRef53(null);
|
|
36779
36849
|
const [isRailResizing, setIsRailResizing] = useState44(false);
|
|
36780
36850
|
const [railResizeWidthPx, setRailResizeWidthPx] = useState44(
|
|
36781
36851
|
null
|
|
@@ -36789,12 +36859,16 @@ function AgentGUINodeView({
|
|
|
36789
36859
|
confirmWorkspaceReferenceBundles,
|
|
36790
36860
|
confirmWorkspaceReferencePicker,
|
|
36791
36861
|
isWorkspaceReferencePickerNodeSelectable,
|
|
36862
|
+
requestProjectDirectory,
|
|
36792
36863
|
requestWorkspaceReferences,
|
|
36864
|
+
workspaceReferencePickerAggregator,
|
|
36793
36865
|
workspaceReferencePickerOpen,
|
|
36866
|
+
workspaceReferencePickerPurpose,
|
|
36794
36867
|
workspaceReferencePickerTarget
|
|
36795
36868
|
} = useAgentGUIWorkspaceReferencePicker({
|
|
36796
36869
|
onWorkspaceFileReferencesAdded,
|
|
36797
36870
|
previewMode,
|
|
36871
|
+
projectDirectorySourceAggregator,
|
|
36798
36872
|
referenceSourceAggregator,
|
|
36799
36873
|
resolveMentionReferenceTarget,
|
|
36800
36874
|
resolveWorkspaceReferenceInitialTarget,
|
|
@@ -36802,6 +36876,7 @@ function AgentGUINodeView({
|
|
|
36802
36876
|
workspaceFileReferenceAdapter,
|
|
36803
36877
|
workspaceFileReferenceCopy
|
|
36804
36878
|
});
|
|
36879
|
+
const effectiveSelectProjectDirectory = projectDirectorySourceAggregator ? requestProjectDirectory : selectProjectDirectory;
|
|
36805
36880
|
const createConversationDisabled = viewModel.rail.selectedAgentTarget.disabled === true;
|
|
36806
36881
|
const createConversationAction = useStableEventCallback(
|
|
36807
36882
|
actions.createConversation
|
|
@@ -37088,7 +37163,7 @@ function AgentGUINodeView({
|
|
|
37088
37163
|
onConfirmDeleteConversation: confirmDeleteConversation,
|
|
37089
37164
|
onOpenProjectFiles: openProjectFiles,
|
|
37090
37165
|
onOpenConversationWindow: openConversationWindow,
|
|
37091
|
-
selectProjectDirectory
|
|
37166
|
+
selectProjectDirectory: effectiveSelectProjectDirectory
|
|
37092
37167
|
}),
|
|
37093
37168
|
[
|
|
37094
37169
|
cancelDeleteConversation,
|
|
@@ -37110,7 +37185,7 @@ function AgentGUINodeView({
|
|
|
37110
37185
|
requestDeleteConversation,
|
|
37111
37186
|
requestRenameConversation,
|
|
37112
37187
|
selectConversation,
|
|
37113
|
-
|
|
37188
|
+
effectiveSelectProjectDirectory,
|
|
37114
37189
|
sectionAgentTargetFallbackId,
|
|
37115
37190
|
viewModel.rail.agentTargets,
|
|
37116
37191
|
viewModel.rail.agentTargetsLoading,
|
|
@@ -37304,7 +37379,7 @@ function AgentGUINodeView({
|
|
|
37304
37379
|
resolveExternalPromptEntries,
|
|
37305
37380
|
prepareExternalPromptFiles,
|
|
37306
37381
|
promptAssetLimit,
|
|
37307
|
-
selectProjectDirectory,
|
|
37382
|
+
selectProjectDirectory: effectiveSelectProjectDirectory,
|
|
37308
37383
|
onRequestGitBranches,
|
|
37309
37384
|
onRequestComposerFocus: requestComposerFocus,
|
|
37310
37385
|
workspaceAppIcons: effectiveWorkspaceAppIcons,
|
|
@@ -37319,7 +37394,7 @@ function AgentGUINodeView({
|
|
|
37319
37394
|
/* @__PURE__ */ jsx74(
|
|
37320
37395
|
AgentGUIReferencePickerSurface,
|
|
37321
37396
|
{
|
|
37322
|
-
aggregator:
|
|
37397
|
+
aggregator: workspaceReferencePickerAggregator,
|
|
37323
37398
|
copy: workspaceFileReferenceCopy ?? fallbackWorkspaceFileReferenceCopy,
|
|
37324
37399
|
fileAdapter: workspaceFileReferenceAdapter,
|
|
37325
37400
|
fileManagerCopy: workspaceFileManagerCopy,
|
|
@@ -37327,12 +37402,13 @@ function AgentGUINodeView({
|
|
|
37327
37402
|
initialTarget: workspaceReferencePickerTarget,
|
|
37328
37403
|
isNodeSelectable: isWorkspaceReferencePickerNodeSelectable,
|
|
37329
37404
|
open: workspaceReferencePickerOpen,
|
|
37405
|
+
purpose: workspaceReferencePickerPurpose,
|
|
37330
37406
|
provenanceFilter: referenceProvenanceFilter,
|
|
37331
37407
|
resolveEntryIconUrl: resolveWorkspaceReferenceEntryIconUrl,
|
|
37332
37408
|
workspaceId: viewModel.shell.workspaceId,
|
|
37333
37409
|
onClose: closeWorkspaceReferencePicker,
|
|
37334
37410
|
onConfirm: confirmWorkspaceReferencePicker,
|
|
37335
|
-
onConfirmBundles: confirmWorkspaceReferenceBundles
|
|
37411
|
+
onConfirmBundles: workspaceReferencePickerPurpose === "reference" ? confirmWorkspaceReferenceBundles : void 0
|
|
37336
37412
|
}
|
|
37337
37413
|
),
|
|
37338
37414
|
/* @__PURE__ */ jsx74(
|
|
@@ -37530,7 +37606,7 @@ import {
|
|
|
37530
37606
|
useCallback as useCallback61,
|
|
37531
37607
|
useEffect as useEffect39,
|
|
37532
37608
|
useLayoutEffect as useLayoutEffect9,
|
|
37533
|
-
useRef as
|
|
37609
|
+
useRef as useRef54,
|
|
37534
37610
|
useState as useState45
|
|
37535
37611
|
} from "react";
|
|
37536
37612
|
import { createPortal as createPortal5 } from "react-dom";
|
|
@@ -37568,8 +37644,8 @@ function AgentProbeInfoPopover({
|
|
|
37568
37644
|
onOpen
|
|
37569
37645
|
}) {
|
|
37570
37646
|
"use memo";
|
|
37571
|
-
const anchorRef =
|
|
37572
|
-
const popoverRef =
|
|
37647
|
+
const anchorRef = useRef54(null);
|
|
37648
|
+
const popoverRef = useRef54(null);
|
|
37573
37649
|
const [isOpen, setIsOpen] = useState45(false);
|
|
37574
37650
|
const [popoverStyle, setPopoverStyle] = useState45(null);
|
|
37575
37651
|
const openPopover = useCallback61(() => {
|
|
@@ -37775,7 +37851,7 @@ function areAgentGUINodePropsEqual(previous, next) {
|
|
|
37775
37851
|
const pc = previous.hostCapabilities, nc = next.hostCapabilities;
|
|
37776
37852
|
const pa = previous.hostActions, na = next.hostActions;
|
|
37777
37853
|
const ps = previous.renderSlots, ns = next.renderSlots;
|
|
37778
|
-
return pi.nodeId === ni.nodeId && pi.workspaceId === ni.workspaceId && pi.currentUserId === ni.currentUserId && pi.title === ni.title && pw.path === nw.path && pw.fileReferenceAdapter === nw.fileReferenceAdapter && pw.onRequestGitBranches === nw.onRequestGitBranches && pw.selectProjectDirectory === nw.selectProjectDirectory && pw.resolveExternalPromptEntries === nw.resolveExternalPromptEntries && pw.prepareExternalPromptFiles === nw.prepareExternalPromptFiles && pw.promptAssetLimit === nw.promptAssetLimit && pw.referenceSourceAggregator === nw.referenceSourceAggregator && pw.resolveReferenceEntryIconUrl === nw.resolveReferenceEntryIconUrl && pw.resolveMentionReferenceTarget === nw.resolveMentionReferenceTarget && pw.resolveReferenceInitialTarget === nw.resolveReferenceInitialTarget && pw.onFileReferencesAdded === nw.onFileReferencesAdded && pw.agentSettings.avoidGroupingEdits === nw.agentSettings.avoidGroupingEdits && pc.referenceProvenanceFilterCatalog === nc.referenceProvenanceFilterCatalog && pc.referenceProvenanceFilterEnabled === nc.referenceProvenanceFilterEnabled && agentGuiStateEquals(previous.state, next.state) && pf.position.x === nf.position.x && pf.position.y === nf.position.y && pf.width === nf.width && pf.height === nf.height && pf.desktopSize.width === nf.desktopSize.width && pf.desktopSize.height === nf.desktopSize.height && pf.isMaximized === nf.isMaximized && pf.isActive === nf.isActive && pf.isVisible === nf.isVisible && pf.embedded === nf.embedded && pf.previewMode === nf.previewMode && pf.conversationRailAutoCollapseWidthPx === nf.conversationRailAutoCollapseWidthPx && pr.composerFocusSequence === nr.composerFocusSequence && pr.composerAppend === nr.composerAppend && pr.newConversationSequence === nr.newConversationSequence && pr.sessionAction === nr.sessionAction && pr.openSession === nr.openSession && pr.prefillPrompt === nr.prefillPrompt && pr.agentProbes === nr.agentProbes && pr.onProbeDemandChange === nr.onProbeDemandChange && pr.onProbeRefreshRequest === nr.onProbeRefreshRequest && pc.capabilityMenuState === nc.capabilityMenuState && pc.accountMenuState === nc.accountMenuState && pc.agentTargets === nc.agentTargets && pc.agentTargetsLoading === nc.agentTargetsLoading && pc.handoffAgentTargets === nc.handoffAgentTargets && pc.handoffAgentTargetsLoading === nc.handoffAgentTargetsLoading && pc.providerRailAllPresentation?.iconUrl === nc.providerRailAllPresentation?.iconUrl && pc.providerRailMode === nc.providerRailMode && pc.comingSoonProviders === nc.comingSoonProviders && pc.providerReadinessGates === nc.providerReadinessGates && pc.defaultAgentTargetId === nc.defaultAgentTargetId && pc.providerAuthAccountLabels === nc.providerAuthAccountLabels && pc.mentionService === nc.mentionService && pc.workspaceAppIcons === nc.workspaceAppIcons && pc.disabledHomeSuggestions === nc.disabledHomeSuggestions && pa.onLinkAction === na.onLinkAction && pa.onHandoffConversation === na.onHandoffConversation && pa.onCapabilitySettingsRequest === na.onCapabilitySettingsRequest && pa.onAgentProviderLogin === na.onAgentProviderLogin && pa.onAgentEnvPanelOpen === na.onAgentEnvPanelOpen && pa.onOpenConversationWindow === na.onOpenConversationWindow && pa.onClose === na.onClose && pa.onResize === na.onResize && pa.onUpdateNode === na.onUpdateNode && pa.onRememberComposerDefaults === na.onRememberComposerDefaults && pa.isMuted === na.isMuted && pa.onMinimize === na.onMinimize && pa.onToggleMaximize === na.onToggleMaximize && pa.onShowMessage === na.onShowMessage && pa.onEngagementEvent === na.onEngagementEvent && ps.providerRailEmpty === ns.providerRailEmpty && ps.providerUnavailableState === ns.providerUnavailableState && ps.sidebarFooter === ns.sidebarFooter;
|
|
37854
|
+
return pi.nodeId === ni.nodeId && pi.workspaceId === ni.workspaceId && pi.currentUserId === ni.currentUserId && pi.title === ni.title && pw.path === nw.path && pw.fileReferenceAdapter === nw.fileReferenceAdapter && pw.onRequestGitBranches === nw.onRequestGitBranches && pw.selectProjectDirectory === nw.selectProjectDirectory && pw.resolveExternalPromptEntries === nw.resolveExternalPromptEntries && pw.prepareExternalPromptFiles === nw.prepareExternalPromptFiles && pw.promptAssetLimit === nw.promptAssetLimit && pw.projectDirectorySourceAggregator === nw.projectDirectorySourceAggregator && pw.referenceSourceAggregator === nw.referenceSourceAggregator && pw.resolveReferenceEntryIconUrl === nw.resolveReferenceEntryIconUrl && pw.resolveMentionReferenceTarget === nw.resolveMentionReferenceTarget && pw.resolveReferenceInitialTarget === nw.resolveReferenceInitialTarget && pw.onFileReferencesAdded === nw.onFileReferencesAdded && pw.agentSettings.avoidGroupingEdits === nw.agentSettings.avoidGroupingEdits && pc.referenceProvenanceFilterCatalog === nc.referenceProvenanceFilterCatalog && pc.referenceProvenanceFilterEnabled === nc.referenceProvenanceFilterEnabled && agentGuiStateEquals(previous.state, next.state) && pf.position.x === nf.position.x && pf.position.y === nf.position.y && pf.width === nf.width && pf.height === nf.height && pf.desktopSize.width === nf.desktopSize.width && pf.desktopSize.height === nf.desktopSize.height && pf.isMaximized === nf.isMaximized && pf.isActive === nf.isActive && pf.isVisible === nf.isVisible && pf.embedded === nf.embedded && pf.previewMode === nf.previewMode && pf.conversationRailAutoCollapseWidthPx === nf.conversationRailAutoCollapseWidthPx && pr.composerFocusSequence === nr.composerFocusSequence && pr.composerAppend === nr.composerAppend && pr.newConversationSequence === nr.newConversationSequence && pr.sessionAction === nr.sessionAction && pr.openSession === nr.openSession && pr.prefillPrompt === nr.prefillPrompt && pr.agentProbes === nr.agentProbes && pr.onProbeDemandChange === nr.onProbeDemandChange && pr.onProbeRefreshRequest === nr.onProbeRefreshRequest && pc.capabilityMenuState === nc.capabilityMenuState && pc.accountMenuState === nc.accountMenuState && pc.agentTargets === nc.agentTargets && pc.agentTargetsLoading === nc.agentTargetsLoading && pc.handoffAgentTargets === nc.handoffAgentTargets && pc.handoffAgentTargetsLoading === nc.handoffAgentTargetsLoading && pc.providerRailAllPresentation?.iconUrl === nc.providerRailAllPresentation?.iconUrl && pc.providerRailMode === nc.providerRailMode && pc.comingSoonProviders === nc.comingSoonProviders && pc.providerReadinessGates === nc.providerReadinessGates && pc.defaultAgentTargetId === nc.defaultAgentTargetId && pc.providerAuthAccountLabels === nc.providerAuthAccountLabels && pc.mentionService === nc.mentionService && pc.workspaceAppIcons === nc.workspaceAppIcons && pc.disabledHomeSuggestions === nc.disabledHomeSuggestions && pa.onLinkAction === na.onLinkAction && pa.onHandoffConversation === na.onHandoffConversation && pa.onCapabilitySettingsRequest === na.onCapabilitySettingsRequest && pa.onAgentProviderLogin === na.onAgentProviderLogin && pa.onAgentEnvPanelOpen === na.onAgentEnvPanelOpen && pa.onOpenConversationWindow === na.onOpenConversationWindow && pa.onClose === na.onClose && pa.onResize === na.onResize && pa.onUpdateNode === na.onUpdateNode && pa.onRememberComposerDefaults === na.onRememberComposerDefaults && pa.isMuted === na.isMuted && pa.onMinimize === na.onMinimize && pa.onToggleMaximize === na.onToggleMaximize && pa.onShowMessage === na.onShowMessage && pa.onEngagementEvent === na.onEngagementEvent && ps.providerRailEmpty === ns.providerRailEmpty && ps.providerUnavailableState === ns.providerUnavailableState && ps.sidebarFooter === ns.sidebarFooter;
|
|
37779
37855
|
}
|
|
37780
37856
|
|
|
37781
37857
|
// agent-gui/agentGuiNode/AgentGUIMentionServiceBoundary.tsx
|
|
@@ -38126,6 +38202,10 @@ function useAgentGUIConversationRailLabels(t) {
|
|
|
38126
38202
|
}
|
|
38127
38203
|
var workspaceFileReferenceLocaleKeyByPickerKey = {
|
|
38128
38204
|
"actions.cancel": "common.cancel",
|
|
38205
|
+
"directoryPicker.confirm": "agentHost.agentGui.directoryPicker.confirm",
|
|
38206
|
+
"directoryPicker.emptySearch": "agentHost.agentGui.directoryPicker.emptySearch",
|
|
38207
|
+
"directoryPicker.searchPlaceholder": "agentHost.agentGui.directoryPicker.searchPlaceholder",
|
|
38208
|
+
"directoryPicker.title": "agentHost.agentGui.directoryPicker.title",
|
|
38129
38209
|
"referencePicker.confirm": "agentHost.agentGui.referencePicker.confirm",
|
|
38130
38210
|
"referencePicker.clearFilter": "agentHost.agentGui.referencePicker.clearFilter",
|
|
38131
38211
|
"referencePicker.emptyDirectory": "agentHost.agentGui.referencePicker.emptyDirectory",
|
|
@@ -38929,6 +39009,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
38929
39009
|
resolveExternalPromptEntries = null,
|
|
38930
39010
|
prepareExternalPromptFiles = null,
|
|
38931
39011
|
promptAssetLimit = null,
|
|
39012
|
+
projectDirectorySourceAggregator = null,
|
|
38932
39013
|
referenceSourceAggregator = null,
|
|
38933
39014
|
resolveReferenceEntryIconUrl: resolveWorkspaceReferenceEntryIconUrl,
|
|
38934
39015
|
resolveMentionReferenceTarget = null,
|
|
@@ -38949,7 +39030,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
38949
39030
|
conversationRailAutoCollapseWidthPx = null
|
|
38950
39031
|
} = frame;
|
|
38951
39032
|
const railAutoCollapseWidthPx = conversationRailAutoCollapseWidthPx ?? void 0;
|
|
38952
|
-
const widthRef =
|
|
39033
|
+
const widthRef = useRef55(width);
|
|
38953
39034
|
widthRef.current = width;
|
|
38954
39035
|
const {
|
|
38955
39036
|
composerAppend: composerAppendRequest = null,
|
|
@@ -39438,6 +39519,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
|
|
|
39438
39519
|
onOpenConversationWindow,
|
|
39439
39520
|
onRequestGitBranches,
|
|
39440
39521
|
selectProjectDirectory,
|
|
39522
|
+
projectDirectorySourceAggregator,
|
|
39441
39523
|
referenceSourceAggregator,
|
|
39442
39524
|
resolveWorkspaceReferenceEntryIconUrl,
|
|
39443
39525
|
resolveMentionReferenceTarget,
|
|
@@ -39546,4 +39628,4 @@ export {
|
|
|
39546
39628
|
AgentHandoffMenu,
|
|
39547
39629
|
AgentGUI
|
|
39548
39630
|
};
|
|
39549
|
-
//# sourceMappingURL=chunk-
|
|
39631
|
+
//# sourceMappingURL=chunk-HP4RM2SM.js.map
|