@bitbaum/chatkit 0.17.1 → 0.18.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.
Files changed (46) hide show
  1. package/README.md +152 -0
  2. package/dist/conversations.d.ts +99 -0
  3. package/dist/conversations.d.ts.map +1 -0
  4. package/dist/conversations.js +146 -0
  5. package/dist/conversations.js.map +1 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/react/ChatApp.d.ts +123 -0
  11. package/dist/react/ChatApp.d.ts.map +1 -0
  12. package/dist/react/ChatApp.js +215 -0
  13. package/dist/react/ChatApp.js.map +1 -0
  14. package/dist/react/ChatHistory.d.ts +28 -0
  15. package/dist/react/ChatHistory.d.ts.map +1 -0
  16. package/dist/react/ChatHistory.js +58 -0
  17. package/dist/react/ChatHistory.js.map +1 -0
  18. package/dist/react/Composer.d.ts +4 -1
  19. package/dist/react/Composer.d.ts.map +1 -1
  20. package/dist/react/Composer.js +3 -3
  21. package/dist/react/Composer.js.map +1 -1
  22. package/dist/react/Thread.d.ts +4 -0
  23. package/dist/react/Thread.d.ts.map +1 -1
  24. package/dist/react/Thread.js +2 -2
  25. package/dist/react/Thread.js.map +1 -1
  26. package/dist/react/hooks.d.ts.map +1 -1
  27. package/dist/react/hooks.js +11 -0
  28. package/dist/react/hooks.js.map +1 -1
  29. package/dist/react/icons.d.ts +7 -0
  30. package/dist/react/icons.d.ts.map +1 -1
  31. package/dist/react/icons.js +8 -0
  32. package/dist/react/icons.js.map +1 -1
  33. package/dist/react/index.d.ts +6 -0
  34. package/dist/react/index.d.ts.map +1 -1
  35. package/dist/react/index.js +3 -0
  36. package/dist/react/index.js.map +1 -1
  37. package/dist/react/use-chat-app.d.ts +81 -0
  38. package/dist/react/use-chat-app.d.ts.map +1 -0
  39. package/dist/react/use-chat-app.js +380 -0
  40. package/dist/react/use-chat-app.js.map +1 -0
  41. package/dist/stores.d.ts +63 -0
  42. package/dist/stores.d.ts.map +1 -0
  43. package/dist/stores.js +291 -0
  44. package/dist/stores.js.map +1 -0
  45. package/package.json +3 -3
  46. package/styles.css +409 -0
@@ -0,0 +1,215 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useEffect, useMemo, useRef, useState } from "react";
4
+ import { localConversationStore } from "../stores.js";
5
+ import { ChatScreen } from "./Screen.js";
6
+ import { ChatStarters, ChatThread, } from "./Thread.js";
7
+ import { Composer } from "./Composer.js";
8
+ import { ChatHistory } from "./ChatHistory.js";
9
+ import { useViewportHeight } from "./hooks.js";
10
+ import { IconGhost, IconMenu, IconMore, IconNewChat, IconX } from "./icons.js";
11
+ import { useChatApp } from "./use-chat-app.js";
12
+ export const DEFAULT_CHAT_APP_LABELS = {
13
+ chats: "Chats",
14
+ openChats: "Open your chats",
15
+ closeChats: "Close chats",
16
+ newChat: "New chat",
17
+ untitled: "New chat",
18
+ more: "More for this chat",
19
+ temporary: "Temporary chat",
20
+ temporaryNote: "Not saved. Gone when you leave it.",
21
+ share: "Share this chat",
22
+ rename: "Rename",
23
+ renameField: "Name of this chat",
24
+ delete: "Delete",
25
+ deleteAsk: (title) => `Delete “${title}”?`,
26
+ save: "Save",
27
+ cancel: "Cancel",
28
+ search: "Search chats",
29
+ today: "Today",
30
+ yesterday: "Yesterday",
31
+ earlier: "Earlier",
32
+ noChats: "No chats yet. What you ask is kept here.",
33
+ noMatch: (q) => `No chat is called “${q}”.`,
34
+ loadingChats: "Loading your chats…",
35
+ listFailed: "Your chats did not load.",
36
+ tryAgain: "Try again",
37
+ answering: "Answering…",
38
+ chatActions: (title) => `Rename or delete “${title}”`,
39
+ queued: "Sends when this answer is done",
40
+ unqueue: (text) => `Do not send “${text}”`,
41
+ dismiss: "Dismiss",
42
+ problems: {
43
+ load: "Your chats did not load.",
44
+ save: "That was not saved. Check the connection and try again.",
45
+ open: "That chat did not open. Try again.",
46
+ },
47
+ };
48
+ function useMediaQuery(query) {
49
+ const [match, setMatch] = useState(false);
50
+ useEffect(() => {
51
+ const mq = window.matchMedia?.(query);
52
+ if (!mq)
53
+ return;
54
+ const sync = () => setMatch(mq.matches);
55
+ sync();
56
+ mq.addEventListener("change", sync);
57
+ return () => mq.removeEventListener("change", sync);
58
+ }, [query]);
59
+ return match;
60
+ }
61
+ let fallbackStore = null;
62
+ /**
63
+ * The whole chat app, the way the Claude, ChatGPT and Grok phone apps are
64
+ * laid out: the conversation edge to edge, a frosted header (Chats · title ·
65
+ * New chat · More), the chat list in a drawer on a phone and a rail beside
66
+ * the chat from a wide screen, and the composer floating at the bottom with
67
+ * the microphone, Camera · Photos · Files and the queue.
68
+ *
69
+ * A product gives it two things — a `transport` that answers a turn, and a
70
+ * `store` that keeps chats (or nothing: the device then keeps them) — plus
71
+ * its words. Everything a person sees and does is the same in every product.
72
+ */
73
+ export function ChatApp({ transport, store: givenStore, placeholder = "Ask anything", name = "", makeTitle, starters, startersTitle, empty, composer, thread, footnote, fill = "viewport", temporaryChats = true, onShare, conversationId, onConversationChange, rememberKey = "ck-chat:open", search, headerStart, headerEnd, locale, railQuery = "(min-width: 64rem)", labels: labelOverrides, className, }) {
74
+ const labels = {
75
+ ...DEFAULT_CHAT_APP_LABELS,
76
+ ...labelOverrides,
77
+ problems: { ...DEFAULT_CHAT_APP_LABELS.problems, ...labelOverrides?.problems },
78
+ };
79
+ const store = useMemo(() => givenStore ?? (fallbackStore ??= localConversationStore()), [givenStore]);
80
+ const app = useChatApp({
81
+ store,
82
+ transport,
83
+ makeTitle,
84
+ conversationId,
85
+ onConversationChange,
86
+ rememberKey,
87
+ });
88
+ const rootRef = useRef(null);
89
+ useViewportHeight(rootRef, fill === "viewport");
90
+ const wide = useMediaQuery(railQuery);
91
+ const [drawerOpen, setDrawerOpen] = useState(false);
92
+ const drawerRef = useRef(null);
93
+ useEffect(() => {
94
+ const d = drawerRef.current;
95
+ if (!d)
96
+ return;
97
+ if (drawerOpen && !d.open && typeof d.showModal === "function") {
98
+ d.showModal();
99
+ // Focus the close button, never the search box: on a phone that would
100
+ // throw the keyboard over the list the person came to read.
101
+ d.querySelector("[data-ck-initial-focus]")?.focus();
102
+ }
103
+ else if (!drawerOpen && d.open)
104
+ d.close();
105
+ }, [drawerOpen]);
106
+ useEffect(() => {
107
+ if (wide)
108
+ setDrawerOpen(false);
109
+ }, [wide]);
110
+ const current = app.list.find((c) => c.id === app.activeId);
111
+ const title = app.temporary
112
+ ? labels.temporary
113
+ : current
114
+ ? current.title.trim() || labels.untitled
115
+ : app.activeId
116
+ ? labels.untitled
117
+ : name;
118
+ const inStored = !!app.stored && !!current;
119
+ const history = (_jsx(ChatHistory, { conversations: app.list, state: app.listState, activeId: app.activeId, busyIds: app.busyIds, onOpen: (id) => {
120
+ setDrawerOpen(false);
121
+ app.open(id);
122
+ }, onNew: () => {
123
+ setDrawerOpen(false);
124
+ app.newChat();
125
+ }, onRename: (id, t) => void app.rename(id, t), onRemove: (id) => void app.remove(id), onRetry: app.reloadList, onClose: wide ? undefined : () => setDrawerOpen(false), search: search, locale: locale, labels: labels }));
126
+ const [renaming, setRenaming] = useState(false);
127
+ const [deleting, setDeleting] = useState(false);
128
+ const menu = [];
129
+ if (temporaryChats)
130
+ menu.push({
131
+ label: labels.temporary,
132
+ checked: app.temporary,
133
+ onSelect: app.toggleTemporary,
134
+ });
135
+ if (onShare && app.activeId && app.messages.length > 0)
136
+ menu.push({
137
+ label: labels.share,
138
+ onSelect: () => onShare({ id: app.activeId, title, messages: app.messages }),
139
+ });
140
+ if (inStored) {
141
+ menu.push({ label: labels.rename, onSelect: () => setRenaming(true) });
142
+ menu.push({ label: labels.delete, danger: true, onSelect: () => setDeleting(true) });
143
+ }
144
+ const header = (_jsxs(_Fragment, { children: [!wide && (_jsx("button", { type: "button", className: "ck-glass ck-app-icon", "aria-label": labels.openChats, title: labels.openChats, "aria-haspopup": "dialog", onClick: () => setDrawerOpen(true), children: _jsx(IconMenu, {}) })), headerStart, _jsx("div", { className: "ck-app-title", children: renaming && current ? (_jsx("form", { className: "ck-app-rename", onSubmit: (e) => {
145
+ e.preventDefault();
146
+ const v = String(new FormData(e.currentTarget).get("title") ?? "").trim();
147
+ if (v)
148
+ void app.rename(current.id, v);
149
+ setRenaming(false);
150
+ }, children: _jsx("input", { name: "title", defaultValue: current.title, "aria-label": labels.renameField, autoFocus: true, onBlur: (e) => e.currentTarget.form?.requestSubmit(), onKeyDown: (e) => {
151
+ if (e.key === "Escape")
152
+ setRenaming(false);
153
+ } }) })) : (_jsxs(_Fragment, { children: [_jsxs("span", { className: "ck-app-title-text", children: [app.temporary && _jsx(IconGhost, {}), _jsx("span", { className: "ck-truncate", children: title })] }), app.temporary && _jsx("span", { className: "ck-app-title-note", children: labels.temporaryNote })] })) }), headerEnd, _jsx("button", { type: "button", className: "ck-glass ck-app-icon", "aria-label": labels.newChat, title: labels.newChat, onClick: app.newChat, children: _jsx(IconNewChat, {}) }), menu.length > 0 && _jsx(HeaderMenu, { label: labels.more, items: menu })] }));
154
+ const above = deleting && current ? (_jsxs("div", { className: "ck-app-confirm", role: "group", "aria-label": labels.deleteAsk(title), children: [_jsx("p", { children: labels.deleteAsk(title) }), _jsxs("div", { className: "ck-history-pair", children: [_jsx("button", { type: "button", className: "ck-history-danger", onClick: () => {
155
+ setDeleting(false);
156
+ void app.remove(current.id);
157
+ }, children: labels.delete }), _jsx("button", { type: "button", onClick: () => setDeleting(false), children: labels.cancel })] })] })) : null;
158
+ const dock = (_jsxs(_Fragment, { children: [above, app.problem && (_jsxs("p", { className: "ck-problem", role: "status", children: [_jsx("span", { children: labels.problems[app.problem] }), _jsx("button", { type: "button", className: "ck-problem-x", onClick: app.clearProblem, "aria-label": labels.dismiss, children: _jsx(IconX, {}) })] })), app.queued.length > 0 && (_jsx("ul", { className: "ck-app-queue", "aria-label": labels.queued, children: app.queued.map((q) => (_jsxs("li", { children: [_jsxs("span", { className: "ck-app-queue-text", children: [_jsx("span", { className: "ck-truncate", children: q.text }), _jsx("small", { children: labels.queued })] }), _jsx("button", { type: "button", className: "ck-icon-btn", onClick: () => app.unqueue(q.id), "aria-label": labels.unqueue(q.text), title: labels.unqueue(q.text), children: _jsx(IconX, {}) })] }, q.id))) })), _jsx(Composer, { placeholder: placeholder, attach: true, stagedPosition: "above", ...composer, onSend: (text, attachments) => app.send(text, attachments), sending: app.busy, onStop: app.stop, queue: true })] }));
159
+ const lastFailed = app.messages[app.messages.length - 1]?.failed;
160
+ const onFeedback = thread?.onFeedback;
161
+ const cls = ["ck-app"];
162
+ if (fill === "viewport")
163
+ cls.push("ck-app-viewport");
164
+ if (wide)
165
+ cls.push("ck-app-wide");
166
+ if (className)
167
+ cls.push(className);
168
+ return (_jsxs("div", { ref: rootRef, className: cls.join(" "), children: [wide ? (_jsx("aside", { className: "ck-app-rail", children: history })) : (_jsx("dialog", { ref: drawerRef, className: "ck-app-drawer", "aria-label": labels.chats, onClose: () => setDrawerOpen(false), onClick: (e) => {
169
+ if (e.target === e.currentTarget)
170
+ setDrawerOpen(false);
171
+ }, children: drawerOpen && _jsx("div", { className: "ck-app-drawer-panel", children: history }) })), _jsx(ChatScreen, { fill: "parent", className: "ck-app-screen", header: header, composer: dock, footnote: footnote, renderers: thread?.renderers, children: _jsx(ChatThread, { messages: app.messages, loading: app.loading, live: app.live, stopped: app.stopped, onStop: app.stop, onRetry: lastFailed || app.stopped ? app.retry : undefined, onReply: (text) => void app.send(text), renderLink: thread?.renderLink, renderFooter: thread?.renderFooter, speaker: thread?.speaker, share: thread?.share, onFeedback: onFeedback ? (f) => onFeedback({ ...f, conversationId: app.stored }) : undefined, labels: thread?.labels, empty: empty ??
172
+ (starters && starters.length > 0 ? (_jsx(ChatStarters, { starters: starters, title: startersTitle, onPick: (text) => void app.send(text) })) : (_jsx("div", { className: "ck-starters", children: startersTitle && _jsx("div", { className: "ck-starters-title", children: startersTitle }) }))) }, app.activeId ?? (app.temporary ? "temporary" : "new")) })] }));
173
+ }
174
+ /** The header's "…": a small menu under the button. Escape and a tap
175
+ * outside close it and give focus back to the button; arrows move. */
176
+ function HeaderMenu({ label, items }) {
177
+ const [open, setOpen] = useState(false);
178
+ const wrap = useRef(null);
179
+ const trigger = useRef(null);
180
+ useEffect(() => {
181
+ if (!open)
182
+ return;
183
+ const first = wrap.current?.querySelector("[role^=menuitem]");
184
+ first?.focus();
185
+ const outside = (e) => {
186
+ if (!wrap.current?.contains(e.target))
187
+ setOpen(false);
188
+ };
189
+ document.addEventListener("pointerdown", outside);
190
+ return () => document.removeEventListener("pointerdown", outside);
191
+ }, [open]);
192
+ const close = () => {
193
+ setOpen(false);
194
+ trigger.current?.focus();
195
+ };
196
+ return (_jsxs("div", { ref: wrap, className: "ck-app-menu-wrap", onKeyDown: (e) => {
197
+ if (!open)
198
+ return;
199
+ if (e.key === "Escape") {
200
+ e.preventDefault();
201
+ close();
202
+ }
203
+ else if (e.key === "ArrowDown" || e.key === "ArrowUp") {
204
+ e.preventDefault();
205
+ const all = [...(wrap.current?.querySelectorAll("[role^=menuitem]") ?? [])];
206
+ const i = all.indexOf(document.activeElement);
207
+ const next = all[(i + (e.key === "ArrowDown" ? 1 : all.length - 1)) % all.length];
208
+ next?.focus();
209
+ }
210
+ }, children: [_jsx("button", { ref: trigger, type: "button", className: "ck-glass ck-app-icon", "aria-label": label, title: label, "aria-haspopup": "menu", "aria-expanded": open, onClick: () => setOpen((v) => !v), children: _jsx(IconMore, {}) }), open && (_jsx("div", { className: "ck-app-menu", role: "menu", "aria-label": label, children: items.map((item) => (_jsxs("button", { type: "button", role: item.checked === undefined ? "menuitem" : "menuitemcheckbox", "aria-checked": item.checked, className: item.danger ? "ck-app-menu-item ck-history-danger" : "ck-app-menu-item", onClick: () => {
211
+ close();
212
+ item.onSelect();
213
+ }, children: [_jsx("span", { children: item.label }), item.checked && _jsx("span", { className: "ck-app-menu-check", "aria-hidden": true })] }, item.label))) }))] }));
214
+ }
215
+ //# sourceMappingURL=ChatApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatApp.js","sourceRoot":"","sources":["../../src/react/ChatApp.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type ConversationSummary } from "../conversations.js";
2
+ import type { ChatAppLabels } from "./ChatApp.js";
3
+ export type ChatHistoryProps = {
4
+ conversations: ConversationSummary[];
5
+ state: "loading" | "ready" | "error";
6
+ activeId: string | null;
7
+ /** Conversations with a turn running: their row says so instead of a date. */
8
+ busyIds: ReadonlySet<string>;
9
+ onOpen: (id: string) => void;
10
+ onNew: () => void;
11
+ onRename: (id: string, title: string) => void;
12
+ onRemove: (id: string) => void;
13
+ onRetry: () => void;
14
+ /** The drawer's close button; absent on the always-open rail. */
15
+ onClose?: () => void;
16
+ search?: (list: ConversationSummary[], query: string) => ConversationSummary[];
17
+ locale?: string;
18
+ labels: ChatAppLabels;
19
+ };
20
+ /**
21
+ * The chat list — the same in every product: New chat, a search box, the
22
+ * chats under Today / Yesterday / Earlier. Every row has ONE anatomy: the
23
+ * title, the date (or "Answering…"), and one "…" that opens the row's two
24
+ * actions, Rename and Delete, as two equal cells under it. A delete asks
25
+ * once, in the row.
26
+ */
27
+ export declare function ChatHistory({ conversations, state, activeId, busyIds, onOpen, onNew, onRename, onRemove, onRetry, onClose, search, locale, labels, }: ChatHistoryProps): import("react").JSX.Element;
28
+ //# sourceMappingURL=ChatHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatHistory.d.ts","sourceRoot":"","sources":["../../src/react/ChatHistory.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACrC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,8EAA8E;IAC9E,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,MAAM,KAAK,mBAAmB,EAAE,CAAC;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,EAC1B,aAAa,EACb,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAA4B,EAC5B,MAAM,EACN,MAAM,GACP,EAAE,gBAAgB,+BAwLlB"}
@@ -0,0 +1,58 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { filterConversations, formatConversationDate, groupConversations, } from "../conversations.js";
5
+ import { IconMore, IconNewChat, IconSearch, IconX } from "./icons.js";
6
+ /**
7
+ * The chat list — the same in every product: New chat, a search box, the
8
+ * chats under Today / Yesterday / Earlier. Every row has ONE anatomy: the
9
+ * title, the date (or "Answering…"), and one "…" that opens the row's two
10
+ * actions, Rename and Delete, as two equal cells under it. A delete asks
11
+ * once, in the row.
12
+ */
13
+ export function ChatHistory({ conversations, state, activeId, busyIds, onOpen, onNew, onRename, onRemove, onRetry, onClose, search = filterConversations, locale, labels, }) {
14
+ const [query, setQuery] = useState("");
15
+ const [armed, setArmed] = useState(null);
16
+ const [confirming, setConfirming] = useState(null);
17
+ const [editing, setEditing] = useState(null);
18
+ const now = Date.now();
19
+ const shown = search(conversations, query);
20
+ const groups = groupConversations(shown, now);
21
+ const close = () => {
22
+ setArmed(null);
23
+ setConfirming(null);
24
+ setEditing(null);
25
+ };
26
+ const submitRename = (e, id) => {
27
+ e.preventDefault();
28
+ const value = String(new FormData(e.currentTarget).get("title") ?? "").trim();
29
+ if (value)
30
+ onRename(id, value);
31
+ close();
32
+ };
33
+ return (_jsxs("nav", { className: "ck-history", "aria-label": labels.chats, children: [_jsxs("div", { className: "ck-history-head", children: [_jsx("span", { className: "ck-history-title", children: labels.chats }), onClose && (_jsx("button", { type: "button", className: "ck-icon-btn ck-history-close", onClick: onClose, "aria-label": labels.closeChats, title: labels.closeChats, "data-ck-initial-focus": "", children: _jsx(IconX, {}) }))] }), _jsxs("button", { type: "button", className: "ck-history-new", onClick: onNew, children: [_jsx(IconNewChat, {}), _jsx("span", { children: labels.newChat })] }), _jsxs("label", { className: "ck-history-search", children: [_jsx(IconSearch, {}), _jsx("input", { type: "search", value: query, onChange: (e) => setQuery(e.target.value), placeholder: labels.search, "aria-label": labels.search, enterKeyHint: "search" })] }), _jsx("div", { className: "ck-history-list", children: state === "loading" && conversations.length === 0 ? (_jsx("p", { className: "ck-history-empty", role: "status", children: labels.loadingChats })) : state === "error" ? (_jsxs("div", { className: "ck-history-empty", role: "status", children: [_jsx("p", { children: labels.listFailed }), _jsx("button", { type: "button", className: "ck-history-retry", onClick: onRetry, children: labels.tryAgain })] })) : conversations.length === 0 ? (_jsx("p", { className: "ck-history-empty", children: labels.noChats })) : groups.length === 0 ? (_jsx("p", { className: "ck-history-empty", children: labels.noMatch(query.trim()) })) : (groups.map((group) => (_jsxs("section", { className: "ck-history-group", "aria-label": labels[group.key], children: [_jsx("h3", { className: "ck-history-group-title", children: labels[group.key] }), _jsx("ul", { children: group.items.map((c) => {
34
+ const title = c.title.trim() || labels.untitled;
35
+ const busy = busyIds.has(c.id);
36
+ const active = c.id === activeId;
37
+ const isArmed = armed === c.id;
38
+ return (_jsxs("li", { className: active ? "ck-history-row ck-history-row-active" : "ck-history-row", children: [editing === c.id ? (_jsxs("form", { className: "ck-history-rename", onSubmit: (e) => submitRename(e, c.id), children: [_jsx("input", { name: "title", defaultValue: c.title, "aria-label": labels.renameField, autoFocus: true, onKeyDown: (e) => {
39
+ if (e.key === "Escape") {
40
+ e.preventDefault();
41
+ e.stopPropagation();
42
+ close();
43
+ }
44
+ } }), _jsxs("div", { className: "ck-history-pair", children: [_jsx("button", { type: "submit", children: labels.save }), _jsx("button", { type: "button", onClick: close, children: labels.cancel })] })] })) : (_jsxs("div", { className: "ck-history-line", children: [_jsxs("button", { type: "button", className: "ck-history-open", "aria-current": active ? "page" : undefined, onClick: () => {
45
+ close();
46
+ onOpen(c.id);
47
+ }, children: [_jsx("span", { className: "ck-history-name", children: title }), _jsx("span", { className: "ck-history-date", children: busy
48
+ ? labels.answering
49
+ : formatConversationDate(c.updatedAt, now, locale) })] }), _jsx("button", { type: "button", className: "ck-history-more", "aria-expanded": isArmed, "aria-label": labels.chatActions(title), title: labels.chatActions(title), onClick: () => {
50
+ setConfirming(null);
51
+ setArmed(isArmed ? null : c.id);
52
+ }, children: _jsx(IconMore, {}) })] })), isArmed && editing !== c.id && confirming !== c.id && (_jsxs("div", { className: "ck-history-pair", children: [_jsx("button", { type: "button", onClick: () => setEditing(c.id), children: labels.rename }), _jsx("button", { type: "button", onClick: () => setConfirming(c.id), children: labels.delete })] })), confirming === c.id && (_jsxs("div", { className: "ck-history-confirm", role: "group", "aria-label": labels.deleteAsk(title), children: [_jsx("p", { children: labels.deleteAsk(title) }), _jsxs("div", { className: "ck-history-pair", children: [_jsx("button", { type: "button", className: "ck-history-danger", onClick: () => {
53
+ close();
54
+ onRemove(c.id);
55
+ }, children: labels.delete }), _jsx("button", { type: "button", onClick: close, children: labels.cancel })] })] }))] }, c.id));
56
+ }) })] }, group.key)))) })] }));
57
+ }
58
+ //# sourceMappingURL=ChatHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatHistory.js","sourceRoot":"","sources":["../../src/react/ChatHistory.tsx"],"names":[],"mappings":"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"}
@@ -92,6 +92,9 @@ export type ComposerProps = {
92
92
  /** Inside the box, under the controls. */
93
93
  footer?: ReactNode;
94
94
  hint?: string;
95
+ /** Where staged pictures and files sit: under the text (the default) or
96
+ * above it, as the ChatGPT and Claude apps draw them. ChatApp uses above. */
97
+ stagedPosition?: "above" | "below";
95
98
  labels?: ComposerLabelOverrides;
96
99
  autoFocus?: boolean;
97
100
  };
@@ -103,5 +106,5 @@ export type ComposerProps = {
103
106
  * Extracted from loki `components/composer/Composer.tsx` (itself the merge of
104
107
  * four composers in one app), with heidi's microphone and orangecat's lessons.
105
108
  */
106
- export declare function Composer({ onSend, placeholder, ariaLabel, disabled, sendBlockedReason, sending, onStop, attachmentOnlyText, heldAttachments, queue, attach, voice, modes, mode, onModeChange, onEmptySlash, value, onValueChange, defaultValue, inputRef, density, above, header, tools, trailing, footer, hint, labels: labelOverrides, autoFocus, }: ComposerProps): import("react").JSX.Element;
109
+ export declare function Composer({ onSend, placeholder, ariaLabel, disabled, sendBlockedReason, sending, onStop, attachmentOnlyText, heldAttachments, queue, attach, voice, modes, mode, onModeChange, onEmptySlash, value, onValueChange, defaultValue, inputRef, density, above, header, tools, trailing, footer, hint, stagedPosition, labels: labelOverrides, autoFocus, }: ComposerProps): import("react").JSX.Element;
107
110
  //# sourceMappingURL=Composer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../src/react/Composer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../src/react/Composer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpF,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA2C,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjG,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAA0C,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAWhG,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC7C,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC5C,iCAAiC;IACjC,WAAW,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,cAqBrC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;AAEhE,wFAAwF;AACxF,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAC1C,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC,CACjE,GAAG;IACF,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG;QACpE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;KAC5D,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B;2EACuE;IACvE,MAAM,EAAE,CACN,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,UAAU,EAAE,KACtB,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;0DACsD;IACtD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;0EAKsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;kEAG8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;iDAC6C;IAC7C,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7C;;;oCAGgC;IAChC,KAAK,CAAC,EAAE,aAAa,GAAG,KAAK,CAAC;IAC9B,KAAK,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACpC,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;kFAC8E;IAC9E,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AA8EF;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAgB,EAChB,iBAAwB,EACxB,OAAe,EACf,MAAM,EACN,kBAAkB,EAClB,eAAmB,EACnB,KAAa,EACb,MAAc,EACd,KAAU,EACV,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,aAAa,EACb,YAAiB,EACjB,QAAQ,EACR,OAAuB,EACvB,KAAK,EACL,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,cAAwB,EACxB,MAAM,EAAE,cAAc,EACtB,SAAS,GACV,EAAE,aAAa,+BA6Sf"}
@@ -72,7 +72,7 @@ function Elapsed({ since }) {
72
72
  * Extracted from loki `components/composer/Composer.tsx` (itself the merge of
73
73
  * four composers in one app), with heidi's microphone and orangecat's lessons.
74
74
  */
75
- export function Composer({ onSend, placeholder, ariaLabel, disabled = false, sendBlockedReason = null, sending = false, onStop, attachmentOnlyText, heldAttachments = 0, queue = false, attach = false, voice = {}, modes, mode, onModeChange, onEmptySlash, value, onValueChange, defaultValue = "", inputRef, density = "comfortable", above, header, tools, trailing, footer, hint, labels: labelOverrides, autoFocus, }) {
75
+ export function Composer({ onSend, placeholder, ariaLabel, disabled = false, sendBlockedReason = null, sending = false, onStop, attachmentOnlyText, heldAttachments = 0, queue = false, attach = false, voice = {}, modes, mode, onModeChange, onEmptySlash, value, onValueChange, defaultValue = "", inputRef, density = "comfortable", above, header, tools, trailing, footer, hint, stagedPosition = "below", labels: labelOverrides, autoFocus, }) {
76
76
  const labels = {
77
77
  ...DEFAULT_COMPOSER_LABELS,
78
78
  ...labelOverrides,
@@ -161,7 +161,7 @@ export function Composer({ onSend, placeholder, ariaLabel, disabled = false, sen
161
161
  })();
162
162
  }
163
163
  };
164
- return (_jsxs("div", { className: "ck-composer-wrap", children: [above, _jsxs("div", { className: "ck-composer-frame", children: [(listening || transcribing) && (_jsx("div", { className: "ck-voice-bar", role: "status", "aria-live": "polite", children: listening ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "ck-voice-dot", "aria-hidden": true }), dictation.liveText ? (_jsx(LiveWords, { text: dictation.liveText })) : (_jsx("span", { className: "ck-voice-wave", "aria-hidden": true, children: Array.from({ length: 9 }).map((_, i) => (_jsx("span", {}, i))) })), _jsx(Elapsed, { since: dictation.startedAt }), _jsx("button", { type: "button", className: "ck-icon-btn", onClick: dictation.cancel, "aria-label": labels.cancelRecording, title: labels.cancelRecording, children: _jsx(IconX, {}) }), _jsx("button", { type: "button", className: "ck-voice-confirm", onClick: dictation.stop, "aria-label": labels.confirmRecording, title: labels.confirmRecording, children: _jsx(IconCheck, {}) })] })) : (_jsxs(_Fragment, { children: [_jsx(IconSpinner, {}), dictation.liveText ? (_jsx(LiveWords, { text: dictation.liveText, dim: true })) : (_jsx("span", { className: "ck-voice-timer", children: labels.transcribing }))] })) })), _jsxs("div", { className: density === "compact" ? "ck-composer ck-composer-compact" : "ck-composer", children: [showModes && (_jsx("div", { className: "ck-modes", role: "group", children: modes.map((m) => (_jsx("button", { type: "button", className: "ck-mode", "aria-pressed": m.id === mode, title: m.hint, onClick: () => onModeChange?.(m.id), children: m.label }, m.id))) })), header, _jsx("textarea", { ref: textareaRef, className: "ck-input", rows: 1, value: text, autoFocus: autoFocus, disabled: disabled || transcribing, placeholder: listening ? labels.listening : sending && queue ? labels.queue : placeholder, "aria-label": ariaLabel ?? placeholder, enterKeyHint: "send", onChange: (e) => {
164
+ return (_jsxs("div", { className: "ck-composer-wrap", children: [above, _jsxs("div", { className: "ck-composer-frame", children: [(listening || transcribing) && (_jsx("div", { className: "ck-voice-bar", role: "status", "aria-live": "polite", children: listening ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "ck-voice-dot", "aria-hidden": true }), dictation.liveText ? (_jsx(LiveWords, { text: dictation.liveText })) : (_jsx("span", { className: "ck-voice-wave", "aria-hidden": true, children: Array.from({ length: 9 }).map((_, i) => (_jsx("span", {}, i))) })), _jsx(Elapsed, { since: dictation.startedAt }), _jsx("button", { type: "button", className: "ck-icon-btn", onClick: dictation.cancel, "aria-label": labels.cancelRecording, title: labels.cancelRecording, children: _jsx(IconX, {}) }), _jsx("button", { type: "button", className: "ck-voice-confirm", onClick: dictation.stop, "aria-label": labels.confirmRecording, title: labels.confirmRecording, children: _jsx(IconCheck, {}) })] })) : (_jsxs(_Fragment, { children: [_jsx(IconSpinner, {}), dictation.liveText ? (_jsx(LiveWords, { text: dictation.liveText, dim: true })) : (_jsx("span", { className: "ck-voice-timer", children: labels.transcribing }))] })) })), _jsxs("div", { className: density === "compact" ? "ck-composer ck-composer-compact" : "ck-composer", children: [showModes && (_jsx("div", { className: "ck-modes", role: "group", children: modes.map((m) => (_jsx("button", { type: "button", className: "ck-mode", "aria-pressed": m.id === mode, title: m.hint, onClick: () => onModeChange?.(m.id), children: m.label }, m.id))) })), header, attachOn && stagedPosition === "above" && (_jsx(AttachmentStrip, { attachments: attachments, labels: labels })), _jsx("textarea", { ref: textareaRef, className: "ck-input", rows: 1, value: text, autoFocus: autoFocus, disabled: disabled || transcribing, placeholder: listening ? labels.listening : sending && queue ? labels.queue : placeholder, "aria-label": ariaLabel ?? placeholder, enterKeyHint: "send", onChange: (e) => {
165
165
  const next = e.target.value;
166
166
  if (onEmptySlash && next === "/" && text === "") {
167
167
  onEmptySlash();
@@ -176,6 +176,6 @@ export function Composer({ onSend, placeholder, ariaLabel, disabled = false, sen
176
176
  e.preventDefault();
177
177
  void submit();
178
178
  }
179
- } }), attachOn && _jsx(AttachmentStrip, { attachments: attachments, labels: labels }), _jsxs("div", { className: "ck-actions", children: [_jsxs("div", { className: "ck-tools", children: [attachOn && (_jsx(AttachMenu, { onFiles: onFiles, disabled: disabled || attachments.full, labels: { attach: labels.attach, ...labels.attachMenu } })), voiceOn && (_jsx("button", { type: "button", className: listening ? "ck-icon-btn ck-mic ck-mic-on" : "ck-icon-btn ck-mic", onClick: dictation.toggle, disabled: disabled || transcribing, "aria-label": listening ? labels.voiceStop : labels.voice, "aria-pressed": listening, title: listening ? labels.voiceStop : labels.voice, children: transcribing ? _jsx(IconSpinner, {}) : _jsx(IconMic, {}) })), tools, hint && _jsx("span", { className: "ck-hint", children: hint })] }), _jsxs("div", { className: "ck-submit", children: [trailing, sending && onStop ? (_jsxs(_Fragment, { children: [queue && canSend && (_jsx("button", { type: "button", className: "ck-send", onClick: () => void submit(), "aria-label": labels.send, title: labels.send, children: _jsx(IconArrowUp, {}) })), _jsx("button", { type: "button", className: "ck-send ck-send-stop", onClick: onStop, "aria-label": labels.stop, title: labels.stop, children: _jsx(IconStop, {}) })] })) : (!listening && (_jsx("button", { type: "button", className: "ck-send", disabled: !canSend, onClick: () => void submit(), "aria-label": labels.send, title: sendBlockedReason ?? labels.send, children: sending ? _jsx(IconSpinner, {}) : _jsx(IconArrowUp, {}) })))] })] }), footer] })] }), dictation.problem && (_jsxs("p", { className: "ck-problem", role: "status", children: [_jsxs("span", { children: [labels.dictation[dictation.problem], dictation.problemDetail && (_jsxs("span", { className: "ck-problem-detail", children: [" ", dictation.problemDetail] }))] }), dictation.canRetry && (_jsx("button", { type: "button", className: "ck-problem-retry", onClick: () => void dictation.retry(), disabled: dictation.status !== "idle", children: labels.retryTake })), _jsx("button", { type: "button", className: "ck-problem-x", onClick: dictation.clearProblem, "aria-label": labels.dismiss, children: _jsx(IconX, {}) })] }))] }));
179
+ } }), attachOn && stagedPosition === "below" && (_jsx(AttachmentStrip, { attachments: attachments, labels: labels })), _jsxs("div", { className: "ck-actions", children: [_jsxs("div", { className: "ck-tools", children: [attachOn && (_jsx(AttachMenu, { onFiles: onFiles, disabled: disabled || attachments.full, labels: { attach: labels.attach, ...labels.attachMenu } })), voiceOn && (_jsx("button", { type: "button", className: listening ? "ck-icon-btn ck-mic ck-mic-on" : "ck-icon-btn ck-mic", onClick: dictation.toggle, disabled: disabled || transcribing, "aria-label": listening ? labels.voiceStop : labels.voice, "aria-pressed": listening, title: listening ? labels.voiceStop : labels.voice, children: transcribing ? _jsx(IconSpinner, {}) : _jsx(IconMic, {}) })), tools, hint && _jsx("span", { className: "ck-hint", children: hint })] }), _jsxs("div", { className: "ck-submit", children: [trailing, sending && onStop ? (_jsxs(_Fragment, { children: [queue && canSend && (_jsx("button", { type: "button", className: "ck-send", onClick: () => void submit(), "aria-label": labels.send, title: labels.send, children: _jsx(IconArrowUp, {}) })), _jsx("button", { type: "button", className: "ck-send ck-send-stop", onClick: onStop, "aria-label": labels.stop, title: labels.stop, children: _jsx(IconStop, {}) })] })) : (!listening && (_jsx("button", { type: "button", className: "ck-send", disabled: !canSend, onClick: () => void submit(), "aria-label": labels.send, title: sendBlockedReason ?? labels.send, children: sending ? _jsx(IconSpinner, {}) : _jsx(IconArrowUp, {}) })))] })] }), footer] })] }), dictation.problem && (_jsxs("p", { className: "ck-problem", role: "status", children: [_jsxs("span", { children: [labels.dictation[dictation.problem], dictation.problemDetail && (_jsxs("span", { className: "ck-problem-detail", children: [" ", dictation.problemDetail] }))] }), dictation.canRetry && (_jsx("button", { type: "button", className: "ck-problem-retry", onClick: () => void dictation.retry(), disabled: dictation.status !== "idle", children: labels.retryTake })), _jsx("button", { type: "button", className: "ck-problem-x", onClick: dictation.clearProblem, "aria-label": labels.dismiss, children: _jsx(IconX, {}) })] }))] }));
180
180
  }
181
181
  //# sourceMappingURL=Composer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../src/react/Composer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkC,MAAM,OAAO,CAAC;AACpF,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAyB,MAAM,iBAAiB,CAAC;AACjG,OAAO,EACL,wBAAwB,GAIzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAA8B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAyB,MAAM,iBAAiB,CAAC;AAChG,OAAO,EACL,WAAW,EACX,SAAS,EACT,QAAQ,EACR,OAAO,EACP,WAAW,EACX,QAAQ,EACR,KAAK,GACN,MAAM,YAAY,CAAC;AAyBpB,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,gBAAgB;IAC3B,eAAe,EAAE,kBAAkB;IACnC,gBAAgB,EAAE,wBAAwB;IAC1C,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,eAAe;IAC7B,MAAM,EAAE,6BAA6B;IACrC,UAAU,EAAE;QACV,KAAK,EAAE,0BAA0B,CAAC,KAAK;QACvC,KAAK,EAAE,0BAA0B,CAAC,KAAK;QACvC,OAAO,EAAE,0BAA0B,CAAC,OAAO;KAC5C;IACD,KAAK,EAAE,kBAAkB;IACzB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE;IAClC,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,0BAA0B;IACrC,WAAW,EAAE,wBAAwB;CACtC,CAAC;AA8EF,SAAS,eAAe,CAAC,EACvB,WAAW,EACX,MAAM,GAIP;IACC,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3E,OAAO,CACL,eAAK,SAAS,EAAC,iBAAiB,aAC7B,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjC,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjC,OAAO,CACL,eAAe,SAAS,EAAC,gBAAgB,aACtC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACpC,cAAK,GAAG,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAC,iBAAiB,GAAG,CACpE,CAAC,CAAC,CAAC,CACF,gBAAM,SAAS,EAAC,gBAAgB,aAC9B,KAAC,QAAQ,KAAG,EACZ,eAAM,SAAS,EAAC,aAAa,YAAE,CAAC,CAAC,IAAI,GAAQ,IACxC,CACR,EACD,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,gBAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EACjC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAE5B,KAAC,KAAK,KAAG,GACF,KAjBD,GAAG,CAkBP,CACP,CAAC;YACJ,CAAC,CAAC,EACD,WAAW,CAAC,IAAI,IAAI,CACnB,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,OAAO,EAAE,WAAW,CAAC,SAAS,YACrE,WAAW,CAAC,IAAI,GACV,CACV,IACG,CACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAmC;IAC/D,MAAM,GAAG,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QACvB,IAAI,EAAE;YAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC;IACzC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,OAAO,CACL,eAAM,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,eAAe,YACjF,IAAI,GACA,CACR,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,KAAK,EAA4B;IAClD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAC3B,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACrD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,CACL,eAAM,SAAS,EAAC,gBAAgB,YAC7B,aAAa,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GACpD,CACR,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,iBAAiB,GAAG,IAAI,EACxB,OAAO,GAAG,KAAK,EACf,MAAM,EACN,kBAAkB,EAClB,eAAe,GAAG,CAAC,EACnB,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,EAAE,EACV,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,aAAa,EACb,YAAY,GAAG,EAAE,EACjB,QAAQ,EACR,OAAO,GAAG,aAAa,EACvB,KAAK,EACL,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,MAAM,EAAE,cAAc,EACtB,SAAS,GACK;IACd,MAAM,MAAM,GAAmB;QAC7B,GAAG,uBAAuB;QAC1B,GAAG,cAAc;QACjB,SAAS,EAAE,EAAE,GAAG,uBAAuB,CAAC,SAAS,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE;QACjF,WAAW,EAAE,EAAE,GAAG,uBAAuB,CAAC,WAAW,EAAE,GAAG,cAAc,EAAE,WAAW,EAAE;QACvF,UAAU,EAAE;YACV,GAAG,uBAAuB,CAAC,UAAU;YACrC,GAAG,cAAc,EAAE,UAAU;YAC7B,OAAO,EAAE;gBACP,GAAG,uBAAuB,CAAC,UAAU,CAAC,OAAO;gBAC7C,GAAG,cAAc,EAAE,UAAU,EAAE,OAAO;aACvC;SACF;KACF,CAAC;IACF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,4EAA4E;IAC5E,mEAAmE;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,CAAC,IAAyC,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,UAAU;YAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,QAAQ,IAAI,QAAQ,CAAC;IACzC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAE/B,MAAM,QAAQ,GAAG,MAAM,KAAK,KAAK,CAAC;IAClC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAEjG,MAAM,SAAS,GAAG,YAAY,CAAC;QAC7B,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAChB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAClE,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,SAAS,CAAC;IACvD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC;IACnD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,KAAK,cAAc,CAAC;IAEzD,MAAM,WAAW,GACf,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,eAAe,CAAC;QAC9B,IAAI;QACJ,eAAe,EAAE,WAAW;QAC5B,kBAAkB;QAClB,OAAO;QACP,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC;QACnC,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAAE,OAAO;QACtC,wEAAwE;QACxE,wBAAwB;QACxB,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1C,WAAW,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAErD,oEAAoE;IACpE,8EAA8E;IAC9E,4EAA4E;IAC5E,wEAAwE;IACxE,6BAA6B;IAC7B,MAAM,UAAU,GAAG,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,iBAAiB,CAAC;IAClE,MAAM,OAAO,GAAG,CAAC,KAAsB,EAAE,EAAE;QACzC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,KAAK,MAAM,IAAI,IAAI,KAAK;oBAAE,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACjE,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,kBAAkB,aAC9B,KAAK,EACN,eAAK,SAAS,EAAC,mBAAmB,aAC/B,CAAC,SAAS,IAAI,YAAY,CAAC,IAAI,CAC9B,cAAK,SAAS,EAAC,cAAc,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,YAC3D,SAAS,CAAC,CAAC,CAAC,CACX,8BACE,eAAM,SAAS,EAAC,cAAc,wBAAe,EAC5C,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CACpB,KAAC,SAAS,IAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAI,CACxC,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,eAAe,iCAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvC,iBAAW,CAAC,CAAI,CACjB,CAAC,GACG,CACR,EACD,KAAC,OAAO,IAAC,KAAK,EAAE,SAAS,CAAC,SAAS,GAAI,EACvC,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,aAAa,EACvB,OAAO,EAAE,SAAS,CAAC,MAAM,gBACb,MAAM,CAAC,eAAe,EAClC,KAAK,EAAE,MAAM,CAAC,eAAe,YAE7B,KAAC,KAAK,KAAG,GACF,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAE,SAAS,CAAC,IAAI,gBACX,MAAM,CAAC,gBAAgB,EACnC,KAAK,EAAE,MAAM,CAAC,gBAAgB,YAE9B,KAAC,SAAS,KAAG,GACN,IACR,CACJ,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,WAAW,KAAG,EACd,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CACpB,KAAC,SAAS,IAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,SAAG,CAC5C,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,gBAAgB,YAAE,MAAM,CAAC,YAAY,GAAQ,CAC9D,IACA,CACJ,GACG,CACP,EAED,eAAK,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,aAAa,aACtF,SAAS,IAAI,CACZ,cAAK,SAAS,EAAC,UAAU,EAAC,IAAI,EAAC,OAAO,YACnC,KAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjB,iBAEE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,SAAS,kBACL,CAAC,CAAC,EAAE,KAAK,IAAI,EAC3B,KAAK,EAAE,CAAC,CAAC,IAAI,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAElC,CAAC,CAAC,KAAK,IAPH,CAAC,CAAC,EAAE,CAQF,CACV,CAAC,GACE,CACP,EACA,MAAM,EAEP,mBACE,GAAG,EAAE,WAAW,EAChB,SAAS,EAAC,UAAU,EACpB,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAClC,WAAW,EACT,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,gBAElE,SAAS,IAAI,WAAW,EACpC,YAAY,EAAC,MAAM,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oCACd,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oCAC5B,IAAI,YAAY,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;wCAChD,YAAY,EAAE,CAAC;wCACf,OAAO;oCACT,CAAC;oCACD,OAAO,CAAC,IAAI,CAAC,CAAC;gCAChB,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oCACb,IAAI,QAAQ,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;wCAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gCAClE,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;oCACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;wCACnE,CAAC,CAAC,cAAc,EAAE,CAAC;wCACnB,KAAK,MAAM,EAAE,CAAC;oCAChB,CAAC;gCACH,CAAC,GACD,EAED,QAAQ,IAAI,KAAC,eAAe,IAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAI,EAE1E,eAAK,SAAS,EAAC,YAAY,aACzB,eAAK,SAAS,EAAC,UAAU,aACtB,QAAQ,IAAI,CACX,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,IAAI,WAAW,CAAC,IAAI,EACtC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,GACvD,CACH,EACA,OAAO,IAAI,CACV,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,oBAAoB,EAC5E,OAAO,EAAE,SAAS,CAAC,MAAM,EACzB,QAAQ,EAAE,QAAQ,IAAI,YAAY,gBACtB,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,kBACzC,SAAS,EACvB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,YAEjD,YAAY,CAAC,CAAC,CAAC,KAAC,WAAW,KAAG,CAAC,CAAC,CAAC,KAAC,OAAO,KAAG,GACtC,CACV,EACA,KAAK,EACL,IAAI,IAAI,eAAM,SAAS,EAAC,SAAS,YAAE,IAAI,GAAQ,IAC5C,EACN,eAAK,SAAS,EAAC,WAAW,aACvB,QAAQ,EAIR,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CACnB,8BACG,KAAK,IAAI,OAAO,IAAI,CACnB,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,SAAS,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,EAAE,gBAChB,MAAM,CAAC,IAAI,EACvB,KAAK,EAAE,MAAM,CAAC,IAAI,YAElB,KAAC,WAAW,KAAG,GACR,CACV,EACD,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,sBAAsB,EAChC,OAAO,EAAE,MAAM,gBACH,MAAM,CAAC,IAAI,EACvB,KAAK,EAAE,MAAM,CAAC,IAAI,YAElB,KAAC,QAAQ,KAAG,GACL,IACR,CACJ,CAAC,CAAC,CAAC,CACF,CAAC,SAAS,IAAI,CACZ,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,SAAS,EACnB,QAAQ,EAAE,CAAC,OAAO,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,EAAE,gBAChB,MAAM,CAAC,IAAI,EACvB,KAAK,EAAE,iBAAiB,IAAI,MAAM,CAAC,IAAI,YAEtC,OAAO,CAAC,CAAC,CAAC,KAAC,WAAW,KAAG,CAAC,CAAC,CAAC,KAAC,WAAW,KAAG,GACrC,CACV,CACF,IACG,IACF,EACL,MAAM,IACH,IACF,EACL,SAAS,CAAC,OAAO,IAAI,CACpB,aAAG,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,QAAQ,aACrC,2BACG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EACnC,SAAS,CAAC,aAAa,IAAI,CAC1B,gBAAM,SAAS,EAAC,mBAAmB,kBAAG,SAAS,CAAC,aAAa,IAAQ,CACtE,IACI,EACN,SAAS,CAAC,QAAQ,IAAI,CACrB,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,KAAK,EAAE,EACrC,QAAQ,EAAE,SAAS,CAAC,MAAM,KAAK,MAAM,YAEpC,MAAM,CAAC,SAAS,GACV,CACV,EACD,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,cAAc,EACxB,OAAO,EAAE,SAAS,CAAC,YAAY,gBACnB,MAAM,CAAC,OAAO,YAE1B,KAAC,KAAK,KAAG,GACF,IACP,CACL,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../src/react/Composer.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { AlertKind } from "../markdown.js";
5
5
  import { type AnswerActionsLabels } from "./AnswerActions.js";
6
6
  import type { AnswerFeedback } from "../review.js";
7
7
  import type { RichRenderers } from "./renderers.js";
8
+ import type { MessageAttachment } from "../conversations.js";
8
9
  export type ChatSpeaker = {
9
10
  /** Shown above the message when more than one agent can answer. */
10
11
  name: string;
@@ -19,6 +20,9 @@ export type ChatMessageData = {
19
20
  citations?: CitationMap;
20
21
  /** The turn failed: shown as a failure with Retry, never as silence. */
21
22
  failed?: boolean;
23
+ /** What the person sent with their words: pictures drawn small above the
24
+ * bubble, other files as their name. */
25
+ attachments?: readonly MessageAttachment[];
22
26
  /**
23
27
  * What the person is likely to say next, as one-tap buttons under the
24
28
  * latest answer. Leave it out and a `quick_replies` block in `content` is
@@ -1 +1 @@
1
- {"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../src/react/Thread.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../src/react/Thread.tsx"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { Markdown, defaultRenderLink } from "./Markdown.js";
4
4
  import { useStickToBottom } from "./hooks.js";
5
5
  import { dropReplyLabel, extractReplies } from "../replies.js";
6
6
  import { AnswerActions, DEFAULT_ANSWER_ACTIONS_LABELS, } from "./AnswerActions.js";
7
- import { IconArrowDown, IconChevron, IconRetry, IconStop } from "./icons.js";
7
+ import { IconArrowDown, IconChevron, IconFile, IconRetry, IconStop } from "./icons.js";
8
8
  /** "3m 38s", "42s", "1h 02m" — the ChatGPT app's unit words, so a product
9
9
  * translating the labels still gets one shape. */
10
10
  export function formatThinkingDuration(ms) {
@@ -36,7 +36,7 @@ export const DEFAULT_THREAD_LABELS = {
36
36
  */
37
37
  export function ChatMessage({ message, onRetry, renderLink = defaultRenderLink, showSpeaker = true, footer, last = false, onReply, speaker, share, onFeedback, renderers, labels = DEFAULT_THREAD_LABELS, }) {
38
38
  if (message.role === "user") {
39
- return (_jsx("div", { className: "ck-turn ck-turn-user", children: _jsx("div", { className: "ck-bubble", children: message.content }) }));
39
+ return (_jsxs("div", { className: "ck-turn ck-turn-user", children: [message.attachments && message.attachments.length > 0 && (_jsx("div", { className: "ck-turn-files", children: message.attachments.map((a, i) => a.kind === "image" && a.previewUrl ? (_jsx("img", { src: a.previewUrl, alt: a.name, className: "ck-attach-thumb" }, i)) : (_jsxs("span", { className: "ck-attach-file", children: [_jsx(IconFile, {}), _jsx("span", { className: "ck-truncate", children: a.name })] }, i))) })), message.content && _jsx("div", { className: "ck-bubble", children: message.content })] }));
40
40
  }
41
41
  const parsed = extractReplies(message.content);
42
42
  const replies = message.replies ?? parsed.replies;