@tutti-os/agent-gui 0.0.124 → 0.0.125

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.
Files changed (35) hide show
  1. package/dist/{AgentGUI-D-Ktaq3h.d.ts → AgentGUI-DMtA0gbf.d.ts} +2 -0
  2. package/dist/{AgentRichTextReadonly-ZWKC3FJE.js → AgentRichTextReadonly-G5D73743.js} +3 -3
  3. package/dist/agent-conversation/index.js +4 -4
  4. package/dist/agent-gui.d.ts +2 -1
  5. package/dist/agent-gui.js +9 -9
  6. package/dist/agent-message-center/index.js +2 -2
  7. package/dist/{chunk-6NUOJ6PS.js → chunk-24TBYDXC.js} +2 -2
  8. package/dist/{chunk-RQDDJHEO.js → chunk-5O42C33J.js} +2 -2
  9. package/dist/{chunk-C3IGPKCP.js → chunk-A2B6QKNF.js} +2 -2
  10. package/dist/{chunk-3XS6P7BA.js → chunk-ARDFK5NC.js} +3 -3
  11. package/dist/{chunk-PPOCDOYZ.js → chunk-HLXQ7BUI.js} +168 -137
  12. package/dist/chunk-HLXQ7BUI.js.map +1 -0
  13. package/dist/{chunk-NWPGWLWP.js → chunk-KRG7EBHG.js} +20 -56
  14. package/dist/chunk-KRG7EBHG.js.map +1 -0
  15. package/dist/{chunk-WEHEJ25P.js → chunk-UNCXTPFX.js} +51 -59
  16. package/dist/chunk-UNCXTPFX.js.map +1 -0
  17. package/dist/{chunk-DXIL75XS.js → chunk-WIQHLQFN.js} +2 -2
  18. package/dist/{chunk-2EH3KOJV.js → chunk-XJ2U66WG.js} +2 -2
  19. package/dist/context-mention-palette/index.js +3 -3
  20. package/dist/index.d.ts +3 -2
  21. package/dist/index.js +9 -9
  22. package/dist/mention-search.js +2 -2
  23. package/dist/workbench/contribution.js +1 -1
  24. package/dist/workbench/index.js +1 -1
  25. package/package.json +14 -14
  26. package/dist/chunk-NWPGWLWP.js.map +0 -1
  27. package/dist/chunk-PPOCDOYZ.js.map +0 -1
  28. package/dist/chunk-WEHEJ25P.js.map +0 -1
  29. /package/dist/{AgentRichTextReadonly-ZWKC3FJE.js.map → AgentRichTextReadonly-G5D73743.js.map} +0 -0
  30. /package/dist/{chunk-6NUOJ6PS.js.map → chunk-24TBYDXC.js.map} +0 -0
  31. /package/dist/{chunk-RQDDJHEO.js.map → chunk-5O42C33J.js.map} +0 -0
  32. /package/dist/{chunk-C3IGPKCP.js.map → chunk-A2B6QKNF.js.map} +0 -0
  33. /package/dist/{chunk-3XS6P7BA.js.map → chunk-ARDFK5NC.js.map} +0 -0
  34. /package/dist/{chunk-DXIL75XS.js.map → chunk-WIQHLQFN.js.map} +0 -0
  35. /package/dist/{chunk-2EH3KOJV.js.map → chunk-XJ2U66WG.js.map} +0 -0
@@ -11,6 +11,7 @@ import { WorkspaceFileEntry } from '@tutti-os/workspace-file-manager/services';
11
11
  import { ReferenceSourceAggregator } from '@tutti-os/workspace-file-reference/core';
12
12
  import { b as AgentConversationPromptVM, e as WorkspaceLinkAction } from './agentConversationVM-BD0-gg6C.js';
13
13
  import { AgentContextMentionProvider } from './context-mention-provider.js';
14
+ import { RichTextMentionService } from '@tutti-os/ui-rich-text/service';
14
15
  import { WorkspaceUserProjectI18nRuntime } from '@tutti-os/workspace-user-project/i18n';
15
16
  import { WorkspaceUserProjectSelectChangeAction } from '@tutti-os/workspace-user-project/ui';
16
17
  import { WorkspaceUserProject } from '@tutti-os/workspace-user-project/contracts';
@@ -1018,6 +1019,7 @@ interface AgentGUINodeHostCapabilities {
1018
1019
  defaultAgentTargetId?: string | null;
1019
1020
  providerAuthAccountLabels?: Partial<Record<string, string>>;
1020
1021
  contextMentionProviders?: readonly AgentContextMentionProvider[];
1022
+ mentionService?: RichTextMentionService;
1021
1023
  workspaceAppIcons?: readonly AgentMessageMarkdownWorkspaceAppIcon[];
1022
1024
  disabledHomeSuggestions?: readonly AgentGUIHomeSuggestionId[];
1023
1025
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  AgentRichTextReadonly
3
- } from "./chunk-RQDDJHEO.js";
4
- import "./chunk-NWPGWLWP.js";
3
+ } from "./chunk-5O42C33J.js";
4
+ import "./chunk-KRG7EBHG.js";
5
5
  import "./chunk-LUGELG5V.js";
6
6
  import "./chunk-KPMQGPYU.js";
7
7
  import "./chunk-EDNJMG5T.js";
@@ -15,4 +15,4 @@ import "./chunk-QMMWKQOT.js";
15
15
  export {
16
16
  AgentRichTextReadonly
17
17
  };
18
- //# sourceMappingURL=AgentRichTextReadonly-ZWKC3FJE.js.map
18
+ //# sourceMappingURL=AgentRichTextReadonly-G5D73743.js.map
@@ -6,15 +6,15 @@ import {
6
6
  projectAgentConversationVM,
7
7
  reconcileProjectedAgentConversationVM,
8
8
  useProjectedAgentConversation
9
- } from "../chunk-3XS6P7BA.js";
10
- import "../chunk-RQDDJHEO.js";
9
+ } from "../chunk-ARDFK5NC.js";
10
+ import "../chunk-5O42C33J.js";
11
11
  import "../chunk-VMQNG2KI.js";
12
12
  import "../chunk-FGLQZ6I4.js";
13
13
  import "../chunk-XJ34OIEQ.js";
14
14
  import "../chunk-R7AXDQCA.js";
15
- import "../chunk-NWPGWLWP.js";
15
+ import "../chunk-KRG7EBHG.js";
16
16
  import "../chunk-LUGELG5V.js";
17
- import "../chunk-WEHEJ25P.js";
17
+ import "../chunk-UNCXTPFX.js";
18
18
  import "../chunk-KPMQGPYU.js";
19
19
  import "../chunk-OKGXHKJ2.js";
20
20
  import "../chunk-F5UR6EJG.js";
@@ -1,6 +1,6 @@
1
1
  import 'react';
2
2
  import '@tutti-os/ui-i18n-runtime';
3
- export { n as AgentGUI, w as AgentGUIProps } from './AgentGUI-D-Ktaq3h.js';
3
+ export { n as AgentGUI, w as AgentGUIProps } from './AgentGUI-DMtA0gbf.js';
4
4
  import './agentGuiNodeTypes-DedIWrEI.js';
5
5
  export { m as AgentGUIHomeSuggestionId } from './types-BicfRVrV.js';
6
6
  import './runtime-BBNdWgDU.js';
@@ -16,6 +16,7 @@ import './workspaceAgentActivityListTypes-DZfS_HgG.js';
16
16
  import './context-mention-provider.js';
17
17
  import '@tutti-os/ui-rich-text/types';
18
18
  import '@tutti-os/workspace-external-core/contracts';
19
+ import '@tutti-os/ui-rich-text/service';
19
20
  import '@tutti-os/workspace-user-project/i18n';
20
21
  import '@tutti-os/workspace-user-project/ui';
21
22
  import '@tutti-os/workspace-user-project/contracts';
package/dist/agent-gui.js CHANGED
@@ -1,31 +1,31 @@
1
1
  import {
2
2
  AgentGUI
3
- } from "./chunk-PPOCDOYZ.js";
3
+ } from "./chunk-HLXQ7BUI.js";
4
4
  import "./chunk-A4WCTHWS.js";
5
- import "./chunk-DXIL75XS.js";
5
+ import "./chunk-WIQHLQFN.js";
6
6
  import "./chunk-TUWQV2MC.js";
7
7
  import "./chunk-MHOYBRCY.js";
8
8
  import "./chunk-RN7DI3Y2.js";
9
9
  import "./chunk-5HIF53K5.js";
10
10
  import "./chunk-R2ZADXRB.js";
11
- import "./chunk-3XS6P7BA.js";
12
- import "./chunk-RQDDJHEO.js";
11
+ import "./chunk-ARDFK5NC.js";
12
+ import "./chunk-5O42C33J.js";
13
13
  import "./chunk-VMQNG2KI.js";
14
14
  import "./chunk-UP3ZDYTN.js";
15
- import "./chunk-C3IGPKCP.js";
15
+ import "./chunk-A2B6QKNF.js";
16
16
  import "./chunk-T2NICA5D.js";
17
17
  import "./chunk-FGLQZ6I4.js";
18
18
  import "./chunk-DXT4W2SU.js";
19
- import "./chunk-2EH3KOJV.js";
19
+ import "./chunk-XJ2U66WG.js";
20
20
  import "./chunk-USIFGHT3.js";
21
21
  import "./chunk-XJ34OIEQ.js";
22
22
  import "./chunk-R7AXDQCA.js";
23
- import "./chunk-NWPGWLWP.js";
23
+ import "./chunk-KRG7EBHG.js";
24
24
  import "./chunk-LUGELG5V.js";
25
25
  import "./chunk-JM24HADP.js";
26
- import "./chunk-6NUOJ6PS.js";
26
+ import "./chunk-24TBYDXC.js";
27
27
  import "./chunk-2RQM7PJN.js";
28
- import "./chunk-WEHEJ25P.js";
28
+ import "./chunk-UNCXTPFX.js";
29
29
  import "./chunk-KPMQGPYU.js";
30
30
  import "./chunk-XXACYFIR.js";
31
31
  import "./chunk-YMXYBG7U.js";
@@ -6,7 +6,7 @@ import {
6
6
  dispatchAgentPlanPromptAction,
7
7
  getPromptToolDetails,
8
8
  isPromptRequestIdTitle
9
- } from "../chunk-6NUOJ6PS.js";
9
+ } from "../chunk-24TBYDXC.js";
10
10
  import {
11
11
  useEngineSelector
12
12
  } from "../chunk-2RQM7PJN.js";
@@ -19,7 +19,7 @@ import {
19
19
  isExitPlanSwitchModeInput,
20
20
  normalizeAgentApprovalPurpose,
21
21
  normalizeAskUserQuestions
22
- } from "../chunk-WEHEJ25P.js";
22
+ } from "../chunk-UNCXTPFX.js";
23
23
  import {
24
24
  cn
25
25
  } from "../chunk-KPMQGPYU.js";
@@ -2,7 +2,7 @@ import {
2
2
  AgentGUIConversation_styles_default,
3
3
  MessageSquareMoreIcon,
4
4
  extractAgentMcpToolTarget
5
- } from "./chunk-WEHEJ25P.js";
5
+ } from "./chunk-UNCXTPFX.js";
6
6
  import {
7
7
  getOptionalAgentHostApi,
8
8
  useOptionalAgentHostApi
@@ -1471,4 +1471,4 @@ export {
1471
1471
  isPromptRequestIdTitle,
1472
1472
  AgentInteractivePromptSurface
1473
1473
  };
1474
- //# sourceMappingURL=chunk-6NUOJ6PS.js.map
1474
+ //# sourceMappingURL=chunk-24TBYDXC.js.map
@@ -5,7 +5,7 @@ import {
5
5
  formatAgentMentionMarkdown,
6
6
  mentionItemToAttrs,
7
7
  parseAgentMentionMarkdown
8
- } from "./chunk-NWPGWLWP.js";
8
+ } from "./chunk-KRG7EBHG.js";
9
9
  import {
10
10
  cn,
11
11
  resolveAgentTargetPresentation,
@@ -753,4 +753,4 @@ export {
753
753
  agentRichTextContentToPromptText,
754
754
  AgentRichTextReadonly
755
755
  };
756
- //# sourceMappingURL=chunk-RQDDJHEO.js.map
756
+ //# sourceMappingURL=chunk-5O42C33J.js.map
@@ -5,7 +5,7 @@ import {
5
5
  agentMentionFilterLabel,
6
6
  agentMentionGroupLabel,
7
7
  mentionGroupExpandCount
8
- } from "./chunk-2EH3KOJV.js";
8
+ } from "./chunk-XJ2U66WG.js";
9
9
  import {
10
10
  resolveAgentMentionFileThumbnailUrl,
11
11
  resolveAgentMentionFileVisualKind
@@ -516,4 +516,4 @@ export {
516
516
  AgentFileMentionPalette,
517
517
  AgentContextMentionPalette
518
518
  };
519
- //# sourceMappingURL=chunk-C3IGPKCP.js.map
519
+ //# sourceMappingURL=chunk-A2B6QKNF.js.map
@@ -2,7 +2,7 @@ import {
2
2
  AgentRichTextReadonly,
3
3
  promptForProviderSkills,
4
4
  skillTriggerForPrefix
5
- } from "./chunk-RQDDJHEO.js";
5
+ } from "./chunk-5O42C33J.js";
6
6
  import {
7
7
  classifyRecoverableAgentMessage,
8
8
  isProviderPlanLimitMessage,
@@ -38,7 +38,7 @@ import {
38
38
  resolveWorkspaceFileLinkAction,
39
39
  resolveWorkspaceFilePathCandidate,
40
40
  resolveWorkspaceLinkAction
41
- } from "./chunk-WEHEJ25P.js";
41
+ } from "./chunk-UNCXTPFX.js";
42
42
  import {
43
43
  cn
44
44
  } from "./chunk-KPMQGPYU.js";
@@ -14224,4 +14224,4 @@ export {
14224
14224
  AgentConversationFlow,
14225
14225
  useProjectedAgentConversation
14226
14226
  };
14227
- //# sourceMappingURL=chunk-3XS6P7BA.js.map
14227
+ //# sourceMappingURL=chunk-ARDFK5NC.js.map
@@ -12,7 +12,7 @@ import {
12
12
  resolveAgentGuiSessionProviderFlatIconUrl,
13
13
  resolveNextAgentGUIConversationRailWidthPx,
14
14
  shouldAutoCollapseAgentGUIConversationRail
15
- } from "./chunk-DXIL75XS.js";
15
+ } from "./chunk-WIQHLQFN.js";
16
16
  import {
17
17
  AGENT_PROVIDERS,
18
18
  AGENT_PROVIDER_LABEL,
@@ -63,7 +63,7 @@ import {
63
63
  toLocalShortDateTime,
64
64
  updateAgentComposerDraft,
65
65
  useProjectedAgentConversation
66
- } from "./chunk-3XS6P7BA.js";
66
+ } from "./chunk-ARDFK5NC.js";
67
67
  import {
68
68
  agentRichTextContentToPromptText,
69
69
  createAgentRichTextInputExtensions,
@@ -73,7 +73,7 @@ import {
73
73
  plainTextToAgentRichTextInlineContent,
74
74
  skillDescriptionForDisplay,
75
75
  skillTriggerForPrefix
76
- } from "./chunk-RQDDJHEO.js";
76
+ } from "./chunk-5O42C33J.js";
77
77
  import {
78
78
  openAgentEnvPanel
79
79
  } from "./chunk-VMQNG2KI.js";
@@ -85,7 +85,7 @@ import {
85
85
  AgentFileMentionPalette,
86
86
  agentMentionItemKey,
87
87
  isAgentMentionItemDisabled
88
- } from "./chunk-C3IGPKCP.js";
88
+ } from "./chunk-A2B6QKNF.js";
89
89
  import {
90
90
  normalizeAgentGUIAgents,
91
91
  projectAgentGUIAgentsToInternalTargets
@@ -96,7 +96,7 @@ import {
96
96
  DEFAULT_AGENT_MENTION_FILTER,
97
97
  agentGuiScheduler,
98
98
  buildWorkspaceAgentActivityListViewModel
99
- } from "./chunk-2EH3KOJV.js";
99
+ } from "./chunk-XJ2U66WG.js";
100
100
  import {
101
101
  AGENT_RICH_TEXT_CARET_ANCHOR,
102
102
  createAgentSessionMarkdownLink,
@@ -107,7 +107,7 @@ import {
107
107
  mentionItemToAttrs,
108
108
  normalizeAgentSessionMentionTitle,
109
109
  parseMentionItemFromHref
110
- } from "./chunk-NWPGWLWP.js";
110
+ } from "./chunk-KRG7EBHG.js";
111
111
  import {
112
112
  AgentInteractivePromptSurface,
113
113
  PLAN_IMPLEMENTATION_ACTION_FEEDBACK,
@@ -117,7 +117,7 @@ import {
117
117
  dispatchAgentPlanPromptAction,
118
118
  latestPlanTurnId,
119
119
  planImplementationPromptFromPlanTurn
120
- } from "./chunk-6NUOJ6PS.js";
120
+ } from "./chunk-24TBYDXC.js";
121
121
  import {
122
122
  useEngineSelector
123
123
  } from "./chunk-2RQM7PJN.js";
@@ -126,7 +126,7 @@ import {
126
126
  ZoomableImage,
127
127
  normalizeAgentApprovalPurpose,
128
128
  resolveWorkspaceLinkAction
129
- } from "./chunk-WEHEJ25P.js";
129
+ } from "./chunk-UNCXTPFX.js";
130
130
  import {
131
131
  AgentTargetPresentationProvider,
132
132
  cn,
@@ -35437,7 +35437,30 @@ function areAgentGUINodePropsEqual(previous, next) {
35437
35437
  const pc = previous.hostCapabilities, nc = next.hostCapabilities;
35438
35438
  const pa = previous.hostActions, na = next.hostActions;
35439
35439
  const ps = previous.renderSlots, ns = next.renderSlots;
35440
- return pi.nodeId === ni.nodeId && pi.workspaceId === ni.workspaceId && pi.currentUserId === ni.currentUserId && pi.title === ni.title && pw.path === nw.path && pw.fileReferenceAdapter === nw.fileReferenceAdapter && pw.onRequestGitBranches === nw.onRequestGitBranches && pw.selectProjectDirectory === nw.selectProjectDirectory && pw.resolveDroppedFileReferences === nw.resolveDroppedFileReferences && pw.referenceSourceAggregator === nw.referenceSourceAggregator && pw.resolveReferenceEntryIconUrl === nw.resolveReferenceEntryIconUrl && pw.resolveMentionReferenceTarget === nw.resolveMentionReferenceTarget && pw.resolveReferenceInitialTarget === nw.resolveReferenceInitialTarget && pw.onFileReferencesAdded === nw.onFileReferencesAdded && pw.agentSettings.avoidGroupingEdits === nw.agentSettings.avoidGroupingEdits && pc.referenceProvenanceFilterCatalog === nc.referenceProvenanceFilterCatalog && pc.referenceProvenanceFilterEnabled === nc.referenceProvenanceFilterEnabled && agentGuiStateEquals(previous.state, next.state) && pf.position.x === nf.position.x && pf.position.y === nf.position.y && pf.width === nf.width && pf.height === nf.height && pf.desktopSize.width === nf.desktopSize.width && pf.desktopSize.height === nf.desktopSize.height && pf.isMaximized === nf.isMaximized && pf.isActive === nf.isActive && pf.isVisible === nf.isVisible && pf.embedded === nf.embedded && pf.previewMode === nf.previewMode && pf.conversationRailAutoCollapseWidthPx === nf.conversationRailAutoCollapseWidthPx && pr.composerFocusSequence === nr.composerFocusSequence && pr.composerAppend === nr.composerAppend && pr.newConversationSequence === nr.newConversationSequence && pr.openSession === nr.openSession && pr.prefillPrompt === nr.prefillPrompt && pr.agentProbes === nr.agentProbes && pr.onProbeDemandChange === nr.onProbeDemandChange && pr.onProbeRefreshRequest === nr.onProbeRefreshRequest && pc.capabilityMenuState === nc.capabilityMenuState && pc.accountMenuState === nc.accountMenuState && pc.agentTargets === nc.agentTargets && pc.agentTargetsLoading === nc.agentTargetsLoading && pc.handoffAgentTargets === nc.handoffAgentTargets && pc.handoffAgentTargetsLoading === nc.handoffAgentTargetsLoading && pc.providerRailAllPresentation?.iconUrl === nc.providerRailAllPresentation?.iconUrl && pc.providerRailMode === nc.providerRailMode && pc.comingSoonProviders === nc.comingSoonProviders && pc.providerReadinessGates === nc.providerReadinessGates && pc.defaultAgentTargetId === nc.defaultAgentTargetId && pc.providerAuthAccountLabels === nc.providerAuthAccountLabels && pc.contextMentionProviders === nc.contextMentionProviders && pc.workspaceAppIcons === nc.workspaceAppIcons && pc.disabledHomeSuggestions === nc.disabledHomeSuggestions && pa.onLinkAction === na.onLinkAction && pa.onHandoffConversation === na.onHandoffConversation && pa.onCapabilitySettingsRequest === na.onCapabilitySettingsRequest && pa.onAgentProviderLogin === na.onAgentProviderLogin && pa.onOpenConversationWindow === na.onOpenConversationWindow && pa.onClose === na.onClose && pa.onResize === na.onResize && pa.onUpdateNode === na.onUpdateNode && pa.onRememberComposerDefaults === na.onRememberComposerDefaults && pa.isMuted === na.isMuted && pa.onMinimize === na.onMinimize && pa.onToggleMaximize === na.onToggleMaximize && pa.onShowMessage === na.onShowMessage && pa.onEngagementEvent === na.onEngagementEvent && ps.providerRailEmpty === ns.providerRailEmpty && ps.providerUnavailableState === ns.providerUnavailableState && ps.sidebarFooter === ns.sidebarFooter;
35440
+ return pi.nodeId === ni.nodeId && pi.workspaceId === ni.workspaceId && pi.currentUserId === ni.currentUserId && pi.title === ni.title && pw.path === nw.path && pw.fileReferenceAdapter === nw.fileReferenceAdapter && pw.onRequestGitBranches === nw.onRequestGitBranches && pw.selectProjectDirectory === nw.selectProjectDirectory && pw.resolveDroppedFileReferences === nw.resolveDroppedFileReferences && pw.referenceSourceAggregator === nw.referenceSourceAggregator && pw.resolveReferenceEntryIconUrl === nw.resolveReferenceEntryIconUrl && pw.resolveMentionReferenceTarget === nw.resolveMentionReferenceTarget && pw.resolveReferenceInitialTarget === nw.resolveReferenceInitialTarget && pw.onFileReferencesAdded === nw.onFileReferencesAdded && pw.agentSettings.avoidGroupingEdits === nw.agentSettings.avoidGroupingEdits && pc.referenceProvenanceFilterCatalog === nc.referenceProvenanceFilterCatalog && pc.referenceProvenanceFilterEnabled === nc.referenceProvenanceFilterEnabled && agentGuiStateEquals(previous.state, next.state) && pf.position.x === nf.position.x && pf.position.y === nf.position.y && pf.width === nf.width && pf.height === nf.height && pf.desktopSize.width === nf.desktopSize.width && pf.desktopSize.height === nf.desktopSize.height && pf.isMaximized === nf.isMaximized && pf.isActive === nf.isActive && pf.isVisible === nf.isVisible && pf.embedded === nf.embedded && pf.previewMode === nf.previewMode && pf.conversationRailAutoCollapseWidthPx === nf.conversationRailAutoCollapseWidthPx && pr.composerFocusSequence === nr.composerFocusSequence && pr.composerAppend === nr.composerAppend && pr.newConversationSequence === nr.newConversationSequence && pr.openSession === nr.openSession && pr.prefillPrompt === nr.prefillPrompt && pr.agentProbes === nr.agentProbes && pr.onProbeDemandChange === nr.onProbeDemandChange && pr.onProbeRefreshRequest === nr.onProbeRefreshRequest && pc.capabilityMenuState === nc.capabilityMenuState && pc.accountMenuState === nc.accountMenuState && pc.agentTargets === nc.agentTargets && pc.agentTargetsLoading === nc.agentTargetsLoading && pc.handoffAgentTargets === nc.handoffAgentTargets && pc.handoffAgentTargetsLoading === nc.handoffAgentTargetsLoading && pc.providerRailAllPresentation?.iconUrl === nc.providerRailAllPresentation?.iconUrl && pc.providerRailMode === nc.providerRailMode && pc.comingSoonProviders === nc.comingSoonProviders && pc.providerReadinessGates === nc.providerReadinessGates && pc.defaultAgentTargetId === nc.defaultAgentTargetId && pc.providerAuthAccountLabels === nc.providerAuthAccountLabels && pc.contextMentionProviders === nc.contextMentionProviders && pc.mentionService === nc.mentionService && pc.workspaceAppIcons === nc.workspaceAppIcons && pc.disabledHomeSuggestions === nc.disabledHomeSuggestions && pa.onLinkAction === na.onLinkAction && pa.onHandoffConversation === na.onHandoffConversation && pa.onCapabilitySettingsRequest === na.onCapabilitySettingsRequest && pa.onAgentProviderLogin === na.onAgentProviderLogin && pa.onOpenConversationWindow === na.onOpenConversationWindow && pa.onClose === na.onClose && pa.onResize === na.onResize && pa.onUpdateNode === na.onUpdateNode && pa.onRememberComposerDefaults === na.onRememberComposerDefaults && pa.isMuted === na.isMuted && pa.onMinimize === na.onMinimize && pa.onToggleMaximize === na.onToggleMaximize && pa.onShowMessage === na.onShowMessage && pa.onEngagementEvent === na.onEngagementEvent && ps.providerRailEmpty === ns.providerRailEmpty && ps.providerUnavailableState === ns.providerUnavailableState && ps.sidebarFooter === ns.sidebarFooter;
35441
+ }
35442
+
35443
+ // agent-gui/agentGuiNode/AgentGUIMentionServiceBoundary.tsx
35444
+ import {
35445
+ RichTextMentionServiceProvider,
35446
+ useEffectiveRichTextMentionService,
35447
+ useRichTextMentionService
35448
+ } from "@tutti-os/ui-rich-text/editor";
35449
+ import { jsx as jsx68 } from "react/jsx-runtime";
35450
+ function AgentGUIMentionServiceBoundary({
35451
+ children,
35452
+ legacyProviders,
35453
+ service
35454
+ }) {
35455
+ const inheritedService = useRichTextMentionService();
35456
+ const effectiveService = useEffectiveRichTextMentionService({
35457
+ mentionService: service,
35458
+ triggerProviders: legacyProviders
35459
+ });
35460
+ if (!service && !inheritedService && !legacyProviders?.length) {
35461
+ return children;
35462
+ }
35463
+ return effectiveService !== inheritedService ? /* @__PURE__ */ jsx68(RichTextMentionServiceProvider, { service: effectiveService, children }) : children;
35441
35464
  }
35442
35465
 
35443
35466
  // agent-gui/agentGuiNode/AgentGUINode.labels.ts
@@ -36286,7 +36309,7 @@ function resolveAgentGUIRailStatusProvider(input) {
36286
36309
  }
36287
36310
 
36288
36311
  // agent-gui/agentGuiNode/AgentGUINode.tsx
36289
- import { jsx as jsx68, jsxs as jsxs49 } from "react/jsx-runtime";
36312
+ import { jsx as jsx69, jsxs as jsxs49 } from "react/jsx-runtime";
36290
36313
  var EMPTY_SLASH_STATUS_QUOTAS = [];
36291
36314
  var DISABLED_REFERENCE_PROVENANCE_CATALOG = {
36292
36315
  enabledDimensions: [],
@@ -36355,6 +36378,7 @@ var AgentGUINode = memo14(function AgentGUINode2({
36355
36378
  defaultAgentTargetId = null,
36356
36379
  providerAuthAccountLabels,
36357
36380
  contextMentionProviders,
36381
+ mentionService,
36358
36382
  workspaceAppIcons,
36359
36383
  disabledHomeSuggestions,
36360
36384
  referenceProvenanceFilterCatalog: injectedReferenceProvenanceFilterCatalog,
@@ -36694,139 +36718,146 @@ var AgentGUINode = memo14(function AgentGUINode2({
36694
36718
  previewMode,
36695
36719
  railStatusProvider
36696
36720
  ]);
36697
- return /* @__PURE__ */ jsx68(
36698
- WorkspaceNodeWindow,
36721
+ return /* @__PURE__ */ jsx69(
36722
+ AgentGUIMentionServiceBoundary,
36699
36723
  {
36700
- nodeId,
36701
- kind: "agentGui",
36702
- title: windowTitle,
36703
- titleIcon: null,
36704
- position,
36705
- width,
36706
- height,
36707
- desktopSize,
36708
- minSize,
36709
- appearance: embedded ? "embedded" : "window",
36710
- className: "size-full bg-transparent",
36711
- bodyClassName: `${AgentGUINode_styles_default.shell} nodrag size-full min-h-0 min-w-0 !bg-transparent p-0`,
36712
- hideHeader: embedded,
36713
- titleAccessory: /* @__PURE__ */ jsxs49("span", { className: "inline-flex flex-none items-center gap-1", children: [
36714
- /* @__PURE__ */ jsx68(
36715
- AgentProbeInfoPopover,
36716
- {
36717
- lines: agentProbeLines,
36718
- testId: "agent-gui-window-agent-info",
36719
- className: AgentGUINode_styles_default.windowAgentInfo,
36720
- onOpen: handleAgentProbeInfoOpen
36721
- }
36722
- ),
36723
- /* @__PURE__ */ jsx68(
36724
- CanvasNodeGhostIconButton,
36725
- {
36726
- "aria-label": isConversationRailCollapsed ? t("agentHost.agentGui.expandConversationRail") : t("agentHost.agentGui.collapseConversationRail"),
36727
- title: isConversationRailCollapsed ? t("agentHost.agentGui.expandConversationRail") : t("agentHost.agentGui.collapseConversationRail"),
36728
- "data-testid": "agent-gui-toggle-conversation-rail",
36729
- "data-agent-gui-conversation-rail-collapsed": isConversationRailCollapsed ? "true" : "false",
36730
- "data-agent-gui-conversation-rail-auto-collapsed": isConversationRailAutoCollapsed ? "true" : "false",
36731
- onClick: (event) => {
36732
- event.stopPropagation();
36733
- handleConversationRailToggle();
36734
- },
36735
- children: /* @__PURE__ */ jsx68(
36736
- CanvasNodePanelLinedIcon,
36724
+ legacyProviders: contextMentionProviders,
36725
+ service: mentionService,
36726
+ children: /* @__PURE__ */ jsx69(
36727
+ WorkspaceNodeWindow,
36728
+ {
36729
+ nodeId,
36730
+ kind: "agentGui",
36731
+ title: windowTitle,
36732
+ titleIcon: null,
36733
+ position,
36734
+ width,
36735
+ height,
36736
+ desktopSize,
36737
+ minSize,
36738
+ appearance: embedded ? "embedded" : "window",
36739
+ className: "size-full bg-transparent",
36740
+ bodyClassName: `${AgentGUINode_styles_default.shell} nodrag size-full min-h-0 min-w-0 !bg-transparent p-0`,
36741
+ hideHeader: embedded,
36742
+ titleAccessory: /* @__PURE__ */ jsxs49("span", { className: "inline-flex flex-none items-center gap-1", children: [
36743
+ /* @__PURE__ */ jsx69(
36744
+ AgentProbeInfoPopover,
36737
36745
  {
36738
- width: 18,
36739
- height: 18,
36740
- "aria-hidden": "true"
36746
+ lines: agentProbeLines,
36747
+ testId: "agent-gui-window-agent-info",
36748
+ className: AgentGUINode_styles_default.windowAgentInfo,
36749
+ onOpen: handleAgentProbeInfoOpen
36741
36750
  }
36742
- )
36743
- }
36744
- )
36745
- ] }),
36746
- onClose,
36747
- onResize,
36748
- isMaximized,
36749
- isMuted,
36750
- hideMaximizeButton: true,
36751
- onMinimize,
36752
- onToggleMaximize,
36753
- children: (renderFrame) => {
36754
- const renderedWidth = renderFrame.size.width;
36755
- const isRenderedConversationRailCollapsed = isConversationRailCollapsed || shouldAutoCollapseAgentGUIConversationRail(
36756
- renderedWidth,
36757
- railAutoCollapseWidthPx
36758
- );
36759
- return /* @__PURE__ */ jsx68(
36760
- AgentGUINodeView,
36761
- {
36762
- viewModel,
36763
- renderSidebarFooter,
36764
- renderProviderRailEmpty,
36765
- renderProviderUnavailableState,
36766
- providerRailAllPresentation,
36767
- actions: viewActions,
36768
- isActive,
36769
- isVisible,
36770
- onEngagementEvent,
36771
- composerFocusRequestSequence,
36772
- newConversationRequestSequence,
36773
- slashStatusLimits,
36774
- slashStatusLimitsLoading: workspaceAgentProbes?.isLoadingUsage ?? false,
36775
- slashStatusLimitsUnavailable,
36776
- railConfigProvider: railStatusProvider,
36777
- railSlashStatusLimits,
36778
- slashStatusUsageCapturedAtUnixMs,
36779
- slashStatusUsageDidFail,
36780
- slashStatusUsageAttempted,
36781
- providerAuthAccountLabels,
36782
- onAgentConfigMenuOpen: handleAgentConfigMenuOpen,
36783
- onAgentUsageRefresh: handleAgentUsageRefresh,
36784
- onSlashStatusOpen: handleAgentProbeInfoOpen,
36785
- previewMode,
36786
- onLinkAction: handleLinkAction,
36787
- onHandoffConversation,
36788
- capabilityMenuState,
36789
- onCapabilitySettingsRequest,
36790
- onAgentProviderLogin: onAgentProviderLogin ? handleAgentProviderLogin : void 0,
36791
- accountMenuState,
36792
- conversationRailCollapsed: isRenderedConversationRailCollapsed,
36793
- conversationRailWidthPx: clampAgentGUIConversationRailWidthPx(
36794
- state.conversationRailWidthPx,
36795
- renderedWidth
36796
- ),
36797
- conversationRailMinWidthPx: AGENT_GUI_CONVERSATION_RAIL_MIN_WIDTH_PX,
36798
- conversationRailMaxWidthPx: resolveAgentGUIConversationRailMaxWidthPx(
36799
- renderedWidth
36800
36751
  ),
36801
- detailMinWidthPx: AGENT_GUI_DETAIL_MIN_WIDTH_PX,
36802
- uiLanguage: locale,
36803
- onWorkspaceFileReferencesAdded: onWorkspaceFileReferencesAdded ? handleWorkspaceFileReferencesAdded : void 0,
36804
- resolveDroppedFileReferences,
36805
- onConversationRailWidthChanged: handleConversationRailWidthChanged,
36806
- labels,
36807
- workspaceUserProjectI18n,
36808
- workspaceFileManagerCopy: workspaceFileManagerI18n,
36809
- workspaceFileReferenceAdapter,
36810
- onOpenConversationWindow,
36811
- onRequestGitBranches,
36812
- selectProjectDirectory,
36813
- referenceSourceAggregator,
36814
- resolveWorkspaceReferenceEntryIconUrl,
36815
- resolveMentionReferenceTarget,
36816
- resolveWorkspaceReferenceInitialTarget,
36817
- workspaceFileReferenceCopy,
36818
- contextMentionProviders,
36819
- workspaceAppIcons,
36820
- referenceProvenanceFilter
36752
+ /* @__PURE__ */ jsx69(
36753
+ CanvasNodeGhostIconButton,
36754
+ {
36755
+ "aria-label": isConversationRailCollapsed ? t("agentHost.agentGui.expandConversationRail") : t("agentHost.agentGui.collapseConversationRail"),
36756
+ title: isConversationRailCollapsed ? t("agentHost.agentGui.expandConversationRail") : t("agentHost.agentGui.collapseConversationRail"),
36757
+ "data-testid": "agent-gui-toggle-conversation-rail",
36758
+ "data-agent-gui-conversation-rail-collapsed": isConversationRailCollapsed ? "true" : "false",
36759
+ "data-agent-gui-conversation-rail-auto-collapsed": isConversationRailAutoCollapsed ? "true" : "false",
36760
+ onClick: (event) => {
36761
+ event.stopPropagation();
36762
+ handleConversationRailToggle();
36763
+ },
36764
+ children: /* @__PURE__ */ jsx69(
36765
+ CanvasNodePanelLinedIcon,
36766
+ {
36767
+ width: 18,
36768
+ height: 18,
36769
+ "aria-hidden": "true"
36770
+ }
36771
+ )
36772
+ }
36773
+ )
36774
+ ] }),
36775
+ onClose,
36776
+ onResize,
36777
+ isMaximized,
36778
+ isMuted,
36779
+ hideMaximizeButton: true,
36780
+ onMinimize,
36781
+ onToggleMaximize,
36782
+ children: (renderFrame) => {
36783
+ const renderedWidth = renderFrame.size.width;
36784
+ const isRenderedConversationRailCollapsed = isConversationRailCollapsed || shouldAutoCollapseAgentGUIConversationRail(
36785
+ renderedWidth,
36786
+ railAutoCollapseWidthPx
36787
+ );
36788
+ return /* @__PURE__ */ jsx69(
36789
+ AgentGUINodeView,
36790
+ {
36791
+ viewModel,
36792
+ renderSidebarFooter,
36793
+ renderProviderRailEmpty,
36794
+ renderProviderUnavailableState,
36795
+ providerRailAllPresentation,
36796
+ actions: viewActions,
36797
+ isActive,
36798
+ isVisible,
36799
+ onEngagementEvent,
36800
+ composerFocusRequestSequence,
36801
+ newConversationRequestSequence,
36802
+ slashStatusLimits,
36803
+ slashStatusLimitsLoading: workspaceAgentProbes?.isLoadingUsage ?? false,
36804
+ slashStatusLimitsUnavailable,
36805
+ railConfigProvider: railStatusProvider,
36806
+ railSlashStatusLimits,
36807
+ slashStatusUsageCapturedAtUnixMs,
36808
+ slashStatusUsageDidFail,
36809
+ slashStatusUsageAttempted,
36810
+ providerAuthAccountLabels,
36811
+ onAgentConfigMenuOpen: handleAgentConfigMenuOpen,
36812
+ onAgentUsageRefresh: handleAgentUsageRefresh,
36813
+ onSlashStatusOpen: handleAgentProbeInfoOpen,
36814
+ previewMode,
36815
+ onLinkAction: handleLinkAction,
36816
+ onHandoffConversation,
36817
+ capabilityMenuState,
36818
+ onCapabilitySettingsRequest,
36819
+ onAgentProviderLogin: onAgentProviderLogin ? handleAgentProviderLogin : void 0,
36820
+ accountMenuState,
36821
+ conversationRailCollapsed: isRenderedConversationRailCollapsed,
36822
+ conversationRailWidthPx: clampAgentGUIConversationRailWidthPx(
36823
+ state.conversationRailWidthPx,
36824
+ renderedWidth
36825
+ ),
36826
+ conversationRailMinWidthPx: AGENT_GUI_CONVERSATION_RAIL_MIN_WIDTH_PX,
36827
+ conversationRailMaxWidthPx: resolveAgentGUIConversationRailMaxWidthPx(
36828
+ renderedWidth
36829
+ ),
36830
+ detailMinWidthPx: AGENT_GUI_DETAIL_MIN_WIDTH_PX,
36831
+ uiLanguage: locale,
36832
+ onWorkspaceFileReferencesAdded: onWorkspaceFileReferencesAdded ? handleWorkspaceFileReferencesAdded : void 0,
36833
+ resolveDroppedFileReferences,
36834
+ onConversationRailWidthChanged: handleConversationRailWidthChanged,
36835
+ labels,
36836
+ workspaceUserProjectI18n,
36837
+ workspaceFileManagerCopy: workspaceFileManagerI18n,
36838
+ workspaceFileReferenceAdapter,
36839
+ onOpenConversationWindow,
36840
+ onRequestGitBranches,
36841
+ selectProjectDirectory,
36842
+ referenceSourceAggregator,
36843
+ resolveWorkspaceReferenceEntryIconUrl,
36844
+ resolveMentionReferenceTarget,
36845
+ resolveWorkspaceReferenceInitialTarget,
36846
+ workspaceFileReferenceCopy,
36847
+ contextMentionProviders,
36848
+ workspaceAppIcons,
36849
+ referenceProvenanceFilter
36850
+ }
36851
+ );
36821
36852
  }
36822
- );
36823
- }
36853
+ }
36854
+ )
36824
36855
  }
36825
36856
  );
36826
36857
  }, areAgentGUINodePropsEqual);
36827
36858
 
36828
36859
  // AgentGUI.tsx
36829
- import { jsx as jsx69 } from "react/jsx-runtime";
36860
+ import { jsx as jsx70 } from "react/jsx-runtime";
36830
36861
  var AgentGUI = memo15(function AgentGUI2({
36831
36862
  agentActivityRuntime,
36832
36863
  agentHostApi,
@@ -36865,15 +36896,15 @@ var AgentGUI = memo15(function AgentGUI2({
36865
36896
  providerRailEmpty: renderAgentsEmpty
36866
36897
  }
36867
36898
  };
36868
- const content = /* @__PURE__ */ jsx69(AgentGuiI18nProvider, { runtime: i18n, locale, children: /* @__PURE__ */ jsx69(
36899
+ const content = /* @__PURE__ */ jsx70(AgentGuiI18nProvider, { runtime: i18n, locale, children: /* @__PURE__ */ jsx70(
36869
36900
  AgentActivityHostProvider,
36870
36901
  {
36871
36902
  agentActivityRuntime,
36872
36903
  agentHostApi,
36873
- children: /* @__PURE__ */ jsx69(AgentGUINode, { ...nodeProps })
36904
+ children: /* @__PURE__ */ jsx70(AgentGUINode, { ...nodeProps })
36874
36905
  }
36875
36906
  ) });
36876
- return props.frame.previewMode ? content : /* @__PURE__ */ jsx69(TooltipProvider5, { delayDuration: 120, skipDelayDuration: 0, children: content });
36907
+ return props.frame.previewMode ? content : /* @__PURE__ */ jsx70(TooltipProvider5, { delayDuration: 120, skipDelayDuration: 0, children: content });
36877
36908
  });
36878
36909
 
36879
36910
  export {
@@ -36886,4 +36917,4 @@ export {
36886
36917
  resolveAgentGUIAgentTarget,
36887
36918
  AgentGUI
36888
36919
  };
36889
- //# sourceMappingURL=chunk-PPOCDOYZ.js.map
36920
+ //# sourceMappingURL=chunk-HLXQ7BUI.js.map