@turingfocus/chat-ui-antd 0.1.0 → 0.3.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/chat-composer.d.ts +7 -1
- package/dist/chat-composer.d.ts.map +1 -1
- package/dist/chat-composer.js +38 -3
- package/dist/chat-composer.js.map +1 -1
- package/dist/chat-conversation-view.d.ts +19 -2
- package/dist/chat-conversation-view.d.ts.map +1 -1
- package/dist/chat-conversation-view.js +172 -5
- package/dist/chat-conversation-view.js.map +1 -1
- package/dist/chat-event-detail.d.ts +23 -0
- package/dist/chat-event-detail.d.ts.map +1 -0
- package/dist/chat-event-detail.js +15 -0
- package/dist/chat-event-detail.js.map +1 -0
- package/dist/chat-run-status.d.ts +2 -1
- package/dist/chat-run-status.d.ts.map +1 -1
- package/dist/chat-run-status.js +2 -2
- package/dist/chat-run-status.js.map +1 -1
- package/dist/chat-timeline.d.ts +4 -1
- package/dist/chat-timeline.d.ts.map +1 -1
- package/dist/chat-timeline.js +103 -3
- package/dist/chat-timeline.js.map +1 -1
- package/dist/event-detail-split-layout.d.ts +20 -0
- package/dist/event-detail-split-layout.d.ts.map +1 -0
- package/dist/event-detail-split-layout.js +185 -0
- package/dist/event-detail-split-layout.js.map +1 -0
- package/dist/event-renderers.d.ts +7 -0
- package/dist/event-renderers.d.ts.map +1 -0
- package/dist/event-renderers.js +138 -0
- package/dist/event-renderers.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/labels.d.ts.map +1 -1
- package/dist/labels.js +9 -0
- package/dist/labels.js.map +1 -1
- package/dist/renderer-registry.d.ts +6 -1
- package/dist/renderer-registry.d.ts.map +1 -1
- package/dist/renderer-registry.js +11 -95
- package/dist/renderer-registry.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/chat-timeline.js
CHANGED
|
@@ -3,12 +3,48 @@ import { Button, Empty, Typography, theme } from "antd";
|
|
|
3
3
|
import { memo, useCallback, useEffect, useMemo, useRef, useState, } from "react";
|
|
4
4
|
import { Virtuoso } from "react-virtuoso";
|
|
5
5
|
import { getTimelineItemKey, } from "@turingfocus/chat-protocol";
|
|
6
|
+
import { isChatEventItem } from "./chat-event-detail.js";
|
|
6
7
|
import { resolveChatUiLabels } from "./labels.js";
|
|
7
8
|
import { ChatTimelineItem, createChatRendererRegistry, formatChatTimestampUtc, } from "./renderer-registry.js";
|
|
8
9
|
import { advanceTimelineTailState, createTimelineTailState, } from "./timeline-tail-tracker.js";
|
|
9
10
|
const MemoizedTimelineItem = memo(ChatTimelineItem);
|
|
10
11
|
const followNewOutput = (atBottom) => atBottom ? "auto" : false;
|
|
11
|
-
|
|
12
|
+
const INTERACTIVE_EVENT_TARGET_SELECTOR = [
|
|
13
|
+
"a[href]",
|
|
14
|
+
"button",
|
|
15
|
+
"input",
|
|
16
|
+
"label",
|
|
17
|
+
"select",
|
|
18
|
+
"summary",
|
|
19
|
+
"textarea",
|
|
20
|
+
'[contenteditable]:not([contenteditable="false"])',
|
|
21
|
+
"[data-chat-event-interactive]",
|
|
22
|
+
'[role="button"]',
|
|
23
|
+
'[role="checkbox"]',
|
|
24
|
+
'[role="combobox"]',
|
|
25
|
+
'[role="gridcell"]',
|
|
26
|
+
'[role="link"]',
|
|
27
|
+
'[role="listbox"]',
|
|
28
|
+
'[role="menuitem"]',
|
|
29
|
+
'[role="menuitemcheckbox"]',
|
|
30
|
+
'[role="menuitemradio"]',
|
|
31
|
+
'[role="option"]',
|
|
32
|
+
'[role="radio"]',
|
|
33
|
+
'[role="searchbox"]',
|
|
34
|
+
'[role="slider"]',
|
|
35
|
+
'[role="spinbutton"]',
|
|
36
|
+
'[role="switch"]',
|
|
37
|
+
'[role="tab"]',
|
|
38
|
+
'[role="textbox"]',
|
|
39
|
+
'[role="treeitem"]',
|
|
40
|
+
].join(", ");
|
|
41
|
+
const isInteractiveEventTarget = (target, row) => {
|
|
42
|
+
if (!(target instanceof Element) || target === row)
|
|
43
|
+
return false;
|
|
44
|
+
const interactiveTarget = target.closest(INTERACTIVE_EVENT_TARGET_SELECTOR);
|
|
45
|
+
return interactiveTarget !== null && row.contains(interactiveTarget);
|
|
46
|
+
};
|
|
47
|
+
export const ChatTimeline = ({ "aria-label": ariaLabel, className, conversationId, formatTimestamp = formatChatTimestampUtc, items, labels: labelOverrides, onEventSelect, onRendererError, renderers, selectedEventId, style, }) => {
|
|
12
48
|
const { token } = theme.useToken();
|
|
13
49
|
const labels = resolveChatUiLabels(labelOverrides);
|
|
14
50
|
const registry = useMemo(() => createChatRendererRegistry(renderers), [renderers]);
|
|
@@ -44,10 +80,72 @@ export const ChatTimeline = ({ "aria-label": ariaLabel, className, conversationI
|
|
|
44
80
|
});
|
|
45
81
|
setNewItemCount(0);
|
|
46
82
|
}, [items.length]);
|
|
47
|
-
const renderItem = useCallback((_index, item) =>
|
|
83
|
+
const renderItem = useCallback((_index, item) => {
|
|
84
|
+
if (item === undefined)
|
|
85
|
+
return _jsx("div", { "aria-hidden": "true" });
|
|
86
|
+
const selectable = isChatEventItem(item) && onEventSelect !== undefined;
|
|
87
|
+
const selected = isChatEventItem(item) && item.id === selectedEventId;
|
|
88
|
+
const select = (trigger) => {
|
|
89
|
+
if (!isChatEventItem(item))
|
|
90
|
+
return;
|
|
91
|
+
onEventSelect?.(item, trigger);
|
|
92
|
+
};
|
|
93
|
+
const handleClick = (event) => {
|
|
94
|
+
if (isInteractiveEventTarget(event.target, event.currentTarget))
|
|
95
|
+
return;
|
|
96
|
+
const trigger = event.currentTarget.querySelector("[data-chat-event-trigger]");
|
|
97
|
+
if (trigger !== null)
|
|
98
|
+
select(trigger);
|
|
99
|
+
};
|
|
100
|
+
const handleKeyDown = (event) => {
|
|
101
|
+
if (event.key !== "Enter" && event.key !== " ")
|
|
102
|
+
return;
|
|
103
|
+
event.preventDefault();
|
|
104
|
+
select(event.currentTarget);
|
|
105
|
+
};
|
|
106
|
+
const selectionLabel = isChatEventItem(item)
|
|
107
|
+
? `${labels.openEventDetail}: ${item.kind === "unknown-event" ? item.originalType : item.eventType}`
|
|
108
|
+
: labels.openEventDetail;
|
|
109
|
+
return (_jsxs("div", { ...(selectable
|
|
110
|
+
? {
|
|
111
|
+
"aria-label": selectionLabel,
|
|
112
|
+
onClick: handleClick,
|
|
113
|
+
role: "group",
|
|
114
|
+
}
|
|
115
|
+
: { role: "article" }), style: {
|
|
116
|
+
alignItems: "stretch",
|
|
117
|
+
cursor: selectable ? "pointer" : undefined,
|
|
118
|
+
display: "flex",
|
|
119
|
+
gap: selectable ? token.marginXXS : undefined,
|
|
120
|
+
outlineOffset: 2,
|
|
121
|
+
padding: `${token.paddingXXS}px ${token.paddingSM}px`,
|
|
122
|
+
}, children: [selectable ? (_jsx("button", { "aria-label": selectionLabel, "aria-pressed": selected, "data-chat-event-trigger": item.id, onClick: (event) => {
|
|
123
|
+
event.stopPropagation();
|
|
124
|
+
select(event.currentTarget);
|
|
125
|
+
}, onKeyDown: handleKeyDown, style: {
|
|
126
|
+
background: selected
|
|
127
|
+
? token.colorPrimaryBg
|
|
128
|
+
: token.colorBgContainer,
|
|
129
|
+
border: `1px solid ${selected ? token.colorPrimary : token.colorBorderSecondary}`,
|
|
130
|
+
borderRadius: token.borderRadius,
|
|
131
|
+
color: token.colorPrimary,
|
|
132
|
+
cursor: "pointer",
|
|
133
|
+
minWidth: 28,
|
|
134
|
+
padding: 0,
|
|
135
|
+
}, title: selectionLabel, type: "button", children: _jsx("span", { "aria-hidden": "true", children: "\u203A" }) })) : null, _jsx("div", { style: { flex: 1, minWidth: 0 }, children: _jsx(MemoizedTimelineItem, { displayMode: "timeline", formatTimestamp: formatTimestamp, item: item, onRendererError: onRendererError, registry: registry, selected: selected }) })] }));
|
|
136
|
+
}, [
|
|
48
137
|
formatTimestamp,
|
|
138
|
+
labels.openEventDetail,
|
|
139
|
+
onEventSelect,
|
|
49
140
|
onRendererError,
|
|
50
141
|
registry,
|
|
142
|
+
selectedEventId,
|
|
143
|
+
token.borderRadius,
|
|
144
|
+
token.colorBgContainer,
|
|
145
|
+
token.colorBorderSecondary,
|
|
146
|
+
token.colorPrimary,
|
|
147
|
+
token.colorPrimaryBg,
|
|
148
|
+
token.marginXXS,
|
|
51
149
|
token.paddingSM,
|
|
52
150
|
token.paddingXXS,
|
|
53
151
|
]);
|
|
@@ -67,7 +165,9 @@ export const ChatTimeline = ({ "aria-label": ariaLabel, className, conversationI
|
|
|
67
165
|
overflow: "hidden",
|
|
68
166
|
position: "relative",
|
|
69
167
|
...style,
|
|
70
|
-
}, children: [_jsx(Virtuoso, { ref: virtuosoRef, "aria-label": ariaLabel ?? labels.timelineLabel, atBottomStateChange: handleAtBottomChange, atBottomThreshold: 150, computeItemKey: (
|
|
168
|
+
}, children: [_jsx(Virtuoso, { ref: virtuosoRef, "aria-label": ariaLabel ?? labels.timelineLabel, atBottomStateChange: handleAtBottomChange, atBottomThreshold: 150, computeItemKey: (index, item) => item === undefined
|
|
169
|
+
? `timeline:${conversationId}:pending:${index}`
|
|
170
|
+
: getTimelineItemKey(item), data: items, followOutput: followNewOutput, increaseViewportBy: { bottom: 400, top: 200 }, initialItemCount: Math.min(items.length, 20), initialTopMostItemIndex: Math.max(0, items.length - Math.min(items.length, 20)), itemContent: renderItem, overscan: { main: 300, reverse: 200 }, role: "log", style: { height: "100%" } }, conversationId), newItemCount === 0 ? null : (_jsx(Button, { onClick: jumpToLatest, size: "small", style: {
|
|
71
171
|
bottom: token.marginSM,
|
|
72
172
|
boxShadow: token.boxShadowSecondary,
|
|
73
173
|
left: "50%",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-timeline.js","sourceRoot":"","sources":["../src/chat-timeline.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,
|
|
1
|
+
{"version":3,"file":"chat-timeline.js","sourceRoot":"","sources":["../src/chat-timeline.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export declare const DEFAULT_EVENT_DETAIL_SPLIT_RATIO = 0.56;
|
|
3
|
+
export declare const MIN_EVENT_DETAIL_SPLIT_RATIO = 0.2;
|
|
4
|
+
export declare const MAX_EVENT_DETAIL_SPLIT_RATIO = 0.8;
|
|
5
|
+
export declare const normalizeEventDetailSplitRatio: (value: number | undefined, fallback?: number) => number;
|
|
6
|
+
export interface EventDetailSplitLayoutProps {
|
|
7
|
+
readonly ariaLabel: string;
|
|
8
|
+
readonly detail: ReactNode;
|
|
9
|
+
readonly onRatioChange?: ((ratio: number) => void) | undefined;
|
|
10
|
+
readonly ratio: number;
|
|
11
|
+
readonly resizable?: boolean | undefined;
|
|
12
|
+
readonly split: boolean;
|
|
13
|
+
readonly timeline: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Internal split layout. Pointer movement remains local so resizing does not
|
|
17
|
+
* force the conversation view or its virtualized timeline to rerender.
|
|
18
|
+
*/
|
|
19
|
+
export declare const EventDetailSplitLayout: ({ ariaLabel, detail, onRatioChange, ratio, resizable, split, timeline, }: EventDetailSplitLayoutProps) => import("react").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=event-detail-split-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-detail-split-layout.d.ts","sourceRoot":"","sources":["../src/event-detail-split-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,eAAO,MAAM,gCAAgC,OAAO,CAAC;AACrD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAKhD,eAAO,MAAM,8BAA8B,GACzC,OAAO,MAAM,GAAG,SAAS,EACzB,iBAA2C,KAC1C,MAgBF,CAAC;AAQF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B;AAaD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,0EAQpC,2BAA2B,gCA6O7B,CAAC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState, } from "react";
|
|
3
|
+
import { theme } from "antd";
|
|
4
|
+
export const DEFAULT_EVENT_DETAIL_SPLIT_RATIO = 0.56;
|
|
5
|
+
export const MIN_EVENT_DETAIL_SPLIT_RATIO = 0.2;
|
|
6
|
+
export const MAX_EVENT_DETAIL_SPLIT_RATIO = 0.8;
|
|
7
|
+
const EVENT_DETAIL_SPLIT_KEYBOARD_STEP = 0.02;
|
|
8
|
+
const EVENT_DETAIL_SPLIT_RATIO_PRECISION = 10_000;
|
|
9
|
+
export const normalizeEventDetailSplitRatio = (value, fallback = DEFAULT_EVENT_DETAIL_SPLIT_RATIO) => {
|
|
10
|
+
const finiteFallback = Number.isFinite(fallback)
|
|
11
|
+
? fallback
|
|
12
|
+
: DEFAULT_EVENT_DETAIL_SPLIT_RATIO;
|
|
13
|
+
const candidate = typeof value === "number" && Number.isFinite(value)
|
|
14
|
+
? value
|
|
15
|
+
: finiteFallback;
|
|
16
|
+
return (Math.round(Math.min(MAX_EVENT_DETAIL_SPLIT_RATIO, Math.max(MIN_EVENT_DETAIL_SPLIT_RATIO, candidate)) * EVENT_DETAIL_SPLIT_RATIO_PRECISION) / EVENT_DETAIL_SPLIT_RATIO_PRECISION);
|
|
17
|
+
};
|
|
18
|
+
const ratioFromClientX = (clientX, resize) => {
|
|
19
|
+
const offset = resize.direction === "rtl"
|
|
20
|
+
? resize.rect.right - clientX
|
|
21
|
+
: clientX - resize.rect.left;
|
|
22
|
+
return normalizeEventDetailSplitRatio(offset / resize.rect.width);
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Internal split layout. Pointer movement remains local so resizing does not
|
|
26
|
+
* force the conversation view or its virtualized timeline to rerender.
|
|
27
|
+
*/
|
|
28
|
+
export const EventDetailSplitLayout = ({ ariaLabel, detail, onRatioChange, ratio, resizable = true, split, timeline, }) => {
|
|
29
|
+
const { token } = theme.useToken();
|
|
30
|
+
const layoutRef = useRef(null);
|
|
31
|
+
const activePointerRef = useRef(null);
|
|
32
|
+
const [dragRatio, setDragRatio] = useState(null);
|
|
33
|
+
const [focused, setFocused] = useState(false);
|
|
34
|
+
const [dragging, setDragging] = useState(false);
|
|
35
|
+
const committedRatio = normalizeEventDetailSplitRatio(ratio);
|
|
36
|
+
const renderedRatio = dragRatio ?? committedRatio;
|
|
37
|
+
const commitRatio = useCallback((nextValue) => {
|
|
38
|
+
const nextRatio = normalizeEventDetailSplitRatio(nextValue);
|
|
39
|
+
if (nextRatio !== committedRatio)
|
|
40
|
+
onRatioChange?.(nextRatio);
|
|
41
|
+
setDragRatio(null);
|
|
42
|
+
}, [committedRatio, onRatioChange]);
|
|
43
|
+
const clearPointerResize = useCallback(() => {
|
|
44
|
+
activePointerRef.current = null;
|
|
45
|
+
setDragging(false);
|
|
46
|
+
}, []);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (split)
|
|
49
|
+
return;
|
|
50
|
+
clearPointerResize();
|
|
51
|
+
setDragRatio(null);
|
|
52
|
+
}, [clearPointerResize, split]);
|
|
53
|
+
const handlePointerDown = useCallback((event) => {
|
|
54
|
+
const layout = layoutRef.current;
|
|
55
|
+
if (!resizable || event.button !== 0 || layout === null)
|
|
56
|
+
return;
|
|
57
|
+
const rect = layout.getBoundingClientRect();
|
|
58
|
+
if (!Number.isFinite(rect.width) || rect.width <= 0)
|
|
59
|
+
return;
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
activePointerRef.current = {
|
|
62
|
+
direction: globalThis.getComputedStyle(layout).direction === "rtl"
|
|
63
|
+
? "rtl"
|
|
64
|
+
: "ltr",
|
|
65
|
+
pointerId: event.pointerId,
|
|
66
|
+
rect,
|
|
67
|
+
};
|
|
68
|
+
setDragRatio(committedRatio);
|
|
69
|
+
setDragging(true);
|
|
70
|
+
event.currentTarget.setPointerCapture?.(event.pointerId);
|
|
71
|
+
}, [committedRatio, resizable]);
|
|
72
|
+
const handlePointerMove = useCallback((event) => {
|
|
73
|
+
const resize = activePointerRef.current;
|
|
74
|
+
if (resize === null || resize.pointerId !== event.pointerId)
|
|
75
|
+
return;
|
|
76
|
+
event.preventDefault();
|
|
77
|
+
setDragRatio(ratioFromClientX(event.clientX, resize));
|
|
78
|
+
}, []);
|
|
79
|
+
const handlePointerUp = useCallback((event) => {
|
|
80
|
+
const resize = activePointerRef.current;
|
|
81
|
+
if (resize === null || resize.pointerId !== event.pointerId)
|
|
82
|
+
return;
|
|
83
|
+
event.preventDefault();
|
|
84
|
+
const nextRatio = ratioFromClientX(event.clientX, resize);
|
|
85
|
+
clearPointerResize();
|
|
86
|
+
event.currentTarget.releasePointerCapture?.(event.pointerId);
|
|
87
|
+
commitRatio(nextRatio);
|
|
88
|
+
}, [clearPointerResize, commitRatio]);
|
|
89
|
+
const cancelPointerResize = useCallback((event) => {
|
|
90
|
+
const resize = activePointerRef.current;
|
|
91
|
+
if (resize === null ||
|
|
92
|
+
(event !== undefined && resize.pointerId !== event.pointerId)) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
clearPointerResize();
|
|
96
|
+
if (event !== undefined) {
|
|
97
|
+
event.currentTarget.releasePointerCapture?.(event.pointerId);
|
|
98
|
+
}
|
|
99
|
+
setDragRatio(null);
|
|
100
|
+
}, [clearPointerResize]);
|
|
101
|
+
const handleKeyDown = useCallback((event) => {
|
|
102
|
+
if (!resizable)
|
|
103
|
+
return;
|
|
104
|
+
const direction = layoutRef.current !== null &&
|
|
105
|
+
globalThis.getComputedStyle(layoutRef.current).direction === "rtl"
|
|
106
|
+
? "rtl"
|
|
107
|
+
: "ltr";
|
|
108
|
+
let nextRatio;
|
|
109
|
+
switch (event.key) {
|
|
110
|
+
case "ArrowLeft":
|
|
111
|
+
nextRatio =
|
|
112
|
+
committedRatio +
|
|
113
|
+
(direction === "rtl"
|
|
114
|
+
? EVENT_DETAIL_SPLIT_KEYBOARD_STEP
|
|
115
|
+
: -EVENT_DETAIL_SPLIT_KEYBOARD_STEP);
|
|
116
|
+
break;
|
|
117
|
+
case "ArrowRight":
|
|
118
|
+
nextRatio =
|
|
119
|
+
committedRatio +
|
|
120
|
+
(direction === "rtl"
|
|
121
|
+
? -EVENT_DETAIL_SPLIT_KEYBOARD_STEP
|
|
122
|
+
: EVENT_DETAIL_SPLIT_KEYBOARD_STEP);
|
|
123
|
+
break;
|
|
124
|
+
case "Home":
|
|
125
|
+
nextRatio = MIN_EVENT_DETAIL_SPLIT_RATIO;
|
|
126
|
+
break;
|
|
127
|
+
case "End":
|
|
128
|
+
nextRatio = MAX_EVENT_DETAIL_SPLIT_RATIO;
|
|
129
|
+
break;
|
|
130
|
+
default:
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
event.preventDefault();
|
|
134
|
+
commitRatio(nextRatio);
|
|
135
|
+
}, [commitRatio, committedRatio, resizable]);
|
|
136
|
+
const active = dragging || focused;
|
|
137
|
+
const ratioPercent = Math.round(renderedRatio * 100);
|
|
138
|
+
return (_jsxs("div", { "data-chat-event-split-ratio": renderedRatio, ref: layoutRef, style: {
|
|
139
|
+
display: "flex",
|
|
140
|
+
height: "100%",
|
|
141
|
+
minHeight: 0,
|
|
142
|
+
minWidth: 0,
|
|
143
|
+
position: "relative",
|
|
144
|
+
width: "100%",
|
|
145
|
+
}, children: [_jsx("div", { style: {
|
|
146
|
+
boxSizing: "border-box",
|
|
147
|
+
flex: `0 0 ${split ? renderedRatio * 100 : 100}%`,
|
|
148
|
+
minHeight: 0,
|
|
149
|
+
minWidth: 0,
|
|
150
|
+
}, children: timeline }), split ? (_jsxs(_Fragment, { children: [_jsx("div", { "aria-disabled": !resizable || undefined, "aria-label": ariaLabel, "aria-orientation": "vertical", "aria-valuemax": MAX_EVENT_DETAIL_SPLIT_RATIO * 100, "aria-valuemin": MIN_EVENT_DETAIL_SPLIT_RATIO * 100, "aria-valuenow": ratioPercent, "aria-valuetext": `${ratioPercent}%`, "data-chat-event-split-handle": "", onBlur: () => setFocused(false), onFocus: () => setFocused(true), onKeyDown: handleKeyDown, onLostPointerCapture: () => cancelPointerResize(), onPointerCancel: cancelPointerResize, onPointerDown: handlePointerDown, onPointerMove: handlePointerMove, onPointerUp: handlePointerUp, role: "separator", style: {
|
|
151
|
+
alignSelf: "stretch",
|
|
152
|
+
background: active
|
|
153
|
+
? token.colorPrimary
|
|
154
|
+
: token.colorBorderSecondary,
|
|
155
|
+
boxShadow: focused
|
|
156
|
+
? `0 0 0 ${token.lineWidthFocus}px ${token.colorPrimaryBorder}`
|
|
157
|
+
: undefined,
|
|
158
|
+
cursor: resizable ? "col-resize" : "default",
|
|
159
|
+
flex: "0 0 1px",
|
|
160
|
+
marginInline: -0.5,
|
|
161
|
+
outline: "none",
|
|
162
|
+
position: "relative",
|
|
163
|
+
touchAction: "none",
|
|
164
|
+
userSelect: "none",
|
|
165
|
+
zIndex: 2,
|
|
166
|
+
}, tabIndex: resizable ? 0 : -1, children: _jsx("span", { "aria-hidden": "true", style: {
|
|
167
|
+
cursor: resizable ? "col-resize" : "default",
|
|
168
|
+
insetBlock: 0,
|
|
169
|
+
insetInlineStart: "50%",
|
|
170
|
+
position: "absolute",
|
|
171
|
+
transform: "translateX(-50%)",
|
|
172
|
+
width: 12,
|
|
173
|
+
} }) }), _jsx("div", { style: {
|
|
174
|
+
flex: "1 1 0",
|
|
175
|
+
minHeight: 0,
|
|
176
|
+
minWidth: 0,
|
|
177
|
+
overflow: "auto",
|
|
178
|
+
}, children: detail })] })) : null, dragging && split ? (_jsx("div", { "aria-hidden": "true", style: {
|
|
179
|
+
cursor: "col-resize",
|
|
180
|
+
inset: 0,
|
|
181
|
+
position: "fixed",
|
|
182
|
+
zIndex: token.zIndexPopupBase,
|
|
183
|
+
} })) : null] }));
|
|
184
|
+
};
|
|
185
|
+
//# sourceMappingURL=event-detail-split-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-detail-split-layout.js","sourceRoot":"","sources":["../src/event-detail-split-layout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TimelineItem } from "@turingfocus/chat-protocol";
|
|
2
|
+
import type { ChatRendererProps } from "./renderer-registry.js";
|
|
3
|
+
export declare const getEventSummary: (item: TimelineItem) => string;
|
|
4
|
+
export declare const AgentEventRenderer: ({ displayMode, formatTimestamp, item, selected, }: ChatRendererProps) => import("react").JSX.Element | null;
|
|
5
|
+
export declare const ToolEventRenderer: ({ displayMode, formatTimestamp, item, selected, }: ChatRendererProps) => import("react").JSX.Element | null;
|
|
6
|
+
export declare const UnknownEventRenderer: ({ displayMode, formatTimestamp, item, selected, }: ChatRendererProps) => import("react").JSX.Element | null;
|
|
7
|
+
//# sourceMappingURL=event-renderers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-renderers.d.ts","sourceRoot":"","sources":["../src/event-renderers.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,YAAY,EAIb,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAqBhE,eAAO,MAAM,eAAe,GAAI,MAAM,YAAY,KAAG,MAYpD,CAAC;AAqSF,eAAO,MAAM,kBAAkB,GAAI,mDAKhC,iBAAiB,uCAYnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,mDAK/B,iBAAiB,uCA8BnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,mDAKlC,iBAAiB,uCA+BnB,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Alert, Card, Space, Tabs, Tag, Typography, theme } from "antd";
|
|
3
|
+
import { AskUserInteractionResultView } from "./ask-user-interaction.js";
|
|
4
|
+
const TOOL_RESULT_CHARACTER_LIMIT = 4_000;
|
|
5
|
+
const statusColor = (status) => status === "success"
|
|
6
|
+
? "success"
|
|
7
|
+
: status === "failed" || status === "timeout"
|
|
8
|
+
? "error"
|
|
9
|
+
: status === "running"
|
|
10
|
+
? "processing"
|
|
11
|
+
: "default";
|
|
12
|
+
const isFailedStatus = (status) => status === "failed" || status === "timeout";
|
|
13
|
+
const getEventTitle = (item) => item.kind === "unknown-event" ? item.originalType : item.eventType;
|
|
14
|
+
export const getEventSummary = (item) => {
|
|
15
|
+
if (item.kind === "message") {
|
|
16
|
+
return item.content.kind === "text"
|
|
17
|
+
? item.content.text
|
|
18
|
+
: item.content.summary;
|
|
19
|
+
}
|
|
20
|
+
if (item.kind === "unknown-event")
|
|
21
|
+
return item.summary;
|
|
22
|
+
return (item.summary ??
|
|
23
|
+
item.transitions.at(-1)?.summary ??
|
|
24
|
+
`${item.eventType} (${item.status})`);
|
|
25
|
+
};
|
|
26
|
+
const formatBoundedValue = (value) => {
|
|
27
|
+
let serialized;
|
|
28
|
+
try {
|
|
29
|
+
serialized =
|
|
30
|
+
typeof value === "string" ? value : JSON.stringify(value, null, 2);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
serialized = "[Value could not be serialized]";
|
|
34
|
+
}
|
|
35
|
+
if (serialized.length <= TOOL_RESULT_CHARACTER_LIMIT)
|
|
36
|
+
return serialized;
|
|
37
|
+
return `${serialized.slice(0, TOOL_RESULT_CHARACTER_LIMIT)}\n[Result truncated]`;
|
|
38
|
+
};
|
|
39
|
+
const EventCompactRow = ({ failed: failedOverride, formatTimestamp, item, selected = false, status: statusOverride, }) => {
|
|
40
|
+
const { token } = theme.useToken();
|
|
41
|
+
const status = statusOverride ?? (item.kind === "unknown-event" ? "unknown" : item.status);
|
|
42
|
+
const failed = failedOverride ??
|
|
43
|
+
(item.kind === "unknown-event" ? false : isFailedStatus(item.status));
|
|
44
|
+
return (_jsxs("div", { "data-chat-event-row": "", "data-selected": selected ? "true" : "false", style: {
|
|
45
|
+
alignItems: "center",
|
|
46
|
+
background: selected ? token.colorPrimaryBg : token.colorFillQuaternary,
|
|
47
|
+
border: `1px solid ${failed
|
|
48
|
+
? token.colorError
|
|
49
|
+
: selected
|
|
50
|
+
? token.colorPrimary
|
|
51
|
+
: token.colorBorderSecondary}`,
|
|
52
|
+
borderRadius: token.borderRadiusLG,
|
|
53
|
+
display: "flex",
|
|
54
|
+
gap: token.marginXS,
|
|
55
|
+
minHeight: 42,
|
|
56
|
+
padding: `${token.paddingXXS}px ${token.paddingSM}px`,
|
|
57
|
+
}, children: [_jsx(Typography.Text, { "aria-hidden": "true", style: { color: failed ? token.colorError : token.colorPrimary }, children: "\u25CF" }), _jsx(Typography.Text, { ellipsis: { tooltip: getEventSummary(item) }, style: { flex: 1, minWidth: 0 }, children: getEventSummary(item) }), _jsx(Tag, { bordered: false, color: statusColor(status), children: status }), _jsx(Typography.Text, { style: { flexShrink: 0, fontSize: token.fontSizeSM }, type: "secondary", children: formatTimestamp(item.createdAt) })] }));
|
|
58
|
+
};
|
|
59
|
+
const TransitionContent = ({ transition, }) => (_jsxs(Space, { direction: "vertical", size: "small", style: { width: "100%" }, children: [transition.error === undefined ? null : (_jsx(Alert, { message: transition.error.message, showIcon: true, type: "error" })), _jsx(Typography.Paragraph, { style: { margin: 0, whiteSpace: "pre-wrap" }, children: transition.summary ?? `Transition ${transition.status}` })] }));
|
|
60
|
+
const transitionTabs = (transitions, formatTimestamp, renderTransition) => (_jsx(Tabs, { defaultActiveKey: transitions[transitions.length - 1].id, items: transitions.map((transition) => ({
|
|
61
|
+
children: renderTransition(transition),
|
|
62
|
+
key: transition.id,
|
|
63
|
+
label: `${transition.status} · ${formatTimestamp(transition.occurredAt)}`,
|
|
64
|
+
})), size: "small", type: "card" }));
|
|
65
|
+
const AgentEventDetail = ({ formatTimestamp, item, }) => {
|
|
66
|
+
const failed = isFailedStatus(item.status);
|
|
67
|
+
return (_jsx(Card, { "data-chat-event-detail": "", extra: _jsx(Tag, { color: statusColor(item.status), children: item.status }), size: "small", title: item.eventType, children: _jsxs(Space, { direction: "vertical", size: "small", style: { width: "100%" }, children: [failed ? (_jsx(Alert, { message: item.transitions.at(-1)?.error?.message ??
|
|
68
|
+
item.summary ??
|
|
69
|
+
"Event failed", showIcon: true, type: "error" })) : null, item.summary === undefined ? null : (_jsx(Typography.Paragraph, { style: { margin: 0, whiteSpace: "pre-wrap" }, children: item.summary })), item.transitions.length > 1 ? (transitionTabs(item.transitions, formatTimestamp, (transition) => (_jsx(TransitionContent, { transition: transition })))) : (_jsx(TransitionContent, { transition: item.transitions[0] })), _jsx(Typography.Text, { type: "secondary", children: formatTimestamp(item.createdAt) })] }) }));
|
|
70
|
+
};
|
|
71
|
+
const latestToolField = (item, select) => {
|
|
72
|
+
for (let index = item.transitions.length - 1; index >= 0; index -= 1) {
|
|
73
|
+
const value = select(item.transitions[index]);
|
|
74
|
+
if (value !== undefined)
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
78
|
+
};
|
|
79
|
+
const ToolTransitionContent = ({ transition, }) => (_jsxs(Space, { direction: "vertical", size: "small", style: { width: "100%" }, children: [transition.error === undefined ? null : (_jsx(Alert, { message: transition.error.message, showIcon: true, type: "error" })), transition.summary === undefined ? null : (_jsx(Typography.Paragraph, { style: { margin: 0, whiteSpace: "pre-wrap" }, children: transition.summary })), transition.toolCall === undefined ? null : (_jsxs(_Fragment, { children: [_jsx(Typography.Text, { strong: true, children: transition.toolCall.name }), transition.toolCall.arguments === undefined ? null : (_jsx(Typography.Paragraph, { code: true, style: { margin: 0, whiteSpace: "pre-wrap" }, children: formatBoundedValue(transition.toolCall.arguments) }))] })), transition.toolReturn?.result === undefined ? null : (_jsx(Typography.Paragraph, { code: true, style: { margin: 0, overflowWrap: "anywhere", whiteSpace: "pre-wrap" }, children: formatBoundedValue(transition.toolReturn.result) })), transition.toolReturn === undefined ||
|
|
80
|
+
(transition.toolReturn.success === undefined &&
|
|
81
|
+
transition.toolReturn.done === undefined) ? null : (_jsx(Typography.Text, { type: "secondary", children: [
|
|
82
|
+
transition.toolReturn.success === undefined
|
|
83
|
+
? undefined
|
|
84
|
+
: `success: ${String(transition.toolReturn.success)}`,
|
|
85
|
+
transition.toolReturn.done === undefined
|
|
86
|
+
? undefined
|
|
87
|
+
: `done: ${String(transition.toolReturn.done)}`,
|
|
88
|
+
]
|
|
89
|
+
.filter((value) => value !== undefined)
|
|
90
|
+
.join(" · ") })), transition.interaction === undefined ? null : (_jsx(AskUserInteractionResultView, { result: transition.interaction }))] }));
|
|
91
|
+
const ToolEventDetail = ({ formatTimestamp, item, }) => {
|
|
92
|
+
const latestCall = latestToolField(item, (transition) => transition.toolCall);
|
|
93
|
+
const latestReturn = latestToolField(item, (transition) => transition.toolReturn);
|
|
94
|
+
const latestInteraction = latestToolField(item, (transition) => transition.interaction);
|
|
95
|
+
const failed = isFailedStatus(item.status) ||
|
|
96
|
+
latestReturn?.success === false ||
|
|
97
|
+
latestInteraction?.status === "failed" ||
|
|
98
|
+
latestInteraction?.status === "timeout";
|
|
99
|
+
const displayStatus = latestInteraction?.status ??
|
|
100
|
+
(latestReturn?.success === false ? "failed" : item.status);
|
|
101
|
+
return (_jsx(Card, { "data-chat-event-detail": "", extra: _jsx(Tag, { color: failed ? "error" : statusColor(displayStatus), children: displayStatus }), size: "small", title: latestCall?.name ?? item.eventType, children: _jsxs(Space, { direction: "vertical", size: "small", style: { width: "100%" }, children: [failed ? (_jsx(Alert, { message: latestInteraction?.error ??
|
|
102
|
+
item.transitions.at(-1)?.error?.message ??
|
|
103
|
+
item.summary ??
|
|
104
|
+
"Tool failed", showIcon: true, type: "error" })) : null, item.transitions.length > 1 ? (transitionTabs(item.transitions, formatTimestamp, (transition) => (_jsx(ToolTransitionContent, { transition: transition })))) : (_jsx(ToolTransitionContent, { transition: item.transitions[0] })), _jsx(Typography.Text, { type: "secondary", children: formatTimestamp(item.createdAt) })] }) }));
|
|
105
|
+
};
|
|
106
|
+
export const AgentEventRenderer = ({ displayMode = "detail", formatTimestamp, item, selected, }) => {
|
|
107
|
+
if (item.kind !== "agent-event")
|
|
108
|
+
return null;
|
|
109
|
+
if (displayMode === "timeline") {
|
|
110
|
+
return (_jsx(EventCompactRow, { formatTimestamp: formatTimestamp, item: item, selected: selected }));
|
|
111
|
+
}
|
|
112
|
+
return _jsx(AgentEventDetail, { formatTimestamp: formatTimestamp, item: item });
|
|
113
|
+
};
|
|
114
|
+
export const ToolEventRenderer = ({ displayMode = "detail", formatTimestamp, item, selected, }) => {
|
|
115
|
+
if (item.kind !== "agent-event" || item.eventCategory !== "tool")
|
|
116
|
+
return null;
|
|
117
|
+
if (displayMode === "timeline") {
|
|
118
|
+
const toolReturn = latestToolField(item, (transition) => transition.toolReturn);
|
|
119
|
+
const interaction = latestToolField(item, (transition) => transition.interaction);
|
|
120
|
+
const failed = isFailedStatus(item.status) ||
|
|
121
|
+
toolReturn?.success === false ||
|
|
122
|
+
interaction?.status === "failed" ||
|
|
123
|
+
interaction?.status === "timeout";
|
|
124
|
+
const displayStatus = interaction?.status ??
|
|
125
|
+
(toolReturn?.success === false ? "failed" : item.status);
|
|
126
|
+
return (_jsx(EventCompactRow, { failed: failed, formatTimestamp: formatTimestamp, item: item, selected: selected, status: displayStatus }));
|
|
127
|
+
}
|
|
128
|
+
return _jsx(ToolEventDetail, { formatTimestamp: formatTimestamp, item: item });
|
|
129
|
+
};
|
|
130
|
+
export const UnknownEventRenderer = ({ displayMode = "detail", formatTimestamp, item, selected, }) => {
|
|
131
|
+
if (item.kind !== "unknown-event")
|
|
132
|
+
return null;
|
|
133
|
+
if (displayMode === "timeline") {
|
|
134
|
+
return (_jsx(EventCompactRow, { formatTimestamp: formatTimestamp, item: item, selected: selected }));
|
|
135
|
+
}
|
|
136
|
+
return (_jsx(Alert, { "data-chat-event-detail": "", description: _jsxs(_Fragment, { children: [_jsx(Typography.Paragraph, { style: { marginBottom: 4, whiteSpace: "pre-wrap" }, children: item.summary }), _jsx(Typography.Text, { type: "secondary", children: formatTimestamp(item.createdAt) })] }), message: `Unknown event: ${getEventTitle(item)}`, showIcon: true, type: "warning" }));
|
|
137
|
+
};
|
|
138
|
+
//# sourceMappingURL=event-renderers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-renderers.js","sourceRoot":"","sources":["../src/event-renderers.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { ChatComposer, type ChatComposerProps } from "./chat-composer.js";
|
|
1
|
+
export { ChatComposer, type ChatComposerInterruptAction, type ChatComposerProps, } from "./chat-composer.js";
|
|
2
|
+
export { ChatEventDetail, ChatEventDetailEmpty, isChatEventItem, type ChatEventDetailMode, type ChatEventDetailProps, type ChatEventItem, type ResolvedChatEventDetailMode, } from "./chat-event-detail.js";
|
|
2
3
|
export { AskUserInteractionCard, AskUserInteractionResultView, type AskUserChatAboutThisRequest, type AskUserInteractionCardProps, type AskUserInteractionResultViewProps, } from "./ask-user-interaction.js";
|
|
3
4
|
export { ChatConversationView, type ChatConversationViewProps, type ChatUiCommand, type ChatUiCommandFailure, } from "./chat-conversation-view.js";
|
|
4
5
|
export { ChatConversationList, type ChatConversationListProps, type ConversationListError, } from "./conversation-list.js";
|
|
@@ -7,7 +8,7 @@ export { ChatStateView, type ChatStateViewProps } from "./chat-state-view.js";
|
|
|
7
8
|
export { ChatTimeline, type ChatTimelineProps } from "./chat-timeline.js";
|
|
8
9
|
export { ChatUiShell, type ChatUiShellProps } from "./chat-ui-shell.js";
|
|
9
10
|
export { defaultChatUiLabels, resolveChatUiLabels } from "./labels.js";
|
|
10
|
-
export { ChatMessageContent, ChatTimelineItem, createChatRendererRegistry, defaultChatRendererRegistry, formatChatTimestampUtc, resolveChatRenderer, type ChatRenderer, type ChatRendererFailure, type ChatRendererKey, type ChatRendererProps, type ChatRendererRegistry, type ChatMessageContentProps, type ChatTimelineItemProps, } from "./renderer-registry.js";
|
|
11
|
+
export { ChatMessageContent, ChatTimelineItem, createChatRendererRegistry, defaultChatRendererRegistry, formatChatTimestampUtc, resolveChatRenderer, type ChatRenderer, type ChatRendererDisplayMode, type ChatRendererFailure, type ChatRendererKey, type ChatRendererProps, type ChatRendererRegistry, type ChatMessageContentProps, type ChatTimelineItemProps, } from "./renderer-registry.js";
|
|
11
12
|
export { ChatMarkdownContent, type ChatMarkdownContentProps, } from "./markdown-content.js";
|
|
12
13
|
export type { ChatContentState, ChatConversationListItem, ChatUiLabelOverrides, ChatUiLabels, ChatUiSlotStyles, } from "./types.js";
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,2BAA2B,GACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,GACvC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { ChatComposer } from "./chat-composer.js";
|
|
1
|
+
export { ChatComposer, } from "./chat-composer.js";
|
|
2
|
+
export { ChatEventDetail, ChatEventDetailEmpty, isChatEventItem, } from "./chat-event-detail.js";
|
|
2
3
|
export { AskUserInteractionCard, AskUserInteractionResultView, } from "./ask-user-interaction.js";
|
|
3
4
|
export { ChatConversationView, } from "./chat-conversation-view.js";
|
|
4
5
|
export { ChatConversationList, } from "./conversation-list.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,GAKhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,GAI7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,GAIrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,GAGrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAA2B,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAA2B,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAA0B,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAyB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,GASpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,GAEpB,MAAM,uBAAuB,CAAC"}
|
package/dist/labels.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../src/labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErE,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../src/labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErE,eAAO,MAAM,mBAAmB,EAAE,YA8ChC,CAAC;AAEH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,oBAAoB,GAAG,SAAS,KAC1C,YAA0D,CAAC"}
|