@tagit/ai-client-react 0.8.0-beta.6.1 → 0.8.0-beta.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -405,6 +405,45 @@ const isMobile = useMediaQuery('(max-width: 768px)');
405
405
 
406
406
  The `useConversation()` hook exposes `sendMessage()`, `retry()`, `cancel()`, `clearHistory()`, and `reEditMessage()`. The request option bag belongs to the core client and is documented in [`@tagit/ai-client-core`](../ai-client-core/README.md).
407
407
 
408
+ ## Conversation History UI
409
+
410
+ When `conversationHistory.enabled` is configured on the core client, the stock React UI adds first-class history controls:
411
+
412
+ - the widget header shows a conversation history button
413
+ - the empty state shows up to five recent conversations
414
+ - users can load a previous conversation
415
+ - users can rename conversations
416
+ - users can archive conversations
417
+ - the New Chat button starts a new durable conversation instead of only clearing local state
418
+
419
+ ```tsx
420
+ const client = new AIClient(
421
+ createDefaultConfig('uc-platform-assistant-v2', 'https://ai.tagit.live', {
422
+ user: {
423
+ entityId: currentUser.uid,
424
+ userId: currentUser.uid,
425
+ },
426
+ conversationHistory: {
427
+ enabled: true,
428
+ recentLimit: 5,
429
+ surface: window.location.pathname,
430
+ source: 'platform',
431
+ },
432
+ })
433
+ );
434
+ ```
435
+
436
+ For custom shells, use `useConversationHistory()` to render your own list, picker, rename action, archive action, or recent-conversation empty state.
437
+
438
+ ```tsx
439
+ const history = useConversationHistory({ limit: 5 });
440
+
441
+ await history.loadConversation(conversationId);
442
+ await history.renameConversation(conversationId, 'Campaign planning');
443
+ await history.archiveConversation(conversationId);
444
+ await history.startNewConversation('New chat');
445
+ ```
446
+
408
447
  ## `ChatConversation`
409
448
 
410
449
  Use `ChatConversation` when you want a lighter conversation surface and you are already handling the shell yourself.
@@ -1 +1 @@
1
- {"version":3,"file":"chat-conversation.d.ts","sourceRoot":"","sources":["../src/chat-conversation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAqCzF,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE,qBAAqB,qBAmUpE"}
1
+ {"version":3,"file":"chat-conversation.d.ts","sourceRoot":"","sources":["../src/chat-conversation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAqCzF,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4CD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE,qBAAqB,qBAiVpE"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
3
- import { Check, Copy, Pencil, RotateCcw } from 'lucide-react';
4
- import { useConversation } from './provider.js';
3
+ import { Check, Copy, MessageSquare, Pencil, RotateCcw } from 'lucide-react';
4
+ import { useConversation, useConversationHistory } from './provider.js';
5
5
  import { ContentBlockRenderer } from './renderers/ContentBlockRenderer.js';
6
6
  function MessageCopyButton({ text }) {
7
7
  const [copied, setCopied] = useState(false);
@@ -21,6 +21,26 @@ function MessageCopyButton({ text }) {
21
21
  };
22
22
  return (_jsx("button", { type: "button", className: "tagIt-chat-message-action-btn", onClick: handleCopy, "data-copied": copied ? '' : undefined, "aria-label": copied ? 'Copied' : 'Copy message', title: copied ? 'Copied!' : 'Copy', children: copied ? _jsx(Check, { size: 16 }) : _jsx(Copy, { size: 16 }) }));
23
23
  }
24
+ function formatConversationTimestamp(summary) {
25
+ const raw = summary.lastMessageAt || summary.updatedAt || summary.createdAt;
26
+ if (!raw)
27
+ return '';
28
+ const date = new Date(raw);
29
+ if (Number.isNaN(date.getTime()))
30
+ return '';
31
+ return new Intl.DateTimeFormat(undefined, {
32
+ month: 'short',
33
+ day: 'numeric',
34
+ hour: 'numeric',
35
+ minute: '2-digit',
36
+ }).format(date);
37
+ }
38
+ function ConversationPreview({ conversation, onLoad, }) {
39
+ const label = conversation.title?.trim() || 'Untitled conversation';
40
+ const preview = conversation.lastMessagePreview?.trim();
41
+ const timestamp = formatConversationTimestamp(conversation);
42
+ return (_jsxs("button", { type: "button", className: "tagIt-chat-recent-conversation", onClick: () => onLoad(conversation.conversationId), children: [_jsx("span", { className: "tagIt-chat-recent-icon", "aria-hidden": true, children: _jsx(MessageSquare, { size: 15 }) }), _jsxs("span", { className: "tagIt-chat-recent-main", children: [_jsx("span", { className: "tagIt-chat-recent-title", children: label }), preview ? _jsx("span", { className: "tagIt-chat-recent-preview", children: preview }) : null] }), timestamp ? _jsx("span", { className: "tagIt-chat-recent-time", children: timestamp }) : null] }));
43
+ }
24
44
  /**
25
45
  * Fully self-contained chat surface for the TagIt AI client.
26
46
  * This renders the default welcome state, message list, tool call output,
@@ -28,6 +48,7 @@ function MessageCopyButton({ text }) {
28
48
  */
29
49
  export function ChatConversation({ className }) {
30
50
  const { messages, sendMessage, cancel, retry, reEditMessage, isLoading, isStreaming, error, lastError, } = useConversation();
51
+ const conversationHistory = useConversationHistory({ limit: 5 });
31
52
  const [inputValue, setInputValue] = useState('');
32
53
  const [isReEditMode, setIsReEditMode] = useState(false);
33
54
  const textareaRef = useRef(null);
@@ -148,7 +169,9 @@ export function ChatConversation({ className }) {
148
169
  const lastMsg = messages.length > 0 ? messages[messages.length - 1] : null;
149
170
  const showTypingIndicator = isLoading && !(isStreaming && lastMsg?.role === 'assistant');
150
171
  const showError = Boolean(error) && !isLoading && lastError?.code !== 'CANCELED';
151
- return (_jsxs("div", { className: ['tagIt-chat-conversation', className || ''].join(' ').trim(), children: [_jsxs("div", { className: "tagIt-chat-viewport", ref: messagesAreaRef, onScroll: handleScroll, role: "log", "aria-label": "Conversation", "aria-live": "polite", children: [isEmpty && (_jsxs("div", { className: "tagIt-chat-empty", children: [_jsx("div", { className: "tagIt-chat-empty-icon", "aria-hidden": "true", children: "Chat" }), _jsx("h2", { className: "tagIt-chat-empty-title", children: "How can I help?" }), _jsx("p", { className: "tagIt-chat-empty-subtitle", children: "Ask me anything to get started." })] })), messages.map((message, index) => {
172
+ return (_jsxs("div", { className: ['tagIt-chat-conversation', className || ''].join(' ').trim(), children: [_jsxs("div", { className: "tagIt-chat-viewport", ref: messagesAreaRef, onScroll: handleScroll, role: "log", "aria-label": "Conversation", "aria-live": "polite", children: [isEmpty && (_jsxs("div", { className: "tagIt-chat-empty", children: [_jsx("div", { className: "tagIt-chat-empty-icon", "aria-hidden": "true", children: "Chat" }), _jsx("h2", { className: "tagIt-chat-empty-title", children: "How can I help?" }), _jsx("p", { className: "tagIt-chat-empty-subtitle", children: "Ask me anything to get started." }), conversationHistory.enabled && conversationHistory.conversations.length > 0 ? (_jsx("div", { className: "tagIt-chat-recent-list", "aria-label": "Recent conversations", children: conversationHistory.conversations.slice(0, 5).map((conversation) => (_jsx(ConversationPreview, { conversation: conversation, onLoad: (conversationId) => {
173
+ void conversationHistory.loadConversation(conversationId);
174
+ } }, conversation.conversationId))) })) : null] })), messages.map((message, index) => {
152
175
  const isLastMsg = index === messages.length - 1;
153
176
  const isLastUserMsg = message.role === 'user' && isLastMsg;
154
177
  return (_jsx("div", { ref: isLastUserMsg ? (el) => { lastUserMsgRef.current = el; } : undefined, className: "tagIt-chat-message", "data-role": message.role, children: _jsx("div", { className: "tagIt-chat-message-body", children: message.role === 'user' ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "tagIt-chat-message-bubble", children: _jsx(ContentBlockRenderer, { role: message.role, content: message.content }) }), !isLoading && (_jsxs("div", { className: "tagIt-chat-message-actions", children: [_jsx(MessageCopyButton, { text: message.content }), _jsx("button", { type: "button", className: "tagIt-chat-message-action-btn", onClick: () => handleReEdit(message.id), "aria-label": "Edit this message", title: "Edit", children: _jsx(Pencil, { size: 16 }) })] }))] })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "tagIt-chat-assistant-content", children: _jsx(ContentBlockRenderer, { role: message.role, content: message.content, showStreamingCursor: isStreaming && isLastMsg }) }), message.toolCalls && message.toolCalls.length > 0 && (_jsx("div", { className: "tagIt-chat-tool-calls", children: message.toolCalls.map((tool, idx) => (_jsxs("div", { className: "tagIt-chat-tool-call", children: [_jsx("span", { className: "tagIt-chat-tool-name", children: tool.name }), tool.status && (_jsx("span", { className: `tagIt-chat-tool-status tagIt-chat-tool-status-${tool.status}`, children: tool.status }))] }, idx))) })), !isLoading && !isStreaming && (_jsxs("div", { className: "tagIt-chat-message-actions", children: [_jsx(MessageCopyButton, { text: message.content }), isLastMsg && (_jsx("button", { type: "button", className: "tagIt-chat-message-action-btn", onClick: handleRetry, "aria-label": "Regenerate response", title: "Regenerate", children: _jsx(RotateCcw, { size: 16 }) }))] }))] })) }) }, message.id));
@@ -1 +1 @@
1
- {"version":3,"file":"chat-conversation.js","sourceRoot":"","sources":["../src/chat-conversation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-conversation.js","sourceRoot":"","sources":["../src/chat-conversation.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface ChatHistoryPanelProps {
3
+ onClose: () => void;
4
+ }
5
+ export declare function ChatHistoryPanel({ onClose }: ChatHistoryPanelProps): React.JSX.Element;
6
+ //# sourceMappingURL=chat-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-history.d.ts","sourceRoot":"","sources":["../src/chat-history.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAmHxC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,qBAAqB,qBAkElE"}
@@ -0,0 +1,51 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Archive, Check, History, Pencil, RefreshCw, X } from 'lucide-react';
4
+ import { useConversationHistory } from './provider.js';
5
+ function formatHistoryDate(summary) {
6
+ const raw = summary.lastMessageAt || summary.updatedAt || summary.createdAt;
7
+ if (!raw)
8
+ return 'No activity yet';
9
+ const date = new Date(raw);
10
+ if (Number.isNaN(date.getTime()))
11
+ return 'No activity yet';
12
+ return new Intl.DateTimeFormat(undefined, {
13
+ month: 'short',
14
+ day: 'numeric',
15
+ year: 'numeric',
16
+ hour: 'numeric',
17
+ minute: '2-digit',
18
+ }).format(date);
19
+ }
20
+ function ConversationHistoryRow({ conversation, active, allowRename, allowArchive, onLoad, onRename, onArchive, }) {
21
+ const [isRenaming, setIsRenaming] = useState(false);
22
+ const [title, setTitle] = useState(conversation.title || '');
23
+ const displayTitle = conversation.title?.trim() || 'Untitled conversation';
24
+ const preview = conversation.lastMessagePreview?.trim();
25
+ return (_jsxs("div", { className: "tagIt-chat-history-row", "data-active": active ? '' : undefined, children: [_jsxs("button", { type: "button", className: "tagIt-chat-history-row-main", onClick: () => onLoad(conversation.conversationId), disabled: active || isRenaming, children: [_jsx("span", { className: "tagIt-chat-history-row-title", children: displayTitle }), preview ? _jsx("span", { className: "tagIt-chat-history-row-preview", children: preview }) : null, _jsx("span", { className: "tagIt-chat-history-row-meta", children: active ? 'Current conversation' : formatHistoryDate(conversation) })] }), isRenaming ? (_jsxs("form", { className: "tagIt-chat-history-rename", onSubmit: (event) => {
26
+ event.preventDefault();
27
+ const nextTitle = title.trim();
28
+ if (!nextTitle)
29
+ return;
30
+ onRename(conversation.conversationId, nextTitle);
31
+ setIsRenaming(false);
32
+ }, children: [_jsx("input", { value: title, onChange: (event) => setTitle(event.target.value), "aria-label": "Conversation title" }), _jsx("button", { type: "submit", "aria-label": "Save title", title: "Save title", children: _jsx(Check, { size: 16 }) }), _jsx("button", { type: "button", "aria-label": "Cancel rename", title: "Cancel", onClick: () => {
33
+ setTitle(conversation.title || '');
34
+ setIsRenaming(false);
35
+ }, children: _jsx(X, { size: 16 }) })] })) : (_jsxs("div", { className: "tagIt-chat-history-row-actions", children: [allowRename ? (_jsx("button", { type: "button", "aria-label": "Rename conversation", title: "Rename", onClick: () => setIsRenaming(true), children: _jsx(Pencil, { size: 16 }) })) : null, allowArchive && !active ? (_jsx("button", { type: "button", "aria-label": "Archive conversation", title: "Archive", onClick: () => onArchive(conversation.conversationId), children: _jsx(Archive, { size: 16 }) })) : null] }))] }));
36
+ }
37
+ export function ChatHistoryPanel({ onClose }) {
38
+ const history = useConversationHistory();
39
+ const allowRename = true;
40
+ const allowArchive = true;
41
+ return (_jsxs("section", { className: "tagIt-chat-history-panel", "aria-label": "Conversation history", children: [_jsxs("header", { className: "tagIt-chat-history-header", children: [_jsxs("div", { children: [_jsxs("div", { className: "tagIt-chat-history-eyebrow", children: [_jsx(History, { size: 15 }), "History"] }), _jsx("h3", { children: "Conversations" })] }), _jsxs("div", { className: "tagIt-chat-history-header-actions", children: [_jsx("button", { type: "button", "aria-label": "Refresh conversations", title: "Refresh", onClick: () => {
42
+ void history.refresh();
43
+ }, children: _jsx(RefreshCw, { size: 17 }) }), _jsx("button", { type: "button", "aria-label": "Close history", title: "Close", onClick: onClose, children: _jsx(X, { size: 18 }) })] })] }), history.error ? _jsx("div", { className: "tagIt-chat-history-error", children: history.error }) : null, !history.enabled ? (_jsx("div", { className: "tagIt-chat-history-empty", children: "Conversation history is not enabled for this assistant." })) : history.isLoading && history.conversations.length === 0 ? (_jsx("div", { className: "tagIt-chat-history-empty", children: "Loading conversations..." })) : history.conversations.length === 0 ? (_jsx("div", { className: "tagIt-chat-history-empty", children: "No saved conversations yet." })) : (_jsx("div", { className: "tagIt-chat-history-list", children: history.conversations.map((conversation) => (_jsx(ConversationHistoryRow, { conversation: conversation, active: conversation.conversationId === history.activeConversationId, allowRename: allowRename, allowArchive: allowArchive, onLoad: (conversationId) => {
44
+ void history.loadConversation(conversationId).then(onClose);
45
+ }, onRename: (conversationId, title) => {
46
+ void history.renameConversation(conversationId, title);
47
+ }, onArchive: (conversationId) => {
48
+ void history.archiveConversation(conversationId);
49
+ } }, conversation.conversationId))) }))] }));
50
+ }
51
+ //# sourceMappingURL=chat-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../src/chat-history.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-widget.d.ts","sourceRoot":"","sources":["../src/chat-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-widget.d.ts","sourceRoot":"","sources":["../src/chat-widget.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useRef, useState } from 'react';
3
- import { SquareArrowOutUpRight, X } from 'lucide-react';
3
+ import { History, SquareArrowOutUpRight, X } from 'lucide-react';
4
4
  import { ChatConversation } from './chat-conversation.js';
5
+ import { ChatHistoryPanel } from './chat-history.js';
5
6
  import { useAIClient } from './provider.js';
6
7
  function resolveTheme(theme) {
7
8
  if (theme === 'light' || theme === 'dark') {
@@ -17,6 +18,7 @@ export function ChatWidget({ presentation, mode = 'overlay', dockMode = 'page',
17
18
  const [internalWidth, setInternalWidth] = useState(typeof width === 'number' ? `${width}px` : String(width));
18
19
  const [resolvedTheme, setResolvedTheme] = useState(() => resolveTheme(theme));
19
20
  const [isMobileViewport, setIsMobileViewport] = useState(false);
21
+ const [historyOpen, setHistoryOpen] = useState(false);
20
22
  const panelRef = useRef(null);
21
23
  const client = useAIClient();
22
24
  const isControlled = typeof open === 'boolean';
@@ -102,6 +104,21 @@ export function ChatWidget({ presentation, mode = 'overlay', dockMode = 'page',
102
104
  window.addEventListener('mousemove', onMove);
103
105
  window.addEventListener('mouseup', onUp);
104
106
  };
107
+ const startNewChat = () => {
108
+ if (onNewChat) {
109
+ onNewChat();
110
+ return;
111
+ }
112
+ client.cancel();
113
+ void client.startNewConversation().catch(() => {
114
+ try {
115
+ client.clearHistory();
116
+ }
117
+ catch {
118
+ // The request may still be settling after cancel; state will sync when it finishes.
119
+ }
120
+ });
121
+ };
105
122
  const cssVars = useMemo(() => {
106
123
  const vars = {
107
124
  ['--tagIt-chat-bg']: activeColorScheme?.bg,
@@ -151,13 +168,6 @@ export function ChatWidget({ presentation, mode = 'overlay', dockMode = 'page',
151
168
  'tagIt-chat-tab',
152
169
  tabLabel?.trim() ? '' : 'tagIt-chat-tab-icon-only',
153
170
  isOpen ? 'tagIt-chat-tab-open' : '',
154
- ].join(' ').trim(), "aria-expanded": isOpen, "aria-label": isOpen ? `Close ${accessibleLabel}` : `Open ${accessibleLabel}`, title: hoverTitle, onClick: () => setOpen(!isOpen), children: [_jsx("span", { className: "tagIt-chat-tab-icon", "aria-hidden": true, children: isOpen ? collapseIcon : tabIconUrl ? _jsx("img", { src: tabIconUrl, alt: "" }) : tabIcon || 'AI' }), tabLabel?.trim() ? _jsx("span", { className: "tagIt-chat-tab-label", children: tabLabel }) : null] }), _jsxs("aside", { ref: panelRef, className: `tagIt-chat-panel ${isOpen ? 'tagIt-chat-panel-open' : ''}`, children: [canResize ? (_jsx("button", { type: "button", className: "tagIt-chat-resize-handle", "aria-label": "Resize chat panel", onMouseDown: startResize })) : null, _jsxs("header", { className: "tagIt-chat-panel-header", children: [_jsxs("div", { className: "tagIt-chat-panel-title-wrap", children: [titleIconUrl?.trim() ? (_jsx("img", { src: titleIconUrl, alt: "", "aria-hidden": true, className: "tagIt-chat-panel-title-icon" })) : null, _jsx("h2", { children: title })] }), _jsxs("div", { className: "tagIt-chat-panel-header-actions", children: [_jsx("button", { type: "button", className: "tagIt-chat-header-btn", "aria-label": "New chat", title: "New chat", onClick: () => {
155
- if (onNewChat) {
156
- onNewChat();
157
- return;
158
- }
159
- client.cancel();
160
- client.clearHistory();
161
- }, children: _jsx(SquareArrowOutUpRight, { size: 22 }) }), _jsx("button", { type: "button", className: "tagIt-chat-close", "aria-label": "Close chat", onClick: () => setOpen(false), children: _jsx(X, { size: 22 }) })] })] }), _jsx("div", { className: "tagIt-chat-panel-body", children: children === undefined ? _jsx(ChatConversation, {}) : children })] })] }));
171
+ ].join(' ').trim(), "aria-expanded": isOpen, "aria-label": isOpen ? `Close ${accessibleLabel}` : `Open ${accessibleLabel}`, title: hoverTitle, onClick: () => setOpen(!isOpen), children: [_jsx("span", { className: "tagIt-chat-tab-icon", "aria-hidden": true, children: isOpen ? collapseIcon : tabIconUrl ? _jsx("img", { src: tabIconUrl, alt: "" }) : tabIcon || 'AI' }), tabLabel?.trim() ? _jsx("span", { className: "tagIt-chat-tab-label", children: tabLabel }) : null] }), _jsxs("aside", { ref: panelRef, className: `tagIt-chat-panel ${isOpen ? 'tagIt-chat-panel-open' : ''}`, children: [canResize ? (_jsx("button", { type: "button", className: "tagIt-chat-resize-handle", "aria-label": "Resize chat panel", onMouseDown: startResize })) : null, _jsxs("header", { className: "tagIt-chat-panel-header", children: [_jsxs("div", { className: "tagIt-chat-panel-title-wrap", children: [titleIconUrl?.trim() ? (_jsx("img", { src: titleIconUrl, alt: "", "aria-hidden": true, className: "tagIt-chat-panel-title-icon" })) : null, _jsx("h2", { children: title })] }), _jsxs("div", { className: "tagIt-chat-panel-header-actions", children: [_jsx("button", { type: "button", className: "tagIt-chat-header-btn", "aria-label": "Conversation history", title: "Conversation history", onClick: () => setHistoryOpen((value) => !value), children: _jsx(History, { size: 22 }) }), _jsx("button", { type: "button", className: "tagIt-chat-header-btn", "aria-label": "New chat", title: "New chat", onClick: startNewChat, children: _jsx(SquareArrowOutUpRight, { size: 22 }) }), _jsx("button", { type: "button", className: "tagIt-chat-close", "aria-label": "Close chat", onClick: () => setOpen(false), children: _jsx(X, { size: 22 }) })] })] }), _jsxs("div", { className: "tagIt-chat-panel-body", children: [children === undefined ? _jsx(ChatConversation, {}) : children, historyOpen ? _jsx(ChatHistoryPanel, { onClose: () => setHistoryOpen(false) }) : null] })] })] }));
162
172
  }
163
173
  //# sourceMappingURL=chat-widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-widget.js","sourceRoot":"","sources":["../src/chat-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-widget.js","sourceRoot":"","sources":["../src/chat-widget.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -21,7 +21,8 @@
21
21
  * }
22
22
  * ```
23
23
  */
24
- export { AIClientProvider, useAIClient, useConversation, useClientEvents, } from './provider.js';
24
+ export { AIClientProvider, useAIClient, useConversation, useConversationHistory, useClientEvents, type ConversationHistoryState, } from './provider.js';
25
25
  export { ChatWidget, type ChatWidgetProps, type ChatWidgetMode, type ChatWidgetPresentation, type ChatWidgetMobilePresentation, type ChatWidgetSide, type ChatWidgetTheme, type ChatColorScheme, } from './chat-widget.js';
26
26
  export { ChatConversation, type ChatConversationProps, } from './chat-conversation.js';
27
+ export { ChatHistoryPanel, type ChatHistoryPanelProps, } from './chat-history.js';
27
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,KAAK,wBAAwB,GAC9B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -21,7 +21,8 @@
21
21
  * }
22
22
  * ```
23
23
  */
24
- export { AIClientProvider, useAIClient, useConversation, useClientEvents, } from './provider.js';
24
+ export { AIClientProvider, useAIClient, useConversation, useConversationHistory, useClientEvents, } from './provider.js';
25
25
  export { ChatWidget, } from './chat-widget.js';
26
26
  export { ChatConversation, } from './chat-conversation.js';
27
+ export { ChatHistoryPanel, } from './chat-history.js';
27
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,GAQX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,eAAe,GAEhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,GAQX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React, { ReactNode } from 'react';
2
- import type { AIClient, ClientEvent, SendMessageOptions } from '@tagit/ai-client-core';
2
+ import type { AIClient, ClientEvent, ConversationHistoryListOptions, ConversationSummary, SendMessageOptions } from '@tagit/ai-client-core';
3
3
  interface AIClientProviderProps {
4
4
  client: AIClient;
5
5
  children: ReactNode;
@@ -32,6 +32,26 @@ export declare function useConversation(): {
32
32
  workflowStatus?: string;
33
33
  checkpointPrompt?: string;
34
34
  };
35
+ export interface ConversationHistoryState {
36
+ enabled: boolean;
37
+ conversations: ConversationSummary[];
38
+ isLoading: boolean;
39
+ error: string | null;
40
+ nextPageToken?: string;
41
+ activeConversationId: string;
42
+ refresh: (options?: ConversationHistoryListOptions) => Promise<void>;
43
+ loadConversation: (conversationId: string) => Promise<void>;
44
+ startNewConversation: (title?: string) => Promise<void>;
45
+ renameConversation: (conversationId: string, title: string) => Promise<void>;
46
+ archiveConversation: (conversationId: string) => Promise<void>;
47
+ }
48
+ /**
49
+ * Hook for durable conversation history UX.
50
+ *
51
+ * This is intentionally UI-state focused: core owns transport behavior,
52
+ * while React components can render loading/error/list state consistently.
53
+ */
54
+ export declare function useConversationHistory(options?: ConversationHistoryListOptions): ConversationHistoryState;
35
55
  /**
36
56
  * Hook to listen for specific client events
37
57
  */
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAgD,MAAM,OAAO,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAqB,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAO1G,UAAU,qBAAqB;IAC7B,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,qBAAqB,qBAM3E;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAMtC;AAED;;GAEG;AACH,wBAAgB,eAAe;2BAaX,MAAM,YAAY,kBAAkB;;sBAWnC,kBAAkB;;+BAgBS,MAAM,KAAG,MAAM,GAAG,IAAI;;;;;;;;;;;EAcrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,QAMrE"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAgD,MAAM,OAAO,CAAC;AACvF,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,8BAA8B,EAE9B,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAO/B,UAAU,qBAAqB;IAC7B,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,qBAAqB,qBAM3E;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAMtC;AAED;;GAEG;AACH,wBAAgB,eAAe;2BAaX,MAAM,YAAY,kBAAkB;;sBAWnC,kBAAkB;;+BAgBS,MAAM,KAAG,MAAM,GAAG,IAAI;;;;;;;;;;;EAcrE;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,gBAAgB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,oBAAoB,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,kBAAkB,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,mBAAmB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,8BAA8B,GAAG,wBAAwB,CAuIzG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,QAMrE"}
package/dist/provider.js CHANGED
@@ -64,6 +64,135 @@ export function useConversation() {
64
64
  reEditMessage,
65
65
  };
66
66
  }
67
+ /**
68
+ * Hook for durable conversation history UX.
69
+ *
70
+ * This is intentionally UI-state focused: core owns transport behavior,
71
+ * while React components can render loading/error/list state consistently.
72
+ */
73
+ export function useConversationHistory(options) {
74
+ const client = useAIClient();
75
+ const [activeConversationId, setActiveConversationId] = useState(() => client.getState().id);
76
+ const [conversations, setConversations] = useState([]);
77
+ const [nextPageToken, setNextPageToken] = useState();
78
+ const [isLoading, setIsLoading] = useState(false);
79
+ const [error, setError] = useState(null);
80
+ const [enabled, setEnabled] = useState(true);
81
+ useEffect(() => {
82
+ return client.on(() => {
83
+ setActiveConversationId(client.getState().id);
84
+ });
85
+ }, [client]);
86
+ const refresh = useCallback(async (refreshOptions) => {
87
+ setIsLoading(true);
88
+ setError(null);
89
+ try {
90
+ const result = await client.listConversations({
91
+ ...options,
92
+ ...refreshOptions,
93
+ });
94
+ setConversations(result.conversations);
95
+ setNextPageToken(result.nextPageToken);
96
+ setEnabled(true);
97
+ }
98
+ catch (err) {
99
+ const message = err instanceof Error ? err.message : 'Unable to load conversations.';
100
+ setError(message);
101
+ if (message.toLowerCase().includes('conversation history')) {
102
+ setEnabled(false);
103
+ }
104
+ }
105
+ finally {
106
+ setIsLoading(false);
107
+ }
108
+ }, [client, options?.limit, options?.pageToken, options?.status, options?.surface, options?.useCaseId, options?.userId]);
109
+ const loadConversation = useCallback(async (conversationId) => {
110
+ setIsLoading(true);
111
+ setError(null);
112
+ try {
113
+ await client.loadConversation(conversationId, {
114
+ useCaseId: options?.useCaseId,
115
+ userId: options?.userId,
116
+ });
117
+ await refresh();
118
+ }
119
+ catch (err) {
120
+ setError(err instanceof Error ? err.message : 'Unable to load conversation.');
121
+ }
122
+ finally {
123
+ setIsLoading(false);
124
+ }
125
+ }, [client, options?.useCaseId, options?.userId, refresh]);
126
+ const startNewConversation = useCallback(async (title) => {
127
+ setIsLoading(true);
128
+ setError(null);
129
+ try {
130
+ await client.startNewConversation({
131
+ title,
132
+ useCaseId: options?.useCaseId,
133
+ userId: options?.userId,
134
+ surface: options?.surface,
135
+ });
136
+ await refresh();
137
+ }
138
+ catch (err) {
139
+ setError(err instanceof Error ? err.message : 'Unable to start a new conversation.');
140
+ }
141
+ finally {
142
+ setIsLoading(false);
143
+ }
144
+ }, [client, options?.surface, options?.useCaseId, options?.userId, refresh]);
145
+ const renameConversation = useCallback(async (conversationId, title) => {
146
+ setIsLoading(true);
147
+ setError(null);
148
+ try {
149
+ await client.renameConversation(conversationId, title, {
150
+ useCaseId: options?.useCaseId,
151
+ userId: options?.userId,
152
+ });
153
+ await refresh();
154
+ }
155
+ catch (err) {
156
+ setError(err instanceof Error ? err.message : 'Unable to rename conversation.');
157
+ }
158
+ finally {
159
+ setIsLoading(false);
160
+ }
161
+ }, [client, options?.useCaseId, options?.userId, refresh]);
162
+ const archiveConversation = useCallback(async (conversationId) => {
163
+ setIsLoading(true);
164
+ setError(null);
165
+ try {
166
+ await client.archiveConversation(conversationId, {
167
+ useCaseId: options?.useCaseId,
168
+ userId: options?.userId,
169
+ });
170
+ await refresh();
171
+ }
172
+ catch (err) {
173
+ setError(err instanceof Error ? err.message : 'Unable to archive conversation.');
174
+ }
175
+ finally {
176
+ setIsLoading(false);
177
+ }
178
+ }, [client, options?.useCaseId, options?.userId, refresh]);
179
+ useEffect(() => {
180
+ void refresh();
181
+ }, [refresh]);
182
+ return {
183
+ enabled,
184
+ conversations,
185
+ isLoading,
186
+ error,
187
+ nextPageToken,
188
+ activeConversationId,
189
+ refresh,
190
+ loadConversation,
191
+ startNewConversation,
192
+ renameConversation,
193
+ archiveConversation,
194
+ };
195
+ }
67
196
  /**
68
197
  * Hook to listen for specific client events
69
198
  */
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tagit/ai-client-react",
3
- "version": "0.8.0-beta.6.1",
3
+ "version": "0.8.0-beta.7.1",
4
4
  "description": "Self-contained React chat widget and hooks for TagIt AI client",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -37,7 +37,7 @@
37
37
  }
38
38
  },
39
39
  "dependencies": {
40
- "@tagit/ai-client-core": "0.8.0-beta.6.1",
40
+ "@tagit/ai-client-core": "0.8.0-beta.7.1",
41
41
  "highlight.js": "^11.11.1",
42
42
  "lucide-react": "^1.7.0",
43
43
  "react-markdown": "^10.1.0",
@@ -512,6 +512,236 @@
512
512
  color: var(--tagIt-chat-muted);
513
513
  }
514
514
 
515
+ .tagIt-chat-recent-list {
516
+ width: min(100%, 420px);
517
+ margin-top: 22px;
518
+ display: flex;
519
+ flex-direction: column;
520
+ gap: 8px;
521
+ }
522
+
523
+ .tagIt-chat-recent-conversation {
524
+ width: 100%;
525
+ border: 1px solid color-mix(in srgb, var(--tagIt-chat-border) 88%, transparent);
526
+ border-radius: 12px;
527
+ padding: 10px 12px;
528
+ background: color-mix(in srgb, var(--tagIt-chat-surface) 88%, transparent);
529
+ color: var(--tagIt-chat-text);
530
+ display: grid;
531
+ grid-template-columns: auto 1fr auto;
532
+ gap: 10px;
533
+ align-items: center;
534
+ text-align: left;
535
+ cursor: pointer;
536
+ transition: border-color 0.15s, background 0.15s, transform 0.15s;
537
+ }
538
+
539
+ .tagIt-chat-recent-conversation:hover,
540
+ .tagIt-chat-recent-conversation:focus-visible {
541
+ border-color: color-mix(in srgb, var(--tagIt-chat-primary) 58%, var(--tagIt-chat-border));
542
+ background: color-mix(in srgb, var(--tagIt-chat-surface) 72%, var(--tagIt-chat-primary));
543
+ transform: translateY(-1px);
544
+ }
545
+
546
+ .tagIt-chat-recent-icon {
547
+ width: 28px;
548
+ height: 28px;
549
+ border-radius: 999px;
550
+ display: inline-flex;
551
+ align-items: center;
552
+ justify-content: center;
553
+ background: color-mix(in srgb, var(--tagIt-chat-primary) 14%, transparent);
554
+ color: var(--tagIt-chat-primary);
555
+ }
556
+
557
+ .tagIt-chat-recent-main {
558
+ min-width: 0;
559
+ display: flex;
560
+ flex-direction: column;
561
+ gap: 2px;
562
+ }
563
+
564
+ .tagIt-chat-recent-title,
565
+ .tagIt-chat-history-row-title {
566
+ color: var(--tagIt-chat-text);
567
+ font-size: 13px;
568
+ font-weight: 700;
569
+ white-space: nowrap;
570
+ overflow: hidden;
571
+ text-overflow: ellipsis;
572
+ }
573
+
574
+ .tagIt-chat-recent-preview,
575
+ .tagIt-chat-history-row-preview,
576
+ .tagIt-chat-history-row-meta {
577
+ color: var(--tagIt-chat-muted);
578
+ font-size: 12px;
579
+ line-height: 1.35;
580
+ }
581
+
582
+ .tagIt-chat-recent-preview {
583
+ white-space: nowrap;
584
+ overflow: hidden;
585
+ text-overflow: ellipsis;
586
+ }
587
+
588
+ .tagIt-chat-recent-time {
589
+ color: var(--tagIt-chat-muted);
590
+ font-size: 11px;
591
+ white-space: nowrap;
592
+ }
593
+
594
+ .tagIt-chat-history-panel {
595
+ position: absolute;
596
+ inset: 0;
597
+ z-index: 20;
598
+ display: flex;
599
+ flex-direction: column;
600
+ min-height: 0;
601
+ background: var(--tagIt-chat-panel-body-bg);
602
+ color: var(--tagIt-chat-text);
603
+ }
604
+
605
+ .tagIt-chat-history-header {
606
+ min-height: 68px;
607
+ padding: 12px 14px;
608
+ border-bottom: 1px solid var(--tagIt-chat-border);
609
+ display: flex;
610
+ align-items: center;
611
+ justify-content: space-between;
612
+ gap: 12px;
613
+ background: var(--tagIt-chat-panel-header-bg);
614
+ }
615
+
616
+ .tagIt-chat-history-header h3 {
617
+ margin: 2px 0 0;
618
+ font-size: 18px;
619
+ line-height: 1.2;
620
+ }
621
+
622
+ .tagIt-chat-history-eyebrow {
623
+ display: inline-flex;
624
+ align-items: center;
625
+ gap: 6px;
626
+ color: var(--tagIt-chat-muted);
627
+ font-size: 12px;
628
+ font-weight: 700;
629
+ letter-spacing: 0.04em;
630
+ text-transform: uppercase;
631
+ }
632
+
633
+ .tagIt-chat-history-header-actions,
634
+ .tagIt-chat-history-row-actions,
635
+ .tagIt-chat-history-rename {
636
+ display: inline-flex;
637
+ align-items: center;
638
+ gap: 6px;
639
+ }
640
+
641
+ .tagIt-chat-history-header-actions button,
642
+ .tagIt-chat-history-row-actions button,
643
+ .tagIt-chat-history-rename button {
644
+ width: 32px;
645
+ height: 32px;
646
+ border-radius: 8px;
647
+ border: 1px solid var(--tagIt-chat-border);
648
+ background: color-mix(in srgb, var(--tagIt-chat-surface) 72%, transparent);
649
+ color: var(--tagIt-chat-muted);
650
+ display: inline-flex;
651
+ align-items: center;
652
+ justify-content: center;
653
+ padding: 0;
654
+ cursor: pointer;
655
+ }
656
+
657
+ .tagIt-chat-history-header-actions button:hover,
658
+ .tagIt-chat-history-row-actions button:hover,
659
+ .tagIt-chat-history-rename button:hover {
660
+ color: var(--tagIt-chat-text);
661
+ background: color-mix(in srgb, var(--tagIt-chat-border) 48%, transparent);
662
+ }
663
+
664
+ .tagIt-chat-history-list {
665
+ flex: 1;
666
+ min-height: 0;
667
+ overflow-y: auto;
668
+ padding: 12px;
669
+ display: flex;
670
+ flex-direction: column;
671
+ gap: 8px;
672
+ }
673
+
674
+ .tagIt-chat-history-row {
675
+ border: 1px solid color-mix(in srgb, var(--tagIt-chat-border) 84%, transparent);
676
+ border-radius: 12px;
677
+ background: color-mix(in srgb, var(--tagIt-chat-surface) 82%, transparent);
678
+ display: grid;
679
+ grid-template-columns: minmax(0, 1fr) auto;
680
+ gap: 8px;
681
+ align-items: center;
682
+ padding: 10px;
683
+ }
684
+
685
+ .tagIt-chat-history-row[data-active] {
686
+ border-color: color-mix(in srgb, var(--tagIt-chat-primary) 52%, var(--tagIt-chat-border));
687
+ background: color-mix(in srgb, var(--tagIt-chat-primary) 12%, var(--tagIt-chat-surface));
688
+ }
689
+
690
+ .tagIt-chat-history-row-main {
691
+ min-width: 0;
692
+ border: 0;
693
+ padding: 0;
694
+ background: transparent;
695
+ color: inherit;
696
+ display: flex;
697
+ flex-direction: column;
698
+ gap: 3px;
699
+ text-align: left;
700
+ cursor: pointer;
701
+ }
702
+
703
+ .tagIt-chat-history-row-main:disabled {
704
+ cursor: default;
705
+ }
706
+
707
+ .tagIt-chat-history-row-preview {
708
+ display: -webkit-box;
709
+ -webkit-line-clamp: 2;
710
+ -webkit-box-orient: vertical;
711
+ overflow: hidden;
712
+ }
713
+
714
+ .tagIt-chat-history-error,
715
+ .tagIt-chat-history-empty {
716
+ margin: 12px;
717
+ padding: 12px;
718
+ border-radius: 10px;
719
+ border: 1px solid var(--tagIt-chat-border);
720
+ color: var(--tagIt-chat-muted);
721
+ background: color-mix(in srgb, var(--tagIt-chat-surface) 70%, transparent);
722
+ font-size: 13px;
723
+ }
724
+
725
+ .tagIt-chat-history-error {
726
+ border-color: color-mix(in srgb, #ef4444 35%, var(--tagIt-chat-border));
727
+ color: color-mix(in srgb, #ef4444 88%, var(--tagIt-chat-text));
728
+ }
729
+
730
+ .tagIt-chat-history-rename {
731
+ grid-column: 1 / -1;
732
+ }
733
+
734
+ .tagIt-chat-history-rename input {
735
+ min-width: 0;
736
+ flex: 1;
737
+ height: 34px;
738
+ border-radius: 8px;
739
+ border: 1px solid var(--tagIt-chat-border);
740
+ padding: 0 10px;
741
+ background: var(--tagIt-chat-panel-footer-prompt-bg);
742
+ color: var(--tagIt-chat-text);
743
+ }
744
+
515
745
  .tagIt-chat-message {
516
746
  display: flex;
517
747
  flex-direction: column;