@tutti-os/agent-gui 0.0.94 → 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 (153) 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 +12 -8
  5. package/dist/agent-conversation/index.js.map +1 -1
  6. package/dist/agent-env/index.d.ts +10 -36
  7. package/dist/agent-env/index.js +1 -56
  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 -124
  12. package/dist/agent-message-center/index.js +1374 -1316
  13. package/dist/agent-message-center/index.js.map +1 -1
  14. package/dist/{agentConversationVM-Cl4G0Lln.d.ts → agentConversationVM-C335TR6S.d.ts} +112 -7
  15. package/dist/agentFileMentionContracts-Czvz6YMI.d.ts +107 -0
  16. package/dist/{agentGuiNodeTypes-CAioPXK9.d.ts → agentGuiNodeTypes-DppADPHW.d.ts} +96 -148
  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 +126 -80
  21. package/dist/app/renderer/assets/icons/agent-vinyls/tutti-vinyl.png +0 -0
  22. package/dist/app/renderer/assets/icons/open-link-lined.svg +4 -0
  23. package/dist/{chunk-P72YLKC6.js → chunk-3R2D4E57.js} +3127 -3398
  24. package/dist/chunk-3R2D4E57.js.map +1 -0
  25. package/dist/chunk-4YG7YK7S.js +23 -0
  26. package/dist/chunk-4YG7YK7S.js.map +1 -0
  27. package/dist/chunk-5X7YDOC6.js +42 -0
  28. package/dist/chunk-5X7YDOC6.js.map +1 -0
  29. package/dist/{chunk-IBIMGLCD.js → chunk-7J4K6WKB.js} +1 -1
  30. package/dist/chunk-7J4K6WKB.js.map +1 -0
  31. package/dist/{chunk-BXVPOGYK.js → chunk-7PFDA2HQ.js} +505 -504
  32. package/dist/chunk-7PFDA2HQ.js.map +1 -0
  33. package/dist/{chunk-AWAIUYG4.js → chunk-7RDD3EWP.js} +513 -555
  34. package/dist/chunk-7RDD3EWP.js.map +1 -0
  35. package/dist/{chunk-UBDPV34P.js → chunk-AOS2VWU6.js} +1355 -1305
  36. package/dist/chunk-AOS2VWU6.js.map +1 -0
  37. package/dist/{chunk-E5FOXRUM.js → chunk-BFNJKTDV.js} +295 -255
  38. package/dist/chunk-BFNJKTDV.js.map +1 -0
  39. package/dist/{chunk-5FE7M42A.js → chunk-BIHBXWK5.js} +2 -2
  40. package/dist/{chunk-7BUYFVRI.js → chunk-C5FV4UGI.js} +2921 -2944
  41. package/dist/chunk-C5FV4UGI.js.map +1 -0
  42. package/dist/{chunk-SCLLP5DO.js → chunk-CRO2MV2Y.js} +36 -46
  43. package/dist/chunk-CRO2MV2Y.js.map +1 -0
  44. package/dist/chunk-FGLQZ6I4.js +9 -0
  45. package/dist/chunk-FGLQZ6I4.js.map +1 -0
  46. package/dist/chunk-H6IQ63DQ.js +14 -0
  47. package/dist/chunk-H6IQ63DQ.js.map +1 -0
  48. package/dist/{chunk-IGY4ASUF.js → chunk-JX2SIXNL.js} +1293 -1702
  49. package/dist/chunk-JX2SIXNL.js.map +1 -0
  50. package/dist/chunk-KAL4XZMA.js +231 -0
  51. package/dist/chunk-KAL4XZMA.js.map +1 -0
  52. package/dist/chunk-KJQERFKX.js +259 -0
  53. package/dist/chunk-KJQERFKX.js.map +1 -0
  54. package/dist/chunk-LQVXBT65.js +491 -0
  55. package/dist/chunk-LQVXBT65.js.map +1 -0
  56. package/dist/{chunk-554VG7ZW.js → chunk-NITOD7WF.js} +2 -2
  57. package/dist/{chunk-7LMJXF4R.js → chunk-NJAZ7LQM.js} +20 -16
  58. package/dist/chunk-NJAZ7LQM.js.map +1 -0
  59. package/dist/chunk-NX3CZJXW.js +25 -0
  60. package/dist/chunk-NX3CZJXW.js.map +1 -0
  61. package/dist/chunk-O6W72SEP.js +93 -0
  62. package/dist/chunk-O6W72SEP.js.map +1 -0
  63. package/dist/chunk-RY6GIO3K.js +31700 -0
  64. package/dist/chunk-RY6GIO3K.js.map +1 -0
  65. package/dist/{chunk-XDV4ZRVK.js → chunk-UGVI47X6.js} +98 -37
  66. package/dist/chunk-UGVI47X6.js.map +1 -0
  67. package/dist/{chunk-XW4CVBUH.js → chunk-UQJPV6HP.js} +18 -11
  68. package/dist/chunk-UQJPV6HP.js.map +1 -0
  69. package/dist/{chunk-GAPTLVII.js → chunk-VF22EG3F.js} +1 -1
  70. package/dist/{chunk-GAPTLVII.js.map → chunk-VF22EG3F.js.map} +1 -1
  71. package/dist/{chunk-45FF4DQU.js → chunk-WEDMAVX2.js} +22 -24
  72. package/dist/chunk-WEDMAVX2.js.map +1 -0
  73. package/dist/{chunk-MATIJPGF.js → chunk-XMO45GKA.js} +531 -401
  74. package/dist/chunk-XMO45GKA.js.map +1 -0
  75. package/dist/{chunk-ZUW4B5AT.js → chunk-YE25HN6T.js} +6 -9
  76. package/dist/chunk-YE25HN6T.js.map +1 -0
  77. package/dist/context-mention-palette/index.d.ts +3 -2
  78. package/dist/context-mention-palette/index.js +19 -14
  79. package/dist/custom-mention.d.ts +44 -0
  80. package/dist/custom-mention.js +17 -0
  81. package/dist/custom-mention.js.map +1 -0
  82. package/dist/dock-icons.d.ts +6 -0
  83. package/dist/dock-icons.js +11 -0
  84. package/dist/dock-icons.js.map +1 -0
  85. package/dist/i18n/index.d.ts +850 -841
  86. package/dist/i18n/index.js +2 -2
  87. package/dist/index.d.ts +52 -1061
  88. package/dist/index.js +72 -35530
  89. package/dist/index.js.map +1 -1
  90. package/dist/mention-search.d.ts +226 -0
  91. package/dist/mention-search.js +29 -0
  92. package/dist/mention-search.js.map +1 -0
  93. package/dist/open-link-lined-JWEKUKME.svg +4 -0
  94. package/dist/provider-icons.d.ts +6 -0
  95. package/dist/provider-icons.js +12 -0
  96. package/dist/provider-icons.js.map +1 -0
  97. package/dist/provider-identity.d.ts +9 -0
  98. package/dist/provider-identity.js +21 -0
  99. package/dist/provider-identity.js.map +1 -0
  100. package/dist/runtime-BBNdWgDU.d.ts +10 -0
  101. package/dist/{types-PLFZ8SBX.d.ts → types-DX2bxgB8.d.ts} +28 -83
  102. package/dist/workbench/contribution.d.ts +32 -40
  103. package/dist/workbench/contribution.js +10 -6
  104. package/dist/workbench/index.d.ts +3 -2
  105. package/dist/workbench/index.js +24 -20
  106. package/dist/workbench/launch.d.ts +2 -5
  107. package/dist/workbench/launch.js +4 -3
  108. package/dist/workbench/providerCatalog.js +2 -1
  109. package/dist/workbench/sessionTitle.d.ts +4 -3
  110. package/dist/workbench/sessionTitle.js +4 -3
  111. package/dist/workbench/state.d.ts +1 -1
  112. package/dist/workbench/state.js +3 -2
  113. package/dist/workbench/types.d.ts +0 -3
  114. package/dist/workbench/types.js +1 -1
  115. package/dist/workspace-agent-generated-files.d.ts +20 -2
  116. package/dist/workspace-agent-generated-files.js +7 -6
  117. package/dist/workspaceAgentActivityListTypes-C7gPWYiA.d.ts +71 -0
  118. package/package.json +63 -26
  119. package/dist/AgentMentionSearchController-DD_WOred.d.ts +0 -241
  120. package/dist/AgentMessageMarkdown-DeYPURtF.d.ts +0 -7
  121. package/dist/chunk-45FF4DQU.js.map +0 -1
  122. package/dist/chunk-4HP6V2YA.js +0 -207
  123. package/dist/chunk-4HP6V2YA.js.map +0 -1
  124. package/dist/chunk-7BUYFVRI.js.map +0 -1
  125. package/dist/chunk-7LMJXF4R.js.map +0 -1
  126. package/dist/chunk-AWAIUYG4.js.map +0 -1
  127. package/dist/chunk-BXVPOGYK.js.map +0 -1
  128. package/dist/chunk-E5FOXRUM.js.map +0 -1
  129. package/dist/chunk-IBIMGLCD.js.map +0 -1
  130. package/dist/chunk-IGY4ASUF.js.map +0 -1
  131. package/dist/chunk-LR4FA5X6.js +0 -368
  132. package/dist/chunk-LR4FA5X6.js.map +0 -1
  133. package/dist/chunk-MATIJPGF.js.map +0 -1
  134. package/dist/chunk-MKHDRIGN.js +0 -71
  135. package/dist/chunk-MKHDRIGN.js.map +0 -1
  136. package/dist/chunk-P72YLKC6.js.map +0 -1
  137. package/dist/chunk-SCLLP5DO.js.map +0 -1
  138. package/dist/chunk-UBDPV34P.js.map +0 -1
  139. package/dist/chunk-VAKFNNKT.js +0 -410
  140. package/dist/chunk-VAKFNNKT.js.map +0 -1
  141. package/dist/chunk-XDV4ZRVK.js.map +0 -1
  142. package/dist/chunk-XW4CVBUH.js.map +0 -1
  143. package/dist/chunk-ZUW4B5AT.js.map +0 -1
  144. package/dist/plan-decision-ops.d.ts +0 -70
  145. package/dist/plan-decision-ops.js +0 -19
  146. package/dist/queued-prompt-runtime.d.ts +0 -115
  147. package/dist/queued-prompt-runtime.js +0 -9
  148. package/dist/workspaceAgentActivityListViewModel-BzV-cf0D.d.ts +0 -340
  149. package/dist/workspaceLinkActions-DS9LWqzI.d.ts +0 -74
  150. /package/dist/{plan-decision-ops.js.map → agent-gui.js.map} +0 -0
  151. /package/dist/{queued-prompt-runtime.js.map → agents.js.map} +0 -0
  152. /package/dist/{chunk-5FE7M42A.js.map → chunk-BIHBXWK5.js.map} +0 -0
  153. /package/dist/{chunk-554VG7ZW.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-BzV-cf0D.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-BzV-cf0D.js';
4
- import { A as AgentApprovalItemVM, a as AgentAskUserQuestionVM, b as AgentConversationPromptVM, c as AgentConversationVM, W as WorkspaceAgentSessionDetailViewModel } from './agentConversationVM-Cl4G0Lln.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;
@@ -470,11 +418,7 @@ interface AgentGUISessionChrome {
470
418
  followupAction: "continue-in-new-conversation";
471
419
  canRetry?: never;
472
420
  } | null;
473
- rawState: AgentSessionState | null;
474
- }
475
- interface OpenclawGatewayViewState {
476
- status: "starting" | "ready" | "failed";
477
- error: string | null;
421
+ rawState: CanonicalAgentSession | null;
478
422
  }
479
423
  interface AgentGUIInlineNotice {
480
424
  id: string;
@@ -483,13 +427,10 @@ interface AgentGUIInlineNotice {
483
427
  autoDismissMs: number | null;
484
428
  }
485
429
  interface AgentGUIProjectConversationDeleteTarget {
486
- conversationCount: number | null;
430
+ conversationCount: number;
487
431
  label: string;
488
432
  path: string;
489
433
  }
490
- interface AgentGUIConversationSectionDeleteTarget {
491
- conversationCount: number | null;
492
- }
493
434
  interface AgentGUIComposerSettingOption {
494
435
  value: string;
495
436
  label: string;
@@ -499,6 +440,8 @@ interface AgentGUIComposerSettingOption {
499
440
  interface AgentGUIProviderSkillOption {
500
441
  name: string;
501
442
  trigger: string;
443
+ /** Daemon-issued invocation contract; never infer this from provider id. */
444
+ invocation?: "promptItem" | "textTrigger";
502
445
  sourceKind: "project" | "personal" | "bundled" | "plugin" | "system" | "tutti-injected" | "connector";
503
446
  description?: string;
504
447
  pluginName?: string;
@@ -537,21 +480,7 @@ interface AgentComposerDraftLargeText {
537
480
  uploading?: boolean;
538
481
  uploadError?: string;
539
482
  }
540
- /**
541
- * Marks a prompt `file` content block as a pasted-text attachment (as opposed
542
- * to a user-attached file). Carried on the block `kind` so the round-trip
543
- * (submit → queue → edit-restore) can rebuild a large-text chip instead of a
544
- * regular file chip, and so the codex-style "read this file" instruction is
545
- * materialized only for these blocks at send time.
546
- */
547
- declare const AGENT_PASTED_TEXT_BLOCK_KIND = "pasted-text";
548
- /**
549
- * Provider id of the custom mention kind used to render a pasted-text chip in
550
- * the conversation flow. The mention href (`mention://pasted-text/...`) carries
551
- * the landed archive path + size so the host can render the chip and open a
552
- * preview on click. Registered via registerAgentCustomMentionKind.
553
- */
554
- declare const AGENT_PASTED_TEXT_MENTION_KIND = "pasted-text";
483
+
555
484
  interface AgentComposerDraft {
556
485
  prompt: string;
557
486
  images: AgentComposerDraftImage[];
@@ -577,7 +506,11 @@ interface AgentGUIComposerSettingsVM {
577
506
  planExclusiveWithPermissionMode?: boolean;
578
507
  supportsBrowser?: boolean;
579
508
  supportsComputerUse?: boolean;
509
+ permissionModeChangeDuringTurn?: boolean;
510
+ slashCommandPolicy?: AgentSlashCommandPolicy | null;
580
511
  isSettingsLoading: boolean;
512
+ /** Initial slash command and capability catalog request is in flight. */
513
+ isCapabilityOptionsLoading?: boolean;
581
514
  isModelOptionsLoading?: boolean;
582
515
  modelUnavailable: boolean;
583
516
  reasoningUnavailable: boolean;
@@ -591,7 +524,7 @@ interface AgentGUIComposerSettingsVM {
591
524
  selectedProjectPath?: string | null;
592
525
  projectLocked?: boolean;
593
526
  projectPathIsRemote?: boolean;
594
- modelListCollapsedToLatest?: boolean;
527
+ collapseModelOptionsToLatest?: boolean;
595
528
  availableModels: AgentGUIComposerSettingOption[];
596
529
  availableReasoningEfforts: AgentGUIComposerSettingOption[];
597
530
  availableSpeeds: AgentGUIComposerSettingOption[];
@@ -604,71 +537,86 @@ interface AgentGUIQueuedPromptVM {
604
537
  displayPrompt?: string;
605
538
  createdAtUnixMs: number;
606
539
  }
607
- interface AgentGUINodeViewModel {
540
+ interface AgentGUIShellViewModel {
608
541
  workspaceId: string;
609
542
  workspacePath?: string | null;
610
543
  currentUserId?: string | null;
611
544
  data: AgentGUINodeData;
545
+ }
546
+ interface AgentGUIRailViewModel {
612
547
  selectedAgentTarget: AgentGUIAgentTarget;
613
548
  agentTargets: readonly AgentGUIAgentTarget[];
614
- handoffAgentTargets: readonly AgentGUIAgentTarget[];
615
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[];
616
554
  conversationFilter: AgentGUIConversationFilter;
617
555
  conversations: AgentGUIConversationSummary[];
618
556
  userProjects: AgentGUIConversationUserProject[];
619
557
  activeConversation: AgentGUIConversationSummary | null;
620
558
  activeConversationId: string | null;
621
- availableCommands: AgentSessionCommand[];
622
- availableSkills: AgentGUIProviderSkillOption[];
623
- draftPrompt: string;
624
- draftContent: AgentComposerDraft;
625
559
  isLoadingConversations: boolean;
560
+ listError: string | null;
561
+ }
562
+ interface AgentGUIDetailViewModel {
626
563
  isLoadingMessages: boolean;
627
564
  isLoadingOlderMessages: boolean;
628
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;
629
579
  isCreatingConversation: boolean;
630
580
  isSubmitting: boolean;
631
581
  isInterrupting: boolean;
632
582
  isCancelPending: boolean;
633
- isRespondingApproval: boolean;
634
- canCancel: boolean;
635
- canSubmitInteractive: boolean;
636
- canGoalControl: boolean;
637
- canUploadAttachment: boolean;
638
583
  promptImagesSupported: boolean;
639
584
  compactSupported: boolean | null;
640
- /**
641
- * Provider goal supports a real paused state (codex thread goals). Claude
642
- * Code's goal has none — the banner then omits pause/resume controls.
643
- */
585
+ /** Provider goal exposes a real paused state and pause/resume controls. */
644
586
  goalPauseSupported: boolean;
645
- usage: AgentActivityUsage | null;
646
- backgroundAgentCount: number;
647
- /** Codex plan turn finished: offer the TUI-equivalent implement prompt. */
648
- listError: string | null;
649
- isDeletingConversation: boolean;
650
- isDeletingProjectConversations: boolean;
651
- pendingDeleteConversation: AgentGUIConversationSummary | null;
652
- pendingDeleteProjectConversations: AgentGUIProjectConversationDeleteTarget | null;
653
- pendingDeleteConversations: AgentGUIConversationSectionDeleteTarget | null;
654
- pendingApproval: AgentGUIApprovalRequest | null;
655
- pendingInteractivePrompt: AgentGUIInteractivePrompt | null;
656
- activeLiveState: "inactive" | "activating" | "active" | "failed";
657
- activationError: string | null;
658
- openclawGateway: OpenclawGatewayViewState | null;
659
- activeConversationBusy: boolean;
660
587
  canSubmit: boolean;
661
588
  composerSettings: AgentGUIComposerSettingsVM;
662
- queuedPrompts: readonly AgentGUIQueuedPromptVM[];
589
+ queuedPrompts: AgentGUIQueuedPromptVM[];
663
590
  drainingQueuedPromptId: string | null;
664
591
  canQueueWhileBusy: boolean;
665
- hasSentUserMessage: boolean;
666
- avoidGroupingEdits: boolean;
667
- conversation?: AgentConversationVM | null;
668
- conversationDetail: WorkspaceAgentSessionDetailViewModel | null;
592
+ }
593
+ interface AgentGUIInteractionViewModel {
594
+ isRespondingApproval: boolean;
595
+ pendingApproval: AgentGUIApprovalRequest | null;
596
+ pendingInteractivePrompt: AgentGUIInteractivePrompt | null;
669
597
  sessionChrome: AgentGUISessionChrome;
670
598
  inlineNotice: AgentGUIInlineNotice | null;
599
+ }
600
+ interface AgentGUIReadinessViewModel {
601
+ activeLiveState: "inactive" | "activating" | "active" | "failed";
602
+ activationError: string | null;
603
+ activeConversationBusy: boolean;
671
604
  providerReadinessGate: AgentGUIProviderReadinessGate | null;
672
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
+ }
673
621
 
674
- 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 };