@invergent/agent-chat-react 0.2.2
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/LICENSE.AGPL-3.0 +661 -0
- package/README.md +6 -0
- package/dist/artifact-chart-X53FKRDZ.js +153 -0
- package/dist/artifact-chart-X53FKRDZ.js.map +1 -0
- package/dist/chunk-QSC4UIVT.js +11 -0
- package/dist/chunk-QSC4UIVT.js.map +1 -0
- package/dist/index.cjs +8916 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +409 -0
- package/dist/index.d.ts +409 -0
- package/dist/index.js +8609 -0
- package/dist/index.js.map +1 -0
- package/package.json +91 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { ComponentProps } from 'react';
|
|
4
|
+
import { Streamdown } from 'streamdown';
|
|
5
|
+
|
|
6
|
+
type AgentChatRole = "user" | "assistant" | "system";
|
|
7
|
+
type AgentChatMessageStatus = "complete" | "streaming" | "error";
|
|
8
|
+
type AgentChatSystemKind = "skill_invoked" | "artifact" | "error";
|
|
9
|
+
interface AgentChatImageAttachment {
|
|
10
|
+
/** data: URL (data:image/png;base64,...) or raw base64 string */
|
|
11
|
+
data: string;
|
|
12
|
+
/** MIME type, e.g. "image/png", "image/jpeg" */
|
|
13
|
+
mimeType?: string;
|
|
14
|
+
}
|
|
15
|
+
interface AgentChatMessage {
|
|
16
|
+
id: string;
|
|
17
|
+
role: AgentChatRole;
|
|
18
|
+
content: string;
|
|
19
|
+
createdAt: Date;
|
|
20
|
+
status: AgentChatMessageStatus;
|
|
21
|
+
toolCalls?: AgentChatToolCallInfo[];
|
|
22
|
+
reasoning?: string;
|
|
23
|
+
systemKind?: AgentChatSystemKind;
|
|
24
|
+
systemMeta?: Record<string, unknown>;
|
|
25
|
+
errorInfo?: AgentChatErrorInfo;
|
|
26
|
+
images?: AgentChatImageAttachment[];
|
|
27
|
+
}
|
|
28
|
+
interface AgentChatToolCallInfo {
|
|
29
|
+
id: string;
|
|
30
|
+
toolName: string;
|
|
31
|
+
args: string;
|
|
32
|
+
result?: string;
|
|
33
|
+
status: "running" | "complete" | "error";
|
|
34
|
+
checkpointHash?: string;
|
|
35
|
+
expertResultEventId?: number;
|
|
36
|
+
expertFeedback?: {
|
|
37
|
+
rating: "up" | "down";
|
|
38
|
+
reason?: string;
|
|
39
|
+
};
|
|
40
|
+
clarifyAnswers?: AgentChatClarifyAnswer[];
|
|
41
|
+
cancelled?: boolean;
|
|
42
|
+
}
|
|
43
|
+
interface AgentChatTokenUsage {
|
|
44
|
+
inputTokens: number;
|
|
45
|
+
outputTokens: number;
|
|
46
|
+
reasoningTokens: number;
|
|
47
|
+
cachedInputTokens: number;
|
|
48
|
+
totalTokens: number;
|
|
49
|
+
contextWindow: number;
|
|
50
|
+
model: string;
|
|
51
|
+
}
|
|
52
|
+
interface AgentChatRetryIndicator {
|
|
53
|
+
title: string;
|
|
54
|
+
detail: string;
|
|
55
|
+
attempt: number;
|
|
56
|
+
}
|
|
57
|
+
type AgentChatErrorCategory = "provider_error" | "rate_limit" | "auth_failed" | "context_overflow" | "network" | "timeout" | "invalid_response" | "tool_error" | "storage_error" | "database_error" | "governance_denied" | "unknown";
|
|
58
|
+
interface AgentChatErrorInfo {
|
|
59
|
+
category: AgentChatErrorCategory;
|
|
60
|
+
title: string;
|
|
61
|
+
detail: string;
|
|
62
|
+
retryable: boolean;
|
|
63
|
+
}
|
|
64
|
+
interface AgentChatSession {
|
|
65
|
+
id: string;
|
|
66
|
+
userId?: string | null;
|
|
67
|
+
orgId?: string | null;
|
|
68
|
+
agentId?: string | null;
|
|
69
|
+
channel?: string | null;
|
|
70
|
+
status: "active" | "paused" | "completed" | "failed" | string;
|
|
71
|
+
title?: string | null;
|
|
72
|
+
model?: string | null;
|
|
73
|
+
config?: Record<string, unknown>;
|
|
74
|
+
parentId?: string | null;
|
|
75
|
+
messageCount?: number;
|
|
76
|
+
toolCallCount?: number;
|
|
77
|
+
inputTokens?: number;
|
|
78
|
+
outputTokens?: number;
|
|
79
|
+
estimatedCostUsd?: number | string;
|
|
80
|
+
createdAt?: string;
|
|
81
|
+
updatedAt?: string;
|
|
82
|
+
}
|
|
83
|
+
interface AgentChatSessionList {
|
|
84
|
+
sessions: AgentChatSession[];
|
|
85
|
+
total: number;
|
|
86
|
+
}
|
|
87
|
+
interface AgentChatSessionTreeNode {
|
|
88
|
+
id: string;
|
|
89
|
+
parentId: string | null;
|
|
90
|
+
rootSessionId?: string | null;
|
|
91
|
+
depth?: number;
|
|
92
|
+
agentId?: string | null;
|
|
93
|
+
agentType?: string | null;
|
|
94
|
+
channel?: string | null;
|
|
95
|
+
status: "active" | "paused" | "completed" | "failed" | string;
|
|
96
|
+
title?: string | null;
|
|
97
|
+
model?: string | null;
|
|
98
|
+
messageCount?: number;
|
|
99
|
+
toolCallCount?: number;
|
|
100
|
+
createdAt: string;
|
|
101
|
+
updatedAt: string;
|
|
102
|
+
}
|
|
103
|
+
interface AgentChatSessionTree {
|
|
104
|
+
nodes: AgentChatSessionTreeNode[];
|
|
105
|
+
total: number;
|
|
106
|
+
}
|
|
107
|
+
type AgentChatEventType = "user.message" | "llm.request" | "llm.response" | "llm.thinking" | "llm.delta" | "tool.call" | "tool.result" | "session.start" | "session.pause" | "session.resume" | "session.complete" | "session.fail" | "session.done" | "harness.wake" | "harness.crash" | "context.compact" | "skill.invoked" | "policy.denied" | "stream.timeout" | "expert.result" | "expert.endorse" | "expert.override" | "artifact.created" | "artifact.updated" | "clarify.response";
|
|
108
|
+
interface AgentChatRuntimeEvent {
|
|
109
|
+
type: AgentChatEventType;
|
|
110
|
+
eventId: number;
|
|
111
|
+
data: Record<string, unknown>;
|
|
112
|
+
}
|
|
113
|
+
interface AgentChatState {
|
|
114
|
+
messages: AgentChatMessage[];
|
|
115
|
+
isRunning: boolean;
|
|
116
|
+
isLoadingHistory: boolean;
|
|
117
|
+
tokenUsage: AgentChatTokenUsage;
|
|
118
|
+
retryIndicator: AgentChatRetryIndicator | null;
|
|
119
|
+
lastEventId: number;
|
|
120
|
+
sessionDone: boolean;
|
|
121
|
+
hadDeltas: boolean;
|
|
122
|
+
terminal: boolean;
|
|
123
|
+
workspaceRefreshKey: number;
|
|
124
|
+
}
|
|
125
|
+
type AgentChatArtifactKind = "markdown" | "table" | "chart" | "html" | "svg";
|
|
126
|
+
interface AgentChatArtifactMeta {
|
|
127
|
+
artifact_id: string;
|
|
128
|
+
session_id: string;
|
|
129
|
+
name: string;
|
|
130
|
+
kind: AgentChatArtifactKind;
|
|
131
|
+
version: number;
|
|
132
|
+
size: number;
|
|
133
|
+
created_at: string;
|
|
134
|
+
}
|
|
135
|
+
interface AgentChatMarkdownArtifactSpec {
|
|
136
|
+
content: string;
|
|
137
|
+
}
|
|
138
|
+
interface AgentChatTableArtifactSpec {
|
|
139
|
+
columns: string[];
|
|
140
|
+
rows: Array<Record<string, unknown>>;
|
|
141
|
+
caption?: string | null;
|
|
142
|
+
}
|
|
143
|
+
interface AgentChatChartArtifactSpec {
|
|
144
|
+
chart_js: Record<string, unknown>;
|
|
145
|
+
caption?: string | null;
|
|
146
|
+
}
|
|
147
|
+
interface AgentChatHtmlArtifactSpec {
|
|
148
|
+
html: string;
|
|
149
|
+
caption?: string | null;
|
|
150
|
+
}
|
|
151
|
+
interface AgentChatSvgArtifactSpec {
|
|
152
|
+
svg: string;
|
|
153
|
+
caption?: string | null;
|
|
154
|
+
}
|
|
155
|
+
type AgentChatArtifactPayload = {
|
|
156
|
+
meta: AgentChatArtifactMeta;
|
|
157
|
+
kind: "markdown";
|
|
158
|
+
spec: AgentChatMarkdownArtifactSpec;
|
|
159
|
+
} | {
|
|
160
|
+
meta: AgentChatArtifactMeta;
|
|
161
|
+
kind: "table";
|
|
162
|
+
spec: AgentChatTableArtifactSpec;
|
|
163
|
+
} | {
|
|
164
|
+
meta: AgentChatArtifactMeta;
|
|
165
|
+
kind: "chart";
|
|
166
|
+
spec: AgentChatChartArtifactSpec;
|
|
167
|
+
} | {
|
|
168
|
+
meta: AgentChatArtifactMeta;
|
|
169
|
+
kind: "html";
|
|
170
|
+
spec: AgentChatHtmlArtifactSpec;
|
|
171
|
+
} | {
|
|
172
|
+
meta: AgentChatArtifactMeta;
|
|
173
|
+
kind: "svg";
|
|
174
|
+
spec: AgentChatSvgArtifactSpec;
|
|
175
|
+
};
|
|
176
|
+
interface AgentChatClarifyChoice {
|
|
177
|
+
label: string;
|
|
178
|
+
description?: string;
|
|
179
|
+
}
|
|
180
|
+
interface AgentChatClarifyQuestion {
|
|
181
|
+
prompt: string;
|
|
182
|
+
choices?: AgentChatClarifyChoice[];
|
|
183
|
+
allow_other?: boolean;
|
|
184
|
+
}
|
|
185
|
+
interface AgentChatClarifyArgs {
|
|
186
|
+
questions: AgentChatClarifyQuestion[];
|
|
187
|
+
}
|
|
188
|
+
interface AgentChatClarifyAnswer {
|
|
189
|
+
question: string;
|
|
190
|
+
answer: string;
|
|
191
|
+
is_other: boolean;
|
|
192
|
+
}
|
|
193
|
+
interface AgentChatSlashCommand {
|
|
194
|
+
value: string;
|
|
195
|
+
label: string;
|
|
196
|
+
description: string;
|
|
197
|
+
}
|
|
198
|
+
interface AgentChatWorkspaceEntry {
|
|
199
|
+
name: string;
|
|
200
|
+
path: string;
|
|
201
|
+
kind: "file" | "dir";
|
|
202
|
+
size?: number | null;
|
|
203
|
+
children?: AgentChatWorkspaceEntry[] | null;
|
|
204
|
+
}
|
|
205
|
+
interface AgentChatWorkspaceTree {
|
|
206
|
+
root: string;
|
|
207
|
+
entries: AgentChatWorkspaceEntry[];
|
|
208
|
+
truncated: boolean;
|
|
209
|
+
}
|
|
210
|
+
interface AgentChatWorkspaceFile {
|
|
211
|
+
path: string;
|
|
212
|
+
content: string;
|
|
213
|
+
size: number;
|
|
214
|
+
mime_type?: string | null;
|
|
215
|
+
encoding: "utf-8" | "base64";
|
|
216
|
+
truncated: boolean;
|
|
217
|
+
}
|
|
218
|
+
interface AgentChatWorkspaceUpload {
|
|
219
|
+
path: string;
|
|
220
|
+
size: number;
|
|
221
|
+
}
|
|
222
|
+
type AgentChatExpertFeedbackRating = "up" | "down";
|
|
223
|
+
interface AgentChatSseMessageEvent {
|
|
224
|
+
data: string;
|
|
225
|
+
lastEventId: string;
|
|
226
|
+
}
|
|
227
|
+
interface AgentChatEventStream {
|
|
228
|
+
addEventListener(type: AgentChatEventType, listener: (event: AgentChatSseMessageEvent) => void): void;
|
|
229
|
+
close(): void;
|
|
230
|
+
onerror: (() => void) | null;
|
|
231
|
+
}
|
|
232
|
+
interface AgentChatAdapter {
|
|
233
|
+
listSessions(input: {
|
|
234
|
+
agentId?: string;
|
|
235
|
+
limit?: number;
|
|
236
|
+
offset?: number;
|
|
237
|
+
}): Promise<AgentChatSessionList>;
|
|
238
|
+
createSession(input: {
|
|
239
|
+
agentId?: string;
|
|
240
|
+
system?: string;
|
|
241
|
+
}): Promise<AgentChatSession>;
|
|
242
|
+
getSession(input: {
|
|
243
|
+
sessionId: string;
|
|
244
|
+
}): Promise<AgentChatSession>;
|
|
245
|
+
sendMessage(input: {
|
|
246
|
+
sessionId: string;
|
|
247
|
+
content: string;
|
|
248
|
+
images?: AgentChatImageAttachment[];
|
|
249
|
+
}): Promise<{
|
|
250
|
+
eventId?: number;
|
|
251
|
+
status?: string;
|
|
252
|
+
}>;
|
|
253
|
+
pauseSession(input: {
|
|
254
|
+
sessionId: string;
|
|
255
|
+
}): Promise<void>;
|
|
256
|
+
retrySession(input: {
|
|
257
|
+
sessionId: string;
|
|
258
|
+
}): Promise<AgentChatSession>;
|
|
259
|
+
deleteSession?(input: {
|
|
260
|
+
sessionId: string;
|
|
261
|
+
}): Promise<void>;
|
|
262
|
+
getSessionTree?(input: {
|
|
263
|
+
sessionId: string;
|
|
264
|
+
}): Promise<AgentChatSessionTree>;
|
|
265
|
+
stopSession?(input: {
|
|
266
|
+
sessionId: string;
|
|
267
|
+
}): Promise<void>;
|
|
268
|
+
getArtifact(input: {
|
|
269
|
+
sessionId: string;
|
|
270
|
+
artifactId: string;
|
|
271
|
+
}): Promise<AgentChatArtifactPayload>;
|
|
272
|
+
submitClarifyResponse(input: {
|
|
273
|
+
sessionId: string;
|
|
274
|
+
toolCallId: string;
|
|
275
|
+
responses: AgentChatClarifyAnswer[];
|
|
276
|
+
}): Promise<{
|
|
277
|
+
eventId?: number;
|
|
278
|
+
}>;
|
|
279
|
+
submitExpertFeedback?(input: {
|
|
280
|
+
sessionId: string;
|
|
281
|
+
expertResultEventId: number;
|
|
282
|
+
rating: AgentChatExpertFeedbackRating;
|
|
283
|
+
reason?: string;
|
|
284
|
+
}): Promise<{
|
|
285
|
+
eventId?: number;
|
|
286
|
+
eventType?: string;
|
|
287
|
+
}>;
|
|
288
|
+
listSlashCommands?(): Promise<AgentChatSlashCommand[]>;
|
|
289
|
+
getWorkspaceTree(input: {
|
|
290
|
+
sessionId: string;
|
|
291
|
+
}): Promise<AgentChatWorkspaceTree>;
|
|
292
|
+
getWorkspaceFile(input: {
|
|
293
|
+
sessionId: string;
|
|
294
|
+
path: string;
|
|
295
|
+
}): Promise<AgentChatWorkspaceFile>;
|
|
296
|
+
uploadWorkspaceFile(input: {
|
|
297
|
+
sessionId: string;
|
|
298
|
+
file: File;
|
|
299
|
+
directory?: string;
|
|
300
|
+
}): Promise<AgentChatWorkspaceUpload>;
|
|
301
|
+
deleteWorkspaceFile(input: {
|
|
302
|
+
sessionId: string;
|
|
303
|
+
path: string;
|
|
304
|
+
}): Promise<void>;
|
|
305
|
+
/**
|
|
306
|
+
* Build a same-origin URL the browser can navigate to (or anchor at via
|
|
307
|
+
* ``<a href download>``) to download the workspace file. The adapter
|
|
308
|
+
* is responsible for embedding any auth credential the server expects
|
|
309
|
+
* — typically as a query-string token, since cross-origin/anchor
|
|
310
|
+
* downloads can't carry custom headers.
|
|
311
|
+
*/
|
|
312
|
+
getWorkspaceDownloadUrl(input: {
|
|
313
|
+
sessionId: string;
|
|
314
|
+
path: string;
|
|
315
|
+
}): string;
|
|
316
|
+
openEventStream(input: {
|
|
317
|
+
sessionId: string;
|
|
318
|
+
after: number;
|
|
319
|
+
}): AgentChatEventStream;
|
|
320
|
+
}
|
|
321
|
+
interface AgentChatRuntimeApi {
|
|
322
|
+
messages: AgentChatMessage[];
|
|
323
|
+
isRunning: boolean;
|
|
324
|
+
isLoadingHistory: boolean;
|
|
325
|
+
tokenUsage: AgentChatTokenUsage;
|
|
326
|
+
retryIndicator: AgentChatRetryIndicator | null;
|
|
327
|
+
workspaceRefreshKey: number;
|
|
328
|
+
send(content: string, images?: AgentChatImageAttachment[]): Promise<void>;
|
|
329
|
+
stop(): Promise<void>;
|
|
330
|
+
retry(): Promise<void>;
|
|
331
|
+
markSending(content: string): void;
|
|
332
|
+
markSendError(errorText: string): void;
|
|
333
|
+
}
|
|
334
|
+
type ChatMessage = AgentChatMessage;
|
|
335
|
+
type SessionTreeNode = AgentChatSessionTreeNode;
|
|
336
|
+
type SessionTree = AgentChatSessionTree;
|
|
337
|
+
type ToolCallInfo = AgentChatToolCallInfo;
|
|
338
|
+
type TokenUsage = AgentChatTokenUsage;
|
|
339
|
+
type RetryIndicator = AgentChatRetryIndicator;
|
|
340
|
+
type ErrorInfo = AgentChatErrorInfo;
|
|
341
|
+
type ArtifactKind = AgentChatArtifactKind;
|
|
342
|
+
type ArtifactPayload = AgentChatArtifactPayload;
|
|
343
|
+
type MarkdownArtifactSpec = AgentChatMarkdownArtifactSpec;
|
|
344
|
+
type TableArtifactSpec = AgentChatTableArtifactSpec;
|
|
345
|
+
type ChartArtifactSpec = AgentChatChartArtifactSpec;
|
|
346
|
+
type HtmlArtifactSpec = AgentChatHtmlArtifactSpec;
|
|
347
|
+
type SvgArtifactSpec = AgentChatSvgArtifactSpec;
|
|
348
|
+
type ClarifyChoice = AgentChatClarifyChoice;
|
|
349
|
+
type ClarifyQuestion = AgentChatClarifyQuestion;
|
|
350
|
+
type ClarifyArgs = AgentChatClarifyArgs;
|
|
351
|
+
type ClarifyAnswer = AgentChatClarifyAnswer;
|
|
352
|
+
type WorkspaceEntry = AgentChatWorkspaceEntry;
|
|
353
|
+
type WorkspaceTree = AgentChatWorkspaceTree;
|
|
354
|
+
type WorkspaceFile = AgentChatWorkspaceFile;
|
|
355
|
+
type WorkspaceUpload = AgentChatWorkspaceUpload;
|
|
356
|
+
|
|
357
|
+
interface AgentChatProps {
|
|
358
|
+
adapter: AgentChatAdapter;
|
|
359
|
+
agentId?: string;
|
|
360
|
+
sessionId: string | null;
|
|
361
|
+
onSessionChange?: (sessionId: string) => void;
|
|
362
|
+
onFileSelect?: (path: string) => void;
|
|
363
|
+
onMessagesChange?: (messages: AgentChatMessage[]) => void;
|
|
364
|
+
disabled?: boolean;
|
|
365
|
+
}
|
|
366
|
+
declare function AgentChat({ adapter, agentId, sessionId, onSessionChange, onFileSelect, onMessagesChange, disabled, }: AgentChatProps): react_jsx_runtime.JSX.Element;
|
|
367
|
+
|
|
368
|
+
interface AgentChatAdapterContextValue {
|
|
369
|
+
adapter: AgentChatAdapter;
|
|
370
|
+
sessionId: string | null;
|
|
371
|
+
onFileSelect?: (path: string) => void;
|
|
372
|
+
}
|
|
373
|
+
declare const AgentChatAdapterProvider: React.Provider<AgentChatAdapterContextValue | null>;
|
|
374
|
+
declare function useAgentChatAdapterContext(): AgentChatAdapterContextValue;
|
|
375
|
+
|
|
376
|
+
interface UseAgentChatRuntimeInput {
|
|
377
|
+
adapter: AgentChatAdapter;
|
|
378
|
+
agentId?: string;
|
|
379
|
+
sessionId: string | null;
|
|
380
|
+
onSessionChange?: (sessionId: string) => void;
|
|
381
|
+
}
|
|
382
|
+
declare function useAgentChatRuntime({ adapter, agentId, sessionId, onSessionChange, }: UseAgentChatRuntimeInput): AgentChatRuntimeApi;
|
|
383
|
+
|
|
384
|
+
type MessageResponseProps = ComponentProps<typeof Streamdown>;
|
|
385
|
+
declare const MessageResponse: React.MemoExoticComponent<({ className, ...props }: MessageResponseProps) => react_jsx_runtime.JSX.Element>;
|
|
386
|
+
|
|
387
|
+
interface SessionTreePanelProps {
|
|
388
|
+
adapter: AgentChatAdapter;
|
|
389
|
+
sessionId?: string | null;
|
|
390
|
+
activeSessionId?: string;
|
|
391
|
+
agentId?: string;
|
|
392
|
+
title?: string;
|
|
393
|
+
sessionListLimit?: number;
|
|
394
|
+
/** Treat the root as hidden, so its children appear as top-level rows. */
|
|
395
|
+
hideRoot?: boolean;
|
|
396
|
+
/** Suppress the header row (icon + title + running count badge). */
|
|
397
|
+
hideHeader?: boolean;
|
|
398
|
+
/**
|
|
399
|
+
* Fetch the tenant's full session list via ``adapter.listSessions`` and
|
|
400
|
+
* merge it with the per-session tree. Off by default; the panel renders
|
|
401
|
+
* only the tree of ``sessionId`` unless this is set.
|
|
402
|
+
*/
|
|
403
|
+
loadList?: boolean;
|
|
404
|
+
onSessionSelect?: (sessionId: string) => void;
|
|
405
|
+
onSessionDelete?: (sessionId: string) => void;
|
|
406
|
+
}
|
|
407
|
+
declare function SessionTreePanel({ adapter, sessionId, activeSessionId, agentId, title, sessionListLimit, hideRoot, hideHeader, loadList, onSessionSelect, onSessionDelete, }: SessionTreePanelProps): react_jsx_runtime.JSX.Element | null;
|
|
408
|
+
|
|
409
|
+
export { AgentChat, type AgentChatAdapter, type AgentChatAdapterContextValue, AgentChatAdapterProvider, type AgentChatArtifactKind, type AgentChatArtifactMeta, type AgentChatArtifactPayload, type AgentChatChartArtifactSpec, type AgentChatClarifyAnswer, type AgentChatClarifyArgs, type AgentChatClarifyChoice, type AgentChatClarifyQuestion, type AgentChatErrorCategory, type AgentChatErrorInfo, type AgentChatEventStream, type AgentChatEventType, type AgentChatExpertFeedbackRating, type AgentChatHtmlArtifactSpec, type AgentChatImageAttachment, type AgentChatMarkdownArtifactSpec, type AgentChatMessage, type AgentChatMessageStatus, type AgentChatProps, type AgentChatRole, type AgentChatRuntimeApi, type AgentChatRuntimeEvent, type AgentChatSession, type AgentChatSessionList, type AgentChatSessionTree, type AgentChatSessionTreeNode, type AgentChatSlashCommand, type AgentChatSseMessageEvent, type AgentChatState, type AgentChatSvgArtifactSpec, type AgentChatSystemKind, type AgentChatTableArtifactSpec, type AgentChatTokenUsage, type AgentChatToolCallInfo, type AgentChatWorkspaceEntry, type AgentChatWorkspaceFile, type AgentChatWorkspaceTree, type AgentChatWorkspaceUpload, type ArtifactKind, type ArtifactPayload, type ChartArtifactSpec, type ChatMessage, type ClarifyAnswer, type ClarifyArgs, type ClarifyChoice, type ClarifyQuestion, type ErrorInfo, type HtmlArtifactSpec, type MarkdownArtifactSpec, MessageResponse, type MessageResponseProps, type RetryIndicator, type SessionTree, type SessionTreeNode, SessionTreePanel, type SessionTreePanelProps, type SvgArtifactSpec, type TableArtifactSpec, type TokenUsage, type ToolCallInfo, type WorkspaceEntry, type WorkspaceFile, type WorkspaceTree, type WorkspaceUpload, useAgentChatAdapterContext, useAgentChatRuntime };
|