@tutti-os/agent-gui 0.0.77 → 0.0.78

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
@@ -35,6 +35,13 @@ Runtime-owned capability declarations are optional and default to enabled:
35
35
  images, pasted large text, and dropped or host-local files. Ordinary `@`
36
36
  references and workspace-reference mentions remain available.
37
37
 
38
+ Slash commands come from the runtime session command snapshot. AgentGUI keeps
39
+ legacy provider-default slash entries unless the host passes
40
+ `slashCommandFallbackMode="none"`, which makes the slash palette show only
41
+ runtime-advertised commands. The mode only controls whether AgentGUI synthesizes
42
+ provider fallback entries; owner-advertised built-in command names still keep
43
+ AgentGUI's local interaction semantics for a consistent composer experience.
44
+
38
45
  If `reportDiagnostic` is omitted, non-production development builds emit AgentGUI
39
46
  diagnostics to `console` by default for message page requests/resolutions,
40
47
  render-state changes, and caught errors. Set
package/dist/index.d.ts CHANGED
@@ -581,6 +581,7 @@ interface AgentSlashCommandCapability {
581
581
  kind: "capability";
582
582
  name: string;
583
583
  }
584
+ type AgentSlashCommandFallbackMode = "provider-default" | "none";
584
585
 
585
586
  interface AgentProjectPathChangeMetadata {
586
587
  action: WorkspaceUserProjectSelectChangeAction;
@@ -620,6 +621,7 @@ interface AgentComposerProps {
620
621
  usage?: AgentComposerUsage | null;
621
622
  draftContent: AgentComposerDraft;
622
623
  availableCommands: readonly AgentSessionCommand[];
624
+ slashCommandFallbackMode?: AgentSlashCommandFallbackMode;
623
625
  hasCompactableContext?: boolean;
624
626
  compactSupported?: boolean | null;
625
627
  availableSkills?: readonly AgentGUIProviderSkillOption[];
@@ -1009,6 +1011,11 @@ interface AgentGUINodeProps {
1009
1011
  providerTargets?: readonly AgentGUIProviderTarget[];
1010
1012
  providerTargetsLoading?: boolean;
1011
1013
  providerRailAllPresentation?: AgentGUIProviderRailAllPresentation | null;
1014
+ /**
1015
+ * Controls whether AgentGUI adds local provider-default slash commands when
1016
+ * the runtime advertises none. Defaults to "provider-default".
1017
+ */
1018
+ slashCommandFallbackMode?: AgentComposerProps["slashCommandFallbackMode"];
1012
1019
  /**
1013
1020
  * Controls how the provider rail composes its list. "catalog" (default) adds
1014
1021
  * the static local catalog + placeholders + coming-soon; "exact" renders only
@@ -1157,4 +1164,4 @@ interface AgentActivityHostProviderProps extends PropsWithChildren {
1157
1164
  }
1158
1165
  declare function AgentActivityHostProvider({ agentActivityRuntime, agentHostApi, children }: AgentActivityHostProviderProps): JSX.Element;
1159
1166
 
1160
- export { AgentActivityHostProvider, type AgentActivityHostProviderProps, type AgentActivityRuntime, type AgentActivityRuntimeCapabilities, type AgentActivityRuntimeCapabilityKey, 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, type AgentGUIProviderReadinessGateStateContext, type AgentGUIProviderReadinessGateStateRenderer, AgentGUIProviderTarget, AgentGUIProviderTargetBadge, type AgentGUIProviderUnavailableStateContext, type AgentGUIProviderUnavailableStateRenderer, type AgentGUISidebarFooterContext, type AgentGUISidebarFooterRenderer, AgentGuiI18nLocale, AgentHostInputApi, AgentProbeSnapshot, AgentQueuedPromptQueueSnapshot, AgentQueuedPromptRuntime, AgentQueuedPromptRuntimeProvider, type AgentQueuedPromptRuntimeProviderProps, agentActivityRuntimeCapabilityEnabled, 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 };
1167
+ export { AgentActivityHostProvider, type AgentActivityHostProviderProps, type AgentActivityRuntime, type AgentActivityRuntimeCapabilities, type AgentActivityRuntimeCapabilityKey, 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, type AgentGUIProviderReadinessGateStateContext, type AgentGUIProviderReadinessGateStateRenderer, AgentGUIProviderTarget, AgentGUIProviderTargetBadge, type AgentGUIProviderUnavailableStateContext, type AgentGUIProviderUnavailableStateRenderer, type AgentGUISidebarFooterContext, type AgentGUISidebarFooterRenderer, AgentGuiI18nLocale, AgentHostInputApi, AgentProbeSnapshot, AgentQueuedPromptQueueSnapshot, AgentQueuedPromptRuntime, AgentQueuedPromptRuntimeProvider, type AgentQueuedPromptRuntimeProviderProps, type AgentSlashCommandFallbackMode, agentActivityRuntimeCapabilityEnabled, 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
@@ -9146,6 +9146,7 @@ function useAgentGUINodeController({
9146
9146
  );
9147
9147
  const [draftBySessionId, setDraftBySessionId] = useState4({});
9148
9148
  const draftBySessionIdRef = useRef4(draftBySessionId);
9149
+ const pendingSubmittedHomeDraftRef = useRef4({});
9149
9150
  const [draftSettingsBySessionId, setDraftSettingsBySessionId] = useState4({});
9150
9151
  const hasLoadedConversations = conversationListState?.initialized ?? false;
9151
9152
  const isLoadingConversations = conversationListState?.isLoading ?? false;
@@ -11889,6 +11890,12 @@ function useAgentGUINodeController({
11889
11890
  targetData.agentTargetId
11890
11891
  );
11891
11892
  const submittedHomeDraft = draftBySessionIdRef.current[submittedHomeDraftKey] ?? EMPTY_AGENT_COMPOSER_DRAFT;
11893
+ if (agentComposerDraftHasContent(submittedHomeDraft)) {
11894
+ pendingSubmittedHomeDraftRef.current = {
11895
+ ...pendingSubmittedHomeDraftRef.current,
11896
+ [submittedHomeDraftKey]: submittedHomeDraft
11897
+ };
11898
+ }
11892
11899
  isCreatingConversationRef.current = true;
11893
11900
  setLocalIsCreatingConversation(true);
11894
11901
  setDetailError(null);
@@ -12336,6 +12343,11 @@ function useAgentGUINodeController({
12336
12343
  }).finally(() => {
12337
12344
  isCreatingConversationRef.current = false;
12338
12345
  setLocalIsCreatingConversation(false);
12346
+ if (pendingSubmittedHomeDraftRef.current[submittedHomeDraftKey]) {
12347
+ const nextPending = { ...pendingSubmittedHomeDraftRef.current };
12348
+ delete nextPending[submittedHomeDraftKey];
12349
+ pendingSubmittedHomeDraftRef.current = nextPending;
12350
+ }
12339
12351
  });
12340
12352
  },
12341
12353
  [
@@ -12430,10 +12442,15 @@ function useAgentGUINodeController({
12430
12442
  let next = null;
12431
12443
  for (const key of homeDraftKeysToClear) {
12432
12444
  const existing = current[key];
12433
- if (existing && agentComposerDraftHasContent(existing)) {
12434
- next = next ?? { ...current };
12435
- next[key] = emptyAgentComposerDraft();
12445
+ if (!existing || !agentComposerDraftHasContent(existing)) {
12446
+ continue;
12436
12447
  }
12448
+ const pendingSubmitted = pendingSubmittedHomeDraftRef.current[key];
12449
+ if (!pendingSubmitted || !areAgentComposerDraftsEqual(existing, pendingSubmitted)) {
12450
+ continue;
12451
+ }
12452
+ next = next ?? { ...current };
12453
+ next[key] = emptyAgentComposerDraft();
12437
12454
  }
12438
12455
  return next ?? current;
12439
12456
  };
@@ -17766,28 +17783,34 @@ function resolveSlashCommandsForProvider({
17766
17783
  planSupported = false,
17767
17784
  goalSupported = true,
17768
17785
  browserSupported = false,
17769
- computerSupported = false
17786
+ computerSupported = false,
17787
+ fallbackMode = "provider-default"
17770
17788
  }) {
17789
+ const useProviderDefaults = fallbackMode !== "none";
17790
+ const fallbackCommands = useProviderDefaults ? fallbackCommandsForProvider(provider) : [];
17771
17791
  const mergedEntries = mergeSlashCommands(
17772
17792
  filterUnavailableSlashCommands(commands, {
17773
17793
  compactSupported,
17774
17794
  hasCompactableContext
17775
17795
  }),
17776
- filterUnavailableSlashCommands(fallbackCommandsForProvider(provider), {
17796
+ filterUnavailableSlashCommands(fallbackCommands, {
17777
17797
  compactSupported,
17778
17798
  hasCompactableContext
17779
17799
  })
17780
17800
  );
17781
17801
  const commandEntries = mergedEntries.filter((entry) => {
17782
17802
  const commandName = normalizedCommandName(entry);
17803
+ if (!useProviderDefaults) {
17804
+ return goalSupported !== false || commandName !== "goal";
17805
+ }
17783
17806
  return commandName !== "plan" && (goalSupported !== false || commandName !== "goal") && isSlashPaletteCommandVisible(provider, commandName);
17784
17807
  });
17785
- const planEntries = planSupported && isACPProvider(provider) ? [PLAN_MODE_COMMAND] : [];
17808
+ const planEntries = useProviderDefaults && planSupported && isACPProvider(provider) ? [PLAN_MODE_COMMAND] : [];
17786
17809
  const capabilityEntries = [];
17787
- if (browserSupported) {
17810
+ if (useProviderDefaults && browserSupported) {
17788
17811
  capabilityEntries.push(BROWSER_USE_CAPABILITY_COMMAND);
17789
17812
  }
17790
- if (computerSupported) {
17813
+ if (useProviderDefaults && computerSupported) {
17791
17814
  capabilityEntries.push(COMPUTER_USE_CAPABILITY_COMMAND);
17792
17815
  }
17793
17816
  return [...commandEntries, ...planEntries, ...capabilityEntries];
@@ -22161,6 +22184,7 @@ function AgentComposer({
22161
22184
  usage = null,
22162
22185
  draftContent,
22163
22186
  availableCommands,
22187
+ slashCommandFallbackMode,
22164
22188
  hasCompactableContext = true,
22165
22189
  compactSupported = null,
22166
22190
  availableSkills = EMPTY_PROVIDER_SKILLS,
@@ -22310,7 +22334,8 @@ function AgentComposer({
22310
22334
  planSupported: composerSettings.supportsPlanMode,
22311
22335
  goalSupported: canGoalControl,
22312
22336
  browserSupported: Boolean(composerSettings.supportsBrowser),
22313
- computerSupported: Boolean(composerSettings.supportsComputerUse)
22337
+ computerSupported: Boolean(composerSettings.supportsComputerUse),
22338
+ fallbackMode: slashCommandFallbackMode
22314
22339
  }),
22315
22340
  [
22316
22341
  availableCommands,
@@ -22320,7 +22345,8 @@ function AgentComposer({
22320
22345
  composerSettings.supportsBrowser,
22321
22346
  composerSettings.supportsComputerUse,
22322
22347
  hasCompactableContext,
22323
- provider
22348
+ provider,
22349
+ slashCommandFallbackMode
22324
22350
  ]
22325
22351
  );
22326
22352
  const filteredCommands = useMemo9(
@@ -26035,6 +26061,7 @@ function AgentGUINodeView({
26035
26061
  slashStatusUsageAttempted = false,
26036
26062
  onAgentConfigMenuOpen,
26037
26063
  onAgentUsageRefresh,
26064
+ slashCommandFallbackMode,
26038
26065
  accountMenuState = null,
26039
26066
  previewMode = false,
26040
26067
  onAgentProviderLogin,
@@ -26702,6 +26729,7 @@ function AgentGUINodeView({
26702
26729
  isAgentProviderReady,
26703
26730
  slashStatusLimits,
26704
26731
  slashStatusLimitsLoading,
26732
+ slashCommandFallbackMode,
26705
26733
  onLinkAction,
26706
26734
  onHandoffConversation,
26707
26735
  capabilityMenuState,
@@ -26957,6 +26985,7 @@ var AgentGUIDetailPane = memo2(function AgentGUIDetailPane2({
26957
26985
  isAgentProviderReady,
26958
26986
  slashStatusLimits,
26959
26987
  slashStatusLimitsLoading,
26988
+ slashCommandFallbackMode,
26960
26989
  onLinkAction,
26961
26990
  onHandoffConversation,
26962
26991
  capabilityMenuState,
@@ -27572,6 +27601,7 @@ var AgentGUIDetailPane = memo2(function AgentGUIDetailPane2({
27572
27601
  usage: viewModel.usage,
27573
27602
  draftContent: viewModel.draftContent,
27574
27603
  availableCommands: viewModel.availableCommands,
27604
+ slashCommandFallbackMode,
27575
27605
  hasCompactableContext: viewModel.hasSentUserMessage,
27576
27606
  compactSupported: viewModel.compactSupported,
27577
27607
  availableSkills: viewModel.availableSkills,
@@ -27683,6 +27713,7 @@ var AgentGUIDetailPane = memo2(function AgentGUIDetailPane2({
27683
27713
  sendQueuedPromptNext,
27684
27714
  showPromptImagesUnsupported,
27685
27715
  showStopButton,
27716
+ slashCommandFallbackMode,
27686
27717
  slashStatus,
27687
27718
  submitDisabled,
27688
27719
  submitInteractivePrompt,
@@ -32584,7 +32615,7 @@ function composerOverridesByAgentTargetIdEqual(left, right) {
32584
32615
  return true;
32585
32616
  }
32586
32617
  function areAgentGUINodePropsEqual(previous, next) {
32587
- 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.renderProviderUnavailableState === next.renderProviderUnavailableState && previous.renderProviderReadinessGateState === next.renderProviderReadinessGateState && 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;
32618
+ 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.slashCommandFallbackMode === next.slashCommandFallbackMode && previous.renderSidebarFooter === next.renderSidebarFooter && previous.providerRailMode === next.providerRailMode && previous.renderProviderRailEmpty === next.renderProviderRailEmpty && previous.renderProviderUnavailableState === next.renderProviderUnavailableState && previous.renderProviderReadinessGateState === next.renderProviderReadinessGateState && 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;
32588
32619
  }
32589
32620
  var AgentGUINode = memo3(function AgentGUINode2({
32590
32621
  nodeId,
@@ -32615,6 +32646,7 @@ var AgentGUINode = memo3(function AgentGUINode2({
32615
32646
  providerTargets,
32616
32647
  providerTargetsLoading = false,
32617
32648
  providerRailAllPresentation = null,
32649
+ slashCommandFallbackMode = "provider-default",
32618
32650
  providerRailMode = "catalog",
32619
32651
  renderProviderRailEmpty,
32620
32652
  renderProviderUnavailableState,
@@ -33673,6 +33705,7 @@ var AgentGUINode = memo3(function AgentGUINode2({
33673
33705
  renderProviderUnavailableState,
33674
33706
  renderProviderReadinessGateState,
33675
33707
  providerRailAllPresentation,
33708
+ slashCommandFallbackMode,
33676
33709
  actions: viewActions,
33677
33710
  isActive,
33678
33711
  composerFocusRequestSequence,