@tutti-os/agent-gui 0.0.93 → 0.0.95

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 (164) hide show
  1. package/README.md +48 -32
  2. package/dist/AgentGUI-CwBLYtv-.d.ts +992 -0
  3. package/dist/agent-conversation/index.d.ts +5 -7
  4. package/dist/agent-conversation/index.js +13 -9
  5. package/dist/agent-conversation/index.js.map +1 -1
  6. package/dist/agent-env/index.d.ts +14 -38
  7. package/dist/agent-env/index.js +2 -57
  8. package/dist/agent-env/index.js.map +1 -1
  9. package/dist/agent-gui.d.ts +21 -0
  10. package/dist/agent-gui.js +39 -0
  11. package/dist/agent-message-center/index.d.ts +145 -122
  12. package/dist/agent-message-center/index.js +1473 -1398
  13. package/dist/agent-message-center/index.js.map +1 -1
  14. package/dist/{agentConversationVM-CfXN_TQ2.d.ts → agentConversationVM-C335TR6S.d.ts} +112 -7
  15. package/dist/agentFileMentionContracts-Czvz6YMI.d.ts +107 -0
  16. package/dist/{agentGuiNodeTypes-rGaDqxVR.d.ts → agentGuiNodeTypes-DppADPHW.d.ts} +102 -149
  17. package/dist/agentPlanPromptDispatch-C7cCMjve.d.ts +37 -0
  18. package/dist/agents.d.ts +13 -0
  19. package/dist/agents.js +13 -0
  20. package/dist/app/renderer/agentactivity.css +431 -75
  21. package/dist/app/renderer/assets/icons/agent-vinyl-player-chassis.png +0 -0
  22. package/dist/app/renderer/assets/icons/agent-vinyl-tonearm.png +0 -0
  23. package/dist/app/renderer/assets/icons/agent-vinyls/claude-vinyl.png +0 -0
  24. package/dist/app/renderer/assets/icons/agent-vinyls/codex-vinyl.png +0 -0
  25. package/dist/app/renderer/assets/icons/agent-vinyls/cursor-vinyl.png +0 -0
  26. package/dist/app/renderer/assets/icons/agent-vinyls/hermes-vinyl.png +0 -0
  27. package/dist/app/renderer/assets/icons/agent-vinyls/openclaw-vinyl.png +0 -0
  28. package/dist/app/renderer/assets/icons/agent-vinyls/opencode-vinyl.png +0 -0
  29. package/dist/app/renderer/assets/icons/agent-vinyls/tutti-vinyl.png +0 -0
  30. package/dist/app/renderer/assets/icons/open-link-lined.svg +4 -0
  31. package/dist/{chunk-7QHBFRG5.js → chunk-3R2D4E57.js} +3137 -3396
  32. package/dist/chunk-3R2D4E57.js.map +1 -0
  33. package/dist/chunk-4YG7YK7S.js +23 -0
  34. package/dist/chunk-4YG7YK7S.js.map +1 -0
  35. package/dist/chunk-5X7YDOC6.js +42 -0
  36. package/dist/chunk-5X7YDOC6.js.map +1 -0
  37. package/dist/{chunk-IBIMGLCD.js → chunk-7J4K6WKB.js} +1 -1
  38. package/dist/chunk-7J4K6WKB.js.map +1 -0
  39. package/dist/{chunk-KQE5KV2V.js → chunk-7PFDA2HQ.js} +505 -504
  40. package/dist/chunk-7PFDA2HQ.js.map +1 -0
  41. package/dist/{chunk-M2LWH54R.js → chunk-7RDD3EWP.js} +557 -569
  42. package/dist/chunk-7RDD3EWP.js.map +1 -0
  43. package/dist/{chunk-VWXFFSIM.js → chunk-AOS2VWU6.js} +1357 -1301
  44. package/dist/chunk-AOS2VWU6.js.map +1 -0
  45. package/dist/{chunk-3HARXLAZ.js → chunk-BFNJKTDV.js} +295 -255
  46. package/dist/chunk-BFNJKTDV.js.map +1 -0
  47. package/dist/{chunk-U7D7G3UU.js → chunk-BIHBXWK5.js} +2 -2
  48. package/dist/{chunk-XQUUELKF.js → chunk-C5FV4UGI.js} +2921 -2944
  49. package/dist/chunk-C5FV4UGI.js.map +1 -0
  50. package/dist/{chunk-HOSX5C5V.js → chunk-CRO2MV2Y.js} +36 -46
  51. package/dist/chunk-CRO2MV2Y.js.map +1 -0
  52. package/dist/chunk-FGLQZ6I4.js +9 -0
  53. package/dist/chunk-FGLQZ6I4.js.map +1 -0
  54. package/dist/chunk-H6IQ63DQ.js +14 -0
  55. package/dist/chunk-H6IQ63DQ.js.map +1 -0
  56. package/dist/{chunk-4SQNOOJ3.js → chunk-JX2SIXNL.js} +1293 -1702
  57. package/dist/chunk-JX2SIXNL.js.map +1 -0
  58. package/dist/chunk-KAL4XZMA.js +231 -0
  59. package/dist/chunk-KAL4XZMA.js.map +1 -0
  60. package/dist/chunk-KJQERFKX.js +259 -0
  61. package/dist/chunk-KJQERFKX.js.map +1 -0
  62. package/dist/chunk-LQVXBT65.js +491 -0
  63. package/dist/chunk-LQVXBT65.js.map +1 -0
  64. package/dist/{chunk-AOVPGJBC.js → chunk-NITOD7WF.js} +2 -2
  65. package/dist/{chunk-7LMJXF4R.js → chunk-NJAZ7LQM.js} +20 -16
  66. package/dist/chunk-NJAZ7LQM.js.map +1 -0
  67. package/dist/chunk-NX3CZJXW.js +25 -0
  68. package/dist/chunk-NX3CZJXW.js.map +1 -0
  69. package/dist/chunk-O6W72SEP.js +93 -0
  70. package/dist/chunk-O6W72SEP.js.map +1 -0
  71. package/dist/{chunk-PSLAWU25.js → chunk-R2EWECUP.js} +7 -1
  72. package/dist/chunk-R2EWECUP.js.map +1 -0
  73. package/dist/chunk-RY6GIO3K.js +31700 -0
  74. package/dist/chunk-RY6GIO3K.js.map +1 -0
  75. package/dist/{chunk-XDV4ZRVK.js → chunk-UGVI47X6.js} +98 -37
  76. package/dist/chunk-UGVI47X6.js.map +1 -0
  77. package/dist/{chunk-XW4CVBUH.js → chunk-UQJPV6HP.js} +18 -11
  78. package/dist/chunk-UQJPV6HP.js.map +1 -0
  79. package/dist/{chunk-GAPTLVII.js → chunk-VF22EG3F.js} +1 -1
  80. package/dist/{chunk-GAPTLVII.js.map → chunk-VF22EG3F.js.map} +1 -1
  81. package/dist/{chunk-45FF4DQU.js → chunk-WEDMAVX2.js} +22 -24
  82. package/dist/chunk-WEDMAVX2.js.map +1 -0
  83. package/dist/{chunk-SXDLSEHO.js → chunk-XMO45GKA.js} +531 -401
  84. package/dist/chunk-XMO45GKA.js.map +1 -0
  85. package/dist/{chunk-UNO7CEAF.js → chunk-YE25HN6T.js} +6 -9
  86. package/dist/chunk-YE25HN6T.js.map +1 -0
  87. package/dist/context-mention-palette/index.d.ts +3 -2
  88. package/dist/context-mention-palette/index.js +19 -14
  89. package/dist/custom-mention.d.ts +44 -0
  90. package/dist/custom-mention.js +17 -0
  91. package/dist/custom-mention.js.map +1 -0
  92. package/dist/dock-icons.d.ts +6 -0
  93. package/dist/dock-icons.js +11 -0
  94. package/dist/dock-icons.js.map +1 -0
  95. package/dist/i18n/index.d.ts +852 -837
  96. package/dist/i18n/index.js +2 -2
  97. package/dist/index.d.ts +52 -1061
  98. package/dist/index.js +72 -35254
  99. package/dist/index.js.map +1 -1
  100. package/dist/mention-search.d.ts +226 -0
  101. package/dist/mention-search.js +29 -0
  102. package/dist/mention-search.js.map +1 -0
  103. package/dist/open-link-lined-JWEKUKME.svg +4 -0
  104. package/dist/provider-icons.d.ts +6 -0
  105. package/dist/provider-icons.js +12 -0
  106. package/dist/provider-icons.js.map +1 -0
  107. package/dist/provider-identity.d.ts +9 -0
  108. package/dist/provider-identity.js +21 -0
  109. package/dist/provider-identity.js.map +1 -0
  110. package/dist/runtime-BBNdWgDU.d.ts +10 -0
  111. package/dist/{types-PLFZ8SBX.d.ts → types-DX2bxgB8.d.ts} +28 -83
  112. package/dist/workbench/contribution.d.ts +32 -40
  113. package/dist/workbench/contribution.js +10 -6
  114. package/dist/workbench/index.d.ts +6 -2
  115. package/dist/workbench/index.js +24 -20
  116. package/dist/workbench/launch.d.ts +2 -5
  117. package/dist/workbench/launch.js +4 -3
  118. package/dist/workbench/providerCatalog.js +2 -1
  119. package/dist/workbench/sessionTitle.d.ts +4 -3
  120. package/dist/workbench/sessionTitle.js +4 -3
  121. package/dist/workbench/state.d.ts +1 -1
  122. package/dist/workbench/state.js +3 -2
  123. package/dist/workbench/types.d.ts +0 -3
  124. package/dist/workbench/types.js +1 -1
  125. package/dist/workspace-agent-generated-files.d.ts +20 -2
  126. package/dist/workspace-agent-generated-files.js +7 -6
  127. package/dist/workspaceAgentActivityListTypes-C7gPWYiA.d.ts +71 -0
  128. package/package.json +65 -28
  129. package/dist/AgentMentionSearchController-DD_WOred.d.ts +0 -241
  130. package/dist/AgentMessageMarkdown-DeYPURtF.d.ts +0 -7
  131. package/dist/chunk-3HARXLAZ.js.map +0 -1
  132. package/dist/chunk-45FF4DQU.js.map +0 -1
  133. package/dist/chunk-4HP6V2YA.js +0 -207
  134. package/dist/chunk-4HP6V2YA.js.map +0 -1
  135. package/dist/chunk-4SQNOOJ3.js.map +0 -1
  136. package/dist/chunk-7LMJXF4R.js.map +0 -1
  137. package/dist/chunk-7QHBFRG5.js.map +0 -1
  138. package/dist/chunk-HOSX5C5V.js.map +0 -1
  139. package/dist/chunk-IBIMGLCD.js.map +0 -1
  140. package/dist/chunk-KQE5KV2V.js.map +0 -1
  141. package/dist/chunk-LR4FA5X6.js +0 -368
  142. package/dist/chunk-LR4FA5X6.js.map +0 -1
  143. package/dist/chunk-M2LWH54R.js.map +0 -1
  144. package/dist/chunk-MKHDRIGN.js +0 -71
  145. package/dist/chunk-MKHDRIGN.js.map +0 -1
  146. package/dist/chunk-PSLAWU25.js.map +0 -1
  147. package/dist/chunk-SXDLSEHO.js.map +0 -1
  148. package/dist/chunk-UNO7CEAF.js.map +0 -1
  149. package/dist/chunk-VAKFNNKT.js +0 -410
  150. package/dist/chunk-VAKFNNKT.js.map +0 -1
  151. package/dist/chunk-VWXFFSIM.js.map +0 -1
  152. package/dist/chunk-XDV4ZRVK.js.map +0 -1
  153. package/dist/chunk-XQUUELKF.js.map +0 -1
  154. package/dist/chunk-XW4CVBUH.js.map +0 -1
  155. package/dist/plan-decision-ops.d.ts +0 -70
  156. package/dist/plan-decision-ops.js +0 -19
  157. package/dist/queued-prompt-runtime.d.ts +0 -115
  158. package/dist/queued-prompt-runtime.js +0 -9
  159. package/dist/workspaceAgentActivityListViewModel-TXH1VXrk.d.ts +0 -339
  160. package/dist/workspaceLinkActions-DS9LWqzI.d.ts +0 -74
  161. /package/dist/{plan-decision-ops.js.map → agent-gui.js.map} +0 -0
  162. /package/dist/{queued-prompt-runtime.js.map → agents.js.map} +0 -0
  163. /package/dist/{chunk-U7D7G3UU.js.map → chunk-BIHBXWK5.js.map} +0 -0
  164. /package/dist/{chunk-AOVPGJBC.js.map → chunk-NITOD7WF.js.map} +0 -0
@@ -1,4 +1,112 @@
1
- import { W as WorkspaceAgentActivityCard, n as WorkspaceAgentActivitySession, T as ToolCallStatusKind, q as WorkspaceAgentActivityTimelineItem } from './workspaceAgentActivityListViewModel-TXH1VXrk.js';
1
+ import { WorkspaceIssueMentionMode } from '@tutti-os/workspace-issue-manager/core';
2
+ import { W as WorkspaceAgentActivityCard, T as ToolCallStatusKind } from './workspaceAgentActivityListTypes-C7gPWYiA.js';
3
+ import { AgentActivitySession } from '@tutti-os/agent-activity-core';
4
+
5
+ type WorkspaceLinkActionSource = "agent-markdown" | "agent-file-change" | string;
6
+ interface OpenWorkspaceFileLinkAction {
7
+ type: "open-workspace-file";
8
+ mode?: "reveal" | "open-directory";
9
+ path: string;
10
+ directoryPath: string;
11
+ workspaceRoot: string;
12
+ source: WorkspaceLinkActionSource;
13
+ prefetchedDirectoryListing?: WorkspaceFileLinkDirectoryListing | null;
14
+ }
15
+ interface OpenLocalAssetPreviewLinkAction {
16
+ type: "open-local-asset-preview";
17
+ path: string;
18
+ name: string;
19
+ source: WorkspaceLinkActionSource;
20
+ }
21
+ interface WorkspaceFileLinkDirectoryEntry {
22
+ path: string;
23
+ name: string;
24
+ kind: "file" | "directory" | "unknown";
25
+ hasChildren: boolean | null;
26
+ sizeBytes: number | null;
27
+ mtimeMs: number | null;
28
+ }
29
+ interface WorkspaceFileLinkDirectoryListing {
30
+ workspaceId: string;
31
+ root: string;
32
+ directoryPath: string;
33
+ entries: WorkspaceFileLinkDirectoryEntry[];
34
+ }
35
+ interface OpenWorkspaceUrlLinkAction {
36
+ type: "open-url";
37
+ url: string;
38
+ source: WorkspaceLinkActionSource;
39
+ }
40
+ interface OpenAgentSessionLinkAction {
41
+ type: "open-agent-session";
42
+ workspaceId: string;
43
+ agentSessionId: string;
44
+ agentTargetId?: string | null;
45
+ source: WorkspaceLinkActionSource;
46
+ }
47
+ interface OpenWorkspaceIssueLinkAction {
48
+ type: "open-workspace-issue";
49
+ workspaceId: string;
50
+ issueId: string | null;
51
+ mode?: WorkspaceIssueMentionMode;
52
+ outputDir?: string | null;
53
+ runId?: string | null;
54
+ taskId?: string | null;
55
+ topicId?: string | null;
56
+ source: WorkspaceLinkActionSource;
57
+ }
58
+ interface OpenWorkspaceAppLinkAction {
59
+ type: "open-workspace-app";
60
+ workspaceId: string;
61
+ appId: string;
62
+ conversationId?: string | null;
63
+ messageId?: string | null;
64
+ summaryTaskId?: string | null;
65
+ source: WorkspaceLinkActionSource;
66
+ }
67
+ interface OpenCustomMentionLinkAction {
68
+ type: "open-custom-mention";
69
+ /** 注册表里的 kind(= mention:// providerId)。 */
70
+ kind: string;
71
+ href: string;
72
+ source: WorkspaceLinkActionSource;
73
+ }
74
+ type WorkspaceLinkAction = OpenWorkspaceFileLinkAction | OpenLocalAssetPreviewLinkAction | OpenWorkspaceUrlLinkAction | OpenAgentSessionLinkAction | OpenWorkspaceIssueLinkAction | OpenWorkspaceAppLinkAction | OpenCustomMentionLinkAction;
75
+
76
+ interface WorkspaceAgentActivityFileChange {
77
+ path: string;
78
+ change?: "added" | "modified" | "deleted" | "moved" | string;
79
+ tools?: string[];
80
+ }
81
+ interface WorkspaceAgentActivityFileChanges {
82
+ coverage?: string;
83
+ files?: WorkspaceAgentActivityFileChange[];
84
+ }
85
+ interface WorkspaceAgentActivityTimelineItem {
86
+ id: number;
87
+ workspaceId?: string;
88
+ agentSessionId: string;
89
+ seq?: number;
90
+ turnId?: string;
91
+ eventSource?: string;
92
+ eventId: string;
93
+ actorType: string;
94
+ actorId: string;
95
+ itemType: "message" | "call" | "event" | "error" | "lifecycle" | string;
96
+ role?: string;
97
+ callType?: "tool" | "skill" | "subagent" | "approval" | "workflow" | string;
98
+ callId?: string;
99
+ name?: string;
100
+ status?: string | null;
101
+ content?: string;
102
+ payload?: Record<string, unknown> & {
103
+ content?: unknown;
104
+ text?: unknown;
105
+ fileChanges?: WorkspaceAgentActivityFileChanges;
106
+ };
107
+ occurredAtUnixMs?: number;
108
+ createdAtUnixMs?: number;
109
+ }
2
110
 
3
111
  interface WorkspaceAgentSessionDetailMessage {
4
112
  id: string;
@@ -81,7 +189,7 @@ interface WorkspaceAgentSessionDetailTurn {
81
189
  }
82
190
  interface WorkspaceAgentSessionDetailViewModel {
83
191
  activity: WorkspaceAgentActivityCard;
84
- session: WorkspaceAgentActivitySession;
192
+ session: AgentActivitySession;
85
193
  cwd: string;
86
194
  workspaceRoot: string | null;
87
195
  turns: WorkspaceAgentSessionDetailTurn[];
@@ -89,7 +197,7 @@ interface WorkspaceAgentSessionDetailViewModel {
89
197
  }
90
198
  interface BuildWorkspaceAgentSessionDetailInput {
91
199
  activity: WorkspaceAgentActivityCard;
92
- session: WorkspaceAgentActivitySession;
200
+ session: AgentActivitySession;
93
201
  timelineItems: WorkspaceAgentActivityTimelineItem[];
94
202
  workspaceRoot?: string | null;
95
203
  }
@@ -376,14 +484,11 @@ type AgentConversationPromptVM = AgentApprovalItemVM | {
376
484
  requestId: string;
377
485
  title: string;
378
486
  };
379
- type AgentConversationPendingInteractivePromptVM = Exclude<AgentConversationPromptVM, AgentApprovalItemVM>;
380
487
  interface AgentConversationVM {
381
488
  activity: WorkspaceAgentActivityCard;
382
489
  workspaceRoot: string | null;
383
490
  sourceDetail: WorkspaceAgentSessionDetailViewModel;
384
491
  rows: AgentTranscriptRowVM[];
385
- pendingApproval: AgentApprovalItemVM | null;
386
- pendingInteractivePrompt: AgentConversationPendingInteractivePromptVM | null;
387
492
  }
388
493
 
389
- export { type AgentApprovalItemVM as A, type BuildWorkspaceAgentSessionDetailInput as B, type WorkspaceAgentSessionDetailViewModel as W, type AgentAskUserQuestionVM as a, type AgentConversationPromptVM as b, type AgentConversationVM as c, buildWorkspaceAgentSessionDetailViewModel as d };
494
+ export { type AgentApprovalItemVM as A, type BuildWorkspaceAgentSessionDetailInput as B, type WorkspaceAgentActivityTimelineItem as W, type AgentAskUserQuestionVM as a, type AgentConversationPromptVM as b, type AgentConversationVM as c, type WorkspaceAgentSessionDetailViewModel as d, type WorkspaceLinkAction as e, buildWorkspaceAgentSessionDetailViewModel as f };
@@ -0,0 +1,107 @@
1
+ type AgentFileMentionKind = "file" | "directory" | "unknown";
2
+ type AgentMentionFileNavigationAction = "agent-generated-folder" | "agent-generated-folder-back";
3
+ type AgentMentionScope = "my_sessions" | "collab_sessions";
4
+ type AgentMentionReferenceSource = "app" | "task";
5
+ interface AgentMentionFileItem {
6
+ kind: "file";
7
+ path: string;
8
+ href: string;
9
+ name: string;
10
+ entryKind: AgentFileMentionKind;
11
+ directoryPath: string;
12
+ score?: number;
13
+ thumbnailUrl?: string | null;
14
+ mentionNavigation?: AgentMentionFileNavigationAction;
15
+ childCount?: number;
16
+ }
17
+ interface AgentMentionSessionItem {
18
+ kind: "session";
19
+ href: string;
20
+ workspaceId: string;
21
+ targetId: string;
22
+ agentTargetId?: string;
23
+ name: string;
24
+ title: string;
25
+ scope: AgentMentionScope;
26
+ initiatorName: string;
27
+ initiatorAvatarUrl?: string;
28
+ agentName: string;
29
+ status?: string;
30
+ inputPreview?: string;
31
+ summaryPreview?: string;
32
+ updatedAtUnixMs?: number;
33
+ }
34
+ interface AgentMentionWorkspaceIssueItem {
35
+ kind: "workspace-issue";
36
+ href: string;
37
+ workspaceId: string;
38
+ targetId: string;
39
+ topicId?: string;
40
+ name: string;
41
+ title: string;
42
+ creatorName?: string;
43
+ status?: string;
44
+ contentPreview?: string;
45
+ updatedAtUnixMs?: number;
46
+ }
47
+ interface AgentMentionWorkspaceAppItem {
48
+ kind: "workspace-app";
49
+ href: string;
50
+ workspaceId: string;
51
+ targetId: string;
52
+ appId: string;
53
+ name: string;
54
+ description?: string;
55
+ iconUrl?: string;
56
+ /** 应用是否能够提供产物文件(reference),决定 @ 面板行末尾是否展示「查看产物」入口。 */
57
+ referencesListSupported?: boolean;
58
+ }
59
+ interface AgentMentionAgentTargetItem {
60
+ kind: "agent-target";
61
+ href: string;
62
+ workspaceId: string;
63
+ targetId: string;
64
+ name: string;
65
+ description?: string;
66
+ agentProviderId?: string;
67
+ iconUrl?: string;
68
+ }
69
+ interface AgentMentionWorkspaceReferenceItem {
70
+ kind: "workspace-reference";
71
+ href: string;
72
+ workspaceId: string;
73
+ /** URI path id:source=app 时为 appId,source=task 时为 topicId。 */
74
+ targetId: string;
75
+ source: AgentMentionReferenceSource;
76
+ /** 子级 id:app 子分组 / issueId。缺省表示整个 app / topic。 */
77
+ groupId?: string;
78
+ name: string;
79
+ iconUrl?: string;
80
+ /** 展示用文件数(来自 picker 节点 childCount);序列化不再展开文件。 */
81
+ fileCount: number;
82
+ }
83
+ interface AgentMentionWorkspaceAppFactoryItem {
84
+ kind: "workspace-app-factory";
85
+ href: string;
86
+ workspaceId: string;
87
+ targetId: string;
88
+ jobId: string;
89
+ name: string;
90
+ action?: string;
91
+ contextPath?: string;
92
+ }
93
+ interface AgentMentionCustomItem {
94
+ kind: "custom";
95
+ /** 注册表里的 kind(= mention:// providerId)。 */
96
+ customKind: string;
97
+ href: string;
98
+ workspaceId: string;
99
+ targetId: string;
100
+ /** chip 第一行。 */
101
+ name: string;
102
+ /** chip 第二行(通用双行卡)。 */
103
+ summary?: string;
104
+ }
105
+ type AgentContextMentionItem = AgentMentionFileItem | AgentMentionAgentTargetItem | AgentMentionSessionItem | AgentMentionWorkspaceAppItem | AgentMentionWorkspaceReferenceItem | AgentMentionWorkspaceAppFactoryItem | AgentMentionWorkspaceIssueItem | AgentMentionCustomItem;
106
+
107
+ export type { AgentContextMentionItem as A };
@@ -1,7 +1,7 @@
1
- import { AgentActivityUsage } from '@tutti-os/agent-activity-core';
2
- import { k as AgentHostAgentSessionCommand, l as AgentHostAgentSessionComposerSettings, n as AgentHostAgentSessionReasoningEffort, o as AgentHostAgentSessionSpeed, m as AgentHostAgentSessionPermissionConfig, p as AgentHostAgentSessionState, h as AgentGUIProvider, s as AgentPromptContentBlock, g as AgentGUINodeData, e as AgentGUIAgentTarget, i as AgentGUIProviderReadinessGate } from './types-PLFZ8SBX.js';
3
- import { A as AgentHostBatchUserInfoInput, a as AgentHostBatchUserInfoResult, b as AgentHostDeleteWorkspaceAgentSessionInput, k as AgentHostWorkspaceAgentSessionSummaryInput, j as AgentHostWorkspaceAgentSessionSummary, e as AgentHostWorkspaceAgentListInput, l as AgentHostWorkspaceAgentSnapshot, i as AgentHostWorkspaceAgentSessionMessagesInput, h as AgentHostWorkspaceAgentSessionMessages, p as WorkspaceAgentActivitySyncState } from './workspaceAgentActivityListViewModel-TXH1VXrk.js';
4
- import { A as AgentApprovalItemVM, a as AgentAskUserQuestionVM, b as AgentConversationPromptVM, c as AgentConversationVM, W as WorkspaceAgentSessionDetailViewModel } from './agentConversationVM-CfXN_TQ2.js';
1
+ import { AgentActivitySession, AgentActivitySlashCommandPolicy, AgentActivityUsage, CanonicalAgentSession } from '@tutti-os/agent-activity-core';
2
+ import { s as AgentHostAgentSessionCommand, t as AgentHostAgentSessionComposerSettings, v as AgentHostAgentSessionReasoningEffort, w as AgentHostAgentSessionSpeed, u as AgentHostAgentSessionPermissionConfig, m as AgentGUIProvider, y as AgentPromptContentBlock, l as AgentGUINodeData, h as AgentGUIAgentTarget, o as AgentGUIProviderRailMode, p as AgentGUIProviderReadinessGate } from './types-DX2bxgB8.js';
3
+ import { A as AgentApprovalItemVM, a as AgentAskUserQuestionVM, b as AgentConversationPromptVM, c as AgentConversationVM, d as WorkspaceAgentSessionDetailViewModel } from './agentConversationVM-C335TR6S.js';
4
+ import { A as AgentHostBatchUserInfoInput, a as AgentHostBatchUserInfoResult } from './workspaceAgentActivityListTypes-C7gPWYiA.js';
5
5
  import { WorkspaceUserProjectService } from '@tutti-os/workspace-user-project/contracts';
6
6
 
7
7
  declare const APP_ERROR_CODES: readonly ["common.invalid_input", "common.approved_path_required", "common.unavailable", "common.unexpected", "session.not_found", "control_surface.unauthorized", "workspace.select_directory_failed", "workspace.select_files_failed", "workspace.ensure_directory_failed", "workspace.import_files_failed", "workspace.read_file_failed", "workspace.write_file_failed", "workspace.export_file_failed", "workspace.copy_path_failed", "workspace.host_unsupported", "workspace.runtime_artifact_unavailable", "runtime.guest_agent_lane_unavailable", "workspace.room_full", "workspace.room_delete_forbidden", "workspace.room_delete_not_found", "filesystem.create_directory_failed", "filesystem.read_file_bytes_failed", "filesystem.read_file_text_failed", "filesystem.write_file_text_failed", "filesystem.copy_entry_failed", "filesystem.move_entry_failed", "filesystem.rename_entry_failed", "filesystem.delete_entry_failed", "filesystem.read_directory_failed", "filesystem.stat_failed", "terminal.spawn_failed", "terminal.write_failed", "terminal.resize_failed", "terminal.close_failed", "terminal.attach_failed", "terminal.detach_failed", "terminal.snapshot_failed", "agent.list_models_failed", "agent.launch_failed", "agent.read_last_message_failed", "agent.provider_session_not_found", "agent.resume_session_not_local", "agent.resume_session_resolve_failed", "agent.settings_require_new_session", "task.suggest_title_failed", "persistence.unavailable", "persistence.quota_exceeded", "persistence.payload_too_large", "persistence.io_failed", "persistence.invalid_state", "persistence.invalid_node_id", "update.get_state_failed", "update.configure_failed", "update.check_failed", "update.download_failed", "update.install_failed", "PACKAGE_DOWNLOAD_INTERRUPTED", "PACKAGE_DOWNLOAD_HTTP_STATUS", "PACKAGE_DOWNLOAD_INVALID", "PACKAGE_DOWNLOAD_DISK_ERROR"];
@@ -112,35 +112,9 @@ interface ReadWorkspaceFileResult {
112
112
  bytes: Uint8Array;
113
113
  }
114
114
 
115
- type AgentSessionCommand = AgentHostAgentSessionCommand;
116
- type AgentSessionComposerSettings = AgentHostAgentSessionComposerSettings;
117
- type AgentSessionPermissionConfig = AgentHostAgentSessionPermissionConfig;
118
- type AgentSessionReasoningEffort = AgentHostAgentSessionReasoningEffort;
119
- type AgentSessionSpeed = AgentHostAgentSessionSpeed;
120
- type AgentSessionState = AgentHostAgentSessionState;
121
-
122
- type AgentGUIConversationFilter = {
123
- kind: "all";
124
- } | {
125
- kind: "agentTarget";
126
- agentTargetId: string;
127
- };
128
-
129
- type AgentGUIResolvedProvider = AgentGUIProvider | "unknown";
130
- type AgentGUIConversationTitleFallback = "generic-agent" | null;
131
-
132
115
  type AgentHostAsyncResult<T = any> = Promise<T>;
133
116
  type AgentHostRecord = Record<string, unknown>;
134
117
  type AgentHostUnsubscribe = () => void;
135
- type AgentHostWorkspaceScopedInput<T extends {
136
- workspaceId?: string | null;
137
- }> = Omit<T, "workspaceId"> & {
138
- workspaceId: string;
139
- };
140
- type AgentHostWorkspaceAgentsListInput = AgentHostWorkspaceScopedInput<AgentHostWorkspaceAgentListInput>;
141
- type AgentHostWorkspaceAgentSessionMessagesRuntimeInput = AgentHostWorkspaceScopedInput<AgentHostWorkspaceAgentSessionMessagesInput>;
142
- type AgentHostWorkspaceAgentSessionSummaryRuntimeInput = AgentHostWorkspaceScopedInput<AgentHostWorkspaceAgentSessionSummaryInput>;
143
- type AgentHostDeleteWorkspaceAgentSessionRuntimeInput = AgentHostWorkspaceScopedInput<AgentHostDeleteWorkspaceAgentSessionInput>;
144
118
  type AgentHostClipboardApi = {
145
119
  writeImage?: (input: {
146
120
  data: string;
@@ -172,7 +146,6 @@ type AgentHostMetaApi = AgentHostRecord & {
172
146
  };
173
147
  type AgentHostEnvironmentApi = AgentHostRecord & {
174
148
  getBaseUrl?: () => AgentHostAsyncResult<string>;
175
- warmupOpenclawGateway?: (input?: unknown) => AgentHostAsyncResult<unknown>;
176
149
  };
177
150
  type AgentHostPersistenceApi = AgentHostRecord & {
178
151
  readWorkspaceAgentReadState: (input: ReadWorkspaceAgentReadStateInput) => AgentHostAsyncResult<WorkspaceAgentReadStateSnapshot>;
@@ -260,7 +233,6 @@ interface AgentHostInputApi {
260
233
  userProjects?: AgentHostUserProjectsApi;
261
234
  workspace: AgentHostWorkspaceApi;
262
235
  workspaceAgentProbes?: AgentHostWorkspaceAgentProbesApi;
263
- workspaceAgents?: AgentHostWorkspaceAgentsApi;
264
236
  }
265
237
  type AgentHostApi = AgentHostInputApi;
266
238
  type AgentHostAccountApi = AgentHostRecord & {
@@ -331,67 +303,13 @@ type AgentHostUserProjectsApi = AgentHostRecord & {
331
303
  };
332
304
  type AgentHostAgentSessionsApi = AgentHostRecord & {
333
305
  activate: (input: any) => AgentHostAsyncResult<any>;
334
- /**
335
- * @deprecated AgentGUI production writes must use AgentActivityRuntime.cancelSession.
336
- */
337
- cancel: (input: any) => AgentHostAsyncResult<any>;
338
- /**
339
- * @deprecated AgentGUI production writes must use AgentActivityRuntime.sendInput.
340
- */
341
- exec: (input: any) => AgentHostAsyncResult<any>;
342
306
  getComposerOptions?: (input: any) => AgentHostAsyncResult<any>;
343
307
  getState: (input: any) => AgentHostAsyncResult<any>;
344
308
  onEvent?: (listener: (event: any) => void) => AgentHostUnsubscribe;
345
- /**
346
- * @deprecated AgentGUI production writes must use AgentActivityRuntime.setSessionPinned.
347
- */
348
- pinSession?: (input: any) => AgentHostAsyncResult<any>;
349
- /**
350
- * @deprecated AgentGUI production sync must use AgentActivityRuntime.ensureSessionSynchronized.
351
- */
352
- releaseEventStream?: (input?: any) => AgentHostAsyncResult;
353
- /**
354
- * @deprecated AgentGUI production sync must use AgentActivityRuntime.ensureSessionSynchronized.
355
- */
356
- retainEventStream?: (input: any) => AgentHostAsyncResult;
357
- /**
358
- * @deprecated AgentGUI production writes must use AgentActivityRuntime.submitInteractive.
359
- */
360
- submitInteractive: (input: any) => AgentHostAsyncResult<any>;
361
- /**
362
- * @deprecated AgentGUI production UI must derive events from AgentActivityRuntime snapshots.
363
- */
364
- trackSettingsProjectChange?: (input: {
365
- action: "clear" | "create_new" | "select_existing";
366
- agentSessionId: string;
367
- provider?: string | null;
368
- }) => AgentHostAsyncResult<void>;
369
309
  subscribeEvents: (input: any, listener: (event: any) => void) => AgentHostUnsubscribe;
370
310
  unactivate: (input: any) => AgentHostAsyncResult<any>;
371
311
  updateSettings: (input: any) => AgentHostAsyncResult<any>;
372
312
  };
373
- /**
374
- * @deprecated Legacy host DTO projection. AgentGUI production reads and writes
375
- * must use AgentActivityRuntime and AgentActivity* models.
376
- */
377
- type AgentHostWorkspaceAgentsApi = AgentHostRecord & {
378
- /**
379
- * @deprecated Use AgentActivityRuntime.deleteSession.
380
- */
381
- deleteSession: (input: AgentHostDeleteWorkspaceAgentSessionRuntimeInput) => AgentHostAsyncResult<any>;
382
- /**
383
- * @deprecated Derive summaries from AgentActivitySnapshot/session messages.
384
- */
385
- getSessionSummary: (input: AgentHostWorkspaceAgentSessionSummaryRuntimeInput) => AgentHostAsyncResult<AgentHostWorkspaceAgentSessionSummary>;
386
- /**
387
- * @deprecated Use AgentActivityRuntime.load/getSnapshot.
388
- */
389
- list: (input: string | AgentHostWorkspaceAgentsListInput) => AgentHostAsyncResult<AgentHostWorkspaceAgentSnapshot>;
390
- /**
391
- * @deprecated Use AgentActivityRuntime.listSessionMessages.
392
- */
393
- listSessionMessages: (input: AgentHostWorkspaceAgentSessionMessagesRuntimeInput) => AgentHostAsyncResult<AgentHostWorkspaceAgentSessionMessages>;
394
- };
395
313
  interface AgentHostRuntimeApi {
396
314
  account?: AgentHostAccountApi;
397
315
  clipboard: AgentHostClipboardApi;
@@ -407,6 +325,21 @@ interface AgentHostRuntimeApi {
407
325
  workspaceAgentProbes?: AgentHostWorkspaceAgentProbesApi;
408
326
  }
409
327
 
328
+ interface AgentMessageMarkdownWorkspaceAppIcon {
329
+ appId: string;
330
+ iconUrl: string | null;
331
+ workspaceId?: string | null;
332
+ }
333
+
334
+ type AgentSessionCommand = AgentHostAgentSessionCommand;
335
+ type AgentSessionComposerSettings = AgentHostAgentSessionComposerSettings;
336
+ type AgentSessionPermissionConfig = AgentHostAgentSessionPermissionConfig;
337
+ type AgentSessionReasoningEffort = AgentHostAgentSessionReasoningEffort;
338
+ type AgentSessionSpeed = AgentHostAgentSessionSpeed;
339
+
340
+ type AgentGUIResolvedProvider = AgentGUIProvider | "unknown";
341
+ type AgentGUIConversationTitleFallback = "generic-agent" | null;
342
+
410
343
  interface AgentGUIConversationProjectSummary {
411
344
  id: string;
412
345
  path: string;
@@ -418,6 +351,13 @@ interface AgentGUIConversationProjectSummary {
418
351
  }
419
352
  type AgentGUIConversationUserProject = Pick<AgentHostUserProject, "id" | "path" | "label" | "sectionKey" | "createdAtUnixMs" | "updatedAtUnixMs" | "lastUsedAtUnixMs">;
420
353
 
354
+ type AgentGUIConversationFilter = {
355
+ kind: "all";
356
+ } | {
357
+ kind: "agentTarget";
358
+ agentTargetId: string;
359
+ };
360
+
421
361
  interface AgentGUIConversationSummary {
422
362
  id: string;
423
363
  userId?: string;
@@ -436,7 +376,7 @@ interface AgentGUIConversationSummary {
436
376
  hasUnreadCompletion?: boolean;
437
377
  unreadCompletionKey?: string | null;
438
378
  isImported?: boolean;
439
- syncState?: WorkspaceAgentActivitySyncState;
379
+ activeTurn?: AgentActivitySession["activeTurn"];
440
380
  }
441
381
  type AgentGUIConversationStatus = "working" | "waiting" | "ready" | "completed" | "failed" | "canceled";
442
382
  type AgentGUIApprovalRequest = AgentApprovalItemVM;
@@ -454,6 +394,14 @@ type AgentGUIInteractivePrompt = AgentGUIApprovalRequest | {
454
394
  kind: "plan-implementation";
455
395
  }>;
456
396
 
397
+ interface AgentSlashCommandCapability {
398
+ aliases?: readonly string[];
399
+ capability: "browserUse" | "computerUse";
400
+ kind: "capability";
401
+ name: string;
402
+ }
403
+ type AgentSlashCommandPolicy = AgentActivitySlashCommandPolicy;
404
+
457
405
  interface AgentGUISessionChrome {
458
406
  auth: {
459
407
  message: string;
@@ -463,13 +411,14 @@ interface AgentGUISessionChrome {
463
411
  kind: "activating" | "failed" | "warning";
464
412
  message: string;
465
413
  canRetry?: boolean;
466
- followupAction?: "continue-in-new-conversation";
414
+ followupAction?: never;
415
+ } | {
416
+ kind: "resume-unavailable";
417
+ message: string;
418
+ followupAction: "continue-in-new-conversation";
419
+ canRetry?: never;
467
420
  } | null;
468
- rawState: AgentSessionState | null;
469
- }
470
- interface OpenclawGatewayViewState {
471
- status: "starting" | "ready" | "failed";
472
- error: string | null;
421
+ rawState: CanonicalAgentSession | null;
473
422
  }
474
423
  interface AgentGUIInlineNotice {
475
424
  id: string;
@@ -478,13 +427,10 @@ interface AgentGUIInlineNotice {
478
427
  autoDismissMs: number | null;
479
428
  }
480
429
  interface AgentGUIProjectConversationDeleteTarget {
481
- conversationCount: number | null;
430
+ conversationCount: number;
482
431
  label: string;
483
432
  path: string;
484
433
  }
485
- interface AgentGUIConversationSectionDeleteTarget {
486
- conversationCount: number | null;
487
- }
488
434
  interface AgentGUIComposerSettingOption {
489
435
  value: string;
490
436
  label: string;
@@ -494,6 +440,8 @@ interface AgentGUIComposerSettingOption {
494
440
  interface AgentGUIProviderSkillOption {
495
441
  name: string;
496
442
  trigger: string;
443
+ /** Daemon-issued invocation contract; never infer this from provider id. */
444
+ invocation?: "promptItem" | "textTrigger";
497
445
  sourceKind: "project" | "personal" | "bundled" | "plugin" | "system" | "tutti-injected" | "connector";
498
446
  description?: string;
499
447
  pluginName?: string;
@@ -532,21 +480,7 @@ interface AgentComposerDraftLargeText {
532
480
  uploading?: boolean;
533
481
  uploadError?: string;
534
482
  }
535
- /**
536
- * Marks a prompt `file` content block as a pasted-text attachment (as opposed
537
- * to a user-attached file). Carried on the block `kind` so the round-trip
538
- * (submit → queue → edit-restore) can rebuild a large-text chip instead of a
539
- * regular file chip, and so the codex-style "read this file" instruction is
540
- * materialized only for these blocks at send time.
541
- */
542
- declare const AGENT_PASTED_TEXT_BLOCK_KIND = "pasted-text";
543
- /**
544
- * Provider id of the custom mention kind used to render a pasted-text chip in
545
- * the conversation flow. The mention href (`mention://pasted-text/...`) carries
546
- * the landed archive path + size so the host can render the chip and open a
547
- * preview on click. Registered via registerAgentCustomMentionKind.
548
- */
549
- declare const AGENT_PASTED_TEXT_MENTION_KIND = "pasted-text";
483
+
550
484
  interface AgentComposerDraft {
551
485
  prompt: string;
552
486
  images: AgentComposerDraftImage[];
@@ -572,7 +506,11 @@ interface AgentGUIComposerSettingsVM {
572
506
  planExclusiveWithPermissionMode?: boolean;
573
507
  supportsBrowser?: boolean;
574
508
  supportsComputerUse?: boolean;
509
+ permissionModeChangeDuringTurn?: boolean;
510
+ slashCommandPolicy?: AgentSlashCommandPolicy | null;
575
511
  isSettingsLoading: boolean;
512
+ /** Initial slash command and capability catalog request is in flight. */
513
+ isCapabilityOptionsLoading?: boolean;
576
514
  isModelOptionsLoading?: boolean;
577
515
  modelUnavailable: boolean;
578
516
  reasoningUnavailable: boolean;
@@ -586,7 +524,7 @@ interface AgentGUIComposerSettingsVM {
586
524
  selectedProjectPath?: string | null;
587
525
  projectLocked?: boolean;
588
526
  projectPathIsRemote?: boolean;
589
- modelListCollapsedToLatest?: boolean;
527
+ collapseModelOptionsToLatest?: boolean;
590
528
  availableModels: AgentGUIComposerSettingOption[];
591
529
  availableReasoningEfforts: AgentGUIComposerSettingOption[];
592
530
  availableSpeeds: AgentGUIComposerSettingOption[];
@@ -599,71 +537,86 @@ interface AgentGUIQueuedPromptVM {
599
537
  displayPrompt?: string;
600
538
  createdAtUnixMs: number;
601
539
  }
602
- interface AgentGUINodeViewModel {
540
+ interface AgentGUIShellViewModel {
603
541
  workspaceId: string;
604
542
  workspacePath?: string | null;
605
543
  currentUserId?: string | null;
606
544
  data: AgentGUINodeData;
545
+ }
546
+ interface AgentGUIRailViewModel {
607
547
  selectedAgentTarget: AgentGUIAgentTarget;
608
548
  agentTargets: readonly AgentGUIAgentTarget[];
609
- handoffAgentTargets: readonly AgentGUIAgentTarget[];
610
549
  agentTargetsLoading: boolean;
550
+ /** How the rail composes its list — "exact" renders targets verbatim with no static injection. */
551
+ providerRailMode: AgentGUIProviderRailMode;
552
+ /** Providers gated by the host (feature-gated) — rail renders coming-soon placeholders. */
553
+ comingSoonProviders: readonly AgentGUIProvider[];
611
554
  conversationFilter: AgentGUIConversationFilter;
612
555
  conversations: AgentGUIConversationSummary[];
613
556
  userProjects: AgentGUIConversationUserProject[];
614
557
  activeConversation: AgentGUIConversationSummary | null;
615
558
  activeConversationId: string | null;
616
- availableCommands: AgentSessionCommand[];
617
- availableSkills: AgentGUIProviderSkillOption[];
618
- draftPrompt: string;
619
- draftContent: AgentComposerDraft;
620
559
  isLoadingConversations: boolean;
560
+ listError: string | null;
561
+ }
562
+ interface AgentGUIDetailViewModel {
621
563
  isLoadingMessages: boolean;
622
564
  isLoadingOlderMessages: boolean;
623
565
  hasOlderMessages: boolean;
566
+ usage: AgentActivityUsage | null;
567
+ backgroundAgentCount: number;
568
+ hasSentUserMessage: boolean;
569
+ avoidGroupingEdits: boolean;
570
+ conversation?: AgentConversationVM | null;
571
+ conversationDetail: WorkspaceAgentSessionDetailViewModel | null;
572
+ }
573
+ interface AgentGUIComposerViewModel {
574
+ handoffAgentTargets: readonly AgentGUIAgentTarget[];
575
+ availableCommands: AgentSessionCommand[];
576
+ availableSkills: AgentGUIProviderSkillOption[];
577
+ draftPrompt: string;
578
+ draftContent: AgentComposerDraft;
624
579
  isCreatingConversation: boolean;
625
580
  isSubmitting: boolean;
626
581
  isInterrupting: boolean;
627
582
  isCancelPending: boolean;
628
- isRespondingApproval: boolean;
629
- canCancel: boolean;
630
- canSubmitInteractive: boolean;
631
- canGoalControl: boolean;
632
- canUploadAttachment: boolean;
633
583
  promptImagesSupported: boolean;
634
584
  compactSupported: boolean | null;
635
- /**
636
- * Provider goal supports a real paused state (codex thread goals). Claude
637
- * Code's goal has none — the banner then omits pause/resume controls.
638
- */
585
+ /** Provider goal exposes a real paused state and pause/resume controls. */
639
586
  goalPauseSupported: boolean;
640
- usage: AgentActivityUsage | null;
641
- backgroundAgentCount: number;
642
- /** Codex plan turn finished: offer the TUI-equivalent implement prompt. */
643
- listError: string | null;
644
- isDeletingConversation: boolean;
645
- isDeletingProjectConversations: boolean;
646
- pendingDeleteConversation: AgentGUIConversationSummary | null;
647
- pendingDeleteProjectConversations: AgentGUIProjectConversationDeleteTarget | null;
648
- pendingDeleteConversations: AgentGUIConversationSectionDeleteTarget | null;
649
- pendingApproval: AgentGUIApprovalRequest | null;
650
- pendingInteractivePrompt: AgentGUIInteractivePrompt | null;
651
- activeLiveState: "inactive" | "activating" | "active" | "failed";
652
- activationError: string | null;
653
- openclawGateway: OpenclawGatewayViewState | null;
654
- activeConversationBusy: boolean;
655
587
  canSubmit: boolean;
656
588
  composerSettings: AgentGUIComposerSettingsVM;
657
- queuedPrompts: readonly AgentGUIQueuedPromptVM[];
589
+ queuedPrompts: AgentGUIQueuedPromptVM[];
658
590
  drainingQueuedPromptId: string | null;
659
591
  canQueueWhileBusy: boolean;
660
- hasSentUserMessage: boolean;
661
- avoidGroupingEdits: boolean;
662
- conversation?: AgentConversationVM | null;
663
- conversationDetail: WorkspaceAgentSessionDetailViewModel | null;
592
+ }
593
+ interface AgentGUIInteractionViewModel {
594
+ isRespondingApproval: boolean;
595
+ pendingApproval: AgentGUIApprovalRequest | null;
596
+ pendingInteractivePrompt: AgentGUIInteractivePrompt | null;
664
597
  sessionChrome: AgentGUISessionChrome;
665
598
  inlineNotice: AgentGUIInlineNotice | null;
599
+ }
600
+ interface AgentGUIReadinessViewModel {
601
+ activeLiveState: "inactive" | "activating" | "active" | "failed";
602
+ activationError: string | null;
603
+ activeConversationBusy: boolean;
666
604
  providerReadinessGate: AgentGUIProviderReadinessGate | null;
667
605
  }
606
+ interface AgentGUIOperationsViewModel {
607
+ isDeletingConversation: boolean;
608
+ isDeletingProjectConversations: boolean;
609
+ pendingDeleteConversation: AgentGUIConversationSummary | null;
610
+ pendingDeleteProjectConversations: AgentGUIProjectConversationDeleteTarget | null;
611
+ }
612
+ interface AgentGUINodeViewModel {
613
+ shell: AgentGUIShellViewModel;
614
+ rail: AgentGUIRailViewModel;
615
+ detail: AgentGUIDetailViewModel;
616
+ composer: AgentGUIComposerViewModel;
617
+ interaction: AgentGUIInteractionViewModel;
618
+ readiness: AgentGUIReadinessViewModel;
619
+ operations: AgentGUIOperationsViewModel;
620
+ }
668
621
 
669
- export { AGENT_PASTED_TEXT_BLOCK_KIND as A, type PersistWriteResult as P, type ReadWorkspaceAgentReadStateInput as R, type WorkspaceAgentReadStateSnapshot as W, AGENT_PASTED_TEXT_MENTION_KIND as a, type AgentComposerDraft as b, type AgentGUIComposerSettingsVM as c, type AgentGUINodeViewModel as d, type AgentGUIProviderSkillOption as e, type AgentGUIQueuedPromptVM as f, type AgentHostApi as g, type AgentHostApplyWorkspaceGitPatchInput as h, type AgentHostInputApi as i, type AgentHostRuntimeApi as j, type AgentHostSelectFilesInput as k, type AgentProbeProvider as l, type AgentProbeSnapshot as m, type AgentProviderProbeListInput as n, type AgentProviderProbeListResult as o, type AgentSessionCommand as p, type AgentUsageQuota as q, type AgentUsageSnapshot as r, type WriteWorkspaceAgentReadStateInput as s };
622
+ export type { AgentComposerDraft as A, PersistWriteResult as P, ReadWorkspaceAgentReadStateInput as R, WorkspaceAgentReadStateSnapshot as W, AgentGUIComposerSettingsVM as a, AgentGUINodeViewModel as b, AgentGUIProviderSkillOption as c, AgentGUIQueuedPromptVM as d, AgentHostApi as e, AgentHostApplyWorkspaceGitPatchInput as f, AgentHostInputApi as g, AgentHostRuntimeApi as h, AgentHostSelectFilesInput as i, AgentMessageMarkdownWorkspaceAppIcon as j, AgentProbeProvider as k, AgentProbeSnapshot as l, AgentProviderProbeListInput as m, AgentProviderProbeListResult as n, AgentSessionCommand as o, AgentSlashCommandCapability as p, AgentUsageQuota as q, AgentUsageSnapshot as r, WriteWorkspaceAgentReadStateInput as s };