@tutti-os/agent-gui 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-message-center/index.js +3 -2
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/app/renderer/agentactivity.css +7 -0
- package/dist/app/renderer/assets/icons/arrow-left-filled.svg +1 -0
- package/dist/{chunk-RORLLV27.js → chunk-3735XYFZ.js} +2 -40
- package/dist/chunk-3735XYFZ.js.map +1 -0
- package/dist/{chunk-IVPB4MLI.js → chunk-6AZ2KF6R.js} +1 -1
- package/dist/chunk-6AZ2KF6R.js.map +1 -0
- package/dist/{chunk-UKQIGNN3.js → chunk-7ICAFTA2.js} +2 -2
- package/dist/{chunk-HSR5DI6O.js → chunk-BHCCGKOP.js} +3 -1
- package/dist/chunk-BHCCGKOP.js.map +1 -0
- package/dist/{chunk-ZX5PDYAS.js → chunk-C63Z2JWT.js} +8 -10
- package/dist/chunk-C63Z2JWT.js.map +1 -0
- package/dist/chunk-F55LU7IJ.js +3470 -0
- package/dist/chunk-F55LU7IJ.js.map +1 -0
- package/dist/{chunk-ZP7P7DYO.js → chunk-GEXHKJK5.js} +6 -47
- package/dist/chunk-GEXHKJK5.js.map +1 -0
- package/dist/{chunk-UJWUGMWC.js → chunk-GYG57VTA.js} +17 -32
- package/dist/{chunk-UJWUGMWC.js.map → chunk-GYG57VTA.js.map} +1 -1
- package/dist/{chunk-BABBC24I.js → chunk-LUGELG5V.js} +4 -1
- package/dist/chunk-LUGELG5V.js.map +1 -0
- package/dist/chunk-ZU3FKYMG.js +47 -0
- package/dist/chunk-ZU3FKYMG.js.map +1 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.js +1 -1
- package/dist/index.d.ts +2 -11
- package/dist/index.js +120 -28
- package/dist/index.js.map +1 -1
- package/dist/mention-file-presentation.d.ts +2 -1
- package/dist/mention-file-presentation.js +1 -1
- package/dist/workbench/contribution.js +6 -5
- package/dist/workbench/index.d.ts +1 -1
- package/dist/workbench/index.js +6 -5
- package/dist/workbench/launch.d.ts +1 -7
- package/dist/workbench/launch.js +2 -2
- package/dist/workbench/state.js +1 -1
- package/dist/workbench/types.d.ts +1 -12
- package/dist/workbench/types.js +1 -1
- package/dist/workspace-agent-generated-files.js +2 -2
- package/package.json +10 -10
- package/dist/chunk-5Q36BEUM.js +0 -3478
- package/dist/chunk-5Q36BEUM.js.map +0 -1
- package/dist/chunk-BABBC24I.js.map +0 -1
- package/dist/chunk-HSR5DI6O.js.map +0 -1
- package/dist/chunk-IVPB4MLI.js.map +0 -1
- package/dist/chunk-RORLLV27.js.map +0 -1
- package/dist/chunk-ZP7P7DYO.js.map +0 -1
- package/dist/chunk-ZX5PDYAS.js.map +0 -1
- package/dist/user-avatar-placeholder-WP2373TS.png +0 -0
- /package/dist/{chunk-UKQIGNN3.js.map → chunk-7ICAFTA2.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../managedAgentIconAssets.ts"],"sourcesContent":["import claudeRoundedAssetUrl from \"./app/renderer/assets/icons/agents/claude-rounded.png\";\nimport codexRoundedAssetUrl from \"./app/renderer/assets/icons/agents/codex-rounded.png\";\nimport geminiRoundedAssetUrl from \"./app/renderer/assets/icons/agents/gemini-rounded.png\";\nimport hermesRoundedAssetUrl from \"./app/renderer/assets/icons/agents/hermes-rounded.png\";\nimport manageAgentNextopAssetUrl from \"./app/renderer/assets/icons/agents/manage-agent-nextop.png\";\nimport openclawRoundedAssetUrl from \"./app/renderer/assets/icons/agents/openclaw-rounded.png\";\n\nexport const manageAgentClaudeCodeUrl = claudeRoundedAssetUrl;\nexport const manageAgentCodexUrl = codexRoundedAssetUrl;\nexport const manageAgentGeminiUrl = geminiRoundedAssetUrl;\nexport const manageAgentHermesUrl = hermesRoundedAssetUrl;\nexport const manageAgentNextopUrl = manageAgentNextopAssetUrl;\nexport const manageAgentOpenclawUrl = openclawRoundedAssetUrl;\nexport const claudeRoundedUrl = claudeRoundedAssetUrl;\nexport const codexRoundedUrl = codexRoundedAssetUrl;\nexport const geminiRoundedUrl = geminiRoundedAssetUrl;\nexport const hermesRoundedUrl = hermesRoundedAssetUrl;\nexport const nextopDocRoundedUrl = manageAgentNextopAssetUrl;\nexport const openclawRoundedUrl = openclawRoundedAssetUrl;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAOO,IAAM,2BAA2B;AACjC,IAAM,sBAAsB;AAC5B,IAAM,uBAAuB;AAC7B,IAAM,uBAAuB;AAC7B,IAAM,uBAAuB;AAC7B,IAAM,yBAAyB;AAC/B,IAAM,mBAAmB;AACzB,IAAM,kBAAkB;AACxB,IAAM,mBAAmB;AACzB,IAAM,mBAAmB;AACzB,IAAM,sBAAsB;AAC5B,IAAM,qBAAqB;","names":[]}
|
package/dist/i18n/index.d.ts
CHANGED
|
@@ -1454,6 +1454,7 @@ declare const agentGuiI18nResources: {
|
|
|
1454
1454
|
readonly taskCompletedCount: "{{count}} completed";
|
|
1455
1455
|
readonly issueStatusNotStarted: "To run";
|
|
1456
1456
|
readonly issueStatusRunning: "Running";
|
|
1457
|
+
readonly issueStatusInProgress: "Progress started";
|
|
1457
1458
|
readonly issueStatusPendingAcceptance: "Pending acceptance";
|
|
1458
1459
|
readonly issueStatusCompleted: "Completed";
|
|
1459
1460
|
readonly issueStatusFailed: "Failed";
|
|
@@ -3729,6 +3730,7 @@ declare const agentGuiI18nResources: {
|
|
|
3729
3730
|
readonly taskCompletedCount: "{{count}} 个已完成";
|
|
3730
3731
|
readonly issueStatusNotStarted: "未启动";
|
|
3731
3732
|
readonly issueStatusRunning: "执行中";
|
|
3733
|
+
readonly issueStatusInProgress: "已推进";
|
|
3732
3734
|
readonly issueStatusPendingAcceptance: "待验收";
|
|
3733
3735
|
readonly issueStatusCompleted: "已完成";
|
|
3734
3736
|
readonly issueStatusFailed: "失败";
|
package/dist/i18n/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AgentActivityNeedsAttentionItem, AgentActivitySnapshot, AgentActivityCancelSessionInput,
|
|
1
|
+
import { AgentActivityNeedsAttentionItem, AgentActivitySnapshot, AgentActivityCancelSessionInput, AgentActivityCancelSessionResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivityMessageOrder, AgentActivityMessagePage, AgentActivitySubmitInteractiveInput, AgentActivitySnapshotListener } from '@tutti-os/agent-activity-core';
|
|
2
2
|
export { AgentActivityAdapter, AgentActivityController, AgentActivityMessage, AgentActivityNeedsAttentionItem, AgentActivitySnapshot, selectNeedsAttentionCount, selectNeedsAttentionItems } from '@tutti-os/agent-activity-core';
|
|
3
3
|
import { m as WorkspaceAgentActivityListViewModel, g as AgentHostWorkspaceAgentSession, f as AgentHostWorkspaceAgentMessage, l as AgentHostWorkspaceAgentSnapshot, B as BuildWorkspaceAgentActivityListOptions, d as AgentHostRuntimeOpenclawGatewayWarmupResult, A as AgentHostBatchUserInfoInput, a as AgentHostBatchUserInfoResult, b as AgentHostDeleteWorkspaceAgentSessionInput, k as AgentHostWorkspaceAgentSessionSummaryInput, j as AgentHostWorkspaceAgentSessionSummary, e as AgentHostWorkspaceAgentListInput, i as AgentHostWorkspaceAgentSessionMessagesInput, h as AgentHostWorkspaceAgentSessionMessages, c as AgentHostManagedAgentsState } from './workspaceAgentActivityListViewModel-PvLQDj60.js';
|
|
4
4
|
import { PropsWithChildren, JSX } from 'react';
|
|
@@ -264,7 +264,7 @@ interface AgentActivityRuntimeSessionAttachment {
|
|
|
264
264
|
data: string;
|
|
265
265
|
}
|
|
266
266
|
interface AgentActivityRuntime {
|
|
267
|
-
cancelSession(input: AgentActivityCancelSessionInput): Promise<
|
|
267
|
+
cancelSession(input: AgentActivityCancelSessionInput): Promise<AgentActivityCancelSessionResult>;
|
|
268
268
|
createSession(input: AgentActivityCreateSessionInput): Promise<AgentActivitySession>;
|
|
269
269
|
deleteSession(input: AgentActivityDeleteSessionInput): Promise<AgentActivityDeleteSessionResult>;
|
|
270
270
|
activateSession(input: AgentActivityRuntimeActivateSessionInput): Promise<AgentHostActivateAgentSessionResult>;
|
|
@@ -635,15 +635,6 @@ interface AgentSettings {
|
|
|
635
635
|
interface AgentGUINodeData {
|
|
636
636
|
provider: AgentGUIProvider;
|
|
637
637
|
lastActiveAgentSessionId: string | null;
|
|
638
|
-
pendingHandoff?: {
|
|
639
|
-
requestId: string;
|
|
640
|
-
title: string;
|
|
641
|
-
prompt: string;
|
|
642
|
-
taskId?: string | null;
|
|
643
|
-
issueId?: string | null;
|
|
644
|
-
taskTitle: string;
|
|
645
|
-
issueTitle?: string | null;
|
|
646
|
-
} | null;
|
|
647
638
|
lastActiveConversationTitle?: string | null;
|
|
648
639
|
conversationCount?: number | null;
|
|
649
640
|
conversationRailWidthPx?: number | null;
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
mergeWorkspaceAgentActivityDurableAndOverlayMessages,
|
|
8
8
|
normalizeOptionalWorkspaceAgentStatus,
|
|
9
9
|
selectWorkspaceAgentActivityOverlayMessages
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-7ICAFTA2.js";
|
|
11
11
|
import {
|
|
12
12
|
AgentActivityHostProvider,
|
|
13
13
|
AgentActivityRuntimeProvider,
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
useOptionalAgentHostApi,
|
|
40
40
|
user_avatar_placeholder_default,
|
|
41
41
|
workspaceAgentActivityStatusLabel
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-F55LU7IJ.js";
|
|
43
43
|
import {
|
|
44
44
|
resolveWorkspaceAgentSessionSortTimeUnixMs,
|
|
45
45
|
workspaceAgentProviderLabel
|
|
@@ -57,11 +57,11 @@ import {
|
|
|
57
57
|
getActiveUiLanguage,
|
|
58
58
|
translate,
|
|
59
59
|
useTranslation
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-BHCCGKOP.js";
|
|
61
61
|
import {
|
|
62
62
|
resolveAgentMentionFileThumbnailUrl,
|
|
63
63
|
resolveAgentMentionFileVisualKind
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-LUGELG5V.js";
|
|
65
65
|
import "./chunk-PJP5BUU6.js";
|
|
66
66
|
import {
|
|
67
67
|
AGENT_GUI_COLLAPSED_MIN_WIDTH_PX,
|
|
@@ -74,7 +74,8 @@ import {
|
|
|
74
74
|
resolveAgentGUIExpandedWindowFrame,
|
|
75
75
|
resolveNextAgentGUIConversationRailWidthPx,
|
|
76
76
|
shouldAutoCollapseAgentGUIConversationRail
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-GYG57VTA.js";
|
|
78
|
+
import "./chunk-ZU3FKYMG.js";
|
|
78
79
|
|
|
79
80
|
// shared/agentActivitySnapshotProjection.ts
|
|
80
81
|
import {
|
|
@@ -237,7 +238,7 @@ function agentHostTurnPhaseFromCore(status) {
|
|
|
237
238
|
import { TooltipProvider as TooltipProvider3 } from "@tutti-os/ui-system";
|
|
238
239
|
|
|
239
240
|
// agent-gui/agentGuiNode/AgentGUINode.tsx
|
|
240
|
-
import { memo as memo6, useCallback as useCallback20, useEffect as useEffect23, useMemo as useMemo16
|
|
241
|
+
import { memo as memo6, useCallback as useCallback20, useEffect as useEffect23, useMemo as useMemo16 } from "react";
|
|
241
242
|
import { createWorkspaceUserProjectI18nRuntime } from "@tutti-os/workspace-user-project/i18n";
|
|
242
243
|
|
|
243
244
|
// shared/errors/appError.ts
|
|
@@ -11263,6 +11264,68 @@ function reportAgentGUIRuntimeError(input) {
|
|
|
11263
11264
|
} catch {
|
|
11264
11265
|
}
|
|
11265
11266
|
}
|
|
11267
|
+
function reportAgentGUICancelDiagnostic(input) {
|
|
11268
|
+
if (input.result.canceled) {
|
|
11269
|
+
return;
|
|
11270
|
+
}
|
|
11271
|
+
const reportDiagnostic = input.runtime.reportDiagnostic;
|
|
11272
|
+
if (!reportDiagnostic) {
|
|
11273
|
+
return;
|
|
11274
|
+
}
|
|
11275
|
+
try {
|
|
11276
|
+
void Promise.resolve(
|
|
11277
|
+
reportDiagnostic.call(input.runtime, {
|
|
11278
|
+
details: {
|
|
11279
|
+
agentSessionId: input.agentSessionId,
|
|
11280
|
+
busySource: input.busySource ?? "unknown",
|
|
11281
|
+
canceled: input.result.canceled,
|
|
11282
|
+
cancelReason: input.result.reason,
|
|
11283
|
+
currentSessionStatus: input.currentSessionStatus ?? null,
|
|
11284
|
+
phase: input.phase,
|
|
11285
|
+
provider: input.provider ?? null,
|
|
11286
|
+
returnedSessionNonBusy: cancelResultSessionStatusIsNonBusy(
|
|
11287
|
+
input.result
|
|
11288
|
+
),
|
|
11289
|
+
returnedSessionStatus: input.result.session.status
|
|
11290
|
+
},
|
|
11291
|
+
event: "agent.gui.cancel.noop",
|
|
11292
|
+
level: "info",
|
|
11293
|
+
source: "agent-gui",
|
|
11294
|
+
workspaceId: input.workspaceId
|
|
11295
|
+
})
|
|
11296
|
+
).catch(() => {
|
|
11297
|
+
});
|
|
11298
|
+
} catch {
|
|
11299
|
+
}
|
|
11300
|
+
}
|
|
11301
|
+
function cancelResultSessionStatusIsNonBusy(result) {
|
|
11302
|
+
const status = normalizeOptionalWorkspaceAgentStatus({
|
|
11303
|
+
currentPhase: result.session.currentPhase,
|
|
11304
|
+
status: result.session.status
|
|
11305
|
+
});
|
|
11306
|
+
return status !== null && status.kind !== "working" && status.kind !== "waiting";
|
|
11307
|
+
}
|
|
11308
|
+
function cancelBusySource(input) {
|
|
11309
|
+
if (input.hasActivePrompt) {
|
|
11310
|
+
return "interactive_prompt";
|
|
11311
|
+
}
|
|
11312
|
+
if (agentSessionStatusBusy({
|
|
11313
|
+
status: input.conversationStatus ?? void 0
|
|
11314
|
+
})) {
|
|
11315
|
+
return "conversation_status";
|
|
11316
|
+
}
|
|
11317
|
+
if (agentSessionStatusBusy({
|
|
11318
|
+
status: input.runtimeSessionStatus ?? void 0
|
|
11319
|
+
})) {
|
|
11320
|
+
return "runtime_session";
|
|
11321
|
+
}
|
|
11322
|
+
if (agentSessionStatusBusy({
|
|
11323
|
+
status: input.sessionStateStatus ?? void 0
|
|
11324
|
+
})) {
|
|
11325
|
+
return "session_state";
|
|
11326
|
+
}
|
|
11327
|
+
return "unknown";
|
|
11328
|
+
}
|
|
11266
11329
|
function normalizeAgentGUIDiagnosticError(error) {
|
|
11267
11330
|
const record = error && typeof error === "object" ? error : null;
|
|
11268
11331
|
const appErrorCode = getAgentGUIErrorCode(error);
|
|
@@ -14803,6 +14866,27 @@ function useAgentGUINodeController({
|
|
|
14803
14866
|
if (!result || !isCurrentConversation(agentSessionId)) {
|
|
14804
14867
|
return;
|
|
14805
14868
|
}
|
|
14869
|
+
const conversationStatus = resolveConversationSummaryById(
|
|
14870
|
+
conversations,
|
|
14871
|
+
agentSessionId,
|
|
14872
|
+
transientConversationRef.current
|
|
14873
|
+
)?.status ?? null;
|
|
14874
|
+
const runtimeSessionStatus = runtimeSessionsBySessionId.get(agentSessionId)?.status ?? null;
|
|
14875
|
+
reportAgentGUICancelDiagnostic({
|
|
14876
|
+
agentSessionId,
|
|
14877
|
+
busySource: cancelBusySource({
|
|
14878
|
+
conversationStatus,
|
|
14879
|
+
hasActivePrompt: activePendingPrompt?.sessionId === agentSessionId,
|
|
14880
|
+
runtimeSessionStatus,
|
|
14881
|
+
sessionStateStatus: activeSessionState?.status ?? null
|
|
14882
|
+
}),
|
|
14883
|
+
currentSessionStatus: activeSessionState?.status ?? runtimeSessionStatus,
|
|
14884
|
+
phase: "interrupt_current_turn",
|
|
14885
|
+
provider: dataRef.current.provider,
|
|
14886
|
+
result,
|
|
14887
|
+
runtime: agentActivityRuntime,
|
|
14888
|
+
workspaceId
|
|
14889
|
+
});
|
|
14806
14890
|
void refreshMessagesFromSnapshot(agentSessionId);
|
|
14807
14891
|
void loadSessionState(agentSessionId);
|
|
14808
14892
|
void syncConversationListProjection(agentSessionId);
|
|
@@ -14843,6 +14927,9 @@ function useAgentGUINodeController({
|
|
|
14843
14927
|
syncConversationListProjection,
|
|
14844
14928
|
loadSessionState,
|
|
14845
14929
|
refreshMessagesFromSnapshot,
|
|
14930
|
+
conversations,
|
|
14931
|
+
runtimeSessionsBySessionId,
|
|
14932
|
+
activeSessionState,
|
|
14846
14933
|
workspaceId,
|
|
14847
14934
|
agentActivityRuntime
|
|
14848
14935
|
]
|
|
@@ -15177,6 +15264,21 @@ function useAgentGUINodeController({
|
|
|
15177
15264
|
if (!result || !isCurrentConversation(activeConversationId)) {
|
|
15178
15265
|
return;
|
|
15179
15266
|
}
|
|
15267
|
+
reportAgentGUICancelDiagnostic({
|
|
15268
|
+
agentSessionId: activeConversationId,
|
|
15269
|
+
busySource: cancelBusySource({
|
|
15270
|
+
conversationStatus: activeConversationSummary?.status ?? null,
|
|
15271
|
+
hasActivePrompt: false,
|
|
15272
|
+
runtimeSessionStatus: runtimeSessionsBySessionId.get(activeConversationId)?.status ?? null,
|
|
15273
|
+
sessionStateStatus: activeSessionState2?.status ?? null
|
|
15274
|
+
}),
|
|
15275
|
+
currentSessionStatus: activeSessionState2?.status ?? null,
|
|
15276
|
+
phase: "drain_queued_prompt_interrupt",
|
|
15277
|
+
provider: dataRef.current.provider,
|
|
15278
|
+
result,
|
|
15279
|
+
runtime: agentActivityRuntime,
|
|
15280
|
+
workspaceId
|
|
15281
|
+
});
|
|
15180
15282
|
void refreshMessagesFromSnapshot(activeConversationId);
|
|
15181
15283
|
void loadSessionState(activeConversationId);
|
|
15182
15284
|
void syncConversationListProjection(activeConversationId);
|
|
@@ -15213,6 +15315,7 @@ function useAgentGUINodeController({
|
|
|
15213
15315
|
loadSessionState,
|
|
15214
15316
|
refreshMessagesFromSnapshot,
|
|
15215
15317
|
queuedPromptsBySessionId,
|
|
15318
|
+
runtimeSessionsBySessionId,
|
|
15216
15319
|
workspaceId,
|
|
15217
15320
|
sessionViewRef,
|
|
15218
15321
|
sendNextQueuedPromptIdBySessionId,
|
|
@@ -27798,6 +27901,8 @@ function roomIssueStatusLabel(status, t) {
|
|
|
27798
27901
|
return translateFn("agentHost.roomIssueNode.issueStatusNotStarted");
|
|
27799
27902
|
case "running":
|
|
27800
27903
|
return translateFn("agentHost.roomIssueNode.issueStatusRunning");
|
|
27904
|
+
case "in_progress":
|
|
27905
|
+
return translateFn("agentHost.roomIssueNode.issueStatusInProgress");
|
|
27801
27906
|
case "pending_acceptance":
|
|
27802
27907
|
return translateFn(
|
|
27803
27908
|
"agentHost.roomIssueNode.issueStatusPendingAcceptance"
|
|
@@ -28514,7 +28619,13 @@ function shouldRenderMentionGroupLabel(input) {
|
|
|
28514
28619
|
}
|
|
28515
28620
|
function renderMentionRow(item) {
|
|
28516
28621
|
if (item.kind === "file") {
|
|
28517
|
-
const visualKind = resolveAgentMentionFileVisualKind(
|
|
28622
|
+
const visualKind = resolveAgentMentionFileVisualKind({
|
|
28623
|
+
entryKind: item.entryKind,
|
|
28624
|
+
href: item.href,
|
|
28625
|
+
mentionNavigation: item.mentionNavigation,
|
|
28626
|
+
name: item.name,
|
|
28627
|
+
path: item.path
|
|
28628
|
+
});
|
|
28518
28629
|
const childCountLabel = item.mentionNavigation === "agent-generated-folder" && typeof item.childCount === "number" && item.childCount > 0 ? translate("agentHost.agentGui.mentionAgentGeneratedFolderFileCount", {
|
|
28519
28630
|
count: item.childCount
|
|
28520
28631
|
}) : null;
|
|
@@ -28526,6 +28637,7 @@ function renderMentionRow(item) {
|
|
|
28526
28637
|
"data-agent-mention-kind": "file",
|
|
28527
28638
|
"data-agent-file-entry-kind": item.entryKind,
|
|
28528
28639
|
"data-agent-file-visual-kind": visualKind,
|
|
28640
|
+
...item.mentionNavigation ? { "data-agent-mention-navigation": item.mentionNavigation } : {},
|
|
28529
28641
|
children: [
|
|
28530
28642
|
/* @__PURE__ */ jsx82(MentionFileIcon, { item, visualKind }),
|
|
28531
28643
|
/* @__PURE__ */ jsxs53("span", { className: "flex min-w-0 items-baseline gap-1 overflow-hidden", children: [
|
|
@@ -33573,7 +33685,7 @@ function normalizeSlashStatusModelName(value) {
|
|
|
33573
33685
|
return value?.trim().toLowerCase().replace(/[^a-z0-9]+/gu, "-").replace(/^-+|-+$/gu, "") ?? "";
|
|
33574
33686
|
}
|
|
33575
33687
|
function agentGuiStateEquals(left, right) {
|
|
33576
|
-
return left === right || left.provider === right.provider && left.lastActiveAgentSessionId === right.lastActiveAgentSessionId &&
|
|
33688
|
+
return left === right || left.provider === right.provider && left.lastActiveAgentSessionId === right.lastActiveAgentSessionId && left.lastActiveConversationTitle === right.lastActiveConversationTitle && 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(
|
|
33577
33689
|
left.composerOverridesByProvider,
|
|
33578
33690
|
right.composerOverridesByProvider
|
|
33579
33691
|
);
|
|
@@ -33640,7 +33752,6 @@ var AgentGUINode = memo6(function AgentGUINode2({
|
|
|
33640
33752
|
() => createWorkspaceUserProjectI18nRuntime(i18n),
|
|
33641
33753
|
[i18n]
|
|
33642
33754
|
);
|
|
33643
|
-
const handledHandoffRequestIdRef = useRef22(null);
|
|
33644
33755
|
const handleLinkAction = useCallback20(
|
|
33645
33756
|
(action) => {
|
|
33646
33757
|
onLinkAction?.(
|
|
@@ -33752,25 +33863,6 @@ var AgentGUINode = memo6(function AgentGUINode2({
|
|
|
33752
33863
|
onDataChange: handleDataChange,
|
|
33753
33864
|
onShowMessage
|
|
33754
33865
|
});
|
|
33755
|
-
useEffect23(() => {
|
|
33756
|
-
const pendingHandoff = state.pendingHandoff;
|
|
33757
|
-
const requestId = pendingHandoff?.requestId?.trim() ?? "";
|
|
33758
|
-
const prompt = pendingHandoff?.prompt?.trim() ?? "";
|
|
33759
|
-
if (!requestId || !prompt || handledHandoffRequestIdRef.current === requestId) {
|
|
33760
|
-
return;
|
|
33761
|
-
}
|
|
33762
|
-
handledHandoffRequestIdRef.current = requestId;
|
|
33763
|
-
actions.createConversation();
|
|
33764
|
-
actions.updateDraftPrompt(prompt);
|
|
33765
|
-
onUpdateNode(
|
|
33766
|
-
(current) => current.pendingHandoff?.requestId === requestId ? { ...current, pendingHandoff: null } : current
|
|
33767
|
-
);
|
|
33768
|
-
}, [
|
|
33769
|
-
actions.createConversation,
|
|
33770
|
-
actions.updateDraftPrompt,
|
|
33771
|
-
onUpdateNode,
|
|
33772
|
-
state.pendingHandoff
|
|
33773
|
-
]);
|
|
33774
33866
|
const fallbackAgentTitle = t("sidebar.fallbackAgentLabel");
|
|
33775
33867
|
const activeProvider = viewModel.activeConversation?.provider ?? state.provider;
|
|
33776
33868
|
const displayProviderLabel = resolveAgentGUIProviderDisplayLabel(
|