@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.
- package/README.md +48 -32
- package/dist/AgentGUI-CwBLYtv-.d.ts +992 -0
- package/dist/agent-conversation/index.d.ts +5 -7
- package/dist/agent-conversation/index.js +12 -8
- package/dist/agent-conversation/index.js.map +1 -1
- package/dist/agent-env/index.d.ts +10 -36
- package/dist/agent-env/index.js +1 -56
- package/dist/agent-env/index.js.map +1 -1
- package/dist/agent-gui.d.ts +21 -0
- package/dist/agent-gui.js +39 -0
- package/dist/agent-message-center/index.d.ts +145 -124
- package/dist/agent-message-center/index.js +1374 -1316
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{agentConversationVM-Cl4G0Lln.d.ts → agentConversationVM-C335TR6S.d.ts} +112 -7
- package/dist/agentFileMentionContracts-Czvz6YMI.d.ts +107 -0
- package/dist/{agentGuiNodeTypes-CAioPXK9.d.ts → agentGuiNodeTypes-DppADPHW.d.ts} +96 -148
- package/dist/agentPlanPromptDispatch-C7cCMjve.d.ts +37 -0
- package/dist/agents.d.ts +13 -0
- package/dist/agents.js +13 -0
- package/dist/app/renderer/agentactivity.css +126 -80
- package/dist/app/renderer/assets/icons/agent-vinyls/tutti-vinyl.png +0 -0
- package/dist/app/renderer/assets/icons/open-link-lined.svg +4 -0
- package/dist/{chunk-P72YLKC6.js → chunk-3R2D4E57.js} +3127 -3398
- package/dist/chunk-3R2D4E57.js.map +1 -0
- package/dist/chunk-4YG7YK7S.js +23 -0
- package/dist/chunk-4YG7YK7S.js.map +1 -0
- package/dist/chunk-5X7YDOC6.js +42 -0
- package/dist/chunk-5X7YDOC6.js.map +1 -0
- package/dist/{chunk-IBIMGLCD.js → chunk-7J4K6WKB.js} +1 -1
- package/dist/chunk-7J4K6WKB.js.map +1 -0
- package/dist/{chunk-BXVPOGYK.js → chunk-7PFDA2HQ.js} +505 -504
- package/dist/chunk-7PFDA2HQ.js.map +1 -0
- package/dist/{chunk-AWAIUYG4.js → chunk-7RDD3EWP.js} +513 -555
- package/dist/chunk-7RDD3EWP.js.map +1 -0
- package/dist/{chunk-UBDPV34P.js → chunk-AOS2VWU6.js} +1355 -1305
- package/dist/chunk-AOS2VWU6.js.map +1 -0
- package/dist/{chunk-E5FOXRUM.js → chunk-BFNJKTDV.js} +295 -255
- package/dist/chunk-BFNJKTDV.js.map +1 -0
- package/dist/{chunk-5FE7M42A.js → chunk-BIHBXWK5.js} +2 -2
- package/dist/{chunk-7BUYFVRI.js → chunk-C5FV4UGI.js} +2921 -2944
- package/dist/chunk-C5FV4UGI.js.map +1 -0
- package/dist/{chunk-SCLLP5DO.js → chunk-CRO2MV2Y.js} +36 -46
- package/dist/chunk-CRO2MV2Y.js.map +1 -0
- package/dist/chunk-FGLQZ6I4.js +9 -0
- package/dist/chunk-FGLQZ6I4.js.map +1 -0
- package/dist/chunk-H6IQ63DQ.js +14 -0
- package/dist/chunk-H6IQ63DQ.js.map +1 -0
- package/dist/{chunk-IGY4ASUF.js → chunk-JX2SIXNL.js} +1293 -1702
- package/dist/chunk-JX2SIXNL.js.map +1 -0
- package/dist/chunk-KAL4XZMA.js +231 -0
- package/dist/chunk-KAL4XZMA.js.map +1 -0
- package/dist/chunk-KJQERFKX.js +259 -0
- package/dist/chunk-KJQERFKX.js.map +1 -0
- package/dist/chunk-LQVXBT65.js +491 -0
- package/dist/chunk-LQVXBT65.js.map +1 -0
- package/dist/{chunk-554VG7ZW.js → chunk-NITOD7WF.js} +2 -2
- package/dist/{chunk-7LMJXF4R.js → chunk-NJAZ7LQM.js} +20 -16
- package/dist/chunk-NJAZ7LQM.js.map +1 -0
- package/dist/chunk-NX3CZJXW.js +25 -0
- package/dist/chunk-NX3CZJXW.js.map +1 -0
- package/dist/chunk-O6W72SEP.js +93 -0
- package/dist/chunk-O6W72SEP.js.map +1 -0
- package/dist/chunk-RY6GIO3K.js +31700 -0
- package/dist/chunk-RY6GIO3K.js.map +1 -0
- package/dist/{chunk-XDV4ZRVK.js → chunk-UGVI47X6.js} +98 -37
- package/dist/chunk-UGVI47X6.js.map +1 -0
- package/dist/{chunk-XW4CVBUH.js → chunk-UQJPV6HP.js} +18 -11
- package/dist/chunk-UQJPV6HP.js.map +1 -0
- package/dist/{chunk-GAPTLVII.js → chunk-VF22EG3F.js} +1 -1
- package/dist/{chunk-GAPTLVII.js.map → chunk-VF22EG3F.js.map} +1 -1
- package/dist/{chunk-45FF4DQU.js → chunk-WEDMAVX2.js} +22 -24
- package/dist/chunk-WEDMAVX2.js.map +1 -0
- package/dist/{chunk-MATIJPGF.js → chunk-XMO45GKA.js} +531 -401
- package/dist/chunk-XMO45GKA.js.map +1 -0
- package/dist/{chunk-ZUW4B5AT.js → chunk-YE25HN6T.js} +6 -9
- package/dist/chunk-YE25HN6T.js.map +1 -0
- package/dist/context-mention-palette/index.d.ts +3 -2
- package/dist/context-mention-palette/index.js +19 -14
- package/dist/custom-mention.d.ts +44 -0
- package/dist/custom-mention.js +17 -0
- package/dist/custom-mention.js.map +1 -0
- package/dist/dock-icons.d.ts +6 -0
- package/dist/dock-icons.js +11 -0
- package/dist/dock-icons.js.map +1 -0
- package/dist/i18n/index.d.ts +850 -841
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +52 -1061
- package/dist/index.js +72 -35530
- package/dist/index.js.map +1 -1
- package/dist/mention-search.d.ts +226 -0
- package/dist/mention-search.js +29 -0
- package/dist/mention-search.js.map +1 -0
- package/dist/open-link-lined-JWEKUKME.svg +4 -0
- package/dist/provider-icons.d.ts +6 -0
- package/dist/provider-icons.js +12 -0
- package/dist/provider-icons.js.map +1 -0
- package/dist/provider-identity.d.ts +9 -0
- package/dist/provider-identity.js +21 -0
- package/dist/provider-identity.js.map +1 -0
- package/dist/runtime-BBNdWgDU.d.ts +10 -0
- package/dist/{types-PLFZ8SBX.d.ts → types-DX2bxgB8.d.ts} +28 -83
- package/dist/workbench/contribution.d.ts +32 -40
- package/dist/workbench/contribution.js +10 -6
- package/dist/workbench/index.d.ts +3 -2
- package/dist/workbench/index.js +24 -20
- package/dist/workbench/launch.d.ts +2 -5
- package/dist/workbench/launch.js +4 -3
- package/dist/workbench/providerCatalog.js +2 -1
- package/dist/workbench/sessionTitle.d.ts +4 -3
- package/dist/workbench/sessionTitle.js +4 -3
- package/dist/workbench/state.d.ts +1 -1
- package/dist/workbench/state.js +3 -2
- package/dist/workbench/types.d.ts +0 -3
- package/dist/workbench/types.js +1 -1
- package/dist/workspace-agent-generated-files.d.ts +20 -2
- package/dist/workspace-agent-generated-files.js +7 -6
- package/dist/workspaceAgentActivityListTypes-C7gPWYiA.d.ts +71 -0
- package/package.json +63 -26
- package/dist/AgentMentionSearchController-DD_WOred.d.ts +0 -241
- package/dist/AgentMessageMarkdown-DeYPURtF.d.ts +0 -7
- package/dist/chunk-45FF4DQU.js.map +0 -1
- package/dist/chunk-4HP6V2YA.js +0 -207
- package/dist/chunk-4HP6V2YA.js.map +0 -1
- package/dist/chunk-7BUYFVRI.js.map +0 -1
- package/dist/chunk-7LMJXF4R.js.map +0 -1
- package/dist/chunk-AWAIUYG4.js.map +0 -1
- package/dist/chunk-BXVPOGYK.js.map +0 -1
- package/dist/chunk-E5FOXRUM.js.map +0 -1
- package/dist/chunk-IBIMGLCD.js.map +0 -1
- package/dist/chunk-IGY4ASUF.js.map +0 -1
- package/dist/chunk-LR4FA5X6.js +0 -368
- package/dist/chunk-LR4FA5X6.js.map +0 -1
- package/dist/chunk-MATIJPGF.js.map +0 -1
- package/dist/chunk-MKHDRIGN.js +0 -71
- package/dist/chunk-MKHDRIGN.js.map +0 -1
- package/dist/chunk-P72YLKC6.js.map +0 -1
- package/dist/chunk-SCLLP5DO.js.map +0 -1
- package/dist/chunk-UBDPV34P.js.map +0 -1
- package/dist/chunk-VAKFNNKT.js +0 -410
- package/dist/chunk-VAKFNNKT.js.map +0 -1
- package/dist/chunk-XDV4ZRVK.js.map +0 -1
- package/dist/chunk-XW4CVBUH.js.map +0 -1
- package/dist/chunk-ZUW4B5AT.js.map +0 -1
- package/dist/plan-decision-ops.d.ts +0 -70
- package/dist/plan-decision-ops.js +0 -19
- package/dist/queued-prompt-runtime.d.ts +0 -115
- package/dist/queued-prompt-runtime.js +0 -9
- package/dist/workspaceAgentActivityListViewModel-BzV-cf0D.d.ts +0 -340
- package/dist/workspaceLinkActions-DS9LWqzI.d.ts +0 -74
- /package/dist/{plan-decision-ops.js.map → agent-gui.js.map} +0 -0
- /package/dist/{queued-prompt-runtime.js.map → agents.js.map} +0 -0
- /package/dist/{chunk-5FE7M42A.js.map → chunk-BIHBXWK5.js.map} +0 -0
- /package/dist/{chunk-554VG7ZW.js.map → chunk-NITOD7WF.js.map} +0 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { JSX, ReactNode, HTMLAttributes } from 'react';
|
|
3
3
|
import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { AgentActivityNeedsAttentionItem, AgentActivitySnapshot } from '@tutti-os/agent-activity-core';
|
|
7
|
-
|
|
8
|
-
import {
|
|
9
|
-
export { PLAN_IMPLEMENTATION_ACTION_IMPLEMENT, PLAN_IMPLEMENTATION_PROMPT } from '../
|
|
4
|
+
import { A as AgentGuiI18nLocale, T as TranslateFn } from '../runtime-BBNdWgDU.js';
|
|
5
|
+
import { b as AgentConversationPromptVM, e as WorkspaceLinkAction } from '../agentConversationVM-C335TR6S.js';
|
|
6
|
+
import { AgentActivityNeedsAttentionItem, WorkspaceAgentConsumerSession, AgentActivitySnapshot, AgentSessionEngineState } from '@tutti-os/agent-activity-core';
|
|
7
|
+
export { WorkspaceAgentConsumerCounts, WorkspaceAgentConsumerSession, selectWorkspaceAgentConsumerCounts, selectWorkspaceAgentConsumerSession, selectWorkspaceAgentConsumerSessions } from '@tutti-os/agent-activity-core';
|
|
8
|
+
import { d as WorkspaceAgentActivityStatus } from '../workspaceAgentActivityListTypes-C7gPWYiA.js';
|
|
9
|
+
export { P as PLAN_IMPLEMENTATION_ACTION_IMPLEMENT, a as PLAN_IMPLEMENTATION_PROMPT, d as dispatchAgentPlanPromptAction, u as useEngineSelector } from '../agentPlanPromptDispatch-C7cCMjve.js';
|
|
10
|
+
import { useTranslation } from '../i18n/index.js';
|
|
10
11
|
import '@tutti-os/workspace-issue-manager/core';
|
|
11
12
|
|
|
12
13
|
type WorkspaceAgentMessageCenterDigestPrimaryKind = "input-required" | "error" | "outcome" | "progress" | "summary";
|
|
@@ -19,6 +20,10 @@ interface WorkspaceAgentMessageCenterDigest {
|
|
|
19
20
|
primary: WorkspaceAgentMessageCenterDigestPrimary;
|
|
20
21
|
}
|
|
21
22
|
|
|
23
|
+
declare function isWaitingMessageCenterItem(item: WorkspaceAgentMessageCenterItem): boolean;
|
|
24
|
+
declare function isInteractiveMessageCenterItem(item: WorkspaceAgentMessageCenterItem): boolean;
|
|
25
|
+
declare function selectMessageCenterAttentionDeckItems(items: readonly WorkspaceAgentMessageCenterItem[]): WorkspaceAgentMessageCenterItem[];
|
|
26
|
+
|
|
22
27
|
interface WorkspaceAgentMessageCenterModel {
|
|
23
28
|
waitingCount: number;
|
|
24
29
|
items: WorkspaceAgentMessageCenterItem[];
|
|
@@ -75,58 +80,70 @@ interface WorkspaceAgentMessageCenterPromptFallbackLabels {
|
|
|
75
80
|
question: string;
|
|
76
81
|
title: string;
|
|
77
82
|
}
|
|
78
|
-
declare function buildWorkspaceAgentMessageCenterModel(snapshot: AgentActivitySnapshot, options?: BuildWorkspaceAgentMessageCenterOptions): WorkspaceAgentMessageCenterModel;
|
|
79
|
-
declare function isWaitingMessageCenterItem(item: WorkspaceAgentMessageCenterItem): boolean;
|
|
80
|
-
declare function isInteractiveMessageCenterItem(item: WorkspaceAgentMessageCenterItem): boolean;
|
|
81
|
-
declare function selectMessageCenterAttentionDeckItems(items: readonly WorkspaceAgentMessageCenterItem[]): WorkspaceAgentMessageCenterItem[];
|
|
82
83
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
count: number;
|
|
88
|
-
label: string;
|
|
89
|
-
value: MessageCenterStatusFilter;
|
|
90
|
-
}
|
|
91
|
-
interface MessageCenterProviderOption {
|
|
92
|
-
count: number;
|
|
93
|
-
label: string;
|
|
94
|
-
value: string;
|
|
95
|
-
}
|
|
96
|
-
interface MessageCenterGroup {
|
|
97
|
-
id: string;
|
|
98
|
-
identity?: WorkspaceAgentMessageCenterIdentity | null;
|
|
84
|
+
declare function MessageCenterOpenChatButton({ actionsAccessory, alwaysVisible, item, label, onOpenChat, provider }: {
|
|
85
|
+
actionsAccessory?: ReactNode;
|
|
86
|
+
alwaysVisible?: boolean;
|
|
87
|
+
item: WorkspaceAgentMessageCenterItem;
|
|
99
88
|
label: string;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
interface MessageCenterAgentUserStack {
|
|
105
|
-
id: string;
|
|
89
|
+
onOpenChat: (input: {
|
|
90
|
+
agentSessionId: string;
|
|
91
|
+
provider: string;
|
|
92
|
+
}) => void;
|
|
106
93
|
provider: string;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
declare function
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
declare function
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
94
|
+
}): JSX.Element;
|
|
95
|
+
declare function MessageCenterIdentityLabel({ identity, provider }: {
|
|
96
|
+
identity: WorkspaceAgentMessageCenterIdentity | null;
|
|
97
|
+
provider: string;
|
|
98
|
+
}): JSX.Element;
|
|
99
|
+
declare function MessageCenterIdentityAvatarMark({ identity, provider, userId }: {
|
|
100
|
+
identity: WorkspaceAgentMessageCenterIdentity | null;
|
|
101
|
+
provider: string;
|
|
102
|
+
userId?: string | null;
|
|
103
|
+
}): JSX.Element;
|
|
104
|
+
declare function MessageCenterIdentityAvatarStack({ agentAvatarUrl, userAvatarUrl: rawUserAvatarUrl, userName }: {
|
|
105
|
+
agentAvatarUrl: string;
|
|
106
|
+
userAvatarUrl?: string;
|
|
107
|
+
userName: string;
|
|
108
|
+
}): JSX.Element;
|
|
109
|
+
type MessageCenterStatusTone = "amber" | "blue" | "green" | "neutral" | "red";
|
|
110
|
+
declare function messageCenterStatusTone(item: WorkspaceAgentMessageCenterItem): MessageCenterStatusTone;
|
|
111
|
+
declare function messageCenterStatusToneClass(tone: MessageCenterStatusTone): string;
|
|
112
|
+
|
|
113
|
+
declare function messageCenterStackPreviewText(item: WorkspaceAgentMessageCenterItem): string;
|
|
114
|
+
/**
|
|
115
|
+
* 收起态预览只展示纯文本 + 一个静态(不可点击)的 mention 图标,复用
|
|
116
|
+
* AgentMessageMarkdown 里那套富文本 chip 的视觉样式,但不渲染成 <a>——
|
|
117
|
+
* 这块预览本身嵌套在外层切换展开/收起的 <button> 里,塞一个可点击链接
|
|
118
|
+
* 会出现交互元素嵌套交互元素的问题。
|
|
119
|
+
*/
|
|
120
|
+
declare function messageCenterStackPreviewNodes(item: WorkspaceAgentMessageCenterItem): ReactNode[];
|
|
121
|
+
declare function resolveMessageCenterNotificationAction(item: WorkspaceAgentMessageCenterItem, input: {
|
|
122
|
+
action?: string;
|
|
123
|
+
optionId?: string;
|
|
124
|
+
}): string | null;
|
|
125
|
+
declare function buildWorkspaceAgentInteractivePromptLabels(t: ReturnType<typeof useTranslation>["t"], provider?: string): {
|
|
126
|
+
approvalLead: string;
|
|
127
|
+
planLead: string;
|
|
128
|
+
planModes: {
|
|
129
|
+
id: string;
|
|
130
|
+
label: string;
|
|
131
|
+
description: string;
|
|
132
|
+
}[];
|
|
133
|
+
stayInPlan: string;
|
|
134
|
+
sendFeedback: string;
|
|
135
|
+
feedbackPlaceholder: string;
|
|
136
|
+
previousQuestion: string;
|
|
137
|
+
nextQuestion: string;
|
|
138
|
+
submitAnswers: string;
|
|
139
|
+
answerPlaceholder: string;
|
|
140
|
+
waitingForAnswer: string;
|
|
141
|
+
planImplementationLead: string;
|
|
142
|
+
planImplementationConfirm: string;
|
|
143
|
+
planImplementationFeedbackPlaceholder: string;
|
|
144
|
+
planImplementationSend: string;
|
|
145
|
+
planImplementationSkip: string;
|
|
146
|
+
};
|
|
130
147
|
|
|
131
148
|
interface WorkspaceAgentMessageCenterCardProps {
|
|
132
149
|
item: WorkspaceAgentMessageCenterItem;
|
|
@@ -165,40 +182,6 @@ interface WorkspaceAgentMessageCenterStackProps {
|
|
|
165
182
|
}
|
|
166
183
|
declare const WorkspaceAgentMessageCenterCard: react.NamedExoticComponent<WorkspaceAgentMessageCenterCardProps>;
|
|
167
184
|
declare const WorkspaceAgentMessageCenterStack: react.NamedExoticComponent<WorkspaceAgentMessageCenterStackProps>;
|
|
168
|
-
declare function messageCenterStackPreviewText(item: WorkspaceAgentMessageCenterItem): string;
|
|
169
|
-
/**
|
|
170
|
-
* 收起态预览只展示纯文本 + 一个静态(不可点击)的 mention 图标,复用
|
|
171
|
-
* AgentMessageMarkdown 里那套富文本 chip 的视觉样式,但不渲染成 <a>——
|
|
172
|
-
* 这块预览本身嵌套在外层切换展开/收起的 <button> 里,塞一个可点击链接
|
|
173
|
-
* 会出现交互元素嵌套交互元素的问题。
|
|
174
|
-
*/
|
|
175
|
-
declare function messageCenterStackPreviewNodes(item: WorkspaceAgentMessageCenterItem): ReactNode[];
|
|
176
|
-
declare function resolveMessageCenterNotificationAction(item: WorkspaceAgentMessageCenterItem, input: {
|
|
177
|
-
action?: string;
|
|
178
|
-
optionId?: string;
|
|
179
|
-
}): string | null;
|
|
180
|
-
declare function buildWorkspaceAgentInteractivePromptLabels(t: ReturnType<typeof useTranslation>["t"], provider?: string): {
|
|
181
|
-
approvalLead: string;
|
|
182
|
-
planLead: string;
|
|
183
|
-
planModes: {
|
|
184
|
-
id: string;
|
|
185
|
-
label: string;
|
|
186
|
-
description: string;
|
|
187
|
-
}[];
|
|
188
|
-
stayInPlan: string;
|
|
189
|
-
sendFeedback: string;
|
|
190
|
-
feedbackPlaceholder: string;
|
|
191
|
-
previousQuestion: string;
|
|
192
|
-
nextQuestion: string;
|
|
193
|
-
submitAnswers: string;
|
|
194
|
-
answerPlaceholder: string;
|
|
195
|
-
waitingForAnswer: string;
|
|
196
|
-
planImplementationLead: string;
|
|
197
|
-
planImplementationConfirm: string;
|
|
198
|
-
planImplementationFeedbackPlaceholder: string;
|
|
199
|
-
planImplementationSend: string;
|
|
200
|
-
planImplementationSkip: string;
|
|
201
|
-
};
|
|
202
185
|
declare function MessageCenterSummary({ emptyLabel, item, lazy, onLinkAction, summary }: {
|
|
203
186
|
emptyLabel: string;
|
|
204
187
|
item: WorkspaceAgentMessageCenterItem;
|
|
@@ -206,36 +189,8 @@ declare function MessageCenterSummary({ emptyLabel, item, lazy, onLinkAction, su
|
|
|
206
189
|
onLinkAction?: (action: WorkspaceLinkAction) => void;
|
|
207
190
|
summary: string;
|
|
208
191
|
}): JSX.Element;
|
|
209
|
-
declare function MessageCenterOpenChatButton({ actionsAccessory, alwaysVisible, item, label, onOpenChat, provider }: {
|
|
210
|
-
actionsAccessory?: ReactNode;
|
|
211
|
-
alwaysVisible?: boolean;
|
|
212
|
-
item: WorkspaceAgentMessageCenterItem;
|
|
213
|
-
label: string;
|
|
214
|
-
onOpenChat: (input: {
|
|
215
|
-
agentSessionId: string;
|
|
216
|
-
provider: string;
|
|
217
|
-
}) => void;
|
|
218
|
-
provider: string;
|
|
219
|
-
}): JSX.Element;
|
|
220
|
-
declare function MessageCenterIdentityLabel({ identity, provider }: {
|
|
221
|
-
identity: WorkspaceAgentMessageCenterIdentity | null;
|
|
222
|
-
provider: string;
|
|
223
|
-
}): JSX.Element;
|
|
224
|
-
declare function MessageCenterIdentityAvatarMark({ identity, provider, userId }: {
|
|
225
|
-
identity: WorkspaceAgentMessageCenterIdentity | null;
|
|
226
|
-
provider: string;
|
|
227
|
-
userId?: string | null;
|
|
228
|
-
}): JSX.Element;
|
|
229
|
-
declare function MessageCenterIdentityAvatarStack({ agentAvatarUrl, userAvatarUrl: rawUserAvatarUrl, userName }: {
|
|
230
|
-
agentAvatarUrl: string;
|
|
231
|
-
userAvatarUrl?: string;
|
|
232
|
-
userName: string;
|
|
233
|
-
}): JSX.Element;
|
|
234
|
-
type MessageCenterStatusTone = "amber" | "blue" | "green" | "neutral" | "red";
|
|
235
|
-
declare function messageCenterStatusTone(item: WorkspaceAgentMessageCenterItem): MessageCenterStatusTone;
|
|
236
|
-
declare function messageCenterStatusToneClass(tone: MessageCenterStatusTone): string;
|
|
237
192
|
|
|
238
|
-
type
|
|
193
|
+
type WorkspaceAgentMessageCenterPanelPresentation = "drawer" | "embedded";
|
|
239
194
|
interface WorkspaceAgentMessageCenterPanelProps {
|
|
240
195
|
i18n?: I18nRuntime<string> | null;
|
|
241
196
|
locale?: AgentGuiI18nLocale;
|
|
@@ -243,7 +198,7 @@ interface WorkspaceAgentMessageCenterPanelProps {
|
|
|
243
198
|
model: WorkspaceAgentMessageCenterModel;
|
|
244
199
|
highlightedItemId?: string | null;
|
|
245
200
|
portalContainer?: HTMLElement | null;
|
|
246
|
-
presentation?:
|
|
201
|
+
presentation?: WorkspaceAgentMessageCenterPanelPresentation;
|
|
247
202
|
onClose: () => void;
|
|
248
203
|
onHighlightedItemSettled?: (itemId: string) => void;
|
|
249
204
|
onLinkAction?: (action: WorkspaceLinkAction) => void;
|
|
@@ -255,6 +210,7 @@ interface WorkspaceAgentMessageCenterPanelProps {
|
|
|
255
210
|
agentSessionId: string;
|
|
256
211
|
provider: string;
|
|
257
212
|
}) => void;
|
|
213
|
+
promptStatus?: (item: WorkspaceAgentMessageCenterItem) => "idle" | "responding" | "unknown" | "failed";
|
|
258
214
|
onSubmitPrompt: (input: {
|
|
259
215
|
action?: string;
|
|
260
216
|
agentSessionId: string;
|
|
@@ -265,14 +221,63 @@ interface WorkspaceAgentMessageCenterPanelProps {
|
|
|
265
221
|
}) => Promise<void> | void;
|
|
266
222
|
}
|
|
267
223
|
declare const WorkspaceAgentMessageCenterPanel: react.NamedExoticComponent<WorkspaceAgentMessageCenterPanelProps>;
|
|
224
|
+
|
|
225
|
+
type MessageCenterGroupBy = "priority" | "status" | "agent" | "time";
|
|
226
|
+
type MessageCenterStatusFilter = "waiting" | "working" | "completed" | "failed";
|
|
227
|
+
type MessageCenterTranslate = TranslateFn;
|
|
228
|
+
interface MessageCenterStatusOption {
|
|
229
|
+
count: number;
|
|
230
|
+
label: string;
|
|
231
|
+
value: MessageCenterStatusFilter;
|
|
232
|
+
}
|
|
233
|
+
interface MessageCenterProviderOption {
|
|
234
|
+
count: number;
|
|
235
|
+
label: string;
|
|
236
|
+
value: string;
|
|
237
|
+
}
|
|
238
|
+
interface MessageCenterGroup {
|
|
239
|
+
id: string;
|
|
240
|
+
identity?: WorkspaceAgentMessageCenterIdentity | null;
|
|
241
|
+
label: string;
|
|
242
|
+
items: WorkspaceAgentMessageCenterItem[];
|
|
243
|
+
provider?: string;
|
|
244
|
+
userId?: string | null;
|
|
245
|
+
}
|
|
246
|
+
interface MessageCenterAgentUserStack {
|
|
247
|
+
id: string;
|
|
248
|
+
provider: string;
|
|
249
|
+
userId: string | null;
|
|
250
|
+
items: WorkspaceAgentMessageCenterItem[];
|
|
251
|
+
}
|
|
252
|
+
declare function partitionMessageCenterItemsByAgentUser(items: readonly WorkspaceAgentMessageCenterItem[]): MessageCenterAgentUserStack[];
|
|
253
|
+
declare function messageCenterAgentUserStackId(item: Pick<WorkspaceAgentMessageCenterItem, "provider" | "userId">): string;
|
|
254
|
+
declare function messageCenterStackRenderId(groupId: string, stackId: string): string;
|
|
255
|
+
declare function messageCenterStackScrollSyncSegment({ expanded, groupId, stack }: {
|
|
256
|
+
expanded: boolean;
|
|
257
|
+
groupId: string;
|
|
258
|
+
stack: MessageCenterAgentUserStack;
|
|
259
|
+
}): string;
|
|
260
|
+
declare function buildMessageCenterStatusOptions(counts: WorkspaceAgentMessageCenterModel["counts"], t: MessageCenterTranslate): MessageCenterStatusOption[];
|
|
261
|
+
declare function buildMessageCenterProviderOptions(items: readonly WorkspaceAgentMessageCenterItem[]): MessageCenterProviderOption[];
|
|
262
|
+
declare function itemMatchesViewFilters({ item, providerFilters, statusFilters }: {
|
|
263
|
+
item: WorkspaceAgentMessageCenterItem;
|
|
264
|
+
providerFilters: Set<string> | null;
|
|
265
|
+
statusFilters: Set<MessageCenterStatusFilter> | null;
|
|
266
|
+
}): boolean;
|
|
267
|
+
declare function messageCenterStatusFilterValue(item: WorkspaceAgentMessageCenterItem): MessageCenterStatusFilter;
|
|
268
|
+
declare function groupMessageCenterItems(items: readonly WorkspaceAgentMessageCenterItem[], groupBy: MessageCenterGroupBy, t: MessageCenterTranslate): MessageCenterGroup[];
|
|
269
|
+
declare function isRecentlyCompletedMessageCenterItem(item: WorkspaceAgentMessageCenterItem, nowUnixMs: number): boolean;
|
|
270
|
+
declare function messageCenterGroupLabel(groupBy: MessageCenterGroupBy, t: MessageCenterTranslate): string;
|
|
271
|
+
declare function statusFilterSummary(statusFilters: Set<MessageCenterStatusFilter> | null, statusOptions: readonly MessageCenterStatusOption[]): string;
|
|
272
|
+
|
|
268
273
|
declare function MessageCenterGroupHeading({ group }: {
|
|
269
|
-
group:
|
|
270
|
-
}): JSX.Element;
|
|
274
|
+
group: MessageCenterGroup;
|
|
275
|
+
}): React.JSX.Element;
|
|
271
276
|
|
|
272
277
|
interface WorkspaceAgentMessageCenterAttentionDeckProps {
|
|
273
278
|
items: WorkspaceAgentMessageCenterItem[];
|
|
274
279
|
highlightedItemId?: string | null;
|
|
275
|
-
|
|
280
|
+
isPromptSubmitting: (item: WorkspaceAgentMessageCenterItem) => boolean;
|
|
276
281
|
registerNode?: (itemId: string, node: HTMLElement | null) => void;
|
|
277
282
|
renderCard?: (input: WorkspaceAgentMessageCenterAttentionDeckRenderCardInput) => ReactNode;
|
|
278
283
|
onLinkAction?: (action: WorkspaceLinkAction) => void;
|
|
@@ -300,7 +305,7 @@ interface WorkspaceAgentMessageCenterAttentionDeckRenderCardInput {
|
|
|
300
305
|
requestId: string;
|
|
301
306
|
}) => void;
|
|
302
307
|
}
|
|
303
|
-
declare function WorkspaceAgentMessageCenterAttentionDeck({ items, highlightedItemId,
|
|
308
|
+
declare function WorkspaceAgentMessageCenterAttentionDeck({ items, highlightedItemId, isPromptSubmitting, registerNode, renderCard, onLinkAction, onOpenChat, onSubmitPrompt }: WorkspaceAgentMessageCenterAttentionDeckProps): JSX.Element | null;
|
|
304
309
|
|
|
305
310
|
declare function MessageCenterViewMenu({ filtersActive, groupBy, providerFilters, providerOptions, statusFilters, statusOptions, onClearFilters, onGroupByChange, onProviderToggle, onStatusToggle }: {
|
|
306
311
|
filtersActive?: boolean;
|
|
@@ -404,6 +409,22 @@ declare function approvalOptionDisplayLabel(option: {
|
|
|
404
409
|
feedback?: boolean;
|
|
405
410
|
}): string;
|
|
406
411
|
|
|
412
|
+
/**
|
|
413
|
+
* Canonical Message Center entrypoint. Session/turn/interaction truth comes
|
|
414
|
+
* directly from the engine. Durable messages are presentation input only:
|
|
415
|
+
* title and digest text may use them, but they cannot recreate lifecycle or
|
|
416
|
+
* pending-interaction state.
|
|
417
|
+
*/
|
|
418
|
+
declare function buildWorkspaceAgentMessageCenterModelFromEngine(presentation: WorkspaceAgentMessageCenterPresentation, snapshot: Pick<AgentActivitySnapshot, "sessionMessagesById" | "workspaceId">, options?: BuildWorkspaceAgentMessageCenterOptions): WorkspaceAgentMessageCenterModel;
|
|
419
|
+
interface WorkspaceAgentMessageCenterPresentation {
|
|
420
|
+
consumers: readonly WorkspaceAgentConsumerSession[];
|
|
421
|
+
promptStatusByKey: Readonly<Record<string, WorkspaceAgentMessageCenterPromptStatus>>;
|
|
422
|
+
}
|
|
423
|
+
declare function selectWorkspaceAgentMessageCenterPresentation(state: AgentSessionEngineState): WorkspaceAgentMessageCenterPresentation;
|
|
424
|
+
declare function workspaceAgentMessageCenterPresentationEqual(left: WorkspaceAgentMessageCenterPresentation, right: WorkspaceAgentMessageCenterPresentation): boolean;
|
|
425
|
+
type WorkspaceAgentMessageCenterPromptStatus = "idle" | "responding" | "unknown" | "failed";
|
|
426
|
+
declare function workspaceAgentMessageCenterPromptStatus(presentation: WorkspaceAgentMessageCenterPresentation, item: Pick<WorkspaceAgentMessageCenterItem, "agentSessionId" | "pendingPrompt">): WorkspaceAgentMessageCenterPromptStatus;
|
|
427
|
+
|
|
407
428
|
declare function stabilizeWorkspaceAgentMessageCenterModel(previous: WorkspaceAgentMessageCenterModel | null, next: WorkspaceAgentMessageCenterModel): WorkspaceAgentMessageCenterModel;
|
|
408
429
|
|
|
409
430
|
declare const messageCenterFiltersStorageKey = "tutti.agent-message-center.filters";
|
|
@@ -415,4 +436,4 @@ interface MessageCenterFilterPreferences {
|
|
|
415
436
|
declare function readMessageCenterFilterPreferences(): MessageCenterFilterPreferences;
|
|
416
437
|
declare function writeMessageCenterFilterPreferences(preferences: MessageCenterFilterPreferences): void;
|
|
417
438
|
|
|
418
|
-
export { AgentInteractivePromptSurface, AgentVerticalScrollArea, type BuildWorkspaceAgentMessageCenterOptions, type MessageCenterAgentUserStack, type MessageCenterFilterPreferences, type MessageCenterGroup, type MessageCenterGroupBy, MessageCenterGroupHeading, MessageCenterIdentityAvatarMark, MessageCenterIdentityAvatarStack, MessageCenterIdentityLabel, MessageCenterOpenChatButton, type MessageCenterProviderOption, type MessageCenterStatusFilter, type MessageCenterStatusOption, type MessageCenterStatusTone, MessageCenterSummary, type MessageCenterTranslate, type PromptToolDetail, WorkspaceAgentMessageCenterAttentionDeck, type WorkspaceAgentMessageCenterAttentionDeckProps, type WorkspaceAgentMessageCenterAttentionDeckRenderCardInput, WorkspaceAgentMessageCenterCard, type WorkspaceAgentMessageCenterCardProps, type WorkspaceAgentMessageCenterCounts, type WorkspaceAgentMessageCenterDigest, type WorkspaceAgentMessageCenterDigestPrimary, type WorkspaceAgentMessageCenterDigestPrimaryKind, type WorkspaceAgentMessageCenterIdentity, type WorkspaceAgentMessageCenterItem, type WorkspaceAgentMessageCenterModel, WorkspaceAgentMessageCenterPanel, type WorkspaceAgentMessageCenterPanelProps, type WorkspaceAgentMessageCenterPresentation, WorkspaceAgentMessageCenterStack, MessageCenterViewMenu as WorkspaceAgentMessageCenterViewMenu, approvalOptionDisplayLabel, buildMessageCenterProviderOptions, buildMessageCenterStatusOptions, buildWorkspaceAgentInteractivePromptLabels,
|
|
439
|
+
export { AgentInteractivePromptSurface, AgentVerticalScrollArea, type BuildWorkspaceAgentMessageCenterOptions, type MessageCenterAgentUserStack, type MessageCenterFilterPreferences, type MessageCenterGroup, type MessageCenterGroupBy, MessageCenterGroupHeading, MessageCenterIdentityAvatarMark, MessageCenterIdentityAvatarStack, MessageCenterIdentityLabel, MessageCenterOpenChatButton, type MessageCenterProviderOption, type MessageCenterStatusFilter, type MessageCenterStatusOption, type MessageCenterStatusTone, MessageCenterSummary, type MessageCenterTranslate, type PromptToolDetail, WorkspaceAgentMessageCenterAttentionDeck, type WorkspaceAgentMessageCenterAttentionDeckProps, type WorkspaceAgentMessageCenterAttentionDeckRenderCardInput, WorkspaceAgentMessageCenterCard, type WorkspaceAgentMessageCenterCardProps, type WorkspaceAgentMessageCenterCounts, type WorkspaceAgentMessageCenterDigest, type WorkspaceAgentMessageCenterDigestPrimary, type WorkspaceAgentMessageCenterDigestPrimaryKind, type WorkspaceAgentMessageCenterIdentity, type WorkspaceAgentMessageCenterItem, type WorkspaceAgentMessageCenterModel, WorkspaceAgentMessageCenterPanel, type WorkspaceAgentMessageCenterPanelPresentation, type WorkspaceAgentMessageCenterPanelProps, type WorkspaceAgentMessageCenterPresentation, type WorkspaceAgentMessageCenterPromptStatus, WorkspaceAgentMessageCenterStack, MessageCenterViewMenu as WorkspaceAgentMessageCenterViewMenu, approvalOptionDisplayLabel, buildMessageCenterProviderOptions, buildMessageCenterStatusOptions, buildWorkspaceAgentInteractivePromptLabels, buildWorkspaceAgentMessageCenterModelFromEngine, getPromptToolDetails, groupMessageCenterItems, isInteractiveMessageCenterItem, isPromptRequestIdTitle, isRecentlyCompletedMessageCenterItem, isWaitingMessageCenterItem, itemMatchesViewFilters, managedAgentRoundedIconUrl, messageCenterAgentUserStackId, messageCenterFiltersStorageKey, messageCenterGroupLabel, messageCenterStackPreviewNodes, messageCenterStackPreviewText, messageCenterStackRenderId, messageCenterStackScrollSyncSegment, messageCenterStatusFilterValue, messageCenterStatusTone, messageCenterStatusToneClass, partitionMessageCenterItemsByAgentUser, readMessageCenterFilterPreferences, resolveMessageCenterNotificationAction, selectMessageCenterAttentionDeckItems, selectWorkspaceAgentMessageCenterPresentation, stabilizeWorkspaceAgentMessageCenterModel, statusFilterSummary, userAvatarPlaceholderUrl, workspaceAgentActivityStatusLabel, workspaceAgentMessageCenterPresentationEqual, workspaceAgentMessageCenterPromptStatus, writeMessageCenterFilterPreferences };
|