@tutti-os/agent-gui 0.0.110 → 0.0.112

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 (55) hide show
  1. package/dist/{AgentGUI-BSr3cWcJ.d.ts → AgentGUI-BP3qpvtu.d.ts} +6 -3
  2. package/dist/{AgentRichTextReadonly-42TUVYX5.js → AgentRichTextReadonly-2XWSOTX4.js} +5 -5
  3. package/dist/agent-conversation/index.d.ts +1 -1
  4. package/dist/agent-conversation/index.js +7 -7
  5. package/dist/agent-gui.d.ts +3 -3
  6. package/dist/agent-gui.js +14 -14
  7. package/dist/agent-message-center/index.js +6 -6
  8. package/dist/{agentFileMentionContracts-B70VnPWO.d.ts → agentFileMentionContracts-DY4Z70CN.d.ts} +1 -0
  9. package/dist/{agentGuiNodeTypes-CR_l4HhU.d.ts → agentGuiNodeTypes-diw3oP7y.d.ts} +2 -0
  10. package/dist/{chunk-A5UXTAYJ.js → chunk-3IYKN4ZT.js} +22 -11
  11. package/dist/chunk-3IYKN4ZT.js.map +1 -0
  12. package/dist/{chunk-J7KJ4MX4.js → chunk-44HFASN6.js} +3 -3
  13. package/dist/{chunk-K7WFXVSD.js → chunk-5L5LHAJ3.js} +92 -24
  14. package/dist/chunk-5L5LHAJ3.js.map +1 -0
  15. package/dist/{chunk-YRMT6UYB.js → chunk-7H4T7OZ4.js} +47 -17
  16. package/dist/chunk-7H4T7OZ4.js.map +1 -0
  17. package/dist/{chunk-AIZJHA4Q.js → chunk-C6DI6AJZ.js} +4 -4
  18. package/dist/{chunk-7BN2WQ2M.js → chunk-CZIOYBMC.js} +5 -3
  19. package/dist/chunk-CZIOYBMC.js.map +1 -0
  20. package/dist/{chunk-JBX3JPTC.js → chunk-FAJIWGIT.js} +2 -2
  21. package/dist/{chunk-25BPR75P.js → chunk-FGWORVFI.js} +2 -2
  22. package/dist/{chunk-E74BMFHI.js → chunk-JGPI7CC6.js} +2 -2
  23. package/dist/chunk-JGPI7CC6.js.map +1 -0
  24. package/dist/{chunk-BM3CSFWU.js → chunk-P6SRATRQ.js} +2 -2
  25. package/dist/{chunk-U4CVBCHD.js → chunk-RMTPZVKO.js} +3 -3
  26. package/dist/{chunk-2QHKXI5N.js → chunk-UKCQMTN3.js} +2 -2
  27. package/dist/{chunk-OEYXSD3O.js → chunk-VMZJPA5L.js} +2 -2
  28. package/dist/{chunk-BRLKORQI.js → chunk-VVDJHPV4.js} +5 -5
  29. package/dist/context-mention-palette/index.d.ts +1 -1
  30. package/dist/context-mention-palette/index.js +7 -7
  31. package/dist/i18n/index.d.ts +4 -2
  32. package/dist/i18n/index.js +2 -2
  33. package/dist/index.d.ts +5 -5
  34. package/dist/index.js +14 -14
  35. package/dist/mention-search.d.ts +15 -2
  36. package/dist/mention-search.js +5 -5
  37. package/dist/workbench/contribution.js +3 -3
  38. package/dist/workbench/index.js +3 -3
  39. package/dist/workbench/sessionTitle.js +2 -2
  40. package/package.json +12 -12
  41. package/dist/chunk-7BN2WQ2M.js.map +0 -1
  42. package/dist/chunk-A5UXTAYJ.js.map +0 -1
  43. package/dist/chunk-E74BMFHI.js.map +0 -1
  44. package/dist/chunk-K7WFXVSD.js.map +0 -1
  45. package/dist/chunk-YRMT6UYB.js.map +0 -1
  46. /package/dist/{AgentRichTextReadonly-42TUVYX5.js.map → AgentRichTextReadonly-2XWSOTX4.js.map} +0 -0
  47. /package/dist/{chunk-J7KJ4MX4.js.map → chunk-44HFASN6.js.map} +0 -0
  48. /package/dist/{chunk-AIZJHA4Q.js.map → chunk-C6DI6AJZ.js.map} +0 -0
  49. /package/dist/{chunk-JBX3JPTC.js.map → chunk-FAJIWGIT.js.map} +0 -0
  50. /package/dist/{chunk-25BPR75P.js.map → chunk-FGWORVFI.js.map} +0 -0
  51. /package/dist/{chunk-BM3CSFWU.js.map → chunk-P6SRATRQ.js.map} +0 -0
  52. /package/dist/{chunk-U4CVBCHD.js.map → chunk-RMTPZVKO.js.map} +0 -0
  53. /package/dist/{chunk-2QHKXI5N.js.map → chunk-UKCQMTN3.js.map} +0 -0
  54. /package/dist/{chunk-OEYXSD3O.js.map → chunk-VMZJPA5L.js.map} +0 -0
  55. /package/dist/{chunk-BRLKORQI.js.map → chunk-VVDJHPV4.js.map} +0 -0
@@ -4,9 +4,9 @@ import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
4
4
  import { AgentActivityGoalControlInput, AgentActivityGoalControlResult, AgentActivityCreateSessionInput, AgentActivitySession, AgentActivityDeleteSessionInput, AgentActivityDeleteSessionResult, AgentActivitySendInput, AgentActivitySessionSettings, AgentActivityActivateSessionResult, AgentActivitySnapshot, AgentSessionEngine, AgentActivityMessageOrder, AgentActivityMessagePage, AgentActivitySendInputResult, AgentActivityRenameSessionInput, AgentActivitySubmitInteractiveInput, AgentActivitySubmitInteractiveResult, AgentActivitySnapshotListener, AgentActivitySubmitSettingsPatch } from '@tutti-os/agent-activity-core';
5
5
  import { u as AgentHostAgentSessionComposerSettings, y as AgentHostUnactivateAgentSessionResult, h as AgentGUIAgentTarget, n as AgentGUIProvider, z as AgentPromptContentBlock, m as AgentGUINodeData, P as Point, o as AgentGUIProviderRailAllPresentation, p as AgentGUIProviderRailMode, q as AgentGUIProviderReadinessGate, l as AgentGUIHomeSuggestionId, N as NodeFrame, e as AgentGUIAgentDirectorySnapshot, k as AgentGUIAllAgentsPresentation } from './types-yF_0mrNS.js';
6
6
  import { WorkspaceQueryCache } from './workspace-query-cache.js';
7
- import { A as AgentComposerDraft, q as AgentSessionCommand, d as AgentGUIProviderSkillOption, b as AgentGUIComposerSettingsVM, e as AgentGUIQueueStatus, f as AgentGUIQueuedPromptVM, l as AgentMessageMarkdownWorkspaceAppIcon, r as AgentSlashCommandCapability, c as AgentGUINodeViewModel, n as AgentProbeSnapshot, a as AgentComposerDraftFile, i as AgentHostInputApi } from './agentGuiNodeTypes-CR_l4HhU.js';
7
+ import { A as AgentComposerDraft, q as AgentSessionCommand, d as AgentGUIProviderSkillOption, b as AgentGUIComposerSettingsVM, e as AgentGUIQueueStatus, f as AgentGUIQueuedPromptVM, l as AgentMessageMarkdownWorkspaceAppIcon, r as AgentSlashCommandCapability, c as AgentGUINodeViewModel, n as AgentProbeSnapshot, a as AgentComposerDraftFile, i as AgentHostInputApi } from './agentGuiNodeTypes-diw3oP7y.js';
8
8
  import { WorkspaceFileReference, ReferenceLocateTarget, WorkspaceFileReferenceAdapter, ReferenceProvenanceCatalog } from '@tutti-os/workspace-file-reference/contracts';
9
- import { A as AgentContextMentionItem } from './agentFileMentionContracts-B70VnPWO.js';
9
+ import { A as AgentContextMentionItem } from './agentFileMentionContracts-DY4Z70CN.js';
10
10
  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-D3Dn2LqN.js';
@@ -37,9 +37,10 @@ interface AgentActivityRuntimeListSessionMessagesInput {
37
37
  }
38
38
  interface AgentActivityRuntimeListGeneratedFilesInput {
39
39
  agentTargetIds?: readonly string[];
40
+ cursor?: string;
40
41
  limit?: number;
41
42
  query?: string;
42
- sessionCwd?: string;
43
+ sectionKey: string;
43
44
  signal?: AbortSignal;
44
45
  workspaceId: string;
45
46
  }
@@ -113,6 +114,8 @@ interface AgentActivityRuntimeGeneratedFile {
113
114
  }
114
115
  interface AgentActivityRuntimeGeneratedFileList {
115
116
  entries: AgentActivityRuntimeGeneratedFile[];
117
+ hasMore?: boolean;
118
+ nextCursor?: string;
116
119
  workspaceId: string;
117
120
  }
118
121
  interface AgentActivityRuntimeEnsureSessionSynchronizedInput {
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  AgentRichTextReadonly
3
- } from "./chunk-JBX3JPTC.js";
4
- import "./chunk-OEYXSD3O.js";
3
+ } from "./chunk-FAJIWGIT.js";
4
+ import "./chunk-VMZJPA5L.js";
5
5
  import "./chunk-LUGELG5V.js";
6
6
  import "./chunk-KPMQGPYU.js";
7
7
  import "./chunk-W6TO6K2X.js";
8
8
  import "./chunk-PJP5BUU6.js";
9
9
  import "./chunk-7KVZPJ3O.js";
10
- import "./chunk-25BPR75P.js";
11
- import "./chunk-7BN2WQ2M.js";
10
+ import "./chunk-FGWORVFI.js";
11
+ import "./chunk-CZIOYBMC.js";
12
12
  import "./chunk-D2JUDUYY.js";
13
13
  import "./chunk-6CUELYIF.js";
14
14
  import "./chunk-YNSXUEIR.js";
15
15
  export {
16
16
  AgentRichTextReadonly
17
17
  };
18
- //# sourceMappingURL=AgentRichTextReadonly-42TUVYX5.js.map
18
+ //# sourceMappingURL=AgentRichTextReadonly-2XWSOTX4.js.map
@@ -2,7 +2,7 @@ import * as react from 'react';
2
2
  import { ReactNode, JSX } from 'react';
3
3
  import { c as AgentConversationVM, e as WorkspaceLinkAction, d as WorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-D3Dn2LqN.js';
4
4
  export { B as BuildWorkspaceAgentSessionDetailInput, W as WorkspaceAgentActivityTimelineItem, f as buildWorkspaceAgentSessionDetailViewModel } from '../agentConversationVM-D3Dn2LqN.js';
5
- import { d as AgentGUIProviderSkillOption, l as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-CR_l4HhU.js';
5
+ import { d as AgentGUIProviderSkillOption, l as AgentMessageMarkdownWorkspaceAppIcon } from '../agentGuiNodeTypes-diw3oP7y.js';
6
6
  export { W as WorkspaceAgentActivityCard } from '../workspaceAgentActivityListTypes-DZfS_HgG.js';
7
7
  import '@tutti-os/workspace-issue-manager/core';
8
8
  import '@tutti-os/agent-activity-core';
@@ -6,17 +6,17 @@ import {
6
6
  projectAgentConversationVM,
7
7
  reconcileProjectedAgentConversationVM,
8
8
  useProjectedAgentConversation
9
- } from "../chunk-BRLKORQI.js";
10
- import "../chunk-JBX3JPTC.js";
9
+ } from "../chunk-VVDJHPV4.js";
10
+ import "../chunk-FAJIWGIT.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-OEYXSD3O.js";
15
+ import "../chunk-VMZJPA5L.js";
16
16
  import "../chunk-LUGELG5V.js";
17
- import "../chunk-U4CVBCHD.js";
17
+ import "../chunk-RMTPZVKO.js";
18
18
  import "../chunk-KPMQGPYU.js";
19
- import "../chunk-E74BMFHI.js";
19
+ import "../chunk-JGPI7CC6.js";
20
20
  import "../chunk-F5UR6EJG.js";
21
21
  import "../chunk-W6TO6K2X.js";
22
22
  import "../chunk-PJP5BUU6.js";
@@ -24,8 +24,8 @@ import "../chunk-7KVZPJ3O.js";
24
24
  import "../chunk-MIJXEELH.js";
25
25
  import {
26
26
  translate
27
- } from "../chunk-25BPR75P.js";
28
- import "../chunk-7BN2WQ2M.js";
27
+ } from "../chunk-FGWORVFI.js";
28
+ import "../chunk-CZIOYBMC.js";
29
29
  import "../chunk-D2JUDUYY.js";
30
30
  import "../chunk-6CUELYIF.js";
31
31
  import "../chunk-YNSXUEIR.js";
@@ -1,13 +1,13 @@
1
1
  import 'react';
2
2
  import '@tutti-os/ui-i18n-runtime';
3
- export { n as AgentGUI, w as AgentGUIProps } from './AgentGUI-BSr3cWcJ.js';
4
- import './agentGuiNodeTypes-CR_l4HhU.js';
3
+ export { n as AgentGUI, w as AgentGUIProps } from './AgentGUI-BP3qpvtu.js';
4
+ import './agentGuiNodeTypes-diw3oP7y.js';
5
5
  export { l as AgentGUIHomeSuggestionId } from './types-yF_0mrNS.js';
6
6
  import './runtime-BBNdWgDU.js';
7
7
  export { ReferenceProvenanceCatalog as AgentGUIReferenceProvenanceFilterCatalog } from '@tutti-os/workspace-file-reference/contracts';
8
8
  import '@tutti-os/agent-activity-core';
9
9
  import './workspace-query-cache.js';
10
- import './agentFileMentionContracts-B70VnPWO.js';
10
+ import './agentFileMentionContracts-DY4Z70CN.js';
11
11
  import '@tutti-os/workspace-file-manager/services';
12
12
  import '@tutti-os/workspace-file-reference/core';
13
13
  import './agentConversationVM-D3Dn2LqN.js';
package/dist/agent-gui.js CHANGED
@@ -1,41 +1,41 @@
1
1
  import {
2
2
  AgentGUI
3
- } from "./chunk-YRMT6UYB.js";
3
+ } from "./chunk-7H4T7OZ4.js";
4
4
  import "./chunk-A4WCTHWS.js";
5
- import "./chunk-J7KJ4MX4.js";
5
+ import "./chunk-44HFASN6.js";
6
6
  import "./chunk-AY5AFMT2.js";
7
- import "./chunk-BM3CSFWU.js";
7
+ import "./chunk-P6SRATRQ.js";
8
8
  import "./chunk-JLRPIEIE.js";
9
9
  import "./chunk-R2ZADXRB.js";
10
10
  import "./chunk-UHBCM6RO.js";
11
- import "./chunk-BRLKORQI.js";
12
- import "./chunk-JBX3JPTC.js";
11
+ import "./chunk-VVDJHPV4.js";
12
+ import "./chunk-FAJIWGIT.js";
13
13
  import "./chunk-VMQNG2KI.js";
14
- import "./chunk-A5UXTAYJ.js";
14
+ import "./chunk-3IYKN4ZT.js";
15
15
  import "./chunk-7OYHDOGG.js";
16
16
  import "./chunk-FGLQZ6I4.js";
17
17
  import "./chunk-L2GENUG3.js";
18
- import "./chunk-K7WFXVSD.js";
18
+ import "./chunk-5L5LHAJ3.js";
19
19
  import "./chunk-USIFGHT3.js";
20
20
  import "./chunk-XJ34OIEQ.js";
21
21
  import "./chunk-R7AXDQCA.js";
22
- import "./chunk-OEYXSD3O.js";
22
+ import "./chunk-VMZJPA5L.js";
23
23
  import "./chunk-LUGELG5V.js";
24
24
  import "./chunk-JM24HADP.js";
25
- import "./chunk-AIZJHA4Q.js";
25
+ import "./chunk-C6DI6AJZ.js";
26
26
  import "./chunk-2RQM7PJN.js";
27
- import "./chunk-U4CVBCHD.js";
27
+ import "./chunk-RMTPZVKO.js";
28
28
  import "./chunk-KPMQGPYU.js";
29
- import "./chunk-2QHKXI5N.js";
29
+ import "./chunk-UKCQMTN3.js";
30
30
  import "./chunk-YMXYBG7U.js";
31
- import "./chunk-E74BMFHI.js";
31
+ import "./chunk-JGPI7CC6.js";
32
32
  import "./chunk-F5UR6EJG.js";
33
33
  import "./chunk-W6TO6K2X.js";
34
34
  import "./chunk-PJP5BUU6.js";
35
35
  import "./chunk-7KVZPJ3O.js";
36
36
  import "./chunk-MIJXEELH.js";
37
- import "./chunk-25BPR75P.js";
38
- import "./chunk-7BN2WQ2M.js";
37
+ import "./chunk-FGWORVFI.js";
38
+ import "./chunk-CZIOYBMC.js";
39
39
  import "./chunk-D2JUDUYY.js";
40
40
  import "./chunk-6CUELYIF.js";
41
41
  import "./chunk-YNSXUEIR.js";
@@ -6,7 +6,7 @@ import {
6
6
  dispatchAgentPlanPromptAction,
7
7
  getPromptToolDetails,
8
8
  isPromptRequestIdTitle
9
- } from "../chunk-AIZJHA4Q.js";
9
+ } from "../chunk-C6DI6AJZ.js";
10
10
  import {
11
11
  useEngineSelector
12
12
  } from "../chunk-2RQM7PJN.js";
@@ -19,20 +19,20 @@ import {
19
19
  isExitPlanSwitchModeInput,
20
20
  normalizeAgentApprovalPurpose,
21
21
  normalizeAskUserQuestions
22
- } from "../chunk-U4CVBCHD.js";
22
+ } from "../chunk-RMTPZVKO.js";
23
23
  import {
24
24
  cn
25
25
  } from "../chunk-KPMQGPYU.js";
26
26
  import {
27
27
  userAvatarPlaceholderUrl,
28
28
  workspaceAgentActivityStatusLabel
29
- } from "../chunk-2QHKXI5N.js";
29
+ } from "../chunk-UKCQMTN3.js";
30
30
  import {
31
31
  resolveWorkspaceAgentSessionSortTimeUnixMs
32
32
  } from "../chunk-YMXYBG7U.js";
33
33
  import {
34
34
  workspaceAgentProviderLabel
35
- } from "../chunk-E74BMFHI.js";
35
+ } from "../chunk-JGPI7CC6.js";
36
36
  import "../chunk-F5UR6EJG.js";
37
37
  import {
38
38
  managedAgentRoundedIconUrl
@@ -46,8 +46,8 @@ import {
46
46
  AgentGuiI18nProvider,
47
47
  getActiveUiLanguage,
48
48
  useTranslation
49
- } from "../chunk-25BPR75P.js";
50
- import "../chunk-7BN2WQ2M.js";
49
+ } from "../chunk-FGWORVFI.js";
50
+ import "../chunk-CZIOYBMC.js";
51
51
  import "../chunk-D2JUDUYY.js";
52
52
  import "../chunk-6CUELYIF.js";
53
53
  import "../chunk-YNSXUEIR.js";
@@ -66,6 +66,7 @@ interface AgentMentionAgentTargetItem {
66
66
  description?: string;
67
67
  agentProviderId?: string;
68
68
  iconUrl?: string;
69
+ availabilityStatus?: string;
69
70
  }
70
71
  interface AgentMentionWorkspaceReferenceItem {
71
72
  kind: "workspace-reference";
@@ -553,6 +553,8 @@ interface AgentGUIComposerSettingsVM {
553
553
  selectedPermissionModeValue?: string | null;
554
554
  permissionConfig?: AgentSessionPermissionConfig | null;
555
555
  selectedProjectPath?: string | null;
556
+ /** Persisted rail membership used to scope Agent-generated file mentions. */
557
+ selectedProjectSectionKey?: string | null;
556
558
  projectLocked?: boolean;
557
559
  projectPathIsRemote?: boolean;
558
560
  collapseModelOptionsToLatest?: boolean;
@@ -5,7 +5,7 @@ import {
5
5
  agentMentionFilterLabel,
6
6
  agentMentionGroupLabel,
7
7
  mentionGroupExpandCount
8
- } from "./chunk-K7WFXVSD.js";
8
+ } from "./chunk-5L5LHAJ3.js";
9
9
  import {
10
10
  resolveAgentMentionFileThumbnailUrl,
11
11
  resolveAgentMentionFileVisualKind
@@ -13,13 +13,13 @@ import {
13
13
  import {
14
14
  userAvatarPlaceholderUrl,
15
15
  workspaceAgentActivityStatusLabel
16
- } from "./chunk-2QHKXI5N.js";
16
+ } from "./chunk-UKCQMTN3.js";
17
17
  import {
18
18
  managedAgentRoundedIconUrl
19
19
  } from "./chunk-W6TO6K2X.js";
20
20
  import {
21
21
  translate
22
- } from "./chunk-25BPR75P.js";
22
+ } from "./chunk-FGWORVFI.js";
23
23
 
24
24
  // agent-gui/agentGuiNode/AgentFileMentionPalette.tsx
25
25
  import {
@@ -94,10 +94,14 @@ var AGENT_MENTION_ROW_CLASS_NAMES = {
94
94
  function agentMentionItemKey(item) {
95
95
  return `${item.kind}:${item.kind === "file" ? agentGeneratedMentionItemKey(item) : item.targetId}`;
96
96
  }
97
+ function isAgentMentionItemDisabled(item) {
98
+ return item.kind === "agent-target" && item.availabilityStatus !== void 0 && item.availabilityStatus !== "ready" && item.availabilityStatus !== "available";
99
+ }
97
100
  function flattenAgentMentionPaletteEntries(state) {
98
101
  return flattenMentionPaletteEntries(
99
102
  state,
100
- (item) => agentMentionItemKey(item)
103
+ (item) => agentMentionItemKey(item),
104
+ isAgentMentionItemDisabled
101
105
  ).map((entry) => {
102
106
  if (entry.type === "item") {
103
107
  const item = entry.groupId !== void 0 && entry.itemIndex !== void 0 ? state.groups.find((group) => group.id === entry.groupId)?.items[entry.itemIndex] : void 0;
@@ -121,7 +125,9 @@ function groupStartKeys(state) {
121
125
  return state.categories.map((category) => `category:${category.id}`);
122
126
  }
123
127
  return state.groups.map((group) => {
124
- const firstItem = group.items[0];
128
+ const firstItem = group.items.find(
129
+ (item) => !isAgentMentionItemDisabled(item)
130
+ );
125
131
  if (firstItem) {
126
132
  return `${group.id}:${agentMentionItemKey(firstItem)}`;
127
133
  }
@@ -195,6 +201,7 @@ function AgentFileMentionPalette({
195
201
  state: shellState,
196
202
  highlightedKey,
197
203
  getItemKey: agentMentionItemKey,
204
+ isItemDisabled: isAgentMentionItemDisabled,
198
205
  renderItem: (item, { group }) => renderMentionRow(agentMentionItemToRowItem(item), {
199
206
  classNames: AGENT_MENTION_ROW_CLASS_NAMES,
200
207
  dataAttributeMode: "agent",
@@ -354,7 +361,7 @@ function agentMentionItemToRowItem(item) {
354
361
  name: item.name,
355
362
  description: mentionDescriptionWithoutTerminalPeriod(item.description),
356
363
  iconUrl: item.iconUrl ?? managedAgentRoundedIconUrl(item.agentProviderId),
357
- statusTag: agentTargetAvailableStatusTag()
364
+ statusTag: agentTargetAvailabilityStatusTag(item.availabilityStatus)
358
365
  };
359
366
  }
360
367
  if (item.kind === "workspace-reference") {
@@ -422,12 +429,15 @@ function agentSessionStatusTag(status) {
422
429
  dataStatus: activityStatus
423
430
  };
424
431
  }
425
- function agentTargetAvailableStatusTag() {
432
+ function agentTargetAvailabilityStatusTag(availabilityStatus) {
433
+ const available = availabilityStatus === void 0 || availabilityStatus === "ready" || availabilityStatus === "available";
426
434
  return {
427
- label: translate("agentHost.agentGui.mentionAgentTargetAvailable"),
428
- tone: "green",
435
+ label: translate(
436
+ available ? "agentHost.agentGui.mentionAgentTargetAvailable" : "agentHost.agentGui.mentionAgentTargetUnavailable"
437
+ ),
438
+ tone: available ? "green" : "neutral",
429
439
  variant: "activity",
430
- dataStatus: "available"
440
+ dataStatus: available ? "available" : "unavailable"
431
441
  };
432
442
  }
433
443
  function agentIssueStatusTag(status) {
@@ -500,9 +510,10 @@ function shouldShowBrowseSearchHint(input) {
500
510
 
501
511
  export {
502
512
  agentMentionItemKey,
513
+ isAgentMentionItemDisabled,
503
514
  flattenAgentMentionPaletteEntries,
504
515
  groupStartKeys,
505
516
  AgentFileMentionPalette,
506
517
  AgentContextMentionPalette
507
518
  };
508
- //# sourceMappingURL=chunk-A5UXTAYJ.js.map
519
+ //# sourceMappingURL=chunk-3IYKN4ZT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../agent-gui/agentGuiNode/AgentFileMentionPalette.tsx","../shared/roomIssueStatusLabel.ts"],"sourcesContent":["import {\n normalizeAgentActivityDisplayStatus,\n type AgentActivityDisplayStatus\n} from \"@tutti-os/agent-activity-core\";\nimport {\n MentionPaletteFromState,\n flattenMentionPaletteEntries,\n renderMentionRow,\n type MentionPaletteEntry,\n type MentionPaletteState,\n type MentionPaletteTheme,\n type MentionRowClassNames,\n type MentionRowItem,\n type MentionRowStatusTag,\n type MentionRowStatusTone\n} from \"@tutti-os/ui-rich-text/at-panel\";\nimport { resolveIssueManagerStatusPresentation } from \"@tutti-os/workspace-issue-manager/ui\";\nimport { userAvatarPlaceholderUrl } from \"../../shared/userAvatarPlaceholder\";\nimport { translate } from \"../../i18n/index\";\nimport { managedAgentRoundedIconUrl } from \"../../shared/managedAgentIcons\";\nimport { workspaceAgentActivityStatusLabel } from \"../../shared/workspaceAgentActivityStatusLabel\";\nimport { roomIssueStatusLabel } from \"../../shared/roomIssueStatusLabel\";\nimport {\n resolveAgentMentionFileThumbnailUrl,\n resolveAgentMentionFileVisualKind\n} from \"../shared/mentionFilePresentation\";\nimport {\n agentMentionEmptyGroupLabel,\n agentMentionFilterLabel,\n agentMentionGroupLabel\n} from \"./AgentMentionLabels\";\nimport {\n AGENT_MENTION_FILTER_TAB_ORDER,\n mentionGroupExpandCount\n} from \"./agentMentionSearchHelpers\";\nimport {\n type AgentMentionGroup,\n type AgentMentionBrowseCategory,\n type AgentMentionFilterId,\n type AgentMentionGroupId,\n type AgentMentionSearchState\n} from \"./AgentMentionSearchController\";\nimport { agentGeneratedMentionItemKey } from \"./agentMentionAgentGeneratedFilesPresentation\";\nimport type { AgentContextMentionItem } from \"./agentRichText/agentFileMentionExtension\";\nimport type { ReactNode } from \"react\";\n\nexport interface AgentMentionPaletteEntry {\n key: string;\n type: \"category\" | \"item\" | \"expand\";\n categoryId?: AgentMentionBrowseCategory[\"id\"];\n groupId?: AgentMentionGroupId;\n item?: AgentContextMentionItem;\n}\n\nexport interface AgentFileMentionPaletteProps {\n state: AgentMentionSearchState;\n highlightedKey: string | null;\n label: string;\n loadingLabel: string;\n emptyLabel: string;\n errorLabel: string;\n tabHintLabel: string;\n maxHeightPx: number;\n shouldCenterHighlightedItem?: boolean;\n onHighlightChange: (key: string) => void;\n onSelectItem: (entry: AgentContextMentionItem) => void;\n onSelectCategory: (categoryId: AgentMentionBrowseCategory[\"id\"]) => void;\n onSelectFilter: (filter: AgentMentionFilterId) => void;\n onExpandGroup: (groupId: AgentMentionGroupId) => void;\n onNavigateHierarchy?: (delta: 1 | -1) => void;\n onNavigateIntoItem?: (item: AgentContextMentionItem) => void;\n /**\n * 可选:点击 issue / app 行末尾的「查看产物」入口时回调(打开引用 picker 并定位)。\n * 仅 workspace-issue / workspace-app 行渲染该入口。\n */\n onOpenReferences?: (item: AgentContextMentionItem) => void;\n /** Controlled provenance filter supplied by the AgentGUI orchestration layer. */\n provenanceFilterControl?: ReactNode;\n}\n\nconst AGENT_MENTION_PALETTE_THEME: MentionPaletteTheme = {\n classNames: {\n palette: \"agent-gui-node__mention-palette\",\n header: \"agent-gui-node__mention-palette-header\",\n footer: \"agent-gui-node__mention-palette-footer\",\n tabs: \"agent-gui-node__mention-palette-tabs\",\n scrollRegion: \"agent-gui-node__mention-palette-scroll-region\",\n scrollbar:\n \"workspace-agents-status-panel__scrollbar agent-gui-node__mention-palette-scrollbar\",\n scrollbarThumb: \"workspace-agents-status-panel__scrollbar-thumb\",\n hint: \"agent-gui-node__mention-palette-hint\",\n hintItem: \"agent-gui-node__mention-palette-hint-item\",\n hintButton: \"agent-gui-node__mention-palette-hint-button\",\n hintSeparator: \"agent-gui-node__mention-palette-hint-separator\",\n shortcut: \"agent-gui-node__mention-palette-shortcut\",\n shortcutArrow: \"agent-gui-node__mention-palette-shortcut--arrow\",\n shortcutButton: \"agent-gui-node__mention-palette-shortcut-button\",\n shortcutGroup: \"agent-gui-node__mention-palette-shortcut-group\"\n },\n testIds: {\n emptyState: \"agent-gui-mention-palette-empty-state\",\n hint: \"agent-gui-mention-palette-hint\",\n scrollbar: \"agent-gui-mention-palette-scrollbar\",\n loadingSpinner: \"agent-mention-loading-spinner\"\n },\n groupDividerAttribute: \"data-agent-mention-group-divider\"\n};\n\n/**\n * The agent composer's existing structural row class names. Passing these to\n * {@link renderMentionRow} keeps the rendered DOM byte-identical to the\n * pre-refactor markup (the agent stylesheet `agentactivity.css` owns these\n * rules and the agent spec greps them), while the shared component defaults to\n * package-owned `rich-text-at-mention-*` names for other surfaces.\n */\nconst AGENT_MENTION_ROW_CLASS_NAMES: MentionRowClassNames = {\n fileIcon: \"agent-gui-node__mention-file-icon\",\n fileThumb: \"agent-gui-node__mention-file-thumb\",\n kindIcon: \"tsh-agent-object-token__kind-icon\",\n avatarImgUserPlaceholder:\n \"workspace-agents-status-panel__avatar-img--user-placeholder\"\n};\n\n/**\n * Stable per-item key suffix. The shared shell composes the full entry key as\n * `${group.id}:${agentMentionItemKey(item)}`, matching the agent's historical\n * `${group.id}:${item.kind}:${...}` format so highlight keys stay compatible.\n */\nexport function agentMentionItemKey(item: AgentContextMentionItem): string {\n return `${item.kind}:${\n item.kind === \"file\" ? agentGeneratedMentionItemKey(item) : item.targetId\n }`;\n}\n\nexport function isAgentMentionItemDisabled(\n item: AgentContextMentionItem\n): boolean {\n return (\n item.kind === \"agent-target\" &&\n item.availabilityStatus !== undefined &&\n item.availabilityStatus !== \"ready\" &&\n item.availabilityStatus !== \"available\"\n );\n}\n\nexport function flattenAgentMentionPaletteEntries(\n state: AgentMentionSearchState\n): AgentMentionPaletteEntry[] {\n return flattenMentionPaletteEntries(\n state,\n (item) => agentMentionItemKey(item),\n isAgentMentionItemDisabled\n ).map((entry: MentionPaletteEntry): AgentMentionPaletteEntry => {\n if (entry.type === \"item\") {\n const item =\n entry.groupId !== undefined && entry.itemIndex !== undefined\n ? state.groups.find((group) => group.id === entry.groupId)?.items[\n entry.itemIndex\n ]\n : undefined;\n return {\n key: entry.key,\n type: \"item\",\n groupId: entry.groupId as AgentMentionGroupId | undefined,\n item\n };\n }\n return {\n key: entry.key,\n type: entry.type,\n categoryId: entry.categoryId as AgentMentionFilterId | undefined,\n groupId: entry.groupId as AgentMentionGroupId | undefined\n };\n });\n}\n\nexport function groupStartKeys(state: AgentMentionSearchState): string[] {\n if (state.mode === \"browse\") {\n return state.categories.map((category) => `category:${category.id}`);\n }\n return state.groups\n .map((group) => {\n const firstItem = group.items.find(\n (item) => !isAgentMentionItemDisabled(item)\n );\n if (firstItem) {\n return `${group.id}:${agentMentionItemKey(firstItem)}`;\n }\n if (group.hasMore) {\n return `expand:${group.id}`;\n }\n return null;\n })\n .filter((key): key is string => key !== null);\n}\n\nexport function AgentFileMentionPalette({\n state,\n highlightedKey,\n label,\n loadingLabel,\n emptyLabel,\n errorLabel,\n tabHintLabel,\n maxHeightPx,\n shouldCenterHighlightedItem = false,\n onHighlightChange,\n onSelectItem,\n onSelectCategory,\n onSelectFilter,\n onExpandGroup,\n onNavigateHierarchy,\n onNavigateIntoItem,\n onOpenReferences,\n provenanceFilterControl\n}: AgentFileMentionPaletteProps): React.JSX.Element {\n \"use memo\";\n const openReferencesLabel = translate(\n \"agentHost.agentGui.mentionOpenReferences\"\n );\n const navigateIntoLabel = translate(\n \"agentHost.agentGui.fileMentionEnterFolder\"\n );\n const filter = state.filter as AgentMentionFilterId;\n const highlightedBrowseCategory = highlightedKey?.startsWith(\"category:\")\n ? highlightedKey.slice(\"category:\".length)\n : null;\n const showBrowseHint = shouldShowBrowseSearchHint({\n browseFilter: filter,\n groups: state.groups,\n highlightedBrowseCategory,\n mode: state.mode\n });\n\n // Browse mode carries its own category list (with labels); results mode tabs\n // are the fixed agent filter order. The shared shell renders a single tab\n // source, so resolve the right one here.\n const categories =\n state.mode === \"browse\"\n ? state.categories\n : AGENT_MENTION_FILTER_TAB_ORDER.map((id) => ({\n id,\n label: agentMentionFilterLabel(id)\n }));\n\n // When the agent wants the single keyboard browse hint we hand the shell an\n // empty group list so it renders its (keyboard-icon) empty state with our\n // computed hint copy. Otherwise we map the real groups, decorating each with\n // the agent-specific label / empty / expand / spacing chrome.\n const shellState: MentionPaletteState<AgentContextMentionItem> =\n showBrowseHint\n ? { ...state, categories, groups: [] }\n : {\n ...state,\n categories,\n groups: state.groups.map((group, index) =>\n decorateMentionGroup(\n group,\n index,\n state.groups,\n filter,\n state.query\n )\n )\n };\n\n const emptyLabelForShell = showBrowseHint\n ? browseHintForFilter(filter)\n : resolveMentionPaletteEmptyLabel({\n emptyLabel,\n filter,\n mode: state.mode,\n query: state.query\n });\n\n return (\n <MentionPaletteFromState<AgentContextMentionItem>\n state={shellState}\n highlightedKey={highlightedKey}\n getItemKey={agentMentionItemKey}\n isItemDisabled={isAgentMentionItemDisabled}\n renderItem={(item, { group }) =>\n renderMentionRow(agentMentionItemToRowItem(item), {\n classNames: AGENT_MENTION_ROW_CLASS_NAMES,\n dataAttributeMode: \"agent\",\n ...(onNavigateIntoItem && canNavigateIntoMentionItem(item, group)\n ? {\n onNavigateInto: () => onNavigateIntoItem(item),\n navigateIntoLabel\n }\n : {}),\n ...(onOpenReferences && isReferenceableMentionItem(item)\n ? {\n onOpenReferences: () => onOpenReferences(item),\n openReferencesLabel\n }\n : {})\n })\n }\n labels={{\n loading: loadingLabel,\n empty: emptyLabelForShell,\n error: errorLabel,\n tabHint: tabHintLabel,\n listbox: label\n }}\n hintLabels={{\n cycleFilter: translate(\"agentHost.agentGui.fileMentionSwitchCategory\"),\n moveSelection: translate(\n \"agentHost.agentGui.fileMentionSwitchSelection\"\n ),\n navigateHierarchy: translate(\n \"agentHost.agentGui.fileMentionNavigateHierarchy\"\n )\n }}\n maxHeightPx={maxHeightPx}\n headerActions={\n filter === \"session\" || filter === \"file\" || filter === \"issue\"\n ? provenanceFilterControl\n : undefined\n }\n scrollHighlightedIntoViewCentered={shouldCenterHighlightedItem}\n theme={AGENT_MENTION_PALETTE_THEME}\n callbacks={{\n onHighlightChange,\n onActiveCategoryIdChange: (categoryId) => {\n onSelectCategory(categoryId as AgentMentionBrowseCategory[\"id\"]);\n onSelectFilter(categoryId as AgentMentionFilterId);\n },\n onExpandGroup: (groupId) =>\n onExpandGroup(groupId as AgentMentionGroupId),\n onSelectItem\n }}\n onNavigateHierarchy={onNavigateHierarchy}\n />\n );\n}\n\nexport const AgentContextMentionPalette = AgentFileMentionPalette;\nexport type AgentContextMentionPaletteProps = AgentFileMentionPaletteProps;\n\n/**\n * Map a controller group onto the shared shell group, layering in the\n * agent-specific chrome the generic shell intentionally omits: translated\n * group / empty / expand labels, file-search chrome suppression, and the extra\n * top margin between the \"my sessions\" and \"collab sessions\" groups.\n */\nfunction decorateMentionGroup(\n group: AgentMentionGroup,\n index: number,\n groups: ReadonlyArray<AgentMentionGroup>,\n filter: AgentMentionFilterId,\n query: string\n): AgentMentionGroup {\n const groupId = group.id as AgentMentionGroupId;\n const suppressChrome = shouldSuppressFileSearchGroupChrome(filter, query);\n const followsMySessions =\n groupId === \"collab_sessions\" &&\n (groups[index - 1]?.id as AgentMentionGroupId) === \"my_sessions\";\n const showLabel = shouldRenderMentionGroupLabel({\n filter,\n groupCount: groups.length,\n groupId,\n groupLabel: group.label,\n query\n });\n const groupLabel = group.label ?? agentMentionGroupLabel(groupId);\n return {\n ...group,\n label: showLabel ? groupLabel : undefined,\n emptyLabel: suppressChrome\n ? undefined\n : (group.emptyLabel ?? agentMentionEmptyGroupLabel(groupId, query)),\n expandLabel: group.hasMore\n ? translate(\"agentHost.agentGui.contextPickerExpandMore\", {\n count: mentionGroupExpandCount(group, filter)\n })\n : undefined,\n expandLoadingLabel: translate(\n \"agentHost.agentGui.contextPickerLoadMoreLoading\"\n ),\n expandErrorLabel: translate(\n \"agentHost.agentGui.contextPickerLoadMoreRetry\"\n ),\n sectionClassName: followsMySessions ? \"mt-2\" : undefined,\n hideTopDivider: suppressChrome\n };\n}\n\nfunction shouldSuppressFileSearchGroupChrome(\n filter: AgentMentionFilterId,\n query: string\n): boolean {\n return filter === \"file\" && query.trim().length > 0;\n}\n\nfunction resolveMentionPaletteEmptyLabel(input: {\n emptyLabel: string;\n filter: AgentMentionFilterId;\n mode: AgentMentionSearchState[\"mode\"];\n query: string;\n}): string {\n if (\n input.mode === \"results\" &&\n input.filter === \"file\" &&\n input.query.trim().length > 0\n ) {\n return translate(\"agentHost.agentGui.mentionNoMatchingFiles\");\n }\n if (input.filter === \"session\") {\n return agentMentionEmptyGroupLabel(\"my_sessions\", input.query);\n }\n if (input.filter === \"app\") {\n return agentMentionEmptyGroupLabel(\"apps\", input.query);\n }\n if (input.filter === \"agent\") {\n return agentMentionEmptyGroupLabel(\"agents\", input.query);\n }\n if (input.filter === \"issue\") {\n return agentMentionEmptyGroupLabel(\"issues\", input.query);\n }\n return input.emptyLabel;\n}\n\nfunction shouldRenderMentionGroupLabel(input: {\n filter: AgentMentionFilterId;\n groupCount: number;\n groupId: AgentMentionGroupId;\n groupLabel?: string;\n query: string;\n}): boolean {\n if (shouldSuppressFileSearchGroupChrome(input.filter, input.query)) {\n return false;\n }\n if (input.groupCount !== 1) {\n return true;\n }\n if (input.groupId.startsWith(\"agent:\")) {\n return true;\n }\n return (\n (input.groupLabel ?? agentMentionGroupLabel(input.groupId)) !==\n agentMentionFilterLabel(input.filter)\n );\n}\n\n/**\n * Resolve an agent mention item into the shared, display-ready\n * {@link MentionRowItem} view-model the generic {@link renderMentionRow}\n * consumes. All agent-specific bits — i18n via {@link translate}, the user\n * avatar placeholder asset, the managed-agent rounded icon, and the activity /\n * issue status labels — are resolved here so the shared renderer stays pure.\n */\nfunction agentMentionItemToRowItem(\n item: AgentContextMentionItem\n): MentionRowItem {\n if (item.kind === \"file\") {\n const visualKind = resolveAgentMentionFileVisualKind({\n entryKind: item.entryKind,\n href: item.href,\n mentionNavigation: item.mentionNavigation,\n name: item.name,\n path: item.path\n });\n const childCountLabel =\n item.mentionNavigation === \"agent-generated-folder\" &&\n typeof item.childCount === \"number\" &&\n item.childCount > 0\n ? translate(\"agentHost.agentGui.mentionAgentGeneratedFolderFileCount\", {\n count: item.childCount\n })\n : null;\n return {\n kind: \"file\",\n name: item.name,\n visualKind,\n thumbnailUrl: resolveAgentMentionFileThumbnailUrl(item) ?? null,\n childCountLabel,\n entryKind: item.entryKind,\n mentionNavigation: item.mentionNavigation\n };\n }\n\n if (item.kind === \"session\") {\n const isMySession = item.scope === \"my_sessions\";\n return {\n kind: \"session\",\n participant: isMySession\n ? item.agentName\n : `${item.initiatorName} & ${item.agentName}`,\n summary: item.title,\n userAvatarUrl: isMySession ? null : (item.initiatorAvatarUrl ?? null),\n userAvatarPlaceholderUrl,\n agentIconUrl:\n item.agentIconUrl?.trim() ||\n managedAgentRoundedIconUrl(\n mentionSessionAgentProvider(item) ?? item.agentName\n ),\n showUserAvatar: !isMySession,\n statusTag: agentSessionStatusTag(item.status)\n };\n }\n\n if (item.kind === \"workspace-app\") {\n return {\n kind: \"app\",\n name: item.name,\n description: mentionDescriptionWithoutTerminalPeriod(item.description),\n iconUrl: item.iconUrl ?? null\n };\n }\n\n if (item.kind === \"agent-target\") {\n return {\n kind: \"app\",\n name: item.name,\n description: mentionDescriptionWithoutTerminalPeriod(item.description),\n iconUrl: item.iconUrl ?? managedAgentRoundedIconUrl(item.agentProviderId),\n statusTag: agentTargetAvailabilityStatusTag(item.availabilityStatus)\n };\n }\n\n if (item.kind === \"workspace-reference\") {\n return {\n kind: \"app\",\n name: item.name,\n description: null,\n iconUrl: item.iconUrl ?? null\n };\n }\n\n if (item.kind === \"workspace-app-factory\") {\n return {\n kind: \"app-factory\",\n name: item.name\n };\n }\n\n if (item.kind === \"custom\") {\n // 自定义 mention 只经 draftPrompt prefill 进入 composer,不出现在 @ 面板候选;\n // 兜底按通用条目展示(label 即注册方给的 name)。\n return {\n kind: \"issue\",\n title: item.name,\n creatorName: null,\n statusTag: null\n };\n }\n\n return {\n kind: \"issue\",\n title: item.title,\n creatorName: item.creatorName ?? null,\n statusTag: agentIssueStatusTag(item.status)\n };\n}\n\nfunction mentionDescriptionWithoutTerminalPeriod(\n description: string | null | undefined\n): string | null {\n const normalizedDescription = description?.trimEnd();\n return normalizedDescription\n ? normalizedDescription.replace(/[。.]+$/u, \"\")\n : null;\n}\n\n/**\n * 仅 workspace-issue 行,以及声明了能够提供产物文件(reference)的 workspace-app 行,\n * 才在行末尾展示「查看产物」入口。应用是否能提供产物文件由其 manifest 的\n * references 能力决定(`referencesListSupported`),而非硬编码应用名单。\n */\nfunction isReferenceableMentionItem(item: AgentContextMentionItem): boolean {\n if (item.kind === \"workspace-issue\") {\n return true;\n }\n if (item.kind === \"workspace-app\") {\n return item.referencesListSupported === true;\n }\n return false;\n}\n\nfunction canNavigateIntoMentionItem(\n item: AgentContextMentionItem,\n group: AgentMentionGroup\n): boolean {\n return (\n group.id === \"agent_generated_files\" &&\n item.kind === \"file\" &&\n item.mentionNavigation === \"agent-generated-folder\"\n );\n}\n\nfunction mentionSessionAgentProvider(\n item: Extract<AgentContextMentionItem, { kind: \"session\" }>\n): string | null {\n const queryStart = item.href.indexOf(\"?\");\n if (queryStart < 0) {\n return null;\n }\n return new URLSearchParams(item.href.slice(queryStart + 1)).get(\"provider\");\n}\n\nfunction agentSessionStatusTag(\n status: string | undefined\n): MentionRowStatusTag | null {\n if (!status) {\n return null;\n }\n const activityStatus = normalizeAgentActivityDisplayStatus(status);\n return {\n label: workspaceAgentActivityStatusLabel(activityStatus),\n tone: mentionStatusTone(activityStatus),\n pulse: activityStatus === \"working\" || activityStatus === \"waiting\",\n variant: \"activity\",\n dataStatus: activityStatus\n };\n}\n\n/**\n * Shared agent targets remain discoverable while their owner is offline. Their\n * availability badge communicates whether the target can currently be invoked.\n */\nfunction agentTargetAvailabilityStatusTag(\n availabilityStatus: string | undefined\n): MentionRowStatusTag {\n const available =\n availabilityStatus === undefined ||\n availabilityStatus === \"ready\" ||\n availabilityStatus === \"available\";\n return {\n label: translate(\n available\n ? \"agentHost.agentGui.mentionAgentTargetAvailable\"\n : \"agentHost.agentGui.mentionAgentTargetUnavailable\"\n ),\n tone: available ? \"green\" : \"neutral\",\n variant: \"activity\",\n dataStatus: available ? \"available\" : \"unavailable\"\n };\n}\n\nfunction agentIssueStatusTag(\n status: string | undefined\n): MentionRowStatusTag | null {\n if (!status) {\n return null;\n }\n const presentation = resolveIssueManagerStatusPresentation(status);\n return {\n label: roomIssueStatusLabel(status),\n tone: presentation.mentionTone,\n variant: \"issue\",\n dataStatus: presentation.dataStatus\n };\n}\n\nfunction mentionStatusTone(\n status: AgentActivityDisplayStatus\n): MentionRowStatusTone {\n if (status === \"working\") {\n return \"blue\";\n }\n if (status === \"waiting\" || status === \"canceled\") {\n return \"amber\";\n }\n if (status === \"completed\" || status === \"idle\") {\n return \"green\";\n }\n if (status === \"failed\") {\n return \"red\";\n }\n return \"neutral\";\n}\n\nfunction browseHintForFilter(filter: AgentMentionFilterId): string {\n switch (filter) {\n case \"agent\":\n return translate(\"agentHost.agentGui.contextPickerBrowseAgentHint\");\n case \"app\":\n return translate(\"agentHost.agentGui.contextPickerBrowseAppHint\");\n case \"file\":\n return translate(\"agentHost.agentGui.contextPickerBrowseFileHint\");\n case \"session\":\n return translate(\"agentHost.agentGui.contextPickerBrowseSessionHint\");\n case \"issue\":\n return translate(\"agentHost.agentGui.contextPickerBrowseIssueHint\");\n }\n}\n\nfunction hasInteractiveGroupEntries(\n groups: ReadonlyArray<AgentMentionGroup>\n): boolean {\n return groups.some((group) => group.items.length > 0 || group.hasMore);\n}\n\nfunction isFileBrowseGroupsOnlyEmpty(\n groups: ReadonlyArray<AgentMentionGroup>\n): boolean {\n const fileGroups = groups.filter(\n (group) =>\n group.id === \"opened_files\" || group.id === \"agent_generated_files\"\n );\n if (fileGroups.length === 0) {\n return false;\n }\n return fileGroups.every(\n (group) => group.items.length === 0 && !group.hasMore\n );\n}\n\nfunction shouldShowBrowseSearchHint(input: {\n browseFilter: AgentMentionFilterId;\n groups: ReadonlyArray<AgentMentionGroup>;\n highlightedBrowseCategory: string | null;\n mode: AgentMentionSearchState[\"mode\"];\n}): boolean {\n if (input.mode !== \"browse\" || hasInteractiveGroupEntries(input.groups)) {\n return false;\n }\n if (input.groups.length === 0) {\n return true;\n }\n if (\n input.highlightedBrowseCategory !== null &&\n input.highlightedBrowseCategory !== input.browseFilter\n ) {\n return true;\n }\n return (\n input.browseFilter === \"file\" && isFileBrowseGroupsOnlyEmpty(input.groups)\n );\n}\n","import { translate, type TranslateFn } from \"../i18n/index\";\n\nexport function roomIssueStatusLabel(status: string, t?: TranslateFn): string {\n const translateFn = t ?? translate;\n switch (status) {\n case \"not_started\":\n return translateFn(\"agentHost.roomIssueNode.issueStatusNotStarted\");\n case \"running\":\n return translateFn(\"agentHost.roomIssueNode.issueStatusRunning\");\n case \"in_progress\":\n return translateFn(\"agentHost.roomIssueNode.issueStatusInProgress\");\n case \"pending_acceptance\":\n return translateFn(\n \"agentHost.roomIssueNode.issueStatusPendingAcceptance\"\n );\n case \"completed\":\n return translateFn(\"agentHost.roomIssueNode.issueStatusCompleted\");\n case \"failed\":\n return translateFn(\"agentHost.roomIssueNode.issueStatusFailed\");\n case \"canceled\":\n return translateFn(\"agentHost.roomIssueNode.issueStatusCanceled\");\n default:\n return (\n status || translateFn(\"agentHost.roomIssueNode.issueStatusUnknown\")\n );\n }\n}\n"],"mappings":"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","names":[]}
@@ -9,7 +9,7 @@ import {
9
9
  resolveAgentGUIConversationTitleDisplayPrompt,
10
10
  resolveAgentGuiWorkbenchHeaderTitle,
11
11
  resolveAgentGuiWorkbenchSessionTitle
12
- } from "./chunk-BM3CSFWU.js";
12
+ } from "./chunk-P6SRATRQ.js";
13
13
  import {
14
14
  createAgentGuiWorkbenchNodeStateSource,
15
15
  migrateLegacyAgentGuiWorkbenchState,
@@ -276,7 +276,7 @@ function useAgentGuiWorkbenchBodyRenderError(nodeId) {
276
276
 
277
277
  // workbench/header.ts
278
278
  var LazyAgentRichTextReadonly = lazy(
279
- () => import("./AgentRichTextReadonly-42TUVYX5.js").then((module) => ({
279
+ () => import("./AgentRichTextReadonly-2XWSOTX4.js").then((module) => ({
280
280
  default: module.AgentRichTextReadonly
281
281
  }))
282
282
  );
@@ -1482,4 +1482,4 @@ export {
1482
1482
  AGENT_GUI_WORKBENCH_OPEN_EXTERNAL_IMPORT_EVENT,
1483
1483
  createAgentGuiWorkbenchContribution
1484
1484
  };
1485
- //# sourceMappingURL=chunk-J7KJ4MX4.js.map
1485
+ //# sourceMappingURL=chunk-44HFASN6.js.map