@tutti-os/agent-gui 0.0.85 → 0.0.86
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/README.md +49 -44
- 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-CmuJ7VDZ.d.ts → agentGuiNodeTypes-fRobgKiP.d.ts} +1 -5
- package/dist/{chunk-A2JPL5N6.js → chunk-3HARXLAZ.js} +2 -2
- package/dist/{chunk-BEM3KDOJ.js → chunk-45FF4DQU.js} +17 -281
- package/dist/chunk-45FF4DQU.js.map +1 -0
- package/dist/{chunk-UNLTQUPO.js → chunk-4SQNOOJ3.js} +4 -4
- package/dist/{chunk-FIH7IYLX.js → chunk-7FZT2OYT.js} +4 -4
- package/dist/chunk-7FZT2OYT.js.map +1 -0
- package/dist/{chunk-L2ZMLLYL.js → chunk-7LMJXF4R.js} +2 -2
- package/dist/{chunk-DBIJRSFG.js → chunk-A7RA7ORT.js} +104 -45
- package/dist/chunk-A7RA7ORT.js.map +1 -0
- package/dist/{chunk-CVPWQHQH.js → chunk-AOVPGJBC.js} +2 -2
- package/dist/{chunk-BT2DT2P7.js → chunk-GAPTLVII.js} +1 -1
- package/dist/{chunk-BT2DT2P7.js.map → chunk-GAPTLVII.js.map} +1 -1
- package/dist/{chunk-3355GEBI.js → chunk-HOSX5C5V.js} +2 -2
- package/dist/{chunk-CXJEQQR5.js → chunk-KQE5KV2V.js} +2 -2
- package/dist/{chunk-N7EX6XK3.js → chunk-SXDLSEHO.js} +3 -3
- package/dist/{chunk-MQ6WW3CD.js → chunk-U7D7G3UU.js} +2 -2
- package/dist/{chunk-6YLA7R4S.js → chunk-UNO7CEAF.js} +2 -2
- package/dist/{chunk-AA75BOX3.js → chunk-VWXFFSIM.js} +3 -1
- package/dist/chunk-VWXFFSIM.js.map +1 -0
- package/dist/{chunk-HUNUSBQQ.js → chunk-XQUUELKF.js} +2 -2
- package/dist/context-mention-palette/index.js +6 -6
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +28 -94
- package/dist/index.js +479 -445
- package/dist/index.js.map +1 -1
- package/dist/queued-prompt-runtime.d.ts +2 -2
- package/dist/{types-DUHHejs2.d.ts → types-BvztUbHf.d.ts} +31 -21
- package/dist/workbench/contribution.d.ts +9 -11
- package/dist/workbench/contribution.js +4 -4
- package/dist/workbench/index.d.ts +1 -1
- package/dist/workbench/index.js +7 -7
- package/dist/workbench/launch.d.ts +0 -1
- package/dist/workbench/launch.js +2 -2
- package/dist/workbench/providerCatalog.d.ts +0 -1
- package/dist/workbench/sessionTitle.d.ts +0 -1
- package/dist/workbench/sessionTitle.js +3 -3
- package/dist/workbench/state.d.ts +7 -2
- package/dist/workbench/state.js +3 -1
- package/dist/workbench/types.d.ts +0 -6
- package/dist/workbench/types.js +1 -1
- package/dist/workspace-agent-generated-files.js +3 -3
- package/package.json +12 -12
- package/dist/chunk-AA75BOX3.js.map +0 -1
- package/dist/chunk-BEM3KDOJ.js.map +0 -1
- package/dist/chunk-DBIJRSFG.js.map +0 -1
- package/dist/chunk-FIH7IYLX.js.map +0 -1
- /package/dist/{chunk-A2JPL5N6.js.map → chunk-3HARXLAZ.js.map} +0 -0
- /package/dist/{chunk-UNLTQUPO.js.map → chunk-4SQNOOJ3.js.map} +0 -0
- /package/dist/{chunk-L2ZMLLYL.js.map → chunk-7LMJXF4R.js.map} +0 -0
- /package/dist/{chunk-CVPWQHQH.js.map → chunk-AOVPGJBC.js.map} +0 -0
- /package/dist/{chunk-3355GEBI.js.map → chunk-HOSX5C5V.js.map} +0 -0
- /package/dist/{chunk-CXJEQQR5.js.map → chunk-KQE5KV2V.js.map} +0 -0
- /package/dist/{chunk-N7EX6XK3.js.map → chunk-SXDLSEHO.js.map} +0 -0
- /package/dist/{chunk-MQ6WW3CD.js.map → chunk-U7D7G3UU.js.map} +0 -0
- /package/dist/{chunk-6YLA7R4S.js.map → chunk-UNO7CEAF.js.map} +0 -0
- /package/dist/{chunk-HUNUSBQQ.js.map → chunk-XQUUELKF.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -6,33 +6,24 @@ import {
|
|
|
6
6
|
agentGuiDockIconUrl,
|
|
7
7
|
agentGuiDockIconUrls,
|
|
8
8
|
clampAgentGUIConversationRailWidthPx,
|
|
9
|
+
normalizeAgentGUIAgents,
|
|
10
|
+
projectAgentGUIAgentsToInternalTargets,
|
|
9
11
|
resolveAgentGUIConversationRailMaxWidthPx,
|
|
10
12
|
resolveAgentGUIExpandedWindowFrame,
|
|
11
13
|
resolveAgentGuiSessionProviderFlatIconUrl,
|
|
12
14
|
resolveNextAgentGUIConversationRailWidthPx,
|
|
13
15
|
shouldAutoCollapseAgentGUIConversationRail
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
createDisabledPlaceholderAgentGUIProviderTarget,
|
|
19
|
-
createLocalAgentGUIProviderTarget,
|
|
20
|
-
createLocalAgentGUIProviderTargets,
|
|
21
|
-
createSharedAgentGUIProviderTarget,
|
|
22
|
-
localAgentGUIAgentTargetId,
|
|
23
|
-
localAgentGUIProviderTargetId,
|
|
24
|
-
normalizeAgentGUIProviderTargets,
|
|
25
|
-
resolveAgentGUIProviderTarget
|
|
26
|
-
} from "./chunk-BEM3KDOJ.js";
|
|
27
|
-
import "./chunk-L2ZMLLYL.js";
|
|
28
|
-
import "./chunk-BT2DT2P7.js";
|
|
16
|
+
} from "./chunk-A7RA7ORT.js";
|
|
17
|
+
import "./chunk-45FF4DQU.js";
|
|
18
|
+
import "./chunk-7LMJXF4R.js";
|
|
19
|
+
import "./chunk-GAPTLVII.js";
|
|
29
20
|
import {
|
|
30
21
|
resolveAgentGuiWorkbenchProviderLabel
|
|
31
22
|
} from "./chunk-XW4CVBUH.js";
|
|
32
23
|
import {
|
|
33
24
|
AgentInteractivePromptSurface,
|
|
34
25
|
approvalOptionDisplayLabel
|
|
35
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-SXDLSEHO.js";
|
|
36
27
|
import {
|
|
37
28
|
PLAN_IMPLEMENTATION_ACTION_FEEDBACK,
|
|
38
29
|
PLAN_IMPLEMENTATION_ACTION_IMPLEMENT,
|
|
@@ -51,7 +42,7 @@ import {
|
|
|
51
42
|
resolveAgentGUIExplicitConversationTitle,
|
|
52
43
|
resolveAgentGUIProviderDisplayLabel,
|
|
53
44
|
resolveAgentGUIProviderIdentity
|
|
54
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-HOSX5C5V.js";
|
|
55
46
|
import {
|
|
56
47
|
AGENT_PASTED_TEXT_BLOCK_KIND,
|
|
57
48
|
AGENT_PASTED_TEXT_MENTION_KIND,
|
|
@@ -88,14 +79,14 @@ import {
|
|
|
88
79
|
textPromptContent,
|
|
89
80
|
toLocalShortDateTime,
|
|
90
81
|
useProjectedAgentConversation
|
|
91
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-7FZT2OYT.js";
|
|
92
83
|
import {
|
|
93
84
|
AgentMessageMarkdown,
|
|
94
85
|
AgentTargetPresentationProvider,
|
|
95
86
|
ZoomableImage,
|
|
96
87
|
cn,
|
|
97
88
|
resolveWorkspaceLinkAction
|
|
98
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-XQUUELKF.js";
|
|
99
90
|
import {
|
|
100
91
|
openAgentEnvPanel
|
|
101
92
|
} from "./chunk-PSLAWU25.js";
|
|
@@ -106,12 +97,12 @@ import {
|
|
|
106
97
|
DEFAULT_AGENT_MENTION_FILTER,
|
|
107
98
|
agentMentionItemKey,
|
|
108
99
|
preloadAgentMentionBrowse
|
|
109
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-4SQNOOJ3.js";
|
|
110
101
|
import {
|
|
111
102
|
buildWorkspaceAgentActivityListViewModel,
|
|
112
103
|
isWorkspaceAgentUntitledTask
|
|
113
|
-
} from "./chunk-
|
|
114
|
-
import "./chunk-
|
|
104
|
+
} from "./chunk-3HARXLAZ.js";
|
|
105
|
+
import "./chunk-AOVPGJBC.js";
|
|
115
106
|
import {
|
|
116
107
|
resolveWorkspaceAgentSessionSortTimeUnixMs
|
|
117
108
|
} from "./chunk-IBIMGLCD.js";
|
|
@@ -125,7 +116,7 @@ import {
|
|
|
125
116
|
mentionItemToAttrs,
|
|
126
117
|
normalizeAgentSessionMentionTitle,
|
|
127
118
|
parseMentionItemFromHref
|
|
128
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-KQE5KV2V.js";
|
|
129
120
|
import "./chunk-Y35GDLP2.js";
|
|
130
121
|
import "./chunk-LUGELG5V.js";
|
|
131
122
|
import {
|
|
@@ -166,14 +157,14 @@ import {
|
|
|
166
157
|
agentGuiI18nResources,
|
|
167
158
|
translate,
|
|
168
159
|
useTranslation
|
|
169
|
-
} from "./chunk-
|
|
160
|
+
} from "./chunk-U7D7G3UU.js";
|
|
170
161
|
import "./chunk-PJP5BUU6.js";
|
|
171
162
|
import {
|
|
172
163
|
agentColorfulUrl,
|
|
173
164
|
cursorColorfulUrl,
|
|
174
165
|
normalizeManagedAgentProvider
|
|
175
166
|
} from "./chunk-XDV4ZRVK.js";
|
|
176
|
-
import "./chunk-
|
|
167
|
+
import "./chunk-VWXFFSIM.js";
|
|
177
168
|
import {
|
|
178
169
|
AGENT_CONTEXT_MENTION_PROVIDER_IDS
|
|
179
170
|
} from "./chunk-JM24HADP.js";
|
|
@@ -2374,6 +2365,169 @@ var DEFAULT_AGENT_SETTINGS = {
|
|
|
2374
2365
|
hideWorktreeMismatchDropWarning: false
|
|
2375
2366
|
};
|
|
2376
2367
|
|
|
2368
|
+
// providerTargets.ts
|
|
2369
|
+
var agentGUIProviderTargetStaticLabels = {
|
|
2370
|
+
"claude-code": "Claude Code",
|
|
2371
|
+
codex: "Codex",
|
|
2372
|
+
cursor: "Cursor",
|
|
2373
|
+
hermes: "Hermes",
|
|
2374
|
+
nexight: "Tutti Agent",
|
|
2375
|
+
openclaw: "OpenClaw",
|
|
2376
|
+
opencode: "Open Code",
|
|
2377
|
+
"tutti-agent": "Tutti Agent"
|
|
2378
|
+
};
|
|
2379
|
+
var agentGUIDefaultTargetProviders = [
|
|
2380
|
+
"codex",
|
|
2381
|
+
"claude-code",
|
|
2382
|
+
"cursor",
|
|
2383
|
+
"tutti-agent",
|
|
2384
|
+
"opencode",
|
|
2385
|
+
"hermes",
|
|
2386
|
+
"openclaw"
|
|
2387
|
+
];
|
|
2388
|
+
var agentGUIDisabledPlaceholderProviders = [
|
|
2389
|
+
"hermes",
|
|
2390
|
+
"openclaw"
|
|
2391
|
+
];
|
|
2392
|
+
function createLocalAgentGUIProviderTarget(provider) {
|
|
2393
|
+
const targetId = localAgentGUIProviderTargetId(provider);
|
|
2394
|
+
const agentTargetId = localAgentGUIAgentTargetId(provider);
|
|
2395
|
+
return {
|
|
2396
|
+
targetId,
|
|
2397
|
+
...agentTargetId ? { agentTargetId } : {},
|
|
2398
|
+
provider,
|
|
2399
|
+
ref: {
|
|
2400
|
+
kind: "local",
|
|
2401
|
+
provider
|
|
2402
|
+
},
|
|
2403
|
+
label: agentGUIProviderTargetStaticLabels[provider] ?? provider
|
|
2404
|
+
};
|
|
2405
|
+
}
|
|
2406
|
+
function createDisabledPlaceholderAgentGUIProviderTarget(provider) {
|
|
2407
|
+
return {
|
|
2408
|
+
...createLocalAgentGUIProviderTarget(provider),
|
|
2409
|
+
disabled: true
|
|
2410
|
+
};
|
|
2411
|
+
}
|
|
2412
|
+
function createStaticAgentGUIProviderTargets(providers = agentGUIDefaultTargetProviders, options) {
|
|
2413
|
+
const disabledProviders = new Set(
|
|
2414
|
+
options?.includeDisabledPlaceholders === true ? agentGUIDisabledPlaceholderProviders : []
|
|
2415
|
+
);
|
|
2416
|
+
return providers.map(
|
|
2417
|
+
(provider) => disabledProviders.has(provider) ? createDisabledPlaceholderAgentGUIProviderTarget(provider) : createLocalAgentGUIProviderTarget(provider)
|
|
2418
|
+
);
|
|
2419
|
+
}
|
|
2420
|
+
function localAgentGUIProviderTargetId(provider) {
|
|
2421
|
+
return `local:${provider}`;
|
|
2422
|
+
}
|
|
2423
|
+
function localAgentGUIAgentTargetId(provider) {
|
|
2424
|
+
switch (provider) {
|
|
2425
|
+
case "codex":
|
|
2426
|
+
return "local:codex";
|
|
2427
|
+
case "claude-code":
|
|
2428
|
+
return "local:claude-code";
|
|
2429
|
+
case "tutti-agent":
|
|
2430
|
+
return "local:tutti-agent";
|
|
2431
|
+
case "cursor":
|
|
2432
|
+
return "local:cursor";
|
|
2433
|
+
case "hermes":
|
|
2434
|
+
return "local:hermes";
|
|
2435
|
+
case "nexight":
|
|
2436
|
+
return "local:nexight";
|
|
2437
|
+
case "openclaw":
|
|
2438
|
+
return "local:openclaw";
|
|
2439
|
+
case "opencode":
|
|
2440
|
+
return "local:opencode";
|
|
2441
|
+
default:
|
|
2442
|
+
return null;
|
|
2443
|
+
}
|
|
2444
|
+
}
|
|
2445
|
+
function normalizeAgentGUIProviderTargets(targets, options) {
|
|
2446
|
+
const includeDisabledPlaceholders = options?.includeDisabledPlaceholders === true;
|
|
2447
|
+
const useStaticCatalog = options?.useStaticCatalog !== false;
|
|
2448
|
+
const source = targets && targets.length > 0 ? targets : [];
|
|
2449
|
+
const normalizedTargets = [];
|
|
2450
|
+
const seenTargetKeys = /* @__PURE__ */ new Set();
|
|
2451
|
+
const seenProviders = /* @__PURE__ */ new Set();
|
|
2452
|
+
for (const target of source) {
|
|
2453
|
+
const normalized = normalizeAgentGUIProviderTarget(target);
|
|
2454
|
+
if (!normalized) {
|
|
2455
|
+
continue;
|
|
2456
|
+
}
|
|
2457
|
+
const dedupeKey = `${normalized.provider}\0${normalized.targetId}`;
|
|
2458
|
+
if (seenTargetKeys.has(dedupeKey)) {
|
|
2459
|
+
continue;
|
|
2460
|
+
}
|
|
2461
|
+
seenTargetKeys.add(dedupeKey);
|
|
2462
|
+
seenProviders.add(normalized.provider);
|
|
2463
|
+
normalizedTargets.push(normalized);
|
|
2464
|
+
}
|
|
2465
|
+
if (includeDisabledPlaceholders && normalizedTargets.length > 0) {
|
|
2466
|
+
for (const provider of agentGUIDisabledPlaceholderProviders) {
|
|
2467
|
+
if (seenProviders.has(provider)) {
|
|
2468
|
+
continue;
|
|
2469
|
+
}
|
|
2470
|
+
normalizedTargets.push(
|
|
2471
|
+
createDisabledPlaceholderAgentGUIProviderTarget(provider)
|
|
2472
|
+
);
|
|
2473
|
+
}
|
|
2474
|
+
}
|
|
2475
|
+
return normalizedTargets.length > 0 || !useStaticCatalog ? normalizedTargets : createStaticAgentGUIProviderTargets(void 0, {
|
|
2476
|
+
includeDisabledPlaceholders
|
|
2477
|
+
});
|
|
2478
|
+
}
|
|
2479
|
+
function normalizeAgentGUIProviderTarget(target) {
|
|
2480
|
+
const {
|
|
2481
|
+
targetId: _targetId,
|
|
2482
|
+
agentTargetId: _agentTargetId,
|
|
2483
|
+
provider: _provider,
|
|
2484
|
+
ref: _ref,
|
|
2485
|
+
label: _label,
|
|
2486
|
+
badge,
|
|
2487
|
+
description,
|
|
2488
|
+
iconUrl,
|
|
2489
|
+
ownerLabel,
|
|
2490
|
+
unavailableReason,
|
|
2491
|
+
...rest
|
|
2492
|
+
} = target;
|
|
2493
|
+
const targetId = target.targetId.trim();
|
|
2494
|
+
const agentTargetId = target.agentTargetId?.trim();
|
|
2495
|
+
const label = target.label.trim();
|
|
2496
|
+
const kind = typeof target.ref.kind === "string" ? target.ref.kind.trim() : "";
|
|
2497
|
+
if (!targetId || !label || !kind || target.ref.provider !== target.provider) {
|
|
2498
|
+
return null;
|
|
2499
|
+
}
|
|
2500
|
+
const normalizedBadge = normalizeAgentGUIProviderTargetBadge(badge);
|
|
2501
|
+
return {
|
|
2502
|
+
...rest,
|
|
2503
|
+
targetId,
|
|
2504
|
+
...agentTargetId ? { agentTargetId } : {},
|
|
2505
|
+
provider: target.provider,
|
|
2506
|
+
ref: {
|
|
2507
|
+
...target.ref,
|
|
2508
|
+
kind,
|
|
2509
|
+
provider: target.provider
|
|
2510
|
+
},
|
|
2511
|
+
label,
|
|
2512
|
+
...normalizedBadge ? { badge: normalizedBadge } : {},
|
|
2513
|
+
...description?.trim() ? { description: description.trim() } : {},
|
|
2514
|
+
...iconUrl?.trim() ? { iconUrl: iconUrl.trim() } : {},
|
|
2515
|
+
...ownerLabel?.trim() ? { ownerLabel: ownerLabel.trim() } : {},
|
|
2516
|
+
...unavailableReason?.trim() ? { unavailableReason: unavailableReason.trim() } : {}
|
|
2517
|
+
};
|
|
2518
|
+
}
|
|
2519
|
+
function normalizeAgentGUIProviderTargetBadge(badge) {
|
|
2520
|
+
const iconUrl = badge?.iconUrl?.trim() ?? "";
|
|
2521
|
+
if (!iconUrl) {
|
|
2522
|
+
return null;
|
|
2523
|
+
}
|
|
2524
|
+
const label = badge?.label?.trim() ?? "";
|
|
2525
|
+
return {
|
|
2526
|
+
iconUrl,
|
|
2527
|
+
...label ? { label } : {}
|
|
2528
|
+
};
|
|
2529
|
+
}
|
|
2530
|
+
|
|
2377
2531
|
// agent-gui/agentGuiNode/model/agentGuiConversationFilter.ts
|
|
2378
2532
|
function createAgentGUIConversationFilterState(filter = { kind: "all" }) {
|
|
2379
2533
|
return {
|
|
@@ -6860,7 +7014,7 @@ function composerTargetDataFromProviderTarget(input) {
|
|
|
6860
7014
|
const currentAgentTargetId = normalizeOptionalText2(
|
|
6861
7015
|
input.current.agentTargetId
|
|
6862
7016
|
);
|
|
6863
|
-
const canPromoteLegacyComposerOverrides = agentTargetId !== null && currentAgentTargetId === null &&
|
|
7017
|
+
const canPromoteLegacyComposerOverrides = agentTargetId !== null && currentAgentTargetId === null && input.current.provider === input.target.provider && input.current.composerOverrides != null && !input.current.composerOverridesByAgentTargetId?.[agentTargetId];
|
|
6864
7018
|
const composerOverridesByAgentTargetId = canPromoteLegacyComposerOverrides ? {
|
|
6865
7019
|
...input.current.composerOverridesByAgentTargetId ?? {},
|
|
6866
7020
|
[agentTargetId]: input.current.composerOverrides
|
|
@@ -6869,15 +7023,11 @@ function composerTargetDataFromProviderTarget(input) {
|
|
|
6869
7023
|
return {
|
|
6870
7024
|
agentTargetId,
|
|
6871
7025
|
provider: input.target.provider,
|
|
6872
|
-
providerTargetId: null,
|
|
6873
|
-
providerTargetRef: null,
|
|
6874
7026
|
targetId: input.target.targetId,
|
|
6875
7027
|
data: {
|
|
6876
7028
|
...input.current,
|
|
6877
7029
|
provider: input.target.provider,
|
|
6878
7030
|
agentTargetId,
|
|
6879
|
-
providerTargetId: null,
|
|
6880
|
-
providerTargetRef: null,
|
|
6881
7031
|
composerOverrides: canPromoteLegacyComposerOverrides ? null : currentTargetIdentityChanged ? null : input.current.composerOverrides,
|
|
6882
7032
|
composerOverridesByAgentTargetId
|
|
6883
7033
|
}
|
|
@@ -6885,7 +7035,7 @@ function composerTargetDataFromProviderTarget(input) {
|
|
|
6885
7035
|
}
|
|
6886
7036
|
function isExplicitAgentGUIProviderTarget(target, explicitTargets) {
|
|
6887
7037
|
return explicitTargets.some(
|
|
6888
|
-
(candidate) => candidate.
|
|
7038
|
+
(candidate) => candidate.agentTargetId === target.agentTargetId
|
|
6889
7039
|
);
|
|
6890
7040
|
}
|
|
6891
7041
|
function findAgentGUIDirectoryTarget(directory, agentTargetId) {
|
|
@@ -6896,21 +7046,26 @@ function findAgentGUIDirectoryTarget(directory, agentTargetId) {
|
|
|
6896
7046
|
(target) => normalizeOptionalText2(target.agentTargetId) === agentTargetId
|
|
6897
7047
|
);
|
|
6898
7048
|
}
|
|
7049
|
+
function resolveAgentGUIDirectorySelection(input) {
|
|
7050
|
+
const agentTargetId = normalizeOptionalText2(input.agentTargetId);
|
|
7051
|
+
if (agentTargetId) {
|
|
7052
|
+
return findAgentGUIDirectoryTarget(input.targets, agentTargetId) ?? null;
|
|
7053
|
+
}
|
|
7054
|
+
const providerTargets = input.provider ? input.targets.filter((target) => target.provider === input.provider) : [];
|
|
7055
|
+
return providerTargets.find((target) => target.disabled !== true) ?? providerTargets[0] ?? input.targets.find((target) => target.disabled !== true) ?? input.targets[0] ?? null;
|
|
7056
|
+
}
|
|
6899
7057
|
function composerTargetDataFromNodeData(data, directory) {
|
|
6900
7058
|
const foreignKeyAgentTargetId = normalizeOptionalText2(data.agentTargetId);
|
|
6901
|
-
const lookupAgentTargetId = foreignKeyAgentTargetId ?? localAgentGUIAgentTargetId(data.provider);
|
|
6902
7059
|
const directoryTarget = findAgentGUIDirectoryTarget(
|
|
6903
7060
|
directory,
|
|
6904
|
-
|
|
7061
|
+
foreignKeyAgentTargetId
|
|
6905
7062
|
);
|
|
6906
7063
|
const agentTargetId = normalizeOptionalText2(directoryTarget?.agentTargetId) ?? foreignKeyAgentTargetId;
|
|
6907
7064
|
const provider = directoryTarget?.provider ?? data.provider;
|
|
6908
7065
|
return {
|
|
6909
7066
|
agentTargetId,
|
|
6910
7067
|
provider,
|
|
6911
|
-
|
|
6912
|
-
providerTargetRef: null,
|
|
6913
|
-
targetId: directoryTarget?.targetId ?? agentTargetId ?? `local:${provider}`,
|
|
7068
|
+
targetId: directoryTarget?.targetId ?? agentTargetId ?? "__missing__",
|
|
6914
7069
|
data: directoryTarget && directoryTarget.provider !== data.provider ? { ...data, provider } : data
|
|
6915
7070
|
};
|
|
6916
7071
|
}
|
|
@@ -6920,18 +7075,17 @@ function resolveActiveSessionComposerTarget(input) {
|
|
|
6920
7075
|
if (input.directoryLoading) {
|
|
6921
7076
|
return { status: "loading", target, missingAgentTargetId: null };
|
|
6922
7077
|
}
|
|
6923
|
-
const resolveKey = foreignKey ?? localAgentGUIAgentTargetId(input.data.provider);
|
|
6924
7078
|
const directoryTarget = findAgentGUIDirectoryTarget(
|
|
6925
7079
|
input.directory,
|
|
6926
|
-
|
|
7080
|
+
foreignKey
|
|
6927
7081
|
);
|
|
6928
7082
|
if (directoryTarget) {
|
|
6929
7083
|
return { status: "resolved", target, missingAgentTargetId: null };
|
|
6930
7084
|
}
|
|
6931
|
-
return { status: "missing", target, missingAgentTargetId:
|
|
7085
|
+
return { status: "missing", target, missingAgentTargetId: foreignKey };
|
|
6932
7086
|
}
|
|
6933
7087
|
function agentGUINodeDataHasComposerTarget(data) {
|
|
6934
|
-
return normalizeOptionalText2(data.agentTargetId) !== null
|
|
7088
|
+
return normalizeOptionalText2(data.agentTargetId) !== null;
|
|
6935
7089
|
}
|
|
6936
7090
|
function composerOptionsForTarget(input) {
|
|
6937
7091
|
if (!input.target.agentTargetId) {
|
|
@@ -6985,7 +7139,7 @@ function sanitizeComposerSettingsForTarget(input) {
|
|
|
6985
7139
|
return sanitizeComposerSettingsForOptions(input.settings, input.options);
|
|
6986
7140
|
}
|
|
6987
7141
|
function agentGUIProviderTargetsEqual(left, right) {
|
|
6988
|
-
return left.
|
|
7142
|
+
return (left.agentTargetId ?? left.targetId) === (right.agentTargetId ?? right.targetId);
|
|
6989
7143
|
}
|
|
6990
7144
|
function reportAgentGUIDiagnostic(runtime, input) {
|
|
6991
7145
|
const reportDiagnostic = runtime.reportDiagnostic;
|
|
@@ -7037,9 +7191,9 @@ function showAgentGUIControllerErrorToast(hostToast, message) {
|
|
|
7037
7191
|
function reportAgentGUIConversationFilterTargetUnresolved(input) {
|
|
7038
7192
|
reportAgentGUIDiagnostic(input.runtime, {
|
|
7039
7193
|
details: {
|
|
7194
|
+
agentTargetId: input.agentTargetId,
|
|
7040
7195
|
provider: input.provider,
|
|
7041
7196
|
providerTargetCount: input.providerTargetCount,
|
|
7042
|
-
providerTargetId: input.providerTargetId,
|
|
7043
7197
|
reason: input.reason
|
|
7044
7198
|
},
|
|
7045
7199
|
event: "agent.gui.conversation_filter.target_unresolved",
|
|
@@ -8158,20 +8312,6 @@ function normalizeOptionalText2(value) {
|
|
|
8158
8312
|
const trimmed = value.trim();
|
|
8159
8313
|
return trimmed ? trimmed : null;
|
|
8160
8314
|
}
|
|
8161
|
-
function resolveSameProviderActiveSessionModel(input) {
|
|
8162
|
-
const agentSessionId = normalizeOptionalText2(input.agentSessionId);
|
|
8163
|
-
if (agentSessionId === null) {
|
|
8164
|
-
return null;
|
|
8165
|
-
}
|
|
8166
|
-
const runtimeSession = input.runtime.getSnapshot(input.workspaceId).sessions.find(
|
|
8167
|
-
(candidate) => candidate.agentSessionId.trim() === agentSessionId
|
|
8168
|
-
) ?? null;
|
|
8169
|
-
const activeProvider = normalizeOptionalText2(runtimeSession?.provider) ?? normalizeOptionalText2(input.activeProvider);
|
|
8170
|
-
if (activeProvider !== input.provider) {
|
|
8171
|
-
return null;
|
|
8172
|
-
}
|
|
8173
|
-
return normalizeOptionalText2(input.sessionState?.settings?.model) ?? normalizeOptionalText2(runtimeSession?.model);
|
|
8174
|
-
}
|
|
8175
8315
|
function normalizeOptionalPrompt(value) {
|
|
8176
8316
|
return typeof value === "string" ? value.trim() : "";
|
|
8177
8317
|
}
|
|
@@ -9007,16 +9147,6 @@ function normalizedPositiveNumber2(value) {
|
|
|
9007
9147
|
function timelineItemTime(item) {
|
|
9008
9148
|
return item.occurredAtUnixMs ?? item.createdAtUnixMs ?? 0;
|
|
9009
9149
|
}
|
|
9010
|
-
var emptyComingSoonProviders = [];
|
|
9011
|
-
function applyComingSoonProviderTargets(targets, comingSoonProviders) {
|
|
9012
|
-
if (comingSoonProviders.length === 0) {
|
|
9013
|
-
return targets;
|
|
9014
|
-
}
|
|
9015
|
-
const comingSoon = new Set(comingSoonProviders);
|
|
9016
|
-
return targets.map(
|
|
9017
|
-
(target) => comingSoon.has(target.provider) && target.disabled !== true ? { ...target, disabled: true } : target
|
|
9018
|
-
);
|
|
9019
|
-
}
|
|
9020
9150
|
function useAgentGUINodeController({
|
|
9021
9151
|
nodeId,
|
|
9022
9152
|
workspaceId,
|
|
@@ -9026,10 +9156,8 @@ function useAgentGUINodeController({
|
|
|
9026
9156
|
data,
|
|
9027
9157
|
providerTargets,
|
|
9028
9158
|
providerTargetsLoading = false,
|
|
9029
|
-
providerRailMode = "catalog",
|
|
9030
|
-
comingSoonProviders,
|
|
9031
9159
|
providerReadinessGates = null,
|
|
9032
|
-
|
|
9160
|
+
defaultAgentTargetId = null,
|
|
9033
9161
|
openSessionRequest = null,
|
|
9034
9162
|
prefillPromptRequest = null,
|
|
9035
9163
|
previewMode = false,
|
|
@@ -9058,42 +9186,16 @@ function useAgentGUINodeController({
|
|
|
9058
9186
|
const agentQueuedPromptRuntime = useAgentQueuedPromptRuntime();
|
|
9059
9187
|
const agentHostApi = useAgentHostApi();
|
|
9060
9188
|
const agentActivitySnapshot = useAgentActivitySnapshot(workspaceId);
|
|
9061
|
-
const
|
|
9062
|
-
() =>
|
|
9063
|
-
|
|
9064
|
-
|
|
9065
|
-
|
|
9066
|
-
|
|
9067
|
-
|
|
9068
|
-
|
|
9069
|
-
|
|
9070
|
-
|
|
9071
|
-
return isExactProviderRailMode ? normalized : applyComingSoonProviderTargets(
|
|
9072
|
-
normalized,
|
|
9073
|
-
normalizedComingSoonProviders
|
|
9074
|
-
);
|
|
9075
|
-
}, [isExactProviderRailMode, normalizedComingSoonProviders, providerTargets]);
|
|
9076
|
-
const normalizedProviderTargets = useMemo3(() => {
|
|
9077
|
-
if (providerTargetsLoading) {
|
|
9078
|
-
return [];
|
|
9079
|
-
}
|
|
9080
|
-
if (!isExactProviderRailMode && (providerTargets === void 0 || normalizedExplicitProviderTargets.length === 0)) {
|
|
9081
|
-
return applyComingSoonProviderTargets(
|
|
9082
|
-
normalizeAgentGUIProviderTargets(null, {
|
|
9083
|
-
includeDisabledPlaceholders: true
|
|
9084
|
-
}),
|
|
9085
|
-
normalizedComingSoonProviders
|
|
9086
|
-
);
|
|
9087
|
-
}
|
|
9088
|
-
return normalizedExplicitProviderTargets;
|
|
9089
|
-
}, [
|
|
9090
|
-
isExactProviderRailMode,
|
|
9091
|
-
normalizedExplicitProviderTargets,
|
|
9092
|
-
normalizedComingSoonProviders,
|
|
9093
|
-
providerTargets,
|
|
9094
|
-
providerTargetsLoading
|
|
9095
|
-
]);
|
|
9096
|
-
const shouldUseStaticProviderTargets = !isExactProviderRailMode && !providerTargetsLoading && (providerTargets === void 0 || normalizedExplicitProviderTargets.length === 0);
|
|
9189
|
+
const normalizedExplicitProviderTargets = useMemo3(
|
|
9190
|
+
() => normalizeAgentGUIProviderTargets(providerTargets, {
|
|
9191
|
+
// AgentGUINode always passes the projected `/agents` array, including
|
|
9192
|
+
// an explicit empty array. The undefined branch exists only for direct
|
|
9193
|
+
// package-internal controller harnesses and legacy tests.
|
|
9194
|
+
useStaticCatalog: providerTargets === void 0
|
|
9195
|
+
}),
|
|
9196
|
+
[providerTargets]
|
|
9197
|
+
);
|
|
9198
|
+
const normalizedProviderTargets = providerTargetsLoading ? [] : normalizedExplicitProviderTargets;
|
|
9097
9199
|
const handoffProviderTargets = useMemo3(
|
|
9098
9200
|
() => providerTargetsLoading ? [] : normalizedExplicitProviderTargets.filter(
|
|
9099
9201
|
(target) => target.disabled !== true
|
|
@@ -9101,14 +9203,10 @@ function useAgentGUINodeController({
|
|
|
9101
9203
|
[normalizedExplicitProviderTargets, providerTargetsLoading]
|
|
9102
9204
|
);
|
|
9103
9205
|
const selectedProviderTarget = useMemo3(() => {
|
|
9104
|
-
const
|
|
9105
|
-
|
|
9106
|
-
|
|
9107
|
-
|
|
9108
|
-
providerTargetId: data.providerTargetId,
|
|
9109
|
-
providerTargets: normalizedProviderTargets,
|
|
9110
|
-
useStaticCatalog: shouldUseStaticProviderTargets
|
|
9111
|
-
});
|
|
9206
|
+
const selectedAgentTargetId = normalizeOptionalText2(data.agentTargetId) ?? normalizeOptionalText2(defaultAgentTargetId);
|
|
9207
|
+
const resolved = normalizedProviderTargets.find(
|
|
9208
|
+
(target) => target.agentTargetId === selectedAgentTargetId
|
|
9209
|
+
) ?? normalizedProviderTargets.find((target) => target.disabled !== true) ?? normalizedProviderTargets[0];
|
|
9112
9210
|
return resolved ?? {
|
|
9113
9211
|
targetId: data.agentTargetId ?? "__loading__",
|
|
9114
9212
|
provider: data.provider,
|
|
@@ -9122,27 +9220,19 @@ function useAgentGUINodeController({
|
|
|
9122
9220
|
}, [
|
|
9123
9221
|
data.agentTargetId,
|
|
9124
9222
|
data.provider,
|
|
9125
|
-
|
|
9126
|
-
|
|
9127
|
-
normalizedProviderTargets,
|
|
9128
|
-
shouldUseStaticProviderTargets
|
|
9223
|
+
defaultAgentTargetId,
|
|
9224
|
+
normalizedProviderTargets
|
|
9129
9225
|
]);
|
|
9130
9226
|
const selectedProviderTargetIsExplicit = useMemo3(
|
|
9131
9227
|
() => normalizedExplicitProviderTargets.some(
|
|
9132
|
-
(target) => target.
|
|
9133
|
-
target.ref,
|
|
9134
|
-
selectedProviderTarget.ref
|
|
9135
|
-
)
|
|
9228
|
+
(target) => target.agentTargetId === selectedProviderTarget.agentTargetId
|
|
9136
9229
|
),
|
|
9137
9230
|
[normalizedExplicitProviderTargets, selectedProviderTarget]
|
|
9138
9231
|
);
|
|
9139
9232
|
const [homeComposerTargetOverride, setHomeComposerTargetOverride] = useState4(null);
|
|
9140
9233
|
const homeComposerTargetOverrideIsExplicit = useMemo3(
|
|
9141
9234
|
() => homeComposerTargetOverride ? normalizedExplicitProviderTargets.some(
|
|
9142
|
-
(target) => target.
|
|
9143
|
-
target.ref,
|
|
9144
|
-
homeComposerTargetOverride.ref
|
|
9145
|
-
)
|
|
9235
|
+
(target) => target.agentTargetId === homeComposerTargetOverride.agentTargetId
|
|
9146
9236
|
) : false,
|
|
9147
9237
|
[homeComposerTargetOverride, normalizedExplicitProviderTargets]
|
|
9148
9238
|
);
|
|
@@ -9155,10 +9245,7 @@ function useAgentGUINodeController({
|
|
|
9155
9245
|
(target) => target.disabled !== true && providerReadinessGates[target.provider] === null
|
|
9156
9246
|
) ?? null;
|
|
9157
9247
|
}, [normalizedProviderTargets, providerReadinessGates]);
|
|
9158
|
-
const nodeComposerTargetResolvedByProviderTarget = agentGUINodeDataHasComposerTarget(data) &&
|
|
9159
|
-
selectedProviderTarget.ref,
|
|
9160
|
-
data.providerTargetRef
|
|
9161
|
-
));
|
|
9248
|
+
const nodeComposerTargetResolvedByProviderTarget = agentGUINodeDataHasComposerTarget(data) && selectedProviderTarget.agentTargetId === normalizeOptionalText2(data.agentTargetId);
|
|
9162
9249
|
const selectedComposerTargetData = useMemo3(
|
|
9163
9250
|
() => homeComposerTargetOverride ? composerTargetDataFromProviderTarget({
|
|
9164
9251
|
current: data,
|
|
@@ -9168,7 +9255,7 @@ function useAgentGUINodeController({
|
|
|
9168
9255
|
current: data,
|
|
9169
9256
|
isExplicit: selectedProviderTargetIsExplicit,
|
|
9170
9257
|
target: selectedProviderTarget
|
|
9171
|
-
}) : agentGUINodeDataHasComposerTarget(data) ? composerTargetDataFromNodeData(data, normalizedProviderTargets) : composerTargetDataFromProviderTarget({
|
|
9258
|
+
}) : agentGUINodeDataHasComposerTarget(data) && data.lastActiveAgentSessionId !== null ? composerTargetDataFromNodeData(data, normalizedProviderTargets) : composerTargetDataFromProviderTarget({
|
|
9172
9259
|
current: data,
|
|
9173
9260
|
isExplicit: selectedProviderTargetIsExplicit,
|
|
9174
9261
|
target: selectedProviderTarget
|
|
@@ -9618,7 +9705,7 @@ function useAgentGUINodeController({
|
|
|
9618
9705
|
const pendingHomeErrorRef = useRef4(null);
|
|
9619
9706
|
const activatedConversationIdsRef = useRef4(/* @__PURE__ */ new Set());
|
|
9620
9707
|
const failedNewConversationIdsRef = useRef4(/* @__PURE__ */ new Set());
|
|
9621
|
-
const
|
|
9708
|
+
const lastActiveModelByAgentTargetIdRef = useRef4({});
|
|
9622
9709
|
const pendingTurnIdBySessionIdRef = useRef4({});
|
|
9623
9710
|
const submitTraceBySessionIdRef = useRef4({});
|
|
9624
9711
|
const conversationIdsRef = useRef4(
|
|
@@ -12023,14 +12110,14 @@ function useAgentGUINodeController({
|
|
|
12023
12110
|
(initialContentInput, displayPrompt) => {
|
|
12024
12111
|
const target = selectedProviderTargetRef.current;
|
|
12025
12112
|
const targetData = selectedComposerTargetDataRef.current;
|
|
12026
|
-
if (isCreatingConversation || target.disabled === true || targetData.provider === "openclaw" && openclawGateway?.status !== "ready") {
|
|
12027
|
-
return;
|
|
12028
|
-
}
|
|
12029
12113
|
const agentTargetId = targetData.agentTargetId ?? "";
|
|
12030
12114
|
if (!agentTargetId || providerTargetsProvidedRef.current && !selectedProviderTargetIsExplicitRef.current) {
|
|
12031
12115
|
setDetailError(translate("agentHost.agentGui.agentTargetRequired"));
|
|
12032
12116
|
return;
|
|
12033
12117
|
}
|
|
12118
|
+
if (isCreatingConversation || target.disabled === true || targetData.provider === "openclaw" && openclawGateway?.status !== "ready") {
|
|
12119
|
+
return;
|
|
12120
|
+
}
|
|
12034
12121
|
const normalizedInitialContent = Array.isArray(initialContentInput) ? normalizeAgentPromptContentBlocks(
|
|
12035
12122
|
initialContentInput
|
|
12036
12123
|
) : textPromptContent(normalizeOptionalPrompt(initialContentInput));
|
|
@@ -12057,15 +12144,10 @@ function useAgentGUINodeController({
|
|
|
12057
12144
|
const provider = targetData.provider;
|
|
12058
12145
|
const agentTargetId2 = targetData.agentTargetId ?? "";
|
|
12059
12146
|
onDataChangeRef.current(
|
|
12060
|
-
(current) => current.provider === provider && (current.agentTargetId ?? null) === (agentTargetId2 || null)
|
|
12061
|
-
current.providerTargetRef,
|
|
12062
|
-
targetData.providerTargetRef
|
|
12063
|
-
) ? current : {
|
|
12147
|
+
(current) => current.provider === provider && (current.agentTargetId ?? null) === (agentTargetId2 || null) ? current : {
|
|
12064
12148
|
...current,
|
|
12065
12149
|
provider,
|
|
12066
|
-
agentTargetId: agentTargetId2 || null
|
|
12067
|
-
providerTargetId: targetData.providerTargetId,
|
|
12068
|
-
providerTargetRef: targetData.providerTargetRef
|
|
12150
|
+
agentTargetId: agentTargetId2 || null
|
|
12069
12151
|
}
|
|
12070
12152
|
);
|
|
12071
12153
|
const selectedProjectPath2 = selectedProjectPathRef.current;
|
|
@@ -12094,15 +12176,8 @@ function useAgentGUINodeController({
|
|
|
12094
12176
|
currentActiveConversationId,
|
|
12095
12177
|
transientConversationRef.current
|
|
12096
12178
|
) : null;
|
|
12097
|
-
const inheritedModel = normalizeOptionalText2(targetSafeInitialNodeSettings.model) === null ?
|
|
12098
|
-
|
|
12099
|
-
agentSessionId: currentActiveConversationId,
|
|
12100
|
-
provider,
|
|
12101
|
-
runtime: agentActivityRuntime,
|
|
12102
|
-
sessionState: activeSessionState,
|
|
12103
|
-
workspaceId
|
|
12104
|
-
}) ?? normalizeOptionalText2(
|
|
12105
|
-
lastActiveModelByProviderRef.current[provider]
|
|
12179
|
+
const inheritedModel = normalizeOptionalText2(targetSafeInitialNodeSettings.model) === null ? normalizeOptionalText2(
|
|
12180
|
+
lastActiveModelByAgentTargetIdRef.current[agentTargetId2]
|
|
12106
12181
|
) : null;
|
|
12107
12182
|
const effectiveInitialSettings = inheritedModel === null ? initialSettings : { ...initialSettings, model: inheritedModel };
|
|
12108
12183
|
const targetSafeEffectiveInitialSettings = sanitizeComposerSettingsForTarget({
|
|
@@ -12571,12 +12646,10 @@ function useAgentGUINodeController({
|
|
|
12571
12646
|
}
|
|
12572
12647
|
const filter = conversationFilterRef.current;
|
|
12573
12648
|
if (filter.kind === "agentTarget") {
|
|
12574
|
-
const filterTarget =
|
|
12649
|
+
const filterTarget = resolveAgentGUIDirectorySelection({
|
|
12575
12650
|
agentTargetId: filter.agentTargetId,
|
|
12576
|
-
defaultProviderTargetId,
|
|
12577
12651
|
provider: dataRef.current.provider,
|
|
12578
|
-
|
|
12579
|
-
useStaticCatalog: false
|
|
12652
|
+
targets: normalizedProviderTargets
|
|
12580
12653
|
});
|
|
12581
12654
|
if (filterTarget && filterTarget.disabled !== true && (filterTarget.agentTargetId?.trim() ?? "") === filter.agentTargetId) {
|
|
12582
12655
|
setHomeComposerTargetOverride(filterTarget);
|
|
@@ -12615,7 +12688,7 @@ function useAgentGUINodeController({
|
|
|
12615
12688
|
[
|
|
12616
12689
|
activation,
|
|
12617
12690
|
agentActivityRuntime,
|
|
12618
|
-
|
|
12691
|
+
defaultAgentTargetId,
|
|
12619
12692
|
loadDraftComposerOptions,
|
|
12620
12693
|
normalizedProviderTargets,
|
|
12621
12694
|
persistActiveConversation,
|
|
@@ -12629,7 +12702,20 @@ function useAgentGUINodeController({
|
|
|
12629
12702
|
if (handledPrefillPromptSequenceRef.current === prefillPromptRequest.sequence) {
|
|
12630
12703
|
return;
|
|
12631
12704
|
}
|
|
12705
|
+
if (providerTargetsLoading && prefillPromptRequest.agentTargetId?.trim()) {
|
|
12706
|
+
return;
|
|
12707
|
+
}
|
|
12708
|
+
const selectedTargetData = selectedComposerTargetDataRef.current;
|
|
12709
|
+
const prefillTargetHinted = Boolean(prefillPromptRequest.provider) || Boolean(prefillPromptRequest.agentTargetId);
|
|
12710
|
+
const prefillTarget = prefillTargetHinted ? resolveAgentGUIDirectorySelection({
|
|
12711
|
+
agentTargetId: prefillPromptRequest.agentTargetId,
|
|
12712
|
+
provider: prefillPromptRequest.provider ?? selectedTargetData.provider,
|
|
12713
|
+
targets: normalizedProviderTargets
|
|
12714
|
+
}) : null;
|
|
12632
12715
|
handledPrefillPromptSequenceRef.current = prefillPromptRequest.sequence;
|
|
12716
|
+
if (prefillPromptRequest.agentTargetId?.trim() && !prefillTarget) {
|
|
12717
|
+
return;
|
|
12718
|
+
}
|
|
12633
12719
|
const draftPrompt2 = prefillPromptRequest.draftPrompt.trim();
|
|
12634
12720
|
if (!draftPrompt2) {
|
|
12635
12721
|
return;
|
|
@@ -12660,15 +12746,6 @@ function useAgentGUINodeController({
|
|
|
12660
12746
|
setActiveConversationId(null);
|
|
12661
12747
|
setIsLoadingMessages(false);
|
|
12662
12748
|
setDetailError(null);
|
|
12663
|
-
const selectedTargetData = selectedComposerTargetDataRef.current;
|
|
12664
|
-
const prefillTargetHinted = Boolean(prefillPromptRequest.provider) || Boolean(prefillPromptRequest.agentTargetId);
|
|
12665
|
-
const prefillTarget = prefillTargetHinted ? resolveAgentGUIProviderTarget({
|
|
12666
|
-
agentTargetId: prefillPromptRequest.agentTargetId,
|
|
12667
|
-
defaultProviderTargetId,
|
|
12668
|
-
provider: prefillPromptRequest.provider ?? selectedTargetData.provider,
|
|
12669
|
-
providerTargets: normalizedProviderTargets,
|
|
12670
|
-
useStaticCatalog: shouldUseStaticProviderTargets
|
|
12671
|
-
}) : null;
|
|
12672
12749
|
const targetData = prefillTarget ? composerTargetDataFromProviderTarget({
|
|
12673
12750
|
current: dataRef.current,
|
|
12674
12751
|
isExplicit: isExplicitAgentGUIProviderTarget(
|
|
@@ -12717,14 +12794,14 @@ function useAgentGUINodeController({
|
|
|
12717
12794
|
}, [
|
|
12718
12795
|
activation,
|
|
12719
12796
|
agentActivityRuntime,
|
|
12720
|
-
|
|
12797
|
+
defaultAgentTargetId,
|
|
12721
12798
|
loadDraftComposerOptions,
|
|
12722
12799
|
normalizedExplicitProviderTargets,
|
|
12723
12800
|
normalizedProviderTargets,
|
|
12724
12801
|
persistActiveConversation,
|
|
12725
12802
|
prefillPromptRequest,
|
|
12726
12803
|
previewMode,
|
|
12727
|
-
|
|
12804
|
+
providerTargetsLoading,
|
|
12728
12805
|
workspaceId
|
|
12729
12806
|
]);
|
|
12730
12807
|
const continueInNewConversation = useCallback4(() => {
|
|
@@ -13815,9 +13892,7 @@ function useAgentGUINodeController({
|
|
|
13815
13892
|
{
|
|
13816
13893
|
...current,
|
|
13817
13894
|
provider: targetData.provider,
|
|
13818
|
-
agentTargetId: targetData.agentTargetId
|
|
13819
|
-
providerTargetId: targetData.providerTargetId,
|
|
13820
|
-
providerTargetRef: targetData.providerTargetRef
|
|
13895
|
+
agentTargetId: targetData.agentTargetId
|
|
13821
13896
|
},
|
|
13822
13897
|
targetSafeMerged
|
|
13823
13898
|
)
|
|
@@ -14871,12 +14946,10 @@ function useAgentGUINodeController({
|
|
|
14871
14946
|
if (!providerMismatch && !agentTargetMismatch) {
|
|
14872
14947
|
return;
|
|
14873
14948
|
}
|
|
14874
|
-
const sessionTarget =
|
|
14949
|
+
const sessionTarget = resolveAgentGUIDirectorySelection({
|
|
14875
14950
|
agentTargetId: summaryAgentTargetId,
|
|
14876
|
-
defaultProviderTargetId,
|
|
14877
14951
|
provider: summary.provider,
|
|
14878
|
-
|
|
14879
|
-
useStaticCatalog: shouldUseStaticProviderTargets
|
|
14952
|
+
targets: normalizedProviderTargets
|
|
14880
14953
|
});
|
|
14881
14954
|
if (!sessionTarget || sessionTarget.provider !== summary.provider) {
|
|
14882
14955
|
return;
|
|
@@ -14886,7 +14959,7 @@ function useAgentGUINodeController({
|
|
|
14886
14959
|
}
|
|
14887
14960
|
setHomeComposerTargetOverride(null);
|
|
14888
14961
|
const sessionTargetIsExplicit = normalizedExplicitProviderTargets.some(
|
|
14889
|
-
(target) =>
|
|
14962
|
+
(target) => agentGUIProviderTargetsEqual(target, sessionTarget)
|
|
14890
14963
|
);
|
|
14891
14964
|
onDataChangeRef.current((current) => {
|
|
14892
14965
|
const targetData = composerTargetDataFromProviderTarget({
|
|
@@ -14894,10 +14967,7 @@ function useAgentGUINodeController({
|
|
|
14894
14967
|
isExplicit: sessionTargetIsExplicit,
|
|
14895
14968
|
target: sessionTarget
|
|
14896
14969
|
});
|
|
14897
|
-
if (current.provider === targetData.provider && normalizeOptionalText2(current.agentTargetId) === targetData.agentTargetId
|
|
14898
|
-
current.providerTargetRef,
|
|
14899
|
-
targetData.providerTargetRef
|
|
14900
|
-
)) {
|
|
14970
|
+
if (current.provider === targetData.provider && normalizeOptionalText2(current.agentTargetId) === targetData.agentTargetId) {
|
|
14901
14971
|
return current;
|
|
14902
14972
|
}
|
|
14903
14973
|
dataRef.current = targetData.data;
|
|
@@ -14906,12 +14976,11 @@ function useAgentGUINodeController({
|
|
|
14906
14976
|
}, [
|
|
14907
14977
|
activeConversationId,
|
|
14908
14978
|
conversations,
|
|
14909
|
-
|
|
14979
|
+
defaultAgentTargetId,
|
|
14910
14980
|
normalizedExplicitProviderTargets,
|
|
14911
14981
|
normalizedProviderTargets,
|
|
14912
14982
|
previewMode,
|
|
14913
|
-
providerTargetsLoading
|
|
14914
|
-
shouldUseStaticProviderTargets
|
|
14983
|
+
providerTargetsLoading
|
|
14915
14984
|
]);
|
|
14916
14985
|
const activeSessionTargetResolution = useMemo3(() => {
|
|
14917
14986
|
if (previewMode || activeConversationId === null) {
|
|
@@ -15240,9 +15309,7 @@ function useAgentGUINodeController({
|
|
|
15240
15309
|
{
|
|
15241
15310
|
...current,
|
|
15242
15311
|
provider: selectedComposerTargetData.provider,
|
|
15243
|
-
agentTargetId: selectedComposerTargetData.agentTargetId
|
|
15244
|
-
providerTargetId: selectedComposerTargetData.providerTargetId,
|
|
15245
|
-
providerTargetRef: selectedComposerTargetData.providerTargetRef
|
|
15312
|
+
agentTargetId: selectedComposerTargetData.agentTargetId
|
|
15246
15313
|
},
|
|
15247
15314
|
targetSafeNodeDefaultSettings
|
|
15248
15315
|
)
|
|
@@ -15280,24 +15347,23 @@ function useAgentGUINodeController({
|
|
|
15280
15347
|
) : null;
|
|
15281
15348
|
const pendingInteractivePrompt = serverInteractivePrompt ?? planImplementationPromptVM;
|
|
15282
15349
|
useEffect4(() => {
|
|
15283
|
-
const
|
|
15284
|
-
|
|
15285
|
-
);
|
|
15286
|
-
if (
|
|
15350
|
+
const agentTargetId = activeSessionTargetResolution.status === "resolved" ? normalizeOptionalText2(
|
|
15351
|
+
activeSessionTargetResolution.target.agentTargetId
|
|
15352
|
+
) : null;
|
|
15353
|
+
if (agentTargetId === null) {
|
|
15287
15354
|
return;
|
|
15288
15355
|
}
|
|
15289
15356
|
const model = normalizeOptionalText2(activeSessionState?.settings?.model) ?? normalizeOptionalText2(activeRuntimeSession?.model);
|
|
15290
15357
|
if (model === null) {
|
|
15291
15358
|
return;
|
|
15292
15359
|
}
|
|
15293
|
-
|
|
15294
|
-
...
|
|
15295
|
-
[
|
|
15360
|
+
lastActiveModelByAgentTargetIdRef.current = {
|
|
15361
|
+
...lastActiveModelByAgentTargetIdRef.current,
|
|
15362
|
+
[agentTargetId]: model
|
|
15296
15363
|
};
|
|
15297
15364
|
}, [
|
|
15298
|
-
|
|
15365
|
+
activeSessionTargetResolution,
|
|
15299
15366
|
activeRuntimeSession?.model,
|
|
15300
|
-
activeRuntimeSession?.provider,
|
|
15301
15367
|
activeSessionState?.settings?.model
|
|
15302
15368
|
]);
|
|
15303
15369
|
const activeActivityDisplayStatus = activeConversationId ? agentActivityDisplayStatuses.get(activeConversationId) ?? null : null;
|
|
@@ -15358,7 +15424,7 @@ function useAgentGUINodeController({
|
|
|
15358
15424
|
hasProviderSessionNotFoundError,
|
|
15359
15425
|
pendingApproval
|
|
15360
15426
|
]);
|
|
15361
|
-
const canSubmit = !providerTargetsLoading && activeLiveState !== "activating" && activeLiveState !== "failed" && !activeConversationResumeUnavailable && (activeConversationId !== null || effectiveSelectedProviderTarget.disabled !== true) && (composerTargetData.provider !== "openclaw" || openclawGateway?.status === "ready") && pendingApproval === null && pendingInteractivePrompt === null && sessionChrome.auth === null && !activeConversationBusy && !isCreatingConversation && !isSubmitting && !isInterrupting;
|
|
15427
|
+
const canSubmit = !providerTargetsLoading && activeLiveState !== "activating" && activeLiveState !== "failed" && !activeConversationResumeUnavailable && (activeConversationId !== null || effectiveSelectedProviderTarget.disabled !== true && (homeComposerTargetOverride ? homeComposerTargetOverrideIsExplicit : selectedProviderTargetIsExplicit)) && (composerTargetData.provider !== "openclaw" || openclawGateway?.status === "ready") && pendingApproval === null && pendingInteractivePrompt === null && sessionChrome.auth === null && !activeConversationBusy && !isCreatingConversation && !isSubmitting && !isInterrupting;
|
|
15362
15428
|
const activeConversationCreatePending = Boolean(activeConversationId) && isCreatingConversation && startingConversationIdRef.current === activeConversationId;
|
|
15363
15429
|
const canQueueWhileBusy = Boolean(activeConversationId) && (activeConversationCreatePending || activeConversationBusy || isSubmitting || Boolean(activeSessionState?.pendingInteractive));
|
|
15364
15430
|
useEffect4(() => {
|
|
@@ -15549,12 +15615,12 @@ function useAgentGUINodeController({
|
|
|
15549
15615
|
]);
|
|
15550
15616
|
const stableComposerSettings = useStableComposerSettingsVM(composerSettings);
|
|
15551
15617
|
const resolveDefaultHomeComposerTarget = useCallback4(() => {
|
|
15552
|
-
const defaultTargetId =
|
|
15618
|
+
const defaultTargetId = defaultAgentTargetId?.trim() ?? "";
|
|
15553
15619
|
const explicitDefaultTarget = defaultTargetId ? normalizedProviderTargets.find(
|
|
15554
15620
|
(target) => target.targetId === defaultTargetId || target.agentTargetId === defaultTargetId
|
|
15555
15621
|
) ?? null : null;
|
|
15556
15622
|
return explicitDefaultTarget ?? normalizedProviderTargets.find((target) => target.disabled !== true) ?? normalizedProviderTargets[0] ?? null;
|
|
15557
|
-
}, [
|
|
15623
|
+
}, [defaultAgentTargetId, normalizedProviderTargets]);
|
|
15558
15624
|
const resetHomeComposerAgentTargetToDefault = useCallback4(() => {
|
|
15559
15625
|
if (previewMode) {
|
|
15560
15626
|
return;
|
|
@@ -15564,7 +15630,7 @@ function useAgentGUINodeController({
|
|
|
15564
15630
|
return;
|
|
15565
15631
|
}
|
|
15566
15632
|
const nextTargetIsExplicit = normalizedExplicitProviderTargets.some(
|
|
15567
|
-
(target) =>
|
|
15633
|
+
(target) => agentGUIProviderTargetsEqual(target, nextTarget)
|
|
15568
15634
|
);
|
|
15569
15635
|
const nextTargetData = composerTargetDataFromProviderTarget({
|
|
15570
15636
|
current: dataRef.current,
|
|
@@ -15617,18 +15683,16 @@ function useAgentGUINodeController({
|
|
|
15617
15683
|
return;
|
|
15618
15684
|
}
|
|
15619
15685
|
const nextProvider = input.provider;
|
|
15620
|
-
const nextTarget =
|
|
15621
|
-
|
|
15686
|
+
const nextTarget = resolveAgentGUIDirectorySelection({
|
|
15687
|
+
agentTargetId: input.agentTargetId,
|
|
15622
15688
|
provider: nextProvider,
|
|
15623
|
-
|
|
15624
|
-
providerTargets: normalizedProviderTargets,
|
|
15625
|
-
useStaticCatalog: shouldUseStaticProviderTargets
|
|
15689
|
+
targets: normalizedProviderTargets
|
|
15626
15690
|
});
|
|
15627
15691
|
if (!nextTarget) {
|
|
15628
15692
|
return;
|
|
15629
15693
|
}
|
|
15630
15694
|
const nextTargetIsExplicit = normalizedExplicitProviderTargets.some(
|
|
15631
|
-
(target) =>
|
|
15695
|
+
(target) => agentGUIProviderTargetsEqual(target, nextTarget)
|
|
15632
15696
|
);
|
|
15633
15697
|
const nextTargetData = composerTargetDataFromProviderTarget({
|
|
15634
15698
|
current: dataRef.current,
|
|
@@ -15703,8 +15767,6 @@ function useAgentGUINodeController({
|
|
|
15703
15767
|
provider: currentNextTargetData.provider,
|
|
15704
15768
|
agentTargetId: currentNextTargetData.agentTargetId,
|
|
15705
15769
|
lastActiveAgentSessionId: null,
|
|
15706
|
-
providerTargetId: currentNextTargetData.providerTargetId,
|
|
15707
|
-
providerTargetRef: currentNextTargetData.providerTargetRef,
|
|
15708
15770
|
composerOverrides: providerTargetChanged ? null : current.composerOverrides
|
|
15709
15771
|
};
|
|
15710
15772
|
dataRef.current = nextData;
|
|
@@ -15716,22 +15778,21 @@ function useAgentGUINodeController({
|
|
|
15716
15778
|
},
|
|
15717
15779
|
[
|
|
15718
15780
|
activation,
|
|
15719
|
-
|
|
15781
|
+
defaultAgentTargetId,
|
|
15720
15782
|
loadComposerOptionsForTarget,
|
|
15721
15783
|
normalizedExplicitProviderTargets,
|
|
15722
15784
|
normalizedProviderTargets,
|
|
15723
15785
|
persistActiveConversation,
|
|
15724
|
-
previewMode
|
|
15725
|
-
shouldUseStaticProviderTargets
|
|
15786
|
+
previewMode
|
|
15726
15787
|
]
|
|
15727
15788
|
);
|
|
15728
15789
|
useEffect4(() => {
|
|
15729
15790
|
if (previewMode || activeConversationId !== null || conversationFilter.kind !== "all" || homeComposerTargetOverride !== null || agentGUINodeDataHasComposerTarget(data) || !providerReadinessGates || !firstReadyHomeComposerProviderTarget) {
|
|
15730
15791
|
return;
|
|
15731
15792
|
}
|
|
15732
|
-
if (
|
|
15733
|
-
firstReadyHomeComposerProviderTarget
|
|
15734
|
-
effectiveSelectedProviderTarget
|
|
15793
|
+
if (agentGUIProviderTargetsEqual(
|
|
15794
|
+
firstReadyHomeComposerProviderTarget,
|
|
15795
|
+
effectiveSelectedProviderTarget
|
|
15735
15796
|
)) {
|
|
15736
15797
|
return;
|
|
15737
15798
|
}
|
|
@@ -15747,7 +15808,7 @@ function useAgentGUINodeController({
|
|
|
15747
15808
|
}
|
|
15748
15809
|
selectHomeComposerAgentTarget({
|
|
15749
15810
|
provider: firstReadyHomeComposerProviderTarget.provider,
|
|
15750
|
-
|
|
15811
|
+
agentTargetId: firstReadyHomeComposerProviderTarget.agentTargetId ?? firstReadyHomeComposerProviderTarget.targetId
|
|
15751
15812
|
});
|
|
15752
15813
|
}, [
|
|
15753
15814
|
activeConversationId,
|
|
@@ -15762,17 +15823,15 @@ function useAgentGUINodeController({
|
|
|
15762
15823
|
]);
|
|
15763
15824
|
const selectConversationFilterTarget = useCallback4(
|
|
15764
15825
|
(input) => {
|
|
15765
|
-
const nextTarget =
|
|
15766
|
-
|
|
15826
|
+
const nextTarget = resolveAgentGUIDirectorySelection({
|
|
15827
|
+
agentTargetId: input.agentTargetId,
|
|
15767
15828
|
provider: input.provider,
|
|
15768
|
-
|
|
15769
|
-
providerTargets: normalizedProviderTargets,
|
|
15770
|
-
useStaticCatalog: shouldUseStaticProviderTargets
|
|
15829
|
+
targets: normalizedProviderTargets
|
|
15771
15830
|
});
|
|
15772
15831
|
if (!nextTarget) {
|
|
15773
15832
|
reportAgentGUIConversationFilterTargetUnresolved({
|
|
15774
15833
|
provider: input.provider,
|
|
15775
|
-
|
|
15834
|
+
agentTargetId: input.agentTargetId ?? null,
|
|
15776
15835
|
providerTargetCount: normalizedProviderTargets.length,
|
|
15777
15836
|
reason: "unresolved",
|
|
15778
15837
|
runtime: agentActivityRuntime,
|
|
@@ -15815,11 +15874,10 @@ function useAgentGUINodeController({
|
|
|
15815
15874
|
},
|
|
15816
15875
|
[
|
|
15817
15876
|
agentActivityRuntime,
|
|
15818
|
-
|
|
15877
|
+
defaultAgentTargetId,
|
|
15819
15878
|
normalizedProviderTargets,
|
|
15820
15879
|
selectConversation,
|
|
15821
15880
|
selectHomeComposerAgentTarget,
|
|
15822
|
-
shouldUseStaticProviderTargets,
|
|
15823
15881
|
workspaceId
|
|
15824
15882
|
]
|
|
15825
15883
|
);
|
|
@@ -15838,7 +15896,7 @@ function useAgentGUINodeController({
|
|
|
15838
15896
|
}
|
|
15839
15897
|
selectHomeComposerAgentTarget({
|
|
15840
15898
|
provider: target.provider,
|
|
15841
|
-
|
|
15899
|
+
agentTargetId: target.agentTargetId ?? target.targetId
|
|
15842
15900
|
});
|
|
15843
15901
|
}, [
|
|
15844
15902
|
activeConversationId,
|
|
@@ -16011,8 +16069,6 @@ function useAgentGUINodeController({
|
|
|
16011
16069
|
providerTargets: normalizedProviderTargets,
|
|
16012
16070
|
handoffProviderTargets,
|
|
16013
16071
|
providerTargetsLoading,
|
|
16014
|
-
providerRailMode,
|
|
16015
|
-
comingSoonProviders: normalizedComingSoonProviders,
|
|
16016
16072
|
conversationFilter,
|
|
16017
16073
|
conversations: visibleConversations,
|
|
16018
16074
|
userProjects,
|
|
@@ -16094,9 +16150,7 @@ function useAgentGUINodeController({
|
|
|
16094
16150
|
data,
|
|
16095
16151
|
effectiveSelectedProviderTarget,
|
|
16096
16152
|
handoffProviderTargets,
|
|
16097
|
-
normalizedComingSoonProviders,
|
|
16098
16153
|
normalizedProviderTargets,
|
|
16099
|
-
providerRailMode,
|
|
16100
16154
|
providerReadinessGate,
|
|
16101
16155
|
providerTargetsLoading,
|
|
16102
16156
|
detailError,
|
|
@@ -17346,13 +17400,6 @@ var AgentGuiHeroCarouselScene = class _AgentGuiHeroCarouselScene {
|
|
|
17346
17400
|
|
|
17347
17401
|
// agent-gui/agentGuiNode/AgentGUIHeroAgentCarousel.tsx
|
|
17348
17402
|
import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
17349
|
-
function agentGUILaunchpadProviderTarget(providerTargets, provider) {
|
|
17350
|
-
const normalized = normalizeManagedAgentProvider(provider);
|
|
17351
|
-
const matches = providerTargets.filter(
|
|
17352
|
-
(target) => normalizeManagedAgentProvider(target.provider) === normalized
|
|
17353
|
-
);
|
|
17354
|
-
return matches.find((target) => target.disabled !== true) ?? matches[0] ?? null;
|
|
17355
|
-
}
|
|
17356
17403
|
var CAROUSEL_WHEEL_STEP_THRESHOLD = 42;
|
|
17357
17404
|
var CAROUSEL_WHEEL_STEP_COOLDOWN_MS = 110;
|
|
17358
17405
|
var CAROUSEL_DRAG_STEP_PX = 52;
|
|
@@ -17423,18 +17470,17 @@ function useAgentGUIHeroCarouselImages(icons, iconKey) {
|
|
|
17423
17470
|
}
|
|
17424
17471
|
var AgentGUIHeroAgentCarousel = memo2(
|
|
17425
17472
|
function AgentGUIHeroAgentCarousel2({
|
|
17426
|
-
|
|
17473
|
+
activeAgentTargetId,
|
|
17427
17474
|
icons,
|
|
17428
17475
|
providerTargets,
|
|
17429
17476
|
onProviderSelect,
|
|
17430
17477
|
providerSelectLabel
|
|
17431
17478
|
}) {
|
|
17432
|
-
const normalizedActiveProvider = activeProvider ? normalizeManagedAgentProvider(activeProvider) : null;
|
|
17433
17479
|
const activeIconIndex = useMemo4(
|
|
17434
|
-
() =>
|
|
17435
|
-
(icon) =>
|
|
17480
|
+
() => !activeAgentTargetId ? -1 : icons.findIndex(
|
|
17481
|
+
(icon) => icon.agentTargetId === activeAgentTargetId
|
|
17436
17482
|
),
|
|
17437
|
-
[
|
|
17483
|
+
[activeAgentTargetId, icons]
|
|
17438
17484
|
);
|
|
17439
17485
|
const [centerIndex, setCenterIndex] = useState7(
|
|
17440
17486
|
activeIconIndex >= 0 ? activeIconIndex : 0
|
|
@@ -17450,10 +17496,12 @@ var AgentGUIHeroAgentCarousel = memo2(
|
|
|
17450
17496
|
if (!icon || !interactive) {
|
|
17451
17497
|
return null;
|
|
17452
17498
|
}
|
|
17453
|
-
|
|
17454
|
-
|
|
17455
|
-
|
|
17456
|
-
|
|
17499
|
+
if (!icon.agentTargetId) {
|
|
17500
|
+
return null;
|
|
17501
|
+
}
|
|
17502
|
+
return providerTargets?.find(
|
|
17503
|
+
(target) => (target.agentTargetId ?? target.targetId) === icon.agentTargetId
|
|
17504
|
+
) ?? null;
|
|
17457
17505
|
},
|
|
17458
17506
|
[icons, interactive, providerTargets]
|
|
17459
17507
|
);
|
|
@@ -17465,7 +17513,7 @@ var AgentGUIHeroAgentCarousel = memo2(
|
|
|
17465
17513
|
}
|
|
17466
17514
|
onProviderSelect({
|
|
17467
17515
|
provider: target.provider,
|
|
17468
|
-
|
|
17516
|
+
agentTargetId: target.targetId
|
|
17469
17517
|
});
|
|
17470
17518
|
},
|
|
17471
17519
|
[onProviderSelect, targetForIndex]
|
|
@@ -17475,7 +17523,7 @@ var AgentGUIHeroAgentCarousel = memo2(
|
|
|
17475
17523
|
const stageRef = useRef5(null);
|
|
17476
17524
|
const canvasRef = useRef5(null);
|
|
17477
17525
|
const sceneRef = useRef5(null);
|
|
17478
|
-
const iconKey = icons.map((icon) => `${icon.provider}:${icon.iconUrl}`).join("|");
|
|
17526
|
+
const iconKey = icons.map((icon) => `${icon.agentTargetId ?? icon.provider}:${icon.iconUrl}`).join("|");
|
|
17479
17527
|
const carouselImages = useAgentGUIHeroCarouselImages(icons, iconKey);
|
|
17480
17528
|
useEffect6(() => {
|
|
17481
17529
|
const canvas = canvasRef.current;
|
|
@@ -17671,7 +17719,7 @@ var AgentGUIHeroAgentCarousel = memo2(
|
|
|
17671
17719
|
icons.map((icon, index) => {
|
|
17672
17720
|
const isCenter = index === centerIndex;
|
|
17673
17721
|
const target = targetForIndex(index);
|
|
17674
|
-
const key = `${icon.provider}:${icon.iconUrl}`;
|
|
17722
|
+
const key = `${icon.agentTargetId ?? icon.provider}:${icon.iconUrl}`;
|
|
17675
17723
|
if (target && onProviderSelect) {
|
|
17676
17724
|
const label = providerSelectLabel ? `${providerSelectLabel}: ${target.label}` : target.label;
|
|
17677
17725
|
return /* @__PURE__ */ jsx20(
|
|
@@ -17679,6 +17727,7 @@ var AgentGUIHeroAgentCarousel = memo2(
|
|
|
17679
17727
|
{
|
|
17680
17728
|
type: "button",
|
|
17681
17729
|
className: AgentGUINode_styles_default.emptyHeroCarouselItem,
|
|
17730
|
+
"data-agent-target-id": icon.agentTargetId,
|
|
17682
17731
|
"data-provider": icon.provider,
|
|
17683
17732
|
"data-provider-active": isCenter,
|
|
17684
17733
|
"aria-label": label,
|
|
@@ -24541,9 +24590,9 @@ ${normalizedText}` : normalizedText;
|
|
|
24541
24590
|
() => providerSwitchTargets.filter((target) => target.disabled !== true),
|
|
24542
24591
|
[providerSwitchTargets]
|
|
24543
24592
|
);
|
|
24544
|
-
const
|
|
24593
|
+
const selectedAgentTargetId = selectedProviderTarget?.targetId ?? `local:${provider}`;
|
|
24545
24594
|
const selectedProviderSwitchTarget = providerSwitchTargets.find(
|
|
24546
|
-
(target) => target.targetId ===
|
|
24595
|
+
(target) => target.targetId === selectedAgentTargetId
|
|
24547
24596
|
) ?? providerSwitchTargets.find((target) => target.provider === provider) ?? selectedProviderTarget;
|
|
24548
24597
|
const providerMenuTargets = selectedProviderSwitchTarget && !enabledProviderSwitchTargets.some(
|
|
24549
24598
|
(target) => target.targetId === selectedProviderSwitchTarget.targetId
|
|
@@ -24558,9 +24607,9 @@ ${normalizedText}` : normalizedText;
|
|
|
24558
24607
|
if (target.targetId === selectedProviderSwitchTarget.targetId) {
|
|
24559
24608
|
return false;
|
|
24560
24609
|
}
|
|
24561
|
-
const
|
|
24610
|
+
const selectedAgentTargetId2 = selectedProviderSwitchTarget.agentTargetId ?? selectedProviderSwitchTarget.targetId;
|
|
24562
24611
|
const targetAgentTargetId = target.agentTargetId ?? target.targetId;
|
|
24563
|
-
return targetAgentTargetId !==
|
|
24612
|
+
return targetAgentTargetId !== selectedAgentTargetId2;
|
|
24564
24613
|
}) : enabledHandoffProviderTargets;
|
|
24565
24614
|
const selectedProviderLabel = selectedProviderSwitchTarget?.label ?? selectedProviderTarget?.label ?? provider;
|
|
24566
24615
|
const effectiveHandoffLabel = handoffLabel || labels.handoffConversation;
|
|
@@ -25760,7 +25809,7 @@ ${normalizedText}` : normalizedText;
|
|
|
25760
25809
|
}
|
|
25761
25810
|
onProviderSelect?.({
|
|
25762
25811
|
provider: target.provider,
|
|
25763
|
-
|
|
25812
|
+
agentTargetId: target.targetId
|
|
25764
25813
|
});
|
|
25765
25814
|
},
|
|
25766
25815
|
children: [
|
|
@@ -26673,13 +26722,12 @@ function resolveAgentGUIHeroIconUrl(provider) {
|
|
|
26673
26722
|
const normalizedProvider = normalizeManagedAgentProvider(provider);
|
|
26674
26723
|
return MANAGED_AGENT_ICON_URLS[normalizedProvider] ?? MANAGED_AGENT_ICON_FALLBACK_URL;
|
|
26675
26724
|
}
|
|
26676
|
-
var HERO_USES_PROVIDER_RAIL_ICON = /* @__PURE__ */ new Set(["cursor", "opencode"]);
|
|
26677
26725
|
function agentGUIProviderIconPresentation(provider, iconUrl) {
|
|
26678
26726
|
const normalizedProvider = normalizeManagedAgentProvider(provider);
|
|
26679
26727
|
const providerRailIconUrl = MANAGED_AGENT_PROVIDER_RAIL_ICON_URLS[normalizedProvider] ?? null;
|
|
26680
26728
|
return {
|
|
26681
26729
|
provider: normalizedProvider,
|
|
26682
|
-
iconUrl: (
|
|
26730
|
+
iconUrl: iconUrl?.trim() || providerRailIconUrl || resolveAgentGUIHeroIconUrl(normalizedProvider)
|
|
26683
26731
|
};
|
|
26684
26732
|
}
|
|
26685
26733
|
function agentGUIProviderRailIconPresentation(provider, iconUrl) {
|
|
@@ -26687,7 +26735,7 @@ function agentGUIProviderRailIconPresentation(provider, iconUrl) {
|
|
|
26687
26735
|
const providerRailIconUrl = MANAGED_AGENT_PROVIDER_RAIL_ICON_URLS[normalizedProvider] ?? null;
|
|
26688
26736
|
return {
|
|
26689
26737
|
provider: normalizedProvider,
|
|
26690
|
-
iconUrl:
|
|
26738
|
+
iconUrl: iconUrl?.trim() || providerRailIconUrl || resolveAgentGUIHeroIconUrl(normalizedProvider)
|
|
26691
26739
|
};
|
|
26692
26740
|
}
|
|
26693
26741
|
function shouldEmphasizeEmptyHeroProvider(label) {
|
|
@@ -27487,10 +27535,8 @@ function AgentGUINodeView({
|
|
|
27487
27535
|
selectedProviderTarget: viewModel.selectedProviderTarget,
|
|
27488
27536
|
providerTargets: viewModel.providerTargets,
|
|
27489
27537
|
providerTargetsLoading: viewModel.providerTargetsLoading,
|
|
27490
|
-
providerRailMode: viewModel.providerRailMode,
|
|
27491
27538
|
renderProviderRailEmpty,
|
|
27492
27539
|
providerRailAllPresentation,
|
|
27493
|
-
comingSoonProviders: viewModel.comingSoonProviders,
|
|
27494
27540
|
onSelectConversationFilterTarget: actions.selectConversationFilterTarget,
|
|
27495
27541
|
onUpdateConversationFilter: actions.updateConversationFilter,
|
|
27496
27542
|
onRequestComposerFocus: requestComposerFocus
|
|
@@ -27631,6 +27677,7 @@ function AgentGUINodeView({
|
|
|
27631
27677
|
contextMentionProviders,
|
|
27632
27678
|
workspaceAppIcons: effectiveWorkspaceAppIcons,
|
|
27633
27679
|
workspaceUserProjectI18n,
|
|
27680
|
+
renderAgentsEmpty: renderProviderRailEmpty,
|
|
27634
27681
|
renderProviderUnavailableState,
|
|
27635
27682
|
renderProviderReadinessGateState,
|
|
27636
27683
|
previewMode
|
|
@@ -27886,6 +27933,7 @@ var AgentGUIDetailPane = memo3(function AgentGUIDetailPane2({
|
|
|
27886
27933
|
onRequestComposerFocus,
|
|
27887
27934
|
contextMentionProviders,
|
|
27888
27935
|
workspaceAppIcons = EMPTY_WORKSPACE_APP_ICONS3,
|
|
27936
|
+
renderAgentsEmpty,
|
|
27889
27937
|
renderProviderUnavailableState,
|
|
27890
27938
|
renderProviderReadinessGateState
|
|
27891
27939
|
}) {
|
|
@@ -27911,8 +27959,9 @@ var AgentGUIDetailPane = memo3(function AgentGUIDetailPane2({
|
|
|
27911
27959
|
avoidGroupingEdits: viewModel.avoidGroupingEdits
|
|
27912
27960
|
});
|
|
27913
27961
|
const hasActiveConversation = viewModel.activeConversationId !== null;
|
|
27914
|
-
const
|
|
27915
|
-
const
|
|
27962
|
+
const agentsLoadedEmpty = !viewModel.providerTargetsLoading && viewModel.providerTargets.length === 0;
|
|
27963
|
+
const selectedProviderTargetComingSoon = viewModel.selectedProviderTarget?.disabled === true && (viewModel.providerReadinessGate === null || viewModel.providerReadinessGate?.status === "coming_soon");
|
|
27964
|
+
const emptyProviderReadinessGate = !hasActiveConversation ? viewModel.providerReadinessGate ?? (selectedProviderTargetComingSoon ? { status: "coming_soon" } : null) : null;
|
|
27916
27965
|
const activePrompt = viewModel.pendingInteractivePrompt ?? viewModel.pendingApproval;
|
|
27917
27966
|
const activePromptRequestId = activePrompt?.requestId ?? null;
|
|
27918
27967
|
const sessionChrome = useMemo11(
|
|
@@ -28653,11 +28702,36 @@ var AgentGUIDetailPane = memo3(function AgentGUIDetailPane2({
|
|
|
28653
28702
|
[bottomDockComposerProps]
|
|
28654
28703
|
);
|
|
28655
28704
|
const emptyHeroProvider = viewModel.selectedProviderTarget?.provider ?? viewModel.data.provider;
|
|
28656
|
-
const
|
|
28657
|
-
const
|
|
28705
|
+
const emptyHeroRuntimeProviderLabel = labels.emptyProviderForProvider?.(emptyHeroProvider) ?? labels.emptyProvider ?? "";
|
|
28706
|
+
const emptyHeroProviderLabel = viewModel.selectedProviderTarget?.label ?? emptyHeroRuntimeProviderLabel;
|
|
28707
|
+
const emptyHeroBaseLabel = labels.emptyForProvider?.(emptyHeroProvider) ?? labels.empty;
|
|
28708
|
+
const emptyHeroLabel = emptyHeroRuntimeProviderLabel ? emptyHeroBaseLabel.replace(
|
|
28709
|
+
emptyHeroRuntimeProviderLabel,
|
|
28710
|
+
emptyHeroProviderLabel
|
|
28711
|
+
) : emptyHeroBaseLabel;
|
|
28658
28712
|
const emptyHeroIconPresentations = useMemo11(
|
|
28659
|
-
() => viewModel.conversationFilter.kind === "all" ?
|
|
28660
|
-
|
|
28713
|
+
() => viewModel.conversationFilter.kind === "all" ? viewModel.providerTargets.map((target) => ({
|
|
28714
|
+
agentTargetId: target.agentTargetId ?? target.targetId,
|
|
28715
|
+
provider: target.provider,
|
|
28716
|
+
iconUrl: agentGUIProviderRailIconPresentation(
|
|
28717
|
+
target.provider,
|
|
28718
|
+
target.iconUrl
|
|
28719
|
+
).iconUrl
|
|
28720
|
+
})) : [
|
|
28721
|
+
{
|
|
28722
|
+
...agentGUIProviderIconPresentation(
|
|
28723
|
+
emptyHeroProvider,
|
|
28724
|
+
viewModel.selectedProviderTarget?.iconUrl
|
|
28725
|
+
),
|
|
28726
|
+
agentTargetId: viewModel.selectedProviderTarget?.agentTargetId ?? viewModel.selectedProviderTarget?.targetId
|
|
28727
|
+
}
|
|
28728
|
+
],
|
|
28729
|
+
[
|
|
28730
|
+
emptyHeroProvider,
|
|
28731
|
+
viewModel.conversationFilter.kind,
|
|
28732
|
+
viewModel.providerTargets,
|
|
28733
|
+
viewModel.selectedProviderTarget
|
|
28734
|
+
]
|
|
28661
28735
|
);
|
|
28662
28736
|
const disabledProviderTarget = selectedProviderTargetComingSoon ? viewModel.selectedProviderTarget ?? null : null;
|
|
28663
28737
|
const shouldRenderProviderUnavailableState = !hasActiveConversation && disabledProviderTarget !== null && renderProviderUnavailableState !== void 0;
|
|
@@ -29056,7 +29130,14 @@ var AgentGUIDetailPane = memo3(function AgentGUIDetailPane2({
|
|
|
29056
29130
|
viewportTestId: "agent-gui-timeline",
|
|
29057
29131
|
viewportClassName: `${AgentGUINode_styles_default.timeline} ${hasActiveConversation ? AgentGUINode_styles_default.timelineWithComposer : AgentGUINode_styles_default.timelineCentered} ${!isTimelineScrolledToTop ? AgentGUINode_styles_default.timelineScrolledFromTop : ""} ${showUnavailableChatEmpty ? AgentGUINode_styles_default.timelineUnavailableChatEmpty : ""}`.trim(),
|
|
29058
29132
|
viewportContentStyle: AGENT_GUI_TIMELINE_SCROLL_AREA_CONTENT_STYLE,
|
|
29059
|
-
children: !hasActiveConversation ?
|
|
29133
|
+
children: !hasActiveConversation ? agentsLoadedEmpty ? renderAgentsEmpty ? /* @__PURE__ */ jsx35(Fragment9, { children: renderAgentsEmpty() }) : /* @__PURE__ */ jsx35(
|
|
29134
|
+
"div",
|
|
29135
|
+
{
|
|
29136
|
+
className: AgentGUINode_styles_default.emptyHero,
|
|
29137
|
+
"data-testid": "agent-gui-agents-empty",
|
|
29138
|
+
children: /* @__PURE__ */ jsx35("div", { className: AgentGUINode_styles_default.emptyHeroBody, children: /* @__PURE__ */ jsx35("h2", { className: AgentGUINode_styles_default.emptyHeroTitle, children: labels.agentsEmpty }) })
|
|
29139
|
+
}
|
|
29140
|
+
) : shouldRenderProviderUnavailableState && disabledProviderTarget ? /* @__PURE__ */ jsx35(Fragment9, { children: renderProviderUnavailableState?.({
|
|
29060
29141
|
provider: disabledProviderTarget.provider,
|
|
29061
29142
|
providerLabel: labels.emptyProviderForProvider?.(
|
|
29062
29143
|
disabledProviderTarget.provider
|
|
@@ -29280,7 +29361,7 @@ var AgentGUIEmptyHeroPane = memo3(function AgentGUIEmptyHeroPane2({
|
|
|
29280
29361
|
/* @__PURE__ */ jsx35("div", { className: AgentGUINode_styles_default.emptyHeroIconSlot, children: heroIconPresentations.length > 1 ? /* @__PURE__ */ jsx35(
|
|
29281
29362
|
AgentGUIHeroAgentCarousel,
|
|
29282
29363
|
{
|
|
29283
|
-
|
|
29364
|
+
activeAgentTargetId: selectedProviderTarget?.agentTargetId ?? selectedProviderTarget?.targetId,
|
|
29284
29365
|
icons: heroIconPresentations,
|
|
29285
29366
|
providerTargets,
|
|
29286
29367
|
onProviderSelect,
|
|
@@ -29347,8 +29428,15 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
29347
29428
|
"use memo";
|
|
29348
29429
|
const heroIconUrl = resolveAgentGUIHeroIconUrl(provider);
|
|
29349
29430
|
const launchpadIconPresentations = useMemo11(
|
|
29350
|
-
() =>
|
|
29351
|
-
|
|
29431
|
+
() => providerTargets.map((target) => ({
|
|
29432
|
+
agentTargetId: target.agentTargetId ?? target.targetId,
|
|
29433
|
+
provider: target.provider,
|
|
29434
|
+
iconUrl: agentGUIProviderRailIconPresentation(
|
|
29435
|
+
target.provider,
|
|
29436
|
+
target.iconUrl
|
|
29437
|
+
).iconUrl
|
|
29438
|
+
})),
|
|
29439
|
+
[providerTargets]
|
|
29352
29440
|
);
|
|
29353
29441
|
const pendingAction = gate.pendingAction ?? null;
|
|
29354
29442
|
const isPending = pendingAction !== null;
|
|
@@ -29369,7 +29457,7 @@ var AgentGUIProviderReadinessGatePane = memo3(
|
|
|
29369
29457
|
showAllProviders ? /* @__PURE__ */ jsx35(
|
|
29370
29458
|
AgentGUIHeroAgentCarousel,
|
|
29371
29459
|
{
|
|
29372
|
-
|
|
29460
|
+
activeAgentTargetId: selectedProviderTarget?.agentTargetId ?? selectedProviderTarget?.targetId,
|
|
29373
29461
|
icons: launchpadIconPresentations,
|
|
29374
29462
|
providerTargets,
|
|
29375
29463
|
onProviderSelect,
|
|
@@ -29539,7 +29627,7 @@ function EmptyHeroTitle({
|
|
|
29539
29627
|
return /* @__PURE__ */ jsx35(Fragment9, { children: label });
|
|
29540
29628
|
}
|
|
29541
29629
|
const providerEnd = providerStart + providerLabel.length;
|
|
29542
|
-
const
|
|
29630
|
+
const selectedAgentTargetId = selectedProviderTarget?.targetId ?? `local:${selectedProviderTarget?.provider ?? ""}`;
|
|
29543
29631
|
const canSwitchProvider = providerTargets.length > 1 && selectedProviderTarget && onProviderSelect;
|
|
29544
29632
|
const providerName = label.slice(providerStart, providerEnd);
|
|
29545
29633
|
return /* @__PURE__ */ jsxs22(Fragment9, { children: [
|
|
@@ -29547,7 +29635,7 @@ function EmptyHeroTitle({
|
|
|
29547
29635
|
canSwitchProvider ? /* @__PURE__ */ jsxs22(
|
|
29548
29636
|
Select3,
|
|
29549
29637
|
{
|
|
29550
|
-
value:
|
|
29638
|
+
value: selectedAgentTargetId,
|
|
29551
29639
|
onValueChange: (nextTargetId) => {
|
|
29552
29640
|
const target = providerTargets.find(
|
|
29553
29641
|
(candidate) => candidate.targetId === nextTargetId
|
|
@@ -29557,7 +29645,7 @@ function EmptyHeroTitle({
|
|
|
29557
29645
|
}
|
|
29558
29646
|
onProviderSelect({
|
|
29559
29647
|
provider: target.provider,
|
|
29560
|
-
|
|
29648
|
+
agentTargetId: target.targetId
|
|
29561
29649
|
});
|
|
29562
29650
|
},
|
|
29563
29651
|
children: [
|
|
@@ -30154,43 +30242,6 @@ function conversationSyncStatesRenderEqual(left, right) {
|
|
|
30154
30242
|
function conversationProjectsRenderEqual2(left, right) {
|
|
30155
30243
|
return left === right || (!left || !right ? !left && !right : left.id === right.id && left.path === right.path && left.label === right.label && left.sectionKey === right.sectionKey && left.createdAtUnixMs === right.createdAtUnixMs && left.updatedAtUnixMs === right.updatedAtUnixMs && left.lastUsedAtUnixMs === right.lastUsedAtUnixMs);
|
|
30156
30244
|
}
|
|
30157
|
-
var agentGUIProviderRailOrder = [
|
|
30158
|
-
"codex",
|
|
30159
|
-
"claude-code",
|
|
30160
|
-
"cursor",
|
|
30161
|
-
"tutti-agent",
|
|
30162
|
-
"nexight",
|
|
30163
|
-
"opencode",
|
|
30164
|
-
"hermes",
|
|
30165
|
-
"openclaw"
|
|
30166
|
-
];
|
|
30167
|
-
var agentGUIProviderRailDefaultProviders = [
|
|
30168
|
-
"codex",
|
|
30169
|
-
"claude-code",
|
|
30170
|
-
"cursor",
|
|
30171
|
-
"hermes",
|
|
30172
|
-
"openclaw"
|
|
30173
|
-
];
|
|
30174
|
-
var agentGUIProviderRailDisabledProviders = /* @__PURE__ */ new Set([
|
|
30175
|
-
"nexight",
|
|
30176
|
-
"hermes",
|
|
30177
|
-
"openclaw"
|
|
30178
|
-
]);
|
|
30179
|
-
function agentGUIProviderRailOrderIndex(provider) {
|
|
30180
|
-
const index = agentGUIProviderRailOrder.indexOf(provider);
|
|
30181
|
-
return index < 0 ? agentGUIProviderRailOrder.length : index;
|
|
30182
|
-
}
|
|
30183
|
-
function agentGUILaunchpadIconPresentations() {
|
|
30184
|
-
return [
|
|
30185
|
-
agentGUIProviderRailIconPresentation("codex"),
|
|
30186
|
-
agentGUIProviderRailIconPresentation("claude-code"),
|
|
30187
|
-
agentGUIProviderRailIconPresentation("cursor"),
|
|
30188
|
-
agentGUIProviderRailIconPresentation("tutti"),
|
|
30189
|
-
agentGUIProviderRailIconPresentation("opencode"),
|
|
30190
|
-
agentGUIProviderRailIconPresentation("hermes"),
|
|
30191
|
-
agentGUIProviderRailIconPresentation("openclaw")
|
|
30192
|
-
];
|
|
30193
|
-
}
|
|
30194
30245
|
function agentGUIConversationProviderIconUrl(provider) {
|
|
30195
30246
|
return resolveAgentGuiSessionProviderFlatIconUrl(provider);
|
|
30196
30247
|
}
|
|
@@ -30219,37 +30270,8 @@ function agentGUIProviderRailAriaLabel(label, badgeLabel) {
|
|
|
30219
30270
|
function agentGUIProviderTargetMatchesConversationFilter(target, filter) {
|
|
30220
30271
|
return filter.kind === "agentTarget" && (target.agentTargetId?.trim() ?? "") === filter.agentTargetId;
|
|
30221
30272
|
}
|
|
30222
|
-
function agentGUIProviderRailTargets(providerTargets, providerTargetsLoading
|
|
30223
|
-
|
|
30224
|
-
return [];
|
|
30225
|
-
}
|
|
30226
|
-
if (providerRailMode === "exact") {
|
|
30227
|
-
return providerTargets;
|
|
30228
|
-
}
|
|
30229
|
-
const comingSoon = new Set(comingSoonProviders);
|
|
30230
|
-
const source = providerTargets.length > 0 && !agentGUIProviderRailTargetsAreFullLocalFallback(providerTargets) ? providerTargets : [];
|
|
30231
|
-
const seenProviders = new Set(source.map((target) => target.provider));
|
|
30232
|
-
const missingDefaultProviders = agentGUIProviderRailDefaultProviders.filter(
|
|
30233
|
-
(provider) => !seenProviders.has(provider)
|
|
30234
|
-
);
|
|
30235
|
-
if (source.length > 0 && missingDefaultProviders.length === 0) {
|
|
30236
|
-
return source;
|
|
30237
|
-
}
|
|
30238
|
-
return [
|
|
30239
|
-
...source,
|
|
30240
|
-
...missingDefaultProviders.map(
|
|
30241
|
-
(provider) => agentGUIProviderRailDisabledProviders.has(provider) || comingSoon.has(provider) ? createDisabledPlaceholderAgentGUIProviderTarget(provider) : createLocalAgentGUIProviderTarget(provider)
|
|
30242
|
-
)
|
|
30243
|
-
];
|
|
30244
|
-
}
|
|
30245
|
-
function agentGUIProviderRailTargetsAreFullLocalFallback(providerTargets) {
|
|
30246
|
-
if (providerTargets.length !== agentGUIProviderRailOrder.length) {
|
|
30247
|
-
return false;
|
|
30248
|
-
}
|
|
30249
|
-
const fallbackProviders = new Set(agentGUIProviderRailOrder);
|
|
30250
|
-
return providerTargets.every(
|
|
30251
|
-
(target) => fallbackProviders.has(target.provider) && target.ref.kind === "local" && target.ref.provider === target.provider && target.targetId === `local:${target.provider}`
|
|
30252
|
-
);
|
|
30273
|
+
function agentGUIProviderRailTargets(providerTargets, providerTargetsLoading) {
|
|
30274
|
+
return providerTargetsLoading ? [] : providerTargets;
|
|
30253
30275
|
}
|
|
30254
30276
|
var AGENT_GUI_PROVIDER_RAIL_DRAG_HYSTERESIS_PX = 8;
|
|
30255
30277
|
var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
@@ -30260,10 +30282,8 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
|
30260
30282
|
selectedProviderTarget,
|
|
30261
30283
|
providerTargets,
|
|
30262
30284
|
providerTargetsLoading,
|
|
30263
|
-
providerRailMode,
|
|
30264
30285
|
renderProviderRailEmpty,
|
|
30265
30286
|
providerRailAllPresentation,
|
|
30266
|
-
comingSoonProviders,
|
|
30267
30287
|
onRequestComposerFocus,
|
|
30268
30288
|
onSelectConversationFilterTarget,
|
|
30269
30289
|
onUpdateConversationFilter
|
|
@@ -30305,51 +30325,16 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
|
30305
30325
|
[providerRailOrderStorageKey]
|
|
30306
30326
|
);
|
|
30307
30327
|
const railProviderTargets = useMemo11(
|
|
30308
|
-
() => agentGUIProviderRailTargets(
|
|
30309
|
-
|
|
30310
|
-
providerTargetsLoading,
|
|
30311
|
-
comingSoonProviders,
|
|
30312
|
-
providerRailMode
|
|
30313
|
-
),
|
|
30314
|
-
[
|
|
30315
|
-
comingSoonProviders,
|
|
30316
|
-
providerRailMode,
|
|
30317
|
-
providerTargets,
|
|
30318
|
-
providerTargetsLoading
|
|
30319
|
-
]
|
|
30328
|
+
() => agentGUIProviderRailTargets(providerTargets, providerTargetsLoading),
|
|
30329
|
+
[providerTargets, providerTargetsLoading]
|
|
30320
30330
|
);
|
|
30321
30331
|
const providerTiles = useMemo11(() => {
|
|
30322
|
-
|
|
30323
|
-
|
|
30324
|
-
|
|
30325
|
-
targets.forEach((target, index) => {
|
|
30326
|
-
originalIndexByTarget.set(
|
|
30327
|
-
`${target.provider}\0${target.targetId}`,
|
|
30328
|
-
index
|
|
30329
|
-
);
|
|
30330
|
-
});
|
|
30331
|
-
return targets.sort((left, right) => {
|
|
30332
|
-
const orderDelta = agentGUIProviderRailOrderIndex(left.provider) - agentGUIProviderRailOrderIndex(right.provider);
|
|
30333
|
-
if (orderDelta !== 0) {
|
|
30334
|
-
return orderDelta;
|
|
30335
|
-
}
|
|
30336
|
-
return (originalIndexByTarget.get(
|
|
30337
|
-
`${left.provider}\0${left.targetId}`
|
|
30338
|
-
) ?? 0) - (originalIndexByTarget.get(
|
|
30339
|
-
`${right.provider}\0${right.targetId}`
|
|
30340
|
-
) ?? 0);
|
|
30341
|
-
});
|
|
30342
|
-
})();
|
|
30343
|
-
return applyAgentGUIProviderRailOrder(orderedTargets, providerRailOrder);
|
|
30344
|
-
}, [providerRailMode, providerRailOrder, railProviderTargets]);
|
|
30345
|
-
const visibleProviderTiles = useMemo11(() => {
|
|
30346
|
-
if (!providerTiles.some((target) => target.provider === "tutti-agent")) {
|
|
30347
|
-
return providerTiles;
|
|
30348
|
-
}
|
|
30349
|
-
return providerTiles.filter(
|
|
30350
|
-
(target) => target.provider !== "nexight" || target.disabled !== true
|
|
30332
|
+
return applyAgentGUIProviderRailOrder(
|
|
30333
|
+
railProviderTargets,
|
|
30334
|
+
providerRailOrder
|
|
30351
30335
|
);
|
|
30352
|
-
}, [
|
|
30336
|
+
}, [providerRailOrder, railProviderTargets]);
|
|
30337
|
+
const visibleProviderTiles = providerTiles;
|
|
30353
30338
|
const selectedProviderTargetIsPlaceholder = selectedProviderTarget?.disabled === true;
|
|
30354
30339
|
const allTileSelected = conversationFilter.kind === "all" && !selectedProviderTargetIsPlaceholder;
|
|
30355
30340
|
const selectAllProviders = useCallback11(() => {
|
|
@@ -30359,7 +30344,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
|
30359
30344
|
if (fallbackTarget) {
|
|
30360
30345
|
onSelectConversationFilterTarget({
|
|
30361
30346
|
provider: fallbackTarget.provider,
|
|
30362
|
-
|
|
30347
|
+
agentTargetId: fallbackTarget.targetId
|
|
30363
30348
|
});
|
|
30364
30349
|
}
|
|
30365
30350
|
}
|
|
@@ -30375,7 +30360,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
|
30375
30360
|
(target) => {
|
|
30376
30361
|
onSelectConversationFilterTarget({
|
|
30377
30362
|
provider: target.provider,
|
|
30378
|
-
|
|
30363
|
+
agentTargetId: target.targetId
|
|
30379
30364
|
});
|
|
30380
30365
|
onRequestComposerFocus();
|
|
30381
30366
|
},
|
|
@@ -30452,7 +30437,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
|
30452
30437
|
"[data-provider-tile='true']"
|
|
30453
30438
|
)
|
|
30454
30439
|
).map((element) => {
|
|
30455
|
-
const targetId = element.dataset.
|
|
30440
|
+
const targetId = element.dataset.agentTargetId?.trim() ?? "";
|
|
30456
30441
|
if (!targetId || targetId === activeDragState.draggedTargetId) {
|
|
30457
30442
|
return null;
|
|
30458
30443
|
}
|
|
@@ -30518,7 +30503,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
|
30518
30503
|
)
|
|
30519
30504
|
);
|
|
30520
30505
|
const dropTargets = tileElements.map((element) => {
|
|
30521
|
-
const targetId = element.dataset.
|
|
30506
|
+
const targetId = element.dataset.agentTargetId?.trim() ?? "";
|
|
30522
30507
|
if (!targetId || targetId === activeDragState.draggedTargetId) {
|
|
30523
30508
|
return null;
|
|
30524
30509
|
}
|
|
@@ -30548,7 +30533,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
|
30548
30533
|
},
|
|
30549
30534
|
[dragState, previewMode, providerTargetsLoading, setProviderRailDragState]
|
|
30550
30535
|
);
|
|
30551
|
-
if (
|
|
30536
|
+
if (!providerTargetsLoading && visibleProviderTiles.length === 0 && renderProviderRailEmpty) {
|
|
30552
30537
|
return /* @__PURE__ */ jsx35(
|
|
30553
30538
|
"div",
|
|
30554
30539
|
{
|
|
@@ -30556,8 +30541,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
|
30556
30541
|
role: "tablist",
|
|
30557
30542
|
"aria-label": labels.providerSwitchLabel,
|
|
30558
30543
|
"aria-busy": providerTargetsLoading,
|
|
30559
|
-
"data-empty": "true"
|
|
30560
|
-
children: renderProviderRailEmpty()
|
|
30544
|
+
"data-empty": "true"
|
|
30561
30545
|
}
|
|
30562
30546
|
);
|
|
30563
30547
|
}
|
|
@@ -30571,29 +30555,31 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
|
30571
30555
|
onDragOver: handleProviderRailContainerDragOver,
|
|
30572
30556
|
onDrop: commitProviderRailDragDrop,
|
|
30573
30557
|
children: [
|
|
30574
|
-
/* @__PURE__ */ jsxs22(
|
|
30575
|
-
|
|
30576
|
-
|
|
30577
|
-
|
|
30578
|
-
|
|
30579
|
-
|
|
30580
|
-
|
|
30581
|
-
|
|
30582
|
-
|
|
30583
|
-
|
|
30584
|
-
|
|
30585
|
-
|
|
30586
|
-
|
|
30587
|
-
|
|
30588
|
-
|
|
30589
|
-
|
|
30590
|
-
|
|
30591
|
-
|
|
30592
|
-
|
|
30593
|
-
|
|
30594
|
-
|
|
30595
|
-
|
|
30596
|
-
|
|
30558
|
+
visibleProviderTiles.length > 1 ? /* @__PURE__ */ jsxs22(Fragment9, { children: [
|
|
30559
|
+
/* @__PURE__ */ jsxs22(
|
|
30560
|
+
"button",
|
|
30561
|
+
{
|
|
30562
|
+
type: "button",
|
|
30563
|
+
role: "tab",
|
|
30564
|
+
"aria-label": labels.conversationFilterAll,
|
|
30565
|
+
"aria-selected": allTileSelected,
|
|
30566
|
+
className: AgentGUINode_styles_default.providerRailTile,
|
|
30567
|
+
"data-selected": allTileSelected ? "true" : "false",
|
|
30568
|
+
disabled: previewMode,
|
|
30569
|
+
onClick: selectAllProviders,
|
|
30570
|
+
children: [
|
|
30571
|
+
/* @__PURE__ */ jsx35(
|
|
30572
|
+
AgentGUIUnifiedProviderIcon,
|
|
30573
|
+
{
|
|
30574
|
+
presentation: providerRailAllPresentation
|
|
30575
|
+
}
|
|
30576
|
+
),
|
|
30577
|
+
/* @__PURE__ */ jsx35("span", { className: AgentGUINode_styles_default.providerRailTileLabel, children: labels.conversationFilterAll })
|
|
30578
|
+
]
|
|
30579
|
+
}
|
|
30580
|
+
),
|
|
30581
|
+
/* @__PURE__ */ jsx35("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailSeparator })
|
|
30582
|
+
] }) : null,
|
|
30597
30583
|
providerTargetsLoading ? [0, 1, 2].map((index) => /* @__PURE__ */ jsx35(
|
|
30598
30584
|
"button",
|
|
30599
30585
|
{
|
|
@@ -30615,7 +30601,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
|
30615
30601
|
`provider-target-loading-${index}`
|
|
30616
30602
|
)) : null,
|
|
30617
30603
|
visibleProviderTiles.map((target) => {
|
|
30618
|
-
const providerSelected = target.disabled === true ? selectedProviderTarget?.provider === target.provider && selectedProviderTarget?.targetId === target.targetId : agentGUIProviderTargetMatchesConversationFilter(
|
|
30604
|
+
const providerSelected = visibleProviderTiles.length === 1 ? true : target.disabled === true ? selectedProviderTarget?.provider === target.provider && selectedProviderTarget?.targetId === target.targetId : agentGUIProviderTargetMatchesConversationFilter(
|
|
30619
30605
|
target,
|
|
30620
30606
|
conversationFilter
|
|
30621
30607
|
);
|
|
@@ -30640,7 +30626,7 @@ var AgentGUIProviderRail = memo3(function AgentGUIProviderRail2({
|
|
|
30640
30626
|
"data-drag-over": dragState?.overTargetId === target.targetId ? dragState.position : void 0,
|
|
30641
30627
|
"data-dragging": dragState?.draggedTargetId === target.targetId ? "true" : void 0,
|
|
30642
30628
|
"data-provider-tile": "true",
|
|
30643
|
-
"data-
|
|
30629
|
+
"data-agent-target-id": target.targetId,
|
|
30644
30630
|
"data-selected": providerSelected ? "true" : "false",
|
|
30645
30631
|
disabled: previewMode,
|
|
30646
30632
|
draggable: !previewMode && !providerTargetsLoading,
|
|
@@ -33391,10 +33377,7 @@ function resolveAgentGUIRailStatusProvider(input) {
|
|
|
33391
33377
|
return target ? target.provider : null;
|
|
33392
33378
|
}
|
|
33393
33379
|
function agentGuiStateEquals(left, right) {
|
|
33394
|
-
return left === right || left.provider === right.provider && (left.agentTargetId ?? null) === (right.agentTargetId ?? null) && (left.
|
|
33395
|
-
left.providerTargetRef,
|
|
33396
|
-
right.providerTargetRef
|
|
33397
|
-
) && left.lastActiveAgentSessionId === right.lastActiveAgentSessionId && (left.lastActiveConversationTitle ?? null) === (right.lastActiveConversationTitle ?? null) && left.conversationRailWidthPx === right.conversationRailWidthPx && left.conversationRailCollapsed === right.conversationRailCollapsed && (left.composerOverrides?.model ?? null) === (right.composerOverrides?.model ?? null) && (left.composerOverrides?.reasoningEffort ?? null) === (right.composerOverrides?.reasoningEffort ?? null) && (left.composerOverrides?.planMode ?? null) === (right.composerOverrides?.planMode ?? null) && (left.composerOverrides?.permissionModeId ?? null) === (right.composerOverrides?.permissionModeId ?? null) && composerOverridesByProviderEqual(
|
|
33380
|
+
return left === right || left.provider === right.provider && (left.agentTargetId ?? null) === (right.agentTargetId ?? null) && left.lastActiveAgentSessionId === right.lastActiveAgentSessionId && (left.lastActiveConversationTitle ?? null) === (right.lastActiveConversationTitle ?? null) && left.conversationRailWidthPx === right.conversationRailWidthPx && left.conversationRailCollapsed === right.conversationRailCollapsed && (left.composerOverrides?.model ?? null) === (right.composerOverrides?.model ?? null) && (left.composerOverrides?.reasoningEffort ?? null) === (right.composerOverrides?.reasoningEffort ?? null) && (left.composerOverrides?.planMode ?? null) === (right.composerOverrides?.planMode ?? null) && (left.composerOverrides?.permissionModeId ?? null) === (right.composerOverrides?.permissionModeId ?? null) && composerOverridesByProviderEqual(
|
|
33398
33381
|
left.composerOverridesByProvider,
|
|
33399
33382
|
right.composerOverridesByProvider
|
|
33400
33383
|
) && composerOverridesByAgentTargetIdEqual(
|
|
@@ -33432,7 +33415,7 @@ function composerOverridesByAgentTargetIdEqual(left, right) {
|
|
|
33432
33415
|
return true;
|
|
33433
33416
|
}
|
|
33434
33417
|
function areAgentGUINodePropsEqual(previous, next) {
|
|
33435
|
-
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.accountMenuState === next.accountMenuState && previous.
|
|
33418
|
+
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.accountMenuState === next.accountMenuState && previous.agents === next.agents && previous.agentsLoading === next.agentsLoading && previous.allAgentsPresentation?.iconUrl === next.allAgentsPresentation?.iconUrl && previous.slashCommandFallbackMode === next.slashCommandFallbackMode && previous.renderSidebarFooter === next.renderSidebarFooter && previous.renderAgentsEmpty === next.renderAgentsEmpty && previous.renderAgentUnavailableState === next.renderAgentUnavailableState && previous.renderAgentReadinessState === next.renderAgentReadinessState && previous.onAgentAvailabilityAction === next.onAgentAvailabilityAction && previous.defaultAgentTargetId === next.defaultAgentTargetId && 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.providerAuthAccountLabels === next.providerAuthAccountLabels && 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;
|
|
33436
33419
|
}
|
|
33437
33420
|
var AgentGUINode = memo4(function AgentGUINode2({
|
|
33438
33421
|
nodeId,
|
|
@@ -33460,18 +33443,16 @@ var AgentGUINode = memo4(function AgentGUINode2({
|
|
|
33460
33443
|
onCapabilitySettingsRequest,
|
|
33461
33444
|
onAgentProviderLogin,
|
|
33462
33445
|
accountMenuState = null,
|
|
33463
|
-
|
|
33464
|
-
|
|
33465
|
-
|
|
33446
|
+
agents = [],
|
|
33447
|
+
agentsLoading = false,
|
|
33448
|
+
allAgentsPresentation = null,
|
|
33466
33449
|
slashCommandFallbackMode = "provider-default",
|
|
33467
|
-
|
|
33468
|
-
|
|
33469
|
-
|
|
33470
|
-
|
|
33450
|
+
renderAgentsEmpty,
|
|
33451
|
+
renderAgentUnavailableState,
|
|
33452
|
+
renderAgentReadinessState,
|
|
33453
|
+
onAgentAvailabilityAction,
|
|
33471
33454
|
renderSidebarFooter,
|
|
33472
|
-
|
|
33473
|
-
providerReadinessGates = null,
|
|
33474
|
-
defaultProviderTargetId = null,
|
|
33455
|
+
defaultAgentTargetId = null,
|
|
33475
33456
|
onWorkspaceFileReferencesAdded,
|
|
33476
33457
|
onOpenConversationWindow,
|
|
33477
33458
|
onClose,
|
|
@@ -33508,6 +33489,67 @@ var AgentGUINode = memo4(function AgentGUINode2({
|
|
|
33508
33489
|
() => typeof i18n?.t === "function" ? createWorkspaceFileManagerI18nRuntime(i18n) : null,
|
|
33509
33490
|
[i18n]
|
|
33510
33491
|
);
|
|
33492
|
+
const normalizedAgents = useMemo12(
|
|
33493
|
+
() => normalizeAgentGUIAgents(agents),
|
|
33494
|
+
[agents]
|
|
33495
|
+
);
|
|
33496
|
+
const internalAgentTargets = useMemo12(
|
|
33497
|
+
() => projectAgentGUIAgentsToInternalTargets(normalizedAgents),
|
|
33498
|
+
[normalizedAgents]
|
|
33499
|
+
);
|
|
33500
|
+
const agentByTargetId = useMemo12(
|
|
33501
|
+
() => new Map(
|
|
33502
|
+
normalizedAgents.map((agent) => [agent.agentTargetId, agent])
|
|
33503
|
+
),
|
|
33504
|
+
[normalizedAgents]
|
|
33505
|
+
);
|
|
33506
|
+
const selectedDirectoryAgent = useMemo12(() => {
|
|
33507
|
+
const selectedAgentTargetId = state.agentTargetId?.trim() || defaultAgentTargetId?.trim() || "";
|
|
33508
|
+
return agentByTargetId.get(selectedAgentTargetId) ?? normalizedAgents[0] ?? null;
|
|
33509
|
+
}, [
|
|
33510
|
+
agentByTargetId,
|
|
33511
|
+
defaultAgentTargetId,
|
|
33512
|
+
normalizedAgents,
|
|
33513
|
+
state.agentTargetId
|
|
33514
|
+
]);
|
|
33515
|
+
const internalProviderReadinessGates = useMemo12(() => {
|
|
33516
|
+
if (!selectedDirectoryAgent || selectedDirectoryAgent.availability.status === "ready") {
|
|
33517
|
+
return {};
|
|
33518
|
+
}
|
|
33519
|
+
const agentTargetId = selectedDirectoryAgent.agentTargetId;
|
|
33520
|
+
return {
|
|
33521
|
+
[selectedDirectoryAgent.provider]: {
|
|
33522
|
+
status: selectedDirectoryAgent.availability.status,
|
|
33523
|
+
pendingAction: selectedDirectoryAgent.availability.pendingAction ?? null,
|
|
33524
|
+
onAction: (_provider, action) => {
|
|
33525
|
+
onAgentAvailabilityAction?.({ agentTargetId, action });
|
|
33526
|
+
}
|
|
33527
|
+
}
|
|
33528
|
+
};
|
|
33529
|
+
}, [onAgentAvailabilityAction, selectedDirectoryAgent]);
|
|
33530
|
+
const renderInternalAgentUnavailableState = useMemo12(() => {
|
|
33531
|
+
if (!renderAgentUnavailableState) {
|
|
33532
|
+
return void 0;
|
|
33533
|
+
}
|
|
33534
|
+
return ({ target }) => {
|
|
33535
|
+
const agentTargetId = target.agentTargetId?.trim() || target.targetId;
|
|
33536
|
+
const agent = agentByTargetId.get(agentTargetId);
|
|
33537
|
+
return agent ? renderAgentUnavailableState({ agent }) : null;
|
|
33538
|
+
};
|
|
33539
|
+
}, [agentByTargetId, renderAgentUnavailableState]);
|
|
33540
|
+
const renderInternalAgentReadinessState = useMemo12(() => {
|
|
33541
|
+
if (!renderAgentReadinessState) {
|
|
33542
|
+
return void 0;
|
|
33543
|
+
}
|
|
33544
|
+
return ({ target, showAllProviders }) => {
|
|
33545
|
+
const agentTargetId = target?.agentTargetId?.trim() || target?.targetId;
|
|
33546
|
+
const agent = agentTargetId ? agentByTargetId.get(agentTargetId) : selectedDirectoryAgent;
|
|
33547
|
+
return agent ? renderAgentReadinessState({
|
|
33548
|
+
agent,
|
|
33549
|
+
showAllAgents: showAllProviders
|
|
33550
|
+
}) : null;
|
|
33551
|
+
};
|
|
33552
|
+
}, [agentByTargetId, renderAgentReadinessState, selectedDirectoryAgent]);
|
|
33511
33553
|
const handleLinkAction = useCallback13(
|
|
33512
33554
|
(action) => {
|
|
33513
33555
|
const agentTargetId = state.agentTargetId?.trim() || null;
|
|
@@ -33632,12 +33674,10 @@ var AgentGUINode = memo4(function AgentGUINode2({
|
|
|
33632
33674
|
data: state,
|
|
33633
33675
|
openSessionRequest,
|
|
33634
33676
|
prefillPromptRequest,
|
|
33635
|
-
providerTargets,
|
|
33636
|
-
providerTargetsLoading,
|
|
33637
|
-
|
|
33638
|
-
|
|
33639
|
-
providerReadinessGates,
|
|
33640
|
-
defaultProviderTargetId,
|
|
33677
|
+
providerTargets: internalAgentTargets,
|
|
33678
|
+
providerTargetsLoading: agentsLoading,
|
|
33679
|
+
providerReadinessGates: internalProviderReadinessGates,
|
|
33680
|
+
defaultAgentTargetId,
|
|
33641
33681
|
previewMode,
|
|
33642
33682
|
onDataChange: handleDataChange,
|
|
33643
33683
|
onRememberComposerDefaults,
|
|
@@ -33895,6 +33935,7 @@ var AgentGUINode = memo4(function AgentGUINode2({
|
|
|
33895
33935
|
planImplementationSend: t("agentHost.agentGui.planImplementationSend"),
|
|
33896
33936
|
planImplementationSkip: t("agentHost.agentGui.planImplementationSkip"),
|
|
33897
33937
|
noRunningResponse: t("agentHost.agentGui.noRunningResponse"),
|
|
33938
|
+
agentsEmpty: t("agentHost.agentGui.agentsEmpty"),
|
|
33898
33939
|
empty: t("agentHost.agentGui.empty", { provider: displayProviderLabel }),
|
|
33899
33940
|
homeSuggestions: buildAgentHomeSuggestions(
|
|
33900
33941
|
t,
|
|
@@ -34519,10 +34560,10 @@ var AgentGUINode = memo4(function AgentGUINode2({
|
|
|
34519
34560
|
{
|
|
34520
34561
|
viewModel,
|
|
34521
34562
|
renderSidebarFooter,
|
|
34522
|
-
renderProviderRailEmpty,
|
|
34523
|
-
renderProviderUnavailableState,
|
|
34524
|
-
renderProviderReadinessGateState,
|
|
34525
|
-
providerRailAllPresentation,
|
|
34563
|
+
renderProviderRailEmpty: renderAgentsEmpty,
|
|
34564
|
+
renderProviderUnavailableState: renderInternalAgentUnavailableState,
|
|
34565
|
+
renderProviderReadinessGateState: renderInternalAgentReadinessState,
|
|
34566
|
+
providerRailAllPresentation: allAgentsPresentation,
|
|
34526
34567
|
slashCommandFallbackMode,
|
|
34527
34568
|
actions: viewActions,
|
|
34528
34569
|
isActive,
|
|
@@ -34617,7 +34658,6 @@ export {
|
|
|
34617
34658
|
AgentGuiI18nProvider,
|
|
34618
34659
|
AgentQueuedPromptRuntimeProvider,
|
|
34619
34660
|
agentActivityRuntimeCapabilityEnabled,
|
|
34620
|
-
agentGUIDefaultTargetProviders,
|
|
34621
34661
|
agentGuiDockIconUrl,
|
|
34622
34662
|
agentGuiDockIconUrls,
|
|
34623
34663
|
agentGuiI18nModule,
|
|
@@ -34625,15 +34665,10 @@ export {
|
|
|
34625
34665
|
agentHostSnapshotFromAgentActivitySnapshot,
|
|
34626
34666
|
buildAgentActivitySnapshotProjection,
|
|
34627
34667
|
createAgentQueuedPromptRuntime,
|
|
34628
|
-
createLocalAgentGUIProviderTarget,
|
|
34629
|
-
createLocalAgentGUIProviderTargets,
|
|
34630
|
-
createSharedAgentGUIProviderTarget,
|
|
34631
34668
|
getAgentActivityRuntime,
|
|
34632
34669
|
getAgentCustomMentionKind,
|
|
34633
34670
|
getOptionalAgentActivityRuntime,
|
|
34634
|
-
|
|
34635
|
-
localAgentGUIProviderTargetId,
|
|
34636
|
-
normalizeAgentGUIProviderTargets,
|
|
34671
|
+
normalizeAgentGUIAgents,
|
|
34637
34672
|
preloadAgentMentionBrowse,
|
|
34638
34673
|
projectCoreSessionStatus,
|
|
34639
34674
|
registerAgentCustomMentionKind,
|
|
@@ -34641,7 +34676,6 @@ export {
|
|
|
34641
34676
|
resetAgentCustomMentionKindsForTests,
|
|
34642
34677
|
resetAgentQueuedPromptRuntimeForTests,
|
|
34643
34678
|
resolveAgentGUIExpandedWindowFrame,
|
|
34644
|
-
resolveAgentGUIProviderTarget,
|
|
34645
34679
|
selectNeedsAttentionCount2 as selectNeedsAttentionCount,
|
|
34646
34680
|
selectNeedsAttentionItems2 as selectNeedsAttentionItems,
|
|
34647
34681
|
setAgentActivityRuntimeForTests,
|