@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.
Files changed (143) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/StackspotAIWidget.d.ts +5 -1
  3. package/dist/StackspotAIWidget.d.ts.map +1 -1
  4. package/dist/StackspotAIWidget.js +6 -5
  5. package/dist/StackspotAIWidget.js.map +1 -1
  6. package/dist/app-metadata.json +31 -19
  7. package/dist/chat-interceptors/send-message.d.ts.map +1 -1
  8. package/dist/chat-interceptors/send-message.js +3 -1
  9. package/dist/chat-interceptors/send-message.js.map +1 -1
  10. package/dist/components/Accordion.d.ts.map +1 -1
  11. package/dist/components/AnimatedOpacity.d.ts +8 -0
  12. package/dist/components/AnimatedOpacity.d.ts.map +1 -0
  13. package/dist/components/AnimatedOpacity.js +46 -0
  14. package/dist/components/AnimatedOpacity.js.map +1 -0
  15. package/dist/components/Code.d.ts +2 -1
  16. package/dist/components/Code.d.ts.map +1 -1
  17. package/dist/components/Code.js +4 -4
  18. package/dist/components/Code.js.map +1 -1
  19. package/dist/components/FadingOverflow.d.ts.map +1 -1
  20. package/dist/components/FallbackBoundary/index.d.ts.map +1 -1
  21. package/dist/components/IconInput.d.ts.map +1 -1
  22. package/dist/components/Markdown.d.ts.map +1 -1
  23. package/dist/components/Modal.d.ts +9 -0
  24. package/dist/components/Modal.d.ts.map +1 -0
  25. package/dist/components/Modal.js +58 -0
  26. package/dist/components/Modal.js.map +1 -0
  27. package/dist/components/ProgressBar.d.ts.map +1 -1
  28. package/dist/components/QuickStartButton.d.ts.map +1 -1
  29. package/dist/components/RightPanelForm.d.ts.map +1 -1
  30. package/dist/components/RightPanelTabs.d.ts.map +1 -1
  31. package/dist/components/Selector/index.d.ts.map +1 -1
  32. package/dist/components/Tooltip/context.d.ts.map +1 -1
  33. package/dist/layout.css +34 -0
  34. package/dist/right-panel/DefaultPanel.d.ts.map +1 -1
  35. package/dist/right-panel/RightPanelProvider.d.ts.map +1 -1
  36. package/dist/state/ChatEntry.d.ts +74 -3
  37. package/dist/state/ChatEntry.d.ts.map +1 -1
  38. package/dist/state/ChatEntry.js +4 -1
  39. package/dist/state/ChatEntry.js.map +1 -1
  40. package/dist/state/WidgetState.d.ts +8 -1
  41. package/dist/state/WidgetState.d.ts.map +1 -1
  42. package/dist/state/WidgetState.js +2 -2
  43. package/dist/state/WidgetState.js.map +1 -1
  44. package/dist/utils/error.d.ts +2 -0
  45. package/dist/utils/error.d.ts.map +1 -0
  46. package/dist/utils/error.js +54 -0
  47. package/dist/utils/error.js.map +1 -0
  48. package/dist/views/Agents/AgentDescription.d.ts.map +1 -1
  49. package/dist/views/Agents/AgentsTab.d.ts.map +1 -1
  50. package/dist/views/Chat/AgentInfo.d.ts.map +1 -1
  51. package/dist/views/Chat/ChatMessage.d.ts +2 -1
  52. package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
  53. package/dist/views/Chat/ChatMessage.js +65 -7
  54. package/dist/views/Chat/ChatMessage.js.map +1 -1
  55. package/dist/views/Chat/ChatMessages.d.ts.map +1 -1
  56. package/dist/views/Chat/StepsList.d.ts +9 -0
  57. package/dist/views/Chat/StepsList.d.ts.map +1 -0
  58. package/dist/views/Chat/StepsList.js +51 -0
  59. package/dist/views/Chat/StepsList.js.map +1 -0
  60. package/dist/views/Chat/index.d.ts.map +1 -1
  61. package/dist/views/Chat/styled.d.ts +3 -1
  62. package/dist/views/Chat/styled.d.ts.map +1 -1
  63. package/dist/views/Chat/styled.js +56 -0
  64. package/dist/views/Chat/styled.js.map +1 -1
  65. package/dist/views/ChatHistory/HistoryItem.d.ts.map +1 -1
  66. package/dist/views/Home/BuiltInAgent.d.ts.map +1 -1
  67. package/dist/views/Home/index.d.ts.map +1 -1
  68. package/dist/views/MessageInput/AgentSelector.d.ts.map +1 -1
  69. package/dist/views/MessageInput/ButtonGroup.d.ts.map +1 -1
  70. package/dist/views/MessageInput/QuickCommandSelector.d.ts.map +1 -1
  71. package/dist/views/MinimizedHeader.d.ts.map +1 -1
  72. package/dist/views/Stacks.js +1 -0
  73. package/dist/views/Stacks.js.map +1 -1
  74. package/dist/views/Tools/FlowChart/HandleGroup.d.ts +7 -0
  75. package/dist/views/Tools/FlowChart/HandleGroup.d.ts.map +1 -0
  76. package/dist/views/Tools/FlowChart/HandleGroup.js +4 -0
  77. package/dist/views/Tools/FlowChart/HandleGroup.js.map +1 -0
  78. package/dist/views/Tools/FlowChart/NodeStep.d.ts +7 -0
  79. package/dist/views/Tools/FlowChart/NodeStep.d.ts.map +1 -0
  80. package/dist/views/Tools/FlowChart/NodeStep.js +15 -0
  81. package/dist/views/Tools/FlowChart/NodeStep.js.map +1 -0
  82. package/dist/views/Tools/FlowChart/index.d.ts +9 -0
  83. package/dist/views/Tools/FlowChart/index.d.ts.map +1 -0
  84. package/dist/views/Tools/FlowChart/index.js +52 -0
  85. package/dist/views/Tools/FlowChart/index.js.map +1 -0
  86. package/dist/views/Tools/FlowChart/layout.d.ts +17 -0
  87. package/dist/views/Tools/FlowChart/layout.d.ts.map +1 -0
  88. package/dist/views/Tools/FlowChart/layout.js +40 -0
  89. package/dist/views/Tools/FlowChart/layout.js.map +1 -0
  90. package/dist/views/Tools/FlowChart/styled.d.ts +15 -0
  91. package/dist/views/Tools/FlowChart/styled.d.ts.map +1 -0
  92. package/dist/views/Tools/FlowChart/styled.js +181 -0
  93. package/dist/views/Tools/FlowChart/styled.js.map +1 -0
  94. package/dist/views/Tools/FlowChart/types.d.ts +13 -0
  95. package/dist/views/Tools/FlowChart/types.d.ts.map +1 -0
  96. package/dist/views/Tools/FlowChart/types.js +2 -0
  97. package/dist/views/Tools/FlowChart/types.js.map +1 -0
  98. package/dist/views/Tools/StepModal.d.ts +9 -0
  99. package/dist/views/Tools/StepModal.d.ts.map +1 -0
  100. package/dist/views/Tools/StepModal.js +156 -0
  101. package/dist/views/Tools/StepModal.js.map +1 -0
  102. package/dist/views/Tools/ToolsPanel.d.ts +6 -0
  103. package/dist/views/Tools/ToolsPanel.d.ts.map +1 -0
  104. package/dist/views/Tools/ToolsPanel.js +14 -0
  105. package/dist/views/Tools/ToolsPanel.js.map +1 -0
  106. package/dist/views/Tools/dictionary.d.ts +41 -0
  107. package/dist/views/Tools/dictionary.d.ts.map +1 -0
  108. package/dist/views/Tools/dictionary.js +43 -0
  109. package/dist/views/Tools/dictionary.js.map +1 -0
  110. package/dist/views/Tools/index.d.ts +5 -0
  111. package/dist/views/Tools/index.d.ts.map +1 -0
  112. package/dist/views/Tools/index.js +31 -0
  113. package/dist/views/Tools/index.js.map +1 -0
  114. package/dist/views/Tools/utils.d.ts +6 -0
  115. package/dist/views/Tools/utils.d.ts.map +1 -0
  116. package/dist/views/Tools/utils.js +32 -0
  117. package/dist/views/Tools/utils.js.map +1 -0
  118. package/package.json +9 -6
  119. package/src/StackspotAIWidget.tsx +13 -4
  120. package/src/app-metadata.json +31 -19
  121. package/src/chat-interceptors/send-message.ts +8 -3
  122. package/src/components/AnimatedOpacity.tsx +55 -0
  123. package/src/components/Code.tsx +5 -3
  124. package/src/components/Modal.tsx +87 -0
  125. package/src/layout.css +34 -0
  126. package/src/state/ChatEntry.ts +79 -4
  127. package/src/state/WidgetState.ts +6 -2
  128. package/src/utils/error.ts +56 -0
  129. package/src/views/Chat/ChatMessage.tsx +121 -18
  130. package/src/views/Chat/StepsList.tsx +97 -0
  131. package/src/views/Chat/styled.ts +62 -1
  132. package/src/views/Stacks.tsx +1 -0
  133. package/src/views/Tools/FlowChart/HandleGroup.tsx +12 -0
  134. package/src/views/Tools/FlowChart/NodeStep.tsx +57 -0
  135. package/src/views/Tools/FlowChart/index.tsx +71 -0
  136. package/src/views/Tools/FlowChart/layout.ts +49 -0
  137. package/src/views/Tools/FlowChart/styled.ts +182 -0
  138. package/src/views/Tools/FlowChart/types.ts +14 -0
  139. package/src/views/Tools/StepModal.tsx +247 -0
  140. package/src/views/Tools/ToolsPanel.tsx +24 -0
  141. package/src/views/Tools/dictionary.ts +46 -0
  142. package/src/views/Tools/index.tsx +37 -0
  143. 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,8CAA+C,KAAK,4CAiB5E,CAAA"}
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,oCACI,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,YAAY,CAAC,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,4CAM5G,CAAA"}
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: string;
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;CACd;AAED,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACpD;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrC;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,KAAK,iBAAiB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;AAMvD;;GAEG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,SAAS,CAA0B;IAE3C;;OAEG;gBACS,KAAK,EAAE,aAAa;IAKhC;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,UAAQ;IASpD;;;OAGG;IACH,MAAM,CAAC,sBAAsB;IAI7B,QAAQ,CAAC,KAAK,EAAE,aAAa;IAK7B,QAAQ;IAIR;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;CAMrC"}
1
+ {"version":3,"file":"ChatEntry.d.ts","sourceRoot":"","sources":["../../src/state/ChatEntry.ts"],"names":[],"mappings":"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"}
@@ -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":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAiF7B,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;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,OAAe,EAAE,IAAI,GAAG,KAAK;QAClD,OAAO,IAAI,SAAS,CAAC;YACnB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAC1B,OAAO;YACP,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"}
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;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,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"}
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
- this.createChat();
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;AA+CnD,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,CAAA;QACD,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"}
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,2 @@
1
+ export declare function treatHTMLInErrorMessage(text: string, status: number): string;
2
+ //# sourceMappingURL=error.d.ts.map
@@ -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,4DAA6D,KAAK,4CAiC9F,CAAA"}
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,mBAAoB;IAAE,UAAU,EAAE,eAAe,GAAG,UAAU,CAAA;CAAE,4CAgErF,CAAA"}
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,cAAe,KAAK,4CAQzC,CAAA"}
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 | undefined;
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":"AAQA,OAAO,EAAE,SAAS,EAAqC,MAAM,uBAAuB,CAAA;AAMpF,UAAU,KAAK;IACb;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,kCAAmC,KAAK,6DAsH/D,CAAA"}
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 = useCallback((action) => {
81
+ const runAction = (action) => {
36
82
  if (action.type === 'link') {
37
83
  window.open(action.exec, '_blank');
38
84
  }
39
85
  else {
40
- chat.pushMessage(ChatEntry.createUserEntry(action.exec));
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
- return (entry.content || entry.error) && (_jsxs("li", { className: entry.agentType, ref: ref, children: [_jsxs("div", { className: "chat-message", ref: chatRef, onKeyDown: handleKeyDown, tabIndex: 0, children: [_jsx("div", { className: "user-info", children: userInfo }), entry.content && _jsxs("div", { className: listToClass(['message-content', entry.card && 'card']), children: [entry.badges?.length && _jsx("div", { className: "badges", children: entry.badges.map((b, index) => _jsx(Badge, { palette: b.color ?? 'cyan', appearance: "square", children: b.label }, index)) }), entry.type === 'md'
67
- ? _jsx(Markdown, { onCopyCode: (code) => onCopyCode(code, entry.messageId ?? '', chat), children: entry.content })
68
- : _jsx("p", { className: "plain-text", children: entry.content }), entry.actions?.length && (_jsx("div", { className: "actions", children: entry.actions.map((a, index) => (_jsx(Button, { appearance: a.appearance === 'primary' ? 'contained' : 'outlined', colorScheme: "inverse", onClick: () => runAction(a), disabled: !isLast, children: a.title }, index))) }))] })] }), entry.error && (_jsxs("div", { className: "error", children: [_jsx(IconBox, { size: "xs", children: _jsx(TimesCircle, {}) }), _jsx(Text, { appearance: "microtext1", children: entry.error })] })), !!entry.knowledgeSources?.length && _jsxs("div", { className: "ks-box", children: [_jsx(Text, { appearance: "microtext1", colorScheme: "light.700", children: "Knowledge Sources:" }), _jsx("ul", { children: entry.knowledgeSources.map((ks, index) => (_jsx("li", { children: _jsx(Button, { size: "sm", colorScheme: "light", onClick: () => detailKS(ks), children: ks.name }) }, index))) })] }), shouldShowFooter && _jsxs("div", { className: "message-footer", children: [entry.agentType === 'bot' && !entry.error && _jsxs("div", { className: "message-actions", children: [entry.type === 'md' && (_jsx(IconButton, { title: t.copy, "aria-label": t.copy, onClick: () => onCopyAll(entry, chat), children: _jsx(Copy, {}) })), entry.messageId && (_jsxs(_Fragment, { children: [_jsx(IconButton, { title: t.like, "aria-label": t.like, onClick: like, children: liked === true ? _jsx(LikeFill, {}) : _jsx(Like, {}) }), _jsx(IconButton, { title: t.dislike, "aria-label": t.dislike, onClick: dislike, children: liked === false ? _jsx(DislikeFill, {}) : _jsx(Dislike, {}) })] }))] }), _jsx(Text, { appearance: "microtext1", className: "chat-date", children: dateFormatter.formatForChatMessage(date) })] })] }));
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":"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"}
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,yBAA0B,KAAK,4CAQvD,CAAA"}
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