@stack-spot/ai-chat-widget 1.1.0 → 1.2.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 +16 -0
- package/dist/StackspotAIWidget.d.ts +1 -7
- package/dist/StackspotAIWidget.d.ts.map +1 -1
- package/dist/StackspotAIWidget.js +7 -15
- package/dist/StackspotAIWidget.js.map +1 -1
- package/dist/chat-interceptors/quick-commands.js +1 -1
- package/dist/chat-interceptors/quick-commands.js.map +1 -1
- package/dist/context/hooks.d.ts +1 -6
- package/dist/context/hooks.d.ts.map +1 -1
- package/dist/context/hooks.js +0 -11
- package/dist/context/hooks.js.map +1 -1
- package/dist/state/WidgetState.d.ts +38 -1
- package/dist/state/WidgetState.d.ts.map +1 -1
- package/dist/state/WidgetState.js +39 -1
- package/dist/state/WidgetState.js.map +1 -1
- package/dist/utils/chat.d.ts +1 -8
- package/dist/utils/chat.d.ts.map +1 -1
- package/dist/utils/chat.js +2 -16
- package/dist/utils/chat.js.map +1 -1
- package/dist/views/ChatHistory/ChatHistoryPanel.d.ts +1 -4
- package/dist/views/ChatHistory/ChatHistoryPanel.d.ts.map +1 -1
- package/dist/views/ChatHistory/ChatHistoryPanel.js +2 -2
- package/dist/views/ChatHistory/ChatHistoryPanel.js.map +1 -1
- package/dist/views/ChatHistory/HistoryItem.d.ts +1 -3
- package/dist/views/ChatHistory/HistoryItem.d.ts.map +1 -1
- package/dist/views/ChatHistory/HistoryItem.js +2 -2
- package/dist/views/ChatHistory/HistoryItem.js.map +1 -1
- package/dist/views/ChatHistory/index.d.ts +1 -9
- package/dist/views/ChatHistory/index.d.ts.map +1 -1
- package/dist/views/ChatHistory/index.js +2 -2
- package/dist/views/ChatHistory/index.js.map +1 -1
- package/dist/views/ChatTabSelection.d.ts +1 -3
- package/dist/views/ChatTabSelection.d.ts.map +1 -1
- package/dist/views/ChatTabSelection.js +2 -3
- package/dist/views/ChatTabSelection.js.map +1 -1
- package/dist/views/MessageInput/QuickCommandSelector.d.ts.map +1 -1
- package/dist/views/MessageInput/QuickCommandSelector.js +3 -2
- package/dist/views/MessageInput/QuickCommandSelector.js.map +1 -1
- package/dist/views/MessageInput/dictionary.d.ts +1 -1
- package/package.json +5 -2
- package/src/StackspotAIWidget.tsx +9 -25
- package/src/chat-interceptors/quick-commands.ts +1 -1
- package/src/context/hooks.ts +1 -12
- package/src/state/WidgetState.ts +61 -1
- package/src/utils/chat.ts +3 -19
- package/src/views/ChatHistory/ChatHistoryPanel.tsx +2 -3
- package/src/views/ChatHistory/HistoryItem.tsx +3 -3
- package/src/views/ChatHistory/index.tsx +2 -10
- package/src/views/ChatTabSelection.tsx +2 -5
- package/src/views/MessageInput/QuickCommandSelector.tsx +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.2.0](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget@v1.1.1...ai-chat-widget@v1.2.0) (2024-10-29)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* makes it easier to recover the default chat interceptors ([9f7c14f](https://github.com/stack-spot/portal-ai-chat-widget/commit/9f7c14f59d426badb0d5aa1fa9b393c3e01076a7))
|
|
9
|
+
* makes it easier to recover the default chat interceptors ([9f7c14f](https://github.com/stack-spot/portal-ai-chat-widget/commit/9f7c14f59d426badb0d5aa1fa9b393c3e01076a7))
|
|
10
|
+
|
|
11
|
+
## [1.1.1](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget@v1.1.0...ai-chat-widget@v1.1.1) (2024-10-29)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* replaces hardcoded version with automatic version calculation ([95f6fc4](https://github.com/stack-spot/portal-ai-chat-widget/commit/95f6fc4c613f5561507cd70c6a5ba449a52dc88a))
|
|
17
|
+
* replaces hardcoded version with automatic version calculation ([95f6fc4](https://github.com/stack-spot/portal-ai-chat-widget/commit/95f6fc4c613f5561507cd70c6a5ba449a52dc88a))
|
|
18
|
+
|
|
3
19
|
## [1.1.0](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget-v1.0.0...ai-chat-widget@v1.1.0) (2024-10-29)
|
|
4
20
|
|
|
5
21
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AIWidgetFeatures } from './features.js';
|
|
2
2
|
import './layout.css';
|
|
3
|
-
import { MessageInterceptor } from './state/ChatState.js';
|
|
4
3
|
import { MinimizedActions } from './types.js';
|
|
5
4
|
export interface AIWidgetProps {
|
|
6
5
|
/**
|
|
@@ -11,11 +10,6 @@ export interface AIWidgetProps {
|
|
|
11
10
|
* The name of the user currently logged in.
|
|
12
11
|
*/
|
|
13
12
|
username: string;
|
|
14
|
-
/**
|
|
15
|
-
* Chat interceptors allows you to intercept chat messages, interpret them, modify them and even change the chat flow. See
|
|
16
|
-
* {@link ChatState} for more details.
|
|
17
|
-
*/
|
|
18
|
-
interceptors?: MessageInterceptor[];
|
|
19
13
|
/**
|
|
20
14
|
* A custom view to show when the chat has no messages to display.
|
|
21
15
|
*/
|
|
@@ -29,5 +23,5 @@ export interface AIWidgetProps {
|
|
|
29
23
|
* Renders a Chat Widget according to the closest model found in the React tree (AIWidgetProvider). If no model is found, a global version
|
|
30
24
|
* of the Chat Widget will be instantiated and used.
|
|
31
25
|
*/
|
|
32
|
-
export declare const StackspotAIWidget: ({ username, features,
|
|
26
|
+
export declare const StackspotAIWidget: ({ username, features, minimizedActions, children }: AIWidgetProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
27
|
//# sourceMappingURL=StackspotAIWidget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackspotAIWidget.d.ts","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StackspotAIWidget.d.ts","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,YAAY,CAAA;AAC9D,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAc1C,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,uDAC+C,aAAa,4CAyCzF,CAAA"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { loader } from '@monaco-editor/react';
|
|
3
2
|
import { listToClass } from '@stack-spot/portal-theme';
|
|
4
|
-
import { useMemo, useRef } from 'react';
|
|
5
|
-
import { quickCommandQuestionsInterceptor } from './chat-interceptors/quick-command-questions.js';
|
|
6
|
-
import { createQuickCommandInterceptor } from './chat-interceptors/quick-commands.js';
|
|
7
|
-
import { sendMessageInterceptor } from './chat-interceptors/send-message.js';
|
|
3
|
+
import { useEffect, useMemo, useRef } from 'react';
|
|
8
4
|
import { TooltipProvider } from './components/Tooltip/index.js';
|
|
9
|
-
import { useCurrentChatMessages,
|
|
5
|
+
import { useCurrentChatMessages, useWidget, useWidgetState } from './context/hooks.js';
|
|
10
6
|
import { defaultFeatures } from './features.js';
|
|
11
7
|
import './layout.css';
|
|
12
8
|
import { RightPanel } from './right-panel/RightPanel.js';
|
|
@@ -27,22 +23,18 @@ import { Workspaces } from './views/Workspaces.js';
|
|
|
27
23
|
* Renders a Chat Widget according to the closest model found in the React tree (AIWidgetProvider). If no model is found, a global version
|
|
28
24
|
* of the Chat Widget will be instantiated and used.
|
|
29
25
|
*/
|
|
30
|
-
export const StackspotAIWidget = ({ username, features = defaultFeatures,
|
|
26
|
+
export const StackspotAIWidget = ({ username, features = defaultFeatures, minimizedActions = {}, children }) => {
|
|
31
27
|
const widget = useWidget();
|
|
32
|
-
const interceptors = useMemo(() => features.quickCommands ? [
|
|
33
|
-
...userInterceptors,
|
|
34
|
-
quickCommandQuestionsInterceptor,
|
|
35
|
-
createQuickCommandInterceptor(widget, () => loader.__getMonacoInstance()?.editor),
|
|
36
|
-
sendMessageInterceptor,
|
|
37
|
-
] : [...userInterceptors, sendMessageInterceptor], []);
|
|
38
|
-
useFirstChat(interceptors);
|
|
39
28
|
const rightPanelRef = useRef(null);
|
|
40
29
|
const chatWindowRef = useRef(null);
|
|
41
30
|
const currentChat = useCurrentChatMessages();
|
|
42
31
|
const isMinimized = useWidgetState('isMinimized');
|
|
43
32
|
const isCurrentChatEmpty = currentChat.length === 0;
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
widget.set('areQuickCommandsEnabled', features.quickCommands);
|
|
35
|
+
}, [features.quickCommands]);
|
|
44
36
|
return useMemo(() => (_jsx(TooltipProvider, { children: _jsx(RightPanelProvider, { chatWindow: chatWindowRef, panel: rightPanelRef, children: _jsxs("div", { className: listToClass(['ai-chat-widget', isMinimized && 'minimized']), translate: "no", children: [_jsxs("div", { className: "chat-window", ref: chatWindowRef, children: [isMinimized
|
|
45
37
|
? _jsx(MinimizedHeader, { ...minimizedActions })
|
|
46
|
-
: _jsx(ChatTabSelection, { history: features?.chatHistory
|
|
38
|
+
: _jsx(ChatTabSelection, { history: features?.chatHistory }), _jsxs("div", { className: "chat-container", children: [_jsx("div", { className: "chat-content", children: isCurrentChatEmpty ? (children ?? _jsx(Home, { username: username })) : _jsx(Chat, { username: username }) }), _jsx(MessageInput, { features: features })] })] }), _jsx(Stacks, {}), _jsx(Workspaces, {}), _jsx(KnowledgeSources, {}), _jsx(KSDocument, {}), _jsx(Agents, {}), _jsx(Editor, {}), _jsx(ChatHistory, {}), _jsx("div", { className: "chat-right-panel", ref: rightPanelRef, children: _jsx(RightPanel, {}) })] }) }) })), [isCurrentChatEmpty, features, username, isMinimized]);
|
|
47
39
|
};
|
|
48
40
|
//# sourceMappingURL=StackspotAIWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackspotAIWidget.js","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"StackspotAIWidget.js","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -232,7 +232,7 @@ export function createQuickCommandInterceptor(widget, getEditor) {
|
|
|
232
232
|
*/
|
|
233
233
|
async function quickCommandInterceptor(entry, chat, signal) {
|
|
234
234
|
const { agentType, content } = entry.getValue();
|
|
235
|
-
if (agentType !== 'user' || !quickCommandRegex.test(content.trim()))
|
|
235
|
+
if (!widget.get('areQuickCommandsEnabled') || agentType !== 'user' || !quickCommandRegex.test(content.trim()))
|
|
236
236
|
return;
|
|
237
237
|
const t = translate(dictionary);
|
|
238
238
|
const slug = content.trim().substring(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-commands.js","sourceRoot":"","sources":["../../src/chat-interceptors/quick-commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quick-commands.js","sourceRoot":"","sources":["../../src/chat-interceptors/quick-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/context/hooks.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChatEntry } from '../state/ChatEntry.js';
|
|
2
|
-
import { ChatProperties, ChatState
|
|
2
|
+
import { ChatProperties, ChatState } from '../state/ChatState.js';
|
|
3
3
|
import { WidgetProperties, WidgetState } from '../state/WidgetState.js';
|
|
4
4
|
/**
|
|
5
5
|
* Returns the closest instance of a WidgetState (React Context). If no context is available, uses a global instance of the chat widget.
|
|
@@ -66,9 +66,4 @@ export declare function useCurrentChatMessages(): ChatEntry[];
|
|
|
66
66
|
* @returns the current value of the message.
|
|
67
67
|
*/
|
|
68
68
|
export declare function useChatEntry(entry: ChatEntry): import("../state/ChatEntry.js").TextChatEntry;
|
|
69
|
-
/**
|
|
70
|
-
* This will create a new chat if none exists.
|
|
71
|
-
* @param interceptors the interceptors to add to the new chat.
|
|
72
|
-
*/
|
|
73
|
-
export declare function useFirstChat(interceptors: MessageInterceptor[]): void;
|
|
74
69
|
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/context/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/context/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAKpE;;GAEG;AACH,wBAAgB,SAAS,IAAI,WAAW,CAKvC;AAWD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAAE,GAAG,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAG5F;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQpE;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAKjD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,SAAS,CAG1C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAGtG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAG7F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAQ3D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,SAAS,EAAE,CAGpD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,8CAI5C"}
|
package/dist/context/hooks.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { useContext, useEffect, useState } from 'react';
|
|
2
2
|
import { WidgetState } from '../state/WidgetState.js';
|
|
3
|
-
import { createNewChat } from '../utils/chat.js';
|
|
4
3
|
import { AIWidgetContext } from './AIWidgetProvider.js';
|
|
5
4
|
let globalWidgetState;
|
|
6
5
|
/**
|
|
@@ -120,14 +119,4 @@ export function useChatEntry(entry) {
|
|
|
120
119
|
useEffect(() => entry.onChange(setContent), []);
|
|
121
120
|
return content;
|
|
122
121
|
}
|
|
123
|
-
/**
|
|
124
|
-
* This will create a new chat if none exists.
|
|
125
|
-
* @param interceptors the interceptors to add to the new chat.
|
|
126
|
-
*/
|
|
127
|
-
export function useFirstChat(interceptors) {
|
|
128
|
-
const widget = useWidget();
|
|
129
|
-
const tabs = widget.chatTabs;
|
|
130
|
-
if (!tabs.getAll().length)
|
|
131
|
-
createNewChat(widget, interceptors);
|
|
132
|
-
}
|
|
133
122
|
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/context/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAIvD,OAAO,EAAoB,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/context/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ChatEntry } from './ChatEntry.js';
|
|
2
|
+
import { ChatProperties, MessageInterceptor } from './ChatState.js';
|
|
1
3
|
import { ChatTabsController } from './ChatTabsController.js';
|
|
2
4
|
import { ObservableState } from './ObservableState.js';
|
|
3
5
|
export interface WidgetProperties {
|
|
@@ -18,6 +20,25 @@ export interface WidgetProperties {
|
|
|
18
20
|
* Whether or not the widget is in its minimized version.
|
|
19
21
|
*/
|
|
20
22
|
isMinimized?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Whether or not the execution of quick commands is enabled.
|
|
25
|
+
*/
|
|
26
|
+
areQuickCommandsEnabled?: boolean;
|
|
27
|
+
}
|
|
28
|
+
interface Options {
|
|
29
|
+
/**
|
|
30
|
+
* Chat interceptors allows you to intercept chat messages, interpret them, modify them and even change the chat flow. See
|
|
31
|
+
* {@link ChatState} for more details.
|
|
32
|
+
*/
|
|
33
|
+
interceptors?: MessageInterceptor[];
|
|
34
|
+
/**
|
|
35
|
+
* The initial values for the widget state.
|
|
36
|
+
*/
|
|
37
|
+
initial?: WidgetProperties;
|
|
38
|
+
/**
|
|
39
|
+
* The initial tabs for the chat window.
|
|
40
|
+
*/
|
|
41
|
+
chatTabs?: ChatTabsController;
|
|
21
42
|
}
|
|
22
43
|
/**
|
|
23
44
|
* Holds the full state of the AI Chat Widget.
|
|
@@ -26,6 +47,22 @@ export interface WidgetProperties {
|
|
|
26
47
|
*/
|
|
27
48
|
export declare class WidgetState extends ObservableState<WidgetProperties> {
|
|
28
49
|
readonly chatTabs: ChatTabsController;
|
|
29
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Chat interceptors to be used by default when creating a new chat.
|
|
52
|
+
*/
|
|
53
|
+
interceptors: MessageInterceptor[];
|
|
54
|
+
/**
|
|
55
|
+
* helps with naming new chats
|
|
56
|
+
*/
|
|
57
|
+
private next;
|
|
58
|
+
constructor({ chatTabs, initial, interceptors }?: Options);
|
|
59
|
+
/**
|
|
60
|
+
* Utility function for adding a new chat to the chat tabs.
|
|
61
|
+
* @param properties the chat properties (initial state).
|
|
62
|
+
* @param entries the entries for the chat to start with.
|
|
63
|
+
* @returns a function that, when called, removes the chat tab.
|
|
64
|
+
*/
|
|
65
|
+
createChat(properties?: ChatProperties, entries?: ChatEntry[]): () => void;
|
|
30
66
|
}
|
|
67
|
+
export {};
|
|
31
68
|
//# sourceMappingURL=WidgetState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetState.d.ts","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WidgetState.d.ts","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,cAAc,EAAa,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;IACrF;;OAEG;IACH,gBAAgB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,UAAU,OAAO;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,eAAe,CAAC,gBAAgB,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAA;IACrC;;OAEG;IACH,YAAY,EAAE,kBAAkB,EAAE,CAAK;IACvC;;OAEG;IACH,OAAO,CAAC,IAAI,CAAI;gBAEJ,EAAE,QAAQ,EAAE,OAAY,EAAE,YAAiB,EAAE,GAAE,OAAY;IAYvE;;;;;OAKG;IACH,UAAU,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,OAAO,GAAE,SAAS,EAAO;CAWlE"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { loader } from '@monaco-editor/react';
|
|
2
|
+
import { ulid } from 'ulid';
|
|
3
|
+
import { quickCommandQuestionsInterceptor } from '../chat-interceptors/quick-command-questions.js';
|
|
4
|
+
import { createQuickCommandInterceptor } from '../chat-interceptors/quick-commands.js';
|
|
5
|
+
import { sendMessageInterceptor } from '../chat-interceptors/send-message.js';
|
|
6
|
+
import { ChatState } from './ChatState.js';
|
|
1
7
|
import { ChatTabsController } from './ChatTabsController.js';
|
|
2
8
|
import { ObservableState } from './ObservableState.js';
|
|
3
9
|
/**
|
|
@@ -7,9 +13,41 @@ import { ObservableState } from './ObservableState.js';
|
|
|
7
13
|
*/
|
|
8
14
|
export class WidgetState extends ObservableState {
|
|
9
15
|
chatTabs;
|
|
10
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Chat interceptors to be used by default when creating a new chat.
|
|
18
|
+
*/
|
|
19
|
+
interceptors = [];
|
|
20
|
+
/**
|
|
21
|
+
* helps with naming new chats
|
|
22
|
+
*/
|
|
23
|
+
next = 1;
|
|
24
|
+
constructor({ chatTabs, initial = {}, interceptors = [] } = {}) {
|
|
11
25
|
super(initial);
|
|
12
26
|
this.chatTabs = chatTabs ?? new ChatTabsController();
|
|
27
|
+
this.interceptors = [
|
|
28
|
+
...interceptors,
|
|
29
|
+
quickCommandQuestionsInterceptor,
|
|
30
|
+
createQuickCommandInterceptor(this, () => loader.__getMonacoInstance()?.editor),
|
|
31
|
+
sendMessageInterceptor,
|
|
32
|
+
];
|
|
33
|
+
this.createChat();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Utility function for adding a new chat to the chat tabs.
|
|
37
|
+
* @param properties the chat properties (initial state).
|
|
38
|
+
* @param entries the entries for the chat to start with.
|
|
39
|
+
* @returns a function that, when called, removes the chat tab.
|
|
40
|
+
*/
|
|
41
|
+
createChat(properties, entries = []) {
|
|
42
|
+
const chat = new ChatState({
|
|
43
|
+
id: ulid(),
|
|
44
|
+
initial: { label: `Chat ${this.next++}`, ...properties },
|
|
45
|
+
entries,
|
|
46
|
+
interceptors: this.interceptors,
|
|
47
|
+
});
|
|
48
|
+
this.chatTabs.add(chat);
|
|
49
|
+
this.chatTabs.select(chat.id);
|
|
50
|
+
return () => this.chatTabs.remove(chat.id);
|
|
13
51
|
}
|
|
14
52
|
}
|
|
15
53
|
//# sourceMappingURL=WidgetState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetState.js","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"WidgetState.js","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAA;AAC/F,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,OAAO,EAAkB,SAAS,EAAsB,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAqCnD;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,eAAiC;IACvD,QAAQ,CAAoB;IACrC;;OAEG;IACH,YAAY,GAAyB,EAAE,CAAA;IACvC;;OAEG;IACK,IAAI,GAAG,CAAC,CAAA;IAEhB,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,KAAc,EAAE;QACrE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,kBAAkB,EAAE,CAAA;QACpD,IAAI,CAAC,YAAY,GAAG;YAClB,GAAG,YAAY;YACf,gCAAgC;YAChC,6BAA6B,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,MAAM,CAAC;YAC/E,sBAAsB;SACvB,CAAA;QACD,IAAI,CAAC,UAAU,EAAE,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,UAA2B,EAAE,UAAuB,EAAE;QAC/D,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC;YACzB,EAAE,EAAE,IAAI,EAAE;YACV,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE;YACxD,OAAO;YACP,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC;CACF"}
|
package/dist/utils/chat.d.ts
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import { FixedChatRequest } from '@stack-spot/portal-network';
|
|
2
|
-
import { ChatState
|
|
3
|
-
import { WidgetState } from '../state/WidgetState.js';
|
|
4
|
-
/**
|
|
5
|
-
* Utility for creating a new chat in the chat tabs.
|
|
6
|
-
* @param widget the widget state.
|
|
7
|
-
* @param interceptors the interceptors to add the chat.
|
|
8
|
-
*/
|
|
9
|
-
export declare function createNewChat(widget: WidgetState, interceptors: MessageInterceptor[]): void;
|
|
2
|
+
import { ChatState } from '../state/ChatState.js';
|
|
10
3
|
/**
|
|
11
4
|
* Builds a conversation context from a ChatState.
|
|
12
5
|
*
|
package/dist/utils/chat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/utils/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/utils/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CActF"}
|
package/dist/utils/chat.js
CHANGED
|
@@ -1,19 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ChatState } from '../state/ChatState.js';
|
|
1
|
+
import appData from '../app-metadata.json';
|
|
3
2
|
import { defaultLanguage } from './programming-languages.js';
|
|
4
|
-
// helps with naming new chats
|
|
5
|
-
let next = 1;
|
|
6
|
-
/**
|
|
7
|
-
* Utility for creating a new chat in the chat tabs.
|
|
8
|
-
* @param widget the widget state.
|
|
9
|
-
* @param interceptors the interceptors to add the chat.
|
|
10
|
-
*/
|
|
11
|
-
export function createNewChat(widget, interceptors) {
|
|
12
|
-
const id = ulid();
|
|
13
|
-
widget.chatTabs.add(new ChatState({ id, initial: { label: `Chat ${next}` }, interceptors }));
|
|
14
|
-
widget.chatTabs.select(id);
|
|
15
|
-
next++;
|
|
16
|
-
}
|
|
17
3
|
/**
|
|
18
4
|
* Builds a conversation context from a ChatState.
|
|
19
5
|
*
|
|
@@ -34,7 +20,7 @@ export function buildConversationContext(state) {
|
|
|
34
20
|
os: navigator.userAgent,
|
|
35
21
|
platform: 'web-widget',
|
|
36
22
|
platform_version: navigator.userAgent,
|
|
37
|
-
stackspot_ai_version:
|
|
23
|
+
stackspot_ai_version: appData.version,
|
|
38
24
|
};
|
|
39
25
|
}
|
|
40
26
|
//# sourceMappingURL=chat.js.map
|
package/dist/utils/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/utils/chat.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/utils/chat.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,sBAAsB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAgB;IACvD,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE;QACrC,eAAe,EAAE,KAAK,CAAC,EAAE;QACzB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;QAChC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAClE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;QAChC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO;QAC3C,EAAE,EAAE,SAAS,CAAC,SAAS;QACvB,QAAQ,EAAE,YAAY;QACtB,gBAAgB,EAAE,SAAS,CAAC,SAAS;QACrC,oBAAoB,EAAE,OAAO,CAAC,OAAO;KACtC,CAAA;AACH,CAAC"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { MessageInterceptor } from '../../state/ChatState.js';
|
|
2
1
|
/**
|
|
3
2
|
* Renders the list of conversations (history).
|
|
4
3
|
*/
|
|
5
|
-
export declare const ChatHistoryPanel: (
|
|
6
|
-
interceptors: MessageInterceptor[];
|
|
7
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const ChatHistoryPanel: () => import("react/jsx-runtime").JSX.Element;
|
|
8
5
|
//# sourceMappingURL=ChatHistoryPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatHistoryPanel.d.ts","sourceRoot":"","sources":["../../../src/views/ChatHistory/ChatHistoryPanel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChatHistoryPanel.d.ts","sourceRoot":"","sources":["../../../src/views/ChatHistory/ChatHistoryPanel.tsx"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,gBAAgB,+CAqB5B,CAAA"}
|
|
@@ -7,8 +7,8 @@ import { HistoryItem } from './HistoryItem.js';
|
|
|
7
7
|
/**
|
|
8
8
|
* Renders the list of conversations (history).
|
|
9
9
|
*/
|
|
10
|
-
export const ChatHistoryPanel = (
|
|
10
|
+
export const ChatHistoryPanel = () => {
|
|
11
11
|
const [chats, { fetchNextPage, hasNextPage }] = aiClient.chats.useInfiniteQuery({ size: 40 });
|
|
12
|
-
return (_jsx(AutoFocus, { id: "chatHistoryList", style: { height: '100%', overflow: 'auto' }, children: _jsx(InfiniteScroll, { scrollableTarget: "chatHistoryList", dataLength: chats.length, next: fetchNextPage, hasMore: hasNextPage, loader: _jsx("div", {}), children: _jsx(HistoryList, { items: chats, getDate: c => new Date(c.updated || c.created || ''), keygen: c => c.id, renderItem: c => _jsx(HistoryItem, { item: c
|
|
12
|
+
return (_jsx(AutoFocus, { id: "chatHistoryList", style: { height: '100%', overflow: 'auto' }, children: _jsx(InfiniteScroll, { scrollableTarget: "chatHistoryList", dataLength: chats.length, next: fetchNextPage, hasMore: hasNextPage, loader: _jsx("div", {}), children: _jsx(HistoryList, { items: chats, getDate: c => new Date(c.updated || c.created || ''), keygen: c => c.id, renderItem: c => _jsx(HistoryItem, { item: c }), style: { marginRight: '6px' } }) }) }));
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=ChatHistoryPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatHistoryPanel.js","sourceRoot":"","sources":["../../../src/views/ChatHistory/ChatHistoryPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,cAAc,MAAM,iCAAiC,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"ChatHistoryPanel.js","sourceRoot":"","sources":["../../../src/views/ChatHistory/ChatHistoryPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,cAAc,MAAM,iCAAiC,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7F,OAAO,CACL,KAAC,SAAS,IAAC,EAAE,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YACzE,KAAC,cAAc,IACb,gBAAgB,EAAC,iBAAiB,EAClC,UAAU,EAAE,KAAK,CAAC,MAAM,EACxB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,eAAW,YAEnB,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EACpD,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACjB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAC,WAAW,IAAC,IAAI,EAAE,CAAC,GAAI,EACzC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,GAC7B,GACa,GACP,CACb,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { ConversationResponse } from '@stack-spot/portal-network/api/ai';
|
|
2
|
-
import { MessageInterceptor } from '../../state/ChatState.js';
|
|
3
2
|
/**
|
|
4
3
|
* Renders an item of the list of conversations (history).
|
|
5
4
|
*/
|
|
6
|
-
export declare const HistoryItem: ({ item
|
|
5
|
+
export declare const HistoryItem: ({ item }: {
|
|
7
6
|
item: ConversationResponse;
|
|
8
|
-
interceptors: MessageInterceptor[];
|
|
9
7
|
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
10
8
|
//# sourceMappingURL=HistoryItem.d.ts.map
|
|
@@ -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;
|
|
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,aAAc;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,mDAiInE,CAAA"}
|
|
@@ -19,7 +19,7 @@ import { findStack, findWorkspace, getAllAgents } from './utils.js';
|
|
|
19
19
|
/**
|
|
20
20
|
* Renders an item of the list of conversations (history).
|
|
21
21
|
*/
|
|
22
|
-
export const HistoryItem = ({ item
|
|
22
|
+
export const HistoryItem = ({ item }) => {
|
|
23
23
|
const t = useHistoryDictionary();
|
|
24
24
|
const [isLoading, setLoading] = useState(false);
|
|
25
25
|
const [isRenaming, setRenaming] = useState(false);
|
|
@@ -96,7 +96,7 @@ export const HistoryItem = ({ item, interceptors }) => {
|
|
|
96
96
|
widget.chatTabs.add(new ChatState({
|
|
97
97
|
id: chat.id,
|
|
98
98
|
initial: { label: chat.title, stack, workspace, agent: agent ? { ...agent, builtIn } : undefined },
|
|
99
|
-
interceptors,
|
|
99
|
+
interceptors: widget.interceptors,
|
|
100
100
|
entries: chat.history?.map(item => new ChatEntry({
|
|
101
101
|
agentType: item.agent === 'USER' ? 'user' : 'bot',
|
|
102
102
|
content: item.content,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistoryItem.js","sourceRoot":"","sources":["../../../src/views/ChatHistory/HistoryItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"HistoryItem.js","sourceRoot":"","sources":["../../../src/views/ChatHistory/HistoryItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import { MessageInterceptor } from '../../state/ChatState.js';
|
|
2
|
-
interface Props {
|
|
3
|
-
/**
|
|
4
|
-
* The chat interceptors to use when recreating a ChatState from the history.
|
|
5
|
-
*/
|
|
6
|
-
interceptors: MessageInterceptor[];
|
|
7
|
-
}
|
|
8
1
|
/**
|
|
9
2
|
* Renders the Chat History in the Right Panel if this is the panel that is currently opened.
|
|
10
3
|
*/
|
|
11
|
-
export declare const ChatHistory: (
|
|
12
|
-
export {};
|
|
4
|
+
export declare const ChatHistory: () => null;
|
|
13
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ChatHistory/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ChatHistory/index.tsx"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,WAAW,YAkBvB,CAAA"}
|
|
@@ -8,14 +8,14 @@ import { useHistoryDictionary } from './dictionary.js';
|
|
|
8
8
|
/**
|
|
9
9
|
* Renders the Chat History in the Right Panel if this is the panel that is currently opened.
|
|
10
10
|
*/
|
|
11
|
-
export const ChatHistory = (
|
|
11
|
+
export const ChatHistory = () => {
|
|
12
12
|
const t = useHistoryDictionary();
|
|
13
13
|
const panel = useWidgetState('panel');
|
|
14
14
|
const { open } = useRightPanel();
|
|
15
15
|
const widget = useWidget();
|
|
16
16
|
useEffect(() => {
|
|
17
17
|
if (panel === 'history')
|
|
18
|
-
open(_jsx(FallbackBoundary, { children: _jsx(ChatHistoryPanel, {
|
|
18
|
+
open(_jsx(FallbackBoundary, { children: _jsx(ChatHistoryPanel, {}) }), {
|
|
19
19
|
title: t.title,
|
|
20
20
|
description: t.description,
|
|
21
21
|
onClose: () => widget.set('panel', undefined),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/ChatHistory/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/ChatHistory/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,CAAC,GAAG,oBAAoB,EAAE,CAAA;IAChC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAA;IAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAC3B,KAAC,gBAAgB,cAAC,KAAC,gBAAgB,KAAG,GAAmB,EACzD;gBACE,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;aAC9C,CACF,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;IAEd,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { MessageInterceptor } from '../state/ChatState.js';
|
|
2
1
|
interface Props {
|
|
3
2
|
history?: boolean;
|
|
4
|
-
interceptors: MessageInterceptor[];
|
|
5
3
|
}
|
|
6
4
|
/**
|
|
7
5
|
* This renders the top-most part of the layout, which includes the chat selection through tabs.
|
|
8
6
|
*/
|
|
9
|
-
export declare const ChatTabSelection: ({ history
|
|
7
|
+
export declare const ChatTabSelection: ({ history }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
10
8
|
export {};
|
|
11
9
|
//# sourceMappingURL=ChatTabSelection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatTabSelection.d.ts","sourceRoot":"","sources":["../../src/views/ChatTabSelection.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChatTabSelection.d.ts","sourceRoot":"","sources":["../../src/views/ChatTabSelection.tsx"],"names":[],"mappings":"AAOA,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD;;GAEG;AACH,eAAO,MAAM,gBAAgB,gBAAiB,KAAK,4CAkClD,CAAA"}
|
|
@@ -4,7 +4,6 @@ import { useTranslate } from '@stack-spot/portal-translate';
|
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
5
|
import { TabManager } from '../components/TabManager.js';
|
|
6
6
|
import { useChatState, useChatTabs, useWidget } from '../context/hooks.js';
|
|
7
|
-
import { createNewChat } from '../utils/chat.js';
|
|
8
7
|
const TabLabel = ({ id }) => {
|
|
9
8
|
const label = useChatState(id, 'label');
|
|
10
9
|
return _jsx("div", { title: label, children: label });
|
|
@@ -12,7 +11,7 @@ const TabLabel = ({ id }) => {
|
|
|
12
11
|
/**
|
|
13
12
|
* This renders the top-most part of the layout, which includes the chat selection through tabs.
|
|
14
13
|
*/
|
|
15
|
-
export const ChatTabSelection = ({ history
|
|
14
|
+
export const ChatTabSelection = ({ history }) => {
|
|
16
15
|
const t = useTranslate(dictionary);
|
|
17
16
|
const widget = useWidget();
|
|
18
17
|
const { active, chats } = useChatTabs();
|
|
@@ -20,7 +19,7 @@ export const ChatTabSelection = ({ history, interceptors }) => {
|
|
|
20
19
|
const actions = [{
|
|
21
20
|
icon: _jsx(Plus, {}),
|
|
22
21
|
label: t.newChat,
|
|
23
|
-
onClick: () =>
|
|
22
|
+
onClick: () => widget.createChat(),
|
|
24
23
|
}];
|
|
25
24
|
if (history) {
|
|
26
25
|
actions.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatTabSelection.js","sourceRoot":"","sources":["../../src/views/ChatTabSelection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"ChatTabSelection.js","sourceRoot":"","sources":["../../src/views/ChatTabSelection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAOvE,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAkB,EAAE,EAAE;IAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACvC,OAAO,cAAK,KAAK,EAAE,KAAK,YAAG,KAAK,GAAO,CAAA;AACzC,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE;IACrD,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAA;IAEvC,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE;QACH,MAAM,OAAO,GAAmB,CAAC;gBAC/B,IAAI,EAAE,KAAC,IAAI,KAAG;gBACd,KAAK,EAAE,CAAC,CAAC,OAAO;gBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;aACnC,CAAC,CAAA;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,KAAC,KAAK,KAAG;gBACf,KAAK,EAAE,CAAC,CAAC,WAAW;gBACpB,SAAS,EAAE,MAAM;gBACjB,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;gBAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;aAC9C,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAA;IACD,OAAO,KAAC,UAAU,IAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAC,QAAQ,IAAC,EAAE,EAAE,EAAE,GAAI,EAC7C,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EACtB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAChD,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAChD,OAAO,EAAE,OAAO,GAChB,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,UAAU;KACpB;IACD,EAAE,EAAE;QACF,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,WAAW;KACrB;CACmB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickCommandSelector.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/QuickCommandSelector.tsx"],"names":[],"mappings":"AAcA,UAAU,KAAK;IACb;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;CACnE;AAiHD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,iBAAkB,KAAK,
|
|
1
|
+
{"version":3,"file":"QuickCommandSelector.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/QuickCommandSelector.tsx"],"names":[],"mappings":"AAcA,UAAU,KAAK;IACb;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;CACnE;AAiHD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,iBAAkB,KAAK,4CAwDvD,CAAA"}
|
|
@@ -8,7 +8,7 @@ import { useTranslate } from '@stack-spot/portal-translate';
|
|
|
8
8
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
9
9
|
import { Fading } from '../../components/Fading.js';
|
|
10
10
|
import { FallbackBoundary } from '../../components/FallbackBoundary/index.js';
|
|
11
|
-
import { useCurrentChat, useCurrentChatState } from '../../context/hooks.js';
|
|
11
|
+
import { useCurrentChat, useCurrentChatState, useWidgetState } from '../../context/hooks.js';
|
|
12
12
|
import { quickCommandRegex } from '../../regex.js';
|
|
13
13
|
import { getUrlToStackSpotAI } from '../../utils/url.js';
|
|
14
14
|
const sections = [undefined, 'personal', 'workspace', 'account', 'shared'];
|
|
@@ -69,7 +69,8 @@ export const QuickCommandSelector = ({ inputRef }) => {
|
|
|
69
69
|
const filter = useMemo(() => value === '/' || quickCommandRegex.test(value) ? value.substring(1) : undefined, [value]);
|
|
70
70
|
const [isClosed, setClosed] = useState(false);
|
|
71
71
|
const selectorRef = useRef(null);
|
|
72
|
-
const
|
|
72
|
+
const areQuickCommandsEnabled = useWidgetState('areQuickCommandsEnabled');
|
|
73
|
+
const shouldRender = !!areQuickCommandsEnabled && filter !== undefined && !isClosed;
|
|
73
74
|
// Resets the closed state whenever the message input is cleared
|
|
74
75
|
useEffect(() => {
|
|
75
76
|
if (!value)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickCommandSelector.js","sourceRoot":"","sources":["../../../src/views/MessageInput/QuickCommandSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"QuickCommandSelector.js","sourceRoot":"","sources":["../../../src/views/MessageInput/QuickCommandSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const useMessageInputDictionary: () => Record<"
|
|
1
|
+
export declare const useMessageInputDictionary: () => Record<"cancel" | "placeholder" | "selected" | "workspace" | "agent" | "stack" | "send" | "collapse" | "knowledgeSource" | "expand" | "removeConfig" | "removeStack" | "removeWorkspace" | "removeKS" | "removeSelection", string>;
|
|
2
2
|
//# sourceMappingURL=dictionary.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stack-spot/ai-chat-widget",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "rimraf dist && tsc && tsc-esm-fix --target='dist' && cpy src/layout.css dist --flat",
|
|
9
|
-
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0"
|
|
9
|
+
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
10
|
+
"generate:metadata": "pnpm app-metadata --lockfile ../../pnpm-lock.yaml --path packages/widget",
|
|
11
|
+
"postinstall": "pnpm generate:metadata"
|
|
10
12
|
},
|
|
11
13
|
"peerDependencies": {
|
|
12
14
|
"@citric/core": "^6.0.0",
|
|
@@ -22,6 +24,7 @@
|
|
|
22
24
|
"styled-components": "6.1.10"
|
|
23
25
|
},
|
|
24
26
|
"devDependencies": {
|
|
27
|
+
"@stack-spot/app-metadata": "1.0.0",
|
|
25
28
|
"@types/lodash": "^4.14.202",
|
|
26
29
|
"@types/react": "^18.2.37",
|
|
27
30
|
"@types/react-dom": "^18.2.15",
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import { loader } from '@monaco-editor/react'
|
|
2
1
|
import { listToClass } from '@stack-spot/portal-theme'
|
|
3
|
-
import { useMemo, useRef } from 'react'
|
|
4
|
-
import { quickCommandQuestionsInterceptor } from './chat-interceptors/quick-command-questions'
|
|
5
|
-
import { createQuickCommandInterceptor } from './chat-interceptors/quick-commands'
|
|
6
|
-
import { sendMessageInterceptor } from './chat-interceptors/send-message'
|
|
2
|
+
import { useEffect, useMemo, useRef } from 'react'
|
|
7
3
|
import { TooltipProvider } from './components/Tooltip'
|
|
8
|
-
import { useCurrentChatMessages,
|
|
4
|
+
import { useCurrentChatMessages, useWidget, useWidgetState } from './context/hooks'
|
|
9
5
|
import { AIWidgetFeatures, defaultFeatures } from './features'
|
|
10
6
|
import './layout.css'
|
|
11
7
|
import { RightPanel } from './right-panel/RightPanel'
|
|
12
8
|
import { RightPanelProvider } from './right-panel/RightPanelProvider'
|
|
13
|
-
import { MessageInterceptor } from './state/ChatState'
|
|
14
9
|
import { MinimizedActions } from './types'
|
|
15
10
|
import { Agents } from './views/Agents'
|
|
16
11
|
import { Chat } from './views/Chat'
|
|
@@ -34,11 +29,6 @@ export interface AIWidgetProps {
|
|
|
34
29
|
* The name of the user currently logged in.
|
|
35
30
|
*/
|
|
36
31
|
username: string,
|
|
37
|
-
/**
|
|
38
|
-
* Chat interceptors allows you to intercept chat messages, interpret them, modify them and even change the chat flow. See
|
|
39
|
-
* {@link ChatState} for more details.
|
|
40
|
-
*/
|
|
41
|
-
interceptors?: MessageInterceptor[],
|
|
42
32
|
/**
|
|
43
33
|
* A custom view to show when the chat has no messages to display.
|
|
44
34
|
*/
|
|
@@ -54,25 +44,19 @@ export interface AIWidgetProps {
|
|
|
54
44
|
* of the Chat Widget will be instantiated and used.
|
|
55
45
|
*/
|
|
56
46
|
export const StackspotAIWidget = (
|
|
57
|
-
{ username, features = defaultFeatures,
|
|
47
|
+
{ username, features = defaultFeatures, minimizedActions = {}, children }: AIWidgetProps,
|
|
58
48
|
) => {
|
|
59
49
|
const widget = useWidget()
|
|
60
|
-
const interceptors: MessageInterceptor[] = useMemo(
|
|
61
|
-
() => features.quickCommands ? [
|
|
62
|
-
...userInterceptors,
|
|
63
|
-
quickCommandQuestionsInterceptor,
|
|
64
|
-
createQuickCommandInterceptor(widget, () => loader.__getMonacoInstance()?.editor),
|
|
65
|
-
sendMessageInterceptor,
|
|
66
|
-
] : [...userInterceptors, sendMessageInterceptor],
|
|
67
|
-
[],
|
|
68
|
-
)
|
|
69
|
-
useFirstChat(interceptors)
|
|
70
50
|
const rightPanelRef = useRef<HTMLDivElement>(null)
|
|
71
51
|
const chatWindowRef = useRef<HTMLDivElement>(null)
|
|
72
52
|
const currentChat = useCurrentChatMessages()
|
|
73
53
|
const isMinimized = useWidgetState('isMinimized')
|
|
74
54
|
const isCurrentChatEmpty = currentChat.length === 0
|
|
75
55
|
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
widget.set('areQuickCommandsEnabled', features.quickCommands)
|
|
58
|
+
}, [features.quickCommands])
|
|
59
|
+
|
|
76
60
|
return useMemo(() => (
|
|
77
61
|
<TooltipProvider>
|
|
78
62
|
<RightPanelProvider chatWindow={chatWindowRef} panel={rightPanelRef}>
|
|
@@ -80,7 +64,7 @@ export const StackspotAIWidget = (
|
|
|
80
64
|
<div className="chat-window" ref={chatWindowRef}>
|
|
81
65
|
{isMinimized
|
|
82
66
|
? <MinimizedHeader {...minimizedActions} />
|
|
83
|
-
: <ChatTabSelection history={features?.chatHistory}
|
|
67
|
+
: <ChatTabSelection history={features?.chatHistory} />
|
|
84
68
|
}
|
|
85
69
|
<div className="chat-container">
|
|
86
70
|
<div className="chat-content">
|
|
@@ -95,7 +79,7 @@ export const StackspotAIWidget = (
|
|
|
95
79
|
<KSDocument />
|
|
96
80
|
<Agents />
|
|
97
81
|
<Editor />
|
|
98
|
-
<ChatHistory
|
|
82
|
+
<ChatHistory />
|
|
99
83
|
<div className="chat-right-panel" ref={rightPanelRef}><RightPanel /></div>
|
|
100
84
|
</div>
|
|
101
85
|
</RightPanelProvider>
|
|
@@ -257,7 +257,7 @@ export function createQuickCommandInterceptor(widget: WidgetState, getEditor: ()
|
|
|
257
257
|
*/
|
|
258
258
|
async function quickCommandInterceptor(entry: ChatEntry, chat: ChatState, signal: AbortSignal) {
|
|
259
259
|
const { agentType, content } = entry.getValue()
|
|
260
|
-
if (agentType !== 'user' || !quickCommandRegex.test(content.trim())) return
|
|
260
|
+
if (!widget.get('areQuickCommandsEnabled') || agentType !== 'user' || !quickCommandRegex.test(content.trim())) return
|
|
261
261
|
const t = translate(dictionary)
|
|
262
262
|
const slug = content.trim().substring(1)
|
|
263
263
|
const ctx: QCContext = {
|
package/src/context/hooks.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { useContext, useEffect, useState } from 'react'
|
|
2
2
|
import { ChatEntry } from '../state/ChatEntry'
|
|
3
|
-
import { ChatProperties, ChatState
|
|
3
|
+
import { ChatProperties, ChatState } from '../state/ChatState'
|
|
4
4
|
import { ObservableState } from '../state/ObservableState'
|
|
5
5
|
import { WidgetProperties, WidgetState } from '../state/WidgetState'
|
|
6
|
-
import { createNewChat } from '../utils/chat'
|
|
7
6
|
import { AIWidgetContext } from './AIWidgetProvider'
|
|
8
7
|
|
|
9
8
|
let globalWidgetState: WidgetState | undefined
|
|
@@ -133,13 +132,3 @@ export function useChatEntry(entry: ChatEntry) {
|
|
|
133
132
|
useEffect(() => entry.onChange(setContent), [])
|
|
134
133
|
return content
|
|
135
134
|
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* This will create a new chat if none exists.
|
|
139
|
-
* @param interceptors the interceptors to add to the new chat.
|
|
140
|
-
*/
|
|
141
|
-
export function useFirstChat(interceptors: MessageInterceptor[]) {
|
|
142
|
-
const widget = useWidget()
|
|
143
|
-
const tabs = widget.chatTabs
|
|
144
|
-
if (!tabs.getAll().length) createNewChat(widget, interceptors)
|
|
145
|
-
}
|
package/src/state/WidgetState.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import { loader } from '@monaco-editor/react'
|
|
2
|
+
import { ulid } from 'ulid'
|
|
3
|
+
import { quickCommandQuestionsInterceptor } from '../chat-interceptors/quick-command-questions'
|
|
4
|
+
import { createQuickCommandInterceptor } from '../chat-interceptors/quick-commands'
|
|
5
|
+
import { sendMessageInterceptor } from '../chat-interceptors/send-message'
|
|
6
|
+
import { ChatEntry } from './ChatEntry'
|
|
7
|
+
import { ChatProperties, ChatState, MessageInterceptor } from './ChatState'
|
|
1
8
|
import { ChatTabsController } from './ChatTabsController'
|
|
2
9
|
import { ObservableState } from './ObservableState'
|
|
3
10
|
|
|
@@ -14,6 +21,26 @@ export interface WidgetProperties {
|
|
|
14
21
|
* Whether or not the widget is in its minimized version.
|
|
15
22
|
*/
|
|
16
23
|
isMinimized?: boolean,
|
|
24
|
+
/**
|
|
25
|
+
* Whether or not the execution of quick commands is enabled.
|
|
26
|
+
*/
|
|
27
|
+
areQuickCommandsEnabled?: boolean,
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
interface Options {
|
|
31
|
+
/**
|
|
32
|
+
* Chat interceptors allows you to intercept chat messages, interpret them, modify them and even change the chat flow. See
|
|
33
|
+
* {@link ChatState} for more details.
|
|
34
|
+
*/
|
|
35
|
+
interceptors?: MessageInterceptor[],
|
|
36
|
+
/**
|
|
37
|
+
* The initial values for the widget state.
|
|
38
|
+
*/
|
|
39
|
+
initial?: WidgetProperties,
|
|
40
|
+
/**
|
|
41
|
+
* The initial tabs for the chat window.
|
|
42
|
+
*/
|
|
43
|
+
chatTabs?: ChatTabsController,
|
|
17
44
|
}
|
|
18
45
|
|
|
19
46
|
/**
|
|
@@ -23,9 +50,42 @@ export interface WidgetProperties {
|
|
|
23
50
|
*/
|
|
24
51
|
export class WidgetState extends ObservableState<WidgetProperties> {
|
|
25
52
|
readonly chatTabs: ChatTabsController
|
|
53
|
+
/**
|
|
54
|
+
* Chat interceptors to be used by default when creating a new chat.
|
|
55
|
+
*/
|
|
56
|
+
interceptors: MessageInterceptor[] = []
|
|
57
|
+
/**
|
|
58
|
+
* helps with naming new chats
|
|
59
|
+
*/
|
|
60
|
+
private next = 1
|
|
26
61
|
|
|
27
|
-
constructor(initial
|
|
62
|
+
constructor({ chatTabs, initial = {}, interceptors = [] }: Options = {}) {
|
|
28
63
|
super(initial)
|
|
29
64
|
this.chatTabs = chatTabs ?? new ChatTabsController()
|
|
65
|
+
this.interceptors = [
|
|
66
|
+
...interceptors,
|
|
67
|
+
quickCommandQuestionsInterceptor,
|
|
68
|
+
createQuickCommandInterceptor(this, () => loader.__getMonacoInstance()?.editor),
|
|
69
|
+
sendMessageInterceptor,
|
|
70
|
+
]
|
|
71
|
+
this.createChat()
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Utility function for adding a new chat to the chat tabs.
|
|
76
|
+
* @param properties the chat properties (initial state).
|
|
77
|
+
* @param entries the entries for the chat to start with.
|
|
78
|
+
* @returns a function that, when called, removes the chat tab.
|
|
79
|
+
*/
|
|
80
|
+
createChat(properties?: ChatProperties, entries: ChatEntry[] = []) {
|
|
81
|
+
const chat = new ChatState({
|
|
82
|
+
id: ulid(),
|
|
83
|
+
initial: { label: `Chat ${this.next++}`, ...properties },
|
|
84
|
+
entries,
|
|
85
|
+
interceptors: this.interceptors,
|
|
86
|
+
})
|
|
87
|
+
this.chatTabs.add(chat)
|
|
88
|
+
this.chatTabs.select(chat.id)
|
|
89
|
+
return () => this.chatTabs.remove(chat.id)
|
|
30
90
|
}
|
|
31
91
|
}
|
package/src/utils/chat.ts
CHANGED
|
@@ -1,24 +1,8 @@
|
|
|
1
1
|
import { FixedChatRequest } from '@stack-spot/portal-network'
|
|
2
|
-
import
|
|
3
|
-
import { ChatState
|
|
4
|
-
import { WidgetState } from '../state/WidgetState'
|
|
2
|
+
import appData from '../app-metadata.json'
|
|
3
|
+
import { ChatState } from '../state/ChatState'
|
|
5
4
|
import { defaultLanguage } from './programming-languages'
|
|
6
5
|
|
|
7
|
-
// helps with naming new chats
|
|
8
|
-
let next = 1
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Utility for creating a new chat in the chat tabs.
|
|
12
|
-
* @param widget the widget state.
|
|
13
|
-
* @param interceptors the interceptors to add the chat.
|
|
14
|
-
*/
|
|
15
|
-
export function createNewChat(widget: WidgetState, interceptors: MessageInterceptor[]) {
|
|
16
|
-
const id = ulid()
|
|
17
|
-
widget.chatTabs.add(new ChatState({ id, initial: { label: `Chat ${next}` }, interceptors }))
|
|
18
|
-
widget.chatTabs.select(id)
|
|
19
|
-
next++
|
|
20
|
-
}
|
|
21
|
-
|
|
22
6
|
/**
|
|
23
7
|
* Builds a conversation context from a ChatState.
|
|
24
8
|
*
|
|
@@ -39,6 +23,6 @@ export function buildConversationContext(state: ChatState): FixedChatRequest['co
|
|
|
39
23
|
os: navigator.userAgent,
|
|
40
24
|
platform: 'web-widget',
|
|
41
25
|
platform_version: navigator.userAgent,
|
|
42
|
-
stackspot_ai_version:
|
|
26
|
+
stackspot_ai_version: appData.version,
|
|
43
27
|
}
|
|
44
28
|
}
|
|
@@ -2,13 +2,12 @@ import { aiClient } from '@stack-spot/portal-network'
|
|
|
2
2
|
import InfiniteScroll from 'react-infinite-scroll-component'
|
|
3
3
|
import { AutoFocus } from '../../components/AutoFocus'
|
|
4
4
|
import { HistoryList } from '../../components/HistoryList'
|
|
5
|
-
import { MessageInterceptor } from '../../state/ChatState'
|
|
6
5
|
import { HistoryItem } from './HistoryItem'
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* Renders the list of conversations (history).
|
|
10
9
|
*/
|
|
11
|
-
export const ChatHistoryPanel = (
|
|
10
|
+
export const ChatHistoryPanel = () => {
|
|
12
11
|
const [chats, { fetchNextPage, hasNextPage }] = aiClient.chats.useInfiniteQuery({ size: 40 })
|
|
13
12
|
return (
|
|
14
13
|
<AutoFocus id="chatHistoryList" style={{ height: '100%', overflow: 'auto' }}>
|
|
@@ -23,7 +22,7 @@ export const ChatHistoryPanel = ({ interceptors }: { interceptors: MessageInterc
|
|
|
23
22
|
items={chats}
|
|
24
23
|
getDate={c => new Date(c.updated || c.created || '')}
|
|
25
24
|
keygen={c => c.id}
|
|
26
|
-
renderItem={c => <HistoryItem item={c}
|
|
25
|
+
renderItem={c => <HistoryItem item={c} />}
|
|
27
26
|
style={{ marginRight: '6px' }}
|
|
28
27
|
/>
|
|
29
28
|
</InfiniteScroll>
|
|
@@ -10,7 +10,7 @@ import { useCallback, useEffect, useRef, useState } from 'react'
|
|
|
10
10
|
import { OverlayMenu } from '../../components/OverlayMenu'
|
|
11
11
|
import { useWidget } from '../../context/hooks'
|
|
12
12
|
import { ChatEntry } from '../../state/ChatEntry'
|
|
13
|
-
import { ChatState
|
|
13
|
+
import { ChatState } from '../../state/ChatState'
|
|
14
14
|
import { ButtonAction } from '../../types'
|
|
15
15
|
import { download } from '../../utils/download'
|
|
16
16
|
import { genericSourcesToKnowledgeSources } from '../../utils/knowledge-source'
|
|
@@ -21,7 +21,7 @@ import { findStack, findWorkspace, getAllAgents } from './utils'
|
|
|
21
21
|
/**
|
|
22
22
|
* Renders an item of the list of conversations (history).
|
|
23
23
|
*/
|
|
24
|
-
export const HistoryItem = ({ item
|
|
24
|
+
export const HistoryItem = ({ item }: { item: ConversationResponse }) => {
|
|
25
25
|
const t = useHistoryDictionary()
|
|
26
26
|
const [isLoading, setLoading] = useState(false)
|
|
27
27
|
const [isRenaming, setRenaming] = useState(false)
|
|
@@ -98,7 +98,7 @@ export const HistoryItem = ({ item, interceptors }: { item: ConversationResponse
|
|
|
98
98
|
widget.chatTabs.add(new ChatState({
|
|
99
99
|
id: chat.id,
|
|
100
100
|
initial: { label: chat.title, stack, workspace, agent: agent ? { ...agent, builtIn } : undefined },
|
|
101
|
-
interceptors,
|
|
101
|
+
interceptors: widget.interceptors,
|
|
102
102
|
entries: chat.history?.map(item => new ChatEntry({
|
|
103
103
|
agentType: item.agent === 'USER' ? 'user' : 'bot',
|
|
104
104
|
content: item.content,
|
|
@@ -2,21 +2,13 @@ import { useEffect } from 'react'
|
|
|
2
2
|
import { FallbackBoundary } from '../../components/FallbackBoundary'
|
|
3
3
|
import { useWidget, useWidgetState } from '../../context/hooks'
|
|
4
4
|
import { useRightPanel } from '../../right-panel/hooks'
|
|
5
|
-
import { MessageInterceptor } from '../../state/ChatState'
|
|
6
5
|
import { ChatHistoryPanel } from './ChatHistoryPanel'
|
|
7
6
|
import { useHistoryDictionary } from './dictionary'
|
|
8
7
|
|
|
9
|
-
interface Props {
|
|
10
|
-
/**
|
|
11
|
-
* The chat interceptors to use when recreating a ChatState from the history.
|
|
12
|
-
*/
|
|
13
|
-
interceptors: MessageInterceptor[],
|
|
14
|
-
}
|
|
15
|
-
|
|
16
8
|
/**
|
|
17
9
|
* Renders the Chat History in the Right Panel if this is the panel that is currently opened.
|
|
18
10
|
*/
|
|
19
|
-
export const ChatHistory = (
|
|
11
|
+
export const ChatHistory = () => {
|
|
20
12
|
const t = useHistoryDictionary()
|
|
21
13
|
const panel = useWidgetState('panel')
|
|
22
14
|
const { open } = useRightPanel()
|
|
@@ -24,7 +16,7 @@ export const ChatHistory = ({ interceptors }: Props) => {
|
|
|
24
16
|
|
|
25
17
|
useEffect(() => {
|
|
26
18
|
if (panel === 'history') open(
|
|
27
|
-
<FallbackBoundary><ChatHistoryPanel
|
|
19
|
+
<FallbackBoundary><ChatHistoryPanel /></FallbackBoundary>,
|
|
28
20
|
{
|
|
29
21
|
title: t.title,
|
|
30
22
|
description: t.description,
|
|
@@ -3,13 +3,10 @@ import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
|
|
|
3
3
|
import { useMemo } from 'react'
|
|
4
4
|
import { TabManager } from '../components/TabManager'
|
|
5
5
|
import { useChatState, useChatTabs, useWidget } from '../context/hooks'
|
|
6
|
-
import { MessageInterceptor } from '../state/ChatState'
|
|
7
6
|
import { ButtonAction } from '../types'
|
|
8
|
-
import { createNewChat } from '../utils/chat'
|
|
9
7
|
|
|
10
8
|
interface Props {
|
|
11
9
|
history?: boolean,
|
|
12
|
-
interceptors: MessageInterceptor[],
|
|
13
10
|
}
|
|
14
11
|
|
|
15
12
|
const TabLabel = ({ id }: { id: string }) => {
|
|
@@ -20,7 +17,7 @@ const TabLabel = ({ id }: { id: string }) => {
|
|
|
20
17
|
/**
|
|
21
18
|
* This renders the top-most part of the layout, which includes the chat selection through tabs.
|
|
22
19
|
*/
|
|
23
|
-
export const ChatTabSelection = ({ history
|
|
20
|
+
export const ChatTabSelection = ({ history }: Props) => {
|
|
24
21
|
const t = useTranslate(dictionary)
|
|
25
22
|
const widget = useWidget()
|
|
26
23
|
const { active, chats } = useChatTabs()
|
|
@@ -30,7 +27,7 @@ export const ChatTabSelection = ({ history, interceptors }: Props) => {
|
|
|
30
27
|
const actions: ButtonAction[] = [{
|
|
31
28
|
icon: <Plus />,
|
|
32
29
|
label: t.newChat,
|
|
33
|
-
onClick: () =>
|
|
30
|
+
onClick: () => widget.createChat(),
|
|
34
31
|
}]
|
|
35
32
|
if (history) {
|
|
36
33
|
actions.push({
|
|
@@ -8,7 +8,7 @@ import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
|
|
|
8
8
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
|
9
9
|
import { Fading } from '../../components/Fading'
|
|
10
10
|
import { FallbackBoundary } from '../../components/FallbackBoundary'
|
|
11
|
-
import { useCurrentChat, useCurrentChatState } from '../../context/hooks'
|
|
11
|
+
import { useCurrentChat, useCurrentChatState, useWidgetState } from '../../context/hooks'
|
|
12
12
|
import { quickCommandRegex } from '../../regex'
|
|
13
13
|
import { getUrlToStackSpotAI } from '../../utils/url'
|
|
14
14
|
|
|
@@ -139,7 +139,8 @@ export const QuickCommandSelector = ({ inputRef }: Props) => {
|
|
|
139
139
|
const filter = useMemo(() => value === '/' || quickCommandRegex.test(value) ? value.substring(1) : undefined, [value])
|
|
140
140
|
const [isClosed, setClosed] = useState(false)
|
|
141
141
|
const selectorRef = useRef<HTMLDivElement>(null)
|
|
142
|
-
const
|
|
142
|
+
const areQuickCommandsEnabled = useWidgetState('areQuickCommandsEnabled')
|
|
143
|
+
const shouldRender = !!areQuickCommandsEnabled && filter !== undefined && !isClosed
|
|
143
144
|
|
|
144
145
|
// Resets the closed state whenever the message input is cleared
|
|
145
146
|
useEffect(() => {
|