@yumiai/chat-widget 0.1.0
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/dist/index.cjs +3235 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +2301 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.cts +458 -0
- package/dist/index.d.ts +458 -0
- package/dist/index.js +3182 -0
- package/dist/index.js.map +1 -0
- package/package.json +67 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
type MessageContentType = 'text' | 'think' | 'plan' | 'artifact' | 'json_schema' | 'html_schema' | 'json_schema_wait';
|
|
4
|
+
type NotificationType = 'user_input' | 'node_notification' | 'start' | 'model_start' | 'model_result' | 'model_end' | 'agent_start' | 'agent_result' | 'agent_end' | 'artifact_start' | 'artifact_result' | 'artifact_end' | 'plan_start' | 'plan_result' | 'plan_end' | 'mcp_generating' | 'mcp_start' | 'mcp_result' | 'mcp_end' | 'finish' | 'canceled' | 'error' | 'human_input_request' | 'human_input_received' | 'human_input_timeout' | 'human_input_completed' | 'session_title' | 'compression_started' | 'compression_completed' | 'node_summary';
|
|
5
|
+
interface UiConfig {
|
|
6
|
+
display_type: 'content' | 'command' | 'browser' | 'query' | 'path' | 'trigger' | 'thinking' | 'params';
|
|
7
|
+
icon?: string;
|
|
8
|
+
primary_field?: string;
|
|
9
|
+
header_field?: string;
|
|
10
|
+
compact_fields?: string[];
|
|
11
|
+
hide_fields?: string[];
|
|
12
|
+
}
|
|
13
|
+
interface SSEMessage {
|
|
14
|
+
interaction_id: string;
|
|
15
|
+
agent_instance_id: number;
|
|
16
|
+
call_batch_id: string;
|
|
17
|
+
parent_call_batch_id?: string;
|
|
18
|
+
level: number;
|
|
19
|
+
agent_name: string;
|
|
20
|
+
task_purpose?: string;
|
|
21
|
+
notification_type?: NotificationType;
|
|
22
|
+
tool_name?: string;
|
|
23
|
+
tool_call_id?: string;
|
|
24
|
+
tool_status?: 'success' | 'error';
|
|
25
|
+
args_preview?: string;
|
|
26
|
+
ui_config?: UiConfig;
|
|
27
|
+
parent_tool_call_id?: string;
|
|
28
|
+
content_type: MessageContentType;
|
|
29
|
+
content: string;
|
|
30
|
+
timestamp?: string;
|
|
31
|
+
}
|
|
32
|
+
interface PlanItem {
|
|
33
|
+
text: string;
|
|
34
|
+
status: 'pending' | 'active' | 'completed' | 'error';
|
|
35
|
+
}
|
|
36
|
+
interface TaskPlan {
|
|
37
|
+
title?: string;
|
|
38
|
+
items: PlanItem[];
|
|
39
|
+
progress: {
|
|
40
|
+
completed: number;
|
|
41
|
+
total: number;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
type TodoTaskStatus = 'pending' | 'in_progress' | 'completed' | 'blocked';
|
|
45
|
+
interface TodoTask {
|
|
46
|
+
id: string | null;
|
|
47
|
+
description: string;
|
|
48
|
+
status: TodoTaskStatus;
|
|
49
|
+
children: TodoTask[];
|
|
50
|
+
}
|
|
51
|
+
interface TodoGroup {
|
|
52
|
+
name: string;
|
|
53
|
+
status: TodoTaskStatus;
|
|
54
|
+
tasks: TodoTask[];
|
|
55
|
+
}
|
|
56
|
+
interface TodoPhase {
|
|
57
|
+
name: string;
|
|
58
|
+
status: TodoTaskStatus;
|
|
59
|
+
groups: TodoGroup[];
|
|
60
|
+
tasks: TodoTask[];
|
|
61
|
+
}
|
|
62
|
+
interface TodoStats {
|
|
63
|
+
total: number;
|
|
64
|
+
completed: number;
|
|
65
|
+
in_progress: number;
|
|
66
|
+
pending: number;
|
|
67
|
+
blocked: number;
|
|
68
|
+
}
|
|
69
|
+
interface TodoData {
|
|
70
|
+
title: string;
|
|
71
|
+
phases: TodoPhase[];
|
|
72
|
+
stats: TodoStats;
|
|
73
|
+
}
|
|
74
|
+
interface TodoNotificationContent {
|
|
75
|
+
operation: 'checklist_edit';
|
|
76
|
+
plan_id: string;
|
|
77
|
+
checklist_path: string;
|
|
78
|
+
checklist_content: string;
|
|
79
|
+
checklist: TodoData;
|
|
80
|
+
source_type: 'checklist_edit';
|
|
81
|
+
}
|
|
82
|
+
declare function isTodoNotificationContent(data: unknown): data is TodoNotificationContent;
|
|
83
|
+
interface Artifact {
|
|
84
|
+
id: string;
|
|
85
|
+
name: string;
|
|
86
|
+
type: string;
|
|
87
|
+
size?: string;
|
|
88
|
+
content?: string;
|
|
89
|
+
preview?: string;
|
|
90
|
+
metadata?: {
|
|
91
|
+
gitPath?: string;
|
|
92
|
+
gitCommitHash?: string;
|
|
93
|
+
createdByAgentId?: string;
|
|
94
|
+
operationType?: string;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
interface HITLRequest {
|
|
98
|
+
await_command_uuid: string;
|
|
99
|
+
schema_type: 'json_schema' | 'html_schema';
|
|
100
|
+
schema: object | string;
|
|
101
|
+
title?: string;
|
|
102
|
+
description?: string;
|
|
103
|
+
}
|
|
104
|
+
interface HITLResponse {
|
|
105
|
+
await_command_uuid: string;
|
|
106
|
+
data: unknown;
|
|
107
|
+
confirmed: boolean;
|
|
108
|
+
}
|
|
109
|
+
interface AggregatedMessage {
|
|
110
|
+
id: string;
|
|
111
|
+
agentInstanceId: number;
|
|
112
|
+
callBatchId: string;
|
|
113
|
+
parentCallBatchId?: string;
|
|
114
|
+
level: number;
|
|
115
|
+
agentName: string;
|
|
116
|
+
taskPurpose?: string;
|
|
117
|
+
notificationType?: NotificationType;
|
|
118
|
+
toolName?: string;
|
|
119
|
+
toolCallId?: string;
|
|
120
|
+
toolStatus?: 'success' | 'error';
|
|
121
|
+
toolPhase?: 'generating' | 'executing' | 'complete' | 'error';
|
|
122
|
+
argsPreview?: string;
|
|
123
|
+
uiConfig?: UiConfig;
|
|
124
|
+
parentToolCallId?: string;
|
|
125
|
+
contentType: MessageContentType;
|
|
126
|
+
contentChunks: string[];
|
|
127
|
+
timestamp: string;
|
|
128
|
+
plan?: TaskPlan;
|
|
129
|
+
artifact?: Artifact;
|
|
130
|
+
artifacts?: Artifact[];
|
|
131
|
+
hitlRequest?: HITLRequest;
|
|
132
|
+
}
|
|
133
|
+
interface Round {
|
|
134
|
+
interactionId: string;
|
|
135
|
+
index: number;
|
|
136
|
+
userMessage: string;
|
|
137
|
+
timestamp: string;
|
|
138
|
+
status: 'running' | 'completed' | 'error';
|
|
139
|
+
plan?: TaskPlan;
|
|
140
|
+
messages: AggregatedMessage[];
|
|
141
|
+
topPosition?: number;
|
|
142
|
+
}
|
|
143
|
+
type ExecutionStatus = 'idle' | 'running' | 'compressing' | 'completed' | 'error';
|
|
144
|
+
interface ChatWidgetConfig {
|
|
145
|
+
showPinnedArea?: boolean;
|
|
146
|
+
showPlan?: boolean;
|
|
147
|
+
enableTypewriter?: boolean;
|
|
148
|
+
typewriterSpeed?: number;
|
|
149
|
+
autoScroll?: boolean;
|
|
150
|
+
childAgentMaxHeight?: number;
|
|
151
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
152
|
+
displayLevels?: number[];
|
|
153
|
+
}
|
|
154
|
+
declare const DEFAULT_CONFIG: Required<ChatWidgetConfig>;
|
|
155
|
+
interface ChatWidgetProps {
|
|
156
|
+
adapter: ChatWidgetAdapter;
|
|
157
|
+
sessionId?: string | number;
|
|
158
|
+
initialMessages?: Round[];
|
|
159
|
+
config?: ChatWidgetConfig;
|
|
160
|
+
renderHeaderExtra?: (sessionId: string | number) => React.ReactNode;
|
|
161
|
+
renderFooter?: (api: ChatWidgetAPI | null) => React.ReactNode;
|
|
162
|
+
renderToolResult?: (displayType: string, data: ToolCallData) => React.ReactNode | null;
|
|
163
|
+
locale?: 'zh-CN' | 'en-US';
|
|
164
|
+
onArtifactClick?: (artifact: Artifact) => void;
|
|
165
|
+
onHITLSubmit?: (response: HITLResponse) => Promise<void>;
|
|
166
|
+
onStatusChange?: (status: ExecutionStatus) => void;
|
|
167
|
+
onError?: (error: Error) => void;
|
|
168
|
+
onReady?: (api: ChatWidgetAPI) => void;
|
|
169
|
+
className?: string;
|
|
170
|
+
style?: React.CSSProperties;
|
|
171
|
+
height?: number | string;
|
|
172
|
+
}
|
|
173
|
+
interface ChatWidgetAPI {
|
|
174
|
+
sendMessage: (message: string, agentId?: string) => void;
|
|
175
|
+
getCurrentRound: () => Round | null;
|
|
176
|
+
getAllRounds: () => Round[];
|
|
177
|
+
scrollToBottom: () => void;
|
|
178
|
+
getStatus: () => ExecutionStatus;
|
|
179
|
+
}
|
|
180
|
+
interface ToolCallData {
|
|
181
|
+
tool_name: string;
|
|
182
|
+
display_type: string;
|
|
183
|
+
args: Record<string, unknown>;
|
|
184
|
+
args_preview?: Record<string, unknown>;
|
|
185
|
+
result?: unknown;
|
|
186
|
+
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
187
|
+
ui_config?: UiConfig;
|
|
188
|
+
}
|
|
189
|
+
interface NotificationTurn {
|
|
190
|
+
type: string;
|
|
191
|
+
contents: Array<{
|
|
192
|
+
type?: string;
|
|
193
|
+
content?: string;
|
|
194
|
+
read?: boolean;
|
|
195
|
+
}>;
|
|
196
|
+
timestamp: number | null;
|
|
197
|
+
session_id: number;
|
|
198
|
+
interaction_id: string;
|
|
199
|
+
agent_id: string | null;
|
|
200
|
+
agent_instance_id: number;
|
|
201
|
+
parent_agent_instance_id: number;
|
|
202
|
+
call_batch_id: number;
|
|
203
|
+
parent_call_batch_id: number | null;
|
|
204
|
+
level: number | null;
|
|
205
|
+
card_title: string | null;
|
|
206
|
+
caller_type: string | null;
|
|
207
|
+
user_id: string | null;
|
|
208
|
+
ext: Record<string, unknown> | null;
|
|
209
|
+
turn_id: number;
|
|
210
|
+
turn_index: number;
|
|
211
|
+
status: string;
|
|
212
|
+
timestamp_start: number | null;
|
|
213
|
+
timestamp_end: number | null;
|
|
214
|
+
}
|
|
215
|
+
interface ResourceContent {
|
|
216
|
+
resource_id: string;
|
|
217
|
+
file_name: string;
|
|
218
|
+
git_path: string;
|
|
219
|
+
mime_type: string | null;
|
|
220
|
+
is_text_readable: boolean | null;
|
|
221
|
+
file_size: number | null;
|
|
222
|
+
is_binary: boolean;
|
|
223
|
+
content: string;
|
|
224
|
+
}
|
|
225
|
+
interface SessionDetail {
|
|
226
|
+
session_id: number;
|
|
227
|
+
session_title?: string;
|
|
228
|
+
status?: string;
|
|
229
|
+
created_at?: string;
|
|
230
|
+
}
|
|
231
|
+
interface ChatWidgetAdapter {
|
|
232
|
+
createSession(agentId: string): Promise<{
|
|
233
|
+
sessionId: number;
|
|
234
|
+
instanceId: number;
|
|
235
|
+
}>;
|
|
236
|
+
getSessionDetail(sessionId: number): Promise<SessionDetail>;
|
|
237
|
+
getSessionHistory(sessionId: number): Promise<NotificationTurn[]>;
|
|
238
|
+
getResourceContent(sessionId: number, resourceId: string): Promise<ResourceContent>;
|
|
239
|
+
submitHITLResponse(response: HITLResponse): Promise<void>;
|
|
240
|
+
getStreamUrl(): string;
|
|
241
|
+
getAuthHeaders(): Record<string, string>;
|
|
242
|
+
getExtraHeaders?(): Record<string, string>;
|
|
243
|
+
onAuthFailure?(): void;
|
|
244
|
+
refreshAuth?(): Promise<boolean>;
|
|
245
|
+
}
|
|
246
|
+
declare function mergeConsecutiveThinkMessages(messages: AggregatedMessage[]): AggregatedMessage[];
|
|
247
|
+
interface TodoCardProps {
|
|
248
|
+
todo: TodoData;
|
|
249
|
+
compact?: boolean;
|
|
250
|
+
}
|
|
251
|
+
interface PinnedAreaProps {
|
|
252
|
+
round: Round | null;
|
|
253
|
+
isTransitioning: boolean;
|
|
254
|
+
config?: ChatWidgetConfig;
|
|
255
|
+
todoMap?: Map<string, TodoData>;
|
|
256
|
+
}
|
|
257
|
+
interface RoundHeaderProps {
|
|
258
|
+
round: Round;
|
|
259
|
+
isPinned: boolean;
|
|
260
|
+
config?: ChatWidgetConfig;
|
|
261
|
+
todoMap?: Map<string, TodoData>;
|
|
262
|
+
}
|
|
263
|
+
interface MessageContentProps {
|
|
264
|
+
message: AggregatedMessage;
|
|
265
|
+
enableTypewriter?: boolean;
|
|
266
|
+
typewriterSpeed?: number;
|
|
267
|
+
onArtifactClick?: (artifact: Artifact) => void;
|
|
268
|
+
}
|
|
269
|
+
interface ChildAgentCardProps {
|
|
270
|
+
message: AggregatedMessage;
|
|
271
|
+
children: AggregatedMessage[];
|
|
272
|
+
maxHeight?: number;
|
|
273
|
+
config?: ChatWidgetConfig;
|
|
274
|
+
defaultExpanded?: boolean;
|
|
275
|
+
parentTaskPurpose?: string;
|
|
276
|
+
}
|
|
277
|
+
interface PlanCardProps {
|
|
278
|
+
plan: TaskPlan;
|
|
279
|
+
status: Round['status'];
|
|
280
|
+
compact?: boolean;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* ChatWidget 主组件
|
|
285
|
+
*
|
|
286
|
+
* 严格按照设计文档实现:
|
|
287
|
+
* - SSE 消息流处理
|
|
288
|
+
* - 动态置顶(滚动切换,带防抖和滞后阈值)
|
|
289
|
+
* - 多轮对话展示
|
|
290
|
+
* - 平滑过渡动画(淡入淡出)
|
|
291
|
+
* - 子 Agent 卡片
|
|
292
|
+
* - Human-in-the-loop 支持
|
|
293
|
+
*/
|
|
294
|
+
|
|
295
|
+
declare const ChatWidget: React.FC<ChatWidgetProps>;
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* SSE 连接 Hook (SDK version)
|
|
299
|
+
*
|
|
300
|
+
* Auth and headers are fully delegated to ChatWidgetAdapter,
|
|
301
|
+
* eliminating direct localStorage / env-var coupling.
|
|
302
|
+
*/
|
|
303
|
+
|
|
304
|
+
type ConnectionStatus = 'idle' | 'connecting' | 'connected' | 'disconnected' | 'error';
|
|
305
|
+
interface UseSSEOptions {
|
|
306
|
+
adapter: ChatWidgetAdapter;
|
|
307
|
+
autoConnect?: boolean;
|
|
308
|
+
reconnectInterval?: number;
|
|
309
|
+
maxReconnectAttempts?: number;
|
|
310
|
+
onMessage?: (message: SSEMessage) => void;
|
|
311
|
+
onStatusChange?: (status: ConnectionStatus) => void;
|
|
312
|
+
onError?: (error: Error) => void;
|
|
313
|
+
}
|
|
314
|
+
interface UseSSEReturn {
|
|
315
|
+
status: ConnectionStatus;
|
|
316
|
+
connect: (url: string, body?: object) => void;
|
|
317
|
+
disconnect: () => void;
|
|
318
|
+
}
|
|
319
|
+
declare function useSSE(options: UseSSEOptions): UseSSEReturn;
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* 消息聚合 Hook
|
|
323
|
+
*
|
|
324
|
+
* 实现高性能消息聚合:
|
|
325
|
+
* - Map 索引 O(1) 查找
|
|
326
|
+
* - 字符串数组延迟拼接
|
|
327
|
+
* - requestAnimationFrame 批量更新
|
|
328
|
+
* - 延迟 JSON 解析
|
|
329
|
+
*/
|
|
330
|
+
|
|
331
|
+
interface MessageAggregatorState {
|
|
332
|
+
rounds: Map<string, Round>;
|
|
333
|
+
currentInteractionId: string | null;
|
|
334
|
+
}
|
|
335
|
+
interface UseMessageAggregatorReturn {
|
|
336
|
+
state: MessageAggregatorState;
|
|
337
|
+
todoMap: Map<string, TodoData>;
|
|
338
|
+
processMessage: (message: SSEMessage) => void;
|
|
339
|
+
getRoundsList: () => Round[];
|
|
340
|
+
getCurrentRound: () => Round | null;
|
|
341
|
+
startNewRound: (interactionId: string, userMessage: string) => void;
|
|
342
|
+
loadRounds: (rounds: Round[]) => void;
|
|
343
|
+
finalizeRound: (interactionId: string) => void;
|
|
344
|
+
clear: () => void;
|
|
345
|
+
}
|
|
346
|
+
declare function useMessageAggregator(): UseMessageAggregatorReturn;
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* 置顶区域组件
|
|
350
|
+
* 显示当前置顶轮次的用户消息、任务计划和 Todo
|
|
351
|
+
*/
|
|
352
|
+
|
|
353
|
+
declare const PinnedArea: React.FC<PinnedAreaProps>;
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* 轮次标题组件
|
|
357
|
+
* 在消息流中显示非置顶轮次的用户消息和计划
|
|
358
|
+
*/
|
|
359
|
+
|
|
360
|
+
declare const RoundHeader: React.FC<RoundHeaderProps>;
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* 消息内容组件
|
|
364
|
+
* 根据消息类型渲染不同的内容
|
|
365
|
+
* 文本类型使用 Streamdown 渲染 Markdown(代码高亮、Mermaid、数学公式、CJK)
|
|
366
|
+
* 保留逐字打字机效果:将逐步展开的文本交给 Streamdown 渲染
|
|
367
|
+
*/
|
|
368
|
+
|
|
369
|
+
declare const MessageContent: React.FC<MessageContentProps>;
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* 子 Agent 卡片组件
|
|
373
|
+
* 可折叠,固定高度,内部滚动
|
|
374
|
+
*/
|
|
375
|
+
|
|
376
|
+
declare const ChildAgentCard: React.FC<ChildAgentCardProps & {
|
|
377
|
+
onArtifactClick?: (artifact: Artifact) => void;
|
|
378
|
+
}>;
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* 任务计划卡片组件
|
|
382
|
+
*/
|
|
383
|
+
|
|
384
|
+
declare const PlanCard: React.FC<PlanCardProps>;
|
|
385
|
+
|
|
386
|
+
declare const TodoCard: React.FC<TodoCardProps>;
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* Schema 表单渲染器
|
|
390
|
+
* 根据 JSON schema 动态生成表单 UI
|
|
391
|
+
*/
|
|
392
|
+
|
|
393
|
+
interface SchemaNode {
|
|
394
|
+
type: string;
|
|
395
|
+
key?: string;
|
|
396
|
+
name?: string;
|
|
397
|
+
props?: Record<string, unknown>;
|
|
398
|
+
children?: SchemaNode[];
|
|
399
|
+
options?: Array<{
|
|
400
|
+
label: string;
|
|
401
|
+
value: string;
|
|
402
|
+
}>;
|
|
403
|
+
rules?: Array<{
|
|
404
|
+
required?: boolean;
|
|
405
|
+
message?: string;
|
|
406
|
+
}>;
|
|
407
|
+
schema?: SchemaNode;
|
|
408
|
+
}
|
|
409
|
+
interface SchemaFormRendererProps {
|
|
410
|
+
schema: SchemaNode;
|
|
411
|
+
onSubmit?: (values: Record<string, unknown>) => void | Promise<void>;
|
|
412
|
+
awaitCommandUuid?: string;
|
|
413
|
+
}
|
|
414
|
+
declare const SchemaFormRenderer: React.FC<SchemaFormRendererProps>;
|
|
415
|
+
|
|
416
|
+
interface ToolCardBufferingProps {
|
|
417
|
+
message: AggregatedMessage;
|
|
418
|
+
}
|
|
419
|
+
declare const ToolCardBuffering: React.FC<ToolCardBufferingProps>;
|
|
420
|
+
|
|
421
|
+
interface DefaultJetAgentsAdapterOptions {
|
|
422
|
+
baseUrl: string;
|
|
423
|
+
getToken: () => string | null;
|
|
424
|
+
refreshToken?: () => Promise<string | null>;
|
|
425
|
+
getOrgId?: () => string | null;
|
|
426
|
+
onAuthFailure?: () => void;
|
|
427
|
+
}
|
|
428
|
+
declare class DefaultJetAgentsAdapter implements ChatWidgetAdapter {
|
|
429
|
+
private readonly baseUrl;
|
|
430
|
+
private readonly options;
|
|
431
|
+
private refreshPromise;
|
|
432
|
+
constructor(options: DefaultJetAgentsAdapterOptions);
|
|
433
|
+
createSession(agentId: string): Promise<{
|
|
434
|
+
sessionId: number;
|
|
435
|
+
instanceId: number;
|
|
436
|
+
}>;
|
|
437
|
+
getSessionDetail(sessionId: number): Promise<SessionDetail>;
|
|
438
|
+
getSessionHistory(sessionId: number): Promise<NotificationTurn[]>;
|
|
439
|
+
getResourceContent(sessionId: number, resourceId: string): Promise<ResourceContent>;
|
|
440
|
+
submitHITLResponse(response: HITLResponse): Promise<void>;
|
|
441
|
+
getStreamUrl(): string;
|
|
442
|
+
getAuthHeaders(): Record<string, string>;
|
|
443
|
+
onAuthFailure(): void;
|
|
444
|
+
refreshAuth(): Promise<boolean>;
|
|
445
|
+
private fetchJSON;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
declare class ChatWidgetAuthError extends Error {
|
|
449
|
+
readonly name: "ChatWidgetAuthError";
|
|
450
|
+
constructor(message?: string);
|
|
451
|
+
}
|
|
452
|
+
declare class ChatWidgetNetworkError extends Error {
|
|
453
|
+
readonly statusCode: number;
|
|
454
|
+
readonly name: "ChatWidgetNetworkError";
|
|
455
|
+
constructor(message: string, statusCode: number);
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
export { type AggregatedMessage, type Artifact, ChatWidget, type ChatWidgetAPI, type ChatWidgetAdapter, ChatWidgetAuthError, type ChatWidgetConfig, ChatWidgetNetworkError, type ChatWidgetProps, ChildAgentCard, type ConnectionStatus, DEFAULT_CONFIG, DefaultJetAgentsAdapter, type DefaultJetAgentsAdapterOptions, type ExecutionStatus, type HITLRequest, type HITLResponse, MessageContent, type MessageContentType, type NotificationTurn, type NotificationType, PinnedArea, PlanCard, type PlanItem, type ResourceContent, type Round, RoundHeader, type SSEMessage, SchemaFormRenderer, type SessionDetail, type TaskPlan, TodoCard, type TodoData, type TodoGroup, type TodoPhase, type TodoStats, type TodoTask, type ToolCallData, ToolCardBuffering, type UiConfig, isTodoNotificationContent, mergeConsecutiveThinkMessages, useMessageAggregator, useSSE };
|