@tutti-os/agent-gui 0.0.104 → 0.0.106

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 (81) hide show
  1. package/dist/{AgentGUI-DQ9gVoXh.d.ts → AgentGUI-Do6py-T_.d.ts} +10 -5
  2. package/dist/AgentRichTextReadonly-F6PHC5SX.js +18 -0
  3. package/dist/AgentRichTextReadonly-F6PHC5SX.js.map +1 -0
  4. package/dist/agent-conversation/index.d.ts +3 -3
  5. package/dist/agent-conversation/index.js +11 -7
  6. package/dist/agent-conversation/index.js.map +1 -1
  7. package/dist/agent-gui.d.ts +4 -4
  8. package/dist/agent-gui.js +18 -14
  9. package/dist/agent-message-center/index.d.ts +1 -1
  10. package/dist/agent-message-center/index.js +13 -9
  11. package/dist/agent-message-center/index.js.map +1 -1
  12. package/dist/{agentConversationVM-CkcYM5Wg.d.ts → agentConversationVM-Bf3Zv3iI.d.ts} +9 -1
  13. package/dist/{agentFileMentionContracts-58IjMU-u.d.ts → agentFileMentionContracts-B70VnPWO.d.ts} +2 -0
  14. package/dist/{agentGuiNodeTypes-B9vcvjmR.d.ts → agentGuiNodeTypes-DbgQBiYz.d.ts} +4 -1
  15. package/dist/app/renderer/agentactivity.css +99 -0
  16. package/dist/{chunk-7N524ZK7.js → chunk-4HSLSSPJ.js} +1387 -941
  17. package/dist/chunk-4HSLSSPJ.js.map +1 -0
  18. package/dist/{chunk-FJ4W2VC5.js → chunk-4ZWV57MF.js} +42 -10
  19. package/dist/chunk-4ZWV57MF.js.map +1 -0
  20. package/dist/{chunk-TPV2SV6L.js → chunk-7MPN2JGL.js} +122 -154
  21. package/dist/chunk-7MPN2JGL.js.map +1 -0
  22. package/dist/{chunk-747L443E.js → chunk-BXOKBZH4.js} +728 -77
  23. package/dist/chunk-BXOKBZH4.js.map +1 -0
  24. package/dist/{chunk-5X7YDOC6.js → chunk-D2JUDUYY.js} +1 -1
  25. package/dist/chunk-D2JUDUYY.js.map +1 -0
  26. package/dist/{chunk-HLVC4NNL.js → chunk-IR2CL2X2.js} +721 -1280
  27. package/dist/chunk-IR2CL2X2.js.map +1 -0
  28. package/dist/{chunk-NOXQOGT5.js → chunk-J2HG7UCP.js} +46 -22
  29. package/dist/chunk-J2HG7UCP.js.map +1 -0
  30. package/dist/chunk-KPMQGPYU.js +43 -0
  31. package/dist/chunk-KPMQGPYU.js.map +1 -0
  32. package/dist/{chunk-OFSDOID4.js → chunk-LDZ6C3YV.js} +3 -39
  33. package/dist/chunk-LDZ6C3YV.js.map +1 -0
  34. package/dist/{chunk-MUPZPISC.js → chunk-N4WVVCNI.js} +2 -2
  35. package/dist/{chunk-F5LFPORI.js → chunk-OWW7CU4U.js} +2 -2
  36. package/dist/{chunk-VAB7EIL5.js → chunk-P3CVAWGJ.js} +19 -8
  37. package/dist/chunk-P3CVAWGJ.js.map +1 -0
  38. package/dist/chunk-SN6UYX54.js +42 -0
  39. package/dist/chunk-SN6UYX54.js.map +1 -0
  40. package/dist/{chunk-SKCLZXSW.js → chunk-TKBEVCHG.js} +5 -1
  41. package/dist/chunk-TKBEVCHG.js.map +1 -0
  42. package/dist/chunk-UFIEUC3Y.js +755 -0
  43. package/dist/chunk-UFIEUC3Y.js.map +1 -0
  44. package/dist/{chunk-AKKDP2LI.js → chunk-V5ROOS2O.js} +124 -2
  45. package/dist/chunk-V5ROOS2O.js.map +1 -0
  46. package/dist/chunk-XJ34OIEQ.js +18 -0
  47. package/dist/chunk-XJ34OIEQ.js.map +1 -0
  48. package/dist/{chunk-QI3JAO4J.js → chunk-ZSJBCZUH.js} +54 -7
  49. package/dist/chunk-ZSJBCZUH.js.map +1 -0
  50. package/dist/context-mention-palette/index.d.ts +1 -1
  51. package/dist/context-mention-palette/index.js +10 -8
  52. package/dist/{contribution-CTVBPN0R.d.ts → contribution-C6K5YfJ7.d.ts} +1 -0
  53. package/dist/custom-mention.d.ts +6 -0
  54. package/dist/custom-mention.js +1 -1
  55. package/dist/i18n/index.d.ts +4 -0
  56. package/dist/i18n/index.js +2 -2
  57. package/dist/index.d.ts +6 -6
  58. package/dist/index.js +18 -14
  59. package/dist/index.js.map +1 -1
  60. package/dist/mention-search.d.ts +47 -7
  61. package/dist/mention-search.js +8 -6
  62. package/dist/workbench/contribution.d.ts +1 -1
  63. package/dist/workbench/contribution.js +3 -3
  64. package/dist/workbench/index.d.ts +3 -2
  65. package/dist/workbench/index.js +3 -3
  66. package/dist/workbench/sessionTitle.js +2 -2
  67. package/package.json +12 -12
  68. package/dist/chunk-5X7YDOC6.js.map +0 -1
  69. package/dist/chunk-747L443E.js.map +0 -1
  70. package/dist/chunk-7N524ZK7.js.map +0 -1
  71. package/dist/chunk-AKKDP2LI.js.map +0 -1
  72. package/dist/chunk-FJ4W2VC5.js.map +0 -1
  73. package/dist/chunk-HLVC4NNL.js.map +0 -1
  74. package/dist/chunk-NOXQOGT5.js.map +0 -1
  75. package/dist/chunk-OFSDOID4.js.map +0 -1
  76. package/dist/chunk-QI3JAO4J.js.map +0 -1
  77. package/dist/chunk-SKCLZXSW.js.map +0 -1
  78. package/dist/chunk-TPV2SV6L.js.map +0 -1
  79. package/dist/chunk-VAB7EIL5.js.map +0 -1
  80. /package/dist/{chunk-MUPZPISC.js.map → chunk-N4WVVCNI.js.map} +0 -0
  81. /package/dist/{chunk-F5LFPORI.js.map → chunk-OWW7CU4U.js.map} +0 -0
@@ -1,7 +1,7 @@
1
- import { A as AgentContextMentionItem } from './agentFileMentionContracts-58IjMU-u.js';
1
+ import { A as AgentContextMentionItem } from './agentFileMentionContracts-B70VnPWO.js';
2
2
  import { AgentContextMentionProvider } from './context-mention-provider.js';
3
3
  import { MentionPaletteGroup, MentionPaletteState } from '@tutti-os/ui-rich-text/at-panel';
4
- import { ReferenceProvenanceFilter } from '@tutti-os/workspace-file-reference/contracts';
4
+ import { ReferenceProvenanceFilter, ReferenceProvenanceCatalog } from '@tutti-os/workspace-file-reference/contracts';
5
5
  import '@tutti-os/ui-rich-text/types';
6
6
  import '@tutti-os/workspace-external-core/contracts';
7
7
 
@@ -33,10 +33,23 @@ interface AgentMentionSearchDiagnosticLog {
33
33
  }
34
34
 
35
35
  type AgentMentionFilterId = "session" | "file" | "issue" | "agent" | "app";
36
- type AgentMentionGroupId = "apps" | "agents" | "files" | "opened_files" | "agent_generated_files" | "my_sessions" | "collab_sessions" | "issues";
37
- type AgentMentionRawGroupId = Exclude<AgentMentionGroupId, "files">;
36
+ type AgentMentionStaticGroupId = "apps" | "agents" | "files" | "opened_files" | "agent_generated_files" | "my_sessions" | "collab_sessions" | "issues";
37
+ type AgentMentionIssueTopicGroupId = `issue-topic:${string}`;
38
+ type AgentMentionProvenanceGroupId = `agent:${string}`;
39
+ type AgentMentionGroupId = AgentMentionStaticGroupId | AgentMentionIssueTopicGroupId | AgentMentionProvenanceGroupId;
40
+ type AgentMentionRawGroupId = Exclude<AgentMentionStaticGroupId, "files" | "my_sessions" | "collab_sessions"> | "sessions";
38
41
  type AgentMentionRawGroups = Record<AgentMentionRawGroupId, AgentContextMentionItem[]>;
39
42
  type AgentMentionTotalCounts = Partial<Record<AgentMentionGroupId, number>>;
43
+ interface AgentMentionIssueTopicGroup {
44
+ id: `issue-topic:${string}`;
45
+ providerGroupId: string;
46
+ label: string;
47
+ items: AgentContextMentionItem[];
48
+ totalCount: number;
49
+ nextPageToken: string | null;
50
+ loadMoreStatus: "idle" | "loading" | "error";
51
+ loadMoreError: string | null;
52
+ }
40
53
  interface AgentMentionBrowseCategory {
41
54
  id: AgentMentionFilterId;
42
55
  label: string;
@@ -64,6 +77,7 @@ interface AgentMentionBrowseFetchResult {
64
77
  providerDiagnostics: AgentMentionProviderQueryDiagnostic[];
65
78
  rawGroups: AgentMentionRawGroups;
66
79
  totalCounts: AgentMentionTotalCounts;
80
+ issueTopicGroups: AgentMentionIssueTopicGroup[] | null;
67
81
  }
68
82
  interface AgentMentionBrowseCacheEntry extends AgentMentionBrowseFetchResult {
69
83
  cachedAt: number;
@@ -97,6 +111,7 @@ declare class AgentMentionSearchControllerBase {
97
111
  protected preloadCancel: (() => void) | null;
98
112
  protected pendingPreloadKey: string | null;
99
113
  protected requestId: number;
114
+ protected activeRequestAbortController: AbortController | null;
100
115
  protected disposed: boolean;
101
116
  protected activeWorkspaceId: string;
102
117
  protected currentUserId: string;
@@ -104,10 +119,12 @@ declare class AgentMentionSearchControllerBase {
104
119
  protected currentQuery: string;
105
120
  protected currentSessionCwd: string;
106
121
  protected currentProvenanceFilter: ReferenceProvenanceFilter | null;
122
+ protected currentProvenanceCatalog: ReferenceProvenanceCatalog | null;
107
123
  protected currentFileSearchLimit: number;
108
124
  protected currentIssueSearchLimit: number;
109
125
  protected agentGeneratedBrowsePath: string | null;
110
126
  protected rawGroups: AgentMentionRawGroups;
127
+ protected issueTopicGroups: AgentMentionIssueTopicGroup[] | null;
111
128
  protected state: AgentMentionSearchState;
112
129
  constructor(options: AgentMentionSearchControllerOptions);
113
130
  protected startBrowseModeFetch(filter: AgentMentionFilterId): void;
@@ -117,6 +134,9 @@ declare class AgentMentionSearchControllerBase {
117
134
  query: string;
118
135
  requestId: number;
119
136
  filter: AgentMentionFilterId;
137
+ provenanceFilter: ReferenceProvenanceFilter | null;
138
+ sessionCwd: string;
139
+ abortSignal?: AbortSignal;
120
140
  }): Promise<void>;
121
141
  protected runBrowseSearch(input: {
122
142
  workspaceId: string;
@@ -124,13 +144,14 @@ declare class AgentMentionSearchControllerBase {
124
144
  requestId: number;
125
145
  filter: AgentMentionFilterId;
126
146
  sessionCwd: string;
147
+ abortSignal: AbortSignal;
127
148
  }): Promise<void>;
128
149
  protected fetchBrowseResult(input: {
129
150
  workspaceId: string;
130
151
  currentUserId: string;
131
152
  filter: AgentMentionFilterId;
132
153
  sessionCwd: string;
133
- }, provenanceFilter?: ReferenceProvenanceFilter | null): Promise<AgentMentionBrowseFetchResult>;
154
+ }, provenanceFilter?: ReferenceProvenanceFilter | null, abortSignal?: AbortSignal): Promise<AgentMentionBrowseFetchResult>;
134
155
  protected applyBrowseFetchResult(result: AgentMentionBrowseFetchResult): void;
135
156
  protected logBrowseCacheState(input: {
136
157
  cacheKey: string;
@@ -153,7 +174,19 @@ declare class AgentMentionSearchControllerBase {
153
174
  limit?: number;
154
175
  sessionCwd?: string;
155
176
  provenanceFilter: ReferenceProvenanceFilter | null;
177
+ abortSignal?: AbortSignal;
156
178
  }): Promise<AgentContextMentionItem[]>;
179
+ protected queryProviderMentionGroupsById(input: {
180
+ diagnostics: AgentMentionProviderQueryDiagnostic[];
181
+ providerId: string;
182
+ workspaceId: string;
183
+ currentUserId: string;
184
+ query: string;
185
+ limit?: number;
186
+ sessionCwd?: string;
187
+ provenanceFilter: ReferenceProvenanceFilter | null;
188
+ abortSignal?: AbortSignal;
189
+ }): Promise<AgentMentionIssueTopicGroup[] | null>;
157
190
  protected logSearchDiagnostic(input: {
158
191
  error?: unknown;
159
192
  filter: AgentMentionFilterId;
@@ -191,7 +224,7 @@ declare class AgentMentionSearchControllerBase {
191
224
  currentUserId: string;
192
225
  filter: AgentMentionFilterId;
193
226
  sessionCwd: string;
194
- }, cacheKey: string, reason: AgentMentionBrowseLoadReason, provenanceFilter?: ReferenceProvenanceFilter | null): Promise<AgentMentionBrowseFetchResult>;
227
+ }, cacheKey: string, reason: AgentMentionBrowseLoadReason, provenanceFilter?: ReferenceProvenanceFilter | null, abortSignal?: AbortSignal): Promise<AgentMentionBrowseFetchResult>;
195
228
  protected fetchFilterResult(input: {
196
229
  workspaceId: string;
197
230
  currentUserId: string;
@@ -199,10 +232,14 @@ declare class AgentMentionSearchControllerBase {
199
232
  filter: AgentMentionFilterId;
200
233
  sessionCwd: string;
201
234
  includeAgentGeneratedFiles: boolean;
202
- }, provenanceFilter?: ReferenceProvenanceFilter | null): Promise<AgentMentionBrowseFetchResult>;
235
+ }, provenanceFilter?: ReferenceProvenanceFilter | null, abortSignal?: AbortSignal): Promise<AgentMentionBrowseFetchResult>;
236
+ protected beginActiveRequest(): AbortSignal;
237
+ protected abortActiveRequest(): void;
203
238
  }
204
239
 
205
240
  declare class AgentMentionSearchController extends AgentMentionSearchControllerBase {
241
+ private readonly issueLoadMoreRequests;
242
+ setProvenanceCatalog(catalog: ReferenceProvenanceCatalog | null): void;
206
243
  setProvenanceFilter(filter: ReferenceProvenanceFilter | null): void;
207
244
  subscribe(listener: AgentMentionSearchListener): () => void;
208
245
  updateQuery(input: {
@@ -226,6 +263,9 @@ declare class AgentMentionSearchController extends AgentMentionSearchControllerB
226
263
  expandGroup(groupId: AgentMentionGroupId): void;
227
264
  close(): void;
228
265
  dispose(): void;
266
+ private loadMoreIssueTopic;
267
+ private emitIssueTopicGroupsState;
268
+ private cancelIssueLoadMoreRequests;
229
269
  }
230
270
  declare function preloadAgentMentionBrowse(input: {
231
271
  workspaceId: string;
@@ -3,20 +3,22 @@ import {
3
3
  MAX_BROWSE_CACHE_ENTRIES,
4
4
  preloadAgentMentionBrowse,
5
5
  resetAgentMentionSearchBrowseCacheForTests
6
- } from "./chunk-747L443E.js";
6
+ } from "./chunk-BXOKBZH4.js";
7
7
  import "./chunk-4YCCATI4.js";
8
- import "./chunk-NOXQOGT5.js";
8
+ import "./chunk-XJ34OIEQ.js";
9
+ import "./chunk-J2HG7UCP.js";
9
10
  import "./chunk-LUGELG5V.js";
10
11
  import "./chunk-JM24HADP.js";
11
12
  import "./chunk-YMXYBG7U.js";
12
- import "./chunk-OFSDOID4.js";
13
+ import "./chunk-LDZ6C3YV.js";
13
14
  import "./chunk-F5UR6EJG.js";
15
+ import "./chunk-SN6UYX54.js";
14
16
  import "./chunk-PJP5BUU6.js";
15
17
  import "./chunk-H6IQ63DQ.js";
16
18
  import "./chunk-MIJXEELH.js";
17
- import "./chunk-F5LFPORI.js";
18
- import "./chunk-SKCLZXSW.js";
19
- import "./chunk-5X7YDOC6.js";
19
+ import "./chunk-OWW7CU4U.js";
20
+ import "./chunk-TKBEVCHG.js";
21
+ import "./chunk-D2JUDUYY.js";
20
22
  import "./chunk-KJQERFKX.js";
21
23
  import "./chunk-UGVI47X6.js";
22
24
  export {
@@ -1,6 +1,6 @@
1
1
  import 'react';
2
2
  import '@tutti-os/agent-activity-core';
3
3
  import '@tutti-os/workbench-surface';
4
- export { A as AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT, a as AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT, b as AGENT_GUI_WORKBENCH_OPEN_EXTERNAL_IMPORT_EVENT, c as AgentGuiWorkbenchContributionCopy, d as AgentGuiWorkbenchContributionCopyOverrides, e as AgentGuiWorkbenchConversationIdentity, f as AgentGuiWorkbenchConversationRailToggleDetail, g as AgentGuiWorkbenchNewConversationDetail, h as AgentGuiWorkbenchProviderAvailability, i as AgentGuiWorkbenchRenderBodyHelpers, B as BuildAgentGuiDockEntriesInput, C as CreateAgentGuiWorkbenchContributionInput, j as agentGuiWorkbenchCompactVisibleAreaRatio, l as agentGuiWorkbenchDefaultCopy, m as agentGuiWorkbenchDefaultNodeFrame, n as agentGuiWorkbenchDefaultUsableHeightRatio, o as agentGuiWorkbenchDefaultUsableWidthRatio, p as agentGuiWorkbenchNewWindowCascadeOffset, q as agentGuiWorkbenchProviderRailWidthPx, r as buildAgentGuiDockEntries, s as createAgentGuiWorkbenchContribution, t as resolveAgentGuiUnifiedDockLaunchPayload, u as resolveAgentGuiWorkbenchContributionCopy, w as resolveAgentGuiWorkbenchDefaultLaunchFrame } from '../contribution-CTVBPN0R.js';
4
+ export { A as AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT, a as AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT, b as AGENT_GUI_WORKBENCH_OPEN_EXTERNAL_IMPORT_EVENT, c as AgentGuiWorkbenchContributionCopy, d as AgentGuiWorkbenchContributionCopyOverrides, e as AgentGuiWorkbenchConversationIdentity, f as AgentGuiWorkbenchConversationRailToggleDetail, g as AgentGuiWorkbenchNewConversationDetail, h as AgentGuiWorkbenchProviderAvailability, i as AgentGuiWorkbenchRenderBodyHelpers, B as BuildAgentGuiDockEntriesInput, C as CreateAgentGuiWorkbenchContributionInput, j as agentGuiWorkbenchCompactVisibleAreaRatio, l as agentGuiWorkbenchDefaultCopy, m as agentGuiWorkbenchDefaultNodeFrame, n as agentGuiWorkbenchDefaultUsableHeightRatio, o as agentGuiWorkbenchDefaultUsableWidthRatio, p as agentGuiWorkbenchNewWindowCascadeOffset, q as agentGuiWorkbenchProviderRailWidthPx, r as buildAgentGuiDockEntries, s as createAgentGuiWorkbenchContribution, t as resolveAgentGuiUnifiedDockLaunchPayload, u as resolveAgentGuiWorkbenchContributionCopy, w as resolveAgentGuiWorkbenchDefaultLaunchFrame } from '../contribution-C6K5YfJ7.js';
5
5
  import './types.js';
6
6
  import '../types-CnT8rNUI.js';
@@ -14,8 +14,8 @@ import {
14
14
  resolveAgentGuiUnifiedDockLaunchPayload,
15
15
  resolveAgentGuiWorkbenchContributionCopy,
16
16
  resolveAgentGuiWorkbenchDefaultLaunchFrame
17
- } from "../chunk-QI3JAO4J.js";
18
- import "../chunk-AKKDP2LI.js";
17
+ } from "../chunk-ZSJBCZUH.js";
18
+ import "../chunk-V5ROOS2O.js";
19
19
  import "../chunk-4YVKAPKW.js";
20
20
  import "../chunk-QY22OBJS.js";
21
21
  import "../chunk-L3GMMGRS.js";
@@ -25,7 +25,7 @@ import "../chunk-4YG7YK7S.js";
25
25
  import "../chunk-2RQM7PJN.js";
26
26
  import "../chunk-H6IQ63DQ.js";
27
27
  import "../chunk-MIJXEELH.js";
28
- import "../chunk-SKCLZXSW.js";
28
+ import "../chunk-TKBEVCHG.js";
29
29
  import "../chunk-KJQERFKX.js";
30
30
  import "../chunk-UGVI47X6.js";
31
31
  export {
@@ -1,4 +1,4 @@
1
- export { A as AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT, a as AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT, c as AgentGuiWorkbenchContributionCopy, d as AgentGuiWorkbenchContributionCopyOverrides, e as AgentGuiWorkbenchConversationIdentity, f as AgentGuiWorkbenchConversationRailToggleDetail, g as AgentGuiWorkbenchNewConversationDetail, h as AgentGuiWorkbenchProviderAvailability, i as AgentGuiWorkbenchRenderBodyHelpers, B as BuildAgentGuiDockEntriesInput, C as CreateAgentGuiWorkbenchContributionInput, k as agentGuiWorkbenchConversationIdentitiesEqual, l as agentGuiWorkbenchDefaultCopy, m as agentGuiWorkbenchDefaultNodeFrame, r as buildAgentGuiDockEntries, s as createAgentGuiWorkbenchContribution, t as resolveAgentGuiUnifiedDockLaunchPayload, u as resolveAgentGuiWorkbenchContributionCopy, v as resolveAgentGuiWorkbenchConversationIdentity } from '../contribution-CTVBPN0R.js';
1
+ export { A as AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT, a as AGENT_GUI_WORKBENCH_NEW_CONVERSATION_EVENT, c as AgentGuiWorkbenchContributionCopy, d as AgentGuiWorkbenchContributionCopyOverrides, e as AgentGuiWorkbenchConversationIdentity, f as AgentGuiWorkbenchConversationRailToggleDetail, g as AgentGuiWorkbenchNewConversationDetail, h as AgentGuiWorkbenchProviderAvailability, i as AgentGuiWorkbenchRenderBodyHelpers, B as BuildAgentGuiDockEntriesInput, C as CreateAgentGuiWorkbenchContributionInput, k as agentGuiWorkbenchConversationIdentitiesEqual, l as agentGuiWorkbenchDefaultCopy, m as agentGuiWorkbenchDefaultNodeFrame, r as buildAgentGuiDockEntries, s as createAgentGuiWorkbenchContribution, t as resolveAgentGuiUnifiedDockLaunchPayload, u as resolveAgentGuiWorkbenchContributionCopy, v as resolveAgentGuiWorkbenchConversationIdentity } from '../contribution-C6K5YfJ7.js';
2
2
  export { agentGuiWorkbenchComingSoonProviders, agentGuiWorkbenchDefaultDockProviders, agentGuiWorkbenchDockSuppressedProviders, agentGuiWorkbenchProviderLabels, agentGuiWorkbenchProviders, isAgentGuiWorkbenchComingSoonProvider, isAgentGuiWorkbenchDefaultDockProvider, isAgentGuiWorkbenchDockSuppressedProvider, isAgentGuiWorkbenchProvider, normalizeAgentGuiWorkbenchProvider, resolveAgentGuiWorkbenchProviderLabel } from './providerCatalog.js';
3
3
  export { AgentGuiWorkbenchLaunchDescriptor, agentGuiWorkbenchDockEntryId, agentGuiWorkbenchDockIdentityFromIdentifier, agentGuiWorkbenchInstanceId, agentGuiWorkbenchProviderFromIdentifier, agentGuiWorkbenchProviderFromLaunchRequest, agentGuiWorkbenchTypeId, agentGuiWorkbenchUnifiedDockEntryId, createAgentGuiWorkbenchDraftLaunchRequest, createAgentGuiWorkbenchInstanceId, createAgentGuiWorkbenchLaunchDescriptor, createAgentGuiWorkbenchSessionLaunchRequest, resolveAgentGuiWorkbenchLaunchDockEntryId } from './launch.js';
4
4
  export { agentGuiWorkbenchProviderFromInstanceId, areAgentGuiWorkbenchNodeStatesEqual, areAgentGuiWorkbenchStatesEqual, createAgentGuiWorkbenchNodeStateSource, createDefaultAgentGuiWorkbenchNodeState, normalizeAgentGuiWorkbenchNodeState, normalizeAgentGuiWorkbenchState, projectAgentGuiWorkbenchState } from './state.js';
@@ -36,6 +36,7 @@ interface AgentGuiWorkbenchHeaderProps extends HTMLAttributes<HTMLElement> {
36
36
  primaryAccessory?: ReactNode;
37
37
  secondaryAccessory?: ReactNode;
38
38
  conversationTitle?: string | null;
39
+ conversationTitleDisplayPrompt?: string | null;
39
40
  nodeId: string;
40
41
  onCreateConversation?: () => void;
41
42
  onOpenDetachedWindow?: () => void;
@@ -46,6 +47,6 @@ interface AgentGuiWorkbenchHeaderProps extends HTMLAttributes<HTMLElement> {
46
47
  title?: string;
47
48
  windowActions?: Pick<WorkbenchHostNodeHeaderWindowActions, "close" | "minimize" | "toggleDisplayMode">;
48
49
  }
49
- declare function AgentGuiWorkbenchHeader({ className, copy, agentTitle, defaultActions: _defaultActions, displayMode, isConversationRailAutoCollapsed, isConversationRailCollapsed, conversationRailWidthPx, conversationIconUrl, conversationIconFallbackUrl, hasConversation, providerRailWidthPx, primaryAccessory, secondaryAccessory, conversationTitle, nodeId, onCreateConversation, onOpenDetachedWindow, onToggleConversationRail, showAppTitle, showConversationRailToggle, showWindowControls, title: _title, windowActions, ...headerProps }: AgentGuiWorkbenchHeaderProps): ReactNode;
50
+ declare function AgentGuiWorkbenchHeader({ className, copy, agentTitle, defaultActions: _defaultActions, displayMode, isConversationRailAutoCollapsed, isConversationRailCollapsed, conversationRailWidthPx, conversationIconUrl, conversationIconFallbackUrl, hasConversation, providerRailWidthPx, primaryAccessory, secondaryAccessory, conversationTitle, conversationTitleDisplayPrompt, nodeId, onCreateConversation, onOpenDetachedWindow, onToggleConversationRail, showAppTitle, showConversationRailToggle, showWindowControls, title: _title, windowActions, ...headerProps }: AgentGuiWorkbenchHeaderProps): ReactNode;
50
51
 
51
52
  export { AgentGuiWorkbenchHeader, type AgentGuiWorkbenchHeaderCopy, type AgentGuiWorkbenchHeaderProps };
@@ -10,11 +10,11 @@ import {
10
10
  resolveAgentGuiUnifiedDockLaunchPayload,
11
11
  resolveAgentGuiWorkbenchContributionCopy,
12
12
  resolveAgentGuiWorkbenchConversationIdentity
13
- } from "../chunk-QI3JAO4J.js";
13
+ } from "../chunk-ZSJBCZUH.js";
14
14
  import {
15
15
  resolveAgentGuiWorkbenchHeaderTitle,
16
16
  resolveAgentGuiWorkbenchSessionTitle
17
- } from "../chunk-AKKDP2LI.js";
17
+ } from "../chunk-V5ROOS2O.js";
18
18
  import {
19
19
  agentGuiWorkbenchProviderFromInstanceId,
20
20
  areAgentGuiWorkbenchNodeStatesEqual,
@@ -61,7 +61,7 @@ import "../chunk-4YG7YK7S.js";
61
61
  import "../chunk-2RQM7PJN.js";
62
62
  import "../chunk-H6IQ63DQ.js";
63
63
  import "../chunk-MIJXEELH.js";
64
- import "../chunk-SKCLZXSW.js";
64
+ import "../chunk-TKBEVCHG.js";
65
65
  import "../chunk-KJQERFKX.js";
66
66
  import "../chunk-UGVI47X6.js";
67
67
  export {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveAgentGuiWorkbenchHeaderTitle,
3
3
  resolveAgentGuiWorkbenchSessionTitle
4
- } from "../chunk-AKKDP2LI.js";
4
+ } from "../chunk-V5ROOS2O.js";
5
5
  import "../chunk-MIJXEELH.js";
6
- import "../chunk-SKCLZXSW.js";
6
+ import "../chunk-TKBEVCHG.js";
7
7
  import "../chunk-KJQERFKX.js";
8
8
  export {
9
9
  resolveAgentGuiWorkbenchHeaderTitle,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tutti-os/agent-gui",
3
- "version": "0.0.104",
3
+ "version": "0.0.106",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -124,17 +124,17 @@
124
124
  "@tiptap/react": "^3.11.1",
125
125
  "@tiptap/starter-kit": "^3.11.1",
126
126
  "@tiptap/suggestion": "^3.11.1",
127
- "@tutti-os/agent-activity-core": "0.0.104",
128
- "@tutti-os/ui-i18n-runtime": "0.0.104",
129
- "@tutti-os/ui-react-hooks": "0.0.104",
130
- "@tutti-os/ui-rich-text": "0.0.104",
131
- "@tutti-os/ui-system": "0.0.104",
132
- "@tutti-os/workbench-surface": "0.0.104",
133
- "@tutti-os/workspace-external-core": "0.0.104",
134
- "@tutti-os/workspace-file-manager": "0.0.104",
135
- "@tutti-os/workspace-file-reference": "0.0.104",
136
- "@tutti-os/workspace-issue-manager": "0.0.104",
137
- "@tutti-os/workspace-user-project": "0.0.104",
127
+ "@tutti-os/agent-activity-core": "0.0.106",
128
+ "@tutti-os/ui-i18n-runtime": "0.0.106",
129
+ "@tutti-os/ui-react-hooks": "0.0.106",
130
+ "@tutti-os/ui-rich-text": "0.0.106",
131
+ "@tutti-os/ui-system": "0.0.106",
132
+ "@tutti-os/workbench-surface": "0.0.106",
133
+ "@tutti-os/workspace-external-core": "0.0.106",
134
+ "@tutti-os/workspace-file-manager": "0.0.106",
135
+ "@tutti-os/workspace-file-reference": "0.0.106",
136
+ "@tutti-os/workspace-issue-manager": "0.0.106",
137
+ "@tutti-os/workspace-user-project": "0.0.106",
138
138
  "clsx": "^2.1.1",
139
139
  "framer-motion": "^12.40.0",
140
140
  "lodash": "^4.17.21",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../shared/agentCustomMentionKinds.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\n\n// 自定义 mention kind 注册表:让宿主(如 tsh)从外部注册 mention://<kind>/... 链接的\n// 解析与 composer 内 chip 渲染,包内不内置任何具体业务 kind。\n//\n// 管线接点:\n// - 解析:agentFileMentionExtension.parseMentionItemFromHref 命中注册 kind 时产出\n// AgentMentionCustomItem(展示字段由 present() 提取;href 是完整信息源,round-trip 无损)\n// - 渲染:AgentMentionNodeView 对 kind===\"custom\" 调 renderChip(),缺省用包内通用双行卡\n// - 点击:clickable 的 kind 经 resolveWorkspaceMentionLinkAction 上抛\n// open-custom-mention 链接动作(携带原始 href,宿主自行二次解析)\n//\n// 注册时机:宿主渲染进程 bootstrap(早于首个 composer 挂载);模块级单例,重复注册以\n// 后者为准(HMR 友好)。\n\nexport interface AgentCustomMentionIdentity {\n entityId: string;\n label: string;\n scope?: Readonly<Record<string, string>>;\n}\n\nexport interface AgentCustomMentionPresentation {\n /** chip 第一行(缺省用链接 label)。 */\n name: string;\n /** chip 第二行(可选,通用双行卡的次要文案)。 */\n summary?: string;\n /** 所属 workspace(可选;custom kind 的 scope 键由注册方约定)。 */\n workspaceId?: string;\n}\n\nexport interface AgentCustomMentionChipContext {\n href: string;\n name: string;\n summary?: string;\n isEditable: boolean;\n /** 可编辑态的移除按钮,由 NodeView 注入;自定义渲染需自行摆放。 */\n removeAction?: ReactNode;\n}\n\nexport interface AgentCustomMentionKindDefinition {\n /** mention://<kind>/... 的 providerId(URL hostname,小写)。 */\n kind: string;\n /**\n * 从 canonical mention 链接提取展示字段;返回 null 表示链接无效,\n * 退化为普通链接/字面文本。\n */\n present(\n mention: AgentCustomMentionIdentity,\n href: string\n ): AgentCustomMentionPresentation | null;\n /** 自定义 chip 渲染;缺省用包内通用双行卡(name + summary)。 */\n renderChip?(context: AgentCustomMentionChipContext): ReactNode;\n /** 点击是否上抛 open-custom-mention 链接动作;缺省 false(chip 只展示)。 */\n clickable?: boolean;\n}\n\nconst registry = new Map<string, AgentCustomMentionKindDefinition>();\n\n// 包内管线已内置处理的 providerId(agentFileMentionExtension /\n// resolveWorkspaceMentionLinkAction),以及宿主侧沿用的 legacy 短名与内部 kind。\n// 注册表查找在部分链路先于内置分支执行,若放行同名注册会静默劫持内置 mention\n// 的解析——注册发生在宿主 bootstrap,直接抛错 fail-fast。\nconst RESERVED_AGENT_MENTION_PROVIDER_IDS = new Set([\n \"agent-session\",\n \"agent-target\",\n \"custom\",\n \"file\",\n \"issue\",\n \"session\",\n \"task\",\n \"workspace-app\",\n \"workspace-app-factory\",\n \"workspace-issue\",\n \"workspace-reference\"\n]);\n\nexport function registerAgentCustomMentionKind(\n definition: AgentCustomMentionKindDefinition\n): void {\n const kind = definition.kind.trim().toLowerCase();\n if (!kind) {\n throw new Error(\n \"[agent-gui] custom mention kind must be a non-empty provider id\"\n );\n }\n if (RESERVED_AGENT_MENTION_PROVIDER_IDS.has(kind)) {\n throw new Error(\n `[agent-gui] custom mention kind \"${kind}\" collides with a built-in provider id`\n );\n }\n registry.set(kind, definition);\n}\n\nexport function getAgentCustomMentionKind(\n kind: string\n): AgentCustomMentionKindDefinition | undefined {\n return registry.get(kind.trim().toLowerCase());\n}\n\nexport function resetAgentCustomMentionKindsForTests(): void {\n registry.clear();\n}\n"],"mappings":";AAwDA,IAAM,WAAW,oBAAI,IAA8C;AAMnE,IAAM,sCAAsC,oBAAI,IAAI;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,SAAS,+BACd,YACM;AACN,QAAM,OAAO,WAAW,KAAK,KAAK,EAAE,YAAY;AAChD,MAAI,CAAC,MAAM;AACT,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,MAAI,oCAAoC,IAAI,IAAI,GAAG;AACjD,UAAM,IAAI;AAAA,MACR,oCAAoC,IAAI;AAAA,IAC1C;AAAA,EACF;AACA,WAAS,IAAI,MAAM,UAAU;AAC/B;AAEO,SAAS,0BACd,MAC8C;AAC9C,SAAO,SAAS,IAAI,KAAK,KAAK,EAAE,YAAY,CAAC;AAC/C;AAEO,SAAS,uCAA6C;AAC3D,WAAS,MAAM;AACjB;","names":[]}