@stack-spot/ai-chat-widget 1.8.1 → 1.8.3

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 (404) hide show
  1. package/dist/AbortedError.d.ts +5 -0
  2. package/dist/AbortedError.d.ts.map +1 -0
  3. package/dist/AbortedError.js +7 -0
  4. package/dist/AbortedError.js.map +1 -0
  5. package/dist/StackspotAIWidget.d.ts +23 -0
  6. package/dist/StackspotAIWidget.d.ts.map +1 -0
  7. package/dist/StackspotAIWidget.js +35 -0
  8. package/dist/StackspotAIWidget.js.map +1 -0
  9. package/dist/app-metadata.json +151 -0
  10. package/dist/chat-interceptors/CustomInputs.d.ts +22 -0
  11. package/dist/chat-interceptors/CustomInputs.d.ts.map +1 -0
  12. package/dist/chat-interceptors/CustomInputs.js +71 -0
  13. package/dist/chat-interceptors/CustomInputs.js.map +1 -0
  14. package/dist/chat-interceptors/quick-command-questions.d.ts +14 -0
  15. package/dist/chat-interceptors/quick-command-questions.d.ts.map +1 -0
  16. package/dist/chat-interceptors/quick-command-questions.js +28 -0
  17. package/dist/chat-interceptors/quick-command-questions.js.map +1 -0
  18. package/dist/chat-interceptors/quick-commands.d.ts +17 -0
  19. package/dist/chat-interceptors/quick-commands.d.ts.map +1 -0
  20. package/dist/chat-interceptors/quick-commands.js +292 -0
  21. package/dist/chat-interceptors/quick-commands.js.map +1 -0
  22. package/dist/chat-interceptors/send-message.d.ts +14 -0
  23. package/dist/chat-interceptors/send-message.d.ts.map +1 -0
  24. package/dist/chat-interceptors/send-message.js +96 -0
  25. package/dist/chat-interceptors/send-message.js.map +1 -0
  26. package/dist/components/Accordion.d.ts +20 -0
  27. package/dist/components/Accordion.d.ts.map +1 -0
  28. package/dist/components/Accordion.js +49 -0
  29. package/dist/components/Accordion.js.map +1 -0
  30. package/dist/components/AdaptiveTextArea.d.ts +22 -0
  31. package/dist/components/AdaptiveTextArea.d.ts.map +1 -0
  32. package/dist/components/AdaptiveTextArea.js +39 -0
  33. package/dist/components/AdaptiveTextArea.js.map +1 -0
  34. package/dist/components/AutoFocus.d.ts +23 -0
  35. package/dist/components/AutoFocus.d.ts.map +1 -0
  36. package/dist/components/AutoFocus.js +23 -0
  37. package/dist/components/AutoFocus.js.map +1 -0
  38. package/dist/components/Code.d.ts +19 -0
  39. package/dist/components/Code.d.ts.map +1 -0
  40. package/dist/components/Code.js +118 -0
  41. package/dist/components/Code.js.map +1 -0
  42. package/dist/components/Fading.d.ts +32 -0
  43. package/dist/components/Fading.d.ts.map +1 -0
  44. package/dist/components/Fading.js +33 -0
  45. package/dist/components/Fading.js.map +1 -0
  46. package/dist/components/FadingOverflow.d.ts +37 -0
  47. package/dist/components/FadingOverflow.d.ts.map +1 -0
  48. package/dist/components/FadingOverflow.js +225 -0
  49. package/dist/components/FadingOverflow.js.map +1 -0
  50. package/dist/components/FallbackBoundary/ErrorBoundary.d.ts +33 -0
  51. package/dist/components/FallbackBoundary/ErrorBoundary.d.ts.map +1 -0
  52. package/dist/components/FallbackBoundary/ErrorBoundary.js +52 -0
  53. package/dist/components/FallbackBoundary/ErrorBoundary.js.map +1 -0
  54. package/dist/components/FallbackBoundary/Loading.d.ts +2 -0
  55. package/dist/components/FallbackBoundary/Loading.d.ts.map +1 -0
  56. package/dist/components/FallbackBoundary/Loading.js +12 -0
  57. package/dist/components/FallbackBoundary/Loading.js.map +1 -0
  58. package/dist/components/FallbackBoundary/index.d.ts +17 -0
  59. package/dist/components/FallbackBoundary/index.d.ts.map +1 -0
  60. package/dist/components/FallbackBoundary/index.js +9 -0
  61. package/dist/components/FallbackBoundary/index.js.map +1 -0
  62. package/dist/components/HistoryList.d.ts +25 -0
  63. package/dist/components/HistoryList.d.ts.map +1 -0
  64. package/dist/components/HistoryList.js +74 -0
  65. package/dist/components/HistoryList.js.map +1 -0
  66. package/dist/components/IconInput.d.ts +10 -0
  67. package/dist/components/IconInput.d.ts.map +1 -0
  68. package/dist/components/IconInput.js +61 -0
  69. package/dist/components/IconInput.js.map +1 -0
  70. package/dist/components/Markdown.d.ts +9 -0
  71. package/dist/components/Markdown.d.ts.map +1 -0
  72. package/dist/components/Markdown.js +17 -0
  73. package/dist/components/Markdown.js.map +1 -0
  74. package/dist/components/OverlayMenu.d.ts +21 -0
  75. package/dist/components/OverlayMenu.d.ts.map +1 -0
  76. package/dist/components/OverlayMenu.js +79 -0
  77. package/dist/components/OverlayMenu.js.map +1 -0
  78. package/dist/components/ProgressBar.d.ts +33 -0
  79. package/dist/components/ProgressBar.d.ts.map +1 -0
  80. package/dist/components/ProgressBar.js +131 -0
  81. package/dist/components/ProgressBar.js.map +1 -0
  82. package/dist/components/QuickStartButton.d.ts +13 -0
  83. package/dist/components/QuickStartButton.d.ts.map +1 -0
  84. package/dist/components/QuickStartButton.js +47 -0
  85. package/dist/components/QuickStartButton.js.map +1 -0
  86. package/dist/components/RightPanelForm.d.ts +8 -0
  87. package/dist/components/RightPanelForm.d.ts.map +1 -0
  88. package/dist/components/RightPanelForm.js +50 -0
  89. package/dist/components/RightPanelForm.js.map +1 -0
  90. package/dist/components/RightPanelTabs.d.ts +13 -0
  91. package/dist/components/RightPanelTabs.d.ts.map +1 -0
  92. package/dist/components/RightPanelTabs.js +24 -0
  93. package/dist/components/RightPanelTabs.js.map +1 -0
  94. package/dist/components/Selector/index.d.ts +24 -0
  95. package/dist/components/Selector/index.d.ts.map +1 -0
  96. package/dist/components/Selector/index.js +134 -0
  97. package/dist/components/Selector/index.js.map +1 -0
  98. package/dist/components/Selector/styled.d.ts +2 -0
  99. package/dist/components/Selector/styled.d.ts.map +1 -0
  100. package/dist/components/Selector/styled.js +153 -0
  101. package/dist/components/Selector/styled.js.map +1 -0
  102. package/dist/components/TabManager.d.ts +40 -0
  103. package/dist/components/TabManager.d.ts.map +1 -0
  104. package/dist/components/TabManager.js +166 -0
  105. package/dist/components/TabManager.js.map +1 -0
  106. package/dist/components/Tooltip/Tooltip.d.ts +37 -0
  107. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  108. package/dist/components/Tooltip/Tooltip.js +30 -0
  109. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  110. package/dist/components/Tooltip/TooltipAPI.d.ts +29 -0
  111. package/dist/components/Tooltip/TooltipAPI.d.ts.map +1 -0
  112. package/dist/components/Tooltip/TooltipAPI.js +107 -0
  113. package/dist/components/Tooltip/TooltipAPI.js.map +1 -0
  114. package/dist/components/Tooltip/context.d.ts +5 -0
  115. package/dist/components/Tooltip/context.d.ts.map +1 -0
  116. package/dist/components/Tooltip/context.js +18 -0
  117. package/dist/components/Tooltip/context.js.map +1 -0
  118. package/dist/components/Tooltip/index.d.ts +3 -0
  119. package/dist/components/Tooltip/index.d.ts.map +1 -0
  120. package/dist/components/Tooltip/index.js +3 -0
  121. package/dist/components/Tooltip/index.js.map +1 -0
  122. package/dist/components/Tooltip/style.d.ts +4 -0
  123. package/dist/components/Tooltip/style.d.ts.map +1 -0
  124. package/dist/components/Tooltip/style.js +22 -0
  125. package/dist/components/Tooltip/style.js.map +1 -0
  126. package/dist/components/Tooltip/types.d.ts +27 -0
  127. package/dist/components/Tooltip/types.d.ts.map +1 -0
  128. package/dist/components/Tooltip/types.js +2 -0
  129. package/dist/components/Tooltip/types.js.map +1 -0
  130. package/dist/components/form/DescribedCheckboxGroup.d.ts +7 -0
  131. package/dist/components/form/DescribedCheckboxGroup.d.ts.map +1 -0
  132. package/dist/components/form/DescribedCheckboxGroup.js +27 -0
  133. package/dist/components/form/DescribedCheckboxGroup.js.map +1 -0
  134. package/dist/components/form/DescribedRadioGroup.d.ts +7 -0
  135. package/dist/components/form/DescribedRadioGroup.d.ts.map +1 -0
  136. package/dist/components/form/DescribedRadioGroup.js +22 -0
  137. package/dist/components/form/DescribedRadioGroup.js.map +1 -0
  138. package/dist/components/form/styled.d.ts +2 -0
  139. package/dist/components/form/styled.d.ts.map +1 -0
  140. package/dist/components/form/styled.js +42 -0
  141. package/dist/components/form/styled.js.map +1 -0
  142. package/dist/components/form/types.d.ts +53 -0
  143. package/dist/components/form/types.d.ts.map +1 -0
  144. package/dist/components/form/types.js +2 -0
  145. package/dist/components/form/types.js.map +1 -0
  146. package/dist/context/AIWidgetProvider.d.ts +23 -0
  147. package/dist/context/AIWidgetProvider.d.ts.map +1 -0
  148. package/dist/context/AIWidgetProvider.js +23 -0
  149. package/dist/context/AIWidgetProvider.js.map +1 -0
  150. package/dist/context/hooks.d.ts +69 -0
  151. package/dist/context/hooks.d.ts.map +1 -0
  152. package/dist/context/hooks.js +121 -0
  153. package/dist/context/hooks.js.map +1 -0
  154. package/dist/features.d.ts +40 -0
  155. package/dist/features.d.ts.map +1 -0
  156. package/dist/features.js +18 -0
  157. package/dist/features.js.map +1 -0
  158. package/dist/index.d.ts +14 -0
  159. package/dist/index.d.ts.map +1 -0
  160. package/dist/index.js +12 -0
  161. package/dist/index.js.map +1 -0
  162. package/dist/layout.css +137 -0
  163. package/dist/regex.d.ts +3 -0
  164. package/dist/regex.d.ts.map +1 -0
  165. package/dist/regex.js +3 -0
  166. package/dist/regex.js.map +1 -0
  167. package/dist/right-panel/DefaultPanel.d.ts +12 -0
  168. package/dist/right-panel/DefaultPanel.d.ts.map +1 -0
  169. package/dist/right-panel/DefaultPanel.js +50 -0
  170. package/dist/right-panel/DefaultPanel.js.map +1 -0
  171. package/dist/right-panel/RightPanel.d.ts +5 -0
  172. package/dist/right-panel/RightPanel.d.ts.map +1 -0
  173. package/dist/right-panel/RightPanel.js +9 -0
  174. package/dist/right-panel/RightPanel.js.map +1 -0
  175. package/dist/right-panel/RightPanelProvider.d.ts +28 -0
  176. package/dist/right-panel/RightPanelProvider.d.ts.map +1 -0
  177. package/dist/right-panel/RightPanelProvider.js +10 -0
  178. package/dist/right-panel/RightPanelProvider.js.map +1 -0
  179. package/dist/right-panel/constants.d.ts +2 -0
  180. package/dist/right-panel/constants.d.ts.map +1 -0
  181. package/dist/right-panel/constants.js +2 -0
  182. package/dist/right-panel/constants.js.map +1 -0
  183. package/dist/right-panel/hooks.d.ts +19 -0
  184. package/dist/right-panel/hooks.d.ts.map +1 -0
  185. package/dist/right-panel/hooks.js +46 -0
  186. package/dist/right-panel/hooks.js.map +1 -0
  187. package/dist/state/ChatEntry.d.ts +112 -0
  188. package/dist/state/ChatEntry.d.ts.map +1 -0
  189. package/dist/state/ChatEntry.js +59 -0
  190. package/dist/state/ChatEntry.js.map +1 -0
  191. package/dist/state/ChatState.d.ts +154 -0
  192. package/dist/state/ChatState.d.ts.map +1 -0
  193. package/dist/state/ChatState.js +108 -0
  194. package/dist/state/ChatState.js.map +1 -0
  195. package/dist/state/ChatTabsController.d.ts +66 -0
  196. package/dist/state/ChatTabsController.d.ts.map +1 -0
  197. package/dist/state/ChatTabsController.js +116 -0
  198. package/dist/state/ChatTabsController.js.map +1 -0
  199. package/dist/state/ObservableState.d.ts +24 -0
  200. package/dist/state/ObservableState.d.ts.map +1 -0
  201. package/dist/state/ObservableState.js +39 -0
  202. package/dist/state/ObservableState.js.map +1 -0
  203. package/dist/state/WidgetState.d.ts +80 -0
  204. package/dist/state/WidgetState.d.ts.map +1 -0
  205. package/dist/state/WidgetState.js +68 -0
  206. package/dist/state/WidgetState.js.map +1 -0
  207. package/dist/state/types.d.ts +8 -0
  208. package/dist/state/types.d.ts.map +1 -0
  209. package/dist/state/types.js +2 -0
  210. package/dist/state/types.js.map +1 -0
  211. package/dist/types.d.ts +27 -0
  212. package/dist/types.d.ts.map +1 -0
  213. package/dist/types.js +2 -0
  214. package/dist/types.js.map +1 -0
  215. package/dist/utils/chat.d.ts +12 -0
  216. package/dist/utils/chat.d.ts.map +1 -0
  217. package/dist/utils/chat.js +26 -0
  218. package/dist/utils/chat.js.map +1 -0
  219. package/dist/utils/date.d.ts +32 -0
  220. package/dist/utils/date.d.ts.map +1 -0
  221. package/dist/utils/date.js +66 -0
  222. package/dist/utils/date.js.map +1 -0
  223. package/dist/utils/download.d.ts +7 -0
  224. package/dist/utils/download.d.ts.map +1 -0
  225. package/dist/utils/download.js +15 -0
  226. package/dist/utils/download.js.map +1 -0
  227. package/dist/utils/knowledge-source.d.ts +19 -0
  228. package/dist/utils/knowledge-source.d.ts.map +1 -0
  229. package/dist/utils/knowledge-source.js +60 -0
  230. package/dist/utils/knowledge-source.js.map +1 -0
  231. package/dist/utils/programming-languages.d.ts +7 -0
  232. package/dist/utils/programming-languages.d.ts.map +1 -0
  233. package/dist/utils/programming-languages.js +464 -0
  234. package/dist/utils/programming-languages.js.map +1 -0
  235. package/dist/utils/string.d.ts +7 -0
  236. package/dist/utils/string.d.ts.map +1 -0
  237. package/dist/utils/string.js +11 -0
  238. package/dist/utils/string.js.map +1 -0
  239. package/dist/utils/url.d.ts +2 -0
  240. package/dist/utils/url.d.ts.map +1 -0
  241. package/dist/utils/url.js +8 -0
  242. package/dist/utils/url.js.map +1 -0
  243. package/dist/views/Agents/AgentDescription.d.ts +9 -0
  244. package/dist/views/Agents/AgentDescription.d.ts.map +1 -0
  245. package/dist/views/Agents/AgentDescription.js +21 -0
  246. package/dist/views/Agents/AgentDescription.js.map +1 -0
  247. package/dist/views/Agents/AgentsPanel.d.ts +5 -0
  248. package/dist/views/Agents/AgentsPanel.d.ts.map +1 -0
  249. package/dist/views/Agents/AgentsPanel.js +19 -0
  250. package/dist/views/Agents/AgentsPanel.js.map +1 -0
  251. package/dist/views/Agents/AgentsTab.d.ts +5 -0
  252. package/dist/views/Agents/AgentsTab.d.ts.map +1 -0
  253. package/dist/views/Agents/AgentsTab.js +43 -0
  254. package/dist/views/Agents/AgentsTab.js.map +1 -0
  255. package/dist/views/Agents/dictionary.d.ts +2 -0
  256. package/dist/views/Agents/dictionary.d.ts.map +1 -0
  257. package/dist/views/Agents/dictionary.js +35 -0
  258. package/dist/views/Agents/dictionary.js.map +1 -0
  259. package/dist/views/Agents/index.d.ts +5 -0
  260. package/dist/views/Agents/index.d.ts.map +1 -0
  261. package/dist/views/Agents/index.js +21 -0
  262. package/dist/views/Agents/index.js.map +1 -0
  263. package/dist/views/Agents/styled.d.ts +3 -0
  264. package/dist/views/Agents/styled.d.ts.map +1 -0
  265. package/dist/views/Agents/styled.js +58 -0
  266. package/dist/views/Agents/styled.js.map +1 -0
  267. package/dist/views/Chat/AgentInfo.d.ts +10 -0
  268. package/dist/views/Chat/AgentInfo.d.ts.map +1 -0
  269. package/dist/views/Chat/AgentInfo.js +10 -0
  270. package/dist/views/Chat/AgentInfo.js.map +1 -0
  271. package/dist/views/Chat/ChatMessage.d.ts +22 -0
  272. package/dist/views/Chat/ChatMessage.d.ts.map +1 -0
  273. package/dist/views/Chat/ChatMessage.js +82 -0
  274. package/dist/views/Chat/ChatMessage.js.map +1 -0
  275. package/dist/views/Chat/ChatMessages.d.ts +10 -0
  276. package/dist/views/Chat/ChatMessages.d.ts.map +1 -0
  277. package/dist/views/Chat/ChatMessages.js +15 -0
  278. package/dist/views/Chat/ChatMessages.js.map +1 -0
  279. package/dist/views/Chat/chat-scroll.d.ts +7 -0
  280. package/dist/views/Chat/chat-scroll.d.ts.map +1 -0
  281. package/dist/views/Chat/chat-scroll.js +17 -0
  282. package/dist/views/Chat/chat-scroll.js.map +1 -0
  283. package/dist/views/Chat/events.d.ts +22 -0
  284. package/dist/views/Chat/events.d.ts.map +1 -0
  285. package/dist/views/Chat/events.js +66 -0
  286. package/dist/views/Chat/events.js.map +1 -0
  287. package/dist/views/Chat/index.d.ts +12 -0
  288. package/dist/views/Chat/index.d.ts.map +1 -0
  289. package/dist/views/Chat/index.js +11 -0
  290. package/dist/views/Chat/index.js.map +1 -0
  291. package/dist/views/Chat/styled.d.ts +2 -0
  292. package/dist/views/Chat/styled.d.ts.map +1 -0
  293. package/dist/views/Chat/styled.js +186 -0
  294. package/dist/views/Chat/styled.js.map +1 -0
  295. package/dist/views/ChatHistory/ChatHistoryPanel.d.ts +5 -0
  296. package/dist/views/ChatHistory/ChatHistoryPanel.d.ts.map +1 -0
  297. package/dist/views/ChatHistory/ChatHistoryPanel.js +14 -0
  298. package/dist/views/ChatHistory/ChatHistoryPanel.js.map +1 -0
  299. package/dist/views/ChatHistory/HistoryItem.d.ts +8 -0
  300. package/dist/views/ChatHistory/HistoryItem.d.ts.map +1 -0
  301. package/dist/views/ChatHistory/HistoryItem.js +130 -0
  302. package/dist/views/ChatHistory/HistoryItem.js.map +1 -0
  303. package/dist/views/ChatHistory/dictionary.d.ts +2 -0
  304. package/dist/views/ChatHistory/dictionary.d.ts.map +1 -0
  305. package/dist/views/ChatHistory/dictionary.js +19 -0
  306. package/dist/views/ChatHistory/dictionary.js.map +1 -0
  307. package/dist/views/ChatHistory/index.d.ts +5 -0
  308. package/dist/views/ChatHistory/index.d.ts.map +1 -0
  309. package/dist/views/ChatHistory/index.js +26 -0
  310. package/dist/views/ChatHistory/index.js.map +1 -0
  311. package/dist/views/ChatHistory/styled.d.ts +2 -0
  312. package/dist/views/ChatHistory/styled.d.ts.map +1 -0
  313. package/dist/views/ChatHistory/styled.js +60 -0
  314. package/dist/views/ChatHistory/styled.js.map +1 -0
  315. package/dist/views/ChatHistory/utils.d.ts +20 -0
  316. package/dist/views/ChatHistory/utils.d.ts.map +1 -0
  317. package/dist/views/ChatHistory/utils.js +53 -0
  318. package/dist/views/ChatHistory/utils.js.map +1 -0
  319. package/dist/views/ChatTabSelection.d.ts +5 -0
  320. package/dist/views/ChatTabSelection.d.ts.map +1 -0
  321. package/dist/views/ChatTabSelection.js +48 -0
  322. package/dist/views/ChatTabSelection.js.map +1 -0
  323. package/dist/views/Editor.d.ts +5 -0
  324. package/dist/views/Editor.d.ts.map +1 -0
  325. package/dist/views/Editor.js +96 -0
  326. package/dist/views/Editor.js.map +1 -0
  327. package/dist/views/Home/BuiltInAgent.d.ts +6 -0
  328. package/dist/views/Home/BuiltInAgent.d.ts.map +1 -0
  329. package/dist/views/Home/BuiltInAgent.js +39 -0
  330. package/dist/views/Home/BuiltInAgent.js.map +1 -0
  331. package/dist/views/Home/CustomAgent.d.ts +5 -0
  332. package/dist/views/Home/CustomAgent.d.ts.map +1 -0
  333. package/dist/views/Home/CustomAgent.js +24 -0
  334. package/dist/views/Home/CustomAgent.js.map +1 -0
  335. package/dist/views/Home/index.d.ts +8 -0
  336. package/dist/views/Home/index.d.ts.map +1 -0
  337. package/dist/views/Home/index.js +15 -0
  338. package/dist/views/Home/index.js.map +1 -0
  339. package/dist/views/Home/styled.d.ts +2 -0
  340. package/dist/views/Home/styled.d.ts.map +1 -0
  341. package/dist/views/Home/styled.js +59 -0
  342. package/dist/views/Home/styled.js.map +1 -0
  343. package/dist/views/Home/types.d.ts +7 -0
  344. package/dist/views/Home/types.d.ts.map +1 -0
  345. package/dist/views/Home/types.js +2 -0
  346. package/dist/views/Home/types.js.map +1 -0
  347. package/dist/views/KSDocument.d.ts +5 -0
  348. package/dist/views/KSDocument.d.ts.map +1 -0
  349. package/dist/views/KSDocument.js +43 -0
  350. package/dist/views/KSDocument.js.map +1 -0
  351. package/dist/views/KnowledgeSources.d.ts +2 -0
  352. package/dist/views/KnowledgeSources.d.ts.map +1 -0
  353. package/dist/views/KnowledgeSources.js +96 -0
  354. package/dist/views/KnowledgeSources.js.map +1 -0
  355. package/dist/views/MessageInput/AgentSelector.d.ts +4 -0
  356. package/dist/views/MessageInput/AgentSelector.d.ts.map +1 -0
  357. package/dist/views/MessageInput/AgentSelector.js +58 -0
  358. package/dist/views/MessageInput/AgentSelector.js.map +1 -0
  359. package/dist/views/MessageInput/ButtonAgent.d.ts +2 -0
  360. package/dist/views/MessageInput/ButtonAgent.d.ts.map +1 -0
  361. package/dist/views/MessageInput/ButtonAgent.js +17 -0
  362. package/dist/views/MessageInput/ButtonAgent.js.map +1 -0
  363. package/dist/views/MessageInput/ButtonGroup.d.ts +29 -0
  364. package/dist/views/MessageInput/ButtonGroup.d.ts.map +1 -0
  365. package/dist/views/MessageInput/ButtonGroup.js +34 -0
  366. package/dist/views/MessageInput/ButtonGroup.js.map +1 -0
  367. package/dist/views/MessageInput/InfoBar.d.ts +9 -0
  368. package/dist/views/MessageInput/InfoBar.d.ts.map +1 -0
  369. package/dist/views/MessageInput/InfoBar.js +52 -0
  370. package/dist/views/MessageInput/InfoBar.js.map +1 -0
  371. package/dist/views/MessageInput/QuickCommandSelector.d.ts +4 -0
  372. package/dist/views/MessageInput/QuickCommandSelector.d.ts.map +1 -0
  373. package/dist/views/MessageInput/QuickCommandSelector.js +34 -0
  374. package/dist/views/MessageInput/QuickCommandSelector.js.map +1 -0
  375. package/dist/views/MessageInput/chat-entry-history.d.ts +11 -0
  376. package/dist/views/MessageInput/chat-entry-history.d.ts.map +1 -0
  377. package/dist/views/MessageInput/chat-entry-history.js +78 -0
  378. package/dist/views/MessageInput/chat-entry-history.js.map +1 -0
  379. package/dist/views/MessageInput/dictionary.d.ts +2 -0
  380. package/dist/views/MessageInput/dictionary.d.ts.map +1 -0
  381. package/dist/views/MessageInput/dictionary.js +43 -0
  382. package/dist/views/MessageInput/dictionary.js.map +1 -0
  383. package/dist/views/MessageInput/index.d.ts +7 -0
  384. package/dist/views/MessageInput/index.d.ts.map +1 -0
  385. package/dist/views/MessageInput/index.js +62 -0
  386. package/dist/views/MessageInput/index.js.map +1 -0
  387. package/dist/views/MessageInput/styled.d.ts +4 -0
  388. package/dist/views/MessageInput/styled.d.ts.map +1 -0
  389. package/dist/views/MessageInput/styled.js +257 -0
  390. package/dist/views/MessageInput/styled.js.map +1 -0
  391. package/dist/views/MinimizedHeader.d.ts +7 -0
  392. package/dist/views/MinimizedHeader.d.ts.map +1 -0
  393. package/dist/views/MinimizedHeader.js +79 -0
  394. package/dist/views/MinimizedHeader.js.map +1 -0
  395. package/dist/views/Stacks.d.ts +5 -0
  396. package/dist/views/Stacks.d.ts.map +1 -0
  397. package/dist/views/Stacks.js +80 -0
  398. package/dist/views/Stacks.js.map +1 -0
  399. package/dist/views/Workspaces.d.ts +5 -0
  400. package/dist/views/Workspaces.d.ts.map +1 -0
  401. package/dist/views/Workspaces.js +66 -0
  402. package/dist/views/Workspaces.js.map +1 -0
  403. package/package.json +1 -1
  404. package/src/app-metadata.json +2 -2
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { RightPanelTabs } from '../../components/RightPanelTabs.js';
3
+ import { useCurrentChat } from '../../context/hooks.js';
4
+ import { AgentsTab } from './AgentsTab.js';
5
+ import { useAgentsDictionary } from './dictionary.js';
6
+ /**
7
+ * Renders the Agent selection form in the Right Panel if this is the panel that is currently opened.
8
+ */
9
+ export const AgentsPanel = () => {
10
+ const t = useAgentsDictionary();
11
+ const chat = useCurrentChat();
12
+ return _jsx(RightPanelTabs, { tabs: [
13
+ { title: t.builtin, content: _jsx(AgentsTab, { visibility: "BUILT-IN" }, "builtin") },
14
+ { title: t.personal, content: _jsx(AgentsTab, { visibility: "PERSONAL" }, "personal") },
15
+ { title: t.shared, content: _jsx(AgentsTab, { visibility: "SHARED" }, "shared") },
16
+ { title: t.account, content: _jsx(AgentsTab, { visibility: "ACCOUNT" }, "account") },
17
+ ] }, chat.id);
18
+ };
19
+ //# sourceMappingURL=AgentsPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentsPanel.js","sourceRoot":"","sources":["../../../src/views/Agents/AgentsPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,CAAC,GAAG,mBAAmB,EAAE,CAAA;IAC/B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAE7B,OAAO,KAAC,cAAc,IAAe,IAAI,EAAE;YACzC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAC,SAAS,IAAe,UAAU,EAAC,UAAU,IAA/B,SAAS,CAAyB,EAAE;YAChF,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAC,SAAS,IAAgB,UAAU,EAAC,UAAU,IAAhC,UAAU,CAAyB,EAAE;YAClF,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAC,SAAS,IAAc,UAAU,EAAC,QAAQ,IAA5B,QAAQ,CAAuB,EAAE;YAC5E,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAC,SAAS,IAAe,UAAU,EAAC,SAAS,IAA9B,SAAS,CAAwB,EAAE;SAChF,IAL2B,IAAI,CAAC,EAAE,CAK9B,CAAA;AACP,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { VisibilityLevel } from '@stack-spot/portal-network/api/agent';
2
+ export declare const AgentsTab: ({ visibility }: {
3
+ visibility: VisibilityLevel | "BUILT-IN";
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=AgentsTab.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Button, IconBox, Text } from '@citric/core';
3
+ import { Agent, Search } from '@citric/icons';
4
+ import { Placeholder } from '@stack-spot/portal-components/Placeholder';
5
+ import { MiniLogo } from '@stack-spot/portal-components/svg';
6
+ import { agentClient } from '@stack-spot/portal-network';
7
+ import { useMemo, useState } from 'react';
8
+ import { DescribedRadioGroup } from '../../components/form/DescribedRadioGroup.js';
9
+ import { IconInput } from '../../components/IconInput.js';
10
+ import { useCurrentChat } from '../../context/hooks.js';
11
+ import { useRightPanel } from '../../right-panel/hooks.js';
12
+ import { AgentDescription } from './AgentDescription.js';
13
+ import { useAgentsDictionary } from './dictionary.js';
14
+ import { AgentLabel } from './styled.js';
15
+ export const AgentsTab = ({ visibility }) => {
16
+ const t = useAgentsDictionary();
17
+ const { close } = useRightPanel();
18
+ const chat = useCurrentChat();
19
+ const [filter, setFilter] = useState('');
20
+ const defaultAgent = useMemo(() => ({
21
+ id: '',
22
+ name: 'StackSpot AI',
23
+ description: t.defaultAgentDescription,
24
+ llm_config: { model_slug: 'gpt4o' },
25
+ }), []);
26
+ const agents = visibility === 'BUILT-IN' ? agentClient.publicAgents.useQuery({}) : agentClient.agents.useQuery({ visibility });
27
+ const [value, setValue] = useState(chat.get('agent') ? agents.find(a => a.id === chat.get('agent')?.id) : defaultAgent);
28
+ const filtered = useMemo(() => {
29
+ const ags = visibility === 'BUILT-IN' ? [defaultAgent, ...agents] : agents;
30
+ return filter ? ags.filter(a => a === value || a.name.toLocaleLowerCase().includes(filter.toLocaleLowerCase())) : ags;
31
+ }, [agents, filter, value]);
32
+ function submit() {
33
+ if (value) {
34
+ chat.set('agent', value.id ? { id: value.id, label: value.name, image: value.avatar, builtIn: visibility === 'BUILT-IN' } : undefined);
35
+ }
36
+ close();
37
+ }
38
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "content", children: [_jsx(IconInput, { icon: _jsx(Search, {}), value: filter, onChange: setFilter, className: "search" }), !!filtered.length && _jsx(DescribedRadioGroup, { options: filtered, keygen: a => a.id, value: value, onChange: setValue, renderLabel: ({ name, avatar, id }) => (_jsxs(AgentLabel, { children: [id ? (avatar ? _jsx("img", { src: avatar }) : _jsx(IconBox, { size: "xs", children: _jsx(Agent, {}) })) : _jsx(MiniLogo, {}), _jsx(Text, { children: name })] })), renderDescription: a => _jsx(AgentDescription, { agentId: a.id, description: a.description, llm: a.llm_config?.model_slug, numberOfKnowledgeSources: a.knowledge_sources_config?.knowledge_sources?.length ?? 0 }), optionClassName: a => (a === value && filter && !a.name.toLocaleLowerCase().includes(filter.toLocaleLowerCase()))
39
+ ? 'filtered-out'
40
+ : '', className: "option-list" }), !!agents.length && !filtered.length &&
41
+ _jsx(Placeholder, { title: t.noSearchResults, description: t.noSearchResultsDescription, className: "no-data-placeholder" }), !agents.length && _jsx(Placeholder, { title: t.noData, description: t.noDataDescription })] }), !!filtered.length && _jsx(Button, { onClick: submit, disabled: !value, children: t.apply })] }));
42
+ };
43
+ //# sourceMappingURL=AgentsTab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentsTab.js","sourceRoot":"","sources":["../../../src/views/Agents/AgentsTab.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const useAgentsDictionary: () => Record<"title" | "description" | "subtitle" | "personal" | "builtin" | "shared" | "account" | "apply" | "noSearchResults" | "noSearchResultsDescription" | "noData" | "noDataDescription" | "defaultAgentDescription", string>;
2
+ //# sourceMappingURL=dictionary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../../src/views/Agents/dictionary.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,mBAAmB,sOAAiC,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { useTranslate } from '@stack-spot/portal-translate';
2
+ const dictionary = {
3
+ en: {
4
+ title: 'Agents',
5
+ subtitle: 'By selecting an Agent, it will be consulted to generate the answers.',
6
+ personal: 'Personal',
7
+ builtin: 'Built-in',
8
+ shared: 'Shared',
9
+ account: 'Account',
10
+ apply: 'Apply',
11
+ noSearchResults: "Your search didn't yield results.",
12
+ noSearchResultsDescription: 'Please, try another search term.',
13
+ noData: 'There are no agents in this category yet.',
14
+ noDataDescription: 'Use the tabs above to try other categories or use the AI portal to create new agents.',
15
+ defaultAgentDescription: 'The StackSpot CodeGen is an advanced artificial intelligence agent designed to optimize and accelerate software development. Integrated directly into your integrated development environment, StackSpot CodeGen offers real-time code suggestions, helping developers write high-quality code more efficiently. With robust features such as creating Stacks AI, customized knowledge sources, and quick commands, StackSpot CodeGen contextualizes your development needs to provide the best answers and code suggestions.',
16
+ description: 'Description',
17
+ },
18
+ pt: {
19
+ title: 'Agentes',
20
+ subtitle: 'Ao selecionar um Agente, ele será consultado para gerar as respostas.',
21
+ personal: 'Pessoal',
22
+ builtin: 'Embutido',
23
+ shared: 'Compartilhado',
24
+ account: 'Conta',
25
+ apply: 'Aplicar',
26
+ noSearchResults: 'Sua busca não produziu resultados.',
27
+ noSearchResultsDescription: 'Por favor, tente outra busca.',
28
+ noData: 'Ainda não há agentes nesta categoria.',
29
+ noDataDescription: 'Use as abas acima para tentar outras categorias ou use o Portal AI para criar novos agentes.',
30
+ defaultAgentDescription: 'O StackSpot CodeGen é um agente de inteligência artificial avançado projetado para otimizar e acelerar o desenvolvimento de software. Integrado diretamente ao seu ambiente de desenvolvimento, o StackSpot CodeGen oferece sugestões de código em tempo real, ajudando os desenvolvedores a escreverem código de alta qualidade de forma mais eficiente. Com recursos robustos, como a criação de Stacks AI, Knowledge Sources personalizadas e comandos rápidos, o StackSpot CodeGen contextualiza suas necessidades de desenvolvimento para fornecer as melhores respostas e sugestões de código.',
31
+ description: 'Descrição',
32
+ },
33
+ };
34
+ export const useAgentsDictionary = () => useTranslate(dictionary);
35
+ //# sourceMappingURL=dictionary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/views/Agents/dictionary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEvE,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,sEAAsE;QAChF,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,eAAe,EAAE,mCAAmC;QACpD,0BAA0B,EAAE,kCAAkC;QAC9D,MAAM,EAAE,2CAA2C;QACnD,iBAAiB,EAAE,uFAAuF;QAC1G,uBAAuB,EAAE,+fAA+f;QACxhB,WAAW,EAAE,aAAa;KAC3B;IACD,EAAE,EAAE;QACF,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,uEAAuE;QACjF,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,SAAS;QAChB,eAAe,EAAE,oCAAoC;QACrD,0BAA0B,EAAE,+BAA+B;QAC3D,MAAM,EAAE,uCAAuC;QAC/C,iBAAiB,EAAE,8FAA8F;QACjH,uBAAuB,EAAE,skBAAskB;QAC/lB,WAAW,EAAE,WAAW;KACzB;CACmB,CAAA;AAEtB,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Renders the panel to select an agent of this panel is opened.
3
+ */
4
+ export declare const Agents: () => null;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Agents/index.tsx"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,MAAM,YAclB,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect } from 'react';
3
+ import { useWidget, useWidgetState } from '../../context/hooks.js';
4
+ import { useRightPanel } from '../../right-panel/hooks.js';
5
+ import { AgentsPanel } from './AgentsPanel.js';
6
+ import { useAgentsDictionary } from './dictionary.js';
7
+ /**
8
+ * Renders the panel to select an agent of this panel is opened.
9
+ */
10
+ export const Agents = () => {
11
+ const t = useAgentsDictionary();
12
+ const panel = useWidgetState('panel');
13
+ const { open } = useRightPanel();
14
+ const widget = useWidget();
15
+ useEffect(() => {
16
+ if (panel === 'agent')
17
+ open(_jsx(AgentsPanel, {}), { title: t.title, description: t.subtitle, onClose: () => widget.set('panel', undefined) });
18
+ }, [panel, t]);
19
+ return null;
20
+ };
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/Agents/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,CAAC,GAAG,mBAAmB,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAA;IAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,OAAO;YAAE,IAAI,CACzB,KAAC,WAAW,KAAG,EACf,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAC3F,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;IAEd,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const AgentLabel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
2
+ export declare const AgentDescriptionBox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
3
+ //# sourceMappingURL=styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/views/Agents/styled.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,wOAYtB,CAAA;AAED,eAAO,MAAM,mBAAmB,wOAyC/B,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { theme } from '@stack-spot/portal-theme';
2
+ import { styled } from 'styled-components';
3
+ export const AgentLabel = styled.div `
4
+ display: flex;
5
+ flex-direction: row;
6
+ align-items: center;
7
+ gap: 6px;
8
+
9
+ img, svg {
10
+ width: 20px;
11
+ height: 20px;
12
+ border-radius: 50%;
13
+ overflow: hidden;
14
+ }
15
+ `;
16
+ export const AgentDescriptionBox = styled.div `
17
+ color: ${theme.color.light[700]};
18
+ line-height: 18px;
19
+
20
+ section {
21
+ border-bottom: 1px solid ${theme.color.light[600]};
22
+ padding-bottom: 10px;
23
+ margin-bottom: 10px;
24
+
25
+ &:last-child {
26
+ padding-bottom: 0;
27
+ margin-bottom: 0;
28
+ border-bottom: none;
29
+ }
30
+
31
+ .title {
32
+ display: block;
33
+ margin-bottom: 6px;
34
+ }
35
+ }
36
+
37
+ ul {
38
+ padding: 0;
39
+ margin: 0;
40
+ list-style: none;
41
+ display: flex;
42
+ flex-direction: row;
43
+ flex-wrap: wrap;
44
+ white-space: nowrap;
45
+ gap: 6px;
46
+
47
+ li {
48
+ margin: 3px 0;
49
+ }
50
+ }
51
+
52
+ .ks-skeleton {
53
+ width: 100px;
54
+ height: 12px;
55
+ mix-blend-mode: color-dodge;
56
+ }
57
+ `;
58
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/views/Agents/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;CAYnC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;WAClC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;+BAIF,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCpD,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { LabeledWithImage } from '../../state/types.js';
2
+ interface Props {
3
+ agent?: LabeledWithImage;
4
+ }
5
+ /**
6
+ * Renders the avatar of an agent in a message.
7
+ */
8
+ export declare const AgentInfo: ({ agent }: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=AgentInfo.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from '@citric/core';
3
+ import { MiniLogo } from '@stack-spot/portal-components/svg';
4
+ /**
5
+ * Renders the avatar of an agent in a message.
6
+ */
7
+ export const AgentInfo = ({ agent }) => (_jsxs(_Fragment, { children: [agent?.image
8
+ ? _jsx("img", { src: agent.image, className: "custom-agent-image" })
9
+ : _jsx("div", { className: "default-image-wrapper", children: _jsx(MiniLogo, { className: "agent-image" }) }), _jsx(Text, { appearance: "body2", children: agent?.label || 'StackSpot AI' })] }));
10
+ //# sourceMappingURL=AgentInfo.js.map
@@ -0,0 +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;;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"}
@@ -0,0 +1,22 @@
1
+ import { ChatEntry } from '../../state/ChatEntry.js';
2
+ interface Props {
3
+ /**
4
+ * The ChatEntry to render.
5
+ */
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
+ */
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
+ */
15
+ isLast: boolean;
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 {};
22
+ //# sourceMappingURL=ChatMessage.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,82 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Button, IconBox, Text } from '@citric/core';
3
+ import { Copy, Dislike, DislikeFill, Like, LikeFill, TimesCircle } from '@citric/icons';
4
+ import { Avatar, Badge, IconButton } from '@citric/ui';
5
+ import { listToClass } from '@stack-spot/portal-theme';
6
+ import { useTranslate } from '@stack-spot/portal-translate';
7
+ import { useCallback, useMemo, useRef, useState } from 'react';
8
+ import { Markdown } from '../../components/Markdown.js';
9
+ import { useChatEntry, useCurrentChat, useWidget } from '../../context/hooks.js';
10
+ import { ChatEntry } from '../../state/ChatEntry.js';
11
+ import { useDateFormatter } from '../../utils/date.js';
12
+ import { AgentInfo } from './AgentInfo.js';
13
+ import { useChatScrollToBottomEffect } from './chat-scroll.js';
14
+ import { onCopyAll, onCopyCode, onLikeOrDislike } from './events.js';
15
+ /**
16
+ * Renders a message (ChatEntry) in the chat.
17
+ */
18
+ export const ChatMessage = ({ message, username, isLast }) => {
19
+ const t = useTranslate(dictionary);
20
+ const [liked, setLiked] = useState();
21
+ const entry = useChatEntry(message);
22
+ const dateFormatter = useDateFormatter();
23
+ const userInfo = entry.agentType === 'user' ? _jsx(Avatar, { size: "xs", children: username }) : _jsx(AgentInfo, { agent: entry.agent });
24
+ const date = new Date(entry.updated ?? '');
25
+ const shouldShowFooter = entry.updated && !isNaN(date.getTime());
26
+ const ref = useRef(null);
27
+ const chatRef = useRef(null);
28
+ const widget = useWidget();
29
+ const chat = useCurrentChat();
30
+ useChatScrollToBottomEffect(ref, [entry]);
31
+ const detailKS = useCallback(({ name, slug, documentScore, documentId }) => {
32
+ widget.set('currentKSInPanel', { name, slug, score: documentScore, documentId });
33
+ widget.set('panel', 'ks-details');
34
+ }, []);
35
+ const runAction = useCallback((action) => {
36
+ if (action.type === 'link') {
37
+ window.open(action.exec, '_blank');
38
+ }
39
+ else {
40
+ chat.pushMessage(ChatEntry.createUserEntry(action.exec));
41
+ }
42
+ }, []);
43
+ const { like, dislike } = useMemo(() => {
44
+ async function feedback(like) {
45
+ if (!entry.messageId || like === liked)
46
+ return;
47
+ setLiked(like);
48
+ try {
49
+ await onLikeOrDislike(entry.messageId, like);
50
+ }
51
+ catch {
52
+ setLiked(liked);
53
+ }
54
+ }
55
+ return {
56
+ like: () => feedback(true),
57
+ dislike: () => feedback(false),
58
+ };
59
+ }, [entry.messageId, liked]);
60
+ const handleKeyDown = (event) => {
61
+ if (event.ctrlKey && event.key === 'c') {
62
+ const selectedText = window.getSelection()?.toString();
63
+ selectedText && onCopyCode(selectedText, '', chat);
64
+ }
65
+ };
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) })] })] }));
69
+ };
70
+ const dictionary = {
71
+ en: {
72
+ copy: 'Copy',
73
+ like: 'Like',
74
+ dislike: 'Dislike',
75
+ },
76
+ pt: {
77
+ copy: 'Copiar',
78
+ like: 'Gostei',
79
+ dislike: 'Não gostei',
80
+ },
81
+ };
82
+ //# sourceMappingURL=ChatMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ interface Props {
2
+ username: string;
3
+ chatId: string;
4
+ }
5
+ /**
6
+ * Renders all messages of a chat.
7
+ */
8
+ export declare const ChatMessages: ({ chatId, username }: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=ChatMessages.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo, useRef } from 'react';
3
+ import { useChatMessages } from '../../context/hooks.js';
4
+ import { ChatMessage } from './ChatMessage.js';
5
+ import { ChatList } from './styled.js';
6
+ /**
7
+ * Renders all messages of a chat.
8
+ */
9
+ export const ChatMessages = ({ chatId, username }) => {
10
+ const messages = useChatMessages(chatId);
11
+ const items = useMemo(() => messages.map((m, index) => _jsx(ChatMessage, { message: m, username: username, isLast: index === messages.length - 1 }, m.id)), [messages]);
12
+ const ref = useRef(null);
13
+ return _jsx(ChatList, { ref: ref, children: items });
14
+ };
15
+ //# sourceMappingURL=ChatMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessages.js","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessages.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAOnC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAS,EAAE,EAAE;IAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAC,WAAW,IAAY,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,IAA3E,CAAC,CAAC,EAAE,CAA2E,CAAC,EACnI,CAAC,QAAQ,CAAC,CACX,CAAA;IACD,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAC1C,OAAO,KAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,YAAG,KAAK,GAAY,CAAA;AAC/C,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Scrolls the closest chat (upwards in the tree) to its bottom.
3
+ * @param ref the reference to the element contained the chat we want to scroll.
4
+ * @param deps when the deps changes, the chat is scrolled.
5
+ */
6
+ export declare function useChatScrollToBottomEffect(ref: React.RefObject<HTMLElement>, deps: any[]): void;
7
+ //# sourceMappingURL=chat-scroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-scroll.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/chat-scroll.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QASzF"}
@@ -0,0 +1,17 @@
1
+ import { useEffect, useRef } from 'react';
2
+ /**
3
+ * Scrolls the closest chat (upwards in the tree) to its bottom.
4
+ * @param ref the reference to the element contained the chat we want to scroll.
5
+ * @param deps when the deps changes, the chat is scrolled.
6
+ */
7
+ export function useChatScrollToBottomEffect(ref, deps) {
8
+ const prevScrollTop = useRef(0);
9
+ useEffect(() => {
10
+ const chat = ref.current?.closest('.chat-content');
11
+ if (!chat || chat.scrollTop < prevScrollTop.current)
12
+ return;
13
+ chat.scrollTop = chat.scrollHeight - chat.clientHeight;
14
+ prevScrollTop.current = chat.scrollTop;
15
+ }, deps);
16
+ }
17
+ //# sourceMappingURL=chat-scroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-scroll.js","sourceRoot":"","sources":["../../../src/views/Chat/chat-scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEzC;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAiC,EAAE,IAAW;IACxF,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO;YAAE,OAAM;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACtD,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAA;IACxC,CAAC,EAAE,IAAI,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { TextChatEntry } from '../../state/ChatEntry.js';
2
+ import { ChatState } from '../../state/ChatState.js';
3
+ /**
4
+ * Creates the event of copying a code.
5
+ * @param code the code copied.
6
+ * @param messageId the id of the message containing the code.
7
+ * @param chat the chat state.
8
+ */
9
+ export declare function onCopyCode(code: string, messageId: string, chat: ChatState): Promise<void>;
10
+ /**
11
+ * Creates the event of copying a whole message.
12
+ * @param entry the message copied.
13
+ * @param chat the chat state.
14
+ */
15
+ export declare function onCopyAll(entry: TextChatEntry, chat: ChatState): Promise<unknown>;
16
+ /**
17
+ * Creates an event of like or dislike for a message.
18
+ * @param messageId the id of the message.
19
+ * @param like true if it's a like, false if it's a dislike.
20
+ */
21
+ export declare function onLikeOrDislike(messageId: string, like: boolean): Promise<unknown>;
22
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAIjD;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,iBAgBhF;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,oBAe9D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,oBAW/D"}
@@ -0,0 +1,66 @@
1
+ import { aiClient } from '@stack-spot/portal-network';
2
+ import { buildConversationContext } from '../../utils/chat.js';
3
+ import { getSizeOfString } from '../../utils/string.js';
4
+ /**
5
+ * Creates the event of copying a code.
6
+ * @param code the code copied.
7
+ * @param messageId the id of the message containing the code.
8
+ * @param chat the chat state.
9
+ */
10
+ export async function onCopyCode(code, messageId, chat) {
11
+ try {
12
+ await aiClient.createEvent.mutate({
13
+ body: [{
14
+ type: 'code_copied',
15
+ code,
16
+ context: buildConversationContext(chat),
17
+ size: getSizeOfString(code),
18
+ generated_at: new Date().getTime(),
19
+ message_id: messageId,
20
+ }],
21
+ });
22
+ }
23
+ catch (error) {
24
+ // eslint-disable-next-line no-console
25
+ console.warn('Failed to register event: code copied.');
26
+ }
27
+ }
28
+ /**
29
+ * Creates the event of copying a whole message.
30
+ * @param entry the message copied.
31
+ * @param chat the chat state.
32
+ */
33
+ export function onCopyAll(entry, chat) {
34
+ navigator.clipboard.writeText(entry.content);
35
+ return aiClient.createEvent.mutate({
36
+ body: [
37
+ {
38
+ code: entry.content,
39
+ size: getSizeOfString(entry.content),
40
+ generated_at: new Date().getTime(),
41
+ type: 'copied_all',
42
+ knowledge_sources: entry.knowledgeSources?.map(ks => ({ slug: ks.slug, type: 'knowledge_source', name: ks.name })),
43
+ context: buildConversationContext(chat),
44
+ message_id: entry.messageId,
45
+ },
46
+ ],
47
+ });
48
+ }
49
+ /**
50
+ * Creates an event of like or dislike for a message.
51
+ * @param messageId the id of the message.
52
+ * @param like true if it's a like, false if it's a dislike.
53
+ */
54
+ export function onLikeOrDislike(messageId, like) {
55
+ return aiClient.createEvent.mutate({
56
+ body: [{
57
+ feedback: like ? 'LIKE' : 'DISLIKE',
58
+ message_id: messageId,
59
+ type: 'user_feedback_provided',
60
+ code: '',
61
+ generated_at: Math.floor(new Date().getTime() / 1000),
62
+ size: 0,
63
+ }],
64
+ });
65
+ }
66
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/views/Chat/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAGrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,SAAiB,EAAE,IAAe;IAC/E,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;YAChC,IAAI,EAAE,CAAC;oBACL,IAAI,EAAE,aAAa;oBACnB,IAAI;oBACJ,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC;oBACvC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;oBAC3B,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;oBAClC,UAAU,EAAE,SAAS;iBACtB,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;IACxD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAoB,EAAE,IAAe;IAC7D,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5C,OAAO,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE,KAAK,CAAC,OAAO;gBACnB,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC;gBACpC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;gBAClC,IAAI,EAAE,YAAY;gBAClB,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClH,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC;gBACvC,UAAU,EAAE,KAAK,CAAC,SAAS;aAC5B;SACF;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,IAAa;IAC9D,OAAO,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,CAAC;gBACL,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACnC,UAAU,EAAE,SAAS;gBACrB,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,EAAE;gBACR,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBACrD,IAAI,EAAE,CAAC;aACR,CAAC;KACH,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ interface Props {
2
+ /**
3
+ * The name of the user currently logged in.
4
+ */
5
+ username: string;
6
+ }
7
+ /**
8
+ * Renders the chat panel, with all of its messages.
9
+ */
10
+ export declare const Chat: ({ username }: Props) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/index.tsx"],"names":[],"mappings":"AAGA,UAAU,KAAK;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,iBAAkB,KAAK,4CAGvC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useChatTabs } from '../../context/hooks.js';
3
+ import { ChatMessages } from './ChatMessages.js';
4
+ /**
5
+ * Renders the chat panel, with all of its messages.
6
+ */
7
+ export const Chat = ({ username }) => {
8
+ const { active } = useChatTabs();
9
+ return _jsx(ChatMessages, { chatId: active.id, username: username }, active.id);
10
+ };
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/Chat/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAS7C;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAS,EAAE,EAAE;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;IAChC,OAAO,KAAC,YAAY,IAAiB,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAhD,MAAM,CAAC,EAAE,CAA2C,CAAA;AAChF,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const ChatList: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, never>> & string;
2
+ //# sourceMappingURL=styled.d.ts.map