@stack-spot/ai-chat-widget 0.11.0 → 1.1.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 (347) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/StackspotAIWidget.d.ts +20 -0
  3. package/dist/StackspotAIWidget.d.ts.map +1 -1
  4. package/dist/StackspotAIWidget.js +7 -3
  5. package/dist/StackspotAIWidget.js.map +1 -1
  6. package/dist/chat-interceptors/CustomInputs.d.ts +4 -1
  7. package/dist/chat-interceptors/CustomInputs.d.ts.map +1 -1
  8. package/dist/chat-interceptors/CustomInputs.js +10 -1
  9. package/dist/chat-interceptors/CustomInputs.js.map +1 -1
  10. package/dist/chat-interceptors/quick-command-questions.d.ts +10 -0
  11. package/dist/chat-interceptors/quick-command-questions.d.ts.map +1 -1
  12. package/dist/chat-interceptors/quick-command-questions.js +12 -2
  13. package/dist/chat-interceptors/quick-command-questions.js.map +1 -1
  14. package/dist/chat-interceptors/quick-commands.d.ts +11 -0
  15. package/dist/chat-interceptors/quick-commands.d.ts.map +1 -1
  16. package/dist/chat-interceptors/quick-commands.js +65 -25
  17. package/dist/chat-interceptors/quick-commands.js.map +1 -1
  18. package/dist/chat-interceptors/send-message.d.ts +10 -0
  19. package/dist/chat-interceptors/send-message.d.ts.map +1 -1
  20. package/dist/chat-interceptors/send-message.js +32 -10
  21. package/dist/chat-interceptors/send-message.js.map +1 -1
  22. package/dist/components/Accordion.d.ts +10 -0
  23. package/dist/components/Accordion.d.ts.map +1 -1
  24. package/dist/components/Accordion.js +3 -0
  25. package/dist/components/Accordion.js.map +1 -1
  26. package/dist/components/AdaptiveTextArea.d.ts +13 -1
  27. package/dist/components/AdaptiveTextArea.d.ts.map +1 -1
  28. package/dist/components/AdaptiveTextArea.js +9 -4
  29. package/dist/components/AdaptiveTextArea.js.map +1 -1
  30. package/dist/components/AutoFocus.d.ts +23 -0
  31. package/dist/components/AutoFocus.d.ts.map +1 -0
  32. package/dist/components/AutoFocus.js +16 -0
  33. package/dist/components/AutoFocus.js.map +1 -0
  34. package/dist/components/Fading.d.ts +32 -0
  35. package/dist/components/Fading.d.ts.map +1 -0
  36. package/dist/components/Fading.js +33 -0
  37. package/dist/components/Fading.js.map +1 -0
  38. package/dist/components/FadingOverflow.d.ts +25 -0
  39. package/dist/components/FadingOverflow.d.ts.map +1 -1
  40. package/dist/components/FadingOverflow.js +11 -2
  41. package/dist/components/FadingOverflow.js.map +1 -1
  42. package/dist/components/FallbackBoundary/ErrorBoundary.d.ts +3 -0
  43. package/dist/components/FallbackBoundary/ErrorBoundary.d.ts.map +1 -1
  44. package/dist/components/FallbackBoundary/ErrorBoundary.js +18 -4
  45. package/dist/components/FallbackBoundary/ErrorBoundary.js.map +1 -1
  46. package/dist/components/FallbackBoundary/Loading.js +1 -1
  47. package/dist/components/FallbackBoundary/Loading.js.map +1 -1
  48. package/dist/components/FallbackBoundary/index.d.ts +12 -1
  49. package/dist/components/FallbackBoundary/index.d.ts.map +1 -1
  50. package/dist/components/FallbackBoundary/index.js +1 -1
  51. package/dist/components/FallbackBoundary/index.js.map +1 -1
  52. package/dist/components/HistoryList.d.ts +15 -0
  53. package/dist/components/HistoryList.d.ts.map +1 -1
  54. package/dist/components/HistoryList.js +3 -1
  55. package/dist/components/HistoryList.js.map +1 -1
  56. package/dist/components/IconInput.d.ts +3 -0
  57. package/dist/components/IconInput.d.ts.map +1 -1
  58. package/dist/components/IconInput.js +3 -0
  59. package/dist/components/IconInput.js.map +1 -1
  60. package/dist/components/OverlayMenu.d.ts +12 -1
  61. package/dist/components/OverlayMenu.d.ts.map +1 -1
  62. package/dist/components/OverlayMenu.js +31 -10
  63. package/dist/components/OverlayMenu.js.map +1 -1
  64. package/dist/components/ProgressBar.d.ts +22 -0
  65. package/dist/components/ProgressBar.d.ts.map +1 -1
  66. package/dist/components/ProgressBar.js +5 -0
  67. package/dist/components/ProgressBar.js.map +1 -1
  68. package/dist/components/QuickStartButton.d.ts.map +1 -1
  69. package/dist/components/QuickStartButton.js +3 -0
  70. package/dist/components/QuickStartButton.js.map +1 -1
  71. package/dist/components/RightPanelForm.d.ts +3 -0
  72. package/dist/components/RightPanelForm.d.ts.map +1 -1
  73. package/dist/components/RightPanelForm.js +8 -4
  74. package/dist/components/RightPanelForm.js.map +1 -1
  75. package/dist/components/RightPanelTabs.d.ts +3 -0
  76. package/dist/components/RightPanelTabs.d.ts.map +1 -1
  77. package/dist/components/RightPanelTabs.js +3 -0
  78. package/dist/components/RightPanelTabs.js.map +1 -1
  79. package/dist/components/TabManager.d.ts +6 -0
  80. package/dist/components/TabManager.d.ts.map +1 -1
  81. package/dist/components/TabManager.js +8 -0
  82. package/dist/components/TabManager.js.map +1 -1
  83. package/dist/components/Tooltip/Tooltip.d.ts +26 -1
  84. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  85. package/dist/components/Tooltip/Tooltip.js +18 -5
  86. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  87. package/dist/components/Tooltip/TooltipAPI.d.ts +18 -2
  88. package/dist/components/Tooltip/TooltipAPI.d.ts.map +1 -1
  89. package/dist/components/Tooltip/TooltipAPI.js +68 -51
  90. package/dist/components/Tooltip/TooltipAPI.js.map +1 -1
  91. package/dist/components/Tooltip/types.d.ts +13 -0
  92. package/dist/components/Tooltip/types.d.ts.map +1 -1
  93. package/dist/components/form/DescribedCheckboxGroup.d.ts +4 -0
  94. package/dist/components/form/DescribedCheckboxGroup.d.ts.map +1 -1
  95. package/dist/components/form/DescribedCheckboxGroup.js +4 -0
  96. package/dist/components/form/DescribedCheckboxGroup.js.map +1 -1
  97. package/dist/components/form/DescribedRadioGroup.d.ts +4 -0
  98. package/dist/components/form/DescribedRadioGroup.d.ts.map +1 -1
  99. package/dist/components/form/DescribedRadioGroup.js +4 -0
  100. package/dist/components/form/DescribedRadioGroup.js.map +1 -1
  101. package/dist/components/form/types.d.ts +34 -0
  102. package/dist/components/form/types.d.ts.map +1 -1
  103. package/dist/context/AIWidgetProvider.d.ts +19 -0
  104. package/dist/context/AIWidgetProvider.d.ts.map +1 -1
  105. package/dist/context/AIWidgetProvider.js +19 -0
  106. package/dist/context/AIWidgetProvider.js.map +1 -1
  107. package/dist/context/hooks.d.ts +56 -0
  108. package/dist/context/hooks.d.ts.map +1 -1
  109. package/dist/context/hooks.js +56 -1
  110. package/dist/context/hooks.js.map +1 -1
  111. package/dist/features.d.ts +28 -0
  112. package/dist/features.d.ts.map +1 -1
  113. package/dist/features.js +1 -0
  114. package/dist/features.js.map +1 -1
  115. package/dist/layout.css +5 -0
  116. package/dist/regex.d.ts +2 -0
  117. package/dist/regex.d.ts.map +1 -0
  118. package/dist/regex.js +2 -0
  119. package/dist/regex.js.map +1 -0
  120. package/dist/right-panel/DefaultPanel.d.ts +3 -0
  121. package/dist/right-panel/DefaultPanel.d.ts.map +1 -1
  122. package/dist/right-panel/DefaultPanel.js +3 -0
  123. package/dist/right-panel/DefaultPanel.js.map +1 -1
  124. package/dist/right-panel/RightPanel.d.ts +3 -0
  125. package/dist/right-panel/RightPanel.d.ts.map +1 -1
  126. package/dist/right-panel/RightPanel.js +3 -0
  127. package/dist/right-panel/RightPanel.js.map +1 -1
  128. package/dist/right-panel/RightPanelProvider.d.ts +15 -0
  129. package/dist/right-panel/RightPanelProvider.d.ts.map +1 -1
  130. package/dist/right-panel/RightPanelProvider.js.map +1 -1
  131. package/dist/right-panel/constants.d.ts +2 -0
  132. package/dist/right-panel/constants.d.ts.map +1 -0
  133. package/dist/right-panel/constants.js +2 -0
  134. package/dist/right-panel/constants.js.map +1 -0
  135. package/dist/right-panel/hooks.d.ts +6 -0
  136. package/dist/right-panel/hooks.d.ts.map +1 -1
  137. package/dist/right-panel/hooks.js +8 -1
  138. package/dist/right-panel/hooks.js.map +1 -1
  139. package/dist/state/ChatEntry.d.ts +58 -2
  140. package/dist/state/ChatEntry.d.ts.map +1 -1
  141. package/dist/state/ChatEntry.js +20 -1
  142. package/dist/state/ChatEntry.js.map +1 -1
  143. package/dist/state/ChatState.d.ts +73 -8
  144. package/dist/state/ChatState.d.ts.map +1 -1
  145. package/dist/state/ChatState.js +24 -7
  146. package/dist/state/ChatState.js.map +1 -1
  147. package/dist/state/ChatTabsController.d.ts +31 -0
  148. package/dist/state/ChatTabsController.d.ts.map +1 -1
  149. package/dist/state/ChatTabsController.js +31 -0
  150. package/dist/state/ChatTabsController.js.map +1 -1
  151. package/dist/state/ObservableState.d.ts +14 -0
  152. package/dist/state/ObservableState.d.ts.map +1 -1
  153. package/dist/state/ObservableState.js +14 -0
  154. package/dist/state/ObservableState.js.map +1 -1
  155. package/dist/state/WidgetState.d.ts +5 -0
  156. package/dist/state/WidgetState.d.ts.map +1 -1
  157. package/dist/state/WidgetState.js +5 -0
  158. package/dist/state/WidgetState.js.map +1 -1
  159. package/dist/types.d.ts +10 -0
  160. package/dist/types.d.ts.map +1 -1
  161. package/dist/utils/chat.d.ts +13 -0
  162. package/dist/utils/chat.d.ts.map +1 -1
  163. package/dist/utils/chat.js +15 -1
  164. package/dist/utils/chat.js.map +1 -1
  165. package/dist/utils/date.d.ts +25 -0
  166. package/dist/utils/date.d.ts.map +1 -1
  167. package/dist/utils/date.js +25 -0
  168. package/dist/utils/date.js.map +1 -1
  169. package/dist/utils/download.d.ts +5 -0
  170. package/dist/utils/download.d.ts.map +1 -1
  171. package/dist/utils/download.js +5 -0
  172. package/dist/utils/download.js.map +1 -1
  173. package/dist/utils/knowledge-source.d.ts +10 -0
  174. package/dist/utils/knowledge-source.d.ts.map +1 -1
  175. package/dist/utils/knowledge-source.js +16 -0
  176. package/dist/utils/knowledge-source.js.map +1 -1
  177. package/dist/utils/string.d.ts +5 -0
  178. package/dist/utils/string.d.ts.map +1 -1
  179. package/dist/utils/string.js +5 -1
  180. package/dist/utils/string.js.map +1 -1
  181. package/dist/utils/url.d.ts +2 -0
  182. package/dist/utils/url.d.ts.map +1 -0
  183. package/dist/utils/url.js +8 -0
  184. package/dist/utils/url.js.map +1 -0
  185. package/dist/views/Agents.js +3 -0
  186. package/dist/views/Agents.js.map +1 -1
  187. package/dist/views/Chat/AgentInfo.d.ts +3 -0
  188. package/dist/views/Chat/AgentInfo.d.ts.map +1 -1
  189. package/dist/views/Chat/AgentInfo.js +3 -0
  190. package/dist/views/Chat/AgentInfo.js.map +1 -1
  191. package/dist/views/Chat/ChatMessage.d.ts +17 -2
  192. package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
  193. package/dist/views/Chat/ChatMessage.js +9 -13
  194. package/dist/views/Chat/ChatMessage.js.map +1 -1
  195. package/dist/views/Chat/ChatMessages.d.ts +3 -0
  196. package/dist/views/Chat/ChatMessages.d.ts.map +1 -1
  197. package/dist/views/Chat/ChatMessages.js +3 -0
  198. package/dist/views/Chat/ChatMessages.js.map +1 -1
  199. package/dist/views/Chat/chat-scroll.d.ts +1 -1
  200. package/dist/views/Chat/chat-scroll.js +1 -1
  201. package/dist/views/Chat/events.d.ts +22 -0
  202. package/dist/views/Chat/events.d.ts.map +1 -0
  203. package/dist/views/Chat/events.js +66 -0
  204. package/dist/views/Chat/events.js.map +1 -0
  205. package/dist/views/Chat/index.d.ts +6 -0
  206. package/dist/views/Chat/index.d.ts.map +1 -1
  207. package/dist/views/Chat/index.js +3 -0
  208. package/dist/views/Chat/index.js.map +1 -1
  209. package/dist/views/ChatHistory/ChatHistoryPanel.d.ts +3 -0
  210. package/dist/views/ChatHistory/ChatHistoryPanel.d.ts.map +1 -1
  211. package/dist/views/ChatHistory/ChatHistoryPanel.js +5 -1
  212. package/dist/views/ChatHistory/ChatHistoryPanel.js.map +1 -1
  213. package/dist/views/ChatHistory/HistoryItem.d.ts +3 -0
  214. package/dist/views/ChatHistory/HistoryItem.d.ts.map +1 -1
  215. package/dist/views/ChatHistory/HistoryItem.js +13 -1
  216. package/dist/views/ChatHistory/HistoryItem.js.map +1 -1
  217. package/dist/views/ChatHistory/index.d.ts +10 -2
  218. package/dist/views/ChatHistory/index.d.ts.map +1 -1
  219. package/dist/views/ChatHistory/index.js +3 -0
  220. package/dist/views/ChatHistory/index.js.map +1 -1
  221. package/dist/views/ChatHistory/utils.d.ts +14 -0
  222. package/dist/views/ChatHistory/utils.d.ts.map +1 -1
  223. package/dist/views/ChatHistory/utils.js +14 -0
  224. package/dist/views/ChatHistory/utils.js.map +1 -1
  225. package/dist/views/ChatTabSelection.d.ts +3 -0
  226. package/dist/views/ChatTabSelection.d.ts.map +1 -1
  227. package/dist/views/ChatTabSelection.js +3 -0
  228. package/dist/views/ChatTabSelection.js.map +1 -1
  229. package/dist/views/Editor.d.ts +3 -0
  230. package/dist/views/Editor.d.ts.map +1 -1
  231. package/dist/views/Editor.js +4 -0
  232. package/dist/views/Editor.js.map +1 -1
  233. package/dist/views/Home.d.ts +8 -0
  234. package/dist/views/Home.d.ts.map +1 -1
  235. package/dist/views/Home.js +5 -0
  236. package/dist/views/Home.js.map +1 -1
  237. package/dist/views/KSDocument.d.ts +3 -0
  238. package/dist/views/KSDocument.d.ts.map +1 -1
  239. package/dist/views/KSDocument.js +3 -0
  240. package/dist/views/KSDocument.js.map +1 -1
  241. package/dist/views/KnowledgeSources.js +3 -0
  242. package/dist/views/KnowledgeSources.js.map +1 -1
  243. package/dist/views/MessageInput/ButtonGroup.d.ts +22 -0
  244. package/dist/views/MessageInput/ButtonGroup.d.ts.map +1 -1
  245. package/dist/views/MessageInput/ButtonGroup.js +4 -0
  246. package/dist/views/MessageInput/ButtonGroup.js.map +1 -1
  247. package/dist/views/MessageInput/InfoBar.d.ts +7 -0
  248. package/dist/views/MessageInput/InfoBar.d.ts.map +1 -1
  249. package/dist/views/MessageInput/InfoBar.js +7 -0
  250. package/dist/views/MessageInput/InfoBar.js.map +1 -1
  251. package/dist/views/MessageInput/QuickCommandSelector.d.ts +13 -0
  252. package/dist/views/MessageInput/QuickCommandSelector.d.ts.map +1 -0
  253. package/dist/views/MessageInput/QuickCommandSelector.js +141 -0
  254. package/dist/views/MessageInput/QuickCommandSelector.js.map +1 -0
  255. package/dist/views/MessageInput/index.d.ts +8 -0
  256. package/dist/views/MessageInput/index.d.ts.map +1 -1
  257. package/dist/views/MessageInput/index.js +11 -4
  258. package/dist/views/MessageInput/index.js.map +1 -1
  259. package/dist/views/MessageInput/styled.d.ts.map +1 -1
  260. package/dist/views/MessageInput/styled.js +137 -0
  261. package/dist/views/MessageInput/styled.js.map +1 -1
  262. package/dist/views/MinimizedHeader.d.ts +4 -0
  263. package/dist/views/MinimizedHeader.d.ts.map +1 -1
  264. package/dist/views/MinimizedHeader.js +4 -0
  265. package/dist/views/MinimizedHeader.js.map +1 -1
  266. package/dist/views/Stacks.d.ts +3 -0
  267. package/dist/views/Stacks.d.ts.map +1 -1
  268. package/dist/views/Stacks.js +3 -0
  269. package/dist/views/Stacks.js.map +1 -1
  270. package/dist/views/Workspaces.d.ts +3 -0
  271. package/dist/views/Workspaces.d.ts.map +1 -1
  272. package/dist/views/Workspaces.js +3 -0
  273. package/dist/views/Workspaces.js.map +1 -1
  274. package/package.json +6 -6
  275. package/src/StackspotAIWidget.tsx +23 -2
  276. package/src/chat-interceptors/CustomInputs.ts +14 -1
  277. package/src/chat-interceptors/quick-command-questions.ts +12 -2
  278. package/src/chat-interceptors/quick-commands.ts +66 -26
  279. package/src/chat-interceptors/send-message.ts +41 -11
  280. package/src/components/Accordion.tsx +10 -0
  281. package/src/components/AdaptiveTextArea.tsx +21 -4
  282. package/src/components/AutoFocus.tsx +34 -0
  283. package/src/components/Fading.tsx +66 -0
  284. package/src/components/FadingOverflow.tsx +31 -3
  285. package/src/components/FallbackBoundary/ErrorBoundary.tsx +26 -3
  286. package/src/components/FallbackBoundary/Loading.tsx +1 -1
  287. package/src/components/FallbackBoundary/index.tsx +13 -2
  288. package/src/components/HistoryList.tsx +15 -1
  289. package/src/components/IconInput.tsx +3 -0
  290. package/src/components/OverlayMenu.tsx +76 -20
  291. package/src/components/ProgressBar.tsx +23 -0
  292. package/src/components/QuickStartButton.tsx +3 -0
  293. package/src/components/RightPanelForm.tsx +15 -9
  294. package/src/components/RightPanelTabs.tsx +3 -0
  295. package/src/components/TabManager.tsx +8 -0
  296. package/src/components/Tooltip/Tooltip.tsx +47 -5
  297. package/src/components/Tooltip/TooltipAPI.ts +59 -42
  298. package/src/components/Tooltip/types.ts +13 -0
  299. package/src/components/form/DescribedCheckboxGroup.tsx +4 -0
  300. package/src/components/form/DescribedRadioGroup.tsx +4 -0
  301. package/src/components/form/types.ts +34 -0
  302. package/src/context/AIWidgetProvider.tsx +19 -0
  303. package/src/context/hooks.ts +56 -1
  304. package/src/features.ts +29 -0
  305. package/src/layout.css +5 -0
  306. package/src/regex.ts +1 -0
  307. package/src/right-panel/DefaultPanel.tsx +4 -0
  308. package/src/right-panel/RightPanel.tsx +3 -0
  309. package/src/right-panel/RightPanelProvider.tsx +15 -0
  310. package/src/right-panel/constants.ts +1 -0
  311. package/src/right-panel/hooks.tsx +8 -1
  312. package/src/state/ChatEntry.ts +60 -2
  313. package/src/state/ChatState.ts +74 -9
  314. package/src/state/ChatTabsController.ts +31 -0
  315. package/src/state/ObservableState.ts +14 -0
  316. package/src/state/WidgetState.ts +5 -0
  317. package/src/types.ts +10 -0
  318. package/src/utils/chat.ts +15 -1
  319. package/src/utils/date.ts +25 -1
  320. package/src/utils/download.ts +5 -0
  321. package/src/utils/knowledge-source.ts +16 -0
  322. package/src/utils/string.ts +5 -1
  323. package/src/utils/url.ts +8 -0
  324. package/src/views/Agents.tsx +3 -0
  325. package/src/views/Chat/AgentInfo.tsx +3 -0
  326. package/src/views/Chat/ChatMessage.tsx +31 -18
  327. package/src/views/Chat/ChatMessages.tsx +3 -0
  328. package/src/views/Chat/chat-scroll.ts +1 -1
  329. package/src/views/Chat/events.ts +69 -0
  330. package/src/views/Chat/index.tsx +6 -0
  331. package/src/views/ChatHistory/ChatHistoryPanel.tsx +6 -2
  332. package/src/views/ChatHistory/HistoryItem.tsx +14 -2
  333. package/src/views/ChatHistory/index.tsx +11 -1
  334. package/src/views/ChatHistory/utils.ts +14 -0
  335. package/src/views/ChatTabSelection.tsx +3 -0
  336. package/src/views/Editor.tsx +4 -0
  337. package/src/views/Home.tsx +8 -0
  338. package/src/views/KSDocument.tsx +3 -0
  339. package/src/views/KnowledgeSources.tsx +3 -0
  340. package/src/views/MessageInput/ButtonGroup.tsx +22 -0
  341. package/src/views/MessageInput/InfoBar.tsx +7 -0
  342. package/src/views/MessageInput/QuickCommandSelector.tsx +217 -0
  343. package/src/views/MessageInput/index.tsx +16 -4
  344. package/src/views/MessageInput/styled.ts +137 -0
  345. package/src/views/MinimizedHeader.tsx +4 -0
  346. package/src/views/Stacks.tsx +3 -0
  347. package/src/views/Workspaces.tsx +3 -0
@@ -1,10 +1,24 @@
1
1
  export type ObservableStateListener<T, K extends keyof T> = (value: T[K]) => void;
2
+ /**
3
+ * A generic representation of a state that can be observed for changes.
4
+ *
5
+ * Building our own state instead of using React is important because:
6
+ * 1. We need to be able to control it even outside the react context.
7
+ * 2. We need performance, we can't have everything re-rendering because something changes. We need to be careful to watch only the
8
+ * properties we need in a component.
9
+ */
2
10
  export declare class ObservableState<T> {
3
11
  protected state: T;
4
12
  private listeners;
5
13
  constructor(initial: T);
6
14
  set<K extends keyof T>(key: K, value: T[K]): void;
7
15
  get<K extends keyof T>(key: K): T[K];
16
+ /**
17
+ * Watches for changes in the state referred by the provided key.
18
+ * @param key the key of the state to watch.
19
+ * @param listener a function called whenever the value of the state referred by `key` changes.
20
+ * @returns a function to remove the listener.
21
+ */
8
22
  onChange<K extends keyof T>(key: K, listener: (value: T[K]) => void): () => void;
9
23
  }
10
24
  //# sourceMappingURL=ObservableState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObservableState.d.ts","sourceRoot":"","sources":["../../src/state/ObservableState.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,uBAAuB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;AAMjF,qBAAa,eAAe,CAAC,CAAC;IAC5B,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IAClB,OAAO,CAAC,SAAS,CAAmB;gBAExB,OAAO,EAAE,CAAC;IAItB,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAO1C,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAIpC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;CAOpE"}
1
+ {"version":3,"file":"ObservableState.d.ts","sourceRoot":"","sources":["../../src/state/ObservableState.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,uBAAuB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;AAMjF;;;;;;;GAOG;AACH,qBAAa,eAAe,CAAC,CAAC;IAC5B,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IAClB,OAAO,CAAC,SAAS,CAAmB;gBAExB,OAAO,EAAE,CAAC;IAItB,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAO1C,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAIpC;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;CAOpE"}
@@ -1,4 +1,12 @@
1
1
  import { pull } from 'lodash';
2
+ /**
3
+ * A generic representation of a state that can be observed for changes.
4
+ *
5
+ * Building our own state instead of using React is important because:
6
+ * 1. We need to be able to control it even outside the react context.
7
+ * 2. We need performance, we can't have everything re-rendering because something changes. We need to be careful to watch only the
8
+ * properties we need in a component.
9
+ */
2
10
  export class ObservableState {
3
11
  state;
4
12
  listeners = {};
@@ -14,6 +22,12 @@ export class ObservableState {
14
22
  get(key) {
15
23
  return this.state[key];
16
24
  }
25
+ /**
26
+ * Watches for changes in the state referred by the provided key.
27
+ * @param key the key of the state to watch.
28
+ * @param listener a function called whenever the value of the state referred by `key` changes.
29
+ * @returns a function to remove the listener.
30
+ */
17
31
  onChange(key, listener) {
18
32
  this.listeners[key] ??= [];
19
33
  this.listeners[key].push(listener);
@@ -1 +1 @@
1
- {"version":3,"file":"ObservableState.js","sourceRoot":"","sources":["../../src/state/ObservableState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAQ7B,MAAM,OAAO,eAAe;IAChB,KAAK,CAAG;IACV,SAAS,GAAiB,EAAE,CAAA;IAEpC,YAAY,OAAU;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,CAAA;IAC7B,CAAC;IAED,GAAG,CAAoB,GAAM,EAAE,KAAW;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,GAAG,CAAoB,GAAM;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,QAAQ,CAAoB,GAAM,EAAE,QAA+B;QACjE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAE,EAAE,QAAQ,CAAC,CAAA;QACtC,CAAC,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"ObservableState.js","sourceRoot":"","sources":["../../src/state/ObservableState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAQ7B;;;;;;;GAOG;AACH,MAAM,OAAO,eAAe;IAChB,KAAK,CAAG;IACV,SAAS,GAAiB,EAAE,CAAA;IAEpC,YAAY,OAAU;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,CAAA;IAC7B,CAAC;IAED,GAAG,CAAoB,GAAM,EAAE,KAAW;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,GAAG,CAAoB,GAAM;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAoB,GAAM,EAAE,QAA+B;QACjE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAE,EAAE,QAAQ,CAAC,CAAA;QACtC,CAAC,CAAA;IACH,CAAC;CACF"}
@@ -19,6 +19,11 @@ export interface WidgetProperties {
19
19
  */
20
20
  isMinimized?: boolean;
21
21
  }
22
+ /**
23
+ * Holds the full state of the AI Chat Widget.
24
+ *
25
+ * This can be used to fully control the chat widget. This is the model of what gets rendered to the screen.
26
+ */
22
27
  export declare class WidgetState extends ObservableState<WidgetProperties> {
23
28
  readonly chatTabs: ChatTabsController;
24
29
  constructor(initial?: WidgetProperties, chatTabs?: ChatTabsController);
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetState.d.ts","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAAA,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;CACvB;AAED,qBAAa,WAAY,SAAQ,eAAe,CAAC,gBAAgB,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAA;gBAEzB,OAAO,GAAE,gBAAqB,EAAE,QAAQ,CAAC,EAAE,kBAAkB;CAI1E"}
1
+ {"version":3,"file":"WidgetState.d.ts","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAAA,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;CACvB;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,eAAe,CAAC,gBAAgB,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAA;gBAEzB,OAAO,GAAE,gBAAqB,EAAE,QAAQ,CAAC,EAAE,kBAAkB;CAI1E"}
@@ -1,5 +1,10 @@
1
1
  import { ChatTabsController } from './ChatTabsController.js';
2
2
  import { ObservableState } from './ObservableState.js';
3
+ /**
4
+ * Holds the full state of the AI Chat Widget.
5
+ *
6
+ * This can be used to fully control the chat widget. This is the model of what gets rendered to the screen.
7
+ */
3
8
  export class WidgetState extends ObservableState {
4
9
  chatTabs;
5
10
  constructor(initial = {}, chatTabs) {
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetState.js","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAiBnD,MAAM,OAAO,WAAY,SAAQ,eAAiC;IACvD,QAAQ,CAAoB;IAErC,YAAY,UAA4B,EAAE,EAAE,QAA6B;QACvE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,kBAAkB,EAAE,CAAA;IACtD,CAAC;CACF"}
1
+ {"version":3,"file":"WidgetState.js","sourceRoot":"","sources":["../../src/state/WidgetState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAiBnD;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,eAAiC;IACvD,QAAQ,CAAoB;IAErC,YAAY,UAA4B,EAAE,EAAE,QAA6B;QACvE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,kBAAkB,EAAE,CAAA;IACtD,CAAC;CACF"}
package/dist/types.d.ts CHANGED
@@ -10,8 +10,18 @@ export interface ButtonAction extends WithStyle {
10
10
  onClick: () => any;
11
11
  }
12
12
  export interface MinimizedActions {
13
+ /**
14
+ * When the chat is minimized, a button to collapse the window is rendered. This function is called whenever this button is clicked.
15
+ */
13
16
  onCollapse?: () => void;
17
+ /**
18
+ * If `onCollapse` is clicked, the button to collapse is replaced by a button to expand. This function is called whenever the expand
19
+ * button is clicked.
20
+ */
14
21
  onExpand?: () => void;
22
+ /**
23
+ * When the chat is minimized, a button to close the window is rendered. This function is called whenever this button is clicked.
24
+ */
15
25
  onClose?: () => void;
16
26
  }
17
27
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS;IAC/C,QAAQ,CAAC,EAAE,CAAC,CAAC;CACd;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE/G,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS;IAC/C,QAAQ,CAAC,EAAE,CAAC,CAAC;CACd;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE/G,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB"}
@@ -1,6 +1,19 @@
1
1
  import { FixedChatRequest } from '@stack-spot/portal-network';
2
2
  import { ChatState, MessageInterceptor } from '../state/ChatState.js';
3
3
  import { WidgetState } from '../state/WidgetState.js';
4
+ /**
5
+ * Utility for creating a new chat in the chat tabs.
6
+ * @param widget the widget state.
7
+ * @param interceptors the interceptors to add the chat.
8
+ */
4
9
  export declare function createNewChat(widget: WidgetState, interceptors: MessageInterceptor[]): void;
10
+ /**
11
+ * Builds a conversation context from a ChatState.
12
+ *
13
+ * The conversation context is needed by most backend services.
14
+ *
15
+ * @param state the ChatState to build the context from.
16
+ * @returns the conversation context ready to be sent to the backend.
17
+ */
5
18
  export declare function buildConversationContext(state: ChatState): FixedChatRequest['context'];
6
19
  //# sourceMappingURL=chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/utils/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAKlD,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAKpF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CActF"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/utils/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAMlD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAKpF;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CActF"}
@@ -1,13 +1,27 @@
1
1
  import { ulid } from 'ulid';
2
2
  import { ChatState } from '../state/ChatState.js';
3
3
  import { defaultLanguage } from './programming-languages.js';
4
+ // helps with naming new chats
4
5
  let next = 1;
6
+ /**
7
+ * Utility for creating a new chat in the chat tabs.
8
+ * @param widget the widget state.
9
+ * @param interceptors the interceptors to add the chat.
10
+ */
5
11
  export function createNewChat(widget, interceptors) {
6
12
  const id = ulid();
7
13
  widget.chatTabs.add(new ChatState({ id, initial: { label: `Chat ${next}` }, interceptors }));
8
14
  widget.chatTabs.select(id);
9
15
  next++;
10
16
  }
17
+ /**
18
+ * Builds a conversation context from a ChatState.
19
+ *
20
+ * The conversation context is needed by most backend services.
21
+ *
22
+ * @param state the ChatState to build the context from.
23
+ * @returns the conversation context ready to be sent to the backend.
24
+ */
11
25
  export function buildConversationContext(state) {
12
26
  return {
13
27
  workspace: state.get('workspace')?.id,
@@ -20,7 +34,7 @@ export function buildConversationContext(state) {
20
34
  os: navigator.userAgent,
21
35
  platform: 'web-widget',
22
36
  platform_version: navigator.userAgent,
23
- stackspot_ai_version: 'alpha',
37
+ stackspot_ai_version: '1.0.0',
24
38
  };
25
39
  }
26
40
  //# sourceMappingURL=chat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/utils/chat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAsB,MAAM,oBAAoB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,IAAI,IAAI,GAAG,CAAC,CAAA;AAEZ,MAAM,UAAU,aAAa,CAAC,MAAmB,EAAE,YAAkC;IACnF,MAAM,EAAE,GAAG,IAAI,EAAE,CAAA;IACjB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;IAC5F,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC1B,IAAI,EAAE,CAAA;AACR,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAgB;IACvD,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE;QACrC,eAAe,EAAE,KAAK,CAAC,EAAE;QACzB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;QAChC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAClE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;QAChC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO;QAC3C,EAAE,EAAE,SAAS,CAAC,SAAS;QACvB,QAAQ,EAAE,YAAY;QACtB,gBAAgB,EAAE,SAAS,CAAC,SAAS;QACrC,oBAAoB,EAAE,OAAO;KAC9B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/utils/chat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAsB,MAAM,oBAAoB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,8BAA8B;AAC9B,IAAI,IAAI,GAAG,CAAC,CAAA;AAEZ;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmB,EAAE,YAAkC;IACnF,MAAM,EAAE,GAAG,IAAI,EAAE,CAAA;IACjB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;IAC5F,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC1B,IAAI,EAAE,CAAA;AACR,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAgB;IACvD,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE;QACrC,eAAe,EAAE,KAAK,CAAC,EAAE;QACzB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;QAChC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAClE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;QAChC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO;QAC3C,EAAE,EAAE,SAAS,CAAC,SAAS;QACvB,QAAQ,EAAE,YAAY;QACtB,gBAAgB,EAAE,SAAS,CAAC,SAAS;QACrC,oBAAoB,EAAE,OAAO;KAC9B,CAAA;AACH,CAAC"}
@@ -1,7 +1,32 @@
1
1
  import { Language } from '@stack-spot/portal-translate';
2
+ /**
3
+ * Formats a date to show at the footer of a chat message.
4
+ *
5
+ * @example
6
+ * - Today, 14:11
7
+ * - Yesterday, 09:00
8
+ * - October 26 at 10:53
9
+ * @param date the Date to format.
10
+ * @param language the language to use.
11
+ * @returns the formatted date.
12
+ */
2
13
  export declare function formatDateForChatMessage(date: Date, language?: Language): string;
14
+ /**
15
+ * Uses the current language to format dates.
16
+ * @returns an object containing functions for formatting dates.
17
+ */
3
18
  export declare function useDateFormatter(): {
19
+ /**
20
+ * @param date the date to format using {@link formatDateForChatMessage}.
21
+ * @returns the formatted date according to the current language. If the language changes, this result also changes.
22
+ */
4
23
  formatForChatMessage: (date: Date) => string;
5
24
  };
25
+ /**
26
+ * Subtracts `numberOfDays` from `date`.
27
+ * @param date
28
+ * @param numberOfDays
29
+ * @returns the resulting Date object.
30
+ */
6
31
  export declare function subtractDays(date: Date, numberOfDays: number): Date;
7
32
  //# sourceMappingURL=date.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAA4B,MAAM,8BAA8B,CAAA;AAW7F,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAE,QAAwB,UAUtF;AAED,wBAAgB,gBAAgB;iCAGC,IAAI;EAEpC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,QAE5D"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAA4B,MAAM,8BAA8B,CAAA;AAU7F;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAE,QAAwB,UAUtF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB;IAG5B;;;OAGG;iCAC0B,IAAI;EAEpC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,QAE5D"}
@@ -6,6 +6,17 @@ const fullFormatOptions = {
6
6
  day: '2-digit',
7
7
  month: 'long',
8
8
  };
9
+ /**
10
+ * Formats a date to show at the footer of a chat message.
11
+ *
12
+ * @example
13
+ * - Today, 14:11
14
+ * - Yesterday, 09:00
15
+ * - October 26 at 10:53
16
+ * @param date the Date to format.
17
+ * @param language the language to use.
18
+ * @returns the formatted date.
19
+ */
9
20
  export function formatDateForChatMessage(date, language = getLanguage()) {
10
21
  const formatted = [];
11
22
  const now = new Date();
@@ -19,12 +30,26 @@ export function formatDateForChatMessage(date, language = getLanguage()) {
19
30
  formatted.push(date.toLocaleString([], options));
20
31
  return formatted.join(', ');
21
32
  }
33
+ /**
34
+ * Uses the current language to format dates.
35
+ * @returns an object containing functions for formatting dates.
36
+ */
22
37
  export function useDateFormatter() {
23
38
  const language = useLanguage();
24
39
  return {
40
+ /**
41
+ * @param date the date to format using {@link formatDateForChatMessage}.
42
+ * @returns the formatted date according to the current language. If the language changes, this result also changes.
43
+ */
25
44
  formatForChatMessage: (date) => formatDateForChatMessage(date, language),
26
45
  };
27
46
  }
47
+ /**
48
+ * Subtracts `numberOfDays` from `date`.
49
+ * @param date
50
+ * @param numberOfDays
51
+ * @returns the resulting Date object.
52
+ */
28
53
  export function subtractDays(date, numberOfDays) {
29
54
  return new Date(date.getTime() - 24 * numberOfDays * 60 * 60000);
30
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE7F,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAClC,MAAM,iBAAiB,GAA+B,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAC,SAAS,EAAE,CAAA;AAC3F,MAAM,iBAAiB,GAA+B;IACpD,GAAG,iBAAiB;IACpB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,MAAM;CACd,CAAA;AAGD,MAAM,UAAU,wBAAwB,CAAC,IAAU,EAAE,WAAqB,WAAW,EAAE;IACrF,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,YAAY,EAAE,CAAA;IAC1D,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAA;IAC3D,IAAI,OAAO;QAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;SAClD,IAAI,WAAW;QAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;IACpE,MAAM,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAC9E,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IAChD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,OAAO;QACL,oBAAoB,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC;KAC/E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAU,EAAE,YAAoB;IAC3D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW;KACvB;IACD,EAAE,EAAE;QACF,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,OAAO;KACnB;CACmB,CAAA"}
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE7F,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAClC,MAAM,iBAAiB,GAA+B,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAC,SAAS,EAAE,CAAA;AAC3F,MAAM,iBAAiB,GAA+B;IACpD,GAAG,iBAAiB;IACpB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,MAAM;CACd,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAU,EAAE,WAAqB,WAAW,EAAE;IACrF,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,YAAY,EAAE,CAAA;IAC1D,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAA;IAC3D,IAAI,OAAO;QAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;SAClD,IAAI,WAAW;QAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;IACpE,MAAM,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAC9E,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IAChD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,OAAO;QACL;;;WAGG;QACH,oBAAoB,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC;KAC/E,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAU,EAAE,YAAoB;IAC3D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW;KACvB;IACD,EAAE,EAAE;QACF,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,OAAO;KACnB;CACmB,CAAA"}
@@ -1,2 +1,7 @@
1
+ /**
2
+ * Downloads `text` as a file named `filename`.
3
+ * @param filename the name of the file.
4
+ * @param text the content of the file.
5
+ */
1
6
  export declare function download(filename: string, text: string): void;
2
7
  //# sourceMappingURL=download.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/utils/download.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAWtD"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/utils/download.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAWtD"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Downloads `text` as a file named `filename`.
3
+ * @param filename the name of the file.
4
+ * @param text the content of the file.
5
+ */
1
6
  export function download(filename, text) {
2
7
  const element = document.createElement('a');
3
8
  element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/utils/download.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,IAAY;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC3C,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,gCAAgC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;IACzF,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAE1C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;IAC9B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAElC,OAAO,CAAC,KAAK,EAAE,CAAA;IAEf,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/utils/download.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,IAAY;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC3C,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,gCAAgC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;IACzF,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAE1C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;IAC9B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAElC,OAAO,CAAC,KAAK,EAAE,CAAA;IAEf,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC"}
@@ -1,9 +1,19 @@
1
1
  import { DocumentResponse, SourceKnowledgeSource, SourceProjectFile4, SourceStackAi } from '@stack-spot/portal-network/api/ai';
2
2
  import { KnowledgeSource } from '../state/ChatEntry.js';
3
+ /**
4
+ * Extracts the important part of a KS document to show for the user.
5
+ * @param document the document to parse.
6
+ * @returns an object containing the programming language of the KS, its code snippet and a textual description.
7
+ */
3
8
  export declare function extractCodeFromKSDocument(document: DocumentResponse): {
4
9
  language?: string;
5
10
  snippet: string;
6
11
  text?: string;
7
12
  };
13
+ /**
14
+ * Extracts all knowledge sources from a mix of sources that can be used to shape an AI agent's answer.
15
+ * @param sources a list with sources of any kind.
16
+ * @returns a list of knowledge sources in the format expected by the chat.
17
+ */
8
18
  export declare function genericSourcesToKnowledgeSources(sources: (SourceStackAi | SourceKnowledgeSource | SourceProjectFile4)[] | undefined): KnowledgeSource[] | undefined;
9
19
  //# sourceMappingURL=knowledge-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-source.d.ts","sourceRoot":"","sources":["../../src/utils/knowledge-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAC9H,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAsBpD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAoB3H;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,CAAC,aAAa,GAAG,qBAAqB,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,GAClF,eAAe,EAAE,GAAG,SAAS,CAK/B"}
1
+ {"version":3,"file":"knowledge-source.d.ts","sourceRoot":"","sources":["../../src/utils/knowledge-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAC9H,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AA4BpD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAoB3H;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,CAAC,aAAa,GAAG,qBAAqB,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,GAClF,eAAe,EAAE,GAAG,SAAS,CAK/B"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * A document can come from the backend as something that resembles a JSON, but it is not. This function attempts to solve some issues and
3
+ * still interpret as a JSON.
4
+ * @param str the malformed JSON.
5
+ * @returns the object corresponding to parsed JSON or undefined if it wasn't possible to fix it.
6
+ */
1
7
  function attemptToParseMalFormedJson(str) {
2
8
  try {
3
9
  return JSON.parse(str);
@@ -16,6 +22,11 @@ function attemptToParseMalFormedJson(str) {
16
22
  }
17
23
  }
18
24
  }
25
+ /**
26
+ * Extracts the important part of a KS document to show for the user.
27
+ * @param document the document to parse.
28
+ * @returns an object containing the programming language of the KS, its code snippet and a textual description.
29
+ */
19
30
  export function extractCodeFromKSDocument(document) {
20
31
  const language = document?.metadata?.language;
21
32
  if (language) {
@@ -35,6 +46,11 @@ export function extractCodeFromKSDocument(document) {
35
46
  }
36
47
  return typeof document === 'object' ? { language: 'json', snippet: JSON.stringify(document, null, 2) } : { snippet: String(document) };
37
48
  }
49
+ /**
50
+ * Extracts all knowledge sources from a mix of sources that can be used to shape an AI agent's answer.
51
+ * @param sources a list with sources of any kind.
52
+ * @returns a list of knowledge sources in the format expected by the chat.
53
+ */
38
54
  export function genericSourcesToKnowledgeSources(sources) {
39
55
  return sources?.filter(s => s.type === 'knowledge_source').map(ks => {
40
56
  const { document_id: documentId, document_score: documentScore, name, slug } = ks;
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-source.js","sourceRoot":"","sources":["../../src/utils/knowledge-source.ts"],"names":[],"mappings":"AAGA,SAAS,2BAA2B,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,GAAG;iBACd,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;iBACpB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;iBAClB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,OAAO,CACN,WAAW,EACX,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAClH,CAAA;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAA0B;IAClE,MAAM,QAAQ,GAAI,QAAQ,EAAE,QAAgB,EAAE,QAAQ,CAAA;IACtD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,WAAW,GAAW,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAA;QACxD,IAAI,IAAI,GAAuB,SAAS,CAAA;QACxC,IAAI,OAAO,GAAG,WAAW,CAAA;QACzB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACnD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACf,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACjE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAA;IACrH,CAAC;IAED,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;AACxI,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAmF;IAEnF,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAClE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAA2B,CAAA;QAC1G,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"knowledge-source.js","sourceRoot":"","sources":["../../src/utils/knowledge-source.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,SAAS,2BAA2B,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,GAAG;iBACd,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;iBACpB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;iBAClB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,OAAO,CACN,WAAW,EACX,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAClH,CAAA;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAA0B;IAClE,MAAM,QAAQ,GAAI,QAAQ,EAAE,QAAgB,EAAE,QAAQ,CAAA;IACtD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,WAAW,GAAW,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAA;QACxD,IAAI,IAAI,GAAuB,SAAS,CAAA;QACxC,IAAI,OAAO,GAAG,WAAW,CAAA;QACzB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACnD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACf,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACjE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAA;IACrH,CAAC;IAED,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;AACxI,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAC9C,OAAmF;IAEnF,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAClE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAA2B,CAAA;QAC1G,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,2 +1,7 @@
1
+ /**
2
+ * Gets the size of a string removing control characters and spaces
3
+ * @param str the string to count.
4
+ * @returns the count value.
5
+ */
1
6
  export declare function getSizeOfString(str: string): number;
2
7
  //# sourceMappingURL=string.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/utils/string.ts"],"names":[],"mappings":"AACA,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAInD"}
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/utils/string.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAInD"}
@@ -1,4 +1,8 @@
1
- // gets the size of a string removing control characters and spaces
1
+ /**
2
+ * Gets the size of a string removing control characters and spaces
3
+ * @param str the string to count.
4
+ * @returns the count value.
5
+ */
2
6
  export function getSizeOfString(str) {
3
7
  // eslint-disable-next-line no-control-regex
4
8
  const withoutSpacesAndControls = str.replace(/[\u0000-\u001F\u007F-\u009F\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069\s]/g, '');
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/utils/string.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,4CAA4C;IAC5C,MAAM,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAAC,6EAA6E,EAAE,EAAE,CAAC,CAAA;IAC/H,OAAO,wBAAwB,CAAC,MAAM,CAAA;AACxC,CAAC"}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/utils/string.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,4CAA4C;IAC5C,MAAM,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAAC,6EAA6E,EAAE,EAAE,CAAC,CAAA;IAC/H,OAAO,wBAAwB,CAAC,MAAM,CAAA;AACxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function getUrlToStackSpotAI(): string;
2
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":"AAIA,wBAAgB,mBAAmB,WAGlC"}
@@ -0,0 +1,8 @@
1
+ const stkAIDomain = /^https:\/\/ai(\.\w+)?\.stackspot\.com$/;
2
+ const localhostDomain = /^http:\/\/localhost:\d+$/;
3
+ const aiPrd = 'https://ai.stackspot.com';
4
+ export function getUrlToStackSpotAI() {
5
+ const current = location.origin;
6
+ return stkAIDomain.test(current) || localhostDomain.test(current) ? current : aiPrd;
7
+ }
8
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,wCAAwC,CAAA;AAC5D,MAAM,eAAe,GAAG,0BAA0B,CAAA;AAClD,MAAM,KAAK,GAAG,0BAA0B,CAAA;AAExC,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC/B,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;AACrF,CAAC"}
@@ -74,6 +74,9 @@ export const Agents = () => {
74
74
  }, [panel, t]);
75
75
  return null;
76
76
  };
77
+ /**
78
+ * Renders the Agent selection form in the Right Panel if this is the panel that is currently opened.
79
+ */
77
80
  const AgentsPanel = () => {
78
81
  const t = useTranslate(dictionary);
79
82
  const chat = useCurrentChat();
@@ -1 +1 @@
1
- {"version":3,"file":"Agents.js","sourceRoot":"","sources":["../../src/views/Agents.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agents.js","sourceRoot":"","sources":["../../src/views/Agents.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@ import { LabeledWithImage } from '../../state/types.js';
2
2
  interface Props {
3
3
  agent?: LabeledWithImage;
4
4
  }
5
+ /**
6
+ * Renders the avatar of an agent in a message.
7
+ */
5
8
  export declare const AgentInfo: ({ agent }: Props) => import("react/jsx-runtime").JSX.Element;
6
9
  export {};
7
10
  //# sourceMappingURL=AgentInfo.d.ts.map
@@ -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,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,cAAe,KAAK,4CAQzC,CAAA"}
@@ -1,6 +1,9 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Text } from '@citric/core';
3
3
  import { MiniLogo } from '@stack-spot/portal-components/svg';
4
+ /**
5
+ * Renders the avatar of an agent in a message.
6
+ */
4
7
  export const AgentInfo = ({ agent }) => (_jsxs(_Fragment, { children: [agent?.image
5
8
  ? _jsx("img", { src: agent.image, className: "custom-agent-image" })
6
9
  : _jsx("div", { className: "default-image-wrapper", children: _jsx(MiniLogo, { className: "agent-image" }) }), _jsx(Text, { appearance: "body2", children: agent?.label || 'Stackspot AI' })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"AgentInfo.js","sourceRoot":"","sources":["../../../src/views/Chat/AgentInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAO5D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAS,EAAE,EAAE,CAAC,CAC7C,8BACG,KAAK,EAAE,KAAK;YACX,CAAC,CAAC,cAAK,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAC,oBAAoB,GAAG;YAC1D,CAAC,CAAC,cAAK,SAAS,EAAC,uBAAuB,YAAC,KAAC,QAAQ,IAAC,SAAS,EAAC,aAAa,GAAG,GAAM,EAErF,KAAC,IAAI,IAAC,UAAU,EAAC,OAAO,YAAE,KAAK,EAAE,KAAK,IAAI,cAAc,GAAQ,IAC/D,CACJ,CAAA"}
1
+ {"version":3,"file":"AgentInfo.js","sourceRoot":"","sources":["../../../src/views/Chat/AgentInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAO5D;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAS,EAAE,EAAE,CAAC,CAC7C,8BACG,KAAK,EAAE,KAAK;YACX,CAAC,CAAC,cAAK,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAC,oBAAoB,GAAG;YAC1D,CAAC,CAAC,cAAK,SAAS,EAAC,uBAAuB,YAAC,KAAC,QAAQ,IAAC,SAAS,EAAC,aAAa,GAAG,GAAM,EAErF,KAAC,IAAI,IAAC,UAAU,EAAC,OAAO,YAAE,KAAK,EAAE,KAAK,IAAI,cAAc,GAAQ,IAC/D,CACJ,CAAA"}
@@ -1,7 +1,22 @@
1
1
  import { ChatEntry } from '../../state/ChatEntry.js';
2
- export declare const ChatMessage: ({ message, username, isLast }: {
2
+ interface Props {
3
+ /**
4
+ * The ChatEntry to render.
5
+ */
3
6
  message: ChatEntry;
7
+ /**
8
+ * The name of the user currently logged in (will be used if the agent type of the message is "user").
9
+ */
4
10
  username: string;
11
+ /**
12
+ * Whether or not this is the last message in the chat. This is important for disabling action buttons in messages that are no longer
13
+ * relevant.
14
+ */
5
15
  isLast: boolean;
6
- }) => "" | import("react/jsx-runtime").JSX.Element | undefined;
16
+ }
17
+ /**
18
+ * Renders a message (ChatEntry) in the chat.
19
+ */
20
+ export declare const ChatMessage: ({ message, username, isLast }: Props) => "" | import("react/jsx-runtime").JSX.Element | undefined;
21
+ export {};
7
22
  //# sourceMappingURL=ChatMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAqC,MAAM,uBAAuB,CAAA;AAKpF,eAAO,MAAM,WAAW,kCAAmC;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,6DAkHnH,CAAA"}
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,6DA4G/D,CAAA"}