research-agent-ui 0.1.77 → 0.1.78
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 +19 -1
- package/dist/components/ChatConversation/MessageBubble/FollowUpSuggestions.stories.d.ts +13 -0
- package/dist/components/ChatConversation/MessageBubble/UserMessageHeader.stories.d.ts +19 -0
- package/dist/components/FileUpload/FilePreviewCard.stories.d.ts +15 -0
- package/dist/components/MessageComposer/PastedContentCard.stories.d.ts +10 -0
- package/dist/components/SearchResults/SearchProgressIndicator.stories.d.ts +15 -0
- package/dist/index.cjs +14 -14
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +441 -424
- package/dist/lib/utils.d.ts +5 -0
- package/dist/stories/mocks.d.ts +16 -0
- package/package.json +11 -5
package/dist/lib/utils.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { type ClassValue } from 'clsx';
|
|
2
2
|
export declare function cn(...inputs: ClassValue[]): string;
|
|
3
|
+
/**
|
|
4
|
+
* Formats a message timestamp as a short, locale-aware clock time (e.g. "12:29 PM").
|
|
5
|
+
* Returns an empty string when the value can't be parsed into a valid date.
|
|
6
|
+
*/
|
|
7
|
+
export declare const formatMessageTime: (date: Date | string | number) => string;
|
|
3
8
|
export declare const formatTimeDifference: (date1: Date | string, date2: Date | string) => string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared mock data for Storybook stories.
|
|
3
|
+
*
|
|
4
|
+
* These fixtures let the chat components render in complete isolation — no
|
|
5
|
+
* API calls, auth session, or chat provider required. Everything a story
|
|
6
|
+
* needs (messages, sources, search progress, suggestions) is fabricated here.
|
|
7
|
+
*/
|
|
8
|
+
import type { Section } from '../types/chat';
|
|
9
|
+
import type { UserMessage, AssistantMessage, SourceMessage, SearchQuery } from '../components/ChatConversation/ChatWindow';
|
|
10
|
+
/** A user message fixed to 12:29 PM today so timestamps render predictably. */
|
|
11
|
+
export declare const mockUserMessage: UserMessage;
|
|
12
|
+
export declare const mockAssistantMessage: AssistantMessage;
|
|
13
|
+
export declare const mockSources: SourceMessage['sources'];
|
|
14
|
+
export declare const mockSearchQueries: SearchQuery[];
|
|
15
|
+
/** A fully-populated section (user turn + assistant response + sources). */
|
|
16
|
+
export declare const mockSection: Section;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "research-agent-ui",
|
|
3
3
|
"description": "Chat research agent UI: conversation window, article reader, search config, file uploads, and chat history",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.78",
|
|
5
5
|
"author": "vtempest",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -40,6 +40,8 @@
|
|
|
40
40
|
"dev:cloudflare": "npm run build:cloudflare && wrangler dev --config wrangler.local.jsonc",
|
|
41
41
|
"deploy:cloudflare": "npm run build:cloudflare && wrangler deploy --config wrangler.local.jsonc",
|
|
42
42
|
"type-check": "tsc --noEmit",
|
|
43
|
+
"storybook": "storybook dev -p 6006",
|
|
44
|
+
"build-storybook": "storybook build",
|
|
43
45
|
"prepublishOnly": "bun run build"
|
|
44
46
|
},
|
|
45
47
|
"keywords": [
|
|
@@ -63,19 +65,19 @@
|
|
|
63
65
|
"@radix-ui/react-slot": "^1.2.5",
|
|
64
66
|
"@radix-ui/react-tooltip": "^1.2.9",
|
|
65
67
|
"@ricky0123/vad-web": "^0.0.30",
|
|
66
|
-
"chat-agent-toolkit": "^1.2.
|
|
67
|
-
"domain-rank": "^0.1.
|
|
68
|
+
"chat-agent-toolkit": "^1.2.102",
|
|
69
|
+
"domain-rank": "^0.1.91",
|
|
68
70
|
"drizzle-orm": "^0.45.2",
|
|
69
71
|
"fuse.js": "^7.1.0",
|
|
70
72
|
"class-variance-authority": "^0.7.1",
|
|
71
73
|
"clsx": "^2.1.1",
|
|
72
74
|
"dompurify": "^3.4.9",
|
|
73
|
-
"extract-webpage": "^1.2.
|
|
75
|
+
"extract-webpage": "^1.2.102",
|
|
74
76
|
"search-web-api": "^1.0.59",
|
|
75
77
|
"framer-motion": "^12.40.0",
|
|
76
78
|
"grab-url": "^1.6.22",
|
|
77
79
|
"kokoro-js": "^1.2.1",
|
|
78
|
-
"qwksearch-api-client": "^0.9.
|
|
80
|
+
"qwksearch-api-client": "^0.9.49",
|
|
79
81
|
"html2canvas": "^1.4.1",
|
|
80
82
|
"lucide-react": "^1.17.0",
|
|
81
83
|
"markdown-to-jsx": "^9.8.2",
|
|
@@ -93,8 +95,12 @@
|
|
|
93
95
|
"@types/react": "^19.0.0",
|
|
94
96
|
"@types/react-dom": "^19.0.0",
|
|
95
97
|
"@types/turndown": "^5.0.5",
|
|
98
|
+
"@storybook/react-vite": "^9.0.0",
|
|
99
|
+
"@tailwindcss/vite": "^4.3.0",
|
|
96
100
|
"@vitejs/plugin-react": "^6.0.3",
|
|
97
101
|
"itty-router": "^5.0.24",
|
|
102
|
+
"storybook": "^9.0.0",
|
|
103
|
+
"tailwindcss": "^4.3.0",
|
|
98
104
|
"next": "^16.2.10",
|
|
99
105
|
"react": "^19.2.7",
|
|
100
106
|
"react-dom": "^19.2.7",
|