@tagit/ai-client-react 1.7.0-beta.53.1 → 1.7.0-beta.56.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +131 -14
- package/dist/chat-conversation.d.ts.map +1 -1
- package/dist/chat-conversation.js +72 -22
- package/dist/chat-conversation.js.map +1 -1
- package/dist/chat-history.d.ts.map +1 -1
- package/dist/chat-history.js +43 -8
- package/dist/chat-history.js.map +1 -1
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +25 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +149 -2
- package/dist/provider.js.map +1 -1
- package/package.json +2 -2
- package/src/chat-widget.css +291 -6
package/README.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# @tagit/ai-client-react
|
|
2
2
|
|
|
3
|
-
React integration layer for
|
|
3
|
+
React integration layer for Knotiv AI.
|
|
4
4
|
|
|
5
5
|
Use this package when you want a self-contained chat experience in a React app. It builds on `@tagit/ai-client-core`, which owns the client engine, orchestrator transport, state, and collector emission. The core package README is the source of truth for those engine details.
|
|
6
6
|
|
|
7
|
-
## What Is
|
|
7
|
+
## What Is Knotiv?
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Knotiv is the platform for building governed AI experiences. It gives teams a way to define AI use cases, connect models, optionally attach MCP servers, and shape the orchestration logic that drives the overall experience.
|
|
10
|
+
|
|
11
|
+
## Browser security boundary
|
|
12
|
+
|
|
13
|
+
Use the package from browser code only through a same-origin application route.
|
|
14
|
+
That server-side route holds the Knotiv API key, authenticates the application's
|
|
15
|
+
user, authorizes the Agent and accepted runtime context, and proxies the normal
|
|
16
|
+
or streamed response. Do not put an Orchestrator API key in browser code,
|
|
17
|
+
public environment variables, or a mobile bundle.
|
|
10
18
|
|
|
11
19
|
## What Is the AI Orchestrator?
|
|
12
20
|
|
|
@@ -14,11 +22,11 @@ The AI Orchestrator is the runtime layer that executes a use case. It combines t
|
|
|
14
22
|
|
|
15
23
|
## Why These Packages Exist
|
|
16
24
|
|
|
17
|
-
The `@tagit/ai-client-core` and `@tagit/ai-client-react` packages are the client-side pieces of that system. They connect your app to a
|
|
25
|
+
The `@tagit/ai-client-core` and `@tagit/ai-client-react` packages are the client-side pieces of that system. They connect your app to a Knotiv account and a configured Orchestrator so you can embed AI experiences in a product or website.
|
|
18
26
|
|
|
19
|
-
You need a
|
|
27
|
+
You need a Knotiv account and at least one configured Agent before these packages can drive a real experience. MCP servers are optional, but they can extend the Orchestrator with tools and external capabilities.
|
|
20
28
|
|
|
21
|
-
To learn more, visit [
|
|
29
|
+
To learn more, visit [knotiv.com](https://knotiv.com).
|
|
22
30
|
|
|
23
31
|
This README is the source of truth for integrating the React package.
|
|
24
32
|
|
|
@@ -80,7 +88,7 @@ import { AIClientProvider, ChatWidget } from '@tagit/ai-client-react';
|
|
|
80
88
|
import '@tagit/ai-client-react/chat-widget.css';
|
|
81
89
|
|
|
82
90
|
const client = new AIClient(
|
|
83
|
-
createDefaultConfig('your-use-case-id',
|
|
91
|
+
createDefaultConfig('your-use-case-id', window.location.origin, {
|
|
84
92
|
user: {
|
|
85
93
|
entityId: 'anonymous-or-authenticated-user-id',
|
|
86
94
|
entityidType: 'internal_user_id',
|
|
@@ -107,13 +115,57 @@ export default function App() {
|
|
|
107
115
|
}
|
|
108
116
|
```
|
|
109
117
|
|
|
110
|
-
|
|
118
|
+
This example calls your application's same-origin `POST /v2/chat` route. That
|
|
119
|
+
route adds the server-only Knotiv credential before forwarding the request.
|
|
120
|
+
If the example does not render the default empty state and footer, verify the
|
|
121
|
+
package install, the route, and its server-side authorization before customizing
|
|
122
|
+
anything.
|
|
123
|
+
|
|
124
|
+
### Pass current page context
|
|
125
|
+
|
|
126
|
+
`resolveRequestOptions` runs before each send. Keep the `AIClient` instance
|
|
127
|
+
stable for the conversation while reading the latest React state through a ref:
|
|
128
|
+
|
|
129
|
+
```tsx
|
|
130
|
+
import { useMemo, useRef } from 'react';
|
|
131
|
+
import { AIClient, createDefaultConfig } from '@tagit/ai-client-core';
|
|
132
|
+
|
|
133
|
+
export function useAssistantClient(userId: string, pagePath: string, draftTitle: string) {
|
|
134
|
+
const current = useRef({ pagePath, draftTitle });
|
|
135
|
+
current.current = { pagePath, draftTitle };
|
|
136
|
+
|
|
137
|
+
return useMemo(() => new AIClient(
|
|
138
|
+
createDefaultConfig('your-use-case-id', window.location.origin, {
|
|
139
|
+
user: { entityId: userId, userId },
|
|
140
|
+
resolveRequestOptions() {
|
|
141
|
+
return {
|
|
142
|
+
surface: current.current.pagePath,
|
|
143
|
+
runtimeVariables: {
|
|
144
|
+
'page.path': current.current.pagePath,
|
|
145
|
+
'draft.title': current.current.draftTitle,
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
},
|
|
149
|
+
}),
|
|
150
|
+
), [userId]);
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Pass the router's current path as `pagePath`. The application server still
|
|
155
|
+
validates accepted runtime values and derives the authorized Agent and user
|
|
156
|
+
identity from its own configuration and session. For a production server route
|
|
157
|
+
example, see the [AI Client guide](https://knotiv.gitbook.io/knotiv/embed-and-integrate/ai-client).
|
|
158
|
+
|
|
159
|
+
Use `ChatWidget` for the full launcher, panel, and built-in conversation UI.
|
|
160
|
+
Use `ChatConversation` when your application supplies the surrounding panel or
|
|
161
|
+
page shell. Use `useConversation()` when you render the messages and actions
|
|
162
|
+
yourself.
|
|
111
163
|
|
|
112
164
|
## Focused AI Actions
|
|
113
165
|
|
|
114
166
|
Use `AIActionClient` when a button or page event should run an agent workflow without opening a persistent chat. The component starts the configured request, shows progress, presents human checkpoints only when the workflow asks for input, continues the same workflow, and renders the final Markdown result with copy and download actions.
|
|
115
167
|
|
|
116
|
-
Give the action a dedicated `AIClient` instance.
|
|
168
|
+
Give the action a dedicated `AIClient` instance. The default transport works with the same-origin server route shown above.
|
|
117
169
|
|
|
118
170
|
```tsx
|
|
119
171
|
import { useMemo, useState } from 'react';
|
|
@@ -126,7 +178,7 @@ export function GeneratePackageAction() {
|
|
|
126
178
|
const client = useMemo(
|
|
127
179
|
() => new AIClient(createDefaultConfig(
|
|
128
180
|
'your-use-case-id',
|
|
129
|
-
|
|
181
|
+
window.location.origin,
|
|
130
182
|
)),
|
|
131
183
|
[],
|
|
132
184
|
);
|
|
@@ -245,7 +297,7 @@ The host application owns:
|
|
|
245
297
|
<ChatWidget
|
|
246
298
|
presentation="overlay"
|
|
247
299
|
side="right"
|
|
248
|
-
title="
|
|
300
|
+
title="Knotiv Assistant"
|
|
249
301
|
showBackdrop
|
|
250
302
|
closeOnOutsideClick
|
|
251
303
|
/>
|
|
@@ -460,21 +512,78 @@ const isMobile = useMediaQuery('(max-width: 768px)');
|
|
|
460
512
|
|
|
461
513
|
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).
|
|
462
514
|
|
|
515
|
+
## Private Resources And Attachments
|
|
516
|
+
|
|
517
|
+
When `resources.enabled` and an authenticated resource transport are supplied,
|
|
518
|
+
the stock conversation UI adds:
|
|
519
|
+
|
|
520
|
+
- private TXT, Markdown, CSV, JSON, and PDF upload
|
|
521
|
+
- a recent private resource picker
|
|
522
|
+
- removable conversation attachment chips
|
|
523
|
+
- resource cards on the user messages that referenced them
|
|
524
|
+
|
|
525
|
+
On wider layouts, the picker opens as a sidecar immediately inside the chat:
|
|
526
|
+
to the left of a right-edge chat and to the right of a left-edge chat. It stays
|
|
527
|
+
inline above the composer on compact layouts or whenever less than 300px is
|
|
528
|
+
available beside the chat panel.
|
|
529
|
+
|
|
530
|
+
The host owns authentication and Workspace selection. The SDK sends only
|
|
531
|
+
governed resource IDs to the orchestrator; it does not send storage paths or
|
|
532
|
+
browser-provided account scope.
|
|
533
|
+
|
|
534
|
+
```tsx
|
|
535
|
+
import {
|
|
536
|
+
AIClient,
|
|
537
|
+
FetchConversationResourceTransport,
|
|
538
|
+
createDefaultConfig,
|
|
539
|
+
} from '@tagit/ai-client-core';
|
|
540
|
+
|
|
541
|
+
const resourceTransport = new FetchConversationResourceTransport({
|
|
542
|
+
baseUrl: 'https://beta.knotiv.com',
|
|
543
|
+
accountId,
|
|
544
|
+
contextId: workspaceId,
|
|
545
|
+
headers: async () => ({
|
|
546
|
+
Authorization: `Bearer ${await currentUser.getIdToken()}`,
|
|
547
|
+
}),
|
|
548
|
+
});
|
|
549
|
+
|
|
550
|
+
const client = new AIClient(
|
|
551
|
+
createDefaultConfig(useCaseId, orchestratorUrl, {
|
|
552
|
+
user: { entityId: currentUser.uid, userId: currentUser.uid },
|
|
553
|
+
resources: {
|
|
554
|
+
enabled: true,
|
|
555
|
+
transport: resourceTransport,
|
|
556
|
+
allowUpload: true,
|
|
557
|
+
allowPicker: true,
|
|
558
|
+
},
|
|
559
|
+
}),
|
|
560
|
+
);
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
Custom shells can use `useConversationResources()` for the same list, upload,
|
|
564
|
+
attach, detach, loading, and error state.
|
|
565
|
+
|
|
463
566
|
## Conversation History UI
|
|
464
567
|
|
|
465
568
|
When `conversationHistory.enabled` is configured on the core client, the stock React UI adds first-class history controls:
|
|
466
569
|
|
|
570
|
+
Add authenticated same-origin `/v2/conversations` routes before enabling this
|
|
571
|
+
option; a `/v2/chat` route alone cannot serve history requests.
|
|
572
|
+
|
|
467
573
|
- the widget header shows a conversation history button
|
|
468
574
|
- the empty state shows up to five recent conversations
|
|
469
575
|
- users can load a previous conversation
|
|
470
576
|
- users can rename conversations
|
|
471
577
|
- users can archive conversations
|
|
578
|
+
- users can review archived and deleted conversations
|
|
579
|
+
- users can restore archived conversations or cancel deletion during the configured grace period
|
|
580
|
+
- delete requires inline confirmation and remains reversible during that grace period
|
|
472
581
|
- the New Chat button starts a new durable conversation instead of only clearing local state
|
|
473
582
|
- after New Chat, the empty-state recent conversation list refreshes from the configured history transport
|
|
474
583
|
|
|
475
584
|
```tsx
|
|
476
585
|
const client = new AIClient(
|
|
477
|
-
createDefaultConfig('uc-platform-assistant-v2',
|
|
586
|
+
createDefaultConfig('uc-platform-assistant-v2', window.location.origin, {
|
|
478
587
|
user: {
|
|
479
588
|
entityId: currentUser.uid,
|
|
480
589
|
userId: currentUser.uid,
|
|
@@ -497,6 +606,8 @@ const history = useConversationHistory({ limit: 5 });
|
|
|
497
606
|
await history.loadConversation(conversationId);
|
|
498
607
|
await history.renameConversation(conversationId, 'Campaign planning');
|
|
499
608
|
await history.archiveConversation(conversationId);
|
|
609
|
+
await history.deleteConversation(conversationId);
|
|
610
|
+
await history.restoreConversation(conversationId);
|
|
500
611
|
await history.startNewConversation('New chat');
|
|
501
612
|
```
|
|
502
613
|
|
|
@@ -517,7 +628,7 @@ The host app owns the agent list, default selection, route/page/global policy, a
|
|
|
517
628
|
|
|
518
629
|
```tsx
|
|
519
630
|
const client = new AIClient(
|
|
520
|
-
createDefaultConfig('uc-platform-help',
|
|
631
|
+
createDefaultConfig('uc-platform-help', window.location.origin, {
|
|
521
632
|
user: { entityId: currentUser.uid, userId: currentUser.uid },
|
|
522
633
|
conversationHistory: { enabled: true, surface: window.location.pathname },
|
|
523
634
|
agents: [
|
|
@@ -563,7 +674,7 @@ Use `ChatWidget` when you want the full built-in shell, header, tab, and sizing
|
|
|
563
674
|
Only pass `children` to `ChatWidget` if you intentionally want to replace the built-in conversation body.
|
|
564
675
|
|
|
565
676
|
```tsx
|
|
566
|
-
<ChatWidget mode="overlay" side="right" title="
|
|
677
|
+
<ChatWidget mode="overlay" side="right" title="Knotiv Assistant">
|
|
567
678
|
<CustomConversation />
|
|
568
679
|
</ChatWidget>
|
|
569
680
|
```
|
|
@@ -668,6 +779,12 @@ Use `useConversation()` when the host app wants to render its own shell and only
|
|
|
668
779
|
| No styling | CSS not imported | verify `@tagit/ai-client-react/chat-widget.css` import |
|
|
669
780
|
| Missing body after passing custom JSX | `children` overrides stock body | remove `children` to restore the stock widget |
|
|
670
781
|
| No messages sent | invalid orchestrator config | verify `orchestrator.baseUrl` and `useCaseId`, confirm `baseUrl` does not include `/v2/chat` |
|
|
782
|
+
| Browser reports CORS | request bypasses the same-origin route | point `baseUrl` at `window.location.origin`; confirm the browser requests your own `/v2/chat` route |
|
|
783
|
+
| Same-origin request returns 404 | application route or local proxy is missing | add `POST /v2/chat` to the production server or configure the Vite development proxy |
|
|
784
|
+
| Same-origin request returns 401 or 403 | application authentication or Agent authorization failed | check the signed-in session and the server's allowed Agent mapping; keep the Knotiv key on the server |
|
|
785
|
+
| Runtime variables do not appear in a Run | resolver or server filtering omitted them | inspect `resolveRequestOptions` and the server's accepted runtime fields |
|
|
786
|
+
| Response appears only at the end | proxy buffered the stream or changed its content type | forward the response body and `text/event-stream` content type without buffering |
|
|
787
|
+
| Conversation history fails while chat works | only the chat route is implemented | add authenticated `/v2/conversations` routes before enabling history |
|
|
671
788
|
| V2 request is rejected for missing user | missing shared identity | set `user.entityId`; optionally set `user.userId` when it should differ from the entity id |
|
|
672
789
|
| Runtime import error | unsupported import path | use only documented public exports |
|
|
673
790
|
| Collector events do not appear | collector config incomplete or disabled | confirm `collector.enabled`, `collector.baseUrl`, and `collector.tagId` |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-conversation.d.ts","sourceRoot":"","sources":["../src/chat-conversation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-conversation.d.ts","sourceRoot":"","sources":["../src/chat-conversation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAgElG,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAyED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,qBAAqB,qBA2qBvB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
|
+
import { Check, Copy, FileText, MessageSquare, Paperclip, Pencil, RefreshCw, RotateCcw, Upload, X, } from 'lucide-react';
|
|
5
|
+
import { useConversation, useConversationHistory, useConversationResources } from './provider.js';
|
|
5
6
|
import { ChatTooltip } from './chat-tooltip.js';
|
|
6
7
|
import { ConversationTransitionDialog, useConversationBoundary, } from './conversation-boundary.js';
|
|
7
8
|
import { buildCheckpointContinuationOptions, isWorkflowAwaitingInput, } from './ai-action-state.js';
|
|
@@ -44,6 +45,16 @@ function ConversationPreview({ conversation, onLoad, }) {
|
|
|
44
45
|
const timestamp = formatConversationTimestamp(conversation);
|
|
45
46
|
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] }));
|
|
46
47
|
}
|
|
48
|
+
function resourceTitle(reference, resources) {
|
|
49
|
+
return reference.resource?.title ||
|
|
50
|
+
resources.find((resource) => resource.resourceId === reference.resourceId)?.title ||
|
|
51
|
+
reference.resourceId;
|
|
52
|
+
}
|
|
53
|
+
function ResourceCards({ references, resources, }) {
|
|
54
|
+
if (!references?.length)
|
|
55
|
+
return null;
|
|
56
|
+
return (_jsx("div", { className: "tagIt-chat-message-resources", "aria-label": "Attached resources", children: references.map((reference) => (_jsxs("span", { className: "tagIt-chat-message-resource", children: [_jsx(FileText, { size: 14, "aria-hidden": true }), _jsx("span", { children: resourceTitle(reference, resources) })] }, reference.resourceId))) }));
|
|
57
|
+
}
|
|
47
58
|
/**
|
|
48
59
|
* Fully self-contained chat surface for the TagIt AI client.
|
|
49
60
|
* This renders the default welcome state, message list, streaming indicator,
|
|
@@ -52,6 +63,7 @@ function ConversationPreview({ conversation, onLoad, }) {
|
|
|
52
63
|
export function ChatConversation({ className, scrollToMessageId, highlightMessageId, }) {
|
|
53
64
|
const { messages, sendMessage, cancel, retry, reEditMessage, isLoading, isStreaming, error, lastError, workflowId, workflowStatus, workflowRevision, checkpointPrompt, } = useConversation();
|
|
54
65
|
const conversationHistory = useConversationHistory({ limit: 5 });
|
|
66
|
+
const conversationResources = useConversationResources();
|
|
55
67
|
const conversationBoundary = useConversationBoundary();
|
|
56
68
|
const [inputValue, setInputValue] = useState('');
|
|
57
69
|
const inputValueRef = useRef('');
|
|
@@ -59,13 +71,17 @@ export function ChatConversation({ className, scrollToMessageId, highlightMessag
|
|
|
59
71
|
const checkpointAnswerRef = useRef('');
|
|
60
72
|
const [isReEditMode, setIsReEditMode] = useState(false);
|
|
61
73
|
const [showNoPreviousConversations, setShowNoPreviousConversations] = useState(false);
|
|
74
|
+
const [resourcePickerOpen, setResourcePickerOpen] = useState(false);
|
|
75
|
+
const [resourceSidecarHost, setResourceSidecarHost] = useState(null);
|
|
76
|
+
const [resourceSidecarEnabled, setResourceSidecarEnabled] = useState(false);
|
|
77
|
+
const conversationRootRef = useRef(null);
|
|
62
78
|
const textareaRef = useRef(null);
|
|
79
|
+
const resourceFileRef = useRef(null);
|
|
63
80
|
const [isAtBottom, setIsAtBottom] = useState(true);
|
|
64
81
|
const wasLoadingRef = useRef(false);
|
|
65
82
|
const messagesAreaRef = useRef(null);
|
|
66
83
|
const scrollEndRef = useRef(null);
|
|
67
84
|
const lastUserMsgRef = useRef(null);
|
|
68
|
-
const shouldAutoScrollRef = useRef(true);
|
|
69
85
|
const prevMessageCountRef = useRef(messages.length);
|
|
70
86
|
const highlightedMessageIds = useMemo(() => {
|
|
71
87
|
if (!highlightMessageId)
|
|
@@ -92,6 +108,29 @@ export function ChatConversation({ className, scrollToMessageId, highlightMessag
|
|
|
92
108
|
useEffect(() => {
|
|
93
109
|
checkpointAnswerRef.current = checkpointAnswer;
|
|
94
110
|
}, [checkpointAnswer]);
|
|
111
|
+
useLayoutEffect(() => {
|
|
112
|
+
setResourceSidecarHost(conversationRootRef.current?.closest('.tagIt-chat-widget') ?? null);
|
|
113
|
+
}, []);
|
|
114
|
+
useEffect(() => {
|
|
115
|
+
if (typeof window === 'undefined' || !resourceSidecarHost) {
|
|
116
|
+
setResourceSidecarEnabled(false);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const panel = resourceSidecarHost.querySelector('.tagIt-chat-panel');
|
|
120
|
+
const update = () => {
|
|
121
|
+
const panelWidth = panel?.getBoundingClientRect().width ?? 0;
|
|
122
|
+
setResourceSidecarEnabled(window.innerWidth >= 900 && window.innerWidth - panelWidth >= 300);
|
|
123
|
+
};
|
|
124
|
+
update();
|
|
125
|
+
window.addEventListener('resize', update);
|
|
126
|
+
const observer = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(update);
|
|
127
|
+
if (panel)
|
|
128
|
+
observer?.observe(panel);
|
|
129
|
+
return () => {
|
|
130
|
+
window.removeEventListener('resize', update);
|
|
131
|
+
observer?.disconnect();
|
|
132
|
+
};
|
|
133
|
+
}, [resourceSidecarHost]);
|
|
95
134
|
useEffect(() => conversationBoundary.registerComposer({
|
|
96
135
|
getDraft: () => inputValueRef.current || checkpointAnswerRef.current,
|
|
97
136
|
clearDraft: () => {
|
|
@@ -110,18 +149,7 @@ export function ChatConversation({ className, scrollToMessageId, highlightMessag
|
|
|
110
149
|
return;
|
|
111
150
|
const atBottom = el.scrollHeight - el.scrollTop - el.clientHeight < 60;
|
|
112
151
|
setIsAtBottom(atBottom);
|
|
113
|
-
shouldAutoScrollRef.current = atBottom;
|
|
114
152
|
}, []);
|
|
115
|
-
useLayoutEffect(() => {
|
|
116
|
-
if (!shouldAutoScrollRef.current)
|
|
117
|
-
return;
|
|
118
|
-
const el = messagesAreaRef.current;
|
|
119
|
-
if (!el)
|
|
120
|
-
return;
|
|
121
|
-
if (el.scrollHeight - el.scrollTop - el.clientHeight > 5) {
|
|
122
|
-
el.scrollTop = el.scrollHeight;
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
153
|
useEffect(() => {
|
|
126
154
|
const currCount = messages.length;
|
|
127
155
|
const prevCount = prevMessageCountRef.current;
|
|
@@ -131,7 +159,6 @@ export function ChatConversation({ className, scrollToMessageId, highlightMessag
|
|
|
131
159
|
if (lastMsg?.role === 'user') {
|
|
132
160
|
requestAnimationFrame(() => {
|
|
133
161
|
lastUserMsgRef.current?.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
134
|
-
shouldAutoScrollRef.current = true;
|
|
135
162
|
});
|
|
136
163
|
}
|
|
137
164
|
}
|
|
@@ -142,19 +169,17 @@ export function ChatConversation({ className, scrollToMessageId, highlightMessag
|
|
|
142
169
|
const target = Array.from(messagesAreaRef.current?.querySelectorAll('[data-message-id]') ?? []).find((element) => element.dataset.messageId === scrollToMessageId);
|
|
143
170
|
if (!target)
|
|
144
171
|
return;
|
|
145
|
-
shouldAutoScrollRef.current = false;
|
|
146
172
|
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
147
173
|
}, [messages.length, scrollToMessageId]);
|
|
148
174
|
const scrollToBottom = () => {
|
|
149
175
|
scrollEndRef.current?.scrollIntoView({ behavior: 'smooth' });
|
|
150
|
-
shouldAutoScrollRef.current = true;
|
|
151
176
|
setIsAtBottom(true);
|
|
152
177
|
};
|
|
153
178
|
const handleSubmit = (event) => {
|
|
154
179
|
event.preventDefault();
|
|
155
180
|
const trimmed = inputValue.trim();
|
|
156
181
|
if (trimmed && !isLoading) {
|
|
157
|
-
sendMessage(trimmed);
|
|
182
|
+
sendMessage(trimmed, { resourceReferences: conversationResources.attachments });
|
|
158
183
|
setInputValue('');
|
|
159
184
|
setIsReEditMode(false);
|
|
160
185
|
if (textareaRef.current)
|
|
@@ -187,7 +212,7 @@ export function ChatConversation({ className, scrollToMessageId, highlightMessag
|
|
|
187
212
|
event.preventDefault();
|
|
188
213
|
const trimmed = inputValue.trim();
|
|
189
214
|
if (trimmed && !isLoading) {
|
|
190
|
-
sendMessage(trimmed);
|
|
215
|
+
sendMessage(trimmed, { resourceReferences: conversationResources.attachments });
|
|
191
216
|
setInputValue('');
|
|
192
217
|
setIsReEditMode(false);
|
|
193
218
|
if (textareaRef.current)
|
|
@@ -284,7 +309,14 @@ export function ChatConversation({ className, scrollToMessageId, highlightMessag
|
|
|
284
309
|
conversationHistory.loadingConversationId,
|
|
285
310
|
isEmpty,
|
|
286
311
|
]);
|
|
287
|
-
|
|
312
|
+
const renderResourcePicker = (sidecar) => (_jsx("div", { className: sidecar ? 'tagIt-chat-resource-sidecar' : undefined, children: _jsxs("div", { className: "tagIt-chat-resource-picker", children: [_jsxs("div", { className: "tagIt-chat-resource-picker-header", children: [_jsx("div", { children: _jsx("strong", { children: "My Files" }) }), _jsxs("div", { className: "tagIt-chat-resource-picker-actions", children: [_jsx(ChatTooltip, { label: "Refresh resources", children: _jsx("button", { type: "button", "aria-label": "Refresh resources", onClick: () => void conversationResources.refresh(), children: _jsx(RefreshCw, { size: 16 }) }) }), conversationResources.allowUpload ? (_jsx(ChatTooltip, { label: "Upload file", children: _jsx("button", { type: "button", "aria-label": "Upload file", onClick: () => resourceFileRef.current?.click(), children: _jsx(Upload, { size: 16 }) }) })) : null, sidecar ? (_jsx(ChatTooltip, { label: "Close resources", children: _jsx("button", { type: "button", "aria-label": "Close resources", onClick: () => setResourcePickerOpen(false), children: _jsx(X, { size: 16 }) }) })) : null] })] }), conversationResources.error ? (_jsx("div", { className: "tagIt-chat-resource-error", role: "alert", children: conversationResources.error })) : null, _jsx("div", { className: "tagIt-chat-resource-list", children: conversationResources.isLoading ? (_jsx("div", { className: "tagIt-chat-resource-empty", children: "Loading resources..." })) : conversationResources.resources.length === 0 ? (_jsx("div", { className: "tagIt-chat-resource-empty", children: "No private resources yet." })) : (conversationResources.resources.map((resource) => {
|
|
313
|
+
const selected = conversationResources.attachments.some((reference) => reference.resourceId === resource.resourceId);
|
|
314
|
+
return (_jsxs("button", { type: "button", className: "tagIt-chat-resource-option", "data-selected": selected ? '' : undefined, onClick: () => void (selected
|
|
315
|
+
? conversationResources.detach(resource.resourceId)
|
|
316
|
+
: conversationResources.attach(resource.resourceId)), children: [_jsx(FileText, { size: 17, "aria-hidden": true }), _jsxs("span", { children: [_jsx("strong", { children: resource.title }), _jsx("small", { children: resource.storage?.mimeType || resource.resourceType })] }), selected ? _jsx(Check, { size: 16, "aria-label": "Attached" }) : null] }, resource.resourceId));
|
|
317
|
+
})) })] }) }));
|
|
318
|
+
const showResourceSidecar = Boolean(resourceSidecarHost && resourceSidecarEnabled);
|
|
319
|
+
return (_jsxs("div", { ref: conversationRootRef, 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." }), showRecentConversations ? (_jsxs("div", { className: "tagIt-chat-recent-list", "aria-label": "Recent conversations", children: [_jsx("div", { className: "tagIt-chat-recent-heading", children: "Previous Chats" }), conversationHistory.conversations.slice(0, 5).map((conversation) => (_jsx(ConversationPreview, { conversation: conversation, onLoad: (conversationId) => {
|
|
288
320
|
const selected = conversationHistory.conversations.find((conversation) => conversation.conversationId === conversationId);
|
|
289
321
|
void conversationBoundary.requestTransition({
|
|
290
322
|
kind: 'history',
|
|
@@ -297,10 +329,28 @@ export function ChatConversation({ className, scrollToMessageId, highlightMessag
|
|
|
297
329
|
return (_jsx("div", { ref: isLastUserMsg ? (el) => { lastUserMsgRef.current = el; } : undefined, className: [
|
|
298
330
|
'tagIt-chat-message',
|
|
299
331
|
highlightedMessageIds.has(message.id) ? 'tagIt-chat-message--activity-highlight' : '',
|
|
300
|
-
].filter(Boolean).join(' '), "data-message-id": message.id, "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(ChatTooltip, { label: "Edit", children: _jsx("button", { type: "button", className: "tagIt-chat-message-action-btn", onClick: () => handleReEdit(message.id), "aria-label": "Edit this message", 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.content.trim().length > 0 }) }), !isLoading && !isStreaming && (_jsxs("div", { className: "tagIt-chat-message-actions", children: [_jsx(MessageCopyButton, { text: message.content }), isLastMsg && (_jsx(ChatTooltip, { label: "Regenerate", children: _jsx("button", { type: "button", className: "tagIt-chat-message-action-btn", onClick: handleRetry, "aria-label": "Regenerate response", children: _jsx(RotateCcw, { size: 16 }) }) }))] }))] })) }) }, message.id));
|
|
332
|
+
].filter(Boolean).join(' '), "data-message-id": message.id, "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 }) }), _jsx(ResourceCards, { references: message.resourceReferences, resources: conversationResources.resources }), !isLoading && (_jsxs("div", { className: "tagIt-chat-message-actions", children: [_jsx(MessageCopyButton, { text: message.content }), _jsx(ChatTooltip, { label: "Edit", children: _jsx("button", { type: "button", className: "tagIt-chat-message-action-btn", onClick: () => handleReEdit(message.id), "aria-label": "Edit this message", 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.content.trim().length > 0 }) }), !isLoading && !isStreaming && (_jsxs("div", { className: "tagIt-chat-message-actions", children: [_jsx(MessageCopyButton, { text: message.content }), isLastMsg && (_jsx(ChatTooltip, { label: "Regenerate", children: _jsx("button", { type: "button", className: "tagIt-chat-message-action-btn", onClick: handleRetry, "aria-label": "Regenerate response", children: _jsx(RotateCcw, { size: 16 }) }) }))] }))] })) }) }, message.id));
|
|
301
333
|
}), showTypingIndicator && (_jsx("div", { className: "tagIt-chat-message", "data-role": "assistant", "aria-label": "Assistant is typing", children: _jsx("div", { className: "tagIt-chat-message-body", children: _jsxs("div", { className: "tagIt-chat-typing-indicator", "aria-hidden": "true", children: [_jsx("span", {}), _jsx("span", {}), _jsx("span", {})] }) }) })), showError && (_jsxs("div", { className: "tagIt-chat-error-row", role: "alert", children: [_jsx("span", { className: "tagIt-chat-error-text", children: "Something went wrong - please try again." }), _jsx("button", { type: "button", className: "tagIt-chat-error-retry", onClick: handleRetry, children: "Retry" })] })), messages.length > 0 && _jsx("div", { className: "tagIt-chat-viewport-slack", "aria-hidden": "true" }), _jsx("div", { ref: scrollEndRef })] }), _jsx("div", { className: "tagIt-chat-scroll-to-bottom-anchor", children: _jsx("div", { className: "tagIt-chat-scroll-to-bottom-wrap", "data-visible": !isAtBottom ? '' : undefined, "aria-hidden": isAtBottom, children: _jsx("button", { type: "button", className: "tagIt-chat-scroll-to-bottom", onClick: scrollToBottom, "aria-label": "Scroll to bottom", tabIndex: isAtBottom ? -1 : 0, children: "v" }) }) }), _jsxs("form", { onSubmit: isWaitingAtCheckpoint ? (event) => {
|
|
302
334
|
event.preventDefault();
|
|
303
335
|
handleCheckpointSubmit();
|
|
304
|
-
} : handleSubmit, className: "tagIt-chat-input-form", children: [isWaitingAtCheckpoint ? (_jsx("div", { className: "tagIt-chat-checkpoint-prompt", role: "status", children: _jsx("p", { children: checkpointPrompt }) })) : null,
|
|
336
|
+
} : handleSubmit, className: "tagIt-chat-input-form", children: [isWaitingAtCheckpoint ? (_jsx("div", { className: "tagIt-chat-checkpoint-prompt", role: "status", children: _jsx("p", { children: checkpointPrompt }) })) : null, conversationResources.enabled && conversationResources.attachments.length > 0 ? (_jsx("div", { className: "tagIt-chat-resource-chips", "aria-label": "Conversation attachments", children: conversationResources.attachments.map((reference) => (_jsxs("span", { className: "tagIt-chat-resource-chip", children: [_jsx(FileText, { size: 14, "aria-hidden": true }), _jsx("span", { children: resourceTitle(reference, conversationResources.resources) }), _jsx("button", { type: "button", onClick: () => void conversationResources.detach(reference.resourceId), "aria-label": `Remove ${resourceTitle(reference, conversationResources.resources)}`, children: _jsx(X, { size: 13 }) })] }, reference.resourceId))) })) : null, conversationResources.enabled && resourcePickerOpen && !showResourceSidecar
|
|
337
|
+
? renderResourcePicker(false)
|
|
338
|
+
: null, _jsxs("div", { className: "tagIt-chat-input-wrap", children: [_jsx("textarea", { ref: textareaRef, value: isWaitingAtCheckpoint ? checkpointAnswer : inputValue, onChange: isWaitingAtCheckpoint ? handleCheckpointInputChange : handleInputChange, onKeyDown: isWaitingAtCheckpoint ? handleCheckpointKeyDown : handleKeyDown, placeholder: isWaitingAtCheckpoint ? 'Reply to the agent...' : 'Type your message...', disabled: isLoading, className: "tagIt-chat-input", rows: 3, autoFocus: true }), _jsxs("div", { className: "tagIt-chat-input-actions", children: [conversationResources.enabled &&
|
|
339
|
+
(conversationResources.allowPicker || conversationResources.allowUpload) &&
|
|
340
|
+
!isWaitingAtCheckpoint ? (_jsx(ChatTooltip, { label: conversationResources.allowPicker ? 'Add files' : 'Upload file', side: "right", children: _jsxs("button", { type: "button", className: "tagIt-chat-resource-button", "data-active": resourcePickerOpen ? '' : undefined, onClick: () => {
|
|
341
|
+
if (conversationResources.allowPicker) {
|
|
342
|
+
setResourcePickerOpen((open) => !open);
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
resourceFileRef.current?.click();
|
|
346
|
+
}
|
|
347
|
+
}, "aria-label": conversationResources.allowPicker ? 'Add files' : 'Upload file', children: [_jsx(Paperclip, { size: 17 }), conversationResources.attachments.length > 0 ? (_jsx("span", { children: conversationResources.attachments.length })) : null] }) })) : _jsx("span", {}), isLoading ? (_jsx("button", { type: "button", onClick: () => cancel(), className: "tagIt-chat-stop-button", "aria-label": "Stop generating", children: "Stop" })) : (_jsx("button", { type: "submit", disabled: !(isWaitingAtCheckpoint ? checkpointAnswer : inputValue).trim(), className: "tagIt-chat-send-button", "aria-label": isWaitingAtCheckpoint ? 'Send reply' : 'Send message', children: "Send" }))] })] }), conversationResources.enabled && conversationResources.allowUpload ? (_jsx("input", { ref: resourceFileRef, className: "tagIt-chat-resource-file-input", type: "file", accept: conversationResources.acceptedMimeTypes, disabled: conversationResources.isUploading, onChange: (event) => {
|
|
348
|
+
const file = event.currentTarget.files?.[0];
|
|
349
|
+
if (file)
|
|
350
|
+
void conversationResources.upload(file);
|
|
351
|
+
event.currentTarget.value = '';
|
|
352
|
+
} })) : null] }), _jsx(ConversationTransitionDialog, {}), conversationResources.enabled && resourcePickerOpen && showResourceSidecar
|
|
353
|
+
? createPortal(renderResourcePicker(true), resourceSidecarHost)
|
|
354
|
+
: null] }));
|
|
305
355
|
}
|
|
306
356
|
//# sourceMappingURL=chat-conversation.js.map
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-history.d.ts","sourceRoot":"","sources":["../src/chat-history.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-history.d.ts","sourceRoot":"","sources":["../src/chat-history.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAmNxC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,qBAAqB,qBA+HlE"}
|