@stack-spot/ai-chat-widget 1.5.2 → 1.7.0-beta.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 +12 -0
- package/dist/app-metadata.json +7 -7
- package/dist/chat-interceptors/send-message.d.ts.map +1 -1
- package/dist/chat-interceptors/send-message.js +16 -8
- package/dist/chat-interceptors/send-message.js.map +1 -1
- package/dist/components/AdaptiveTextArea.d.ts.map +1 -1
- package/dist/components/AdaptiveTextArea.js +7 -1
- package/dist/components/AdaptiveTextArea.js.map +1 -1
- package/dist/components/Selector/index.d.ts +20 -0
- package/dist/components/Selector/index.d.ts.map +1 -0
- package/dist/components/Selector/index.js +134 -0
- package/dist/components/Selector/index.js.map +1 -0
- package/dist/components/Selector/styled.d.ts +2 -0
- package/dist/components/Selector/styled.d.ts.map +1 -0
- package/dist/components/Selector/styled.js +144 -0
- package/dist/components/Selector/styled.js.map +1 -0
- package/dist/regex.d.ts +1 -0
- package/dist/regex.d.ts.map +1 -1
- package/dist/regex.js +1 -0
- package/dist/regex.js.map +1 -1
- package/dist/views/Agents/AgentsTab.js +4 -4
- package/dist/views/Agents/AgentsTab.js.map +1 -1
- package/dist/views/Chat/AgentInfo.js +1 -1
- package/dist/views/Home/CustomAgent.js +3 -3
- package/dist/views/Home/CustomAgent.js.map +1 -1
- package/dist/views/Home/styled.js +1 -1
- package/dist/views/MessageInput/AgentSelector.d.ts +4 -0
- package/dist/views/MessageInput/AgentSelector.d.ts.map +1 -0
- package/dist/views/MessageInput/AgentSelector.js +31 -0
- package/dist/views/MessageInput/AgentSelector.js.map +1 -0
- package/dist/views/MessageInput/ButtonAgent.d.ts +2 -0
- package/dist/views/MessageInput/ButtonAgent.d.ts.map +1 -0
- package/dist/views/MessageInput/ButtonAgent.js +17 -0
- package/dist/views/MessageInput/ButtonAgent.js.map +1 -0
- package/dist/views/MessageInput/ButtonGroup.d.ts +1 -1
- package/dist/views/MessageInput/ButtonGroup.d.ts.map +1 -1
- package/dist/views/MessageInput/ButtonGroup.js +4 -6
- package/dist/views/MessageInput/ButtonGroup.js.map +1 -1
- package/dist/views/MessageInput/QuickCommandSelector.d.ts +2 -11
- package/dist/views/MessageInput/QuickCommandSelector.d.ts.map +1 -1
- package/dist/views/MessageInput/QuickCommandSelector.js +17 -130
- package/dist/views/MessageInput/QuickCommandSelector.js.map +1 -1
- package/dist/views/MessageInput/dictionary.d.ts +1 -1
- package/dist/views/MessageInput/dictionary.d.ts.map +1 -1
- package/dist/views/MessageInput/dictionary.js +4 -2
- package/dist/views/MessageInput/dictionary.js.map +1 -1
- package/dist/views/MessageInput/index.d.ts.map +1 -1
- package/dist/views/MessageInput/index.js +4 -1
- package/dist/views/MessageInput/index.js.map +1 -1
- package/dist/views/MessageInput/styled.d.ts.map +1 -1
- package/dist/views/MessageInput/styled.js +51 -144
- package/dist/views/MessageInput/styled.js.map +1 -1
- package/package.json +1 -1
- package/src/app-metadata.json +7 -7
- package/src/chat-interceptors/send-message.ts +14 -7
- package/src/components/AdaptiveTextArea.tsx +8 -1
- package/src/components/Selector/index.tsx +245 -0
- package/src/components/Selector/styled.ts +145 -0
- package/src/regex.ts +1 -0
- package/src/views/Agents/AgentsTab.tsx +4 -4
- package/src/views/Chat/AgentInfo.tsx +1 -1
- package/src/views/Home/CustomAgent.tsx +3 -3
- package/src/views/Home/styled.ts +1 -1
- package/src/views/MessageInput/AgentSelector.tsx +35 -0
- package/src/views/MessageInput/ButtonAgent.tsx +36 -0
- package/src/views/MessageInput/ButtonGroup.tsx +3 -10
- package/src/views/MessageInput/QuickCommandSelector.tsx +21 -205
- package/src/views/MessageInput/dictionary.ts +4 -2
- package/src/views/MessageInput/index.tsx +8 -3
- package/src/views/MessageInput/styled.ts +51 -144
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.6.0](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget@v1.5.2...ai-chat-widget@v1.6.0) (2025-01-14)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* makes it so cancelation doesn't yield an error ([#48](https://github.com/stack-spot/portal-ai-chat-widget/issues/48)) ([9ccc3af](https://github.com/stack-spot/portal-ai-chat-widget/commit/9ccc3afacd3cdbdd3fc4dd4a22d4b68e2c5e8e61))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* 2211 scroll chat ([#46](https://github.com/stack-spot/portal-ai-chat-widget/issues/46)) ([d1f73af](https://github.com/stack-spot/portal-ai-chat-widget/commit/d1f73afd0f352172b99de3c0b25af30c3b0f1ab9))
|
|
14
|
+
|
|
3
15
|
## [1.5.2](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget@v1.5.1...ai-chat-widget@v1.5.2) (2025-01-08)
|
|
4
16
|
|
|
5
17
|
|
package/dist/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.7.0-beta.0",
|
|
4
|
+
"date": "Tue Jan 21 2025 08:16:05 GMT-0300 (Brasilia Standard Time)",
|
|
5
5
|
"dependencies": [
|
|
6
6
|
{
|
|
7
7
|
"name": "@stack-spot/app-metadata",
|
|
@@ -89,15 +89,15 @@
|
|
|
89
89
|
},
|
|
90
90
|
{
|
|
91
91
|
"name": "@citric/core",
|
|
92
|
-
"version": "6.
|
|
92
|
+
"version": "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))"
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"name": "@citric/icons",
|
|
96
|
-
"version": "5.
|
|
96
|
+
"version": "5.9.0(react@18.2.0)"
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
"name": "@citric/ui",
|
|
100
|
-
"version": "6.
|
|
100
|
+
"version": "6.5.5(@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@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",
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
"name": "@stack-spot/portal-components",
|
|
108
|
-
"version": "2.8.1(@citric/core@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.5.5(@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@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.11)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
|
|
109
109
|
},
|
|
110
110
|
{
|
|
111
111
|
"name": "@stack-spot/portal-network",
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
"name": "@stack-spot/portal-theme",
|
|
116
|
-
"version": "1.1.0(@citric/core@6.
|
|
116
|
+
"version": "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))"
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
119
|
"name": "@stack-spot/portal-translate",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAkC,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AA8B9C;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAkC,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AA8B9C;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,iBAyDlG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aiClient, StackspotAPIError } from '@stack-spot/portal-network';
|
|
1
|
+
import { aiClient, StackspotAPIError, StreamCanceledError } from '@stack-spot/portal-network';
|
|
2
2
|
import { ChatEntry } from '../state/ChatEntry.js';
|
|
3
3
|
import { buildConversationContext } from '../utils/chat.js';
|
|
4
4
|
import { genericSourcesToKnowledgeSources } from '../utils/knowledge-source.js';
|
|
@@ -54,8 +54,22 @@ export async function sendMessageInterceptor(entry, chat, signal) {
|
|
|
54
54
|
}
|
|
55
55
|
botEntry.setValue(createEntryValueFromChatResponse(value, knowledgeSources, chat.get('agent')));
|
|
56
56
|
});
|
|
57
|
+
let finalValue;
|
|
57
58
|
try {
|
|
58
|
-
|
|
59
|
+
finalValue = await stream.getValue();
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (error instanceof StreamCanceledError) {
|
|
63
|
+
finalValue = stream.getPartialValue();
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
botEntry.setValue({
|
|
67
|
+
...botEntry.getValue(),
|
|
68
|
+
error: error instanceof StackspotAPIError ? error.translate() : (error.message ?? `${error}`),
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (finalValue?.answer) {
|
|
59
73
|
botEntry.setValue(createEntryValueFromChatResponse(finalValue, knowledgeSources, chat.get('agent'), true));
|
|
60
74
|
aiClient.chat.invalidate({ conversationId: chat.id });
|
|
61
75
|
if (isFirstMessage) {
|
|
@@ -77,12 +91,6 @@ export async function sendMessageInterceptor(entry, chat, signal) {
|
|
|
77
91
|
aiClient.chats.invalidate();
|
|
78
92
|
}
|
|
79
93
|
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
botEntry.setValue({
|
|
82
|
-
...botEntry.getValue(),
|
|
83
|
-
error: error instanceof StackspotAPIError ? error.translate() : (error.message ?? `${error}`),
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
94
|
chat.set('isLoading', false);
|
|
87
95
|
}
|
|
88
96
|
//# sourceMappingURL=send-message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdaptiveTextArea.d.ts","sourceRoot":"","sources":["../../src/components/AdaptiveTextArea.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,UAAU,KAAM,SAAQ,OAAO,CAAC,OAAO,QAAQ,CAAC;IAC9C;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"AdaptiveTextArea.d.ts","sourceRoot":"","sources":["../../src/components/AdaptiveTextArea.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,UAAU,KAAM,SAAQ,OAAO,CAAC,OAAO,QAAQ,CAAC;IAC9C;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,oHAkC3B,CAAA"}
|
|
@@ -8,6 +8,12 @@ import { forwardRef, useEffect, useRef } from 'react';
|
|
|
8
8
|
export const AdaptiveTextArea = forwardRef(({ value, onIncreaseSize, onResetSize, maxHeight, style, ...props }, externalRef) => {
|
|
9
9
|
const localRef = useRef(null);
|
|
10
10
|
const ref = externalRef ?? localRef;
|
|
11
|
+
const handleIncreaseSize = (newHeight) => {
|
|
12
|
+
onIncreaseSize?.();
|
|
13
|
+
if (maxHeight && newHeight > maxHeight && ref.current) {
|
|
14
|
+
ref.current.style.overflowY = 'auto';
|
|
15
|
+
}
|
|
16
|
+
};
|
|
11
17
|
useEffect(() => {
|
|
12
18
|
if (!ref.current)
|
|
13
19
|
return;
|
|
@@ -17,7 +23,7 @@ export const AdaptiveTextArea = forwardRef(({ value, onIncreaseSize, onResetSize
|
|
|
17
23
|
ref.current.style.overflowY = 'hidden';
|
|
18
24
|
if (height < scroll) {
|
|
19
25
|
ref.current.style.height = `${scroll}px`;
|
|
20
|
-
|
|
26
|
+
handleIncreaseSize(scroll);
|
|
21
27
|
}
|
|
22
28
|
}
|
|
23
29
|
else if (maxHeight) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdaptiveTextArea.js","sourceRoot":"","sources":["../../src/components/AdaptiveTextArea.tsx"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAkBrD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAA6B,CACrE,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAClE,WAAW,EACX,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IAClD,MAAM,GAAG,GAAG,WAAmD,IAAI,QAAQ,CAAA;IAE3E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAM;QACxB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAA;QACvC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,SAAS,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;YACrC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAA;YACtC,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;gBACpB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAA;gBACxC,
|
|
1
|
+
{"version":3,"file":"AdaptiveTextArea.js","sourceRoot":"","sources":["../../src/components/AdaptiveTextArea.tsx"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAkBrD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAA6B,CACrE,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAClE,WAAW,EACX,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IAClD,MAAM,GAAG,GAAG,WAAmD,IAAI,QAAQ,CAAA;IAE3E,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,EAAE;QAC/C,cAAc,EAAE,EAAE,CAAA;QAClB,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACtD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;QACtC,CAAC;IACH,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAM;QACxB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAA;QACvC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,SAAS,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;YACrC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAA;YACtC,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;gBACpB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAA;gBACxC,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;QACtC,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAA;YAC7B,WAAW,EAAE,EAAE,CAAA;QACjB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;IAEtB,OAAO,KAAC,QAAQ,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,GAAI,CAAA;AACxF,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type SelectorShortcut = '/' | '@';
|
|
3
|
+
interface SelectorConfig<T> {
|
|
4
|
+
resourceName: string;
|
|
5
|
+
shortcut: SelectorShortcut;
|
|
6
|
+
icon: React.ReactElement;
|
|
7
|
+
regex: RegExp;
|
|
8
|
+
url: string;
|
|
9
|
+
imageProp?: keyof T;
|
|
10
|
+
data: () => T[];
|
|
11
|
+
isEnabled: boolean;
|
|
12
|
+
onSelect: (item: T) => void;
|
|
13
|
+
}
|
|
14
|
+
interface SelectorProps<T> {
|
|
15
|
+
selectorConfig: SelectorConfig<T>;
|
|
16
|
+
inputRef: React.RefObject<HTMLTextAreaElement | HTMLInputElement>;
|
|
17
|
+
}
|
|
18
|
+
export declare const Selector: <T>({ inputRef, selectorConfig }: SelectorProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Selector/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAShF,KAAK,gBAAgB,GAAG,GAAG,GAAG,GAAG,CAAA;AA2BjC,UAAU,cAAc,CAAC,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CAC7B;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;CACnE;AAmGD,eAAO,MAAM,QAAQ,GAAI,CAAC,gCAAkC,aAAa,CAAC,CAAC,CAAC,4CA+D3E,CAAA"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IconBox, Image, Text } from '@citric/core';
|
|
3
|
+
import { Agent, ExternalLink } from '@citric/icons';
|
|
4
|
+
import { IconButton } from '@citric/ui';
|
|
5
|
+
import { useKeyboardControls } from '@stack-spot/portal-components';
|
|
6
|
+
import { useTranslate } from '@stack-spot/portal-translate';
|
|
7
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
8
|
+
import { useCurrentChatState } from '../../context/hooks.js';
|
|
9
|
+
import { getUrlToStackSpotAI } from '../../utils/url.js';
|
|
10
|
+
import { Fading } from '../Fading.js';
|
|
11
|
+
import { FallbackBoundary } from '../FallbackBoundary/index.js';
|
|
12
|
+
import { SelectorBox } from './styled.js';
|
|
13
|
+
const sections = [undefined, 'personal', 'workspace', 'account', 'shared'];
|
|
14
|
+
const ListItem = ({ item, selectorConfig, onSelect }) => {
|
|
15
|
+
const t = useTranslate(dictionary);
|
|
16
|
+
const { shortcut, url } = selectorConfig;
|
|
17
|
+
const hasImage = !!selectorConfig.imageProp;
|
|
18
|
+
const image = item[selectorConfig.imageProp];
|
|
19
|
+
const linkTitle = t.open.replace('%s', item.slug);
|
|
20
|
+
return (_jsxs("li", { children: [!!hasImage && image ? _jsx(Image, { width: "32", height: "32", radius: "full", src: image }) : _jsx(IconBox, { size: "md", children: _jsx(Agent, {}) }), _jsxs("button", { className: "selector", onClick: () => onSelect(item), onKeyDown: (e) => e.key === 'Enter' && e.preventDefault(), onFocus: (e) => e.target.closest('li')?.classList.add('focus'), onBlur: (e) => e.target.closest('li')?.classList.remove('focus'), children: [_jsxs("p", { className: "selector-title", children: [!hasImage ? shortcut : '', item.slug] }), _jsx("p", { className: "selector-description", children: item.description })] }), _jsx(IconButton, { as: "a", title: linkTitle, "aria-label": linkTitle, href: `${getUrlToStackSpotAI()}${url}${item.slug}`, target: "_blank", children: _jsx(ExternalLink, {}) })] }));
|
|
21
|
+
};
|
|
22
|
+
const List = ({ selectorConfig, filter, visibility, onSelect }) => {
|
|
23
|
+
const t = useTranslate(dictionary);
|
|
24
|
+
const items = selectorConfig.data();
|
|
25
|
+
const filtered = useMemo(() => {
|
|
26
|
+
if (!filter && !visibility)
|
|
27
|
+
return items;
|
|
28
|
+
const lowerFilter = filter?.toLowerCase() ?? '';
|
|
29
|
+
return items.filter(item => item.slug.toLocaleLowerCase().startsWith(lowerFilter) && (!visibility || item?.visibility_level?.toLowerCase() === visibility));
|
|
30
|
+
}, [filter, items, visibility]);
|
|
31
|
+
if (!items.length)
|
|
32
|
+
return _jsx(Text, { className: "empty", colorScheme: "light.700", children: t.noData.replace('%', selectorConfig.resourceName) });
|
|
33
|
+
if (!filtered.length)
|
|
34
|
+
_jsx(Text, { className: "empty", colorScheme: "light.700", children: t.noResults.replace('%', selectorConfig.resourceName) });
|
|
35
|
+
return (_jsx("ul", { className: "selector-list", children: filtered.map((item) => (_jsx(ListItem, { item: item, selectorConfig: selectorConfig, onSelect: onSelect }, item.id))) }));
|
|
36
|
+
};
|
|
37
|
+
const SelectorContent = ({ filter, onClose, selectorConfig }) => {
|
|
38
|
+
const t = useTranslate(dictionary);
|
|
39
|
+
const ref = useRef(null);
|
|
40
|
+
const [visibility, setVisibility] = useState();
|
|
41
|
+
const { resourceName, icon, onSelect } = selectorConfig;
|
|
42
|
+
const onSelectItem = useCallback((slug) => {
|
|
43
|
+
onSelect(slug);
|
|
44
|
+
onClose();
|
|
45
|
+
}, []);
|
|
46
|
+
useKeyboardControls({
|
|
47
|
+
querySelectors: '.tabs button, button.selector',
|
|
48
|
+
disableTabBehavior: true,
|
|
49
|
+
onPressEscape: onClose,
|
|
50
|
+
onPressArrowLeft: () => ref.current?.querySelector('.tabs button.active')?.focus(),
|
|
51
|
+
onPressArrowRight: () => ref.current?.querySelector('button.selector')?.focus(),
|
|
52
|
+
ref,
|
|
53
|
+
}, []);
|
|
54
|
+
function createSectionItem(action) {
|
|
55
|
+
return (_jsx("li", { children: _jsx("button", { className: visibility === action ? 'active' : '', onFocus: () => setVisibility(action), children: t[action || 'all'] }) }, action ?? 'all'));
|
|
56
|
+
}
|
|
57
|
+
return (_jsxs("div", { ref: ref, children: [_jsxs("header", { children: [_jsx(IconBox, { children: icon }), _jsxs(Text, { as: "h3", className: "uppercase", children: [" ", resourceName, " "] })] }), _jsxs("div", { className: "body", children: [_jsx("ul", { className: "tabs", children: sections.map(createSectionItem) }), _jsx(FallbackBoundary, { message: t.error.replace('%s', selectorConfig.resourceName), mini: true, children: _jsx(List, { filter: filter, visibility: visibility, selectorConfig: selectorConfig, onSelect: onSelectItem }) })] })] }));
|
|
58
|
+
};
|
|
59
|
+
export const Selector = ({ inputRef, selectorConfig }) => {
|
|
60
|
+
const { shortcut, regex, isEnabled } = selectorConfig;
|
|
61
|
+
const [isClosed, setClosed] = useState(false);
|
|
62
|
+
const selectorRef = useRef(null);
|
|
63
|
+
const value = useCurrentChatState('nextMessage') ?? '';
|
|
64
|
+
const filter = useMemo(() => value === shortcut || regex.test(value) ? value.substring(1) : undefined, [value]);
|
|
65
|
+
const shouldRender = isEnabled && filter !== undefined && !isClosed;
|
|
66
|
+
// Resets the closed state whenever the message input is cleared
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
if (!value)
|
|
69
|
+
setClosed(false);
|
|
70
|
+
}, [value]);
|
|
71
|
+
// Creates the following behavior while the user types in the message input:
|
|
72
|
+
// auto-complete on tab; move focus to the resource panel on press up or down; and close the resource panel on esc.
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
function getFirst() {
|
|
75
|
+
return selectorRef.current?.querySelector('.selector');
|
|
76
|
+
}
|
|
77
|
+
function onKeyDown(event) {
|
|
78
|
+
const key = event.key;
|
|
79
|
+
if (!selectorRef.current)
|
|
80
|
+
return;
|
|
81
|
+
if (key === 'Tab') {
|
|
82
|
+
getFirst()?.click();
|
|
83
|
+
event.preventDefault();
|
|
84
|
+
}
|
|
85
|
+
else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
86
|
+
getFirst()?.focus();
|
|
87
|
+
event.preventDefault();
|
|
88
|
+
}
|
|
89
|
+
if (key === 'Escape') {
|
|
90
|
+
setClosed(true);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
inputRef.current?.addEventListener('keydown', onKeyDown);
|
|
94
|
+
return () => inputRef.current?.removeEventListener('keydown', onKeyDown);
|
|
95
|
+
}, []);
|
|
96
|
+
// Closes the panel when the user clicks outside the panel or the message input.
|
|
97
|
+
useEffect(() => {
|
|
98
|
+
if (!shouldRender)
|
|
99
|
+
return;
|
|
100
|
+
function onClickOut(e) {
|
|
101
|
+
const target = e.target;
|
|
102
|
+
if (!selectorRef.current?.contains(target) && !inputRef.current?.contains(target))
|
|
103
|
+
setClosed(true);
|
|
104
|
+
}
|
|
105
|
+
document.addEventListener('click', onClickOut);
|
|
106
|
+
return () => document.removeEventListener('click', onClickOut);
|
|
107
|
+
}, [shouldRender]);
|
|
108
|
+
return (_jsx(SelectorBox, { children: _jsx(Fading, { visible: shouldRender, ref: selectorRef, className: "box-selector", children: _jsx(SelectorContent, { selectorConfig: selectorConfig, filter: filter, onClose: () => setClosed(true), inputRef: inputRef }) }) }));
|
|
109
|
+
};
|
|
110
|
+
const dictionary = {
|
|
111
|
+
en: {
|
|
112
|
+
all: 'All',
|
|
113
|
+
personal: 'Personal',
|
|
114
|
+
account: 'Account',
|
|
115
|
+
shared: 'Shared',
|
|
116
|
+
workspace: 'Workspace',
|
|
117
|
+
error: 'Could not load the %ss.',
|
|
118
|
+
noData: 'You don\'t have any %s yet.',
|
|
119
|
+
noResults: 'There are no %ss to show here.',
|
|
120
|
+
open: 'Open this %s settings in a new tab.',
|
|
121
|
+
},
|
|
122
|
+
pt: {
|
|
123
|
+
all: 'Todos',
|
|
124
|
+
personal: 'Pessoal',
|
|
125
|
+
account: 'Conta',
|
|
126
|
+
shared: 'Compartilhado',
|
|
127
|
+
workspace: 'Workspace',
|
|
128
|
+
error: 'Não foi possível carregar os %ss.',
|
|
129
|
+
noData: 'Você ainda não possui %ss.',
|
|
130
|
+
noResults: 'Não há %ss para mostrar aqui.',
|
|
131
|
+
open: 'Abra as configurações deste %s em uma nova aba.',
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Selector/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const SelectorBox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
2
|
+
//# sourceMappingURL=styled.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/components/Selector/styled.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,wOA4IvB,CAAA"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { theme } from '@stack-spot/portal-theme';
|
|
2
|
+
import { styled } from 'styled-components';
|
|
3
|
+
export const SelectorBox = styled.div `
|
|
4
|
+
.box-selector {
|
|
5
|
+
position: absolute;
|
|
6
|
+
border-radius: 4px;
|
|
7
|
+
border: 1px solid ${theme.color.light[600]};
|
|
8
|
+
background-color: ${theme.color.light[400]};
|
|
9
|
+
box-shadow: 0px 2px 16px 0px #0000005C;
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
width: 480px;
|
|
13
|
+
bottom: 74px;
|
|
14
|
+
|
|
15
|
+
.loading, .error {
|
|
16
|
+
padding-bottom: 26px;
|
|
17
|
+
p {
|
|
18
|
+
width: 200px;
|
|
19
|
+
text-align: center;
|
|
20
|
+
line-height: 20px;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.empty {
|
|
25
|
+
padding-bottom: 26px;
|
|
26
|
+
width: 200px;
|
|
27
|
+
text-align: center;
|
|
28
|
+
line-height: 20px;
|
|
29
|
+
margin: auto;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
header {
|
|
33
|
+
display: flex;
|
|
34
|
+
flex-direction: row;
|
|
35
|
+
gap: 8px;
|
|
36
|
+
align-items: center;
|
|
37
|
+
padding: 8px;
|
|
38
|
+
margin-bottom: 4px;
|
|
39
|
+
font-family: 'San Francisco';
|
|
40
|
+
text-transform: uppercase;
|
|
41
|
+
font-weight: 500;
|
|
42
|
+
font-size: 11px;
|
|
43
|
+
background-color: ${theme.color.light[500]};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.body {
|
|
47
|
+
display: flex;
|
|
48
|
+
flex-direction: row;
|
|
49
|
+
align-items: center;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
ul {
|
|
53
|
+
margin: 0;
|
|
54
|
+
padding: 0;
|
|
55
|
+
list-style: none;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
ul.tabs {
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-direction: column;
|
|
61
|
+
|
|
62
|
+
li {
|
|
63
|
+
display: flex;
|
|
64
|
+
flex-direction: column;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
button {
|
|
68
|
+
box-sizing: border-box;
|
|
69
|
+
color: ${theme.color.light[700]};
|
|
70
|
+
text-align: left;
|
|
71
|
+
padding: 10px;
|
|
72
|
+
font-weight: 600;
|
|
73
|
+
font-size: 12px;
|
|
74
|
+
transition: background-color 0.3s;
|
|
75
|
+
border-left: 1px solid transparent;
|
|
76
|
+
border-top-right-radius: 4px;
|
|
77
|
+
border-bottom-right-radius: 4px;
|
|
78
|
+
background-color: transparent;
|
|
79
|
+
border: none;
|
|
80
|
+
cursor: pointer;
|
|
81
|
+
outline: none;
|
|
82
|
+
|
|
83
|
+
&:hover, &.active, &:focus {
|
|
84
|
+
background-color: ${theme.color.light[600]};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&.active {
|
|
88
|
+
border-left: 1px solid ${theme.color.light.contrastText};
|
|
89
|
+
color: ${theme.color.light.contrastText};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
ul.selector-list {
|
|
95
|
+
align-self: stretch;
|
|
96
|
+
display: flex;
|
|
97
|
+
flex-direction: column;
|
|
98
|
+
gap: 2px;
|
|
99
|
+
overflow-y: auto;
|
|
100
|
+
flex: 1;
|
|
101
|
+
max-height: 170px;
|
|
102
|
+
|
|
103
|
+
li {
|
|
104
|
+
display: flex;
|
|
105
|
+
flex-direction: row;
|
|
106
|
+
align-items: center;
|
|
107
|
+
gap: 8px;
|
|
108
|
+
padding: 8px;
|
|
109
|
+
border-radius: 4px;
|
|
110
|
+
|
|
111
|
+
&:hover, &.focus {
|
|
112
|
+
background-color: ${theme.color.light[600]};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
button.selector {
|
|
116
|
+
flex: 1;
|
|
117
|
+
border: none;
|
|
118
|
+
text-align: left;
|
|
119
|
+
background-color: transparent;
|
|
120
|
+
text-align: left;
|
|
121
|
+
outline: none;
|
|
122
|
+
overflow: hidden;
|
|
123
|
+
cursor: pointer;
|
|
124
|
+
|
|
125
|
+
.selector-title {
|
|
126
|
+
font-size: 11px;
|
|
127
|
+
margin: 0 0 4px 0;
|
|
128
|
+
color: ${theme.color.light.contrastText};
|
|
129
|
+
text-transform: uppercase;
|
|
130
|
+
text-overflow: ellipsis;
|
|
131
|
+
overflow: hidden;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.selector-description {
|
|
135
|
+
color: ${theme.color.light[700]};
|
|
136
|
+
font-size: 12px;
|
|
137
|
+
margin: 0;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
`;
|
|
144
|
+
//# sourceMappingURL=styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/components/Selector/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA;;;;wBAIb,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;wBACtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAmCpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0B/B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;8BAeT,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;mCAIjB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;mBAC9C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;8BAuBnB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;qBAgB/B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;qBAO9B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;CAQ1C,CAAA"}
|
package/dist/regex.d.ts
CHANGED
package/dist/regex.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../src/regex.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,QAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../src/regex.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,QAAkB,CAAA;AAChD,eAAO,MAAM,UAAU,QAAiB,CAAA"}
|
package/dist/regex.js
CHANGED
package/dist/regex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regex.js","sourceRoot":"","sources":["../src/regex.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"regex.js","sourceRoot":"","sources":["../src/regex.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAA;AAChD,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Button, Text } from '@citric/core';
|
|
3
|
-
import { Search } from '@citric/icons';
|
|
2
|
+
import { Button, IconBox, Text } from '@citric/core';
|
|
3
|
+
import { Agent, Search } from '@citric/icons';
|
|
4
4
|
import { Placeholder } from '@stack-spot/portal-components/Placeholder';
|
|
5
5
|
import { MiniLogo } from '@stack-spot/portal-components/svg';
|
|
6
6
|
import { agentClient } from '@stack-spot/portal-network';
|
|
@@ -19,7 +19,7 @@ export const AgentsTab = ({ visibility }) => {
|
|
|
19
19
|
const [filter, setFilter] = useState('');
|
|
20
20
|
const defaultAgent = useMemo(() => ({
|
|
21
21
|
id: '',
|
|
22
|
-
name: '
|
|
22
|
+
name: 'StackSpot AI',
|
|
23
23
|
description: t.defaultAgentDescription,
|
|
24
24
|
llm_config: { model_slug: 'gpt4o' },
|
|
25
25
|
}), []);
|
|
@@ -35,7 +35,7 @@ export const AgentsTab = ({ visibility }) => {
|
|
|
35
35
|
}
|
|
36
36
|
close();
|
|
37
37
|
}
|
|
38
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "content", children: [_jsx(IconInput, { icon: _jsx(Search, {}), value: filter, onChange: setFilter, className: "search" }), !!filtered.length && _jsx(DescribedRadioGroup, { options: filtered, keygen: a => a.id, value: value, onChange: setValue, renderLabel: ({ name, avatar, id }) => (_jsxs(AgentLabel, { children: [id ? (avatar
|
|
38
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "content", children: [_jsx(IconInput, { icon: _jsx(Search, {}), value: filter, onChange: setFilter, className: "search" }), !!filtered.length && _jsx(DescribedRadioGroup, { options: filtered, keygen: a => a.id, value: value, onChange: setValue, renderLabel: ({ name, avatar, id }) => (_jsxs(AgentLabel, { children: [id ? (avatar ? _jsx("img", { src: avatar }) : _jsx(IconBox, { size: "xs", children: _jsx(Agent, {}) })) : _jsx(MiniLogo, {}), _jsx(Text, { children: name })] })), renderDescription: a => _jsx(AgentDescription, { agentId: a.id, description: a.description, llm: a.llm_config?.model_slug, numberOfKnowledgeSources: a.knowledge_sources_config?.knowledge_sources?.length ?? 0 }), optionClassName: a => (a === value && filter && !a.name.toLocaleLowerCase().includes(filter.toLocaleLowerCase()))
|
|
39
39
|
? 'filtered-out'
|
|
40
40
|
: '', className: "option-list" }), !!agents.length && !filtered.length &&
|
|
41
41
|
_jsx(Placeholder, { title: t.noSearchResults, description: t.noSearchResultsDescription, className: "no-data-placeholder" }), !agents.length && _jsx(Placeholder, { title: t.noData, description: t.noDataDescription })] }), !!filtered.length && _jsx(Button, { onClick: submit, disabled: !value, children: t.apply })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentsTab.js","sourceRoot":"","sources":["../../../src/views/Agents/AgentsTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"AgentsTab.js","sourceRoot":"","sources":["../../../src/views/Agents/AgentsTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,5 @@ import { MiniLogo } from '@stack-spot/portal-components/svg';
|
|
|
6
6
|
*/
|
|
7
7
|
export const AgentInfo = ({ agent }) => (_jsxs(_Fragment, { children: [agent?.image
|
|
8
8
|
? _jsx("img", { src: agent.image, className: "custom-agent-image" })
|
|
9
|
-
: _jsx("div", { className: "default-image-wrapper", children: _jsx(MiniLogo, { className: "agent-image" }) }), _jsx(Text, { appearance: "body2", children: agent?.label || '
|
|
9
|
+
: _jsx("div", { className: "default-image-wrapper", children: _jsx(MiniLogo, { className: "agent-image" }) }), _jsx(Text, { appearance: "body2", children: agent?.label || 'StackSpot AI' })] }));
|
|
10
10
|
//# sourceMappingURL=AgentInfo.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from '@citric/core';
|
|
3
|
-
import {
|
|
2
|
+
import { IconBox, Text } from '@citric/core';
|
|
3
|
+
import { Agent } from '@citric/icons';
|
|
4
4
|
import { agentClient } from '@stack-spot/portal-network';
|
|
5
5
|
import { theme } from '@stack-spot/portal-theme';
|
|
6
6
|
import { useMemo } from 'react';
|
|
@@ -19,6 +19,6 @@ export const CustomAgent = () => {
|
|
|
19
19
|
function send(message) {
|
|
20
20
|
chat.pushMessage(ChatEntry.createUserEntry(message));
|
|
21
21
|
}
|
|
22
|
-
return (_jsxs(HomeBox, { className: "home-page custom-agent", children: [image ? _jsx("img", { src: image, className: "avatar" }) : _jsx(
|
|
22
|
+
return (_jsxs(HomeBox, { className: "home-page custom-agent", children: [image ? _jsx("img", { src: image, className: "avatar" }) : _jsx(IconBox, { className: "avatar", children: _jsx(Agent, {}) }), _jsx(Text, { appearance: "h3", children: label }), _jsx("div", { className: "shortcuts", children: suggestions?.length ? suggestions : null })] }));
|
|
23
23
|
};
|
|
24
24
|
//# sourceMappingURL=CustomAgent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomAgent.js","sourceRoot":"","sources":["../../../src/views/Home/CustomAgent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"CustomAgent.js","sourceRoot":"","sources":["../../../src/views/Home/CustomAgent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAC/D,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAG,EAAE,CAAC,CAAA;IACpE,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACjF,KAAC,gBAAgB,IAEf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAClC,cAAc,UAJT,KAAK,CAKV,CACH,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAE/B,SAAS,IAAI,CAAC,OAAe;QAC3B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,CACL,MAAC,OAAO,IAAC,SAAS,EAAC,wBAAwB,aACxC,KAAK,CAAC,CAAC,CAAC,cAAK,GAAG,EAAE,KAAK,EAAE,SAAS,EAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,SAAS,EAAC,QAAQ,YAAC,KAAC,KAAK,KAAG,GAAU,EACjG,KAAC,IAAI,IAAC,UAAU,EAAC,IAAI,YAAE,KAAK,GAAQ,EACpC,cAAK,SAAS,EAAC,WAAW,YAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAO,IACnE,CACX,CAAA;AACH,CAAC,CAAA"}
|