@stack-spot/ai-chat-widget 1.8.5 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/StackspotAIWidget.d.ts +5 -1
- package/dist/StackspotAIWidget.d.ts.map +1 -1
- package/dist/StackspotAIWidget.js +6 -5
- package/dist/StackspotAIWidget.js.map +1 -1
- package/dist/app-metadata.json +31 -19
- package/dist/chat-interceptors/send-message.d.ts.map +1 -1
- package/dist/chat-interceptors/send-message.js +3 -1
- package/dist/chat-interceptors/send-message.js.map +1 -1
- package/dist/components/Accordion.d.ts.map +1 -1
- package/dist/components/AnimatedOpacity.d.ts +8 -0
- package/dist/components/AnimatedOpacity.d.ts.map +1 -0
- package/dist/components/AnimatedOpacity.js +46 -0
- package/dist/components/AnimatedOpacity.js.map +1 -0
- package/dist/components/Code.d.ts +2 -1
- package/dist/components/Code.d.ts.map +1 -1
- package/dist/components/Code.js +4 -4
- package/dist/components/Code.js.map +1 -1
- package/dist/components/FadingOverflow.d.ts.map +1 -1
- package/dist/components/FallbackBoundary/index.d.ts.map +1 -1
- package/dist/components/IconInput.d.ts.map +1 -1
- package/dist/components/Markdown.d.ts.map +1 -1
- package/dist/components/Modal.d.ts +9 -0
- package/dist/components/Modal.d.ts.map +1 -0
- package/dist/components/Modal.js +58 -0
- package/dist/components/Modal.js.map +1 -0
- package/dist/components/ProgressBar.d.ts.map +1 -1
- package/dist/components/QuickStartButton.d.ts.map +1 -1
- package/dist/components/RightPanelForm.d.ts.map +1 -1
- package/dist/components/RightPanelTabs.d.ts.map +1 -1
- package/dist/components/Selector/index.d.ts.map +1 -1
- package/dist/components/Tooltip/context.d.ts.map +1 -1
- package/dist/layout.css +34 -0
- package/dist/right-panel/DefaultPanel.d.ts.map +1 -1
- package/dist/right-panel/RightPanelProvider.d.ts.map +1 -1
- package/dist/state/ChatEntry.d.ts +74 -3
- package/dist/state/ChatEntry.d.ts.map +1 -1
- package/dist/state/ChatEntry.js +4 -1
- package/dist/state/ChatEntry.js.map +1 -1
- package/dist/state/WidgetState.d.ts +8 -1
- package/dist/state/WidgetState.d.ts.map +1 -1
- package/dist/state/WidgetState.js +2 -2
- package/dist/state/WidgetState.js.map +1 -1
- package/dist/utils/error.d.ts +2 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +54 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/views/Agents/AgentDescription.d.ts.map +1 -1
- package/dist/views/Agents/AgentsTab.d.ts.map +1 -1
- package/dist/views/Chat/AgentInfo.d.ts.map +1 -1
- package/dist/views/Chat/ChatMessage.d.ts +2 -1
- package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
- package/dist/views/Chat/ChatMessage.js +65 -7
- package/dist/views/Chat/ChatMessage.js.map +1 -1
- package/dist/views/Chat/ChatMessages.d.ts.map +1 -1
- package/dist/views/Chat/StepsList.d.ts +9 -0
- package/dist/views/Chat/StepsList.d.ts.map +1 -0
- package/dist/views/Chat/StepsList.js +51 -0
- package/dist/views/Chat/StepsList.js.map +1 -0
- package/dist/views/Chat/index.d.ts.map +1 -1
- package/dist/views/Chat/styled.d.ts +3 -1
- package/dist/views/Chat/styled.d.ts.map +1 -1
- package/dist/views/Chat/styled.js +56 -0
- package/dist/views/Chat/styled.js.map +1 -1
- package/dist/views/ChatHistory/HistoryItem.d.ts.map +1 -1
- package/dist/views/Home/BuiltInAgent.d.ts.map +1 -1
- package/dist/views/Home/index.d.ts.map +1 -1
- package/dist/views/MessageInput/AgentSelector.d.ts.map +1 -1
- package/dist/views/MessageInput/ButtonGroup.d.ts.map +1 -1
- package/dist/views/MessageInput/QuickCommandSelector.d.ts.map +1 -1
- package/dist/views/MinimizedHeader.d.ts.map +1 -1
- package/dist/views/Stacks.js +1 -0
- package/dist/views/Stacks.js.map +1 -1
- package/dist/views/Tools/FlowChart/HandleGroup.d.ts +7 -0
- package/dist/views/Tools/FlowChart/HandleGroup.d.ts.map +1 -0
- package/dist/views/Tools/FlowChart/HandleGroup.js +4 -0
- package/dist/views/Tools/FlowChart/HandleGroup.js.map +1 -0
- package/dist/views/Tools/FlowChart/NodeStep.d.ts +7 -0
- package/dist/views/Tools/FlowChart/NodeStep.d.ts.map +1 -0
- package/dist/views/Tools/FlowChart/NodeStep.js +15 -0
- package/dist/views/Tools/FlowChart/NodeStep.js.map +1 -0
- package/dist/views/Tools/FlowChart/index.d.ts +9 -0
- package/dist/views/Tools/FlowChart/index.d.ts.map +1 -0
- package/dist/views/Tools/FlowChart/index.js +52 -0
- package/dist/views/Tools/FlowChart/index.js.map +1 -0
- package/dist/views/Tools/FlowChart/layout.d.ts +17 -0
- package/dist/views/Tools/FlowChart/layout.d.ts.map +1 -0
- package/dist/views/Tools/FlowChart/layout.js +40 -0
- package/dist/views/Tools/FlowChart/layout.js.map +1 -0
- package/dist/views/Tools/FlowChart/styled.d.ts +15 -0
- package/dist/views/Tools/FlowChart/styled.d.ts.map +1 -0
- package/dist/views/Tools/FlowChart/styled.js +181 -0
- package/dist/views/Tools/FlowChart/styled.js.map +1 -0
- package/dist/views/Tools/FlowChart/types.d.ts +13 -0
- package/dist/views/Tools/FlowChart/types.d.ts.map +1 -0
- package/dist/views/Tools/FlowChart/types.js +2 -0
- package/dist/views/Tools/FlowChart/types.js.map +1 -0
- package/dist/views/Tools/StepModal.d.ts +9 -0
- package/dist/views/Tools/StepModal.d.ts.map +1 -0
- package/dist/views/Tools/StepModal.js +156 -0
- package/dist/views/Tools/StepModal.js.map +1 -0
- package/dist/views/Tools/ToolsPanel.d.ts +6 -0
- package/dist/views/Tools/ToolsPanel.d.ts.map +1 -0
- package/dist/views/Tools/ToolsPanel.js +14 -0
- package/dist/views/Tools/ToolsPanel.js.map +1 -0
- package/dist/views/Tools/dictionary.d.ts +41 -0
- package/dist/views/Tools/dictionary.d.ts.map +1 -0
- package/dist/views/Tools/dictionary.js +43 -0
- package/dist/views/Tools/dictionary.js.map +1 -0
- package/dist/views/Tools/index.d.ts +5 -0
- package/dist/views/Tools/index.d.ts.map +1 -0
- package/dist/views/Tools/index.js +31 -0
- package/dist/views/Tools/index.js.map +1 -0
- package/dist/views/Tools/utils.d.ts +6 -0
- package/dist/views/Tools/utils.d.ts.map +1 -0
- package/dist/views/Tools/utils.js +32 -0
- package/dist/views/Tools/utils.js.map +1 -0
- package/package.json +9 -6
- package/src/StackspotAIWidget.tsx +13 -4
- package/src/app-metadata.json +31 -19
- package/src/chat-interceptors/send-message.ts +8 -3
- package/src/components/AnimatedOpacity.tsx +55 -0
- package/src/components/Code.tsx +5 -3
- package/src/components/Modal.tsx +87 -0
- package/src/layout.css +34 -0
- package/src/state/ChatEntry.ts +79 -4
- package/src/state/WidgetState.ts +6 -2
- package/src/utils/error.ts +56 -0
- package/src/views/Chat/ChatMessage.tsx +121 -18
- package/src/views/Chat/StepsList.tsx +97 -0
- package/src/views/Chat/styled.ts +62 -1
- package/src/views/Stacks.tsx +1 -0
- package/src/views/Tools/FlowChart/HandleGroup.tsx +12 -0
- package/src/views/Tools/FlowChart/NodeStep.tsx +57 -0
- package/src/views/Tools/FlowChart/index.tsx +71 -0
- package/src/views/Tools/FlowChart/layout.ts +49 -0
- package/src/views/Tools/FlowChart/styled.ts +182 -0
- package/src/views/Tools/FlowChart/types.ts +14 -0
- package/src/views/Tools/StepModal.tsx +247 -0
- package/src/views/Tools/ToolsPanel.tsx +24 -0
- package/src/views/Tools/dictionary.ts +46 -0
- package/src/views/Tools/index.tsx +37 -0
- package/src/views/Tools/utils.tsx +34 -0
package/dist/layout.css
CHANGED
|
@@ -129,9 +129,43 @@
|
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
+
.chat-modal {
|
|
133
|
+
position: absolute;
|
|
134
|
+
top: 90px;
|
|
135
|
+
bottom: 20px;
|
|
136
|
+
right: 20px;
|
|
137
|
+
width: 20%;
|
|
138
|
+
min-width: 400px;
|
|
139
|
+
border-radius: 6px;
|
|
140
|
+
background-color: var(--light-400);
|
|
141
|
+
border: 1px solid var(--light-600);
|
|
142
|
+
overflow: auto;
|
|
143
|
+
|
|
144
|
+
> header {
|
|
145
|
+
padding: 14px;
|
|
146
|
+
display: flex;
|
|
147
|
+
align-items: center;
|
|
148
|
+
justify-content: space-between;
|
|
149
|
+
gap: 6px;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
132
153
|
/* fixes placeholder description */
|
|
133
154
|
.no-data-placeholder {
|
|
134
155
|
> div > p {
|
|
135
156
|
text-align: center;
|
|
136
157
|
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.input-phone .react-international-phone-country-selector-button {
|
|
161
|
+
background-color: var(--light-300);
|
|
162
|
+
border: 1px solid var(--primary-500);
|
|
163
|
+
border-right: none;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.input-phone.react-international-phone-input-container .react-international-phone-input {
|
|
167
|
+
background-color: var(--light-300);
|
|
168
|
+
border: 1px solid var(--primary-500);
|
|
169
|
+
border-left: none;
|
|
170
|
+
color: var(--light-contrastText);
|
|
137
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultPanel.d.ts","sourceRoot":"","sources":["../../src/right-panel/DefaultPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,UAAU,KAAM,SAAQ,YAAY;IAClC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA+BD;;GAEG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"DefaultPanel.d.ts","sourceRoot":"","sources":["../../src/right-panel/DefaultPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,UAAU,KAAM,SAAQ,YAAY;IAClC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA+BD;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,2CAA2C,KAAK,4CAiB5E,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightPanelProvider.d.ts","sourceRoot":"","sources":["../../src/right-panel/RightPanelProvider.tsx"],"names":[],"mappings":"AAEA,UAAU,YAAY;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAChD;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACxC;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;CAC/D;AAED,eAAO,MAAM,iBAAiB,uCAAuE,CAAA;AAErG,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"RightPanelProvider.d.ts","sourceRoot":"","sources":["../../src/right-panel/RightPanelProvider.tsx"],"names":[],"mappings":"AAEA,UAAU,YAAY;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAChD;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACxC;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;CAC/D;AAED,eAAO,MAAM,iBAAiB,uCAAuE,CAAA;AAErG,eAAO,MAAM,kBAAkB,GAC7B,iCAAiC,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,YAAY,CAAC,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,4CAM5G,CAAA"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import { OneOfColorSchemes } from '@citric/core';
|
|
1
2
|
import { ColorPaletteName } from '@stack-spot/portal-theme';
|
|
2
3
|
import { LabeledWithImage } from './types.js';
|
|
4
|
+
export interface ActionDataClick {
|
|
5
|
+
name?: string;
|
|
6
|
+
value?: string[];
|
|
7
|
+
}
|
|
3
8
|
export interface SerializableAction {
|
|
4
9
|
/**
|
|
5
10
|
* The text for the button or anchor.
|
|
@@ -12,13 +17,29 @@ export interface SerializableAction {
|
|
|
12
17
|
/**
|
|
13
18
|
* The URL if the action is a link. The content of the user message otherwise.
|
|
14
19
|
*/
|
|
15
|
-
exec
|
|
20
|
+
exec?: string;
|
|
16
21
|
}
|
|
17
22
|
export interface ChatAction extends SerializableAction {
|
|
18
23
|
/**
|
|
19
24
|
* @default primary
|
|
20
25
|
*/
|
|
21
26
|
appearance?: 'primary' | 'secondary';
|
|
27
|
+
/**
|
|
28
|
+
* @default inverse
|
|
29
|
+
*/
|
|
30
|
+
colorScheme?: OneOfColorSchemes;
|
|
31
|
+
/**
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
hideWhenNotLast?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* @default false
|
|
37
|
+
*/
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* @default button
|
|
41
|
+
*/
|
|
42
|
+
buttonType?: 'submit' | 'button';
|
|
22
43
|
}
|
|
23
44
|
export interface KnowledgeSource {
|
|
24
45
|
name: string;
|
|
@@ -26,11 +47,31 @@ export interface KnowledgeSource {
|
|
|
26
47
|
documentScore: number;
|
|
27
48
|
documentId: string;
|
|
28
49
|
}
|
|
50
|
+
export interface AgentTool {
|
|
51
|
+
id: string;
|
|
52
|
+
name: string;
|
|
53
|
+
description?: string;
|
|
54
|
+
image?: string;
|
|
55
|
+
duration?: number;
|
|
56
|
+
input?: string;
|
|
57
|
+
output?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface ChatEntryStep {
|
|
60
|
+
id: string;
|
|
61
|
+
type: 'planning' | 'step' | 'answer';
|
|
62
|
+
input?: string;
|
|
63
|
+
output?: string;
|
|
64
|
+
status: 'pending' | 'running' | 'success' | 'error';
|
|
65
|
+
duration?: number;
|
|
66
|
+
tools?: AgentTool[];
|
|
67
|
+
}
|
|
29
68
|
export interface TextChatEntry {
|
|
30
69
|
/**
|
|
31
70
|
* "text" for simple unformatted paragraphs. "md" for markdown.
|
|
71
|
+
* "input-text" for text inputs, 'input-radio' and "input-checkbox" for radio and checkbox inputs,
|
|
72
|
+
* "input-phone" for phone formatted inputs and "button-list" for a list of buttons in which only one is selected
|
|
32
73
|
*/
|
|
33
|
-
type: 'text' | 'md';
|
|
74
|
+
type: 'text' | 'md' | 'input-text' | 'input-radio' | 'button-list' | 'input-checkbox' | 'input-phone';
|
|
34
75
|
/**
|
|
35
76
|
* If the message was typed by the AI agent (bot), the user or the system (not currently in use).
|
|
36
77
|
*/
|
|
@@ -43,6 +84,10 @@ export interface TextChatEntry {
|
|
|
43
84
|
* The content of the message.
|
|
44
85
|
*/
|
|
45
86
|
content: string;
|
|
87
|
+
/**
|
|
88
|
+
* A content that is not shown to the user, it is used only to share data.
|
|
89
|
+
*/
|
|
90
|
+
hiddenContent?: string[];
|
|
46
91
|
/**
|
|
47
92
|
* The knowledge sources used to create the message.
|
|
48
93
|
*/
|
|
@@ -74,6 +119,31 @@ export interface TextChatEntry {
|
|
|
74
119
|
* Whether or not to show this chat entry as a card.
|
|
75
120
|
*/
|
|
76
121
|
card?: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* This entry may contain steps. If so, specify them in this array.
|
|
124
|
+
*/
|
|
125
|
+
steps?: ChatEntryStep[];
|
|
126
|
+
options?: {
|
|
127
|
+
color?: OneOfColorSchemes;
|
|
128
|
+
label: string;
|
|
129
|
+
value?: string;
|
|
130
|
+
}[];
|
|
131
|
+
/**
|
|
132
|
+
* Name to be used in input type fields.
|
|
133
|
+
*/
|
|
134
|
+
name?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Whether or not a input field is required.
|
|
137
|
+
*/
|
|
138
|
+
required?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* The validations of input fields.
|
|
141
|
+
*/
|
|
142
|
+
validations?: {
|
|
143
|
+
minLength?: number;
|
|
144
|
+
maxLength?: number;
|
|
145
|
+
pattern?: string;
|
|
146
|
+
};
|
|
77
147
|
}
|
|
78
148
|
type ChatEntryListener = (value: TextChatEntry) => void;
|
|
79
149
|
/**
|
|
@@ -91,9 +161,10 @@ export declare class ChatEntry {
|
|
|
91
161
|
* Utility function to create a user entry.
|
|
92
162
|
* @param content the message's content.
|
|
93
163
|
* @param isMd whether or not this should be rendered as markdown.
|
|
164
|
+
* @param hiddenContent the message's content.
|
|
94
165
|
* @returns a new ChatEntry.
|
|
95
166
|
*/
|
|
96
|
-
static createUserEntry(content: string, isMd?: boolean): ChatEntry;
|
|
167
|
+
static createUserEntry(content: string, isMd?: boolean, fieldName?: string, hiddenContent?: string[]): ChatEntry;
|
|
97
168
|
/**
|
|
98
169
|
* Utility function to create a streamed entry from the AI agent.
|
|
99
170
|
* @returns a new ChatEntry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatEntry.d.ts","sourceRoot":"","sources":["../../src/state/ChatEntry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatEntry.d.ts","sourceRoot":"","sources":["../../src/state/ChatEntry.ts"],"names":[],"mappings":"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"}
|
package/dist/state/ChatEntry.js
CHANGED
|
@@ -20,13 +20,16 @@ export class ChatEntry {
|
|
|
20
20
|
* Utility function to create a user entry.
|
|
21
21
|
* @param content the message's content.
|
|
22
22
|
* @param isMd whether or not this should be rendered as markdown.
|
|
23
|
+
* @param hiddenContent the message's content.
|
|
23
24
|
* @returns a new ChatEntry.
|
|
24
25
|
*/
|
|
25
|
-
static createUserEntry(content, isMd = false) {
|
|
26
|
+
static createUserEntry(content, isMd = false, fieldName, hiddenContent) {
|
|
26
27
|
return new ChatEntry({
|
|
27
28
|
agentType: 'user',
|
|
28
29
|
type: isMd ? 'md' : 'text',
|
|
29
30
|
content,
|
|
31
|
+
name: fieldName,
|
|
32
|
+
hiddenContent,
|
|
30
33
|
updated: new Date().toISOString(),
|
|
31
34
|
});
|
|
32
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatEntry.js","sourceRoot":"","sources":["../../src/state/ChatEntry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChatEntry.js","sourceRoot":"","sources":["../../src/state/ChatEntry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAwJ7B,0IAA0I;AAC1I,6CAA6C;AAC7C,IAAI,MAAM,GAAG,CAAC,CAAA;AAEd;;GAEG;AACH,MAAM,OAAO,SAAS;IACX,EAAE,CAAQ;IACX,KAAK,CAAe;IACpB,SAAS,GAAwB,EAAE,CAAA;IAE3C;;OAEG;IACH,YAAY,KAAoB;QAC9B,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,OAAe,EAAE,IAAI,GAAG,KAAK,EAAE,SAAkB,EAAE,aAAwB;QAChG,OAAO,IAAI,SAAS,CAAC;YACnB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAC1B,OAAO;YACP,IAAI,EAAE,SAAS;YACf,aAAa;YACb,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,sBAAsB;QAC3B,OAAO,IAAI,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,QAAQ,CAAC,KAAoB;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAA2B;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAChC,CAAC,CAAA;IACH,CAAC;CACF"}
|
|
@@ -7,7 +7,7 @@ export interface WidgetProperties {
|
|
|
7
7
|
/**
|
|
8
8
|
* Current content of the right panel. Undefined for closed right panel.
|
|
9
9
|
*/
|
|
10
|
-
panel?: 'stack' | 'workspace' | 'agent' | 'ks' | 'editor' | 'history' | 'ks-details';
|
|
10
|
+
panel?: 'stack' | 'workspace' | 'agent' | 'ks' | 'editor' | 'history' | 'ks-details' | 'tools';
|
|
11
11
|
/**
|
|
12
12
|
* KS to use when the right panel "ks-details" is open.
|
|
13
13
|
*/
|
|
@@ -17,6 +17,13 @@ export interface WidgetProperties {
|
|
|
17
17
|
score: number;
|
|
18
18
|
documentId: string;
|
|
19
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* The message to show in the tools panel.
|
|
22
|
+
*/
|
|
23
|
+
currentMessageInToolsPanel?: {
|
|
24
|
+
chatId: string;
|
|
25
|
+
messageId: number;
|
|
26
|
+
};
|
|
20
27
|
/**
|
|
21
28
|
* Whether or not the widget is in its minimized version.
|
|
22
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetState.d.ts","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAA2B,cAAc,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kCAAkC,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC/F,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;
|
|
1
|
+
{"version":3,"file":"WidgetState.d.ts","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAA2B,cAAc,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kCAAkC,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC/F,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,GAAG,OAAO,CAAC;IAC/F;;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,0BAA0B,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,UAAU,OAAO;IACf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC7C;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAID;;;;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,YAAY,EAAE,YAAY,CAAA;gBAEd,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAiB,EAAE,QAAQ,EAAE,GAAE,OAAY;IAc5E,OAAO,CAAC,wBAAwB;IAUhC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,GAAE,OAAO,CAAC,kCAAkC,CAAM,EAAE,OAAO,GAAE,SAAS,EAAO;CAYjH"}
|
|
@@ -33,8 +33,8 @@ export class WidgetState extends ObservableState {
|
|
|
33
33
|
quickCommandQuestionsInterceptor,
|
|
34
34
|
createQuickCommandInterceptor(this, () => loader.__getMonacoInstance()?.editor),
|
|
35
35
|
sendMessageInterceptor,
|
|
36
|
-
]
|
|
37
|
-
|
|
36
|
+
],
|
|
37
|
+
this.createChat();
|
|
38
38
|
}
|
|
39
39
|
getNextUntitledChatIndex() {
|
|
40
40
|
let max = 0;
|
|
@@ -1 +1 @@
|
|
|
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;AAC1E,OAAO,EAAkC,uBAAuB,EAAkB,MAAM,aAAa,CAAA;AAErG,OAAO,EAAsC,SAAS,EAAsB,MAAM,aAAa,CAAA;AAC/F,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;AAC1E,OAAO,EAAkC,uBAAuB,EAAkB,MAAM,aAAa,CAAA;AAErG,OAAO,EAAsC,SAAS,EAAsB,MAAM,aAAa,CAAA;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAmDnD,MAAM,kBAAkB,GAAG,OAAO,CAAA;AAElC;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,eAAiC;IACvD,QAAQ,CAAoB;IACrC;;OAEG;IACH,YAAY,GAAyB,EAAE,CAAA;IACvC;;OAEG;IACH,YAAY,CAAc;IAE1B,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,GAAG,EAAE,EAAE,QAAQ,KAAc,EAAE;QAC1E,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAA;QAC9D,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAA;QACxC,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;YACD,IAAI,CAAC,UAAU,EAAE,CAAA;IACnB,CAAC;IAEO,wBAAwB;QAC9B,IAAI,GAAG,GAAG,CAAC,CAAA;QACX,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,kBAAkB,QAAQ,CAAC,IAAI,EAAE,CAAA;YAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,KAAK,GAAG,GAAG;gBAAE,GAAG,GAAG,KAAK,CAAA;QAC9B,CAAC;QACD,OAAO,GAAG,GAAG,CAAC,CAAA;IAChB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,UAAU,KAAkD,EAAE,EAAE,UAAuB,EAAE;QAC9G,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC;YACzB,EAAE,EAAE,IAAI,EAAE;YACV,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,UAAU,EAAE;YAClI,OAAO;YACP,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,CAAC,KAAK;SACjB,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,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAqDA,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAEnE"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { getLanguage } from '@stack-spot/portal-translate';
|
|
2
|
+
const httpErrors = {
|
|
3
|
+
en: {
|
|
4
|
+
400: 'Bad Request',
|
|
5
|
+
401: 'Unauthorized',
|
|
6
|
+
403: 'Forbidden',
|
|
7
|
+
404: 'Not Found',
|
|
8
|
+
405: 'Method Not Allowed',
|
|
9
|
+
406: 'Not Acceptable',
|
|
10
|
+
408: 'Request Timeout',
|
|
11
|
+
409: 'Conflict',
|
|
12
|
+
410: 'Gone',
|
|
13
|
+
411: 'Length Required',
|
|
14
|
+
413: 'Payload Too Large',
|
|
15
|
+
414: 'URI Too Long',
|
|
16
|
+
415: 'Unsupported Media Type',
|
|
17
|
+
429: 'Too Many Requests',
|
|
18
|
+
500: 'Internal Server Error',
|
|
19
|
+
501: 'Not Implemented',
|
|
20
|
+
502: 'Bad Gateway',
|
|
21
|
+
503: 'Service Unavailable',
|
|
22
|
+
504: 'Gateway Timeout',
|
|
23
|
+
505: 'HTTP Version Not Supported',
|
|
24
|
+
},
|
|
25
|
+
pt: {
|
|
26
|
+
400: 'Requisição Inválida',
|
|
27
|
+
401: 'Não Autorizado',
|
|
28
|
+
403: 'Proibido',
|
|
29
|
+
404: 'Não Encontrado',
|
|
30
|
+
405: 'Método Não Permitido',
|
|
31
|
+
406: 'Não Aceitável',
|
|
32
|
+
408: 'Tempo de Requisição Esgotado',
|
|
33
|
+
409: 'Conflito',
|
|
34
|
+
410: 'Indisponível',
|
|
35
|
+
411: 'Comprimento Necessário',
|
|
36
|
+
413: 'Carga Muito Grande',
|
|
37
|
+
414: 'URI Muito Longa',
|
|
38
|
+
415: 'Tipo de Mídia Não Suportado',
|
|
39
|
+
429: 'Muitas Requisições',
|
|
40
|
+
500: 'Erro Interno do Servidor',
|
|
41
|
+
501: 'Não Implementado',
|
|
42
|
+
502: 'Gateway Inválido',
|
|
43
|
+
503: 'Serviço Indisponível',
|
|
44
|
+
504: 'Tempo de Gateway Esgotado',
|
|
45
|
+
505: 'Versão HTTP Não Suportada',
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
function getGenericErrorBasedOnStatus(status) {
|
|
49
|
+
return httpErrors[getLanguage()][status] ?? `Unknown error. Status code: ${status}.`;
|
|
50
|
+
}
|
|
51
|
+
export function treatHTMLInErrorMessage(text, status) {
|
|
52
|
+
return (!text.includes('<html>')) ? text : getGenericErrorBasedOnStatus(status);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,MAAM,UAAU,GAAgD;IAC9D,EAAE,EAAE;QACF,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,cAAc;QACnB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,oBAAoB;QACzB,GAAG,EAAE,gBAAgB;QACrB,GAAG,EAAE,iBAAiB;QACtB,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,iBAAiB;QACtB,GAAG,EAAE,mBAAmB;QACxB,GAAG,EAAE,cAAc;QACnB,GAAG,EAAE,wBAAwB;QAC7B,GAAG,EAAE,mBAAmB;QACxB,GAAG,EAAE,uBAAuB;QAC5B,GAAG,EAAE,iBAAiB;QACtB,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,qBAAqB;QAC1B,GAAG,EAAE,iBAAiB;QACtB,GAAG,EAAE,4BAA4B;KAClC;IACD,EAAE,EAAE;QACF,GAAG,EAAE,qBAAqB;QAC1B,GAAG,EAAE,gBAAgB;QACrB,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,gBAAgB;QACrB,GAAG,EAAE,sBAAsB;QAC3B,GAAG,EAAE,eAAe;QACpB,GAAG,EAAE,8BAA8B;QACnC,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,cAAc;QACnB,GAAG,EAAE,wBAAwB;QAC7B,GAAG,EAAE,oBAAoB;QACzB,GAAG,EAAE,iBAAiB;QACtB,GAAG,EAAE,6BAA6B;QAClC,GAAG,EAAE,oBAAoB;QACzB,GAAG,EAAE,0BAA0B;QAC/B,GAAG,EAAE,kBAAkB;QACvB,GAAG,EAAE,kBAAkB;QACvB,GAAG,EAAE,sBAAsB;QAC3B,GAAG,EAAE,2BAA2B;QAChC,GAAG,EAAE,2BAA2B;KACjC;CACF,CAAA;AAED,SAAS,4BAA4B,CAAC,MAAc;IAClD,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,+BAA+B,MAAM,GAAG,CAAA;AACtF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,MAAc;IAClE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAA;AACjF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentDescription.d.ts","sourceRoot":"","sources":["../../../src/views/Agents/AgentDescription.tsx"],"names":[],"mappings":"AAOA,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"AgentDescription.d.ts","sourceRoot":"","sources":["../../../src/views/Agents/AgentDescription.tsx"],"names":[],"mappings":"AAOA,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,gBAAgB,GAAI,yDAAyD,KAAK,4CAiC9F,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentsTab.d.ts","sourceRoot":"","sources":["../../../src/views/Agents/AgentsTab.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAiB,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAUrF,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"AgentsTab.d.ts","sourceRoot":"","sources":["../../../src/views/Agents/AgentsTab.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAiB,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAUrF,eAAO,MAAM,SAAS,GAAI,gBAAgB;IAAE,UAAU,EAAE,eAAe,GAAG,UAAU,CAAA;CAAE,4CAgErF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentInfo.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/AgentInfo.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"AgentInfo.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/AgentInfo.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,WAAW,KAAK,4CAQzC,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import 'react-international-phone/style.css';
|
|
1
2
|
import { ChatEntry } from '../../state/ChatEntry.js';
|
|
2
3
|
interface Props {
|
|
3
4
|
/**
|
|
@@ -17,6 +18,6 @@ interface Props {
|
|
|
17
18
|
/**
|
|
18
19
|
* Renders a message (ChatEntry) in the chat.
|
|
19
20
|
*/
|
|
20
|
-
export declare const ChatMessage: ({ message, username, isLast }: Props) => "" | import("react/jsx-runtime").JSX.Element
|
|
21
|
+
export declare const ChatMessage: ({ message, username, isLast }: Props) => false | "" | import("react/jsx-runtime").JSX.Element;
|
|
21
22
|
export {};
|
|
22
23
|
//# sourceMappingURL=ChatMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"AAOA,OAAO,qCAAqC,CAAA;AAG5C,OAAO,EAAE,SAAS,EAAqC,MAAM,uBAAuB,CAAA;AAOpF,UAAU,KAAK;IACb;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAsFD;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,+BAA+B,KAAK,yDAsI/D,CAAA"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Button, IconBox, Text } from '@citric/core';
|
|
2
|
+
import { Box, Button, Checkbox, Flex, IconBox, Input, Label, Radio, Text } from '@citric/core';
|
|
3
3
|
import { Copy, Dislike, DislikeFill, Like, LikeFill, TimesCircle } from '@citric/icons';
|
|
4
4
|
import { Avatar, Badge, IconButton } from '@citric/ui';
|
|
5
5
|
import { listToClass } from '@stack-spot/portal-theme';
|
|
6
6
|
import { useTranslate } from '@stack-spot/portal-translate';
|
|
7
7
|
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
8
|
+
import { PhoneInput } from 'react-international-phone';
|
|
9
|
+
import 'react-international-phone/style.css';
|
|
8
10
|
import { Markdown } from '../../components/Markdown.js';
|
|
9
11
|
import { useChatEntry, useCurrentChat, useWidget } from '../../context/hooks.js';
|
|
10
12
|
import { ChatEntry } from '../../state/ChatEntry.js';
|
|
@@ -12,12 +14,56 @@ import { useDateFormatter } from '../../utils/date.js';
|
|
|
12
14
|
import { AgentInfo } from './AgentInfo.js';
|
|
13
15
|
import { useChatScrollToBottomEffect } from './chat-scroll.js';
|
|
14
16
|
import { onCopyAll, onCopyCode, onLikeOrDislike } from './events.js';
|
|
17
|
+
import { StepsList } from './StepsList.js';
|
|
18
|
+
const RenderInputsEntry = ({ isLast, entry, value, setValue, setLabels }) => {
|
|
19
|
+
const chat = useCurrentChat();
|
|
20
|
+
const renderInputs = () => {
|
|
21
|
+
if (entry.type === 'input-text') {
|
|
22
|
+
return _jsx(Input, { name: entry.name, ...entry.validations, onChange: (data) => setValue([data.target.value]), required: entry.required });
|
|
23
|
+
}
|
|
24
|
+
if (entry.type === 'input-radio') {
|
|
25
|
+
return _jsx(Flex, { children: entry.options?.map((option) => (_jsx(Box, { w: 6, children: _jsxs(Label, { htmlFor: option.value, colorScheme: "light.contrastText", children: [_jsx(Radio, { name: entry.name, id: option.value, onChange: (data) => {
|
|
26
|
+
if (data.target.checked) {
|
|
27
|
+
setValue([option.label]);
|
|
28
|
+
option.value && setLabels([option.value]);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
setValue([]);
|
|
32
|
+
}
|
|
33
|
+
} }), _jsx(Text, { ml: 3, children: option.label })] }) }, option.value))) });
|
|
34
|
+
}
|
|
35
|
+
if (entry.type === 'button-list') {
|
|
36
|
+
return _jsx(Flex, { children: entry.options?.map((item) => (_jsx(Button, { colorScheme: item.color, onClick: () => {
|
|
37
|
+
item.value && chat.pushMessage(ChatEntry.createUserEntry(item.value, false, entry.name, item?.label ? [item?.label] : undefined));
|
|
38
|
+
}, children: item.label }, item.label))) });
|
|
39
|
+
}
|
|
40
|
+
if (entry.type === 'input-checkbox') {
|
|
41
|
+
return _jsx(Flex, { children: entry.options?.map((option) => (_jsxs(Flex, { w: 6, children: [_jsx(Checkbox, { name: entry.name, onChange: (data) => {
|
|
42
|
+
if (data.target.checked) {
|
|
43
|
+
setValue([...value, option.label]);
|
|
44
|
+
option.value && setLabels([option.value]);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const newValue = value.filter(((item) => item !== option.label));
|
|
48
|
+
setValue([...newValue]);
|
|
49
|
+
}
|
|
50
|
+
} }, option.label), _jsx(Text, { ml: 3, children: option.label })] }, option.label))) });
|
|
51
|
+
}
|
|
52
|
+
if (entry.type === 'input-phone') {
|
|
53
|
+
return (_jsx(PhoneInput, { defaultCountry: "br", value: value[0], onChange: (phone) => setValue([phone]), className: "input-phone", placeholder: "11961234567" }));
|
|
54
|
+
}
|
|
55
|
+
return _jsx("p", { className: "plain-text", children: entry.content });
|
|
56
|
+
};
|
|
57
|
+
return _jsxs(Flex, { flexDirection: "column", children: [_jsx(Text, { appearance: "body2", mb: 4, children: entry.content }), isLast && renderInputs()] });
|
|
58
|
+
};
|
|
15
59
|
/**
|
|
16
60
|
* Renders a message (ChatEntry) in the chat.
|
|
17
61
|
*/
|
|
18
62
|
export const ChatMessage = ({ message, username, isLast }) => {
|
|
19
63
|
const t = useTranslate(dictionary);
|
|
20
64
|
const [liked, setLiked] = useState();
|
|
65
|
+
const [value, setValue] = useState([]);
|
|
66
|
+
const [labels, setLabels] = useState([]);
|
|
21
67
|
const entry = useChatEntry(message);
|
|
22
68
|
const dateFormatter = useDateFormatter();
|
|
23
69
|
const userInfo = entry.agentType === 'user' ? _jsx(Avatar, { size: "xs", children: username }) : _jsx(AgentInfo, { agent: entry.agent });
|
|
@@ -32,14 +78,19 @@ export const ChatMessage = ({ message, username, isLast }) => {
|
|
|
32
78
|
widget.set('currentKSInPanel', { name, slug, score: documentScore, documentId });
|
|
33
79
|
widget.set('panel', 'ks-details');
|
|
34
80
|
}, []);
|
|
35
|
-
const runAction =
|
|
81
|
+
const runAction = (action) => {
|
|
36
82
|
if (action.type === 'link') {
|
|
37
83
|
window.open(action.exec, '_blank');
|
|
38
84
|
}
|
|
39
85
|
else {
|
|
40
|
-
|
|
86
|
+
if (action.exec) {
|
|
87
|
+
chat.pushMessage(ChatEntry.createUserEntry(action.exec));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
value && chat.pushMessage(ChatEntry.createUserEntry(value.toString(), false, entry.name, labels));
|
|
91
|
+
}
|
|
41
92
|
}
|
|
42
|
-
}
|
|
93
|
+
};
|
|
43
94
|
const { like, dislike } = useMemo(() => {
|
|
44
95
|
async function feedback(like) {
|
|
45
96
|
if (!entry.messageId || like === liked)
|
|
@@ -63,9 +114,16 @@ export const ChatMessage = ({ message, username, isLast }) => {
|
|
|
63
114
|
selectedText && onCopyCode(selectedText, '', chat);
|
|
64
115
|
}
|
|
65
116
|
};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
117
|
+
const renderContent = () => {
|
|
118
|
+
if (entry.type === 'md') {
|
|
119
|
+
return _jsx(Markdown, { onCopyCode: (code) => onCopyCode(code, entry.messageId ?? '', chat), children: entry.content });
|
|
120
|
+
}
|
|
121
|
+
if (entry.type === 'text') {
|
|
122
|
+
return _jsx("p", { className: "plain-text", children: entry.content });
|
|
123
|
+
}
|
|
124
|
+
return _jsx(RenderInputsEntry, { entry: entry, isLast: isLast, value: value, setValue: setValue, setLabels: setLabels, labels: labels });
|
|
125
|
+
};
|
|
126
|
+
return (entry.content || entry.error || !!entry.steps?.length) && (_jsxs("li", { className: entry.agentType, ref: ref, children: [_jsxs("div", { className: "chat-message", ref: chatRef, onKeyDown: handleKeyDown, tabIndex: 0, children: [_jsx("div", { className: "user-info", children: userInfo }), (entry.content || entry.steps) && _jsxs("div", { className: listToClass(['message-content', entry.card && 'card']), children: [!!entry.badges?.length && _jsx("div", { className: "badges", children: entry.badges.map((b, index) => _jsx(Badge, { palette: b.color ?? 'cyan', appearance: "square", children: b.label }, index)) }), renderContent(), entry.actions?.length && (_jsx("div", { className: "actions", children: entry.actions.map((a, index) => (_jsx(_Fragment, { children: (!a.hideWhenNotLast || isLast) && _jsx(Button, { appearance: a.appearance === 'primary' ? 'contained' : 'outlined', colorScheme: a.colorScheme ? a.colorScheme : 'inverse', onClick: () => runAction(a), disabled: (entry.required && !value.length) ?? !isLast, type: a.buttonType ?? 'button', children: a.title }, index) }))) })), !!entry.steps?.length && _jsx(StepsList, { steps: entry.steps, chatId: chat.id, messageId: message.id })] })] }), entry.error && (_jsxs("div", { className: "error", children: [_jsx(IconBox, { size: "xs", children: _jsx(TimesCircle, {}) }), _jsx(Text, { appearance: "microtext1", children: entry.error })] })), !!entry.knowledgeSources?.length && _jsxs("div", { className: "ks-box", children: [_jsx(Text, { appearance: "microtext1", colorScheme: "light.700", children: "Knowledge Sources:" }), _jsx("ul", { children: entry.knowledgeSources.map((ks, index) => (_jsx("li", { children: _jsx(Button, { size: "sm", colorScheme: "light", onClick: () => detailKS(ks), children: ks.name }) }, index))) })] }), shouldShowFooter && _jsxs("div", { className: "message-footer", children: [entry.agentType === 'bot' && !entry.error && _jsxs("div", { className: "message-actions", children: [entry.type === 'md' && (_jsx(IconButton, { title: t.copy, "aria-label": t.copy, onClick: () => onCopyAll(entry, chat), children: _jsx(Copy, {}) })), entry.messageId && (_jsxs(_Fragment, { children: [_jsx(IconButton, { title: t.like, "aria-label": t.like, onClick: like, children: liked === true ? _jsx(LikeFill, {}) : _jsx(Like, {}) }), _jsx(IconButton, { title: t.dislike, "aria-label": t.dislike, onClick: dislike, children: liked === false ? _jsx(DislikeFill, {}) : _jsx(Dislike, {}) })] }))] }), _jsx(Text, { appearance: "microtext1", className: "chat-date", children: dateFormatter.formatForChatMessage(date) })] })] }));
|
|
69
127
|
};
|
|
70
128
|
const dictionary = {
|
|
71
129
|
en: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC9F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACvF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAY,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,qCAAqC,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAqC,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AA2BvC,MAAM,iBAAiB,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAA0B,EAAE,EAAE;IAClG,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAE7B,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,OAAO,KAAC,KAAK,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAM,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,CAAA;QACxI,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,KAAC,IAAI,cACT,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAC,GAAG,IAAC,CAAC,EAAE,CAAC,YACxC,MAAC,KAAK,IAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAC,oBAAoB,aAC5D,KAAC,KAAK,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;oCAC5D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wCACxB,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;wCACxB,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;oCAC3C,CAAC;yCAAM,CAAC;wCACN,QAAQ,CAAC,EAAE,CAAC,CAAA;oCACd,CAAC;gCACH,CAAC,GAAI,EACL,KAAC,IAAI,IAAC,EAAE,EAAE,CAAC,YAAG,MAAM,CAAC,KAAK,GAAQ,IAC5B,IAXuC,MAAM,CAAC,KAAK,CAYvD,CAAC,CAAC,GACH,CAAA;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,KAAC,IAAI,cACT,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAC,MAAM,IAAkB,WAAW,EAAE,IAAI,CAAC,KAAK,EAC7E,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAC5B,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAClG,CAAA;oBACH,CAAC,YACA,IAAI,CAAC,KAAK,IAN+B,IAAI,CAAC,KAAK,CAO7C,CAAC,CAAC,GACH,CAAA;QACZ,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,OAAO,KAAC,IAAI,cACT,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9B,MAAC,IAAI,IAAC,CAAC,EAAE,CAAC,aACR,KAAC,QAAQ,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAqB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gCAChE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oCACxB,QAAQ,CAAC,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;oCAClC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gCAC3C,CAAC;qCAAM,CAAC;oCACN,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;oCAChE,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAA;gCACzB,CAAC;4BACH,CAAC,IARgC,MAAM,CAAC,KAAK,CAQzC,EACJ,KAAC,IAAI,IAAC,EAAE,EAAE,CAAC,YAAG,MAAM,CAAC,KAAK,GAAQ,KAVnB,MAAM,CAAC,KAAK,CAWtB,CAAC,CAAC,GACN,CAAA;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,KAAC,UAAU,IACjB,cAAc,EAAC,IAAI,EACnB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EACtC,SAAS,EAAC,aAAa,EACvB,WAAW,EAAC,aAAa,GACzB,CAAC,CAAA;QACL,CAAC;QACD,OAAO,YAAG,SAAS,EAAC,YAAY,YAAE,KAAK,CAAC,OAAO,GAAK,CAAA;IACtD,CAAC,CAAA;IAED,OAAO,MAAC,IAAI,IAAC,aAAa,EAAC,QAAQ,aACjC,KAAC,IAAI,IAAC,UAAU,EAAC,OAAO,EAAC,EAAE,EAAE,CAAC,YAAG,KAAK,CAAC,OAAO,GAAQ,EACrD,MAAM,IAAI,YAAY,EAAE,IACpB,CAAA;AACT,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAS,EAAE,EAAE;IAClE,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAuB,CAAA;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAA;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,YAAE,QAAQ,GAAU,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAAA;IACvH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAChE,MAAM,GAAG,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,2BAA2B,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEzC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAuD,EAAE,EAAE;QAC9H,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAA;QAChF,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IACnC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,CAAC,MAA0B,EAAE,EAAE;QAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;YAC1D,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;YACnG,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,KAAK,UAAU,QAAQ,CAAC,IAAa;YACnC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,KAAK,KAAK;gBAAE,OAAM;YAC9C,QAAQ,CAAC,IAAI,CAAC,CAAA;YACd,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,CAAC,KAAK,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC/B,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;IAE5B,MAAM,aAAa,GAAG,CAAC,KAA0C,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAA;YACtD,YAAY,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;QACpD,CAAC;IACH,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,KAAC,QAAQ,IAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,CAAC,YAAG,KAAK,CAAC,OAAO,GAAY,CAAA;QAClH,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,YAAG,SAAS,EAAC,YAAY,YAAE,KAAK,CAAC,OAAO,GAAK,CAAA;QACtD,CAAC;QAED,OAAO,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAI,CAAA;IACpI,CAAC,CAAA;IAED,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAChE,cAAI,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,aACtC,eAAK,SAAS,EAAC,cAAc,EAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,aAC/E,cAAK,SAAS,EAAC,WAAW,YAAE,QAAQ,GAAO,EAC1C,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,eAAK,SAAS,EAAE,WAAW,CAAC,CAAC,iBAAiB,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,aACtG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,cAAK,SAAS,EAAC,QAAQ,YAC/C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAC,KAAK,IAAa,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,EAAE,UAAU,EAAC,QAAQ,YAAE,CAAC,CAAC,KAAK,IAA/D,KAAK,CAAmE,CAAC,GACjH,EACL,aAAa,EAAE,EACf,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,CACxB,cAAK,SAAS,EAAC,SAAS,YACrB,KAAK,CAAC,OAAO,CAAC,GAAG,CAChB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,4BACZ,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,KAAC,MAAM,IAExC,UAAU,EAAE,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EACjE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACtD,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAC3B,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EACtD,IAAI,EAAE,CAAC,CAAC,UAAU,IAAI,QAAQ,YAE7B,CAAC,CAAC,KAAK,IAPH,KAAK,CAQH,GACR,CAAC,CACL,GACG,CACP,EACA,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAI,IAC/F,IACF,EACL,KAAK,CAAC,KAAK,IAAI,CACd,eAAK,SAAS,EAAC,OAAO,aACpB,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,YAAC,KAAC,WAAW,KAAG,GAAU,EAC5C,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,YAAE,KAAK,CAAC,KAAK,GAAQ,IAC9C,CACP,EACA,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,IAAI,eAAK,SAAS,EAAC,QAAQ,aAC1D,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,EAAC,WAAW,EAAC,WAAW,mCAA0B,EAC/E,uBAAK,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7C,uBACE,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAG,EAAE,CAAC,IAAI,GAAU,IAD9E,KAAK,CAET,CACN,CAAC,GAAM,IACJ,EACL,gBAAgB,IAAI,eAAK,SAAS,EAAC,gBAAgB,aACjD,KAAK,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,eAAK,SAAS,EAAC,iBAAiB,aAC3E,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,CACtB,KAAC,UAAU,IAAC,KAAK,EAAE,CAAC,CAAC,IAAI,gBAAc,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,YAClF,KAAC,IAAI,KAAG,GACG,CACd,EACA,KAAK,CAAC,SAAS,IAAI,CAClB,8BACE,KAAC,UAAU,IAAC,KAAK,EAAE,CAAC,CAAC,IAAI,gBAAc,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,YACzD,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,KAAG,CAAC,CAAC,CAAC,KAAC,IAAI,KAAG,GAC9B,EACb,KAAC,UAAU,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,gBAAc,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,YAClE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAC,WAAW,KAAG,CAAC,CAAC,CAAC,KAAC,OAAO,KAAG,GACrC,IACZ,CACJ,IACG,EACN,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,EAAC,SAAS,EAAC,WAAW,YAAE,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAQ,IACjG,IACH,CACN,CAAA;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,SAAS;KACnB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,YAAY;KACtB;CACmB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatMessages.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessages.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"ChatMessages.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessages.tsx"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,sBAAsB,KAAK,4CAQvD,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ChatEntryStep } from '../../state/ChatEntry.js';
|
|
2
|
+
interface Props {
|
|
3
|
+
steps: ChatEntryStep[];
|
|
4
|
+
messageId: number;
|
|
5
|
+
chatId: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const StepsList: ({ steps, chatId, messageId }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=StepsList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StepsList.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/StepsList.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGrD,UAAU,KAAK;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AA+BD,eAAO,MAAM,SAAS,GAAI,8BAA8B,KAAK,4CAqC5D,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, IconBox, Text } from '@citric/core';
|
|
3
|
+
import { CheckCircleFill, Circle, PlayFill, TimesCircleFill } from '@citric/icons';
|
|
4
|
+
import { LoadingCircular } from '@citric/ui';
|
|
5
|
+
import { AnimatedHeight } from '@stack-spot/portal-components/AnimatedHeight';
|
|
6
|
+
import { useTranslate } from '@stack-spot/portal-translate';
|
|
7
|
+
import { findLastIndex } from 'lodash';
|
|
8
|
+
import { useState } from 'react';
|
|
9
|
+
import { useWidget } from '../../context/hooks.js';
|
|
10
|
+
function getStatusIcon(status) {
|
|
11
|
+
const iconBoxProps = { colorIcon: 'light.700', size: 'xs' };
|
|
12
|
+
switch (status) {
|
|
13
|
+
case 'error': return _jsx(IconBox, { ...iconBoxProps, children: _jsx(TimesCircleFill, {}) });
|
|
14
|
+
case 'success': return _jsx(IconBox, { ...iconBoxProps, children: _jsx(CheckCircleFill, {}) });
|
|
15
|
+
case 'pending': return _jsx(IconBox, { ...iconBoxProps, children: _jsx(Circle, {}) });
|
|
16
|
+
case 'running': return _jsx(LoadingCircular, { className: "loading", colorScheme: "inverse", size: "xs" });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const Step = ({ step, index, total, onClick }) => {
|
|
20
|
+
const t = useTranslate(dictionary);
|
|
21
|
+
return (_jsxs("li", { tabIndex: onClick ? 0 : undefined, onClick: onClick, role: onClick ? 'button' : 'listitem', children: [_jsx("div", { className: "step-status-icon", children: getStatusIcon(step.status) }), _jsxs(Text, { className: "step-title", appearance: "microtext1", colorScheme: "light.700", children: [t.step, " ", index, "/", total, ": ", step.input] })] }));
|
|
22
|
+
};
|
|
23
|
+
export const StepsList = ({ steps, chatId, messageId }) => {
|
|
24
|
+
const t = useTranslate(dictionary);
|
|
25
|
+
const [isExpanded, setExpanded] = useState(false);
|
|
26
|
+
const actualSteps = steps.filter(s => s.type === 'step');
|
|
27
|
+
let currentStepIndex = findLastIndex(actualSteps, s => s.status === 'running' || s.status === 'success');
|
|
28
|
+
if (currentStepIndex === -1)
|
|
29
|
+
currentStepIndex = 0;
|
|
30
|
+
const widget = useWidget();
|
|
31
|
+
function openToolsPanel() {
|
|
32
|
+
widget.set('currentMessageInToolsPanel', { chatId, messageId });
|
|
33
|
+
widget.set('panel', 'tools');
|
|
34
|
+
}
|
|
35
|
+
return (_jsx(AnimatedHeight, { children: _jsxs("div", { className: "steps", children: [_jsx("ul", { children: isExpanded
|
|
36
|
+
? actualSteps.map((s, i) => _jsx(Step, { step: s, index: i + 1, total: actualSteps.length }, i))
|
|
37
|
+
: _jsx(Step, { step: actualSteps[currentStepIndex], index: currentStepIndex + 1, total: actualSteps.length, onClick: () => setExpanded(true) }) }), isExpanded && _jsxs("div", { className: "step-actions", children: [_jsx(Button, { colorScheme: "light", size: "sm", onClick: () => setExpanded(false), children: t.hideSteps }), _jsxs(Button, { colorScheme: "light", size: "sm", className: "icon-button", onClick: openToolsPanel, children: [_jsx(IconBox, { size: "xs", children: _jsx(PlayFill, {}) }), t.detailed] })] })] }) }));
|
|
38
|
+
};
|
|
39
|
+
const dictionary = {
|
|
40
|
+
en: {
|
|
41
|
+
step: 'Step',
|
|
42
|
+
hideSteps: 'Hide steps',
|
|
43
|
+
detailed: 'View detailed mode',
|
|
44
|
+
},
|
|
45
|
+
pt: {
|
|
46
|
+
step: 'Passo',
|
|
47
|
+
hideSteps: 'Esconder passos',
|
|
48
|
+
detailed: 'Ver modo detalhado',
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=StepsList.js.map
|