@tutti-os/agent-gui 0.0.65 → 0.0.66
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/LICENSE +1 -2
- package/README.md +1 -1
- package/dist/agent-conversation/index.d.ts +2 -2
- package/dist/agent-conversation/index.js +5 -5
- package/dist/agent-message-center/index.js +7 -7
- package/dist/{agentGuiNodeTypes-CCjzXdTe.d.ts → agentGuiNodeTypes-B9Aq3UEU.d.ts} +3 -1
- package/dist/app/renderer/agentactivity.css +43 -0
- package/dist/{chunk-UWBX3DZK.js → chunk-6ULTMCKP.js} +2 -2
- package/dist/{chunk-HKKC2U6J.js → chunk-CTJQTUQ3.js} +5 -5
- package/dist/{chunk-HKKC2U6J.js.map → chunk-CTJQTUQ3.js.map} +1 -1
- package/dist/{chunk-R7PSPKBD.js → chunk-DXVMRZHH.js} +2 -6
- package/dist/chunk-DXVMRZHH.js.map +1 -0
- package/dist/{chunk-W3Q7B3DV.js → chunk-HNODQVG2.js} +2 -2
- package/dist/{chunk-N7BGNAA2.js → chunk-JTFWT6DK.js} +6 -8
- package/dist/chunk-JTFWT6DK.js.map +1 -0
- package/dist/{chunk-XLBJHHDX.js → chunk-KRJF7WLJ.js} +11 -1
- package/dist/chunk-KRJF7WLJ.js.map +1 -0
- package/dist/{chunk-TG3ZXLPM.js → chunk-MYD37I32.js} +27 -3
- package/dist/chunk-MYD37I32.js.map +1 -0
- package/dist/{chunk-XZPAU7FC.js → chunk-NOTZW5WH.js} +2 -2
- package/dist/{chunk-IDTB6OID.js → chunk-T3KGZV35.js} +49 -11
- package/dist/chunk-T3KGZV35.js.map +1 -0
- package/dist/{chunk-6OYLLPPN.js → chunk-UBBHWDMP.js} +12 -8
- package/dist/{chunk-6OYLLPPN.js.map → chunk-UBBHWDMP.js.map} +1 -1
- package/dist/{chunk-EIPQGFAE.js → chunk-VBTPXEFH.js} +2 -2
- package/dist/{chunk-QULZNKPA.js → chunk-Z26P2QNT.js} +2 -2
- package/dist/context-mention-palette/index.js +6 -6
- package/dist/i18n/index.d.ts +10 -0
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +20 -5
- package/dist/index.js +283 -523
- package/dist/index.js.map +1 -1
- package/dist/queued-prompt-runtime.d.ts +22 -3
- package/dist/queued-prompt-runtime.js +1 -1
- package/dist/{types-BAPEle8b.d.ts → types-Bxn8bLEp.d.ts} +14 -1
- package/dist/workbench/contribution.d.ts +1 -1
- package/dist/workbench/index.d.ts +1 -1
- package/dist/workbench/index.js +3 -3
- package/dist/workbench/launch.d.ts +1 -1
- package/dist/workbench/providerCatalog.d.ts +1 -1
- package/dist/workbench/sessionTitle.d.ts +1 -1
- package/dist/workbench/sessionTitle.js +3 -3
- package/dist/workbench/state.d.ts +1 -1
- package/dist/workbench/types.d.ts +1 -1
- package/dist/workspace-agent-generated-files.js +3 -3
- package/package.json +12 -12
- package/dist/app/renderer/assets/icons/@-lined-14px.svg +0 -3
- package/dist/app/renderer/assets/icons/agents/manage-agent-claude-code.png +0 -0
- package/dist/app/renderer/assets/icons/agents/manage-agent-codex.png +0 -0
- package/dist/app/renderer/assets/icons/agents/manage-agent-gemini.png +0 -0
- package/dist/app/renderer/assets/icons/agents/manage-agent-hermes.png +0 -0
- package/dist/app/renderer/assets/icons/agents/manage-agent-openclaw.png +0 -0
- package/dist/app/renderer/assets/icons/agents/tutti-doc-rounded.png +0 -0
- package/dist/app/renderer/assets/icons/agents/workspace-dock-agent-claude-code.png +0 -0
- package/dist/app/renderer/assets/icons/agents/workspace-dock-agent-codex.png +0 -0
- package/dist/app/renderer/assets/icons/agents/workspace-dock-agent-gemini.png +0 -0
- package/dist/app/renderer/assets/icons/agents/workspace-dock-agent-nexight.png +0 -0
- package/dist/app/renderer/assets/icons/agents/workspace-dock-agent-openclaw.png +0 -0
- package/dist/app/renderer/assets/icons/arrow-left-filled.svg +0 -1
- package/dist/chunk-IDTB6OID.js.map +0 -1
- package/dist/chunk-N7BGNAA2.js.map +0 -1
- package/dist/chunk-R7PSPKBD.js.map +0 -1
- package/dist/chunk-TG3ZXLPM.js.map +0 -1
- package/dist/chunk-XLBJHHDX.js.map +0 -1
- /package/dist/{chunk-UWBX3DZK.js.map → chunk-6ULTMCKP.js.map} +0 -0
- /package/dist/{chunk-W3Q7B3DV.js.map → chunk-HNODQVG2.js.map} +0 -0
- /package/dist/{chunk-XZPAU7FC.js.map → chunk-NOTZW5WH.js.map} +0 -0
- /package/dist/{chunk-EIPQGFAE.js.map → chunk-VBTPXEFH.js.map} +0 -0
- /package/dist/{chunk-QULZNKPA.js.map → chunk-Z26P2QNT.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
import {
|
|
27
27
|
AgentInteractivePromptSurface,
|
|
28
28
|
approvalOptionDisplayLabel
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-JTFWT6DK.js";
|
|
30
30
|
import {
|
|
31
31
|
PLAN_IMPLEMENTATION_ACTION_FEEDBACK,
|
|
32
32
|
PLAN_IMPLEMENTATION_ACTION_IMPLEMENT,
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
resolveAgentGUIExplicitConversationTitle,
|
|
46
46
|
resolveAgentGUIProviderDisplayLabel,
|
|
47
47
|
resolveAgentGUIProviderIdentity
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-HNODQVG2.js";
|
|
49
49
|
import {
|
|
50
50
|
AgentConversationFlow,
|
|
51
51
|
Button,
|
|
@@ -66,14 +66,14 @@ import {
|
|
|
66
66
|
skillTriggerForPrefix,
|
|
67
67
|
toLocalShortDateTime,
|
|
68
68
|
useProjectedAgentConversation
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-UBBHWDMP.js";
|
|
70
70
|
import {
|
|
71
71
|
AgentMessageMarkdown,
|
|
72
72
|
AgentTargetPresentationProvider,
|
|
73
73
|
ZoomableImage,
|
|
74
74
|
cn,
|
|
75
75
|
resolveWorkspaceLinkAction
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-T3KGZV35.js";
|
|
77
77
|
import {
|
|
78
78
|
openAgentEnvPanel
|
|
79
79
|
} from "./chunk-PSLAWU25.js";
|
|
@@ -84,7 +84,7 @@ import {
|
|
|
84
84
|
DEFAULT_AGENT_MENTION_FILTER,
|
|
85
85
|
agentMentionItemKey,
|
|
86
86
|
preloadAgentMentionBrowse
|
|
87
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-CTJQTUQ3.js";
|
|
88
88
|
import {
|
|
89
89
|
WORKSPACE_AGENT_ACTIVITY_RUNTIME_SESSION_ORIGIN,
|
|
90
90
|
buildWorkspaceAgentActivityListViewModel,
|
|
@@ -94,10 +94,8 @@ import {
|
|
|
94
94
|
isWorkspaceAgentUntitledTask,
|
|
95
95
|
mergeWorkspaceAgentActivityDurableAndOverlayMessages,
|
|
96
96
|
selectWorkspaceAgentActivityOverlayMessages
|
|
97
|
-
} from "./chunk-
|
|
98
|
-
import
|
|
99
|
-
Spinner
|
|
100
|
-
} from "./chunk-R7PSPKBD.js";
|
|
97
|
+
} from "./chunk-Z26P2QNT.js";
|
|
98
|
+
import "./chunk-DXVMRZHH.js";
|
|
101
99
|
import {
|
|
102
100
|
resolveWorkspaceAgentSessionSortTimeUnixMs
|
|
103
101
|
} from "./chunk-IBIMGLCD.js";
|
|
@@ -108,7 +106,7 @@ import {
|
|
|
108
106
|
mentionItemToAttrs,
|
|
109
107
|
normalizeAgentSessionMentionTitle,
|
|
110
108
|
parseMentionItemFromHref
|
|
111
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-NOTZW5WH.js";
|
|
112
110
|
import "./chunk-Y35GDLP2.js";
|
|
113
111
|
import "./chunk-LUGELG5V.js";
|
|
114
112
|
import {
|
|
@@ -138,21 +136,21 @@ import {
|
|
|
138
136
|
agentGuiI18nResources,
|
|
139
137
|
translate,
|
|
140
138
|
useTranslation
|
|
141
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-6ULTMCKP.js";
|
|
142
140
|
import "./chunk-PJP5BUU6.js";
|
|
143
141
|
import {
|
|
144
142
|
agentColorfulUrl,
|
|
145
143
|
cursorColorfulUrl,
|
|
146
144
|
normalizeManagedAgentProvider
|
|
147
145
|
} from "./chunk-R2NGSPQS.js";
|
|
148
|
-
import "./chunk-
|
|
146
|
+
import "./chunk-KRJF7WLJ.js";
|
|
149
147
|
import {
|
|
150
148
|
AGENT_CONTEXT_MENTION_PROVIDER_IDS
|
|
151
149
|
} from "./chunk-JM24HADP.js";
|
|
152
150
|
import "./chunk-GCBDIQDX.js";
|
|
153
151
|
import {
|
|
154
152
|
createAgentQueuedPromptRuntime
|
|
155
|
-
} from "./chunk-
|
|
153
|
+
} from "./chunk-MYD37I32.js";
|
|
156
154
|
|
|
157
155
|
// shared/agentActivitySnapshotProjection.ts
|
|
158
156
|
import {
|
|
@@ -315,7 +313,7 @@ function agentHostTurnPhaseFromDisplay(status) {
|
|
|
315
313
|
|
|
316
314
|
// AgentGUI.tsx
|
|
317
315
|
import { memo as memo3 } from "react";
|
|
318
|
-
import { TooltipProvider as
|
|
316
|
+
import { TooltipProvider as TooltipProvider4 } from "@tutti-os/ui-system";
|
|
319
317
|
|
|
320
318
|
// agent-gui/agentGuiNode/AgentGUINode.tsx
|
|
321
319
|
import { memo as memo2, useCallback as useCallback12, useEffect as useEffect15, useMemo as useMemo11 } from "react";
|
|
@@ -457,22 +455,10 @@ function GridTopLinedIcon(props) {
|
|
|
457
455
|
);
|
|
458
456
|
}
|
|
459
457
|
|
|
460
|
-
//
|
|
458
|
+
// agent-gui/workspaceDesktop/view/WindowLayoutMenuButton.tsx
|
|
461
459
|
import {
|
|
462
460
|
DropdownMenu,
|
|
463
|
-
DropdownMenuCheckboxItem,
|
|
464
461
|
DropdownMenuContent,
|
|
465
|
-
DropdownMenuGroup,
|
|
466
|
-
DropdownMenuItem,
|
|
467
|
-
DropdownMenuLabel,
|
|
468
|
-
DropdownMenuPortal,
|
|
469
|
-
DropdownMenuRadioGroup,
|
|
470
|
-
DropdownMenuRadioItem,
|
|
471
|
-
DropdownMenuSeparator,
|
|
472
|
-
DropdownMenuShortcut,
|
|
473
|
-
DropdownMenuSub,
|
|
474
|
-
DropdownMenuSubContent,
|
|
475
|
-
DropdownMenuSubTrigger,
|
|
476
462
|
DropdownMenuTrigger
|
|
477
463
|
} from "@tutti-os/ui-system";
|
|
478
464
|
|
|
@@ -2252,6 +2238,7 @@ function getTestAgentQueuedPromptRuntime() {
|
|
|
2252
2238
|
|
|
2253
2239
|
// agent-gui/agentGuiNode/controller/useAgentGUINodeController.ts
|
|
2254
2240
|
import {
|
|
2241
|
+
resolveSubmitAvailability,
|
|
2255
2242
|
resolveAgentActivityCapability as resolveAgentActivityCapability2,
|
|
2256
2243
|
resolveAgentActivityUsage,
|
|
2257
2244
|
selectSessionDisplayStatuses
|
|
@@ -6734,6 +6721,7 @@ var ACTIVITY_STREAM_STATE_RELOAD_DEBOUNCE_MS = 150;
|
|
|
6734
6721
|
var AGENT_GUI_DETAIL_MESSAGES_PAGE_SIZE = 100;
|
|
6735
6722
|
var AGENT_GUI_DETAIL_MISSING_USER_BACKFILL_PAGE_LIMIT = 3;
|
|
6736
6723
|
var AGENT_GUI_SUBMIT_RETARGET_EARLY_MESSAGE_TOLERANCE_MS = 5e3;
|
|
6724
|
+
var GOAL_CLEAR_PROMPT = "/goal clear";
|
|
6737
6725
|
function mergeAgentModelCatalogInvalidationEvents(events) {
|
|
6738
6726
|
const providers = /* @__PURE__ */ new Set();
|
|
6739
6727
|
let occurredAtUnixMs = 0;
|
|
@@ -8850,6 +8838,7 @@ function useAgentGUINodeController({
|
|
|
8850
8838
|
data,
|
|
8851
8839
|
providerTargets,
|
|
8852
8840
|
providerTargetsLoading = false,
|
|
8841
|
+
providerRailMode = "catalog",
|
|
8853
8842
|
comingSoonProviders,
|
|
8854
8843
|
providerReadinessGates = null,
|
|
8855
8844
|
defaultProviderTargetId = null,
|
|
@@ -8868,21 +8857,22 @@ function useAgentGUINodeController({
|
|
|
8868
8857
|
() => comingSoonProviders && comingSoonProviders.length > 0 ? [...comingSoonProviders] : emptyComingSoonProviders,
|
|
8869
8858
|
[comingSoonProviders]
|
|
8870
8859
|
);
|
|
8871
|
-
const
|
|
8872
|
-
|
|
8873
|
-
|
|
8874
|
-
|
|
8875
|
-
|
|
8876
|
-
|
|
8860
|
+
const isExactProviderRailMode = providerRailMode === "exact";
|
|
8861
|
+
const normalizedExplicitProviderTargets = useMemo4(() => {
|
|
8862
|
+
const normalized = normalizeAgentGUIProviderTargets(providerTargets, {
|
|
8863
|
+
includeDisabledPlaceholders: !isExactProviderRailMode,
|
|
8864
|
+
useStaticCatalog: false
|
|
8865
|
+
});
|
|
8866
|
+
return isExactProviderRailMode ? normalized : applyComingSoonProviderTargets(
|
|
8867
|
+
normalized,
|
|
8877
8868
|
normalizedComingSoonProviders
|
|
8878
|
-
)
|
|
8879
|
-
|
|
8880
|
-
);
|
|
8869
|
+
);
|
|
8870
|
+
}, [isExactProviderRailMode, normalizedComingSoonProviders, providerTargets]);
|
|
8881
8871
|
const normalizedProviderTargets = useMemo4(() => {
|
|
8882
8872
|
if (providerTargetsLoading) {
|
|
8883
8873
|
return [];
|
|
8884
8874
|
}
|
|
8885
|
-
if (providerTargets === void 0 || normalizedExplicitProviderTargets.length === 0) {
|
|
8875
|
+
if (!isExactProviderRailMode && (providerTargets === void 0 || normalizedExplicitProviderTargets.length === 0)) {
|
|
8886
8876
|
return applyComingSoonProviderTargets(
|
|
8887
8877
|
normalizeAgentGUIProviderTargets(null, {
|
|
8888
8878
|
includeDisabledPlaceholders: true
|
|
@@ -8892,12 +8882,13 @@ function useAgentGUINodeController({
|
|
|
8892
8882
|
}
|
|
8893
8883
|
return normalizedExplicitProviderTargets;
|
|
8894
8884
|
}, [
|
|
8885
|
+
isExactProviderRailMode,
|
|
8895
8886
|
normalizedExplicitProviderTargets,
|
|
8896
8887
|
normalizedComingSoonProviders,
|
|
8897
8888
|
providerTargets,
|
|
8898
8889
|
providerTargetsLoading
|
|
8899
8890
|
]);
|
|
8900
|
-
const shouldUseStaticProviderTargets = !providerTargetsLoading && (providerTargets === void 0 || normalizedExplicitProviderTargets.length === 0);
|
|
8891
|
+
const shouldUseStaticProviderTargets = !isExactProviderRailMode && !providerTargetsLoading && (providerTargets === void 0 || normalizedExplicitProviderTargets.length === 0);
|
|
8901
8892
|
const selectedProviderTarget = useMemo4(() => {
|
|
8902
8893
|
const resolved = resolveAgentGUIProviderTarget({
|
|
8903
8894
|
agentTargetId: data.agentTargetId,
|
|
@@ -12440,7 +12431,7 @@ function useAgentGUINodeController({
|
|
|
12440
12431
|
workspaceId
|
|
12441
12432
|
]);
|
|
12442
12433
|
const executePrompt = useCallback4(
|
|
12443
|
-
(agentSessionId, content, displayPrompt) => {
|
|
12434
|
+
(agentSessionId, content, displayPrompt, options) => {
|
|
12444
12435
|
const normalizedContent = normalizeAgentPromptContentBlocks(content);
|
|
12445
12436
|
if (!agentSessionId || normalizedContent.length === 0) {
|
|
12446
12437
|
return;
|
|
@@ -12560,6 +12551,7 @@ function useAgentGUINodeController({
|
|
|
12560
12551
|
agentSessionId,
|
|
12561
12552
|
content: normalizedContent,
|
|
12562
12553
|
displayPrompt: displayPrompt && displayPrompt.trim() ? displayPrompt : null,
|
|
12554
|
+
...options?.guidance === true ? { guidance: true } : {},
|
|
12563
12555
|
metadata: agentSubmitTraceMetadata(submitTrace)
|
|
12564
12556
|
});
|
|
12565
12557
|
}).then((result) => {
|
|
@@ -12792,7 +12784,12 @@ function useAgentGUINodeController({
|
|
|
12792
12784
|
);
|
|
12793
12785
|
return;
|
|
12794
12786
|
}
|
|
12795
|
-
|
|
12787
|
+
const hasQueuedPrompts = agentQueuedPromptRuntime.getSessionSnapshot({
|
|
12788
|
+
workspaceId,
|
|
12789
|
+
agentSessionId
|
|
12790
|
+
}).prompts.length > 0;
|
|
12791
|
+
agentQueuedPromptRuntime.resumeQueue({ workspaceId, agentSessionId });
|
|
12792
|
+
if ((hasQueuedPrompts || shouldQueuePromptLocally(agentSessionId)) && options?.bypassLocalQueue !== true) {
|
|
12796
12793
|
queuePromptLocally(
|
|
12797
12794
|
agentSessionId,
|
|
12798
12795
|
normalizedContent,
|
|
@@ -12800,14 +12797,18 @@ function useAgentGUINodeController({
|
|
|
12800
12797
|
);
|
|
12801
12798
|
return;
|
|
12802
12799
|
}
|
|
12803
|
-
executePrompt(agentSessionId, normalizedContent, displayPromptText
|
|
12800
|
+
executePrompt(agentSessionId, normalizedContent, displayPromptText, {
|
|
12801
|
+
guidance: options?.guidance === true
|
|
12802
|
+
});
|
|
12804
12803
|
},
|
|
12805
12804
|
[
|
|
12806
12805
|
activation,
|
|
12806
|
+
agentQueuedPromptRuntime,
|
|
12807
12807
|
executePrompt,
|
|
12808
12808
|
isSessionMarkedNonResumable,
|
|
12809
12809
|
queuePromptLocally,
|
|
12810
|
-
shouldQueuePromptLocally
|
|
12810
|
+
shouldQueuePromptLocally,
|
|
12811
|
+
workspaceId
|
|
12811
12812
|
]
|
|
12812
12813
|
);
|
|
12813
12814
|
const goalControl = useCallback4(
|
|
@@ -12820,6 +12821,14 @@ function useAgentGUINodeController({
|
|
|
12820
12821
|
return;
|
|
12821
12822
|
}
|
|
12822
12823
|
setDetailError(null);
|
|
12824
|
+
if (action === "clear") {
|
|
12825
|
+
executePrompt(
|
|
12826
|
+
agentSessionId,
|
|
12827
|
+
textPromptContent(GOAL_CLEAR_PROMPT),
|
|
12828
|
+
GOAL_CLEAR_PROMPT
|
|
12829
|
+
);
|
|
12830
|
+
return;
|
|
12831
|
+
}
|
|
12823
12832
|
void agentActivityRuntime.goalControl({
|
|
12824
12833
|
workspaceId,
|
|
12825
12834
|
agentSessionId,
|
|
@@ -12834,6 +12843,7 @@ function useAgentGUINodeController({
|
|
|
12834
12843
|
},
|
|
12835
12844
|
[
|
|
12836
12845
|
agentActivityRuntime,
|
|
12846
|
+
executePrompt,
|
|
12837
12847
|
isCurrentConversation,
|
|
12838
12848
|
previewMode,
|
|
12839
12849
|
setDetailError,
|
|
@@ -12933,7 +12943,7 @@ function useAgentGUINodeController({
|
|
|
12933
12943
|
agentSessionId,
|
|
12934
12944
|
normalizedContent,
|
|
12935
12945
|
displayPromptText,
|
|
12936
|
-
{ bypassLocalQueue: true }
|
|
12946
|
+
{ bypassLocalQueue: true, guidance: true }
|
|
12937
12947
|
);
|
|
12938
12948
|
},
|
|
12939
12949
|
[
|
|
@@ -13051,6 +13061,11 @@ function useAgentGUINodeController({
|
|
|
13051
13061
|
...current,
|
|
13052
13062
|
[agentSessionId]: true
|
|
13053
13063
|
}));
|
|
13064
|
+
agentQueuedPromptRuntime.suspendQueue({
|
|
13065
|
+
workspaceId,
|
|
13066
|
+
agentSessionId,
|
|
13067
|
+
reason: "user_stop"
|
|
13068
|
+
});
|
|
13054
13069
|
setDetailError(null);
|
|
13055
13070
|
void Promise.resolve().then(() => {
|
|
13056
13071
|
if (!isCurrentConversation(agentSessionId)) {
|
|
@@ -13128,6 +13143,7 @@ function useAgentGUINodeController({
|
|
|
13128
13143
|
});
|
|
13129
13144
|
},
|
|
13130
13145
|
[
|
|
13146
|
+
agentQueuedPromptRuntime,
|
|
13131
13147
|
interruptingSessionIds,
|
|
13132
13148
|
isCurrentConversation,
|
|
13133
13149
|
syncConversationListProjection,
|
|
@@ -14583,7 +14599,7 @@ function useAgentGUINodeController({
|
|
|
14583
14599
|
]);
|
|
14584
14600
|
const activeActivityDisplayStatus = activeConversationId ? agentActivityDisplayStatuses.get(activeConversationId) ?? null : null;
|
|
14585
14601
|
const activeHasPendingSubmittedTurn = activeConversationId ? Boolean(pendingTurnIdBySessionIdRef.current[activeConversationId]) : false;
|
|
14586
|
-
const activeSubmitBlocked = activeSessionState
|
|
14602
|
+
const activeSubmitBlocked = activeSessionState ? resolveSubmitAvailability(activeSessionState).state === "blocked" : false;
|
|
14587
14603
|
const activeConversationBusy = agentActivityDisplayStatusBusy(activeActivityDisplayStatus) || activeHasPendingSubmittedTurn || activeSubmitBlocked;
|
|
14588
14604
|
const activeSessionResumable = activeRuntimeSession?.resumable ?? activeConversation?.resumable ?? activeSessionState?.resumable;
|
|
14589
14605
|
const normalizedActiveConversationId = activeConversationId ?? "";
|
|
@@ -15163,6 +15179,7 @@ function useAgentGUINodeController({
|
|
|
15163
15179
|
selectedProviderTarget: effectiveSelectedProviderTarget,
|
|
15164
15180
|
providerTargets: normalizedProviderTargets,
|
|
15165
15181
|
providerTargetsLoading,
|
|
15182
|
+
providerRailMode,
|
|
15166
15183
|
comingSoonProviders: normalizedComingSoonProviders,
|
|
15167
15184
|
conversationFilter,
|
|
15168
15185
|
conversations: visibleConversations,
|
|
@@ -15236,6 +15253,7 @@ function useAgentGUINodeController({
|
|
|
15236
15253
|
effectiveSelectedProviderTarget,
|
|
15237
15254
|
normalizedComingSoonProviders,
|
|
15238
15255
|
normalizedProviderTargets,
|
|
15256
|
+
providerRailMode,
|
|
15239
15257
|
providerReadinessGate,
|
|
15240
15258
|
providerTargetsLoading,
|
|
15241
15259
|
detailError,
|
|
@@ -15478,16 +15496,6 @@ import {
|
|
|
15478
15496
|
Wrench
|
|
15479
15497
|
} from "lucide-react";
|
|
15480
15498
|
|
|
15481
|
-
// app/renderer/components/ui/popover.tsx
|
|
15482
|
-
import {
|
|
15483
|
-
Popover,
|
|
15484
|
-
PopoverAnchor,
|
|
15485
|
-
PopoverClose,
|
|
15486
|
-
PopoverContent,
|
|
15487
|
-
PopoverPortal,
|
|
15488
|
-
PopoverTrigger
|
|
15489
|
-
} from "@tutti-os/ui-system";
|
|
15490
|
-
|
|
15491
15499
|
// agent-gui/agentGuiNode/model/agentUsageThresholds.ts
|
|
15492
15500
|
var USAGE_WARN_PERCENT = 80;
|
|
15493
15501
|
var USAGE_CRITICAL_PERCENT = 95;
|
|
@@ -15554,16 +15562,24 @@ import {
|
|
|
15554
15562
|
WorkspaceFileReferencePicker
|
|
15555
15563
|
} from "@tutti-os/workspace-file-reference/ui";
|
|
15556
15564
|
import {
|
|
15557
|
-
Tooltip as
|
|
15558
|
-
TooltipContent as
|
|
15559
|
-
TooltipProvider as
|
|
15560
|
-
TooltipTrigger as
|
|
15565
|
+
Tooltip as Tooltip4,
|
|
15566
|
+
TooltipContent as TooltipContent4,
|
|
15567
|
+
TooltipProvider as TooltipProvider3,
|
|
15568
|
+
TooltipTrigger as TooltipTrigger4,
|
|
15561
15569
|
Select as Select3,
|
|
15562
15570
|
SelectContent as SelectContent3,
|
|
15563
15571
|
SelectItem as SelectItem3,
|
|
15564
15572
|
SelectTrigger as SelectTrigger3,
|
|
15565
15573
|
NewWorkspaceLinedIcon as NewWorkspaceLinedIcon2,
|
|
15566
15574
|
ConfirmationDialog,
|
|
15575
|
+
DropdownMenu as DropdownMenu4,
|
|
15576
|
+
DropdownMenuContent as DropdownMenuContent4,
|
|
15577
|
+
DropdownMenuItem as DropdownMenuItem3,
|
|
15578
|
+
DropdownMenuTrigger as DropdownMenuTrigger4,
|
|
15579
|
+
Popover as Popover2,
|
|
15580
|
+
PopoverContent as PopoverContent2,
|
|
15581
|
+
PopoverTrigger,
|
|
15582
|
+
StatusDot,
|
|
15567
15583
|
toastVariants,
|
|
15568
15584
|
cn as cn3
|
|
15569
15585
|
} from "@tutti-os/ui-system";
|
|
@@ -15664,351 +15680,15 @@ function SettingsLinedIcon(props) {
|
|
|
15664
15680
|
);
|
|
15665
15681
|
}
|
|
15666
15682
|
|
|
15667
|
-
// app/renderer/components/StatusDot.tsx
|
|
15668
|
-
import { StatusDot } from "@tutti-os/ui-system";
|
|
15669
|
-
|
|
15670
15683
|
// agent-gui/RoomIssueNode/TaskSearchField.tsx
|
|
15671
15684
|
import { useComposedInputValue } from "@tutti-os/ui-react-hooks";
|
|
15672
|
-
|
|
15673
|
-
// app/renderer/components/ui/input.tsx
|
|
15674
15685
|
import { Input } from "@tutti-os/ui-system";
|
|
15675
15686
|
|
|
15676
15687
|
// agent-gui/RoomIssueNode/RoomIssueNode.styles.ts
|
|
15677
15688
|
var styles = {
|
|
15678
|
-
actionGrid: "room-issue-node__action-grid",
|
|
15679
|
-
actionRow: "room-issue-node__action-row",
|
|
15680
|
-
actionStack: "room-issue-node__action-stack",
|
|
15681
|
-
attachEmptyHint: "room-issue-node__attach-empty-hint",
|
|
15682
|
-
attachSection: "room-issue-node__attach-section",
|
|
15683
|
-
body: "room-issue-node__body",
|
|
15684
|
-
compactLayout: "room-issue-node__compact-layout",
|
|
15685
|
-
compactSummary: "room-issue-node__compact-summary",
|
|
15686
|
-
confirmDialogFooter: "room-issue-node__confirm-dialog-footer",
|
|
15687
|
-
confirmDialogLead: "room-issue-node__confirm-dialog-lead",
|
|
15688
|
-
confirmDialogOverlayCard: "room-issue-node__confirm-dialog-overlay-card",
|
|
15689
|
-
contentArea: "room-issue-node__content-area",
|
|
15690
|
-
contextAttachmentBox: "room-issue-node__context-attachment-box",
|
|
15691
|
-
contextCardMain: "room-issue-node__context-card-main",
|
|
15692
|
-
contextCardMeta: "room-issue-node__context-card-meta",
|
|
15693
|
-
contextCardTitle: "room-issue-node__context-card-title",
|
|
15694
|
-
contextList: "room-issue-node__context-list",
|
|
15695
|
-
contextListCompact: "room-issue-node__context-list-compact",
|
|
15696
|
-
contextRow: "room-issue-node__context-row",
|
|
15697
|
-
contextRowLeading: "room-issue-node__context-row-leading",
|
|
15698
|
-
contextRowOpenButton: "room-issue-node__context-row-open-button",
|
|
15699
|
-
createFooterBar: "room-issue-node__create-footer-bar",
|
|
15700
|
-
createFormScroll: "room-issue-node__create-form-scroll",
|
|
15701
|
-
createPanel: "room-issue-node__create-panel",
|
|
15702
|
-
dangerMenuItem: "room-issue-node__danger-menu-item",
|
|
15703
|
-
datePicker: "room-issue-node__date-picker",
|
|
15704
|
-
detailBodyScroll: "room-issue-node__detail-body-scroll",
|
|
15705
|
-
detailBodyStack: "room-issue-node__detail-body-stack",
|
|
15706
|
-
detailExecutionActionsRow: "room-issue-node__detail-execution-actions-row",
|
|
15707
|
-
detailExecutionFooter: "room-issue-node__detail-execution-footer",
|
|
15708
|
-
detailExecutionHintWrap: "room-issue-node__detail-execution-hint-wrap",
|
|
15709
|
-
detailHeaderEditButton: "room-issue-node__detail-header-edit-button",
|
|
15710
|
-
detailPanel: "room-issue-node__detail-panel",
|
|
15711
|
-
detailPanelStretchWithFooter: "room-issue-node__detail-panel-stretch-with-footer",
|
|
15712
|
-
detailReadHeader: "room-issue-node__detail-read-header",
|
|
15713
|
-
detailSectionPlain: "room-issue-node__detail-section-plain",
|
|
15714
|
-
editFooterBar: "room-issue-node__edit-footer-bar",
|
|
15715
|
-
editorActionGroup: "room-issue-node__editor-action-group",
|
|
15716
|
-
editorTitleInput: "room-issue-node__editor-title-input",
|
|
15717
|
-
emptyHint: "room-issue-node__empty-hint",
|
|
15718
|
-
emptyState: "room-issue-node__empty-state",
|
|
15719
|
-
emptyStateBody: "room-issue-node__empty-state-body",
|
|
15720
|
-
emptyStateDescription: "room-issue-node__empty-state-description",
|
|
15721
|
-
emptyStateTitle: "room-issue-node__empty-state-title",
|
|
15722
|
-
executionActionGrid: "room-issue-node__execution-action-grid",
|
|
15723
|
-
executionButtonIcon: "room-issue-node__execution-button-icon",
|
|
15724
|
-
executionCardActions: "room-issue-node__execution-card-actions",
|
|
15725
|
-
executionCardFooter: "room-issue-node__execution-card-footer",
|
|
15726
|
-
executionCardFooterMeta: "room-issue-node__execution-card-footer-meta",
|
|
15727
|
-
executionCardFooterTimestamp: "room-issue-node__execution-card-footer-timestamp",
|
|
15728
|
-
executionCardHeader: "room-issue-node__execution-card-header",
|
|
15729
|
-
executionCardHeaderMain: "room-issue-node__execution-card-header-main",
|
|
15730
|
-
executionCardList: "room-issue-node__execution-card-list",
|
|
15731
|
-
executionCardSummary: "room-issue-node__execution-card-summary",
|
|
15732
|
-
executionCardTitle: "room-issue-node__execution-card-title",
|
|
15733
|
-
executionCardTitleRow: "room-issue-node__execution-card-title-row",
|
|
15734
|
-
executionContentCard: "room-issue-node__execution-content-card",
|
|
15735
|
-
executionEmptyCard: "room-issue-node__execution-empty-card",
|
|
15736
|
-
executionHeaderButton: "room-issue-node__execution-header-button",
|
|
15737
|
-
executionHintText: "room-issue-node__execution-hint-text",
|
|
15738
|
-
executionInfoBody: "room-issue-node__execution-info-body",
|
|
15739
|
-
executionInfoCard: "room-issue-node__execution-info-card",
|
|
15740
|
-
executionInfoEmpty: "room-issue-node__execution-info-empty",
|
|
15741
|
-
executionInfoGrid: "room-issue-node__execution-info-grid",
|
|
15742
|
-
executionInfoTitle: "room-issue-node__execution-info-title",
|
|
15743
|
-
executionInviteTooltip: "room-issue-node__execution-invite-tooltip",
|
|
15744
|
-
executionInviteTooltipWrap: "room-issue-node__execution-invite-tooltip-wrap",
|
|
15745
|
-
executionLatestSection: "room-issue-node__execution-latest-section",
|
|
15746
|
-
executionLoadingCard: "room-issue-node__execution-loading-card",
|
|
15747
|
-
executionPrimaryButton: "room-issue-node__execution-primary-button",
|
|
15748
|
-
executionSecondaryButton: "room-issue-node__execution-secondary-button",
|
|
15749
|
-
fieldBlock: "room-issue-node__field-block",
|
|
15750
|
-
fieldRow: "room-issue-node__field-row",
|
|
15751
|
-
filePicker: "room-issue-node__file-picker",
|
|
15752
|
-
filePickerActions: "room-issue-node__file-picker-actions",
|
|
15753
|
-
filePickerFooter: "room-issue-node__file-picker-footer",
|
|
15754
|
-
filePickerFooterActions: "room-issue-node__file-picker-footer-actions",
|
|
15755
|
-
filePickerLayout: "room-issue-node__file-picker-layout",
|
|
15756
|
-
filePickerListPane: "room-issue-node__file-picker-list-pane",
|
|
15757
|
-
filePickerListPaneEmpty: "room-issue-node__file-picker-list-pane-empty",
|
|
15758
|
-
filePickerLoadingState: "room-issue-node__file-picker-loading-state",
|
|
15759
|
-
filePickerPreview: "room-issue-node__file-picker-preview",
|
|
15760
|
-
filePickerPreviewBody: "room-issue-node__file-picker-preview-body",
|
|
15761
|
-
filePickerSkeletonIcon: "room-issue-node__file-picker-skeleton-icon",
|
|
15762
|
-
filePickerSkeletonName: "room-issue-node__file-picker-skeleton-name",
|
|
15763
|
-
filePickerSkeletonRow: "room-issue-node__file-picker-skeleton-row",
|
|
15764
|
-
filePickerScrollbar: "room-issue-node__file-picker-scrollbar",
|
|
15765
|
-
filePickerScrollbarThumb: "workspace-agents-status-panel__scrollbar-thumb",
|
|
15766
|
-
filePickerToolbar: "room-issue-node__file-picker-toolbar",
|
|
15767
|
-
filePickerTree: "room-issue-node__file-picker-tree",
|
|
15768
|
-
fileRow: "room-issue-node__file-row",
|
|
15769
|
-
fileRowCheckbox: "room-issue-node__file-row-checkbox",
|
|
15770
|
-
fileRowCheckboxButton: "room-issue-node__file-row-checkbox-button",
|
|
15771
|
-
fileRowContainer: "room-issue-node__file-row-container",
|
|
15772
|
-
fileRowExpand: "room-issue-node__file-row-expand",
|
|
15773
|
-
fileRowExpandButton: "room-issue-node__file-row-expand-button",
|
|
15774
|
-
fileRowExpandSpacer: "room-issue-node__file-row-expand-spacer",
|
|
15775
|
-
fileRowGlyph: "room-issue-node__file-row-glyph",
|
|
15776
|
-
fileRowLabel: "room-issue-node__file-row-label",
|
|
15777
|
-
fileRowPath: "room-issue-node__file-row-path",
|
|
15778
|
-
fileRowText: "room-issue-node__file-row-text",
|
|
15779
|
-
filterCount: "room-issue-node__filter-count",
|
|
15780
|
-
filterTab: "room-issue-node__filter-tab",
|
|
15781
|
-
filterTabIndicator: "room-issue-node__filter-tab-indicator",
|
|
15782
|
-
filterTabs: "room-issue-node__filter-tabs",
|
|
15783
|
-
filterTabsMask: "room-issue-node__filter-tabs-mask",
|
|
15784
|
-
filterTabsMaskLeft: "room-issue-node__filter-tabs-mask-left",
|
|
15785
|
-
filterTabsMaskRight: "room-issue-node__filter-tabs-mask-right",
|
|
15786
|
-
filterTabsRow: "room-issue-node__filter-tabs-row",
|
|
15787
|
-
filterTabsScrollButton: "room-issue-node__filter-tabs-scroll-button",
|
|
15788
|
-
filterTabsScrollButtonLeft: "room-issue-node__filter-tabs-scroll-button-left",
|
|
15789
|
-
filterTabsScrollButtonRight: "room-issue-node__filter-tabs-scroll-button-right",
|
|
15790
|
-
filterTabsViewport: "room-issue-node__filter-tabs-viewport",
|
|
15791
|
-
footerActions: "room-issue-node__footer-actions",
|
|
15792
|
-
formGrid: "room-issue-node__form-grid",
|
|
15793
|
-
formGridCreateSpacing: "room-issue-node__form-grid-create-spacing",
|
|
15794
|
-
formSelect: "room-issue-node__form-select",
|
|
15795
|
-
header: "room-issue-node__header",
|
|
15796
|
-
headerActions: "room-issue-node__header-actions",
|
|
15797
|
-
headerSelect: "room-issue-node__header-select",
|
|
15798
|
-
headerTitle: "room-issue-node__header-title",
|
|
15799
|
-
headerTitleText: "room-issue-node__header-title-text",
|
|
15800
|
-
// i18n-check-ignore: CSS class name.
|
|
15801
|
-
helperText: "room-issue-node__helper-text",
|
|
15802
|
-
inlineGhostButton: "room-issue-node__inline-ghost-button",
|
|
15803
|
-
issueActivityCard: "room-issue-node__issue-activity-card",
|
|
15804
|
-
issueDrawer: "room-issue-node__issue-drawer",
|
|
15805
|
-
issueDrawerBody: "room-issue-node__issue-drawer-body",
|
|
15806
|
-
issueDrawerClosing: "room-issue-node__issue-drawer-closing",
|
|
15807
|
-
issueDrawerContent: "room-issue-node__issue-drawer-content",
|
|
15808
|
-
issueDrawerFooter: "room-issue-node__issue-drawer-footer",
|
|
15809
|
-
issueDrawerFooterActions: "room-issue-node__issue-drawer-footer-actions",
|
|
15810
|
-
issueDrawerHeader: "room-issue-node__issue-drawer-header",
|
|
15811
|
-
issueDrawerHeaderActions: "room-issue-node__issue-drawer-header-actions",
|
|
15812
|
-
issueDrawerHeaderMain: "room-issue-node__issue-drawer-header-main",
|
|
15813
|
-
issueDrawerOverlay: "room-issue-node__issue-drawer-overlay",
|
|
15814
|
-
issueDrawerOverlayClosing: "room-issue-node__issue-drawer-overlay-closing",
|
|
15815
|
-
issueDrawerRunSelect: "room-issue-node__issue-drawer-run-select",
|
|
15816
|
-
issueDrawerRunTrigger: "room-issue-node__issue-drawer-run-trigger",
|
|
15817
|
-
issueDrawerTitle: "room-issue-node__issue-drawer-title",
|
|
15818
|
-
issueEditorDialogBody: "room-issue-node__issue-editor-dialog-body",
|
|
15819
|
-
issueEditorDialogFooter: "room-issue-node__issue-editor-dialog-footer",
|
|
15820
|
-
issueEditorOverlayCard: "room-issue-node__issue-editor-overlay-card",
|
|
15821
|
-
issueExpandedToolbar: "room-issue-node__issue-expanded-toolbar",
|
|
15822
|
-
issueId: "room-issue-node__issue-id",
|
|
15823
|
-
issueInlineAction: "room-issue-node__issue-inline-action",
|
|
15824
|
-
issueLaunchButton: "room-issue-node__issue-launch-button",
|
|
15825
|
-
issueLaunchChevron: "room-issue-node__issue-launch-chevron",
|
|
15826
|
-
issueList: "room-issue-node__issue-list",
|
|
15827
|
-
issueListEmptyCell: "room-issue-node__issue-list-empty-cell",
|
|
15828
|
-
issueListFooter: "room-issue-node__issue-list-footer",
|
|
15829
|
-
issueListItem: "room-issue-node__issue-list-item",
|
|
15830
|
-
issueListLoadingState: "room-issue-node__issue-list-loading-state",
|
|
15831
|
-
issueListRow: "room-issue-node__issue-list-row",
|
|
15832
|
-
issueListRowActions: "room-issue-node__issue-list-row-actions",
|
|
15833
|
-
issueListRowActive: "room-issue-node__issue-list-row-active",
|
|
15834
|
-
issueListRowHeader: "room-issue-node__issue-list-row-header",
|
|
15835
|
-
issueListRowHeaderMeta: "room-issue-node__issue-list-row-header-meta",
|
|
15836
|
-
issueListRowMain: "room-issue-node__issue-list-row-main",
|
|
15837
|
-
issueListRowMeta: "room-issue-node__issue-list-row-meta",
|
|
15838
|
-
issueListRowRunSelect: "room-issue-node__issue-list-row-run-select",
|
|
15839
|
-
issueListRowSummary: "room-issue-node__issue-list-row-summary",
|
|
15840
|
-
issueListRowTimestamp: "room-issue-node__issue-list-row-timestamp",
|
|
15841
|
-
issueListRowTitle: "room-issue-node__issue-list-row-title",
|
|
15842
|
-
issueListRowTitleWrap: "room-issue-node__issue-list-row-title-wrap",
|
|
15843
|
-
issueListScrollRegion: "room-issue-node__issue-list-scroll-region",
|
|
15844
|
-
issueListSkeletonCard: "room-issue-node__issue-list-skeleton-card",
|
|
15845
|
-
issueListSpacer: "room-issue-node__issue-list-spacer",
|
|
15846
|
-
issueListSurface: "room-issue-node__issue-list-surface",
|
|
15847
|
-
issueListTitleRow: "room-issue-node__issue-list-title-row",
|
|
15848
|
-
issueSectionSurface: "room-issue-node__issue-section-surface",
|
|
15849
|
-
issueSectionSurfaceIdle: "room-issue-node__issue-section-surface-idle",
|
|
15850
|
-
issueMainLoadingState: "room-issue-node__issue-main-loading-state",
|
|
15851
|
-
issueMainSkeletonBlock: "room-issue-node__issue-main-skeleton-block",
|
|
15852
|
-
issueMainSkeletonEyebrow: "room-issue-node__issue-main-skeleton-eyebrow",
|
|
15853
|
-
issueMainSkeletonLineFull: "room-issue-node__issue-main-skeleton-line-full",
|
|
15854
|
-
issueMainSkeletonLineMid: "room-issue-node__issue-main-skeleton-line-mid",
|
|
15855
|
-
issueMainSkeletonLineShort: "room-issue-node__issue-main-skeleton-line-short",
|
|
15856
|
-
issueMainSkeletonMeta: "room-issue-node__issue-main-skeleton-meta",
|
|
15857
|
-
issueMainSkeletonMetaRow: "room-issue-node__issue-main-skeleton-meta-row",
|
|
15858
|
-
issueMainSkeletonMetaShort: "room-issue-node__issue-main-skeleton-meta-short",
|
|
15859
|
-
issueMainSkeletonPanel: "room-issue-node__issue-main-skeleton-panel",
|
|
15860
|
-
issueMainSkeletonSection: "room-issue-node__issue-main-skeleton-section",
|
|
15861
|
-
issueMainSkeletonTitle: "room-issue-node__issue-main-skeleton-title",
|
|
15862
|
-
issueMeta: "room-issue-node__issue-meta",
|
|
15863
|
-
issueMoreAction: "room-issue-node__issue-more-action",
|
|
15864
|
-
issueMoreIconAction: "room-issue-node__issue-more-icon-action",
|
|
15865
|
-
issuePrimaryAction: "room-issue-node__issue-primary-action",
|
|
15866
|
-
issueSecondaryAction: "room-issue-node__issue-secondary-action",
|
|
15867
|
-
issueSectionHeader: "room-issue-node__issue-section-header",
|
|
15868
|
-
issueSectionTitle: "room-issue-node__issue-section-title",
|
|
15869
|
-
issueSkeletonBar: "room-issue-node__issue-skeleton-bar",
|
|
15870
|
-
issueSkeletonBarMeta: "room-issue-node__issue-skeleton-bar-meta",
|
|
15871
|
-
issueSkeletonBarSummary: "room-issue-node__issue-skeleton-bar-summary",
|
|
15872
|
-
issueSkeletonBarTitle: "room-issue-node__issue-skeleton-bar-title",
|
|
15873
|
-
issueTaskShellSurface: "room-issue-node__issue-task-shell-surface",
|
|
15874
|
-
issueTitle: "room-issue-node__issue-title",
|
|
15875
|
-
loadingHint: "room-issue-node__loading-hint",
|
|
15876
|
-
loadingMask: "room-issue-node__loading-mask",
|
|
15877
|
-
metaRow: "room-issue-node__meta-row",
|
|
15878
|
-
metaRowSeparator: "room-issue-node__meta-row-separator",
|
|
15879
|
-
node: "room-issue-node__node",
|
|
15880
|
-
nodeMaximized: "room-issue-node__node-maximized",
|
|
15881
|
-
nodeMuted: "room-issue-node__node-muted",
|
|
15882
|
-
outputAttachmentBox: "room-issue-node__output-attachment-box",
|
|
15883
|
-
outputButton: "room-issue-node__output-button",
|
|
15884
|
-
outputButtonPath: "room-issue-node__output-button-path",
|
|
15885
|
-
outputButtonTitle: "room-issue-node__output-button-title",
|
|
15886
|
-
outputCard: "room-issue-node__output-card",
|
|
15887
|
-
outputCardMainButton: "room-issue-node__output-card-main-button",
|
|
15888
|
-
outputList: "room-issue-node__output-list",
|
|
15889
|
-
outputMeta: "room-issue-node__output-meta",
|
|
15890
|
-
outputTitle: "room-issue-node__output-title",
|
|
15891
|
-
outputsList: "room-issue-node__outputs-list",
|
|
15892
|
-
overlay: "room-issue-node__overlay",
|
|
15893
|
-
overlayCard: "room-issue-node__overlay-card",
|
|
15894
|
-
overlayCardNarrow: "room-issue-node__overlay-card-narrow",
|
|
15895
|
-
overlayNarrow: "room-issue-node__overlay-narrow",
|
|
15896
|
-
panelDescription: "room-issue-node__panel-description",
|
|
15897
|
-
panelEyebrow: "room-issue-node__panel-eyebrow",
|
|
15898
|
-
panelHeader: "room-issue-node__panel-header",
|
|
15899
|
-
panelTitle: "room-issue-node__panel-title",
|
|
15900
|
-
panelTitleIssueName: "room-issue-node__panel-title-issue-name",
|
|
15901
|
-
prioritySelectWrap: "room-issue-node__priority-select-wrap",
|
|
15902
|
-
resultCard: "room-issue-node__result-card",
|
|
15903
|
-
resultSessionDetail: "room-issue-node__result-session-detail",
|
|
15904
|
-
resultStatusRow: "room-issue-node__result-status-row",
|
|
15905
|
-
resultTitle: "room-issue-node__result-title",
|
|
15906
|
-
richTextEditorCompact: "room-issue-node__rich-text-editor-compact",
|
|
15907
|
-
richTextEditorRead: "room-issue-node__rich-text-editor-read",
|
|
15908
|
-
richTextEditorTall: "room-issue-node__rich-text-editor-tall",
|
|
15909
|
-
runActionSelect: "room-issue-node__run-action-select",
|
|
15910
|
-
runActionSelectMenu: "room-issue-node__run-action-select-menu",
|
|
15911
|
-
runActionTriggerLabel: "room-issue-node__run-action-trigger-label",
|
|
15912
|
-
runActionTriggerLabelText: "room-issue-node__run-action-trigger-label-text",
|
|
15913
|
-
runActionWrap: "room-issue-node__run-action-wrap",
|
|
15914
|
-
searchBar: "room-issue-node__search-bar",
|
|
15915
15689
|
searchClearButton: "room-issue-node__search-clear-button",
|
|
15916
15690
|
searchField: "room-issue-node__search-field",
|
|
15917
|
-
searchInput: "room-issue-node__search-input"
|
|
15918
|
-
sectionHeader: "room-issue-node__section-header",
|
|
15919
|
-
sectionHeaderActions: "room-issue-node__section-header-actions",
|
|
15920
|
-
sectionLabel: "room-issue-node__section-label",
|
|
15921
|
-
sectionTitle: "room-issue-node__section-title",
|
|
15922
|
-
selectionHint: "room-issue-node__selection-hint",
|
|
15923
|
-
sidebarCategoryEmptyHint: "room-issue-node__sidebar-category-empty-hint",
|
|
15924
|
-
sidebarCreateButton: "room-issue-node__sidebar-create-button",
|
|
15925
|
-
sidebarEmptyHint: "room-issue-node__sidebar-empty-hint",
|
|
15926
|
-
sidebarEmptySkeleton: "room-issue-node__sidebar-empty-skeleton",
|
|
15927
|
-
sidebarEmptySkeletonCard: "room-issue-node__sidebar-empty-skeleton-card",
|
|
15928
|
-
sidebarEmptyText: "room-issue-node__sidebar-empty-text",
|
|
15929
|
-
sidebarEmptyTitle: "room-issue-node__sidebar-empty-title",
|
|
15930
|
-
sidebarHeader: "room-issue-node__sidebar-header",
|
|
15931
|
-
standardLayout: "room-issue-node__standard-layout",
|
|
15932
|
-
standardLayoutEmpty: "room-issue-node__standard-layout-empty",
|
|
15933
|
-
standardLayoutNarrow: "room-issue-node__standard-layout-narrow",
|
|
15934
|
-
standardLayoutSidebarCollapsed: "room-issue-node__standard-layout-sidebar-collapsed",
|
|
15935
|
-
standardMain: "room-issue-node__standard-main",
|
|
15936
|
-
standardMainScroll: "room-issue-node__standard-main-scroll",
|
|
15937
|
-
standardMainStretch: "room-issue-node__standard-main-stretch",
|
|
15938
|
-
standardSidebar: "room-issue-node__standard-sidebar",
|
|
15939
|
-
standardSidebarResizer: "room-issue-node__standard-sidebar-resizer",
|
|
15940
|
-
standardSidebarResizerLine: "room-issue-node__standard-sidebar-resizer-line",
|
|
15941
|
-
statusBadge: "room-issue-node__status-badge",
|
|
15942
|
-
statusBadgeCanceled: "room-issue-node__status-badge-canceled",
|
|
15943
|
-
statusBadgeCompleted: "room-issue-node__status-badge-completed",
|
|
15944
|
-
statusBadgeDefault: "room-issue-node__status-badge-default",
|
|
15945
|
-
statusBadgeFailed: "room-issue-node__status-badge-failed",
|
|
15946
|
-
statusBadgePending: "room-issue-node__status-badge-pending",
|
|
15947
|
-
statusBadgeRunning: "room-issue-node__status-badge-running",
|
|
15948
|
-
statusFieldSelectWrap: "room-issue-node__status-field-select-wrap",
|
|
15949
|
-
statusSelectWrap: "room-issue-node__status-select-wrap",
|
|
15950
|
-
summaryText: "room-issue-node__summary-text",
|
|
15951
|
-
taskCardFooter: "room-issue-node__task-card-footer",
|
|
15952
|
-
taskCardHeader: "room-issue-node__task-card-header",
|
|
15953
|
-
taskCenterMain: "room-issue-node__task-center-main",
|
|
15954
|
-
taskCenterMainEditing: "room-issue-node__task-center-main-editing",
|
|
15955
|
-
taskContentGrid: "room-issue-node__task-content-grid",
|
|
15956
|
-
taskExecutionPanelsGroup: "room-issue-node__task-execution-panels-group",
|
|
15957
|
-
taskDescriptionBody: "room-issue-node__task-description-body",
|
|
15958
|
-
taskDescriptionBodyWrap: "room-issue-node__task-description-body-wrap",
|
|
15959
|
-
taskDescriptionScrollable: "room-issue-node__task-description-scrollable",
|
|
15960
|
-
taskDescriptionContent: "room-issue-node__task-description-content",
|
|
15961
|
-
taskDescriptionEmpty: "room-issue-node__task-description-empty",
|
|
15962
|
-
taskDescriptionFadeMask: "room-issue-node__task-description-fade-mask",
|
|
15963
|
-
taskDescriptionSurface: "room-issue-node__task-description-surface",
|
|
15964
|
-
taskDescriptionSurfaceOverflowing: "room-issue-node__task-description-surface-overflowing",
|
|
15965
|
-
taskDescriptionViewport: "room-issue-node__task-description-viewport",
|
|
15966
|
-
taskEmptyStateBody: "room-issue-node__task-empty-state-body",
|
|
15967
|
-
taskEmptyStateButton: "room-issue-node__task-empty-state-button",
|
|
15968
|
-
taskEmptyStateDescription: "room-issue-node__task-empty-state-description",
|
|
15969
|
-
taskEmptyStateIcon: "room-issue-node__task-empty-state-icon",
|
|
15970
|
-
taskEmptyStatePanel: "room-issue-node__task-empty-state-panel",
|
|
15971
|
-
taskEmptyStateTitle: "room-issue-node__task-empty-state-title",
|
|
15972
|
-
taskHeader: "room-issue-node__task-header",
|
|
15973
|
-
taskHeaderActions: "room-issue-node__task-header-actions",
|
|
15974
|
-
taskHeaderDangerAction: "room-issue-node__task-header-danger-action",
|
|
15975
|
-
taskHeaderMain: "room-issue-node__task-header-main",
|
|
15976
|
-
taskHeaderMetaRow: "room-issue-node__task-header-meta-row",
|
|
15977
|
-
taskHeaderStatusTag: "room-issue-node__task-header-status-tag",
|
|
15978
|
-
taskHeaderTextAction: "room-issue-node__task-header-text-action",
|
|
15979
|
-
taskOverviewCard: "room-issue-node__task-overview-card",
|
|
15980
|
-
taskOverviewPill: "room-issue-node__task-overview-pill",
|
|
15981
|
-
taskOverviewPills: "room-issue-node__task-overview-pills",
|
|
15982
|
-
taskOverviewStatCard: "room-issue-node__task-overview-stat-card",
|
|
15983
|
-
taskOverviewStatLabel: "room-issue-node__task-overview-stat-label",
|
|
15984
|
-
taskOverviewStatValue: "room-issue-node__task-overview-stat-value",
|
|
15985
|
-
taskOverviewStatsGrid: "room-issue-node__task-overview-stats-grid",
|
|
15986
|
-
taskRefChip: "room-issue-node__task-ref-chip",
|
|
15987
|
-
taskRefChips: "room-issue-node__task-ref-chips",
|
|
15988
|
-
taskReferencePickerBody: "room-issue-node__task-reference-picker-body",
|
|
15989
|
-
taskReferencePickerCard: "room-issue-node__task-reference-picker-card",
|
|
15990
|
-
taskReferencePickerEmpty: "room-issue-node__task-reference-picker-empty",
|
|
15991
|
-
taskReferencePickerFooter: "room-issue-node__task-reference-picker-footer",
|
|
15992
|
-
taskReferencePickerHeader: "room-issue-node__task-reference-picker-header",
|
|
15993
|
-
taskReferencePickerList: "room-issue-node__task-reference-picker-list",
|
|
15994
|
-
taskReferencePickerOverlay: "room-issue-node__task-reference-picker-overlay",
|
|
15995
|
-
taskReferencePickerOverlayCard: "room-issue-node__task-reference-picker-overlay-card",
|
|
15996
|
-
taskReferencePickerRow: "room-issue-node__task-reference-picker-row",
|
|
15997
|
-
taskReferencePickerSelection: "room-issue-node__task-reference-picker-selection",
|
|
15998
|
-
taskReferencePickerSelectionChip: "room-issue-node__task-reference-picker-selection-chip",
|
|
15999
|
-
taskReferencePickerSelectionList: "room-issue-node__task-reference-picker-selection-list",
|
|
16000
|
-
taskReferencePickerSummary: "room-issue-node__task-reference-picker-summary",
|
|
16001
|
-
taskRefsEmpty: "room-issue-node__task-refs-empty",
|
|
16002
|
-
taskRefsSection: "room-issue-node__task-refs-section",
|
|
16003
|
-
taskShellActions: "room-issue-node__task-shell-actions",
|
|
16004
|
-
taskShellBottomBar: "room-issue-node__task-shell-bottom-bar",
|
|
16005
|
-
taskShellCard: "room-issue-node__task-shell-card",
|
|
16006
|
-
taskShellDescription: "room-issue-node__task-shell-description",
|
|
16007
|
-
taskShellRunningHeader: "room-issue-node__task-shell-running-header",
|
|
16008
|
-
taskShellTitle: "room-issue-node__task-shell-title",
|
|
16009
|
-
taskTitle: "room-issue-node__task-title",
|
|
16010
|
-
taskTitleRow: "room-issue-node__task-title-row",
|
|
16011
|
-
textInput: "room-issue-node__text-input"
|
|
15691
|
+
searchInput: "room-issue-node__search-input"
|
|
16012
15692
|
};
|
|
16013
15693
|
var RoomIssueNode_styles_default = styles;
|
|
16014
15694
|
|
|
@@ -16082,7 +15762,13 @@ function isTaskSearchImeComposing(event) {
|
|
|
16082
15762
|
}
|
|
16083
15763
|
|
|
16084
15764
|
// agent-gui/agentGuiNode/AgentSessionChrome.tsx
|
|
16085
|
-
import {
|
|
15765
|
+
import {
|
|
15766
|
+
Button as Button2,
|
|
15767
|
+
Tooltip,
|
|
15768
|
+
TooltipContent,
|
|
15769
|
+
TooltipProvider,
|
|
15770
|
+
TooltipTrigger
|
|
15771
|
+
} from "@tutti-os/ui-system";
|
|
16086
15772
|
|
|
16087
15773
|
// app/renderer/components/icons/CastIcon.tsx
|
|
16088
15774
|
import {
|
|
@@ -16225,15 +15911,6 @@ var CastIcon = forwardRef2(
|
|
|
16225
15911
|
);
|
|
16226
15912
|
CastIcon.displayName = "CastIcon";
|
|
16227
15913
|
|
|
16228
|
-
// app/renderer/components/ui/tooltip.tsx
|
|
16229
|
-
import {
|
|
16230
|
-
Tooltip,
|
|
16231
|
-
TooltipContent,
|
|
16232
|
-
TooltipPortal,
|
|
16233
|
-
TooltipProvider,
|
|
16234
|
-
TooltipTrigger
|
|
16235
|
-
} from "@tutti-os/ui-system";
|
|
16236
|
-
|
|
16237
15914
|
// agent-gui/agentGuiNode/AgentGUIChrome.styles.ts
|
|
16238
15915
|
var styles2 = {
|
|
16239
15916
|
sessionChrome: "agent-gui-chrome__session-chrome",
|
|
@@ -16687,10 +16364,18 @@ import {
|
|
|
16687
16364
|
import { createPortal as createPortal3, flushSync } from "react-dom";
|
|
16688
16365
|
import {
|
|
16689
16366
|
Button as Button3,
|
|
16367
|
+
Popover,
|
|
16368
|
+
PopoverAnchor,
|
|
16369
|
+
PopoverContent,
|
|
16690
16370
|
Select as Select2,
|
|
16691
16371
|
SelectContent as SelectContent2,
|
|
16692
16372
|
SelectItem as SelectItem2,
|
|
16693
|
-
SelectTrigger as SelectTrigger2
|
|
16373
|
+
SelectTrigger as SelectTrigger2,
|
|
16374
|
+
Spinner,
|
|
16375
|
+
Tooltip as Tooltip3,
|
|
16376
|
+
TooltipContent as TooltipContent3,
|
|
16377
|
+
TooltipProvider as TooltipProvider2,
|
|
16378
|
+
TooltipTrigger as TooltipTrigger3
|
|
16694
16379
|
} from "@tutti-os/ui-system";
|
|
16695
16380
|
import { ListChecks as ListChecks2, Target as Target3, X } from "lucide-react";
|
|
16696
16381
|
import {
|
|
@@ -17348,6 +17033,12 @@ import {
|
|
|
17348
17033
|
useState as useState6
|
|
17349
17034
|
} from "react";
|
|
17350
17035
|
import { ChevronRight } from "lucide-react";
|
|
17036
|
+
import {
|
|
17037
|
+
DropdownMenu as DropdownMenu2,
|
|
17038
|
+
DropdownMenuContent as DropdownMenuContent2,
|
|
17039
|
+
DropdownMenuItem,
|
|
17040
|
+
DropdownMenuTrigger as DropdownMenuTrigger2
|
|
17041
|
+
} from "@tutti-os/ui-system";
|
|
17351
17042
|
|
|
17352
17043
|
// agent-gui/agentGuiNode/AgentGUINode.styles.ts
|
|
17353
17044
|
var styles3 = {
|
|
@@ -17482,6 +17173,7 @@ var styles3 = {
|
|
|
17482
17173
|
providerRailLaunchpadIcon: "agent-gui-node__provider-rail-launchpad-icon",
|
|
17483
17174
|
emptyHeroLaunchpadIcon: "agent-gui-node__empty-hero-launchpad-icon",
|
|
17484
17175
|
providerRailLaunchpadItem: "agent-gui-node__provider-rail-launchpad-item",
|
|
17176
|
+
providerRailFooter: "agent-gui-node__provider-rail-footer",
|
|
17485
17177
|
providerRailPanel: "agent-gui-node__provider-rail-panel",
|
|
17486
17178
|
providerRailSeparator: "agent-gui-node__provider-rail-separator",
|
|
17487
17179
|
providerRailTile: "agent-gui-node__provider-rail-tile",
|
|
@@ -17730,8 +17422,8 @@ function AgentQueuedPromptPanel({
|
|
|
17730
17422
|
children: /* @__PURE__ */ jsx22(CanvasNodeTrashLinedIcon, { "aria-hidden": "true" })
|
|
17731
17423
|
}
|
|
17732
17424
|
),
|
|
17733
|
-
/* @__PURE__ */ jsxs11(
|
|
17734
|
-
/* @__PURE__ */ jsx22(
|
|
17425
|
+
/* @__PURE__ */ jsxs11(DropdownMenu2, { children: [
|
|
17426
|
+
/* @__PURE__ */ jsx22(DropdownMenuTrigger2, { asChild: true, children: /* @__PURE__ */ jsx22(
|
|
17735
17427
|
CanvasNodeGhostIconButton,
|
|
17736
17428
|
{
|
|
17737
17429
|
"aria-label": labels.queuedPromptMoreActions,
|
|
@@ -17742,7 +17434,7 @@ function AgentQueuedPromptPanel({
|
|
|
17742
17434
|
}
|
|
17743
17435
|
) }),
|
|
17744
17436
|
/* @__PURE__ */ jsx22(
|
|
17745
|
-
|
|
17437
|
+
DropdownMenuContent2,
|
|
17746
17438
|
{
|
|
17747
17439
|
align: "end",
|
|
17748
17440
|
className: AgentGUINode_styles_default.composerMenuContent,
|
|
@@ -17796,15 +17488,15 @@ import {
|
|
|
17796
17488
|
import { prepareWorkspaceUserProjectSelection } from "@tutti-os/workspace-user-project/core";
|
|
17797
17489
|
import {
|
|
17798
17490
|
CheckIcon,
|
|
17799
|
-
DropdownMenu as
|
|
17800
|
-
DropdownMenuContent as
|
|
17491
|
+
DropdownMenu as DropdownMenu3,
|
|
17492
|
+
DropdownMenuContent as DropdownMenuContent3,
|
|
17801
17493
|
DropdownMenuItem as DropdownMenuItem2,
|
|
17802
|
-
DropdownMenuLabel
|
|
17803
|
-
DropdownMenuSeparator
|
|
17804
|
-
DropdownMenuSub
|
|
17805
|
-
DropdownMenuSubContent
|
|
17806
|
-
DropdownMenuSubTrigger
|
|
17807
|
-
DropdownMenuTrigger as
|
|
17494
|
+
DropdownMenuLabel,
|
|
17495
|
+
DropdownMenuSeparator,
|
|
17496
|
+
DropdownMenuSub,
|
|
17497
|
+
DropdownMenuSubContent,
|
|
17498
|
+
DropdownMenuSubTrigger,
|
|
17499
|
+
DropdownMenuTrigger as DropdownMenuTrigger3,
|
|
17808
17500
|
FolderIcon,
|
|
17809
17501
|
NewWorkspaceLinedIcon,
|
|
17810
17502
|
NoWorkspaceLinedIcon,
|
|
@@ -18657,18 +18349,18 @@ function AgentModelReasoningDropdown({
|
|
|
18657
18349
|
if (previewMode) {
|
|
18658
18350
|
return trigger;
|
|
18659
18351
|
}
|
|
18660
|
-
return /* @__PURE__ */ jsxs12(
|
|
18352
|
+
return /* @__PURE__ */ jsxs12(DropdownMenu3, { open: menuOpen, onOpenChange: setMenuOpen, children: [
|
|
18661
18353
|
isModelLoading ? (
|
|
18662
18354
|
// The trigger is disabled while loading, so pointer events never reach
|
|
18663
18355
|
// it. Target the tooltip at a focusable wrapper span (Radix's pattern
|
|
18664
18356
|
// for disabled triggers) so hover/focus reliably surfaces the hint.
|
|
18665
18357
|
/* @__PURE__ */ jsxs12(Tooltip2, { children: [
|
|
18666
|
-
/* @__PURE__ */ jsx23(TooltipTrigger2, { asChild: true, children: /* @__PURE__ */ jsx23("span", { className: "inline-flex", tabIndex: 0, children: /* @__PURE__ */ jsx23(
|
|
18358
|
+
/* @__PURE__ */ jsx23(TooltipTrigger2, { asChild: true, children: /* @__PURE__ */ jsx23("span", { className: "inline-flex", tabIndex: 0, children: /* @__PURE__ */ jsx23(DropdownMenuTrigger3, { asChild: true, disabled: menuDisabled, children: trigger }) }) }),
|
|
18667
18359
|
/* @__PURE__ */ jsx23(TooltipContent2, { side: "top", children: labels.loadingOptions })
|
|
18668
18360
|
] })
|
|
18669
|
-
) : /* @__PURE__ */ jsx23(
|
|
18361
|
+
) : /* @__PURE__ */ jsx23(DropdownMenuTrigger3, { asChild: true, disabled: menuDisabled, children: trigger }),
|
|
18670
18362
|
/* @__PURE__ */ jsxs12(
|
|
18671
|
-
|
|
18363
|
+
DropdownMenuContent3,
|
|
18672
18364
|
{
|
|
18673
18365
|
align: "end",
|
|
18674
18366
|
side: "top",
|
|
@@ -18681,9 +18373,9 @@ function AgentModelReasoningDropdown({
|
|
|
18681
18373
|
"data-agent-composer-settings-layout": "model-primary",
|
|
18682
18374
|
children: [
|
|
18683
18375
|
menu.model.show ? /* @__PURE__ */ jsxs12(Fragment5, { children: [
|
|
18684
|
-
/* @__PURE__ */ jsx23(
|
|
18376
|
+
/* @__PURE__ */ jsx23(DropdownMenuLabel, { children: labels.modelSelectionLabel }),
|
|
18685
18377
|
menu.model.groups.length > 0 ? menu.model.groups.map((group, index) => /* @__PURE__ */ jsxs12(Fragment4, { children: [
|
|
18686
|
-
group.label !== null ? /* @__PURE__ */ jsx23(
|
|
18378
|
+
group.label !== null ? /* @__PURE__ */ jsx23(DropdownMenuLabel, { className: "text-xs text-[var(--agent-gui-text-tertiary)]", children: group.label }) : null,
|
|
18687
18379
|
/* @__PURE__ */ jsx23(
|
|
18688
18380
|
ComposerMenuOptionItems,
|
|
18689
18381
|
{
|
|
@@ -18705,10 +18397,10 @@ function AgentModelReasoningDropdown({
|
|
|
18705
18397
|
}
|
|
18706
18398
|
)
|
|
18707
18399
|
] }) : null,
|
|
18708
|
-
menu.model.show && (menu.reasoning.show || menu.speed.show) ? /* @__PURE__ */ jsx23(
|
|
18709
|
-
menu.reasoning.show ? /* @__PURE__ */ jsxs12(
|
|
18400
|
+
menu.model.show && (menu.reasoning.show || menu.speed.show) ? /* @__PURE__ */ jsx23(DropdownMenuSeparator, {}) : null,
|
|
18401
|
+
menu.reasoning.show ? /* @__PURE__ */ jsxs12(DropdownMenuSub, { children: [
|
|
18710
18402
|
/* @__PURE__ */ jsxs12(
|
|
18711
|
-
|
|
18403
|
+
DropdownMenuSubTrigger,
|
|
18712
18404
|
{
|
|
18713
18405
|
className: cn2(AgentGUINode_styles_default.composerMenuItem, "[&>svg]:!ml-0.5"),
|
|
18714
18406
|
"data-agent-reasoning-submenu-trigger": "true",
|
|
@@ -18719,7 +18411,7 @@ function AgentModelReasoningDropdown({
|
|
|
18719
18411
|
}
|
|
18720
18412
|
),
|
|
18721
18413
|
/* @__PURE__ */ jsx23(
|
|
18722
|
-
|
|
18414
|
+
DropdownMenuSubContent,
|
|
18723
18415
|
{
|
|
18724
18416
|
className: cn2(AgentGUINode_styles_default.composerMenuContent, "min-w-[132px]"),
|
|
18725
18417
|
"data-agent-composer-settings-layout": "model-submenu",
|
|
@@ -18735,9 +18427,9 @@ function AgentModelReasoningDropdown({
|
|
|
18735
18427
|
}
|
|
18736
18428
|
)
|
|
18737
18429
|
] }) : null,
|
|
18738
|
-
menu.speed.show ? /* @__PURE__ */ jsxs12(
|
|
18430
|
+
menu.speed.show ? /* @__PURE__ */ jsxs12(DropdownMenuSub, { children: [
|
|
18739
18431
|
/* @__PURE__ */ jsxs12(
|
|
18740
|
-
|
|
18432
|
+
DropdownMenuSubTrigger,
|
|
18741
18433
|
{
|
|
18742
18434
|
className: cn2(AgentGUINode_styles_default.composerMenuItem, "[&>svg]:!ml-0.5"),
|
|
18743
18435
|
"data-agent-speed-submenu-trigger": "true",
|
|
@@ -18748,7 +18440,7 @@ function AgentModelReasoningDropdown({
|
|
|
18748
18440
|
}
|
|
18749
18441
|
),
|
|
18750
18442
|
/* @__PURE__ */ jsx23(
|
|
18751
|
-
|
|
18443
|
+
DropdownMenuSubContent,
|
|
18752
18444
|
{
|
|
18753
18445
|
className: cn2(AgentGUINode_styles_default.composerMenuContent, "w-[200px]"),
|
|
18754
18446
|
"data-agent-composer-settings-layout": "model-submenu",
|
|
@@ -23507,8 +23199,8 @@ function AgentComposer({
|
|
|
23507
23199
|
/* @__PURE__ */ jsxs16("div", { className: AgentGUINode_styles_default.composerFooter, children: [
|
|
23508
23200
|
/* @__PURE__ */ jsxs16("div", { className: composerStyles.footerGroup, children: [
|
|
23509
23201
|
/* @__PURE__ */ jsxs16("div", { className: "inline-flex shrink-0 items-center gap-1", children: [
|
|
23510
|
-
previewMode ? /* @__PURE__ */ jsx28(
|
|
23511
|
-
/* @__PURE__ */ jsx28(
|
|
23202
|
+
previewMode ? /* @__PURE__ */ jsx28(TooltipProvider2, { delayDuration: 120, children: /* @__PURE__ */ jsxs16(Tooltip3, { children: [
|
|
23203
|
+
/* @__PURE__ */ jsx28(TooltipTrigger3, { asChild: true, children: /* @__PURE__ */ jsx28(
|
|
23512
23204
|
"button",
|
|
23513
23205
|
{
|
|
23514
23206
|
type: "button",
|
|
@@ -23527,8 +23219,8 @@ function AgentComposer({
|
|
|
23527
23219
|
)
|
|
23528
23220
|
}
|
|
23529
23221
|
) }),
|
|
23530
|
-
/* @__PURE__ */ jsx28(
|
|
23531
|
-
] }) }) : /* @__PURE__ */ jsx28(
|
|
23222
|
+
/* @__PURE__ */ jsx28(TooltipContent3, { side: "top", children: labels.addContent })
|
|
23223
|
+
] }) }) : /* @__PURE__ */ jsx28(TooltipProvider2, { delayDuration: 120, children: /* @__PURE__ */ jsxs16(Tooltip3, { children: [
|
|
23532
23224
|
/* @__PURE__ */ jsx28(
|
|
23533
23225
|
Select2,
|
|
23534
23226
|
{
|
|
@@ -23545,7 +23237,7 @@ function AgentComposer({
|
|
|
23545
23237
|
void handleWorkspaceReferencePicker();
|
|
23546
23238
|
}
|
|
23547
23239
|
},
|
|
23548
|
-
children: /* @__PURE__ */ jsx28(
|
|
23240
|
+
children: /* @__PURE__ */ jsx28(TooltipTrigger3, { asChild: true, children: /* @__PURE__ */ jsx28(
|
|
23549
23241
|
SelectTrigger2,
|
|
23550
23242
|
{
|
|
23551
23243
|
size: "sm",
|
|
@@ -23567,10 +23259,10 @@ function AgentComposer({
|
|
|
23567
23259
|
) })
|
|
23568
23260
|
}
|
|
23569
23261
|
),
|
|
23570
|
-
/* @__PURE__ */ jsx28(
|
|
23262
|
+
/* @__PURE__ */ jsx28(TooltipContent3, { side: "top", children: labels.addContent })
|
|
23571
23263
|
] }) }),
|
|
23572
|
-
/* @__PURE__ */ jsx28(
|
|
23573
|
-
/* @__PURE__ */ jsx28(
|
|
23264
|
+
/* @__PURE__ */ jsx28(TooltipProvider2, { delayDuration: 120, children: /* @__PURE__ */ jsxs16(Tooltip3, { children: [
|
|
23265
|
+
/* @__PURE__ */ jsx28(TooltipTrigger3, { asChild: true, children: /* @__PURE__ */ jsx28(
|
|
23574
23266
|
"button",
|
|
23575
23267
|
{
|
|
23576
23268
|
type: "button",
|
|
@@ -23602,7 +23294,7 @@ function AgentComposer({
|
|
|
23602
23294
|
)
|
|
23603
23295
|
}
|
|
23604
23296
|
) }),
|
|
23605
|
-
/* @__PURE__ */ jsx28(
|
|
23297
|
+
/* @__PURE__ */ jsx28(TooltipContent3, { side: "top", children: labels.mentionPalette })
|
|
23606
23298
|
] }) })
|
|
23607
23299
|
] }),
|
|
23608
23300
|
showHandoffSelect ? /* @__PURE__ */ jsxs16(
|
|
@@ -23953,10 +23645,10 @@ function AgentComposer({
|
|
|
23953
23645
|
{
|
|
23954
23646
|
className: AgentGUINode_styles_default.composerPromptTips,
|
|
23955
23647
|
"data-testid": "agent-gui-prompt-tips",
|
|
23956
|
-
children: !previewMode && isPromptTipOverflowing && promptTipNode ? /* @__PURE__ */ jsx28(
|
|
23957
|
-
/* @__PURE__ */ jsx28(
|
|
23648
|
+
children: !previewMode && isPromptTipOverflowing && promptTipNode ? /* @__PURE__ */ jsx28(TooltipProvider2, { delayDuration: 0, children: /* @__PURE__ */ jsxs16(Tooltip3, { children: [
|
|
23649
|
+
/* @__PURE__ */ jsx28(TooltipTrigger3, { asChild: true, children: promptTipNode }),
|
|
23958
23650
|
/* @__PURE__ */ jsx28(
|
|
23959
|
-
|
|
23651
|
+
TooltipContent3,
|
|
23960
23652
|
{
|
|
23961
23653
|
align: "end",
|
|
23962
23654
|
className: AgentGUINode_styles_default.composerPromptTipTooltip,
|
|
@@ -24211,6 +23903,7 @@ function AgentConversationListSkeleton({
|
|
|
24211
23903
|
}
|
|
24212
23904
|
|
|
24213
23905
|
// agent-gui/agentGuiNode/agentGuiNodeViewConversation.tsx
|
|
23906
|
+
import { Spinner as Spinner2 } from "@tutti-os/ui-system";
|
|
24214
23907
|
import { AskLinedIcon } from "@tutti-os/ui-system/icons";
|
|
24215
23908
|
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
24216
23909
|
function ConversationMeta({
|
|
@@ -24445,7 +24138,7 @@ function formatConversationRelativeTime(updatedAtUnixMs, nowMs, labels) {
|
|
|
24445
24138
|
function LoadingGlyph() {
|
|
24446
24139
|
"use memo";
|
|
24447
24140
|
return /* @__PURE__ */ jsx30(
|
|
24448
|
-
|
|
24141
|
+
Spinner2,
|
|
24449
24142
|
{
|
|
24450
24143
|
className: AgentGUINode_styles_default.conversationStatusGlyph,
|
|
24451
24144
|
size: 14,
|
|
@@ -24483,6 +24176,7 @@ var AGENT_GUI_STICK_TO_BOTTOM_THRESHOLD_PX = 24;
|
|
|
24483
24176
|
var AGENT_GUI_TOP_HISTORY_PREFETCH_THRESHOLD_PX = 240;
|
|
24484
24177
|
var AGENT_GUI_TOP_MASK_SCROLL_EPSILON_PX = 1;
|
|
24485
24178
|
var AGENT_GUI_CONVERSATION_RAIL_SECTION_PAGE_SIZE = 5;
|
|
24179
|
+
var AGENT_GUI_CONVERSATION_RAIL_LOADING_SKELETON_DELAY_MS = 300;
|
|
24486
24180
|
var AGENT_GUI_CONVERSATION_RAIL_PROJECTION_PROVIDER = "codex";
|
|
24487
24181
|
var AGENT_GUI_TIMELINE_SCROLL_AREA_CONTENT_STYLE = {
|
|
24488
24182
|
width: "100%",
|
|
@@ -24525,6 +24219,22 @@ var fallbackWorkspaceFileReferenceCopy = {
|
|
|
24525
24219
|
function agentGuiPerfNowMs() {
|
|
24526
24220
|
return globalThis.performance?.now?.() ?? Date.now();
|
|
24527
24221
|
}
|
|
24222
|
+
function useDelayedBoolean(value, delayMs) {
|
|
24223
|
+
const [delayedValue, setDelayedValue] = useState12(false);
|
|
24224
|
+
useEffect13(() => {
|
|
24225
|
+
if (!value) {
|
|
24226
|
+
setDelayedValue(false);
|
|
24227
|
+
return void 0;
|
|
24228
|
+
}
|
|
24229
|
+
const timer = window.setTimeout(() => {
|
|
24230
|
+
setDelayedValue(true);
|
|
24231
|
+
}, delayMs);
|
|
24232
|
+
return () => {
|
|
24233
|
+
window.clearTimeout(timer);
|
|
24234
|
+
};
|
|
24235
|
+
}, [delayMs, value]);
|
|
24236
|
+
return delayedValue;
|
|
24237
|
+
}
|
|
24528
24238
|
function roundAgentGuiPerfMs(value) {
|
|
24529
24239
|
return Math.round(value * 100) / 100;
|
|
24530
24240
|
}
|
|
@@ -24734,6 +24444,7 @@ function handoffProjectPathForConversation(conversation) {
|
|
|
24734
24444
|
function AgentGUINodeView({
|
|
24735
24445
|
viewModel,
|
|
24736
24446
|
renderSidebarFooter,
|
|
24447
|
+
renderProviderRailEmpty,
|
|
24737
24448
|
onLinkAction,
|
|
24738
24449
|
onHandoffConversation,
|
|
24739
24450
|
capabilityMenuState,
|
|
@@ -24930,6 +24641,9 @@ function AgentGUINodeView({
|
|
|
24930
24641
|
);
|
|
24931
24642
|
const openProjectFiles = useOptionalStableEventCallback(onLinkAction);
|
|
24932
24643
|
const detailComposerFocusRequestSequence = localComposerFocusRequestSequence === 0 ? composerFocusRequestSequence : (composerFocusRequestSequence ?? 0) + localComposerFocusRequestSequence;
|
|
24644
|
+
const requestComposerFocus = useCallback10(() => {
|
|
24645
|
+
setLocalComposerFocusRequestSequence((current) => current + 1);
|
|
24646
|
+
}, []);
|
|
24933
24647
|
const requestCreateConversation = useCallback10(
|
|
24934
24648
|
(options) => {
|
|
24935
24649
|
if (previewMode) {
|
|
@@ -24946,11 +24660,12 @@ function AgentGUINodeView({
|
|
|
24946
24660
|
} else {
|
|
24947
24661
|
createConversationAction({ source: source ?? "rail_toolbar" });
|
|
24948
24662
|
}
|
|
24949
|
-
|
|
24663
|
+
requestComposerFocus();
|
|
24950
24664
|
},
|
|
24951
24665
|
[
|
|
24952
24666
|
createConversationAction,
|
|
24953
24667
|
previewMode,
|
|
24668
|
+
requestComposerFocus,
|
|
24954
24669
|
viewModel.composerSettings.selectedProjectPath
|
|
24955
24670
|
]
|
|
24956
24671
|
);
|
|
@@ -25223,27 +24938,43 @@ function AgentGUINodeView({
|
|
|
25223
24938
|
inert: previewMode ? true : void 0,
|
|
25224
24939
|
style: layoutStyle,
|
|
25225
24940
|
children: [
|
|
25226
|
-
showProviderRail ? /* @__PURE__ */
|
|
24941
|
+
showProviderRail ? /* @__PURE__ */ jsxs18(
|
|
25227
24942
|
"aside",
|
|
25228
24943
|
{
|
|
25229
24944
|
className: `${AgentGUINode_styles_default.providerRailPanel} nodrag tsh-desktop-no-drag`,
|
|
25230
24945
|
"aria-label": labels.providerSwitchLabel,
|
|
25231
24946
|
"aria-hidden": conversationRailCollapsed ? "true" : void 0,
|
|
25232
24947
|
inert: conversationRailCollapsed ? true : void 0,
|
|
25233
|
-
children:
|
|
25234
|
-
|
|
25235
|
-
|
|
25236
|
-
|
|
25237
|
-
|
|
25238
|
-
|
|
25239
|
-
|
|
25240
|
-
|
|
25241
|
-
|
|
25242
|
-
|
|
25243
|
-
|
|
25244
|
-
|
|
25245
|
-
|
|
25246
|
-
|
|
24948
|
+
children: [
|
|
24949
|
+
/* @__PURE__ */ jsx31(
|
|
24950
|
+
AgentGUIProviderRail,
|
|
24951
|
+
{
|
|
24952
|
+
conversationFilter: viewModel.conversationFilter,
|
|
24953
|
+
labels,
|
|
24954
|
+
previewMode,
|
|
24955
|
+
selectedProviderTarget: viewModel.selectedProviderTarget,
|
|
24956
|
+
providerTargets: viewModel.providerTargets,
|
|
24957
|
+
providerTargetsLoading: viewModel.providerTargetsLoading,
|
|
24958
|
+
providerRailMode: viewModel.providerRailMode,
|
|
24959
|
+
renderProviderRailEmpty,
|
|
24960
|
+
comingSoonProviders: viewModel.comingSoonProviders,
|
|
24961
|
+
onSelectConversationFilterTarget: actions.selectConversationFilterTarget,
|
|
24962
|
+
onUpdateConversationFilter: actions.updateConversationFilter,
|
|
24963
|
+
onRequestComposerFocus: requestComposerFocus
|
|
24964
|
+
}
|
|
24965
|
+
),
|
|
24966
|
+
renderSidebarFooter ? /* @__PURE__ */ jsx31(
|
|
24967
|
+
"div",
|
|
24968
|
+
{
|
|
24969
|
+
className: `${AgentGUINode_styles_default.providerRailFooter} nodrag tsh-desktop-no-drag`,
|
|
24970
|
+
"data-testid": "agent-gui-sidebar-footer-slot",
|
|
24971
|
+
children: renderSidebarFooter({
|
|
24972
|
+
currentUserId: viewModel.currentUserId,
|
|
24973
|
+
activeConversation: viewModel.activeConversation
|
|
24974
|
+
})
|
|
24975
|
+
}
|
|
24976
|
+
) : null
|
|
24977
|
+
]
|
|
25247
24978
|
}
|
|
25248
24979
|
) : null,
|
|
25249
24980
|
/* @__PURE__ */ jsx31(
|
|
@@ -25257,9 +24988,6 @@ function AgentGUINodeView({
|
|
|
25257
24988
|
AgentGUIConversationRailStorePane,
|
|
25258
24989
|
{
|
|
25259
24990
|
conversations: viewModel.conversations,
|
|
25260
|
-
currentUserId: viewModel.currentUserId,
|
|
25261
|
-
activeConversation: viewModel.activeConversation,
|
|
25262
|
-
renderSidebarFooter,
|
|
25263
24991
|
store: conversationRailStore,
|
|
25264
24992
|
storeState: conversationRailStoreState,
|
|
25265
24993
|
userProjects: viewModel.userProjects,
|
|
@@ -25353,7 +25081,7 @@ function AgentGUINodeView({
|
|
|
25353
25081
|
}
|
|
25354
25082
|
)
|
|
25355
25083
|
] });
|
|
25356
|
-
return previewMode ? content : /* @__PURE__ */ jsx31(
|
|
25084
|
+
return previewMode ? content : /* @__PURE__ */ jsx31(TooltipProvider3, { children: content });
|
|
25357
25085
|
}
|
|
25358
25086
|
function mergeWorkspaceAppIconsFromCommands(input) {
|
|
25359
25087
|
const seen = new Set(
|
|
@@ -26618,10 +26346,10 @@ function AgentRunPathInfo({
|
|
|
26618
26346
|
if (previewMode) {
|
|
26619
26347
|
return trigger;
|
|
26620
26348
|
}
|
|
26621
|
-
return /* @__PURE__ */ jsxs18(
|
|
26622
|
-
/* @__PURE__ */ jsx31(
|
|
26349
|
+
return /* @__PURE__ */ jsxs18(Tooltip4, { children: [
|
|
26350
|
+
/* @__PURE__ */ jsx31(TooltipTrigger4, { asChild: true, children: trigger }),
|
|
26623
26351
|
/* @__PURE__ */ jsx31(
|
|
26624
|
-
|
|
26352
|
+
TooltipContent4,
|
|
26625
26353
|
{
|
|
26626
26354
|
side: "top",
|
|
26627
26355
|
align: "start",
|
|
@@ -27114,7 +26842,6 @@ var AgentGUIBottomDockPane = memo(function AgentGUIBottomDockPane2({
|
|
|
27114
26842
|
tokensUsed: goalTokensUsed ?? void 0,
|
|
27115
26843
|
timeUsedSeconds: goalTimeUsedSeconds ?? void 0,
|
|
27116
26844
|
labels: goalBannerLabels,
|
|
27117
|
-
onEditObjective: (objective) => onGoalControl("set", objective),
|
|
27118
26845
|
onPauseGoal: goalPauseSupported ? () => onGoalControl("pause") : void 0,
|
|
27119
26846
|
onResumeGoal: goalPauseSupported ? () => onGoalControl("resume") : void 0,
|
|
27120
26847
|
onClearGoal: () => onGoalControl("clear")
|
|
@@ -27158,10 +26885,7 @@ function agentGUIConversationRailStoreSnapshotsEqual(current, next) {
|
|
|
27158
26885
|
}
|
|
27159
26886
|
var AgentGUIConversationRailStorePane = memo(
|
|
27160
26887
|
function AgentGUIConversationRailStorePane2({
|
|
27161
|
-
activeConversation,
|
|
27162
26888
|
conversations,
|
|
27163
|
-
currentUserId,
|
|
27164
|
-
renderSidebarFooter,
|
|
27165
26889
|
store,
|
|
27166
26890
|
storeState: _storeState,
|
|
27167
26891
|
userProjects,
|
|
@@ -27173,10 +26897,7 @@ var AgentGUIConversationRailStorePane = memo(
|
|
|
27173
26897
|
AgentGUIConversationRailPane,
|
|
27174
26898
|
{
|
|
27175
26899
|
...state,
|
|
27176
|
-
activeConversation,
|
|
27177
26900
|
conversations,
|
|
27178
|
-
currentUserId,
|
|
27179
|
-
renderSidebarFooter,
|
|
27180
26901
|
userProjects,
|
|
27181
26902
|
workspaceId
|
|
27182
26903
|
}
|
|
@@ -27513,10 +27234,13 @@ function agentGUIProviderRailLabel(provider, targetLabel, labels) {
|
|
|
27513
27234
|
function agentGUIProviderTargetMatchesConversationFilter(target, filter) {
|
|
27514
27235
|
return filter.kind === "agentTarget" && (target.agentTargetId?.trim() ?? "") === filter.agentTargetId;
|
|
27515
27236
|
}
|
|
27516
|
-
function agentGUIProviderRailTargets(providerTargets, providerTargetsLoading, comingSoonProviders) {
|
|
27237
|
+
function agentGUIProviderRailTargets(providerTargets, providerTargetsLoading, comingSoonProviders, providerRailMode) {
|
|
27517
27238
|
if (providerTargetsLoading) {
|
|
27518
27239
|
return [];
|
|
27519
27240
|
}
|
|
27241
|
+
if (providerRailMode === "exact") {
|
|
27242
|
+
return providerTargets;
|
|
27243
|
+
}
|
|
27520
27244
|
const comingSoon = new Set(comingSoonProviders);
|
|
27521
27245
|
const source = providerTargets.length > 0 && !agentGUIProviderRailTargetsAreFullLocalFallback(providerTargets) ? providerTargets : [];
|
|
27522
27246
|
const seenProviders = new Set(source.map((target) => target.provider));
|
|
@@ -27549,7 +27273,10 @@ var AgentGUIProviderRail = memo(function AgentGUIProviderRail2({
|
|
|
27549
27273
|
selectedProviderTarget,
|
|
27550
27274
|
providerTargets,
|
|
27551
27275
|
providerTargetsLoading,
|
|
27276
|
+
providerRailMode,
|
|
27277
|
+
renderProviderRailEmpty,
|
|
27552
27278
|
comingSoonProviders,
|
|
27279
|
+
onRequestComposerFocus,
|
|
27553
27280
|
onSelectConversationFilterTarget,
|
|
27554
27281
|
onUpdateConversationFilter
|
|
27555
27282
|
}) {
|
|
@@ -27558,12 +27285,21 @@ var AgentGUIProviderRail = memo(function AgentGUIProviderRail2({
|
|
|
27558
27285
|
() => agentGUIProviderRailTargets(
|
|
27559
27286
|
providerTargets,
|
|
27560
27287
|
providerTargetsLoading,
|
|
27561
|
-
comingSoonProviders
|
|
27288
|
+
comingSoonProviders,
|
|
27289
|
+
providerRailMode
|
|
27562
27290
|
),
|
|
27563
|
-
[
|
|
27291
|
+
[
|
|
27292
|
+
comingSoonProviders,
|
|
27293
|
+
providerRailMode,
|
|
27294
|
+
providerTargets,
|
|
27295
|
+
providerTargetsLoading
|
|
27296
|
+
]
|
|
27564
27297
|
);
|
|
27565
27298
|
const providerTiles = useMemo10(() => {
|
|
27566
27299
|
const targets = [...railProviderTargets];
|
|
27300
|
+
if (providerRailMode === "exact") {
|
|
27301
|
+
return targets;
|
|
27302
|
+
}
|
|
27567
27303
|
const originalIndexByTarget = /* @__PURE__ */ new Map();
|
|
27568
27304
|
targets.forEach((target, index) => {
|
|
27569
27305
|
originalIndexByTarget.set(
|
|
@@ -27580,7 +27316,7 @@ var AgentGUIProviderRail = memo(function AgentGUIProviderRail2({
|
|
|
27580
27316
|
`${right.provider}\0${right.targetId}`
|
|
27581
27317
|
) ?? 0);
|
|
27582
27318
|
});
|
|
27583
|
-
}, [railProviderTargets]);
|
|
27319
|
+
}, [providerRailMode, railProviderTargets]);
|
|
27584
27320
|
const selectedProviderTargetIsPlaceholder = selectedProviderTarget?.disabled === true;
|
|
27585
27321
|
const allTileSelected = conversationFilter.kind === "all" && !selectedProviderTargetIsPlaceholder;
|
|
27586
27322
|
const selectAllProviders = useCallback10(() => {
|
|
@@ -27594,8 +27330,10 @@ var AgentGUIProviderRail = memo(function AgentGUIProviderRail2({
|
|
|
27594
27330
|
});
|
|
27595
27331
|
}
|
|
27596
27332
|
}
|
|
27333
|
+
onRequestComposerFocus();
|
|
27597
27334
|
}, [
|
|
27598
27335
|
onSelectConversationFilterTarget,
|
|
27336
|
+
onRequestComposerFocus,
|
|
27599
27337
|
onUpdateConversationFilter,
|
|
27600
27338
|
railProviderTargets,
|
|
27601
27339
|
selectedProviderTargetIsPlaceholder
|
|
@@ -27606,9 +27344,23 @@ var AgentGUIProviderRail = memo(function AgentGUIProviderRail2({
|
|
|
27606
27344
|
provider: target.provider,
|
|
27607
27345
|
providerTargetId: target.targetId
|
|
27608
27346
|
});
|
|
27347
|
+
onRequestComposerFocus();
|
|
27609
27348
|
},
|
|
27610
|
-
[onSelectConversationFilterTarget]
|
|
27349
|
+
[onRequestComposerFocus, onSelectConversationFilterTarget]
|
|
27611
27350
|
);
|
|
27351
|
+
if (providerRailMode === "exact" && !providerTargetsLoading && providerTiles.length === 0 && renderProviderRailEmpty) {
|
|
27352
|
+
return /* @__PURE__ */ jsx31(
|
|
27353
|
+
"div",
|
|
27354
|
+
{
|
|
27355
|
+
className: AgentGUINode_styles_default.providerRail,
|
|
27356
|
+
role: "tablist",
|
|
27357
|
+
"aria-label": labels.providerSwitchLabel,
|
|
27358
|
+
"aria-busy": providerTargetsLoading,
|
|
27359
|
+
"data-empty": "true",
|
|
27360
|
+
children: renderProviderRailEmpty()
|
|
27361
|
+
}
|
|
27362
|
+
);
|
|
27363
|
+
}
|
|
27612
27364
|
return /* @__PURE__ */ jsxs18(
|
|
27613
27365
|
"div",
|
|
27614
27366
|
{
|
|
@@ -27689,9 +27441,9 @@ var AgentGUIProviderRail = memo(function AgentGUIProviderRail2({
|
|
|
27689
27441
|
if (previewMode) {
|
|
27690
27442
|
return tile;
|
|
27691
27443
|
}
|
|
27692
|
-
return /* @__PURE__ */ jsxs18(
|
|
27693
|
-
/* @__PURE__ */ jsx31(
|
|
27694
|
-
/* @__PURE__ */ jsx31(
|
|
27444
|
+
return /* @__PURE__ */ jsxs18(Tooltip4, { children: [
|
|
27445
|
+
/* @__PURE__ */ jsx31(TooltipTrigger4, { asChild: true, children: tile }),
|
|
27446
|
+
/* @__PURE__ */ jsx31(TooltipContent4, { side: "right", sideOffset: -4, children: label })
|
|
27695
27447
|
] }, `${target.provider}:${target.targetId}:tooltip`);
|
|
27696
27448
|
})
|
|
27697
27449
|
]
|
|
@@ -27710,10 +27462,12 @@ function useAgentGUIConversationRail({
|
|
|
27710
27462
|
}) {
|
|
27711
27463
|
const agentActivityRuntime = useAgentActivityRuntime();
|
|
27712
27464
|
const [runtimeRailSections, setRuntimeRailSections] = useState12(null);
|
|
27465
|
+
const [runtimeRailSectionsPending, setRuntimeRailSectionsPending] = useState12(false);
|
|
27713
27466
|
const [sectionPageStates, setSectionPageStates] = useState12(() => /* @__PURE__ */ new Map());
|
|
27714
27467
|
const conversationsRef = useRef12(conversations);
|
|
27715
27468
|
const pagingRequestSequenceRef = useRef12(0);
|
|
27716
27469
|
const pagingAbortControllersRef = useRef12(/* @__PURE__ */ new Map());
|
|
27470
|
+
const workspaceIdRef = useRef12(workspaceId);
|
|
27717
27471
|
const runtimeListSessionSections = agentActivityRuntime.listSessionSections;
|
|
27718
27472
|
const runtimeListSessionSectionPage = agentActivityRuntime.listSessionSectionPage;
|
|
27719
27473
|
const runtimeSectionsEnabled = !previewMode && Boolean(runtimeListSessionSections) && Boolean(runtimeListSessionSectionPage);
|
|
@@ -27737,12 +27491,16 @@ function useAgentGUIConversationRail({
|
|
|
27737
27491
|
conversationsRef.current = conversations;
|
|
27738
27492
|
}, [conversations]);
|
|
27739
27493
|
useEffect13(() => {
|
|
27494
|
+
const workspaceChanged = workspaceIdRef.current !== workspaceId;
|
|
27495
|
+
workspaceIdRef.current = workspaceId;
|
|
27740
27496
|
pagingRequestSequenceRef.current += 1;
|
|
27741
27497
|
for (const controller of pagingAbortControllersRef.current.values()) {
|
|
27742
27498
|
controller.abort();
|
|
27743
27499
|
}
|
|
27744
27500
|
pagingAbortControllersRef.current.clear();
|
|
27745
|
-
|
|
27501
|
+
if (workspaceChanged) {
|
|
27502
|
+
setRuntimeRailSections(null);
|
|
27503
|
+
}
|
|
27746
27504
|
setSectionPageStates(/* @__PURE__ */ new Map());
|
|
27747
27505
|
return () => {
|
|
27748
27506
|
pagingRequestSequenceRef.current += 1;
|
|
@@ -27760,10 +27518,12 @@ function useAgentGUIConversationRail({
|
|
|
27760
27518
|
);
|
|
27761
27519
|
useEffect13(() => {
|
|
27762
27520
|
if (!runtimeSectionsEnabled || !runtimeListSessionSections) {
|
|
27521
|
+
setRuntimeRailSectionsPending(false);
|
|
27763
27522
|
return;
|
|
27764
27523
|
}
|
|
27765
27524
|
const requestSequence = pagingRequestSequenceRef.current;
|
|
27766
27525
|
const abortController = new AbortController();
|
|
27526
|
+
setRuntimeRailSectionsPending(true);
|
|
27767
27527
|
void runtimeListSessionSections({
|
|
27768
27528
|
agentTargetId: sectionAgentTargetId || void 0,
|
|
27769
27529
|
limitPerSection: AGENT_GUI_CONVERSATION_RAIL_SECTION_PAGE_SIZE,
|
|
@@ -27790,6 +27550,7 @@ function useAgentGUIConversationRail({
|
|
|
27790
27550
|
sectionsWithSummaries ?? sections
|
|
27791
27551
|
)
|
|
27792
27552
|
);
|
|
27553
|
+
setRuntimeRailSectionsPending(false);
|
|
27793
27554
|
setSectionPageStates(() => {
|
|
27794
27555
|
const next = /* @__PURE__ */ new Map();
|
|
27795
27556
|
for (const section of page.sections) {
|
|
@@ -27806,6 +27567,7 @@ function useAgentGUIConversationRail({
|
|
|
27806
27567
|
return;
|
|
27807
27568
|
}
|
|
27808
27569
|
setRuntimeRailSections([]);
|
|
27570
|
+
setRuntimeRailSectionsPending(false);
|
|
27809
27571
|
});
|
|
27810
27572
|
return () => {
|
|
27811
27573
|
abortController.abort();
|
|
@@ -27940,6 +27702,7 @@ function useAgentGUIConversationRail({
|
|
|
27940
27702
|
loadMoreSectionConversations,
|
|
27941
27703
|
runtimeSectionsEnabled,
|
|
27942
27704
|
runtimeRailSections,
|
|
27705
|
+
runtimeRailSectionsPending,
|
|
27943
27706
|
sectionPageStates
|
|
27944
27707
|
};
|
|
27945
27708
|
}
|
|
@@ -27948,9 +27711,6 @@ var AgentGUIConversationRailPane = memo(
|
|
|
27948
27711
|
conversations,
|
|
27949
27712
|
workspaceId,
|
|
27950
27713
|
userProjects,
|
|
27951
|
-
currentUserId,
|
|
27952
|
-
activeConversation,
|
|
27953
|
-
renderSidebarFooter,
|
|
27954
27714
|
activeConversationId,
|
|
27955
27715
|
pendingDeleteConversationId,
|
|
27956
27716
|
isLoadingConversations,
|
|
@@ -28001,6 +27761,7 @@ var AgentGUIConversationRailPane = memo(
|
|
|
28001
27761
|
loadMoreSectionConversations,
|
|
28002
27762
|
runtimeSectionsEnabled,
|
|
28003
27763
|
runtimeRailSections,
|
|
27764
|
+
runtimeRailSectionsPending,
|
|
28004
27765
|
sectionPageStates
|
|
28005
27766
|
} = useAgentGUIConversationRail({
|
|
28006
27767
|
conversationFilter,
|
|
@@ -28099,7 +27860,13 @@ var AgentGUIConversationRailPane = memo(
|
|
|
28099
27860
|
}
|
|
28100
27861
|
return counts;
|
|
28101
27862
|
}, [displayConversations]);
|
|
28102
|
-
const isRuntimeRailLoading = runtimeSectionsEnabled && runtimeRailSections === null;
|
|
27863
|
+
const isRuntimeRailLoading = runtimeSectionsEnabled && (runtimeRailSections === null || runtimeRailSectionsPending);
|
|
27864
|
+
const isConversationRailListLoading = isRuntimeRailLoading || isLoadingConversations && conversations.length === 0;
|
|
27865
|
+
const shouldShowConversationSkeleton = useDelayedBoolean(
|
|
27866
|
+
isConversationRailListLoading,
|
|
27867
|
+
AGENT_GUI_CONVERSATION_RAIL_LOADING_SKELETON_DELAY_MS
|
|
27868
|
+
);
|
|
27869
|
+
const shouldShowConversationEmptyState = !isConversationRailListLoading && groupedConversations.length === 0;
|
|
28103
27870
|
const registerConversationItemElement = useCallback10(
|
|
28104
27871
|
(itemId, element) => {
|
|
28105
27872
|
if (element) {
|
|
@@ -28194,12 +27961,12 @@ var AgentGUIConversationRailPane = memo(
|
|
|
28194
27961
|
className: "min-h-0 flex-1 [&_[data-orientation=vertical][data-slot=scroll-area-scrollbar]]:opacity-100",
|
|
28195
27962
|
viewportRef: conversationListRef,
|
|
28196
27963
|
viewportClassName: AgentGUINode_styles_default.conversationList,
|
|
28197
|
-
children:
|
|
27964
|
+
children: shouldShowConversationSkeleton ? /* @__PURE__ */ jsx31(
|
|
28198
27965
|
AgentConversationListSkeleton,
|
|
28199
27966
|
{
|
|
28200
27967
|
label: labels.loadingConversations
|
|
28201
27968
|
}
|
|
28202
|
-
) :
|
|
27969
|
+
) : shouldShowConversationEmptyState ? /* @__PURE__ */ jsx31("div", { className: AgentGUINode_styles_default.emptyState, children: /* @__PURE__ */ jsx31("span", { children: conversations.length === 0 ? labels.noConversations : conversationQuery.trim() ? labels.searchNoConversations : labels.conversationUnavailable }) }) : groupedConversations.map((section, sectionIndex) => {
|
|
28203
27970
|
const projectPath = section.kind === "project" ? section.project?.path ?? "" : "";
|
|
28204
27971
|
const normalizedProjectPath = normalizeConversationRailProjectPath(projectPath);
|
|
28205
27972
|
const projectLabel = section.kind === "project" ? section.label : "";
|
|
@@ -28254,8 +28021,8 @@ var AgentGUIConversationRailPane = memo(
|
|
|
28254
28021
|
})
|
|
28255
28022
|
}
|
|
28256
28023
|
),
|
|
28257
|
-
selectedProviderTarget?.disabled === true ? null : /* @__PURE__ */ jsx31("div", { className: "shrink-0 px-2 py-1.5", children: /* @__PURE__ */ jsxs18(
|
|
28258
|
-
|
|
28024
|
+
selectedProviderTarget?.disabled === true || conversationFilter.kind === "all" ? null : /* @__PURE__ */ jsx31("div", { className: "shrink-0 px-2 py-1.5", children: /* @__PURE__ */ jsxs18(
|
|
28025
|
+
Popover2,
|
|
28259
28026
|
{
|
|
28260
28027
|
onOpenChange: (open) => {
|
|
28261
28028
|
if (open) {
|
|
@@ -28285,7 +28052,7 @@ var AgentGUIConversationRailPane = memo(
|
|
|
28285
28052
|
}
|
|
28286
28053
|
) }),
|
|
28287
28054
|
/* @__PURE__ */ jsx31(
|
|
28288
|
-
|
|
28055
|
+
PopoverContent2,
|
|
28289
28056
|
{
|
|
28290
28057
|
side: "top",
|
|
28291
28058
|
align: "start",
|
|
@@ -28350,17 +28117,6 @@ var AgentGUIConversationRailPane = memo(
|
|
|
28350
28117
|
]
|
|
28351
28118
|
}
|
|
28352
28119
|
) }),
|
|
28353
|
-
renderSidebarFooter ? /* @__PURE__ */ jsx31(
|
|
28354
|
-
"div",
|
|
28355
|
-
{
|
|
28356
|
-
className: "shrink-0 px-2 py-1.5",
|
|
28357
|
-
"data-testid": "agent-gui-sidebar-footer-slot",
|
|
28358
|
-
children: renderSidebarFooter({
|
|
28359
|
-
currentUserId,
|
|
28360
|
-
activeConversation
|
|
28361
|
-
})
|
|
28362
|
-
}
|
|
28363
|
-
) : null,
|
|
28364
28120
|
/* @__PURE__ */ jsx31(
|
|
28365
28121
|
ConfirmationDialog,
|
|
28366
28122
|
{
|
|
@@ -28553,8 +28309,8 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28553
28309
|
onClick: handleCreateConversation,
|
|
28554
28310
|
children: /* @__PURE__ */ jsx31(CreateChatIcon, { "aria-hidden": "true" })
|
|
28555
28311
|
}
|
|
28556
|
-
) }) : /* @__PURE__ */ jsxs18(
|
|
28557
|
-
/* @__PURE__ */ jsx31(
|
|
28312
|
+
) }) : /* @__PURE__ */ jsxs18(Tooltip4, { children: [
|
|
28313
|
+
/* @__PURE__ */ jsx31(TooltipTrigger4, { asChild: true, children: /* @__PURE__ */ jsx31(
|
|
28558
28314
|
"span",
|
|
28559
28315
|
{
|
|
28560
28316
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
@@ -28572,7 +28328,7 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28572
28328
|
}
|
|
28573
28329
|
) }),
|
|
28574
28330
|
/* @__PURE__ */ jsx31(
|
|
28575
|
-
|
|
28331
|
+
TooltipContent4,
|
|
28576
28332
|
{
|
|
28577
28333
|
side: "top",
|
|
28578
28334
|
sideOffset: 6,
|
|
@@ -28581,8 +28337,8 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28581
28337
|
}
|
|
28582
28338
|
)
|
|
28583
28339
|
] }),
|
|
28584
|
-
projectPath ? /* @__PURE__ */ jsxs18(
|
|
28585
|
-
previewMode ? /* @__PURE__ */ jsx31(
|
|
28340
|
+
projectPath ? /* @__PURE__ */ jsxs18(DropdownMenu4, { children: [
|
|
28341
|
+
previewMode ? /* @__PURE__ */ jsx31(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx31(
|
|
28586
28342
|
"span",
|
|
28587
28343
|
{
|
|
28588
28344
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
@@ -28596,8 +28352,8 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28596
28352
|
}
|
|
28597
28353
|
)
|
|
28598
28354
|
}
|
|
28599
|
-
) }) : /* @__PURE__ */ jsxs18(
|
|
28600
|
-
/* @__PURE__ */ jsx31(
|
|
28355
|
+
) }) : /* @__PURE__ */ jsxs18(Tooltip4, { children: [
|
|
28356
|
+
/* @__PURE__ */ jsx31(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx31(TooltipTrigger4, { asChild: true, children: /* @__PURE__ */ jsx31(
|
|
28601
28357
|
"span",
|
|
28602
28358
|
{
|
|
28603
28359
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
@@ -28613,7 +28369,7 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28613
28369
|
}
|
|
28614
28370
|
) }) }),
|
|
28615
28371
|
/* @__PURE__ */ jsx31(
|
|
28616
|
-
|
|
28372
|
+
TooltipContent4,
|
|
28617
28373
|
{
|
|
28618
28374
|
side: "right",
|
|
28619
28375
|
sideOffset: 6,
|
|
@@ -28623,14 +28379,14 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28623
28379
|
)
|
|
28624
28380
|
] }),
|
|
28625
28381
|
/* @__PURE__ */ jsxs18(
|
|
28626
|
-
|
|
28382
|
+
DropdownMenuContent4,
|
|
28627
28383
|
{
|
|
28628
28384
|
align: "end",
|
|
28629
28385
|
className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
|
|
28630
28386
|
sideOffset: 6,
|
|
28631
28387
|
children: [
|
|
28632
28388
|
/* @__PURE__ */ jsx31(
|
|
28633
|
-
|
|
28389
|
+
DropdownMenuItem3,
|
|
28634
28390
|
{
|
|
28635
28391
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
28636
28392
|
disabled: !onOpenProjectFiles,
|
|
@@ -28648,7 +28404,7 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28648
28404
|
}
|
|
28649
28405
|
),
|
|
28650
28406
|
projectConversationCount > 0 ? /* @__PURE__ */ jsx31(
|
|
28651
|
-
|
|
28407
|
+
DropdownMenuItem3,
|
|
28652
28408
|
{
|
|
28653
28409
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
28654
28410
|
onSelect: () => {
|
|
@@ -28664,7 +28420,7 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28664
28420
|
}
|
|
28665
28421
|
) : null,
|
|
28666
28422
|
/* @__PURE__ */ jsx31(
|
|
28667
|
-
|
|
28423
|
+
DropdownMenuItem3,
|
|
28668
28424
|
{
|
|
28669
28425
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
28670
28426
|
onSelect: () => {
|
|
@@ -28682,8 +28438,8 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28682
28438
|
}
|
|
28683
28439
|
)
|
|
28684
28440
|
] }) : null,
|
|
28685
|
-
!projectPath && section.kind === "conversations" && section.items.length > 0 ? /* @__PURE__ */ jsxs18(
|
|
28686
|
-
previewMode ? /* @__PURE__ */ jsx31(
|
|
28441
|
+
!projectPath && section.kind === "conversations" && section.items.length > 0 ? /* @__PURE__ */ jsxs18(DropdownMenu4, { children: [
|
|
28442
|
+
previewMode ? /* @__PURE__ */ jsx31(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx31(
|
|
28687
28443
|
"span",
|
|
28688
28444
|
{
|
|
28689
28445
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
@@ -28697,8 +28453,8 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28697
28453
|
}
|
|
28698
28454
|
)
|
|
28699
28455
|
}
|
|
28700
|
-
) }) : /* @__PURE__ */ jsxs18(
|
|
28701
|
-
/* @__PURE__ */ jsx31(
|
|
28456
|
+
) }) : /* @__PURE__ */ jsxs18(Tooltip4, { children: [
|
|
28457
|
+
/* @__PURE__ */ jsx31(DropdownMenuTrigger4, { asChild: true, children: /* @__PURE__ */ jsx31(TooltipTrigger4, { asChild: true, children: /* @__PURE__ */ jsx31(
|
|
28702
28458
|
"span",
|
|
28703
28459
|
{
|
|
28704
28460
|
className: AgentGUINode_styles_default.conversationSectionActionTooltipWrap,
|
|
@@ -28714,7 +28470,7 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28714
28470
|
}
|
|
28715
28471
|
) }) }),
|
|
28716
28472
|
/* @__PURE__ */ jsx31(
|
|
28717
|
-
|
|
28473
|
+
TooltipContent4,
|
|
28718
28474
|
{
|
|
28719
28475
|
side: "right",
|
|
28720
28476
|
sideOffset: 6,
|
|
@@ -28724,13 +28480,13 @@ var AgentGUIConversationRailSection = memo(
|
|
|
28724
28480
|
)
|
|
28725
28481
|
] }),
|
|
28726
28482
|
/* @__PURE__ */ jsx31(
|
|
28727
|
-
|
|
28483
|
+
DropdownMenuContent4,
|
|
28728
28484
|
{
|
|
28729
28485
|
align: "end",
|
|
28730
28486
|
className: `${AgentGUINode_styles_default.composerMenuContent} nodrag [-webkit-app-region:no-drag]`,
|
|
28731
28487
|
sideOffset: 6,
|
|
28732
28488
|
children: /* @__PURE__ */ jsx31(
|
|
28733
|
-
|
|
28489
|
+
DropdownMenuItem3,
|
|
28734
28490
|
{
|
|
28735
28491
|
className: `${AgentGUINode_styles_default.composerMenuItem} nodrag [-webkit-app-region:no-drag]`,
|
|
28736
28492
|
onSelect: () => {
|
|
@@ -29815,7 +29571,7 @@ function composerOverridesByAgentTargetIdEqual(left, right) {
|
|
|
29815
29571
|
return true;
|
|
29816
29572
|
}
|
|
29817
29573
|
function areAgentGUINodePropsEqual(previous, next) {
|
|
29818
|
-
return previous.nodeId === next.nodeId && previous.workspaceId === next.workspaceId && previous.currentUserId === next.currentUserId && previous.workspacePath === next.workspacePath && previous.workspaceFileReferenceAdapter === next.workspaceFileReferenceAdapter && previous.resolveDroppedFileReferences === next.resolveDroppedFileReferences && previous.selectProjectDirectory === next.selectProjectDirectory && previous.referenceSourceAggregator === next.referenceSourceAggregator && previous.resolveWorkspaceReferenceEntryIconUrl === next.resolveWorkspaceReferenceEntryIconUrl && previous.resolveMentionReferenceTarget === next.resolveMentionReferenceTarget && previous.resolveWorkspaceReferenceInitialTarget === next.resolveWorkspaceReferenceInitialTarget && previous.onWorkspaceFileReferencesAdded === next.onWorkspaceFileReferencesAdded && previous.agentSettings.avoidGroupingEdits === next.agentSettings.avoidGroupingEdits && previous.title === next.title && agentGuiStateEquals(previous.state, next.state) && previous.position.x === next.position.x && previous.position.y === next.position.y && previous.width === next.width && previous.height === next.height && previous.desktopSize.width === next.desktopSize.width && previous.desktopSize.height === next.desktopSize.height && previous.onLinkAction === next.onLinkAction && previous.onHandoffConversation === next.onHandoffConversation && previous.onCapabilitySettingsRequest === next.onCapabilitySettingsRequest && previous.onAgentProviderLogin === next.onAgentProviderLogin && previous.providerTargets === next.providerTargets && previous.providerTargetsLoading === next.providerTargetsLoading && previous.renderSidebarFooter === next.renderSidebarFooter && previous.comingSoonProviders === next.comingSoonProviders && previous.providerReadinessGates === next.providerReadinessGates && previous.defaultProviderTargetId === next.defaultProviderTargetId && previous.onClose === next.onClose && previous.onResize === next.onResize && previous.onUpdateNode === next.onUpdateNode && previous.onRememberComposerDefaults === next.onRememberComposerDefaults && previous.onOpenConversationWindow === next.onOpenConversationWindow && previous.isMaximized === next.isMaximized && previous.isMuted === next.isMuted && previous.onMinimize === next.onMinimize && previous.onToggleMaximize === next.onToggleMaximize && previous.onShowMessage === next.onShowMessage && previous.workspaceAgentProbes === next.workspaceAgentProbes && previous.onAgentProbeDemandChange === next.onAgentProbeDemandChange && previous.onAgentProbeRefreshRequest === next.onAgentProbeRefreshRequest && previous.managedAgentsState === next.managedAgentsState && previous.contextMentionProviders === next.contextMentionProviders && previous.workspaceAppIcons === next.workspaceAppIcons && previous.embedded === next.embedded && previous.previewMode === next.previewMode && previous.isActive === next.isActive && previous.composerFocusRequestSequence === next.composerFocusRequestSequence && previous.newConversationRequestSequence === next.newConversationRequestSequence && previous.openSessionRequest === next.openSessionRequest && previous.prefillPromptRequest === next.prefillPromptRequest;
|
|
29574
|
+
return previous.nodeId === next.nodeId && previous.workspaceId === next.workspaceId && previous.currentUserId === next.currentUserId && previous.workspacePath === next.workspacePath && previous.workspaceFileReferenceAdapter === next.workspaceFileReferenceAdapter && previous.resolveDroppedFileReferences === next.resolveDroppedFileReferences && previous.selectProjectDirectory === next.selectProjectDirectory && previous.referenceSourceAggregator === next.referenceSourceAggregator && previous.resolveWorkspaceReferenceEntryIconUrl === next.resolveWorkspaceReferenceEntryIconUrl && previous.resolveMentionReferenceTarget === next.resolveMentionReferenceTarget && previous.resolveWorkspaceReferenceInitialTarget === next.resolveWorkspaceReferenceInitialTarget && previous.onWorkspaceFileReferencesAdded === next.onWorkspaceFileReferencesAdded && previous.agentSettings.avoidGroupingEdits === next.agentSettings.avoidGroupingEdits && previous.title === next.title && agentGuiStateEquals(previous.state, next.state) && previous.position.x === next.position.x && previous.position.y === next.position.y && previous.width === next.width && previous.height === next.height && previous.desktopSize.width === next.desktopSize.width && previous.desktopSize.height === next.desktopSize.height && previous.onLinkAction === next.onLinkAction && previous.onHandoffConversation === next.onHandoffConversation && previous.onCapabilitySettingsRequest === next.onCapabilitySettingsRequest && previous.onAgentProviderLogin === next.onAgentProviderLogin && previous.providerTargets === next.providerTargets && previous.providerTargetsLoading === next.providerTargetsLoading && previous.renderSidebarFooter === next.renderSidebarFooter && previous.providerRailMode === next.providerRailMode && previous.renderProviderRailEmpty === next.renderProviderRailEmpty && previous.comingSoonProviders === next.comingSoonProviders && previous.providerReadinessGates === next.providerReadinessGates && previous.defaultProviderTargetId === next.defaultProviderTargetId && previous.onClose === next.onClose && previous.onResize === next.onResize && previous.onUpdateNode === next.onUpdateNode && previous.onRememberComposerDefaults === next.onRememberComposerDefaults && previous.onOpenConversationWindow === next.onOpenConversationWindow && previous.isMaximized === next.isMaximized && previous.isMuted === next.isMuted && previous.onMinimize === next.onMinimize && previous.onToggleMaximize === next.onToggleMaximize && previous.onShowMessage === next.onShowMessage && previous.workspaceAgentProbes === next.workspaceAgentProbes && previous.onAgentProbeDemandChange === next.onAgentProbeDemandChange && previous.onAgentProbeRefreshRequest === next.onAgentProbeRefreshRequest && previous.managedAgentsState === next.managedAgentsState && previous.contextMentionProviders === next.contextMentionProviders && previous.workspaceAppIcons === next.workspaceAppIcons && previous.embedded === next.embedded && previous.previewMode === next.previewMode && previous.isActive === next.isActive && previous.composerFocusRequestSequence === next.composerFocusRequestSequence && previous.newConversationRequestSequence === next.newConversationRequestSequence && previous.openSessionRequest === next.openSessionRequest && previous.prefillPromptRequest === next.prefillPromptRequest;
|
|
29819
29575
|
}
|
|
29820
29576
|
var AgentGUINode = memo2(function AgentGUINode2({
|
|
29821
29577
|
nodeId,
|
|
@@ -29844,6 +29600,8 @@ var AgentGUINode = memo2(function AgentGUINode2({
|
|
|
29844
29600
|
onAgentProviderLogin,
|
|
29845
29601
|
providerTargets,
|
|
29846
29602
|
providerTargetsLoading = false,
|
|
29603
|
+
providerRailMode = "catalog",
|
|
29604
|
+
renderProviderRailEmpty,
|
|
29847
29605
|
renderSidebarFooter,
|
|
29848
29606
|
comingSoonProviders,
|
|
29849
29607
|
providerReadinessGates = null,
|
|
@@ -30008,6 +29766,7 @@ var AgentGUINode = memo2(function AgentGUINode2({
|
|
|
30008
29766
|
prefillPromptRequest,
|
|
30009
29767
|
providerTargets,
|
|
30010
29768
|
providerTargetsLoading,
|
|
29769
|
+
providerRailMode,
|
|
30011
29770
|
comingSoonProviders,
|
|
30012
29771
|
providerReadinessGates,
|
|
30013
29772
|
defaultProviderTargetId,
|
|
@@ -30804,6 +30563,7 @@ var AgentGUINode = memo2(function AgentGUINode2({
|
|
|
30804
30563
|
{
|
|
30805
30564
|
viewModel,
|
|
30806
30565
|
renderSidebarFooter,
|
|
30566
|
+
renderProviderRailEmpty,
|
|
30807
30567
|
actions: viewActions,
|
|
30808
30568
|
isActive,
|
|
30809
30569
|
composerFocusRequestSequence,
|
|
@@ -30873,7 +30633,7 @@ var AgentGUI = memo3(function AgentGUI2({
|
|
|
30873
30633
|
children: /* @__PURE__ */ jsx34(AgentQueuedPromptRuntimeProvider, { runtime: agentQueuedPromptRuntime, children: /* @__PURE__ */ jsx34(AgentGUINode, { ...props }) })
|
|
30874
30634
|
}
|
|
30875
30635
|
) });
|
|
30876
|
-
return props.previewMode ? content : /* @__PURE__ */ jsx34(
|
|
30636
|
+
return props.previewMode ? content : /* @__PURE__ */ jsx34(TooltipProvider4, { delayDuration: 120, skipDelayDuration: 0, children: content });
|
|
30877
30637
|
});
|
|
30878
30638
|
|
|
30879
30639
|
// index.ts
|