@stack-spot/ai-chat-widget 1.8.4 → 1.9.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/CHANGELOG.md +14 -0
- package/dist/StackspotAIWidget.d.ts +5 -1
- package/dist/StackspotAIWidget.d.ts.map +1 -1
- package/dist/StackspotAIWidget.js +5 -5
- package/dist/StackspotAIWidget.js.map +1 -1
- package/dist/app-metadata.json +23 -19
- package/dist/components/Accordion.d.ts.map +1 -1
- package/dist/components/Code.d.ts.map +1 -1
- package/dist/components/FadingOverflow.d.ts.map +1 -1
- package/dist/components/FallbackBoundary/index.d.ts.map +1 -1
- package/dist/components/IconInput.d.ts.map +1 -1
- package/dist/components/Markdown.d.ts.map +1 -1
- package/dist/components/ProgressBar.d.ts.map +1 -1
- package/dist/components/QuickStartButton.d.ts.map +1 -1
- package/dist/components/RightPanelForm.d.ts.map +1 -1
- package/dist/components/RightPanelTabs.d.ts.map +1 -1
- package/dist/components/Selector/index.d.ts.map +1 -1
- package/dist/components/Tooltip/context.d.ts.map +1 -1
- package/dist/layout.css +13 -0
- package/dist/right-panel/DefaultPanel.d.ts.map +1 -1
- package/dist/right-panel/RightPanelProvider.d.ts.map +1 -1
- package/dist/state/ChatEntry.d.ts +55 -3
- package/dist/state/ChatEntry.d.ts.map +1 -1
- package/dist/state/ChatEntry.js +4 -1
- package/dist/state/ChatEntry.js.map +1 -1
- package/dist/state/WidgetState.js +2 -2
- package/dist/state/WidgetState.js.map +1 -1
- package/dist/views/Agents/AgentDescription.d.ts.map +1 -1
- package/dist/views/Agents/AgentsTab.d.ts.map +1 -1
- package/dist/views/Chat/AgentInfo.d.ts.map +1 -1
- package/dist/views/Chat/ChatMessage.d.ts +1 -0
- package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
- package/dist/views/Chat/ChatMessage.js +64 -7
- package/dist/views/Chat/ChatMessage.js.map +1 -1
- package/dist/views/Chat/ChatMessages.d.ts.map +1 -1
- package/dist/views/Chat/index.d.ts.map +1 -1
- package/dist/views/ChatHistory/HistoryItem.d.ts.map +1 -1
- package/dist/views/Home/BuiltInAgent.d.ts.map +1 -1
- package/dist/views/Home/index.d.ts.map +1 -1
- package/dist/views/MessageInput/AgentSelector.d.ts.map +1 -1
- package/dist/views/MessageInput/AgentSelector.js +4 -3
- package/dist/views/MessageInput/AgentSelector.js.map +1 -1
- package/dist/views/MessageInput/ButtonGroup.d.ts.map +1 -1
- package/dist/views/MessageInput/QuickCommandSelector.d.ts.map +1 -1
- package/dist/views/MinimizedHeader.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/StackspotAIWidget.tsx +11 -4
- package/src/app-metadata.json +23 -19
- package/src/layout.css +13 -0
- package/src/state/ChatEntry.ts +55 -4
- package/src/state/WidgetState.ts +1 -1
- package/src/views/Chat/ChatMessage.tsx +116 -15
- package/src/views/MessageInput/AgentSelector.tsx +5 -3
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Button, IconBox, Text } from '@citric/core';
|
|
2
|
+
import { Box, Button, Checkbox, Flex, IconBox, Input, Label, Radio, Text } from '@citric/core';
|
|
3
3
|
import { Copy, Dislike, DislikeFill, Like, LikeFill, TimesCircle } from '@citric/icons';
|
|
4
4
|
import { Avatar, Badge, IconButton } from '@citric/ui';
|
|
5
5
|
import { listToClass } from '@stack-spot/portal-theme';
|
|
6
6
|
import { useTranslate } from '@stack-spot/portal-translate';
|
|
7
7
|
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
8
|
+
import { PhoneInput } from 'react-international-phone';
|
|
9
|
+
import 'react-international-phone/style.css';
|
|
8
10
|
import { Markdown } from '../../components/Markdown.js';
|
|
9
11
|
import { useChatEntry, useCurrentChat, useWidget } from '../../context/hooks.js';
|
|
10
12
|
import { ChatEntry } from '../../state/ChatEntry.js';
|
|
@@ -12,12 +14,55 @@ import { useDateFormatter } from '../../utils/date.js';
|
|
|
12
14
|
import { AgentInfo } from './AgentInfo.js';
|
|
13
15
|
import { useChatScrollToBottomEffect } from './chat-scroll.js';
|
|
14
16
|
import { onCopyAll, onCopyCode, onLikeOrDislike } from './events.js';
|
|
17
|
+
const RenderInputsEntry = ({ isLast, entry, value, setValue, setLabels }) => {
|
|
18
|
+
const chat = useCurrentChat();
|
|
19
|
+
const renderInputs = () => {
|
|
20
|
+
if (entry.type === 'input-text') {
|
|
21
|
+
return _jsx(Input, { name: entry.name, ...entry.validations, onChange: (data) => setValue([data.target.value]), required: entry.required });
|
|
22
|
+
}
|
|
23
|
+
if (entry.type === 'input-radio') {
|
|
24
|
+
return _jsx(Flex, { children: entry.options?.map((option) => (_jsx(Box, { w: 6, children: _jsxs(Label, { htmlFor: option.value, colorScheme: "light.contrastText", children: [_jsx(Radio, { name: entry.name, id: option.value, onChange: (data) => {
|
|
25
|
+
if (data.target.checked) {
|
|
26
|
+
setValue([option.label]);
|
|
27
|
+
option.value && setLabels([option.value]);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
setValue([]);
|
|
31
|
+
}
|
|
32
|
+
} }), _jsx(Text, { ml: 3, children: option.label })] }) }, option.value))) });
|
|
33
|
+
}
|
|
34
|
+
if (entry.type === 'button-list') {
|
|
35
|
+
return _jsx(Flex, { children: entry.options?.map((item) => (_jsx(Button, { colorScheme: item.color, onClick: () => {
|
|
36
|
+
item.value && chat.pushMessage(ChatEntry.createUserEntry(item.value, false, entry.name, item?.label ? [item?.label] : undefined));
|
|
37
|
+
}, children: item.label }, item.label))) });
|
|
38
|
+
}
|
|
39
|
+
if (entry.type === 'input-checkbox') {
|
|
40
|
+
return _jsx(Flex, { children: entry.options?.map((option) => (_jsxs(Flex, { w: 6, children: [_jsx(Checkbox, { name: entry.name, onChange: (data) => {
|
|
41
|
+
if (data.target.checked) {
|
|
42
|
+
setValue([...value, option.label]);
|
|
43
|
+
option.value && setLabels([option.value]);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const newValue = value.filter(((item) => item !== option.label));
|
|
47
|
+
setValue([...newValue]);
|
|
48
|
+
}
|
|
49
|
+
} }, option.label), _jsx(Text, { ml: 3, children: option.label })] }, option.label))) });
|
|
50
|
+
}
|
|
51
|
+
if (entry.type === 'input-phone') {
|
|
52
|
+
return (_jsx(PhoneInput, { defaultCountry: "br", value: value[0], onChange: (phone) => setValue([phone]), className: "input-phone", placeholder: "11961234567" }));
|
|
53
|
+
}
|
|
54
|
+
return _jsx("p", { className: "plain-text", children: entry.content });
|
|
55
|
+
};
|
|
56
|
+
return _jsxs(Flex, { flexDirection: "column", children: [_jsx(Text, { appearance: "body2", mb: 4, children: entry.content }), isLast && renderInputs()] });
|
|
57
|
+
};
|
|
15
58
|
/**
|
|
16
59
|
* Renders a message (ChatEntry) in the chat.
|
|
17
60
|
*/
|
|
18
61
|
export const ChatMessage = ({ message, username, isLast }) => {
|
|
19
62
|
const t = useTranslate(dictionary);
|
|
20
63
|
const [liked, setLiked] = useState();
|
|
64
|
+
const [value, setValue] = useState([]);
|
|
65
|
+
const [labels, setLabels] = useState([]);
|
|
21
66
|
const entry = useChatEntry(message);
|
|
22
67
|
const dateFormatter = useDateFormatter();
|
|
23
68
|
const userInfo = entry.agentType === 'user' ? _jsx(Avatar, { size: "xs", children: username }) : _jsx(AgentInfo, { agent: entry.agent });
|
|
@@ -32,14 +77,19 @@ export const ChatMessage = ({ message, username, isLast }) => {
|
|
|
32
77
|
widget.set('currentKSInPanel', { name, slug, score: documentScore, documentId });
|
|
33
78
|
widget.set('panel', 'ks-details');
|
|
34
79
|
}, []);
|
|
35
|
-
const runAction =
|
|
80
|
+
const runAction = (action) => {
|
|
36
81
|
if (action.type === 'link') {
|
|
37
82
|
window.open(action.exec, '_blank');
|
|
38
83
|
}
|
|
39
84
|
else {
|
|
40
|
-
|
|
85
|
+
if (action.exec) {
|
|
86
|
+
chat.pushMessage(ChatEntry.createUserEntry(action.exec));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
value && chat.pushMessage(ChatEntry.createUserEntry(value.toString(), false, entry.name, labels));
|
|
90
|
+
}
|
|
41
91
|
}
|
|
42
|
-
}
|
|
92
|
+
};
|
|
43
93
|
const { like, dislike } = useMemo(() => {
|
|
44
94
|
async function feedback(like) {
|
|
45
95
|
if (!entry.messageId || like === liked)
|
|
@@ -63,9 +113,16 @@ export const ChatMessage = ({ message, username, isLast }) => {
|
|
|
63
113
|
selectedText && onCopyCode(selectedText, '', chat);
|
|
64
114
|
}
|
|
65
115
|
};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
116
|
+
const renderContent = () => {
|
|
117
|
+
if (entry.type === 'md') {
|
|
118
|
+
return _jsx(Markdown, { onCopyCode: (code) => onCopyCode(code, entry.messageId ?? '', chat), children: entry.content });
|
|
119
|
+
}
|
|
120
|
+
if (entry.type === 'text') {
|
|
121
|
+
return _jsx("p", { className: "plain-text", children: entry.content });
|
|
122
|
+
}
|
|
123
|
+
return _jsx(RenderInputsEntry, { entry: entry, isLast: isLast, value: value, setValue: setValue, setLabels: setLabels, labels: labels });
|
|
124
|
+
};
|
|
125
|
+
return (entry.content || entry.error) && (_jsxs("li", { className: entry.agentType, ref: ref, children: [_jsxs("div", { className: "chat-message", ref: chatRef, onKeyDown: handleKeyDown, tabIndex: 0, children: [_jsx("div", { className: "user-info", children: userInfo }), entry.content && _jsxs("div", { className: listToClass(['message-content', entry.card && 'card']), children: [entry.badges?.length && _jsx("div", { className: "badges", children: entry.badges.map((b, index) => _jsx(Badge, { palette: b.color ?? 'cyan', appearance: "square", children: b.label }, index)) }), renderContent(), entry.actions?.length && (_jsx("div", { className: "actions", children: entry.actions.map((a, index) => (_jsx(_Fragment, { children: (!a.hideWhenNotLast || isLast) && _jsx(Button, { appearance: a.appearance === 'primary' ? 'contained' : 'outlined', colorScheme: a.colorScheme ? a.colorScheme : 'inverse', onClick: () => runAction(a), disabled: (entry.required && !value.length) ?? !isLast, type: a.buttonType ?? 'button', children: a.title }, index) }))) }))] })] }), entry.error && (_jsxs("div", { className: "error", children: [_jsx(IconBox, { size: "xs", children: _jsx(TimesCircle, {}) }), _jsx(Text, { appearance: "microtext1", children: entry.error })] })), !!entry.knowledgeSources?.length && _jsxs("div", { className: "ks-box", children: [_jsx(Text, { appearance: "microtext1", colorScheme: "light.700", children: "Knowledge Sources:" }), _jsx("ul", { children: entry.knowledgeSources.map((ks, index) => (_jsx("li", { children: _jsx(Button, { size: "sm", colorScheme: "light", onClick: () => detailKS(ks), children: ks.name }) }, index))) })] }), shouldShowFooter && _jsxs("div", { className: "message-footer", children: [entry.agentType === 'bot' && !entry.error && _jsxs("div", { className: "message-actions", children: [entry.type === 'md' && (_jsx(IconButton, { title: t.copy, "aria-label": t.copy, onClick: () => onCopyAll(entry, chat), children: _jsx(Copy, {}) })), entry.messageId && (_jsxs(_Fragment, { children: [_jsx(IconButton, { title: t.like, "aria-label": t.like, onClick: like, children: liked === true ? _jsx(LikeFill, {}) : _jsx(Like, {}) }), _jsx(IconButton, { title: t.dislike, "aria-label": t.dislike, onClick: dislike, children: liked === false ? _jsx(DislikeFill, {}) : _jsx(Dislike, {}) })] }))] }), _jsx(Text, { appearance: "microtext1", className: "chat-date", children: dateFormatter.formatForChatMessage(date) })] })] }));
|
|
69
126
|
};
|
|
70
127
|
const dictionary = {
|
|
71
128
|
en: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatMessages.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessages.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"ChatMessages.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessages.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,sBAAsB,KAAK,4CAQvD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/index.tsx"],"names":[],"mappings":"AAGA,UAAU,KAAK;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/index.tsx"],"names":[],"mappings":"AAGA,UAAU,KAAK;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,cAAc,KAAK,4CAGvC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistoryItem.d.ts","sourceRoot":"","sources":["../../../src/views/ChatHistory/HistoryItem.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AAexE;;GAEG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"HistoryItem.d.ts","sourceRoot":"","sources":["../../../src/views/ChatHistory/HistoryItem.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AAexE;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,mDAiInE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuiltInAgent.d.ts","sourceRoot":"","sources":["../../../src/views/Home/BuiltInAgent.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"BuiltInAgent.d.ts","sourceRoot":"","sources":["../../../src/views/Home/BuiltInAgent.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,cAAc,SAAS,4CA2CnD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Home/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Home/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,4CAQpC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentSelector.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/AgentSelector.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"AgentSelector.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/AgentSelector.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,aAAa,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAA;CAAE,4CAmDhH,CAAA"}
|
|
@@ -31,11 +31,12 @@ export const AgentSelector = ({ inputRef }) => {
|
|
|
31
31
|
inputRef.current.focus();
|
|
32
32
|
}, [chat, inputRef]);
|
|
33
33
|
const getAgents = () => {
|
|
34
|
-
const
|
|
35
|
-
const publicAgents = agentClient.publicAgents.useQuery({});
|
|
34
|
+
const personalAgents = agentClient.agents.useQuery({ visibility: 'PERSONAL' });
|
|
36
35
|
const accountAgents = agentClient.agents.useQuery({ visibility: 'ACCOUNT' });
|
|
36
|
+
const sharedAgents = agentClient.agents.useQuery({ visibility: 'SHARED' });
|
|
37
|
+
const publicAgents = agentClient.publicAgents.useQuery({});
|
|
37
38
|
const buildIns = [...[defaultAgent], ...publicAgents.map((agent) => ({ ...agent, visibility_level: 'builtIn' }))];
|
|
38
|
-
return uniqBy([...
|
|
39
|
+
return uniqBy([...personalAgents, ...accountAgents, ...sharedAgents, ...buildIns], 'id');
|
|
39
40
|
};
|
|
40
41
|
const AgentItem = ({ avatar, name, slug }) => {
|
|
41
42
|
const AvatarComponent = avatar ? _jsx(Image, { width: "32", height: "32", radius: "full", src: avatar }) : _jsx(IconBox, { size: "md", children: _jsx(Agent, {}) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentSelector.js","sourceRoot":"","sources":["../../../src/views/MessageInput/AgentSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,kBAAkB,GAAG,cAAc,CAAA;AAEzC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,kBAAkB,CAAA;AAExE,MAAM,YAAY,GAAG;IACnB,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,kBAAkB;IACxB,gBAAgB,EAAE,SAAS;CACX,CAAA;AAElB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAyE,EAAE,EAAE;IACnH,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAA;IAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,KAAoB,EAAE,EAAE;QACxD,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;QAClC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAC1G,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAM;QAC7B,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAA;QACjC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEpB,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,MAAM,
|
|
1
|
+
{"version":3,"file":"AgentSelector.js","sourceRoot":"","sources":["../../../src/views/MessageInput/AgentSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/ButtonGroup.tsx"],"names":[],"mappings":"AAOA,UAAU,gBAAgB;IACxB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/ButtonGroup.tsx"],"names":[],"mappings":"AAOA,UAAU,gBAAgB;IACxB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,wDAAwD,gBAAgB,4CA0EnG,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickCommandSelector.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/QuickCommandSelector.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"QuickCommandSelector.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/QuickCommandSelector.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAA;CAAE,4CAkCvH,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MinimizedHeader.d.ts","sourceRoot":"","sources":["../../src/views/MinimizedHeader.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAwC3C;;;GAGG;AACH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"MinimizedHeader.d.ts","sourceRoot":"","sources":["../../src/views/MinimizedHeader.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAwC3C;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,mCAAmC,gBAAgB,4CA6BlF,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stack-spot/ai-chat-widget",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"generate:metadata": "pnpm app-metadata --lockfile ../../pnpm-lock.yaml --path packages/widget"
|
|
11
11
|
},
|
|
12
12
|
"peerDependencies": {
|
|
13
|
-
"@citric/core": "^6.
|
|
14
|
-
"@citric/icons": "^5.
|
|
15
|
-
"@citric/ui": "^
|
|
13
|
+
"@citric/core": "^6.4.0",
|
|
14
|
+
"@citric/icons": "^5.9.0",
|
|
15
|
+
"@citric/ui": "^6.7.0",
|
|
16
16
|
"@stack-spot/portal-components": "^2.8.1",
|
|
17
17
|
"@stack-spot/portal-network": "^0.48.0",
|
|
18
18
|
"@stack-spot/portal-theme": "^1.0.0",
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"@monaco-editor/react": "^4.6.0",
|
|
50
50
|
"monaco-editor": "^0.52.0",
|
|
51
51
|
"react-infinite-scroll-component": "^6.1.0",
|
|
52
|
+
"react-international-phone": "^4.5.0",
|
|
52
53
|
"react-markdown": "^9.0.1",
|
|
53
54
|
"react-syntax-highlighter": "^15.5.0",
|
|
54
55
|
"remark-gfm": "^4.0.0",
|
|
@@ -32,13 +32,17 @@ export interface AIWidgetProps extends WithStyle {
|
|
|
32
32
|
* If the chat can be minimized, this set of functions tells what to do when minimization related buttons are clicked.
|
|
33
33
|
*/
|
|
34
34
|
minimizedActions?: MinimizedActions,
|
|
35
|
+
/**
|
|
36
|
+
* A boolean indicating whether or not the chat should have a visible header.
|
|
37
|
+
*/
|
|
38
|
+
hasHeader?: boolean,
|
|
35
39
|
}
|
|
36
40
|
|
|
37
41
|
/**
|
|
38
42
|
* Renders a Chat Widget according to the closest model found in the React tree (AIWidgetProvider). If no model is found, a global version
|
|
39
43
|
* of the Chat Widget will be instantiated and used.
|
|
40
44
|
*/
|
|
41
|
-
export const StackspotAIWidget = ({ username, minimizedActions = {}, children, className, style }: AIWidgetProps) => {
|
|
45
|
+
export const StackspotAIWidget = ({ username, minimizedActions = {}, children, className, style, hasHeader = true }: AIWidgetProps) => {
|
|
42
46
|
const rightPanelRef = useRef<HTMLDivElement>(null)
|
|
43
47
|
const chatWindowRef = useRef<HTMLDivElement>(null)
|
|
44
48
|
const currentChat = useCurrentChatMessages()
|
|
@@ -50,9 +54,12 @@ export const StackspotAIWidget = ({ username, minimizedActions = {}, children, c
|
|
|
50
54
|
<RightPanelProvider chatWindow={chatWindowRef} panel={rightPanelRef}>
|
|
51
55
|
<div className={listToClass(['ai-chat-widget', isMinimized && 'minimized', className])} translate="no" style={style}>
|
|
52
56
|
<div className="chat-window" ref={chatWindowRef}>
|
|
53
|
-
{
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
{hasHeader &&<>
|
|
58
|
+
{isMinimized
|
|
59
|
+
? <MinimizedHeader {...minimizedActions} />
|
|
60
|
+
: <ChatTabSelection />
|
|
61
|
+
}
|
|
62
|
+
</>
|
|
56
63
|
}
|
|
57
64
|
<div className="chat-container">
|
|
58
65
|
<div className="chat-content">
|
package/src/app-metadata.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stack-spot/ai-chat-widget",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"date": "
|
|
3
|
+
"version": "1.9.0",
|
|
4
|
+
"date": "Tue Mar 25 2025 13:24:25 GMT+0000 (Coordinated Universal Time)",
|
|
5
5
|
"dependencies": [
|
|
6
6
|
{
|
|
7
7
|
"name": "@stack-spot/app-metadata",
|
|
@@ -9,15 +9,15 @@
|
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"name": "@types/lodash",
|
|
12
|
-
"version": "4.17.
|
|
12
|
+
"version": "4.17.16"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"name": "@types/react",
|
|
16
|
-
"version": "18.3.
|
|
16
|
+
"version": "18.3.20"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"name": "@types/react-dom",
|
|
20
|
-
"version": "18.3.
|
|
20
|
+
"version": "18.3.5(@types/react@18.3.20)"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"name": "@types/react-syntax-highlighter",
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"name": "@typescript-eslint/eslint-plugin",
|
|
28
|
-
"version": "6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.
|
|
28
|
+
"version": "6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2)"
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
"name": "@typescript-eslint/parser",
|
|
32
|
-
"version": "6.21.0(eslint@8.57.1)(typescript@5.
|
|
32
|
+
"version": "6.21.0(eslint@8.57.1)(typescript@5.8.2)"
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
"name": "cpy-cli",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
"name": "eslint-plugin-import",
|
|
48
|
-
"version": "2.
|
|
48
|
+
"version": "2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)"
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
"name": "eslint-plugin-lodash",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
"name": "eslint-plugin-react",
|
|
60
|
-
"version": "7.37.
|
|
60
|
+
"version": "7.37.4(eslint@8.57.1)"
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
"name": "eslint-plugin-react-hooks",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
},
|
|
86
86
|
{
|
|
87
87
|
"name": "typescript",
|
|
88
|
-
"version": "5.
|
|
88
|
+
"version": "5.8.2"
|
|
89
89
|
},
|
|
90
90
|
{
|
|
91
91
|
"name": "@citric/core",
|
|
@@ -97,19 +97,19 @@
|
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
"name": "@citric/ui",
|
|
100
|
-
"version": "6.
|
|
100
|
+
"version": "6.7.0(@citric/core@6.4.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.9.0(react@18.2.0))(lodash@4.17.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0))"
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
"name": "@monaco-editor/react",
|
|
104
|
-
"version": "4.
|
|
104
|
+
"version": "4.7.0(monaco-editor@0.52.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
"name": "@stack-spot/portal-components",
|
|
108
|
-
"version": "2.8.1(@citric/core@6.4.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.9.0(react@18.2.0))(@citric/ui@6.
|
|
108
|
+
"version": "2.8.1(@citric/core@6.4.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.9.0(react@18.2.0))(@citric/ui@6.7.0(@citric/core@6.4.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.9.0(react@18.2.0))(lodash@4.17.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@stack-spot/portal-theme@1.1.0(@citric/core@6.4.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@stack-spot/portal-translate@1.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react@18.3.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
|
|
109
109
|
},
|
|
110
110
|
{
|
|
111
111
|
"name": "@stack-spot/portal-network",
|
|
112
|
-
"version": "0.48.0(@stack-spot/auth@5.3.
|
|
112
|
+
"version": "0.48.0(@stack-spot/auth@5.3.3)(@stack-spot/opa@2.6.1(@stack-spot/auth@5.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@stack-spot/portal-translate@1.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tanstack/react-query@5.69.0(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
"name": "@stack-spot/portal-theme",
|
|
@@ -125,27 +125,31 @@
|
|
|
125
125
|
},
|
|
126
126
|
{
|
|
127
127
|
"name": "monaco-editor",
|
|
128
|
-
"version": "0.52.
|
|
128
|
+
"version": "0.52.2"
|
|
129
129
|
},
|
|
130
130
|
{
|
|
131
131
|
"name": "react-infinite-scroll-component",
|
|
132
132
|
"version": "6.1.0(react@18.2.0)"
|
|
133
133
|
},
|
|
134
|
+
{
|
|
135
|
+
"name": "react-international-phone",
|
|
136
|
+
"version": "4.5.0(react@18.2.0)"
|
|
137
|
+
},
|
|
134
138
|
{
|
|
135
139
|
"name": "react-markdown",
|
|
136
|
-
"version": "9.0
|
|
140
|
+
"version": "9.1.0(@types/react@18.3.20)(react@18.2.0)"
|
|
137
141
|
},
|
|
138
142
|
{
|
|
139
143
|
"name": "react-syntax-highlighter",
|
|
140
|
-
"version": "15.
|
|
144
|
+
"version": "15.6.1(react@18.2.0)"
|
|
141
145
|
},
|
|
142
146
|
{
|
|
143
147
|
"name": "remark-gfm",
|
|
144
|
-
"version": "4.0.
|
|
148
|
+
"version": "4.0.1"
|
|
145
149
|
},
|
|
146
150
|
{
|
|
147
151
|
"name": "ulid",
|
|
148
|
-
"version": "2.
|
|
152
|
+
"version": "2.4.0"
|
|
149
153
|
}
|
|
150
154
|
]
|
|
151
155
|
}
|
package/src/layout.css
CHANGED
|
@@ -134,4 +134,17 @@
|
|
|
134
134
|
> div > p {
|
|
135
135
|
text-align: center;
|
|
136
136
|
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.input-phone .react-international-phone-country-selector-button {
|
|
140
|
+
background-color: var(--light-300);
|
|
141
|
+
border: 1px solid var(--primary-500);
|
|
142
|
+
border-right: none;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.input-phone.react-international-phone-input-container .react-international-phone-input {
|
|
146
|
+
background-color: var(--light-300);
|
|
147
|
+
border: 1px solid var(--primary-500);
|
|
148
|
+
border-left: none;
|
|
149
|
+
color: var(--light-contrastText);
|
|
137
150
|
}
|
package/src/state/ChatEntry.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { ColorPaletteName } from '@stack-spot/portal-theme'
|
|
2
2
|
import { pull } from 'lodash'
|
|
3
|
+
import { OneOfColorSchemes } from '@citric/core'
|
|
3
4
|
import { LabeledWithImage } from './types'
|
|
4
5
|
|
|
6
|
+
export interface ActionDataClick {
|
|
7
|
+
name?: string,
|
|
8
|
+
value?: string[],
|
|
9
|
+
}
|
|
10
|
+
|
|
5
11
|
export interface SerializableAction {
|
|
6
12
|
/**
|
|
7
13
|
* The text for the button or anchor.
|
|
@@ -14,7 +20,7 @@ export interface SerializableAction {
|
|
|
14
20
|
/**
|
|
15
21
|
* The URL if the action is a link. The content of the user message otherwise.
|
|
16
22
|
*/
|
|
17
|
-
exec
|
|
23
|
+
exec?: string,
|
|
18
24
|
}
|
|
19
25
|
|
|
20
26
|
export interface ChatAction extends SerializableAction {
|
|
@@ -22,6 +28,22 @@ export interface ChatAction extends SerializableAction {
|
|
|
22
28
|
* @default primary
|
|
23
29
|
*/
|
|
24
30
|
appearance?: 'primary' | 'secondary',
|
|
31
|
+
/**
|
|
32
|
+
* @default inverse
|
|
33
|
+
*/
|
|
34
|
+
colorScheme?: OneOfColorSchemes,
|
|
35
|
+
/**
|
|
36
|
+
* @default false
|
|
37
|
+
*/
|
|
38
|
+
hideWhenNotLast?: boolean,
|
|
39
|
+
/**
|
|
40
|
+
* @default false
|
|
41
|
+
*/
|
|
42
|
+
disabled?: boolean,
|
|
43
|
+
/**
|
|
44
|
+
* @default button
|
|
45
|
+
*/
|
|
46
|
+
buttonType?: 'submit' | 'button',
|
|
25
47
|
}
|
|
26
48
|
|
|
27
49
|
export interface KnowledgeSource {
|
|
@@ -33,9 +55,11 @@ export interface KnowledgeSource {
|
|
|
33
55
|
|
|
34
56
|
export interface TextChatEntry {
|
|
35
57
|
/**
|
|
36
|
-
* "text" for simple unformatted paragraphs. "md" for markdown.
|
|
58
|
+
* "text" for simple unformatted paragraphs. "md" for markdown.
|
|
59
|
+
* "input-text" for text inputs, 'input-radio' and "input-checkbox" for radio and checkbox inputs,
|
|
60
|
+
* "input-phone" for phone formatted inputs and "button-list" for a list of buttons in which only one is selected
|
|
37
61
|
*/
|
|
38
|
-
type: 'text' | 'md',
|
|
62
|
+
type: 'text' | 'md' | 'input-text' | 'input-radio' | 'button-list' | 'input-checkbox' | 'input-phone',
|
|
39
63
|
/**
|
|
40
64
|
* If the message was typed by the AI agent (bot), the user or the system (not currently in use).
|
|
41
65
|
*/
|
|
@@ -48,6 +72,10 @@ export interface TextChatEntry {
|
|
|
48
72
|
* The content of the message.
|
|
49
73
|
*/
|
|
50
74
|
content: string,
|
|
75
|
+
/**
|
|
76
|
+
* A content that is not shown to the user, it is used only to share data.
|
|
77
|
+
*/
|
|
78
|
+
hiddenContent?: string[],
|
|
51
79
|
/**
|
|
52
80
|
* The knowledge sources used to create the message.
|
|
53
81
|
*/
|
|
@@ -76,6 +104,26 @@ export interface TextChatEntry {
|
|
|
76
104
|
* Whether or not to show this chat entry as a card.
|
|
77
105
|
*/
|
|
78
106
|
card?: boolean,
|
|
107
|
+
/**
|
|
108
|
+
* Options for radio or button type.
|
|
109
|
+
*/
|
|
110
|
+
options?: { color?: OneOfColorSchemes, label: string, value?: string}[],
|
|
111
|
+
/**
|
|
112
|
+
* Name to be used in input type fields.
|
|
113
|
+
*/
|
|
114
|
+
name?: string,
|
|
115
|
+
/**
|
|
116
|
+
* Whether or not a input field is required.
|
|
117
|
+
*/
|
|
118
|
+
required?: boolean,
|
|
119
|
+
/**
|
|
120
|
+
* The validations of input fields.
|
|
121
|
+
*/
|
|
122
|
+
validations?: {
|
|
123
|
+
minLength?: number,
|
|
124
|
+
maxLength?: number,
|
|
125
|
+
pattern?: string,
|
|
126
|
+
},
|
|
79
127
|
}
|
|
80
128
|
|
|
81
129
|
type ChatEntryListener = (value: TextChatEntry) => void
|
|
@@ -104,13 +152,16 @@ export class ChatEntry {
|
|
|
104
152
|
* Utility function to create a user entry.
|
|
105
153
|
* @param content the message's content.
|
|
106
154
|
* @param isMd whether or not this should be rendered as markdown.
|
|
155
|
+
* @param hiddenContent the message's content.
|
|
107
156
|
* @returns a new ChatEntry.
|
|
108
157
|
*/
|
|
109
|
-
static createUserEntry(content: string, isMd = false) {
|
|
158
|
+
static createUserEntry(content: string, isMd = false, fieldName?: string, hiddenContent?: string[]) {
|
|
110
159
|
return new ChatEntry({
|
|
111
160
|
agentType: 'user',
|
|
112
161
|
type: isMd ? 'md' : 'text',
|
|
113
162
|
content,
|
|
163
|
+
name: fieldName,
|
|
164
|
+
hiddenContent,
|
|
114
165
|
updated: new Date().toISOString(),
|
|
115
166
|
})
|
|
116
167
|
}
|
package/src/state/WidgetState.ts
CHANGED