@tutti-os/agent-gui 0.0.70 → 0.0.71

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 CHANGED
@@ -98,3 +98,7 @@ If `providerTargets` is omitted or empty, AgentGUI creates local targets such as
98
98
  `local:codex` and `local:claude-code` from the static provider catalog for
99
99
  display/backward compatibility. Those static catalog targets are not persisted
100
100
  or sent as session creation authority.
101
+
102
+ Hosts that need to brand the aggregate provider rail entry may pass
103
+ `providerRailAllPresentation.iconUrl`. This only changes the `All` filter icon;
104
+ single agent or target icons continue to come from `providerTargets[].iconUrl`.
@@ -4,11 +4,11 @@ import { W as WorkspaceLinkAction } from '../workspaceLinkActions-Bjy_XfBm.js';
4
4
  import { A as AgentMessageMarkdownWorkspaceAppIcon } from '../AgentMessageMarkdown-DeYPURtF.js';
5
5
  import { c as AgentConversationVM, W as WorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-DPAgUJlR.js';
6
6
  export { B as BuildWorkspaceAgentSessionDetailInput, d as buildWorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-DPAgUJlR.js';
7
- import { c as AgentGUIProviderSkillOption } from '../agentGuiNodeTypes-CmLUy5Jt.js';
7
+ import { c as AgentGUIProviderSkillOption } from '../agentGuiNodeTypes-C0oBQn-F.js';
8
8
  export { W as WorkspaceAgentActivityCard, n as WorkspaceAgentActivitySession, q as WorkspaceAgentActivityTimelineItem } from '../workspaceAgentActivityListViewModel-DJvAqZso.js';
9
9
  import '@tutti-os/workspace-issue-manager/core';
10
10
  import '@tutti-os/agent-activity-core';
11
- import '../types-DZ79b8Zn.js';
11
+ import '../types-CrwMqBm1.js';
12
12
  import '@tutti-os/workspace-user-project/contracts';
13
13
 
14
14
  interface AgentConversationFlowProps {
@@ -1,5 +1,5 @@
1
1
  import { AgentActivityUsage } from '@tutti-os/agent-activity-core';
2
- import { j as AgentHostAgentSessionCommand, k as AgentHostAgentSessionComposerSettings, m as AgentHostAgentSessionReasoningEffort, n as AgentHostAgentSessionSpeed, l as AgentHostAgentSessionPermissionConfig, o as AgentHostAgentSessionState, a as AgentGUIProvider, r as AgentPromptContentBlock, A as AgentGUINodeData, f as AgentGUIProviderTarget, b as AgentGUIProviderRailMode, c as AgentGUIProviderReadinessGate } from './types-DZ79b8Zn.js';
2
+ import { k as AgentHostAgentSessionCommand, l as AgentHostAgentSessionComposerSettings, n as AgentHostAgentSessionReasoningEffort, o as AgentHostAgentSessionSpeed, m as AgentHostAgentSessionPermissionConfig, p as AgentHostAgentSessionState, a as AgentGUIProvider, s as AgentPromptContentBlock, A as AgentGUINodeData, g as AgentGUIProviderTarget, c as AgentGUIProviderRailMode, d as AgentGUIProviderReadinessGate } from './types-CrwMqBm1.js';
3
3
  import { A as AgentHostBatchUserInfoInput, a as AgentHostBatchUserInfoResult, b as AgentHostDeleteWorkspaceAgentSessionInput, k as AgentHostWorkspaceAgentSessionSummaryInput, j as AgentHostWorkspaceAgentSessionSummary, e as AgentHostWorkspaceAgentListInput, l as AgentHostWorkspaceAgentSnapshot, i as AgentHostWorkspaceAgentSessionMessagesInput, h as AgentHostWorkspaceAgentSessionMessages, p as WorkspaceAgentActivitySyncState } from './workspaceAgentActivityListViewModel-DJvAqZso.js';
4
4
  import { A as AgentApprovalItemVM, a as AgentAskUserQuestionVM, b as AgentConversationPromptVM, c as AgentConversationVM, W as WorkspaceAgentSessionDetailViewModel } from './agentConversationVM-DPAgUJlR.js';
5
5
  import { WorkspaceUserProjectService } from '@tutti-os/workspace-user-project/contracts';
package/dist/index.d.ts CHANGED
@@ -4,10 +4,10 @@ import { m as WorkspaceAgentActivityListViewModel, g as AgentHostWorkspaceAgentS
4
4
  import * as react from 'react';
5
5
  import { ReactNode, PropsWithChildren, JSX, HTMLAttributes } from 'react';
6
6
  import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
7
- import { k as AgentHostAgentSessionComposerSettings, i as AgentHostActivateAgentSessionResult, q as AgentHostUpdateAgentSessionSettingsResult, o as AgentHostAgentSessionState, p as AgentHostUnactivateAgentSessionResult, s as AgentProvider, A as AgentGUINodeData, a as AgentGUIProvider, f as AgentGUIProviderTarget, r as AgentPromptContentBlock, P as Point, b as AgentGUIProviderRailMode, c as AgentGUIProviderReadinessGate, N as NodeFrame, g as AgentGUIProviderTargetBadge } from './types-DZ79b8Zn.js';
8
- export { d as AgentGUIProviderReadinessGateAction, e as AgentGUIProviderReadinessGateStatus, h as AgentGUIProviderTargetRef } from './types-DZ79b8Zn.js';
9
- import { k as AgentProbeSnapshot, A as AgentComposerDraft, n as AgentSessionCommand, c as AgentGUIProviderSkillOption, a as AgentGUIComposerSettingsVM, d as AgentGUIQueuedPromptVM, b as AgentGUINodeViewModel, g as AgentHostInputApi } from './agentGuiNodeTypes-CmLUy5Jt.js';
10
- export { e as AgentHostApi, f as AgentHostApplyWorkspaceGitPatchInput, h as AgentHostRuntimeApi, i as AgentHostSelectFilesInput, j as AgentProbeProvider, l as AgentProviderProbeListInput, m as AgentProviderProbeListResult, o as AgentUsageQuota, p as AgentUsageSnapshot, P as PersistWriteResult, R as ReadWorkspaceAgentReadStateInput, W as WorkspaceAgentReadStateSnapshot, q as WriteWorkspaceAgentReadStateInput } from './agentGuiNodeTypes-CmLUy5Jt.js';
7
+ import { l as AgentHostAgentSessionComposerSettings, j as AgentHostActivateAgentSessionResult, r as AgentHostUpdateAgentSessionSettingsResult, p as AgentHostAgentSessionState, q as AgentHostUnactivateAgentSessionResult, t as AgentProvider, A as AgentGUINodeData, a as AgentGUIProvider, g as AgentGUIProviderTarget, s as AgentPromptContentBlock, P as Point, b as AgentGUIProviderRailAllPresentation, c as AgentGUIProviderRailMode, d as AgentGUIProviderReadinessGate, N as NodeFrame, h as AgentGUIProviderTargetBadge } from './types-CrwMqBm1.js';
8
+ export { e as AgentGUIProviderReadinessGateAction, f as AgentGUIProviderReadinessGateStatus, i as AgentGUIProviderTargetRef } from './types-CrwMqBm1.js';
9
+ import { k as AgentProbeSnapshot, A as AgentComposerDraft, n as AgentSessionCommand, c as AgentGUIProviderSkillOption, a as AgentGUIComposerSettingsVM, d as AgentGUIQueuedPromptVM, b as AgentGUINodeViewModel, g as AgentHostInputApi } from './agentGuiNodeTypes-C0oBQn-F.js';
10
+ export { e as AgentHostApi, f as AgentHostApplyWorkspaceGitPatchInput, h as AgentHostRuntimeApi, i as AgentHostSelectFilesInput, j as AgentProbeProvider, l as AgentProviderProbeListInput, m as AgentProviderProbeListResult, o as AgentUsageQuota, p as AgentUsageSnapshot, P as PersistWriteResult, R as ReadWorkspaceAgentReadStateInput, W as WorkspaceAgentReadStateSnapshot, q as WriteWorkspaceAgentReadStateInput } from './agentGuiNodeTypes-C0oBQn-F.js';
11
11
  import { WorkspaceFileEntry } from '@tutti-os/workspace-file-manager/services';
12
12
  import { WorkspaceFileReference, ReferenceLocateTarget, WorkspaceFileReferenceAdapter } from '@tutti-os/workspace-file-reference/contracts';
13
13
  import { ReferenceSourceAggregator } from '@tutti-os/workspace-file-reference/core';
@@ -922,6 +922,7 @@ interface AgentGUINodeProps {
922
922
  accountMenuState?: AgentGUIAccountMenuState | null;
923
923
  providerTargets?: readonly AgentGUIProviderTarget[];
924
924
  providerTargetsLoading?: boolean;
925
+ providerRailAllPresentation?: AgentGUIProviderRailAllPresentation | null;
925
926
  /**
926
927
  * Controls how the provider rail composes its list. "catalog" (default) adds
927
928
  * the static local catalog + placeholders + coming-soon; "exact" renders only
@@ -1060,4 +1061,4 @@ interface AgentActivityHostProviderProps extends PropsWithChildren {
1060
1061
  }
1061
1062
  declare function AgentActivityHostProvider({ agentActivityRuntime, agentHostApi, children }: AgentActivityHostProviderProps): JSX.Element;
1062
1063
 
1063
- export { AgentActivityHostProvider, type AgentActivityHostProviderProps, type AgentActivityRuntime, type AgentActivityRuntimeListSessionMessagesInput, type AgentActivityRuntimePromptContentBlock, AgentActivityRuntimeProvider, type AgentActivityRuntimeProviderProps, type AgentActivityRuntimeRetainSessionEventsInput, type AgentActivityRuntimeSetSessionPinnedInput, type AgentActivityRuntimeUpdateSessionSettingsInput, type AgentActivityRuntimeUploadPromptContentInput, type AgentActivityRuntimeUploadPromptContentResult, type AgentActivityRuntimeWarmupOpenclawGatewayInput, type AgentActivitySnapshotProjection, AgentContextMentionProvider, type AgentCustomMentionChipContext, type AgentCustomMentionIdentity, type AgentCustomMentionKindDefinition, type AgentCustomMentionPresentation, AgentGUI, type AgentGUIAccountMenuState, type AgentGUIProps, AgentGUIProvider, type AgentGUIProviderRailEmptyRenderer, AgentGUIProviderRailMode, AgentGUIProviderReadinessGate, AgentGUIProviderTarget, AgentGUIProviderTargetBadge, type AgentGUISidebarFooterContext, type AgentGUISidebarFooterRenderer, AgentGuiI18nLocale, AgentHostInputApi, AgentProbeSnapshot, AgentQueuedPromptQueueSnapshot, AgentQueuedPromptRuntime, AgentQueuedPromptRuntimeProvider, type AgentQueuedPromptRuntimeProviderProps, agentGUIDefaultTargetProviders, agentGuiDockIconUrl, agentGuiDockIconUrls, agentHostSnapshotFromAgentActivitySnapshot, buildAgentActivitySnapshotProjection, createLocalAgentGUIProviderTarget, createLocalAgentGUIProviderTargets, createSharedAgentGUIProviderTarget, getAgentActivityRuntime, getAgentCustomMentionKind, getOptionalAgentActivityRuntime, localAgentGUIAgentTargetId, localAgentGUIProviderTargetId, normalizeAgentGUIProviderTargets, projectCoreSessionStatus, registerAgentCustomMentionKind, resetAgentActivityRuntimeForTests, resetAgentCustomMentionKindsForTests, resetAgentQueuedPromptRuntimeForTests, resolveAgentGUIExpandedWindowFrame, resolveAgentGUIProviderTarget, setAgentActivityRuntimeForTests, setAgentQueuedPromptRuntimeForTests, shouldAutoCollapseAgentGUIConversationRail, useAgentActivityRuntime, useAgentActivitySnapshot, useAgentQueuedPromptRuntime, useAgentQueuedPromptSessionSnapshot, useOptionalAgentActivityRuntime };
1064
+ export { AgentActivityHostProvider, type AgentActivityHostProviderProps, type AgentActivityRuntime, type AgentActivityRuntimeListSessionMessagesInput, type AgentActivityRuntimePromptContentBlock, AgentActivityRuntimeProvider, type AgentActivityRuntimeProviderProps, type AgentActivityRuntimeRetainSessionEventsInput, type AgentActivityRuntimeSetSessionPinnedInput, type AgentActivityRuntimeUpdateSessionSettingsInput, type AgentActivityRuntimeUploadPromptContentInput, type AgentActivityRuntimeUploadPromptContentResult, type AgentActivityRuntimeWarmupOpenclawGatewayInput, type AgentActivitySnapshotProjection, AgentContextMentionProvider, type AgentCustomMentionChipContext, type AgentCustomMentionIdentity, type AgentCustomMentionKindDefinition, type AgentCustomMentionPresentation, AgentGUI, type AgentGUIAccountMenuState, type AgentGUIProps, AgentGUIProvider, AgentGUIProviderRailAllPresentation, type AgentGUIProviderRailEmptyRenderer, AgentGUIProviderRailMode, AgentGUIProviderReadinessGate, AgentGUIProviderTarget, AgentGUIProviderTargetBadge, type AgentGUISidebarFooterContext, type AgentGUISidebarFooterRenderer, AgentGuiI18nLocale, AgentHostInputApi, AgentProbeSnapshot, AgentQueuedPromptQueueSnapshot, AgentQueuedPromptRuntime, AgentQueuedPromptRuntimeProvider, type AgentQueuedPromptRuntimeProviderProps, agentGUIDefaultTargetProviders, agentGuiDockIconUrl, agentGuiDockIconUrls, agentHostSnapshotFromAgentActivitySnapshot, buildAgentActivitySnapshotProjection, createLocalAgentGUIProviderTarget, createLocalAgentGUIProviderTargets, createSharedAgentGUIProviderTarget, getAgentActivityRuntime, getAgentCustomMentionKind, getOptionalAgentActivityRuntime, localAgentGUIAgentTargetId, localAgentGUIProviderTargetId, normalizeAgentGUIProviderTargets, projectCoreSessionStatus, registerAgentCustomMentionKind, resetAgentActivityRuntimeForTests, resetAgentCustomMentionKindsForTests, resetAgentQueuedPromptRuntimeForTests, resolveAgentGUIExpandedWindowFrame, resolveAgentGUIProviderTarget, setAgentActivityRuntimeForTests, setAgentQueuedPromptRuntimeForTests, shouldAutoCollapseAgentGUIConversationRail, useAgentActivityRuntime, useAgentActivitySnapshot, useAgentQueuedPromptRuntime, useAgentQueuedPromptSessionSnapshot, useOptionalAgentActivityRuntime };
package/dist/index.js CHANGED
@@ -15316,6 +15316,8 @@ function useAgentGUINodeController({
15316
15316
  }
15317
15317
  const agentTargetId = nextTarget.agentTargetId?.trim() ?? "";
15318
15318
  const nextFilter = agentTargetId ? { kind: "agentTarget", agentTargetId } : { kind: "all" };
15319
+ const previousFilter = conversationFilterRef.current;
15320
+ const isSameFilterTarget = nextFilter.kind === "agentTarget" ? previousFilter.kind === "agentTarget" && previousFilter.agentTargetId === nextFilter.agentTargetId : previousFilter.kind === "all";
15319
15321
  setConversationFilter(nextFilter);
15320
15322
  const activeId = activeConversationIdRef.current;
15321
15323
  if (activeId) {
@@ -15324,9 +15326,23 @@ function useAgentGUINodeController({
15324
15326
  activeId,
15325
15327
  transientConversationRef.current
15326
15328
  );
15327
- if (activeSummary && !matchesAgentGUIConversationSummaryFilter(activeSummary, nextFilter)) {
15328
- selectHomeComposerAgentTarget(input);
15329
+ if (activeSummary && matchesAgentGUIConversationSummaryFilter(activeSummary, nextFilter)) {
15330
+ return;
15329
15331
  }
15332
+ } else if (isSameFilterTarget) {
15333
+ selectHomeComposerAgentTarget(input);
15334
+ return;
15335
+ }
15336
+ const recentConversation = agentTargetId ? mergeVisibleConversations(
15337
+ conversationsRef.current,
15338
+ transientConversationRef.current
15339
+ ).find(
15340
+ (conversation2) => matchesAgentGUIConversationSummaryFilter(conversation2, nextFilter)
15341
+ ) : null;
15342
+ if (recentConversation) {
15343
+ selectConversation(recentConversation.id, {
15344
+ reloadConversations: false
15345
+ });
15330
15346
  return;
15331
15347
  }
15332
15348
  selectHomeComposerAgentTarget(input);
@@ -15335,6 +15351,7 @@ function useAgentGUINodeController({
15335
15351
  agentActivityRuntime,
15336
15352
  defaultProviderTargetId,
15337
15353
  normalizedProviderTargets,
15354
+ selectConversation,
15338
15355
  selectHomeComposerAgentTarget,
15339
15356
  shouldUseStaticProviderTargets,
15340
15357
  workspaceId
@@ -25188,6 +25205,7 @@ function AgentGUINodeView({
25188
25205
  viewModel,
25189
25206
  renderSidebarFooter,
25190
25207
  renderProviderRailEmpty,
25208
+ providerRailAllPresentation,
25191
25209
  onLinkAction,
25192
25210
  onHandoffConversation,
25193
25211
  capabilityMenuState,
@@ -25709,6 +25727,7 @@ function AgentGUINodeView({
25709
25727
  providerTargetsLoading: viewModel.providerTargetsLoading,
25710
25728
  providerRailMode: viewModel.providerRailMode,
25711
25729
  renderProviderRailEmpty,
25730
+ providerRailAllPresentation,
25712
25731
  comingSoonProviders: viewModel.comingSoonProviders,
25713
25732
  onSelectConversationFilterTarget: actions.selectConversationFilterTarget,
25714
25733
  onUpdateConversationFilter: actions.updateConversationFilter,
@@ -27456,14 +27475,17 @@ function AgentGUIAllProviderGridIcon({
27456
27475
  }
27457
27476
  );
27458
27477
  }
27459
- function AgentGUIUnifiedProviderIcon() {
27478
+ function AgentGUIUnifiedProviderIcon({
27479
+ presentation
27480
+ }) {
27481
+ const iconUrl = presentation?.iconUrl?.trim() || agentColorfulUrl;
27460
27482
  return /* @__PURE__ */ jsx33("span", { "aria-hidden": "true", className: AgentGUINode_styles_default.providerRailAvatar, children: /* @__PURE__ */ jsx33(
27461
27483
  "img",
27462
27484
  {
27463
27485
  alt: "",
27464
27486
  className: AgentGUINode_styles_default.providerRailAvatarImage,
27465
27487
  draggable: false,
27466
- src: agentColorfulUrl
27488
+ src: iconUrl
27467
27489
  }
27468
27490
  ) });
27469
27491
  }
@@ -28139,6 +28161,7 @@ var AgentGUIProviderRail = memo(function AgentGUIProviderRail2({
28139
28161
  providerTargetsLoading,
28140
28162
  providerRailMode,
28141
28163
  renderProviderRailEmpty,
28164
+ providerRailAllPresentation,
28142
28165
  comingSoonProviders,
28143
28166
  onRequestComposerFocus,
28144
28167
  onSelectConversationFilterTarget,
@@ -28459,7 +28482,12 @@ var AgentGUIProviderRail = memo(function AgentGUIProviderRail2({
28459
28482
  disabled: previewMode,
28460
28483
  onClick: selectAllProviders,
28461
28484
  children: [
28462
- /* @__PURE__ */ jsx33(AgentGUIUnifiedProviderIcon, {}),
28485
+ /* @__PURE__ */ jsx33(
28486
+ AgentGUIUnifiedProviderIcon,
28487
+ {
28488
+ presentation: providerRailAllPresentation
28489
+ }
28490
+ ),
28463
28491
  /* @__PURE__ */ jsx33("span", { className: AgentGUINode_styles_default.providerRailTileLabel, children: labels.conversationFilterAll })
28464
28492
  ]
28465
28493
  }
@@ -30980,7 +31008,7 @@ function composerOverridesByAgentTargetIdEqual(left, right) {
30980
31008
  return true;
30981
31009
  }
30982
31010
  function areAgentGUINodePropsEqual(previous, next) {
30983
- 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.providerTargets === next.providerTargets && previous.providerTargetsLoading === next.providerTargetsLoading && previous.renderSidebarFooter === next.renderSidebarFooter && previous.providerRailMode === next.providerRailMode && previous.renderProviderRailEmpty === next.renderProviderRailEmpty && previous.comingSoonProviders === next.comingSoonProviders && previous.providerReadinessGates === next.providerReadinessGates && previous.defaultProviderTargetId === next.defaultProviderTargetId && previous.onClose === next.onClose && previous.onResize === next.onResize && previous.onUpdateNode === next.onUpdateNode && previous.onRememberComposerDefaults === next.onRememberComposerDefaults && previous.onOpenConversationWindow === next.onOpenConversationWindow && previous.isMaximized === next.isMaximized && previous.isMuted === next.isMuted && previous.onMinimize === next.onMinimize && previous.onToggleMaximize === next.onToggleMaximize && previous.onShowMessage === next.onShowMessage && previous.workspaceAgentProbes === next.workspaceAgentProbes && previous.onAgentProbeDemandChange === next.onAgentProbeDemandChange && previous.onAgentProbeRefreshRequest === next.onAgentProbeRefreshRequest && previous.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;
31011
+ 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.providerTargets === next.providerTargets && previous.providerTargetsLoading === next.providerTargetsLoading && previous.providerRailAllPresentation?.iconUrl === next.providerRailAllPresentation?.iconUrl && previous.renderSidebarFooter === next.renderSidebarFooter && previous.providerRailMode === next.providerRailMode && previous.renderProviderRailEmpty === next.renderProviderRailEmpty && previous.comingSoonProviders === next.comingSoonProviders && previous.providerReadinessGates === next.providerReadinessGates && previous.defaultProviderTargetId === next.defaultProviderTargetId && previous.onClose === next.onClose && previous.onResize === next.onResize && previous.onUpdateNode === next.onUpdateNode && previous.onRememberComposerDefaults === next.onRememberComposerDefaults && previous.onOpenConversationWindow === next.onOpenConversationWindow && previous.isMaximized === next.isMaximized && previous.isMuted === next.isMuted && previous.onMinimize === next.onMinimize && previous.onToggleMaximize === next.onToggleMaximize && previous.onShowMessage === next.onShowMessage && previous.workspaceAgentProbes === next.workspaceAgentProbes && previous.onAgentProbeDemandChange === next.onAgentProbeDemandChange && previous.onAgentProbeRefreshRequest === next.onAgentProbeRefreshRequest && previous.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;
30984
31012
  }
30985
31013
  var AgentGUINode = memo2(function AgentGUINode2({
30986
31014
  nodeId,
@@ -31010,6 +31038,7 @@ var AgentGUINode = memo2(function AgentGUINode2({
31010
31038
  accountMenuState = null,
31011
31039
  providerTargets,
31012
31040
  providerTargetsLoading = false,
31041
+ providerRailAllPresentation = null,
31013
31042
  providerRailMode = "catalog",
31014
31043
  renderProviderRailEmpty,
31015
31044
  renderSidebarFooter,
@@ -32039,6 +32068,7 @@ var AgentGUINode = memo2(function AgentGUINode2({
32039
32068
  viewModel,
32040
32069
  renderSidebarFooter,
32041
32070
  renderProviderRailEmpty,
32071
+ providerRailAllPresentation,
32042
32072
  actions: viewActions,
32043
32073
  isActive,
32044
32074
  composerFocusRequestSequence,