@turingfocus/chat-ui-antd 0.7.0 → 0.8.1
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/chat-composer.d.ts +11 -2
- package/dist/chat-composer.d.ts.map +1 -1
- package/dist/chat-composer.js +241 -14
- package/dist/chat-composer.js.map +1 -1
- package/dist/chat-conversation-view.d.ts.map +1 -1
- package/dist/chat-conversation-view.js +36 -11
- package/dist/chat-conversation-view.js.map +1 -1
- package/dist/chat-event-detail.d.ts +2 -1
- package/dist/chat-event-detail.d.ts.map +1 -1
- package/dist/chat-event-detail.js +3 -2
- package/dist/chat-event-detail.js.map +1 -1
- package/dist/chat-run-status.d.ts.map +1 -1
- package/dist/chat-run-status.js +3 -2
- package/dist/chat-run-status.js.map +1 -1
- package/dist/chat-timeline.d.ts.map +1 -1
- package/dist/chat-timeline.js +17 -16
- package/dist/chat-timeline.js.map +1 -1
- package/dist/code-content.d.ts +13 -0
- package/dist/code-content.d.ts.map +1 -0
- package/dist/code-content.js +144 -0
- package/dist/code-content.js.map +1 -0
- package/dist/code-highlight.d.ts +3 -0
- package/dist/code-highlight.d.ts.map +1 -0
- package/dist/code-highlight.js +29 -0
- package/dist/code-highlight.js.map +1 -0
- package/dist/dismissible-chat-alert.d.ts +12 -0
- package/dist/dismissible-chat-alert.d.ts.map +1 -0
- package/dist/dismissible-chat-alert.js +25 -0
- package/dist/dismissible-chat-alert.js.map +1 -0
- package/dist/event-renderers.d.ts.map +1 -1
- package/dist/event-renderers.js +16 -18
- package/dist/event-renderers.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/labels.d.ts +2 -1
- package/dist/labels.d.ts.map +1 -1
- package/dist/labels.js +33 -0
- package/dist/labels.js.map +1 -1
- package/dist/markdown-content.d.ts +2 -5
- package/dist/markdown-content.d.ts.map +1 -1
- package/dist/markdown-content.js +38 -14
- package/dist/markdown-content.js.map +1 -1
- package/dist/reference-picker.d.ts +8 -0
- package/dist/reference-picker.d.ts.map +1 -0
- package/dist/reference-picker.js +64 -0
- package/dist/reference-picker.js.map +1 -0
- package/dist/renderer-registry.d.ts.map +1 -1
- package/dist/renderer-registry.js +16 -1
- package/dist/renderer-registry.js.map +1 -1
- package/dist/resource-content.d.ts +14 -0
- package/dist/resource-content.d.ts.map +1 -0
- package/dist/resource-content.js +194 -0
- package/dist/resource-content.js.map +1 -0
- package/dist/resource-labels.d.ts +8 -0
- package/dist/resource-labels.d.ts.map +1 -0
- package/dist/resource-labels.js +15 -0
- package/dist/resource-labels.js.map +1 -0
- package/dist/shell-content.d.ts +16 -0
- package/dist/shell-content.d.ts.map +1 -0
- package/dist/shell-content.js +103 -0
- package/dist/shell-content.js.map +1 -0
- package/dist/tool-presentation.d.ts +6 -0
- package/dist/tool-presentation.d.ts.map +1 -0
- package/dist/tool-presentation.js +29 -0
- package/dist/tool-presentation.js.map +1 -0
- package/dist/types.d.ts +33 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/use-chat-command-coordinator.d.ts +2 -2
- package/dist/use-chat-command-coordinator.d.ts.map +1 -1
- package/dist/use-chat-command-coordinator.js +2 -3
- package/dist/use-chat-command-coordinator.js.map +1 -1
- package/dist/value-inspector.d.ts +7 -0
- package/dist/value-inspector.d.ts.map +1 -0
- package/dist/value-inspector.js +31 -0
- package/dist/value-inspector.js.map +1 -0
- package/package.json +5 -3
package/dist/chat-composer.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type CSSProperties, type ReactNode } from "react";
|
|
2
|
+
import type { ChatAttachmentUploader, ComposerDraft } from "@turingfocus/chat-react";
|
|
3
|
+
import type { UploadedAttachment } from "@turingfocus/chat-protocol";
|
|
2
4
|
import type { ChatUiLabelOverrides } from "./types.js";
|
|
3
5
|
export interface ChatComposerProps {
|
|
4
6
|
readonly className?: string | undefined;
|
|
@@ -6,14 +8,21 @@ export interface ChatComposerProps {
|
|
|
6
8
|
readonly disabledReason?: ReactNode | undefined;
|
|
7
9
|
readonly interruptAction?: ChatComposerInterruptAction | undefined;
|
|
8
10
|
readonly labels?: ChatUiLabelOverrides | undefined;
|
|
9
|
-
readonly onSend: (text: string) => boolean | PromiseLike<boolean>;
|
|
11
|
+
readonly onSend: (text: string, attachments?: readonly UploadedAttachment[]) => boolean | PromiseLike<boolean>;
|
|
12
|
+
readonly attachmentUploader?: ChatAttachmentUploader | undefined;
|
|
13
|
+
readonly draft?: ComposerDraft | undefined;
|
|
14
|
+
readonly getDeadlineAt?: (() => number) | undefined;
|
|
15
|
+
readonly longTextThreshold?: number | undefined;
|
|
16
|
+
readonly maxAttachments?: number | undefined;
|
|
17
|
+
readonly onDraftChange?: ((draft: Pick<ComposerDraft, "attachments" | "longTexts" | "text">) => void) | undefined;
|
|
10
18
|
readonly resetKey?: string | undefined;
|
|
11
19
|
readonly style?: CSSProperties | undefined;
|
|
20
|
+
readonly textInputDisabled?: boolean | undefined;
|
|
12
21
|
}
|
|
13
22
|
export interface ChatComposerInterruptAction {
|
|
14
23
|
readonly disabled?: boolean | undefined;
|
|
15
24
|
readonly onInterrupt: () => boolean | PromiseLike<boolean>;
|
|
16
25
|
readonly resetKey?: string | undefined;
|
|
17
26
|
}
|
|
18
|
-
export declare const ChatComposer: ({ className, disabled, disabledReason, interruptAction, labels: labelOverrides, onSend, resetKey, style, }: ChatComposerProps) => import("react").JSX.Element;
|
|
27
|
+
export declare const ChatComposer: ({ className, disabled, disabledReason, interruptAction, attachmentUploader, draft: controlledDraft, getDeadlineAt, longTextThreshold, maxAttachments, onDraftChange, labels: labelOverrides, onSend, resetKey, style, textInputDisabled, }: ChatComposerProps) => import("react").JSX.Element;
|
|
19
28
|
//# sourceMappingURL=chat-composer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-composer.d.ts","sourceRoot":"","sources":["../src/chat-composer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chat-composer.d.ts","sourceRoot":"","sources":["../src/chat-composer.tsx"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,aAAa,EAIlB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,CACf,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,SAAS,kBAAkB,EAAE,KACxC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC,EACnB,CAAC,CACC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC,KAC7D,IAAI,CAAC,GACV,SAAS,CAAC;IACd,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,eAAO,MAAM,YAAY,GAAI,4OAgB1B,iBAAiB,gCAohBnB,CAAC"}
|
package/dist/chat-composer.js
CHANGED
|
@@ -1,38 +1,95 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ChatReferencePicker } from "./reference-picker.js";
|
|
3
|
+
import { appendComposerReference, useChatDocumentSource, } from "@turingfocus/chat-react";
|
|
4
|
+
import { Button, Input, Modal, Space, Typography, theme } from "antd";
|
|
5
|
+
import { useCallback, useEffect, useRef, useState, } from "react";
|
|
6
|
+
import { rebaseComposerLongTexts, resolveComposerDraftText, } from "@turingfocus/chat-react";
|
|
4
7
|
import { resolveChatUiLabels } from "./labels.js";
|
|
5
|
-
export const ChatComposer = ({ className, disabled = false, disabledReason, interruptAction, labels: labelOverrides, onSend, resetKey, style, }) => {
|
|
8
|
+
export const ChatComposer = ({ className, disabled = false, disabledReason, interruptAction, attachmentUploader, draft: controlledDraft, getDeadlineAt, longTextThreshold = 4_000, maxAttachments = 20, onDraftChange, labels: labelOverrides, onSend, resetKey, style, textInputDisabled = false, }) => {
|
|
9
|
+
const { source: documentSource, scope: documentScope } = useChatDocumentSource();
|
|
10
|
+
const [referencePickerOpen, setReferencePickerOpen] = useState(false);
|
|
11
|
+
useEffect(() => setReferencePickerOpen(false), [resetKey, documentSource, documentScope]);
|
|
6
12
|
const { token } = theme.useToken();
|
|
7
13
|
const labels = resolveChatUiLabels(labelOverrides);
|
|
8
14
|
const [draft, setDraft] = useState("");
|
|
15
|
+
const [uploading, setUploading] = useState([]);
|
|
16
|
+
const [selectedLongTextId, setSelectedLongTextId] = useState();
|
|
17
|
+
const sequence = useRef(0);
|
|
18
|
+
const uploadGeneration = useRef(0);
|
|
19
|
+
const uploadControllers = useRef(new Map());
|
|
20
|
+
const fileInput = useRef(null);
|
|
21
|
+
const textarea = useRef(null);
|
|
22
|
+
const pendingTextEdit = useRef();
|
|
9
23
|
const [interrupting, setInterrupting] = useState(false);
|
|
10
24
|
const [submitting, setSubmitting] = useState(false);
|
|
11
25
|
const interruptRequestId = useRef(0);
|
|
12
26
|
const submissionId = useRef(0);
|
|
13
27
|
const interruptResetKey = interruptAction?.resetKey ?? null;
|
|
28
|
+
const text = controlledDraft?.text ?? draft;
|
|
29
|
+
const attachments = controlledDraft?.attachments ?? [];
|
|
30
|
+
const longTexts = controlledDraft?.longTexts ?? [];
|
|
31
|
+
const revision = controlledDraft?.revision ?? 0;
|
|
32
|
+
const draftSnapshot = useRef({ attachments, longTexts, revision, text });
|
|
33
|
+
draftSnapshot.current = { attachments, longTexts, revision, text };
|
|
34
|
+
const updateDraft = useCallback((patch, textEdit) => {
|
|
35
|
+
if (controlledDraft !== undefined && onDraftChange !== undefined) {
|
|
36
|
+
const current = draftSnapshot.current;
|
|
37
|
+
const nextText = patch.text ?? current.text;
|
|
38
|
+
const nextLongTexts = patch.longTexts ??
|
|
39
|
+
rebaseComposerLongTexts(current.text, nextText, current.longTexts, textEdit);
|
|
40
|
+
const next = {
|
|
41
|
+
attachments: patch.attachments ?? current.attachments,
|
|
42
|
+
longTexts: nextLongTexts,
|
|
43
|
+
text: nextText,
|
|
44
|
+
};
|
|
45
|
+
draftSnapshot.current = { ...next, revision: current.revision + 1 };
|
|
46
|
+
onDraftChange(next);
|
|
47
|
+
}
|
|
48
|
+
else if (patch.text !== undefined) {
|
|
49
|
+
setDraft(patch.text);
|
|
50
|
+
}
|
|
51
|
+
}, [controlledDraft, onDraftChange]);
|
|
14
52
|
useEffect(() => {
|
|
53
|
+
const cancelUploads = () => {
|
|
54
|
+
uploadGeneration.current += 1;
|
|
55
|
+
for (const controller of uploadControllers.current.values()) {
|
|
56
|
+
controller.abort();
|
|
57
|
+
}
|
|
58
|
+
uploadControllers.current.clear();
|
|
59
|
+
};
|
|
60
|
+
cancelUploads();
|
|
61
|
+
pendingTextEdit.current = undefined;
|
|
15
62
|
submissionId.current += 1;
|
|
16
63
|
setDraft("");
|
|
64
|
+
setUploading([]);
|
|
17
65
|
setSubmitting(false);
|
|
66
|
+
return cancelUploads;
|
|
18
67
|
}, [resetKey]);
|
|
19
68
|
useEffect(() => {
|
|
20
69
|
interruptRequestId.current += 1;
|
|
21
70
|
setInterrupting(false);
|
|
22
71
|
}, [interruptResetKey]);
|
|
23
72
|
const submit = async () => {
|
|
24
|
-
const
|
|
25
|
-
|
|
73
|
+
const resolvedText = resolveComposerDraftText({
|
|
74
|
+
attachments,
|
|
75
|
+
conversationId: controlledDraft?.conversationId ?? "standalone",
|
|
76
|
+
longTexts,
|
|
77
|
+
revision,
|
|
78
|
+
text,
|
|
79
|
+
});
|
|
80
|
+
if (disabled ||
|
|
81
|
+
submitting ||
|
|
82
|
+
(resolvedText.trim().length === 0 && attachments.length === 0))
|
|
26
83
|
return;
|
|
27
84
|
const requestId = submissionId.current + 1;
|
|
28
85
|
submissionId.current = requestId;
|
|
29
86
|
setSubmitting(true);
|
|
30
87
|
try {
|
|
31
|
-
const succeeded = await onSend(
|
|
88
|
+
const succeeded = await onSend(resolvedText, attachments);
|
|
32
89
|
if (submissionId.current !== requestId)
|
|
33
90
|
return;
|
|
34
|
-
if (succeeded) {
|
|
35
|
-
|
|
91
|
+
if (succeeded && controlledDraft === undefined) {
|
|
92
|
+
updateDraft({ attachments: [], longTexts: [], text: "" });
|
|
36
93
|
}
|
|
37
94
|
}
|
|
38
95
|
catch {
|
|
@@ -44,6 +101,116 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
|
|
|
44
101
|
setSubmitting(false);
|
|
45
102
|
}
|
|
46
103
|
};
|
|
104
|
+
const uploadFile = useCallback(async (file, id) => {
|
|
105
|
+
if (attachmentUploader === undefined || getDeadlineAt === undefined)
|
|
106
|
+
return;
|
|
107
|
+
const generation = uploadGeneration.current;
|
|
108
|
+
uploadControllers.current.get(id)?.abort();
|
|
109
|
+
const controller = new AbortController();
|
|
110
|
+
uploadControllers.current.set(id, controller);
|
|
111
|
+
setUploading((current) => [
|
|
112
|
+
...current.filter((item) => item.id !== id),
|
|
113
|
+
{ file, id },
|
|
114
|
+
]);
|
|
115
|
+
let result;
|
|
116
|
+
try {
|
|
117
|
+
result = await attachmentUploader.upload({
|
|
118
|
+
deadlineAt: getDeadlineAt(),
|
|
119
|
+
blob: file,
|
|
120
|
+
fileName: file.name,
|
|
121
|
+
mimeType: file.type,
|
|
122
|
+
cancellation: {
|
|
123
|
+
get aborted() {
|
|
124
|
+
return controller.signal.aborted;
|
|
125
|
+
},
|
|
126
|
+
subscribe(listener) {
|
|
127
|
+
if (controller.signal.aborted) {
|
|
128
|
+
listener();
|
|
129
|
+
return () => undefined;
|
|
130
|
+
}
|
|
131
|
+
const onAbort = () => listener();
|
|
132
|
+
controller.signal.addEventListener("abort", onAbort, {
|
|
133
|
+
once: true,
|
|
134
|
+
});
|
|
135
|
+
return () => controller.signal.removeEventListener("abort", onAbort);
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
if (uploadGeneration.current !== generation)
|
|
142
|
+
return;
|
|
143
|
+
setUploading((current) => current.map((item) => item.id === id
|
|
144
|
+
? {
|
|
145
|
+
...item,
|
|
146
|
+
error: error instanceof Error ? error.message : "Upload failed",
|
|
147
|
+
}
|
|
148
|
+
: item));
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
finally {
|
|
152
|
+
if (uploadControllers.current.get(id) === controller) {
|
|
153
|
+
uploadControllers.current.delete(id);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (uploadGeneration.current !== generation)
|
|
157
|
+
return;
|
|
158
|
+
if (result.ok) {
|
|
159
|
+
updateDraft({
|
|
160
|
+
attachments: [...draftSnapshot.current.attachments, result.value],
|
|
161
|
+
});
|
|
162
|
+
setUploading((current) => current.filter((item) => item.id !== id));
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
setUploading((current) => current.map((item) => item.id === id ? { ...item, error: result.error.message } : item));
|
|
166
|
+
}
|
|
167
|
+
}, [attachmentUploader, getDeadlineAt, updateDraft]);
|
|
168
|
+
const selectFiles = (event) => {
|
|
169
|
+
const remaining = Math.max(0, maxAttachments - attachments.length - uploading.length);
|
|
170
|
+
for (const file of Array.from(event.target.files ?? []).slice(0, remaining)) {
|
|
171
|
+
const id = `upload-${++sequence.current}`;
|
|
172
|
+
void uploadFile(file, id);
|
|
173
|
+
}
|
|
174
|
+
event.target.value = "";
|
|
175
|
+
};
|
|
176
|
+
const handlePaste = (event) => {
|
|
177
|
+
pendingTextEdit.current = undefined;
|
|
178
|
+
const files = Array.from(event.clipboardData.files);
|
|
179
|
+
if (files.length > 0 && attachmentUploader !== undefined) {
|
|
180
|
+
event.preventDefault();
|
|
181
|
+
const remaining = Math.max(0, maxAttachments - attachments.length - uploading.length);
|
|
182
|
+
for (const file of files.slice(0, remaining))
|
|
183
|
+
void uploadFile(file, `paste-${++sequence.current}`);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
const pasted = event.clipboardData.getData("text/plain");
|
|
187
|
+
if (pasted.length <= longTextThreshold || controlledDraft === undefined)
|
|
188
|
+
return;
|
|
189
|
+
event.preventDefault();
|
|
190
|
+
const id = `long-text-${++sequence.current}`;
|
|
191
|
+
const label = `[Pasted text ${longTexts.length + 1}]`;
|
|
192
|
+
const element = textarea.current;
|
|
193
|
+
const start = element?.selectionStart ?? text.length;
|
|
194
|
+
const end = element?.selectionEnd ?? start;
|
|
195
|
+
const nextText = `${text.slice(0, start)}${label}${text.slice(end)}`;
|
|
196
|
+
updateDraft({
|
|
197
|
+
text: nextText,
|
|
198
|
+
longTexts: [
|
|
199
|
+
...rebaseComposerLongTexts(text, nextText, longTexts, {
|
|
200
|
+
nextEnd: start + label.length,
|
|
201
|
+
previousEnd: end,
|
|
202
|
+
previousStart: start,
|
|
203
|
+
}),
|
|
204
|
+
{
|
|
205
|
+
content: pasted,
|
|
206
|
+
end: start + label.length,
|
|
207
|
+
id,
|
|
208
|
+
label,
|
|
209
|
+
start,
|
|
210
|
+
},
|
|
211
|
+
].sort((left, right) => left.start - right.start),
|
|
212
|
+
});
|
|
213
|
+
};
|
|
47
214
|
const handlePressEnter = (event) => {
|
|
48
215
|
if (event.shiftKey || event.nativeEvent.isComposing)
|
|
49
216
|
return;
|
|
@@ -76,20 +243,80 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
|
|
|
76
243
|
borderBlockStart: `${token.lineWidth}px ${token.lineType} ${token.colorBorderSecondary}`,
|
|
77
244
|
padding: token.paddingSM,
|
|
78
245
|
...style,
|
|
79
|
-
}, children: [_jsxs("div", { "data-chat-composer": "", style: { alignItems: "flex-end", display: "flex", gap: token.marginXS }, children: [_jsx(Input.TextArea, { "aria-label": labels.composerLabel, autoSize: { maxRows: 8, minRows: 2 }, disabled: disabled,
|
|
80
|
-
|
|
81
|
-
|
|
246
|
+
}, children: [_jsxs("div", { "data-chat-composer": "", style: { alignItems: "flex-end", display: "flex", gap: token.marginXS }, children: [_jsx(Input.TextArea, { "aria-label": labels.composerLabel, autoSize: { maxRows: 8, minRows: 2 }, disabled: disabled || textInputDisabled, onBeforeInput: (event) => {
|
|
247
|
+
pendingTextEdit.current = {
|
|
248
|
+
previousEnd: event.currentTarget.selectionEnd ?? text.length,
|
|
249
|
+
previousStart: event.currentTarget.selectionStart ?? text.length,
|
|
250
|
+
};
|
|
251
|
+
}, onChange: (event) => {
|
|
252
|
+
const pending = pendingTextEdit.current;
|
|
253
|
+
pendingTextEdit.current = undefined;
|
|
254
|
+
const nextText = event.target.value;
|
|
255
|
+
if (nextText.endsWith("/") && documentSource !== undefined)
|
|
256
|
+
setReferencePickerOpen(true);
|
|
257
|
+
const insertedLength = pending === undefined
|
|
258
|
+
? undefined
|
|
259
|
+
: nextText.length -
|
|
260
|
+
(text.length - (pending.previousEnd - pending.previousStart));
|
|
261
|
+
updateDraft({ text: nextText }, pending === undefined ||
|
|
262
|
+
insertedLength === undefined ||
|
|
263
|
+
insertedLength < 0
|
|
264
|
+
? undefined
|
|
265
|
+
: {
|
|
266
|
+
...pending,
|
|
267
|
+
nextEnd: pending.previousStart + insertedLength,
|
|
268
|
+
});
|
|
269
|
+
}, onPaste: handlePaste, onPressEnter: handlePressEnter, placeholder: disabled || textInputDisabled
|
|
82
270
|
? typeof disabledReason === "string"
|
|
83
271
|
? disabledReason
|
|
84
272
|
: labels.textSendingUnavailable
|
|
85
|
-
: labels.composerPlaceholder, value:
|
|
273
|
+
: labels.composerPlaceholder, ref: textarea, value: text }), documentSource !== undefined &&
|
|
274
|
+
controlledDraft !== undefined &&
|
|
275
|
+
onDraftChange !== undefined && (_jsx(Button, { disabled: disabled || textInputDisabled, onClick: () => setReferencePickerOpen(true), children: "References" })), attachmentUploader === undefined ? null : (_jsx(Button, { disabled: disabled ||
|
|
276
|
+
attachments.length + uploading.length >= maxAttachments, onClick: () => fileInput.current?.click(), children: labels.attach })), attachmentUploader === undefined ? null : (_jsx("input", { hidden: true, multiple: true, onChange: selectFiles, ref: fileInput, type: "file" })), interruptAction === undefined ? null : (_jsx(Button, { danger: true, disabled: interruptAction.disabled === true, loading: interrupting, onClick: () => {
|
|
86
277
|
void interrupt();
|
|
87
278
|
}, children: interrupting
|
|
88
279
|
? labels.interrupting
|
|
89
280
|
: interruptAction.disabled === true
|
|
90
281
|
? labels.interruptUnavailable
|
|
91
|
-
: labels.interrupt })), _jsx(Button, { disabled: disabled ||
|
|
282
|
+
: labels.interrupt })), _jsx(Button, { disabled: disabled ||
|
|
283
|
+
uploading.some((item) => item.error === undefined) ||
|
|
284
|
+
(text.trim().length === 0 && attachments.length === 0), loading: submitting, onClick: () => {
|
|
92
285
|
void submit();
|
|
93
|
-
}, type: "primary", children: submitting ? labels.sending : labels.send })] }),
|
|
286
|
+
}, type: "primary", children: submitting ? labels.sending : labels.send })] }), attachments.length === 0 && uploading.length === 0 ? null : (_jsxs(Space, { wrap: true, size: "small", style: { marginBlockStart: token.marginXS }, children: [attachments.map((attachment) => (_jsxs(Button, { "aria-label": `${labels.removeAttachment} ${attachment.name ?? attachment.uri}`, onClick: () => updateDraft({
|
|
287
|
+
attachments: attachments.filter((item) => item !== attachment),
|
|
288
|
+
}), size: "small", children: [attachment.name ?? attachment.uri, " \u00D7"] }, attachment.uri))), uploading.map((item) => (_jsx(Button, { danger: item.error !== undefined, loading: item.error === undefined, onClick: () => item.error === undefined
|
|
289
|
+
? undefined
|
|
290
|
+
: void uploadFile(item.file, item.id), size: "small", children: item.error === undefined
|
|
291
|
+
? item.file.name
|
|
292
|
+
: `${labels.retryUpload} ${item.file.name}` }, item.id)))] })), referencePickerOpen &&
|
|
293
|
+
controlledDraft !== undefined &&
|
|
294
|
+
onDraftChange !== undefined && (_jsx(ChatReferencePicker, { conversationId: controlledDraft.conversationId, onClose: () => setReferencePickerOpen(false), onSelect: (reference) => {
|
|
295
|
+
const current = draftSnapshot.current;
|
|
296
|
+
let anchorId;
|
|
297
|
+
do {
|
|
298
|
+
anchorId = `reference-${++sequence.current}`;
|
|
299
|
+
} while (current.longTexts.some((item) => item.id === anchorId));
|
|
300
|
+
updateDraft(appendComposerReference({
|
|
301
|
+
...current,
|
|
302
|
+
conversationId: controlledDraft.conversationId,
|
|
303
|
+
}, reference, anchorId));
|
|
304
|
+
setReferencePickerOpen(false);
|
|
305
|
+
} }, resetKey)), longTexts.length === 0 ? null : (_jsx(Space, { wrap: true, size: "small", style: { marginBlockStart: token.marginXS }, children: longTexts.map((item) => (_jsxs(Space.Compact, { children: [_jsx(Button, { onClick: () => setSelectedLongTextId(item.id), size: "small", children: item.label }), _jsx(Button, { "aria-label": `${labels.removeLongText} ${item.label}`, onClick: () => {
|
|
306
|
+
const nextText = `${text.slice(0, item.start)}${text.slice(item.end)}`;
|
|
307
|
+
updateDraft({
|
|
308
|
+
text: nextText,
|
|
309
|
+
longTexts: rebaseComposerLongTexts(text, nextText, longTexts.filter((entry) => entry.id !== item.id), {
|
|
310
|
+
nextEnd: item.start,
|
|
311
|
+
previousEnd: item.end,
|
|
312
|
+
previousStart: item.start,
|
|
313
|
+
}),
|
|
314
|
+
});
|
|
315
|
+
}, size: "small", children: "\u00D7" })] }, item.id))) })), disabled && disabledReason !== undefined ? (_jsx(Typography.Text, { type: "secondary", children: disabledReason })) : null, _jsx(Modal, { footer: null, onCancel: () => setSelectedLongTextId(undefined), open: selectedLongTextId !== undefined, title: labels.pastedTextTitle, children: longTexts.find((item) => item.id === selectedLongTextId) ===
|
|
316
|
+
undefined ? null : (_jsx(Input.TextArea, { autoSize: { minRows: 8, maxRows: 20 }, onChange: (event) => updateDraft({
|
|
317
|
+
longTexts: longTexts.map((item) => item.id === selectedLongTextId
|
|
318
|
+
? { ...item, content: event.target.value }
|
|
319
|
+
: item),
|
|
320
|
+
}), value: longTexts.find((item) => item.id === selectedLongTextId).content })) })] }));
|
|
94
321
|
};
|
|
95
322
|
//# sourceMappingURL=chat-composer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-composer.js","sourceRoot":"","sources":["../src/chat-composer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-composer.js","sourceRoot":"","sources":["../src/chat-composer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-conversation-view.d.ts","sourceRoot":"","sources":["../src/chat-conversation-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-conversation-view.d.ts","sourceRoot":"","sources":["../src/chat-conversation-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAoBf,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,2BAA2B,CAAC;AASnC,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAEpD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzD,gFAAgF;IAChF,QAAQ,CAAC,4BAA4B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,aAAa,EAAE,MAAM,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,cAAc,CAAC,EACtB,CAAC,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,uBAAuB,CAAC,EAC/B,CAAC,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,6BAA6B,CAAC,EACrC,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,eAAe,CAAC,EACvB,CAAC,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,eAAe,CAAC,EACvB,CAAC,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,qBAAqB,CAAC,EAC7B,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACtD,sEAAsE;IACtE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC5C;AAgDD,eAAO,MAAM,oBAAoB,GAAI,obAoBlC,yBAAyB,gCAogB3B,CAAC"}
|
|
@@ -2,8 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Alert, Modal, Segmented, Typography, theme } from "antd";
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
|
|
4
4
|
import { isChatLifecycleOperable, } from "@turingfocus/chat-protocol";
|
|
5
|
-
import { useChatClient, useChatSelector } from "@turingfocus/chat-react";
|
|
5
|
+
import { useChatAttachmentUploader, useChatClient, useChatSelector, useComposerDraft, useConversationCache, } from "@turingfocus/chat-react";
|
|
6
6
|
import { ChatComposer } from "./chat-composer.js";
|
|
7
|
+
import { chatErrorNoticeKey, DismissibleChatAlert, } from "./dismissible-chat-alert.js";
|
|
7
8
|
import { ChatEventDetail, ChatEventDetailEmpty, isChatEventItem, } from "./chat-event-detail.js";
|
|
8
9
|
import { AskUserInteractionCard, } from "./ask-user-interaction.js";
|
|
9
10
|
import { ChatRunStatus } from "./chat-run-status.js";
|
|
@@ -18,6 +19,7 @@ const selectChatConversationViewSnapshot = (snapshot) => snapshot === null
|
|
|
18
19
|
capabilities: snapshot.capabilities,
|
|
19
20
|
conversationId: snapshot.conversation.id,
|
|
20
21
|
error: snapshot.error,
|
|
22
|
+
errorNoticeKey: chatErrorNoticeKey(snapshot.error, snapshot.activeErrors?.at(-1)),
|
|
21
23
|
lifecycle: snapshot.lifecycle,
|
|
22
24
|
pendingInteraction: snapshot.pendingInteraction,
|
|
23
25
|
run: snapshot.run,
|
|
@@ -29,6 +31,7 @@ const equalChatConversationViewSnapshot = (left, right) => left === right ||
|
|
|
29
31
|
left.capabilities === right.capabilities &&
|
|
30
32
|
left.conversationId === right.conversationId &&
|
|
31
33
|
left.error === right.error &&
|
|
34
|
+
left.errorNoticeKey === right.errorNoticeKey &&
|
|
32
35
|
left.lifecycle === right.lifecycle &&
|
|
33
36
|
left.pendingInteraction === right.pendingInteraction &&
|
|
34
37
|
left.run === right.run &&
|
|
@@ -37,7 +40,10 @@ export const ChatConversationView = ({ className, defaultEventDetailMode = "auto
|
|
|
37
40
|
const { token } = theme.useToken();
|
|
38
41
|
const labels = resolveChatUiLabels(labelOverrides);
|
|
39
42
|
const client = useChatClient();
|
|
43
|
+
const cache = useConversationCache();
|
|
40
44
|
const snapshot = useChatSelector(selectChatConversationViewSnapshot, equalChatConversationViewSnapshot);
|
|
45
|
+
const attachmentUploader = useChatAttachmentUploader();
|
|
46
|
+
const composer = useComposerDraft(snapshot?.conversationId ?? "");
|
|
41
47
|
const activeRecoveryUnverified = snapshot?.lifecycle?.status === "active" &&
|
|
42
48
|
(snapshot.lifecycle.recovery?.complete === false ||
|
|
43
49
|
((snapshot.lifecycle.reconnectAttempt ?? 0) > 0 &&
|
|
@@ -118,19 +124,23 @@ export const ChatConversationView = ({ className, defaultEventDetailMode = "auto
|
|
|
118
124
|
}
|
|
119
125
|
onSelectedEventChange?.(eventId, item);
|
|
120
126
|
}, [controlledSelectedEventId, onSelectedEventChange]);
|
|
127
|
+
const previousClientRef = useRef(client);
|
|
121
128
|
const previousConversationIdRef = useRef(currentConversationId);
|
|
122
129
|
useEffect(() => {
|
|
130
|
+
const clientChanged = previousClientRef.current !== client;
|
|
131
|
+
previousClientRef.current = client;
|
|
123
132
|
const previousConversationId = previousConversationIdRef.current;
|
|
124
133
|
previousConversationIdRef.current = currentConversationId;
|
|
125
|
-
if (
|
|
126
|
-
previousConversationId ===
|
|
134
|
+
if (!clientChanged &&
|
|
135
|
+
(previousConversationId === null ||
|
|
136
|
+
previousConversationId === currentConversationId)) {
|
|
127
137
|
return;
|
|
128
138
|
}
|
|
129
139
|
lastTriggerRef.current = null;
|
|
130
140
|
setModalOpen(false);
|
|
131
141
|
if (selectedEventId !== null)
|
|
132
142
|
updateSelection(null, null);
|
|
133
|
-
}, [currentConversationId, selectedEventId, updateSelection]);
|
|
143
|
+
}, [client, currentConversationId, selectedEventId, updateSelection]);
|
|
134
144
|
useEffect(() => {
|
|
135
145
|
if (snapshot === null ||
|
|
136
146
|
selectedEventId === null ||
|
|
@@ -212,22 +222,29 @@ export const ChatConversationView = ({ className, defaultEventDetailMode = "auto
|
|
|
212
222
|
minHeight: 0,
|
|
213
223
|
overflow: "auto",
|
|
214
224
|
padding: token.paddingSM,
|
|
215
|
-
}, children: selectedEvent === undefined ? (_jsx(ChatEventDetailEmpty, { labels: labels })) : (_jsx(ChatEventDetail, { formatTimestamp: formatTimestamp, item: selectedEvent, onRendererError: onRendererError, renderers: renderers })) }));
|
|
225
|
+
}, children: selectedEvent === undefined ? (_jsx(ChatEventDetailEmpty, { labels: labels })) : (_jsx(ChatEventDetail, { labels: labels, formatTimestamp: formatTimestamp, item: selectedEvent, onRendererError: onRendererError, renderers: renderers })) }));
|
|
216
226
|
return (_jsxs("section", { className: className, style: {
|
|
217
227
|
display: "flex",
|
|
218
228
|
flexDirection: "column",
|
|
219
229
|
height: "100%",
|
|
220
230
|
minHeight: 0,
|
|
221
231
|
...style,
|
|
222
|
-
}, children: [
|
|
232
|
+
}, children: [cache.conversationId === snapshot.conversationId &&
|
|
233
|
+
cache.source !== "none" &&
|
|
234
|
+
(cache.status === "syncing" || cache.status === "error") ? (_jsx(DismissibleChatAlert, { resetOn: `${cache.status}:${cache.freshness}`, message: cache.status === "error"
|
|
235
|
+
? labels.cacheSyncFailed
|
|
236
|
+
: cache.freshness === "stale"
|
|
237
|
+
? labels.cacheStale
|
|
238
|
+
: labels.cacheSyncing, type: cache.status === "error" ? "warning" : "info", showIcon: true, style: { margin: token.marginXS } }, `cache:${viewResetKey}`)) : null, cache.conversationId === snapshot.conversationId &&
|
|
239
|
+
cache.unavailableAttachments > 0 ? (_jsx(DismissibleChatAlert, { resetOn: String(cache.unavailableAttachments), message: labels.cacheAttachmentUnavailable, type: "warning", showIcon: true, style: { margin: token.marginXS } }, `cache-attachments:${viewResetKey}`)) : null, cache.storageError ? (_jsx(DismissibleChatAlert, { resetOn: "storage-error", message: labels.cacheStorageFailed, type: "warning", showIcon: true, style: { margin: token.marginXS } }, `cache-storage:${viewResetKey}`)) : null, _jsx(ChatRunStatus, { canInterrupt: lifecycleOperable && snapshot.capabilities.interrupt, labels: labels, onInterrupt: interrupt, run: snapshot.run, showInterruptButton: false }, `${viewResetKey}:${snapshot.run?.id ?? "no-run"}`), snapshot.lifecycle === undefined ||
|
|
223
240
|
(snapshot.lifecycle.status === "active" &&
|
|
224
|
-
!activeRecoveryUnverified) ? null : (_jsx(
|
|
241
|
+
!activeRecoveryUnverified) ? null : (_jsx(DismissibleChatAlert, { resetOn: lifecycleDisplayStatus, message: lifecycleDisplayStatus === undefined
|
|
225
242
|
? undefined
|
|
226
243
|
: labels.lifecycleStatus?.[lifecycleDisplayStatus], showIcon: true, style: { margin: token.marginXS }, type: snapshot.lifecycle.status === "auth-required" ||
|
|
227
244
|
snapshot.lifecycle.status === "subscription-failed" ||
|
|
228
245
|
snapshot.lifecycle.status === "offline"
|
|
229
246
|
? "warning"
|
|
230
|
-
: "info" })),
|
|
247
|
+
: "info" }, `lifecycle:${viewResetKey}`)), snapshot.error === undefined ? null : (_jsx(DismissibleChatAlert, { resetOn: snapshot.errorNoticeKey, visible: visibleSnapshotError !== undefined, message: snapshot.error.message, showIcon: true, style: { margin: token.marginXS }, type: "error" }, `snapshot-error:${viewResetKey}`)), visibleCommandFailures.map((failure) => (_jsx(Alert, { closable: true, message: failure.error.message, onClose: () => {
|
|
231
248
|
dismissFailure(failure.command);
|
|
232
249
|
}, showIcon: true, style: { margin: token.marginXS }, type: "error" }, failure.command))), _jsxs("div", { style: {
|
|
233
250
|
alignItems: "center",
|
|
@@ -241,7 +258,15 @@ export const ChatConversationView = ({ className, defaultEventDetailMode = "auto
|
|
|
241
258
|
conversationId,
|
|
242
259
|
snapshot.pendingInteraction.requestId,
|
|
243
260
|
snapshot.pendingInteraction.revision,
|
|
244
|
-
])) })), _jsx(ChatComposer, {
|
|
261
|
+
])) })), _jsx(ChatComposer, { attachmentUploader: snapshot.capabilities.sendAttachments === true
|
|
262
|
+
? attachmentUploader
|
|
263
|
+
: undefined, draft: composer.draft, getDeadlineAt: getDeadlineAt, disabled: !lifecycleOperable ||
|
|
264
|
+
(!snapshot.capabilities.sendText &&
|
|
265
|
+
!(snapshot.capabilities.sendAttachments === true &&
|
|
266
|
+
attachmentUploader !== undefined)), disabledReason: lifecycleOperable &&
|
|
267
|
+
(snapshot.capabilities.sendText ||
|
|
268
|
+
(snapshot.capabilities.sendAttachments === true &&
|
|
269
|
+
attachmentUploader !== undefined))
|
|
245
270
|
? undefined
|
|
246
271
|
: snapshot.lifecycle !== undefined && !lifecycleOperable
|
|
247
272
|
? lifecycleDisplayStatus === undefined
|
|
@@ -255,9 +280,9 @@ export const ChatConversationView = ({ className, defaultEventDetailMode = "auto
|
|
|
255
280
|
onInterrupt: interrupt,
|
|
256
281
|
resetKey: snapshot.run.id,
|
|
257
282
|
}
|
|
258
|
-
: undefined, labels: labels, onSend: sendText, resetKey: viewResetKey }, viewResetKey), _jsx(Modal, { afterOpenChange: (open) => {
|
|
283
|
+
: undefined, labels: labels, onSend: sendText, onDraftChange: composer.setDraft, resetKey: viewResetKey, textInputDisabled: !snapshot.capabilities.sendText }, viewResetKey), _jsx(Modal, { afterOpenChange: (open) => {
|
|
259
284
|
if (!open)
|
|
260
285
|
restoreTriggerFocus();
|
|
261
|
-
}, closeIcon: _jsx("span", { "aria-label": labels.eventDetailClose, role: "img", children: "\u00D7" }), destroyOnClose: true, footer: null, keyboard: true, onCancel: () => setModalOpen(false), open: eventDetailModalVisible, title: labels.eventDetailTitle, children: selectedEvent === undefined ? null : (_jsx(ChatEventDetail, { formatTimestamp: formatTimestamp, item: selectedEvent, onRendererError: onRendererError, renderers: renderers })) })] }));
|
|
286
|
+
}, closeIcon: _jsx("span", { "aria-label": labels.eventDetailClose, role: "img", children: "\u00D7" }), destroyOnClose: true, footer: null, keyboard: true, onCancel: () => setModalOpen(false), open: eventDetailModalVisible, title: labels.eventDetailTitle, children: selectedEvent === undefined ? null : (_jsx(ChatEventDetail, { labels: labels, formatTimestamp: formatTimestamp, item: selectedEvent, onRendererError: onRendererError, renderers: renderers })) })] }));
|
|
262
287
|
};
|
|
263
288
|
//# sourceMappingURL=chat-conversation-view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-conversation-view.js","sourceRoot":"","sources":["../src/chat-conversation-view.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-conversation-view.js","sourceRoot":"","sources":["../src/chat-conversation-view.tsx"],"names":[],"mappings":"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"}
|