@happyvertical/smrt-chat 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +35 -0
- package/CLAUDE.md +1 -0
- package/LICENSE +7 -0
- package/README.md +163 -0
- package/dist/__smrt-register__.d.ts +2 -0
- package/dist/__smrt-register__.d.ts.map +1 -0
- package/dist/chunks/ChatService-Dpzc1Pa5.js +2044 -0
- package/dist/chunks/ChatService-Dpzc1Pa5.js.map +1 -0
- package/dist/collections/AgentSessionCollection.d.ts +57 -0
- package/dist/collections/AgentSessionCollection.d.ts.map +1 -0
- package/dist/collections/ChatMessageCollection.d.ts +79 -0
- package/dist/collections/ChatMessageCollection.d.ts.map +1 -0
- package/dist/collections/ChatParticipantCollection.d.ts +26 -0
- package/dist/collections/ChatParticipantCollection.d.ts.map +1 -0
- package/dist/collections/ChatReactionCollection.d.ts +23 -0
- package/dist/collections/ChatReactionCollection.d.ts.map +1 -0
- package/dist/collections/ChatRoomCollection.d.ts +43 -0
- package/dist/collections/ChatRoomCollection.d.ts.map +1 -0
- package/dist/collections/ChatThreadCollection.d.ts +9 -0
- package/dist/collections/ChatThreadCollection.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/agent-runtime.d.ts +16 -0
- package/dist/internal/agent-runtime.d.ts.map +1 -0
- package/dist/internal/agent-runtime.js +5 -0
- package/dist/internal/agent-runtime.js.map +1 -0
- package/dist/manifest.json +2811 -0
- package/dist/models/AgentSession.d.ts +70 -0
- package/dist/models/AgentSession.d.ts.map +1 -0
- package/dist/models/ChatMessage.d.ts +55 -0
- package/dist/models/ChatMessage.d.ts.map +1 -0
- package/dist/models/ChatParticipant.d.ts +32 -0
- package/dist/models/ChatParticipant.d.ts.map +1 -0
- package/dist/models/ChatReaction.d.ts +19 -0
- package/dist/models/ChatReaction.d.ts.map +1 -0
- package/dist/models/ChatRoom.d.ts +44 -0
- package/dist/models/ChatRoom.d.ts.map +1 -0
- package/dist/models/ChatThread.d.ts +24 -0
- package/dist/models/ChatThread.d.ts.map +1 -0
- package/dist/models/index.d.ts +7 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/playground.d.ts +2 -0
- package/dist/playground.d.ts.map +1 -0
- package/dist/playground.js +166 -0
- package/dist/playground.js.map +1 -0
- package/dist/services/ChatService.d.ts +390 -0
- package/dist/services/ChatService.d.ts.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/smrt-knowledge.json +1507 -0
- package/dist/svelte/components/agent/AgentChat.svelte +542 -0
- package/dist/svelte/components/agent/AgentChat.svelte.d.ts +21 -0
- package/dist/svelte/components/agent/AgentChat.svelte.d.ts.map +1 -0
- package/dist/svelte/components/agent/AgentSelector.svelte +175 -0
- package/dist/svelte/components/agent/AgentSelector.svelte.d.ts +11 -0
- package/dist/svelte/components/agent/AgentSelector.svelte.d.ts.map +1 -0
- package/dist/svelte/components/agent/AgentSessionPanel.svelte +322 -0
- package/dist/svelte/components/agent/AgentSessionPanel.svelte.d.ts +15 -0
- package/dist/svelte/components/agent/AgentSessionPanel.svelte.d.ts.map +1 -0
- package/dist/svelte/components/agent/ToolCallDisplay.svelte +335 -0
- package/dist/svelte/components/agent/ToolCallDisplay.svelte.d.ts +9 -0
- package/dist/svelte/components/agent/ToolCallDisplay.svelte.d.ts.map +1 -0
- package/dist/svelte/components/agent/message-blocks.d.ts +12 -0
- package/dist/svelte/components/agent/message-blocks.d.ts.map +1 -0
- package/dist/svelte/components/agent/message-blocks.js +41 -0
- package/dist/svelte/components/agent/message-blocks.test.js +31 -0
- package/dist/svelte/components/dialogs/RoomCreateDialog.svelte +403 -0
- package/dist/svelte/components/dialogs/RoomCreateDialog.svelte.d.ts +16 -0
- package/dist/svelte/components/dialogs/RoomCreateDialog.svelte.d.ts.map +1 -0
- package/dist/svelte/components/dialogs/SearchMessages.svelte +457 -0
- package/dist/svelte/components/dialogs/SearchMessages.svelte.d.ts +17 -0
- package/dist/svelte/components/dialogs/SearchMessages.svelte.d.ts.map +1 -0
- package/dist/svelte/components/layout/ChatLayout.svelte +150 -0
- package/dist/svelte/components/layout/ChatLayout.svelte.d.ts +18 -0
- package/dist/svelte/components/layout/ChatLayout.svelte.d.ts.map +1 -0
- package/dist/svelte/components/layout/MemberList.svelte +389 -0
- package/dist/svelte/components/layout/MemberList.svelte.d.ts +11 -0
- package/dist/svelte/components/layout/MemberList.svelte.d.ts.map +1 -0
- package/dist/svelte/components/layout/RoomHeader.svelte +241 -0
- package/dist/svelte/components/layout/RoomHeader.svelte.d.ts +15 -0
- package/dist/svelte/components/layout/RoomHeader.svelte.d.ts.map +1 -0
- package/dist/svelte/components/layout/RoomList.svelte +471 -0
- package/dist/svelte/components/layout/RoomList.svelte.d.ts +15 -0
- package/dist/svelte/components/layout/RoomList.svelte.d.ts.map +1 -0
- package/dist/svelte/components/messages/MessageInput.svelte +232 -0
- package/dist/svelte/components/messages/MessageInput.svelte.d.ts +20 -0
- package/dist/svelte/components/messages/MessageInput.svelte.d.ts.map +1 -0
- package/dist/svelte/components/messages/MessageItem.svelte +431 -0
- package/dist/svelte/components/messages/MessageItem.svelte.d.ts +19 -0
- package/dist/svelte/components/messages/MessageItem.svelte.d.ts.map +1 -0
- package/dist/svelte/components/messages/MessageList.svelte +129 -0
- package/dist/svelte/components/messages/MessageList.svelte.d.ts +17 -0
- package/dist/svelte/components/messages/MessageList.svelte.d.ts.map +1 -0
- package/dist/svelte/components/messages/ThreadPanel.svelte +156 -0
- package/dist/svelte/components/messages/ThreadPanel.svelte.d.ts +17 -0
- package/dist/svelte/components/messages/ThreadPanel.svelte.d.ts.map +1 -0
- package/dist/svelte/components/messages/__tests__/MessageInput.test.js +38 -0
- package/dist/svelte/components/shared/Avatar.svelte +30 -0
- package/dist/svelte/components/shared/Avatar.svelte.d.ts +14 -0
- package/dist/svelte/components/shared/Avatar.svelte.d.ts.map +1 -0
- package/dist/svelte/components/shared/FileUpload.svelte +382 -0
- package/dist/svelte/components/shared/FileUpload.svelte.d.ts +14 -0
- package/dist/svelte/components/shared/FileUpload.svelte.d.ts.map +1 -0
- package/dist/svelte/components/shared/LinkPreview.svelte +108 -0
- package/dist/svelte/components/shared/LinkPreview.svelte.d.ts +18 -0
- package/dist/svelte/components/shared/LinkPreview.svelte.d.ts.map +1 -0
- package/dist/svelte/components/shared/MentionAutocomplete.svelte +168 -0
- package/dist/svelte/components/shared/MentionAutocomplete.svelte.d.ts +18 -0
- package/dist/svelte/components/shared/MentionAutocomplete.svelte.d.ts.map +1 -0
- package/dist/svelte/components/shared/MessageBubble.svelte +81 -0
- package/dist/svelte/components/shared/MessageBubble.svelte.d.ts +16 -0
- package/dist/svelte/components/shared/MessageBubble.svelte.d.ts.map +1 -0
- package/dist/svelte/components/shared/ReactionPicker.svelte +103 -0
- package/dist/svelte/components/shared/ReactionPicker.svelte.d.ts +10 -0
- package/dist/svelte/components/shared/ReactionPicker.svelte.d.ts.map +1 -0
- package/dist/svelte/components/shared/ReadReceipts.svelte +127 -0
- package/dist/svelte/components/shared/ReadReceipts.svelte.d.ts +13 -0
- package/dist/svelte/components/shared/ReadReceipts.svelte.d.ts.map +1 -0
- package/dist/svelte/components/shared/TypingIndicator.svelte +90 -0
- package/dist/svelte/components/shared/TypingIndicator.svelte.d.ts +12 -0
- package/dist/svelte/components/shared/TypingIndicator.svelte.d.ts.map +1 -0
- package/dist/svelte/components/shared/UserPresence.svelte +65 -0
- package/dist/svelte/components/shared/UserPresence.svelte.d.ts +13 -0
- package/dist/svelte/components/shared/UserPresence.svelte.d.ts.map +1 -0
- package/dist/svelte/components/shared/__tests__/Avatar.test.js +20 -0
- package/dist/svelte/components/shared/__tests__/LinkPreview.test.js +29 -0
- package/dist/svelte/components/shared/__tests__/MessageBubble.test.js +21 -0
- package/dist/svelte/components/shared/__tests__/ReactionPicker.test.js +35 -0
- package/dist/svelte/components/shared/__tests__/ReadReceipts.test.js +28 -0
- package/dist/svelte/components/shared/__tests__/TypingIndicator.test.js +27 -0
- package/dist/svelte/components/shared/__tests__/UserPresence.test.js +23 -0
- package/dist/svelte/components/tabs/ChatTab.svelte +240 -0
- package/dist/svelte/components/tabs/ChatTab.svelte.d.ts +21 -0
- package/dist/svelte/components/tabs/ChatTab.svelte.d.ts.map +1 -0
- package/dist/svelte/components/tabs/ChatTabList.svelte +158 -0
- package/dist/svelte/components/tabs/ChatTabList.svelte.d.ts +13 -0
- package/dist/svelte/components/tabs/ChatTabList.svelte.d.ts.map +1 -0
- package/dist/svelte/components/tabs/ChatTabs.svelte +88 -0
- package/dist/svelte/components/tabs/ChatTabs.svelte.d.ts +21 -0
- package/dist/svelte/components/tabs/ChatTabs.svelte.d.ts.map +1 -0
- package/dist/svelte/components/tabs/MiniChat.svelte +253 -0
- package/dist/svelte/components/tabs/MiniChat.svelte.d.ts +15 -0
- package/dist/svelte/components/tabs/MiniChat.svelte.d.ts.map +1 -0
- package/dist/svelte/i18n.d.ts +51 -0
- package/dist/svelte/i18n.d.ts.map +1 -0
- package/dist/svelte/i18n.js +72 -0
- package/dist/svelte/i18n.messages.d.ts +50 -0
- package/dist/svelte/i18n.messages.d.ts.map +1 -0
- package/dist/svelte/i18n.messages.js +69 -0
- package/dist/svelte/index.d.ts +48 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +117 -0
- package/dist/svelte/playground.d.ts +171 -0
- package/dist/svelte/playground.d.ts.map +1 -0
- package/dist/svelte/playground.js +161 -0
- package/dist/svelte/types.d.ts +116 -0
- package/dist/svelte/types.d.ts.map +1 -0
- package/dist/svelte/types.js +1 -0
- package/dist/types.d.ts +99 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/ui.d.ts +4 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +92 -0
- package/dist/ui.js.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Svelte Components
|
|
3
|
+
*
|
|
4
|
+
* This module auto-registers all chat UI components with the ModuleUIRegistry
|
|
5
|
+
* when imported. Import this module to enable registry-based component discovery.
|
|
6
|
+
*
|
|
7
|
+
* @example Direct imports
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { ChatLayout, MessageList, MessageInput } from '@happyvertical/smrt-chat/svelte';
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* @example Registry-based discovery
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { ModuleUIRegistry } from '@happyvertical/smrt-ui/registry';
|
|
15
|
+
* import '@happyvertical/smrt-chat/svelte'; // Auto-registers components
|
|
16
|
+
*
|
|
17
|
+
* const Component = ModuleUIRegistry.get('@happyvertical/smrt-chat', 'chat-layout');
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
import { ModuleUIRegistry } from '@happyvertical/smrt-ui/registry';
|
|
21
|
+
import { CHAT_MODULE_META } from '../ui.js';
|
|
22
|
+
// Agent components
|
|
23
|
+
import AgentChat from './components/agent/AgentChat.svelte';
|
|
24
|
+
import AgentSelector from './components/agent/AgentSelector.svelte';
|
|
25
|
+
import AgentSessionPanel from './components/agent/AgentSessionPanel.svelte';
|
|
26
|
+
import ToolCallDisplay from './components/agent/ToolCallDisplay.svelte';
|
|
27
|
+
// Dialog components
|
|
28
|
+
import RoomCreateDialog from './components/dialogs/RoomCreateDialog.svelte';
|
|
29
|
+
import SearchMessages from './components/dialogs/SearchMessages.svelte';
|
|
30
|
+
// Layout components
|
|
31
|
+
import ChatLayout from './components/layout/ChatLayout.svelte';
|
|
32
|
+
import MemberList from './components/layout/MemberList.svelte';
|
|
33
|
+
import RoomHeader from './components/layout/RoomHeader.svelte';
|
|
34
|
+
import RoomList from './components/layout/RoomList.svelte';
|
|
35
|
+
// Message components
|
|
36
|
+
import MessageInput from './components/messages/MessageInput.svelte';
|
|
37
|
+
import MessageItem from './components/messages/MessageItem.svelte';
|
|
38
|
+
import MessageList from './components/messages/MessageList.svelte';
|
|
39
|
+
import ThreadPanel from './components/messages/ThreadPanel.svelte';
|
|
40
|
+
// Shared components
|
|
41
|
+
import Avatar from './components/shared/Avatar.svelte';
|
|
42
|
+
import FileUpload from './components/shared/FileUpload.svelte';
|
|
43
|
+
import LinkPreview from './components/shared/LinkPreview.svelte';
|
|
44
|
+
import MentionAutocomplete from './components/shared/MentionAutocomplete.svelte';
|
|
45
|
+
import MessageBubble from './components/shared/MessageBubble.svelte';
|
|
46
|
+
import ReactionPicker from './components/shared/ReactionPicker.svelte';
|
|
47
|
+
import ReadReceipts from './components/shared/ReadReceipts.svelte';
|
|
48
|
+
import TypingIndicator from './components/shared/TypingIndicator.svelte';
|
|
49
|
+
import UserPresence from './components/shared/UserPresence.svelte';
|
|
50
|
+
// Tab components
|
|
51
|
+
import ChatTab from './components/tabs/ChatTab.svelte';
|
|
52
|
+
import ChatTabList from './components/tabs/ChatTabList.svelte';
|
|
53
|
+
import ChatTabs from './components/tabs/ChatTabs.svelte';
|
|
54
|
+
import MiniChat from './components/tabs/MiniChat.svelte';
|
|
55
|
+
export { default as AgentChat } from './components/agent/AgentChat.svelte';
|
|
56
|
+
export { default as AgentSelector } from './components/agent/AgentSelector.svelte';
|
|
57
|
+
export { default as AgentSessionPanel } from './components/agent/AgentSessionPanel.svelte';
|
|
58
|
+
export { default as ToolCallDisplay } from './components/agent/ToolCallDisplay.svelte';
|
|
59
|
+
export { default as RoomCreateDialog } from './components/dialogs/RoomCreateDialog.svelte';
|
|
60
|
+
export { default as SearchMessages } from './components/dialogs/SearchMessages.svelte';
|
|
61
|
+
// Export components
|
|
62
|
+
export { default as ChatLayout } from './components/layout/ChatLayout.svelte';
|
|
63
|
+
export { default as MemberList } from './components/layout/MemberList.svelte';
|
|
64
|
+
export { default as RoomHeader } from './components/layout/RoomHeader.svelte';
|
|
65
|
+
export { default as RoomList } from './components/layout/RoomList.svelte';
|
|
66
|
+
export { default as MessageInput } from './components/messages/MessageInput.svelte';
|
|
67
|
+
export { default as MessageItem } from './components/messages/MessageItem.svelte';
|
|
68
|
+
export { default as MessageList } from './components/messages/MessageList.svelte';
|
|
69
|
+
export { default as ThreadPanel } from './components/messages/ThreadPanel.svelte';
|
|
70
|
+
export { default as Avatar } from './components/shared/Avatar.svelte';
|
|
71
|
+
export { default as FileUpload } from './components/shared/FileUpload.svelte';
|
|
72
|
+
export { default as LinkPreview } from './components/shared/LinkPreview.svelte';
|
|
73
|
+
export { default as MentionAutocomplete } from './components/shared/MentionAutocomplete.svelte';
|
|
74
|
+
export { default as MessageBubble } from './components/shared/MessageBubble.svelte';
|
|
75
|
+
export { default as ReactionPicker } from './components/shared/ReactionPicker.svelte';
|
|
76
|
+
export { default as ReadReceipts } from './components/shared/ReadReceipts.svelte';
|
|
77
|
+
export { default as TypingIndicator } from './components/shared/TypingIndicator.svelte';
|
|
78
|
+
export { default as UserPresence } from './components/shared/UserPresence.svelte';
|
|
79
|
+
export { default as ChatTab } from './components/tabs/ChatTab.svelte';
|
|
80
|
+
export { default as ChatTabList } from './components/tabs/ChatTabList.svelte';
|
|
81
|
+
export { default as ChatTabs } from './components/tabs/ChatTabs.svelte';
|
|
82
|
+
export { default as MiniChat } from './components/tabs/MiniChat.svelte';
|
|
83
|
+
// Auto-register module and components with ModuleUIRegistry
|
|
84
|
+
ModuleUIRegistry.registerModule(CHAT_MODULE_META);
|
|
85
|
+
// Layout
|
|
86
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'chat-layout', ChatLayout);
|
|
87
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'room-list', RoomList);
|
|
88
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'room-header', RoomHeader);
|
|
89
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'member-list', MemberList);
|
|
90
|
+
// Messages
|
|
91
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'message-list', MessageList);
|
|
92
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'message-item', MessageItem);
|
|
93
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'message-input', MessageInput);
|
|
94
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'thread-panel', ThreadPanel);
|
|
95
|
+
// Tabs
|
|
96
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'chat-tabs', ChatTabs);
|
|
97
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'chat-tab', ChatTab);
|
|
98
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'chat-tab-list', ChatTabList);
|
|
99
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'mini-chat', MiniChat);
|
|
100
|
+
// Agent
|
|
101
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'agent-chat', AgentChat);
|
|
102
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'agent-selector', AgentSelector);
|
|
103
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'agent-session-panel', AgentSessionPanel);
|
|
104
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'tool-call-display', ToolCallDisplay);
|
|
105
|
+
// Shared
|
|
106
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'avatar', Avatar);
|
|
107
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'file-upload', FileUpload);
|
|
108
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'link-preview', LinkPreview);
|
|
109
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'mention-autocomplete', MentionAutocomplete);
|
|
110
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'message-bubble', MessageBubble);
|
|
111
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'reaction-picker', ReactionPicker);
|
|
112
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'read-receipts', ReadReceipts);
|
|
113
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'typing-indicator', TypingIndicator);
|
|
114
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'user-presence', UserPresence);
|
|
115
|
+
// Dialogs
|
|
116
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'room-create-dialog', RoomCreateDialog);
|
|
117
|
+
ModuleUIRegistry.register('@happyvertical/smrt-chat', 'search-messages', SearchMessages);
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
packageName: string;
|
|
3
|
+
displayName: string;
|
|
4
|
+
description: string | undefined;
|
|
5
|
+
moduleMeta: import("@happyvertical/smrt-types").SmrtModuleMeta;
|
|
6
|
+
entries: ({
|
|
7
|
+
id: string;
|
|
8
|
+
title: string;
|
|
9
|
+
description: string;
|
|
10
|
+
loadComponent: () => Promise<typeof import("./components/layout/RoomList.svelte")>;
|
|
11
|
+
order: number;
|
|
12
|
+
props: {
|
|
13
|
+
rooms: ({
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
roomType: string;
|
|
18
|
+
topic: string;
|
|
19
|
+
participantCount: number;
|
|
20
|
+
unreadCount: number;
|
|
21
|
+
lastMessageAt: string;
|
|
22
|
+
lastMessage: {
|
|
23
|
+
id: string;
|
|
24
|
+
roomId: string;
|
|
25
|
+
senderProfileId: string;
|
|
26
|
+
senderName: string;
|
|
27
|
+
content: string;
|
|
28
|
+
messageType: string;
|
|
29
|
+
role: string;
|
|
30
|
+
isEdited: boolean;
|
|
31
|
+
isDeleted: boolean;
|
|
32
|
+
reactions: never[];
|
|
33
|
+
attachments: never[];
|
|
34
|
+
createdAt: string;
|
|
35
|
+
};
|
|
36
|
+
isPinned?: undefined;
|
|
37
|
+
} | {
|
|
38
|
+
id: string;
|
|
39
|
+
name: string;
|
|
40
|
+
description: string;
|
|
41
|
+
roomType: string;
|
|
42
|
+
topic: string;
|
|
43
|
+
participantCount: number;
|
|
44
|
+
unreadCount: number;
|
|
45
|
+
isPinned: boolean;
|
|
46
|
+
lastMessageAt: string;
|
|
47
|
+
lastMessage?: undefined;
|
|
48
|
+
} | {
|
|
49
|
+
id: string;
|
|
50
|
+
name: string;
|
|
51
|
+
description: string;
|
|
52
|
+
roomType: string;
|
|
53
|
+
topic: string;
|
|
54
|
+
participantCount: number;
|
|
55
|
+
unreadCount: number;
|
|
56
|
+
lastMessageAt: string;
|
|
57
|
+
lastMessage?: undefined;
|
|
58
|
+
isPinned?: undefined;
|
|
59
|
+
})[];
|
|
60
|
+
currentRoomId: string;
|
|
61
|
+
onselectroom: () => void;
|
|
62
|
+
oncreateroom: () => void;
|
|
63
|
+
messages?: undefined;
|
|
64
|
+
currentProfileId?: undefined;
|
|
65
|
+
onreply?: undefined;
|
|
66
|
+
onreact?: undefined;
|
|
67
|
+
onsend?: undefined;
|
|
68
|
+
placeholder?: undefined;
|
|
69
|
+
replyTo?: undefined;
|
|
70
|
+
oncancelreply?: undefined;
|
|
71
|
+
};
|
|
72
|
+
modes: {
|
|
73
|
+
mock: {
|
|
74
|
+
label: string;
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
} | {
|
|
78
|
+
id: string;
|
|
79
|
+
title: string;
|
|
80
|
+
description: string;
|
|
81
|
+
loadComponent: () => Promise<typeof import("./components/messages/MessageList.svelte")>;
|
|
82
|
+
order: number;
|
|
83
|
+
props: {
|
|
84
|
+
messages: ({
|
|
85
|
+
id: string;
|
|
86
|
+
roomId: string;
|
|
87
|
+
senderProfileId: string;
|
|
88
|
+
senderName: string;
|
|
89
|
+
content: string;
|
|
90
|
+
messageType: string;
|
|
91
|
+
role: string;
|
|
92
|
+
isEdited: boolean;
|
|
93
|
+
isDeleted: boolean;
|
|
94
|
+
replyTo: null;
|
|
95
|
+
reactions: {
|
|
96
|
+
emoji: string;
|
|
97
|
+
count: number;
|
|
98
|
+
reacted: boolean;
|
|
99
|
+
profileIds: string[];
|
|
100
|
+
}[];
|
|
101
|
+
attachments: never[];
|
|
102
|
+
createdAt: string;
|
|
103
|
+
} | {
|
|
104
|
+
id: string;
|
|
105
|
+
roomId: string;
|
|
106
|
+
senderProfileId: string;
|
|
107
|
+
senderName: string;
|
|
108
|
+
content: string;
|
|
109
|
+
messageType: string;
|
|
110
|
+
role: string;
|
|
111
|
+
isEdited: boolean;
|
|
112
|
+
isDeleted: boolean;
|
|
113
|
+
replyTo: {
|
|
114
|
+
id: string;
|
|
115
|
+
senderName: string;
|
|
116
|
+
content: string;
|
|
117
|
+
};
|
|
118
|
+
reactions: never[];
|
|
119
|
+
attachments: never[];
|
|
120
|
+
createdAt: string;
|
|
121
|
+
})[];
|
|
122
|
+
currentProfileId: string;
|
|
123
|
+
onreply: () => void;
|
|
124
|
+
onreact: () => void;
|
|
125
|
+
rooms?: undefined;
|
|
126
|
+
currentRoomId?: undefined;
|
|
127
|
+
onselectroom?: undefined;
|
|
128
|
+
oncreateroom?: undefined;
|
|
129
|
+
onsend?: undefined;
|
|
130
|
+
placeholder?: undefined;
|
|
131
|
+
replyTo?: undefined;
|
|
132
|
+
oncancelreply?: undefined;
|
|
133
|
+
};
|
|
134
|
+
modes: {
|
|
135
|
+
mock: {
|
|
136
|
+
label: string;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
} | {
|
|
140
|
+
id: string;
|
|
141
|
+
title: string;
|
|
142
|
+
description: string;
|
|
143
|
+
loadComponent: () => Promise<typeof import("./components/messages/MessageInput.svelte")>;
|
|
144
|
+
order: number;
|
|
145
|
+
props: {
|
|
146
|
+
onsend: () => void;
|
|
147
|
+
placeholder: string;
|
|
148
|
+
replyTo: {
|
|
149
|
+
id: string;
|
|
150
|
+
senderName: string;
|
|
151
|
+
content: string;
|
|
152
|
+
};
|
|
153
|
+
oncancelreply: () => void;
|
|
154
|
+
rooms?: undefined;
|
|
155
|
+
currentRoomId?: undefined;
|
|
156
|
+
onselectroom?: undefined;
|
|
157
|
+
oncreateroom?: undefined;
|
|
158
|
+
messages?: undefined;
|
|
159
|
+
currentProfileId?: undefined;
|
|
160
|
+
onreply?: undefined;
|
|
161
|
+
onreact?: undefined;
|
|
162
|
+
};
|
|
163
|
+
modes: {
|
|
164
|
+
mock: {
|
|
165
|
+
label: string;
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
})[];
|
|
169
|
+
};
|
|
170
|
+
export default _default;
|
|
171
|
+
//# sourceMappingURL=playground.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playground.d.ts","sourceRoot":"","sources":["../../src/svelte/playground.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyGA,wBAqEE"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { CHAT_MODULE_META } from '../ui.js';
|
|
2
|
+
const noop = () => { };
|
|
3
|
+
const sampleRooms = [
|
|
4
|
+
{
|
|
5
|
+
id: 'room-editorial',
|
|
6
|
+
name: 'Editorial Ops',
|
|
7
|
+
description: 'Daily coordination room',
|
|
8
|
+
roomType: 'public',
|
|
9
|
+
topic: 'Launch readiness and governance',
|
|
10
|
+
participantCount: 8,
|
|
11
|
+
unreadCount: 4,
|
|
12
|
+
lastMessageAt: '2026-03-21T16:08:00.000Z',
|
|
13
|
+
lastMessage: {
|
|
14
|
+
id: 'room-editorial-last',
|
|
15
|
+
roomId: 'room-editorial',
|
|
16
|
+
senderProfileId: 'profile-taylor',
|
|
17
|
+
senderName: 'Taylor Rowan',
|
|
18
|
+
content: 'Content QA is clear for tonight’s rollout.',
|
|
19
|
+
messageType: 'text',
|
|
20
|
+
role: 'user',
|
|
21
|
+
isEdited: false,
|
|
22
|
+
isDeleted: false,
|
|
23
|
+
reactions: [],
|
|
24
|
+
attachments: [],
|
|
25
|
+
createdAt: '2026-03-21T16:08:00.000Z',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: 'room-governance',
|
|
30
|
+
name: 'Governance',
|
|
31
|
+
description: 'Policy review',
|
|
32
|
+
roomType: 'agent',
|
|
33
|
+
topic: 'Publication profile monitoring',
|
|
34
|
+
participantCount: 3,
|
|
35
|
+
unreadCount: 1,
|
|
36
|
+
isPinned: true,
|
|
37
|
+
lastMessageAt: '2026-03-21T15:55:00.000Z',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: 'room-jordan',
|
|
41
|
+
name: 'Jordan Lee',
|
|
42
|
+
description: 'Direct message',
|
|
43
|
+
roomType: 'dm',
|
|
44
|
+
topic: '',
|
|
45
|
+
participantCount: 2,
|
|
46
|
+
unreadCount: 0,
|
|
47
|
+
lastMessageAt: '2026-03-21T14:12:00.000Z',
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
const sampleMessages = [
|
|
51
|
+
{
|
|
52
|
+
id: 'chat-message-1',
|
|
53
|
+
roomId: 'room-editorial',
|
|
54
|
+
senderProfileId: 'profile-taylor',
|
|
55
|
+
senderName: 'Taylor Rowan',
|
|
56
|
+
content: 'The root playground is showing the content previews correctly now.',
|
|
57
|
+
messageType: 'text',
|
|
58
|
+
role: 'user',
|
|
59
|
+
isEdited: false,
|
|
60
|
+
isDeleted: false,
|
|
61
|
+
replyTo: null,
|
|
62
|
+
reactions: [
|
|
63
|
+
{
|
|
64
|
+
emoji: '✅',
|
|
65
|
+
count: 2,
|
|
66
|
+
reacted: true,
|
|
67
|
+
profileIds: ['profile-taylor', 'profile-jordan'],
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
attachments: [],
|
|
71
|
+
createdAt: '2026-03-21T15:52:00.000Z',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: 'chat-message-2',
|
|
75
|
+
roomId: 'room-editorial',
|
|
76
|
+
senderProfileId: 'profile-jordan',
|
|
77
|
+
senderName: 'Jordan Lee',
|
|
78
|
+
content: 'Next up is broadening the package rollout from the content reference implementation.',
|
|
79
|
+
messageType: 'text',
|
|
80
|
+
role: 'user',
|
|
81
|
+
isEdited: false,
|
|
82
|
+
isDeleted: false,
|
|
83
|
+
replyTo: {
|
|
84
|
+
id: 'chat-message-1',
|
|
85
|
+
senderName: 'Taylor Rowan',
|
|
86
|
+
content: 'The root playground is showing the content previews correctly now.',
|
|
87
|
+
},
|
|
88
|
+
reactions: [],
|
|
89
|
+
attachments: [],
|
|
90
|
+
createdAt: '2026-03-21T15:58:00.000Z',
|
|
91
|
+
},
|
|
92
|
+
];
|
|
93
|
+
const loadMessageInput = () => import('./components/messages/MessageInput.svelte');
|
|
94
|
+
const loadMessageList = () => import('./components/messages/MessageList.svelte');
|
|
95
|
+
const loadRoomList = () => import('./components/layout/RoomList.svelte');
|
|
96
|
+
export default {
|
|
97
|
+
packageName: '@happyvertical/smrt-chat',
|
|
98
|
+
displayName: CHAT_MODULE_META.displayName,
|
|
99
|
+
description: CHAT_MODULE_META.description,
|
|
100
|
+
moduleMeta: CHAT_MODULE_META,
|
|
101
|
+
entries: [
|
|
102
|
+
{
|
|
103
|
+
id: 'room-list',
|
|
104
|
+
title: 'Room List',
|
|
105
|
+
description: 'Sidebar navigation for rooms, DMs, and agent conversations with unread state.',
|
|
106
|
+
loadComponent: loadRoomList,
|
|
107
|
+
order: 1,
|
|
108
|
+
props: {
|
|
109
|
+
rooms: sampleRooms,
|
|
110
|
+
currentRoomId: 'room-editorial',
|
|
111
|
+
onselectroom: noop,
|
|
112
|
+
oncreateroom: noop,
|
|
113
|
+
},
|
|
114
|
+
modes: {
|
|
115
|
+
mock: {
|
|
116
|
+
label: 'Mock',
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
id: 'message-list',
|
|
122
|
+
title: 'Message List',
|
|
123
|
+
description: 'Grouped chat transcript with replies and reactions for a conversation thread.',
|
|
124
|
+
loadComponent: loadMessageList,
|
|
125
|
+
order: 2,
|
|
126
|
+
props: {
|
|
127
|
+
messages: sampleMessages,
|
|
128
|
+
currentProfileId: 'profile-taylor',
|
|
129
|
+
onreply: noop,
|
|
130
|
+
onreact: noop,
|
|
131
|
+
},
|
|
132
|
+
modes: {
|
|
133
|
+
mock: {
|
|
134
|
+
label: 'Mock',
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
id: 'message-input',
|
|
140
|
+
title: 'Message Input',
|
|
141
|
+
description: 'Chat composer with reply context and keyboard send affordance.',
|
|
142
|
+
loadComponent: loadMessageInput,
|
|
143
|
+
order: 3,
|
|
144
|
+
props: {
|
|
145
|
+
onsend: noop,
|
|
146
|
+
placeholder: 'Reply to the rollout thread…',
|
|
147
|
+
replyTo: {
|
|
148
|
+
id: 'chat-message-1',
|
|
149
|
+
senderName: 'Taylor Rowan',
|
|
150
|
+
content: 'The root playground is showing the content previews correctly now.',
|
|
151
|
+
},
|
|
152
|
+
oncancelreply: noop,
|
|
153
|
+
},
|
|
154
|
+
modes: {
|
|
155
|
+
mock: {
|
|
156
|
+
label: 'Mock',
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
};
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/** Room data for UI consumption (decoupled from ORM model) */
|
|
2
|
+
export interface ChatRoomData {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
roomType: 'public' | 'private' | 'dm' | 'agent';
|
|
7
|
+
topic: string;
|
|
8
|
+
avatarUrl?: string;
|
|
9
|
+
participantCount: number;
|
|
10
|
+
unreadCount: number;
|
|
11
|
+
lastMessage?: ChatMessageData;
|
|
12
|
+
lastMessageAt?: string | Date | null;
|
|
13
|
+
isPinned?: boolean;
|
|
14
|
+
isMuted?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Message data for UI consumption */
|
|
17
|
+
export interface ChatMessageData {
|
|
18
|
+
id: string;
|
|
19
|
+
roomId: string;
|
|
20
|
+
threadId?: string | null;
|
|
21
|
+
senderProfileId: string;
|
|
22
|
+
senderName: string;
|
|
23
|
+
senderAvatarUrl?: string;
|
|
24
|
+
agentSessionId?: string | null;
|
|
25
|
+
content: string;
|
|
26
|
+
messageType: 'text' | 'system' | 'action' | 'file' | 'tool_call' | 'tool_result';
|
|
27
|
+
role: 'user' | 'assistant' | 'system' | 'tool';
|
|
28
|
+
isEdited: boolean;
|
|
29
|
+
isDeleted: boolean;
|
|
30
|
+
replyTo?: {
|
|
31
|
+
id: string;
|
|
32
|
+
senderName: string;
|
|
33
|
+
content: string;
|
|
34
|
+
} | null;
|
|
35
|
+
reactions: ReactionSummary[];
|
|
36
|
+
attachments: ChatAttachmentData[];
|
|
37
|
+
toolCallData?: ToolCallDisplayData | null;
|
|
38
|
+
createdAt: string | Date;
|
|
39
|
+
}
|
|
40
|
+
/** Thread data for UI consumption */
|
|
41
|
+
export interface ChatThreadData {
|
|
42
|
+
id: string;
|
|
43
|
+
roomId: string;
|
|
44
|
+
rootMessage: ChatMessageData;
|
|
45
|
+
title: string;
|
|
46
|
+
isResolved: boolean;
|
|
47
|
+
messageCount: number;
|
|
48
|
+
lastMessageAt?: string | Date | null;
|
|
49
|
+
participantCount: number;
|
|
50
|
+
}
|
|
51
|
+
/** Participant data for UI consumption */
|
|
52
|
+
export interface ChatParticipantData {
|
|
53
|
+
id: string;
|
|
54
|
+
profileId: string;
|
|
55
|
+
name: string;
|
|
56
|
+
avatarUrl?: string;
|
|
57
|
+
role: 'owner' | 'admin' | 'member' | 'viewer';
|
|
58
|
+
onlineStatus: 'online' | 'away' | 'dnd' | 'offline';
|
|
59
|
+
lastSeenAt?: string | Date | null;
|
|
60
|
+
nickname?: string;
|
|
61
|
+
}
|
|
62
|
+
/** Reaction summary for a message */
|
|
63
|
+
export interface ReactionSummary {
|
|
64
|
+
emoji: string;
|
|
65
|
+
count: number;
|
|
66
|
+
reacted: boolean;
|
|
67
|
+
profileIds: string[];
|
|
68
|
+
}
|
|
69
|
+
/** Attachment data for UI consumption */
|
|
70
|
+
export interface ChatAttachmentData {
|
|
71
|
+
id: string;
|
|
72
|
+
filename: string;
|
|
73
|
+
contentType: string;
|
|
74
|
+
size: number;
|
|
75
|
+
url?: string;
|
|
76
|
+
thumbnailUrl?: string;
|
|
77
|
+
}
|
|
78
|
+
/** Tool call display data for agent conversations */
|
|
79
|
+
export interface ToolCallDisplayData {
|
|
80
|
+
toolName: string;
|
|
81
|
+
toolCallId: string;
|
|
82
|
+
arguments?: Record<string, unknown>;
|
|
83
|
+
result?: unknown;
|
|
84
|
+
status: 'pending' | 'running' | 'success' | 'error';
|
|
85
|
+
duration?: number;
|
|
86
|
+
error?: string;
|
|
87
|
+
}
|
|
88
|
+
/** Agent session data for UI consumption */
|
|
89
|
+
export interface AgentSessionData {
|
|
90
|
+
id: string;
|
|
91
|
+
agentId: string;
|
|
92
|
+
agentName: string;
|
|
93
|
+
agentAvatarUrl?: string;
|
|
94
|
+
status: 'active' | 'closed' | 'expired';
|
|
95
|
+
allowedTools: string[];
|
|
96
|
+
messageCount: number;
|
|
97
|
+
createdAt: string | Date;
|
|
98
|
+
lastMessageAt?: string | Date | null;
|
|
99
|
+
}
|
|
100
|
+
/** Agent descriptor for the agent selector */
|
|
101
|
+
export interface AgentDescriptor {
|
|
102
|
+
id: string;
|
|
103
|
+
name: string;
|
|
104
|
+
description: string;
|
|
105
|
+
avatarUrl?: string;
|
|
106
|
+
isAvailable: boolean;
|
|
107
|
+
}
|
|
108
|
+
/** Tab state for the Facebook-style expandable tabs */
|
|
109
|
+
export interface ChatTabState {
|
|
110
|
+
roomId: string;
|
|
111
|
+
room: ChatRoomData;
|
|
112
|
+
isExpanded: boolean;
|
|
113
|
+
isMinimized: boolean;
|
|
114
|
+
unreadCount: number;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/svelte/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { SmrtObjectOptions } from '@happyvertical/smrt-core';
|
|
2
|
+
export type ChatRoomType = 'public' | 'private' | 'dm' | 'agent';
|
|
3
|
+
export type ChatRoomStatus = 'active' | 'archived' | 'deleted';
|
|
4
|
+
export type ChatParticipantRole = 'owner' | 'admin' | 'member' | 'viewer';
|
|
5
|
+
export type ChatParticipantStatus = 'active' | 'left' | 'kicked' | 'banned';
|
|
6
|
+
export type OnlineStatus = 'online' | 'away' | 'dnd' | 'offline';
|
|
7
|
+
export type ChatMessageType = 'text' | 'system' | 'action' | 'file' | 'tool_call' | 'tool_result';
|
|
8
|
+
export type ChatMessageRole = 'user' | 'assistant' | 'system' | 'tool';
|
|
9
|
+
export type AgentSessionStatus = 'active' | 'closed' | 'expired';
|
|
10
|
+
export interface ChatRoomOptions extends SmrtObjectOptions {
|
|
11
|
+
tenantId?: string;
|
|
12
|
+
name?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
roomType?: ChatRoomType;
|
|
15
|
+
status?: ChatRoomStatus;
|
|
16
|
+
topic?: string;
|
|
17
|
+
avatarUrl?: string;
|
|
18
|
+
isArchived?: boolean;
|
|
19
|
+
maxParticipants?: number;
|
|
20
|
+
metadata?: Record<string, unknown> | string;
|
|
21
|
+
createdByProfileId?: string;
|
|
22
|
+
lastMessageAt?: Date | null;
|
|
23
|
+
}
|
|
24
|
+
export interface ChatThreadOptions extends SmrtObjectOptions {
|
|
25
|
+
tenantId?: string;
|
|
26
|
+
roomId?: string;
|
|
27
|
+
rootMessageId?: string | null;
|
|
28
|
+
title?: string;
|
|
29
|
+
isResolved?: boolean;
|
|
30
|
+
messageCount?: number;
|
|
31
|
+
lastMessageAt?: Date | null;
|
|
32
|
+
participantCount?: number;
|
|
33
|
+
}
|
|
34
|
+
export interface ChatMessageOptions extends SmrtObjectOptions {
|
|
35
|
+
tenantId?: string;
|
|
36
|
+
roomId?: string;
|
|
37
|
+
threadId?: string | null;
|
|
38
|
+
senderProfileId?: string;
|
|
39
|
+
agentSessionId?: string | null;
|
|
40
|
+
content?: string;
|
|
41
|
+
messageType?: ChatMessageType;
|
|
42
|
+
role?: ChatMessageRole;
|
|
43
|
+
editedAt?: Date | null;
|
|
44
|
+
isEdited?: boolean;
|
|
45
|
+
isDeleted?: boolean;
|
|
46
|
+
replyToMessageId?: string | null;
|
|
47
|
+
metadata?: Record<string, unknown> | string;
|
|
48
|
+
toolCallData?: Record<string, unknown> | string | null;
|
|
49
|
+
attachments?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ChatParticipantOptions extends SmrtObjectOptions {
|
|
52
|
+
tenantId?: string;
|
|
53
|
+
roomId?: string;
|
|
54
|
+
profileId?: string;
|
|
55
|
+
role?: ChatParticipantRole;
|
|
56
|
+
status?: ChatParticipantStatus;
|
|
57
|
+
onlineStatus?: OnlineStatus;
|
|
58
|
+
lastReadMessageId?: string | null;
|
|
59
|
+
lastSeenAt?: Date | null;
|
|
60
|
+
joinedAt?: Date | null;
|
|
61
|
+
nickname?: string;
|
|
62
|
+
isMuted?: boolean;
|
|
63
|
+
isPinned?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface ChatReactionOptions extends SmrtObjectOptions {
|
|
66
|
+
tenantId?: string;
|
|
67
|
+
messageId?: string;
|
|
68
|
+
profileId?: string;
|
|
69
|
+
emoji?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface AgentSessionOptions extends SmrtObjectOptions {
|
|
72
|
+
tenantId?: string | null;
|
|
73
|
+
agentId?: string;
|
|
74
|
+
participantProfileId?: string;
|
|
75
|
+
chatRoomId?: string | null;
|
|
76
|
+
status?: AgentSessionStatus;
|
|
77
|
+
allowedTools?: string;
|
|
78
|
+
sessionContext?: string;
|
|
79
|
+
systemPrompt?: string;
|
|
80
|
+
messageCount?: number;
|
|
81
|
+
totalTokensUsed?: number;
|
|
82
|
+
maxTokens?: number;
|
|
83
|
+
maxMessages?: number;
|
|
84
|
+
lastMessageAt?: Date | null;
|
|
85
|
+
expiresAt?: Date | null;
|
|
86
|
+
closedAt?: Date | null;
|
|
87
|
+
}
|
|
88
|
+
export interface ChatMessageSearchFilters {
|
|
89
|
+
roomId?: string;
|
|
90
|
+
threadId?: string;
|
|
91
|
+
senderProfileId?: string;
|
|
92
|
+
messageType?: ChatMessageType;
|
|
93
|
+
role?: ChatMessageRole;
|
|
94
|
+
sinceDate?: Date;
|
|
95
|
+
beforeDate?: Date;
|
|
96
|
+
query?: string;
|
|
97
|
+
hasAttachments?: boolean;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=types.d.ts.map
|