@8wave/ai-elements 0.90.0 → 0.91.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 (188) hide show
  1. package/dist/_chunks/{Document-BajUssb0.js → Document-OYsMoc9f.js} +46 -9
  2. package/dist/_chunks/Document-OYsMoc9f.js.map +1 -0
  3. package/dist/_chunks/{PkToolShowSources-CZWBpBBV.js → PkToolShowSources-BHLHRoy2.js} +2 -2
  4. package/dist/_chunks/{PkToolShowSources-CZWBpBBV.js.map → PkToolShowSources-BHLHRoy2.js.map} +1 -1
  5. package/dist/_chunks/{PkToolShowSuggestedReply-1j4lOkRj.js → PkToolShowSuggestedReply-CUk_SK-9.js} +2 -2
  6. package/dist/_chunks/PkToolShowSuggestedReply-CUk_SK-9.js.map +1 -0
  7. package/dist/ai-elements.es.js +4099 -3985
  8. package/dist/ai-elements.es.js.map +1 -1
  9. package/dist-vue/PkChatbot.js +1 -1
  10. package/dist-vue/PkChatbotAuth.js +1 -1
  11. package/dist-vue/PkChatbotEmptyState.js +1 -1
  12. package/dist-vue/PkChatbotFeedbackForm.js +1 -1
  13. package/dist-vue/PkChatbotFilePreview.js +1 -1
  14. package/dist-vue/PkChatbotInput.js +1 -1
  15. package/dist-vue/PkChatbotMessageFeedback.js +1 -1
  16. package/dist-vue/PkChatbotMessages.js +1 -1
  17. package/dist-vue/PkChatbotOutlineRail.js +1 -1
  18. package/dist-vue/PkChatbotStepToolDetail.js +1 -1
  19. package/dist-vue/PkChatbotSteps.js +1 -1
  20. package/dist-vue/PkChatbotViewChat.js +1 -1
  21. package/dist-vue/PkChatbotViewConversations.js +1 -1
  22. package/dist-vue/PkChatbotViewFiles.js +1 -1
  23. package/dist-vue/PkChatbotViewProfile.js +1 -1
  24. package/dist-vue/_chunks/{Document-Dvf2nw6v.js → Document-c1tATTDs.js} +46 -9
  25. package/dist-vue/_chunks/{Document-Dvf2nw6v.js.map → Document-c1tATTDs.js.map} +1 -1
  26. package/dist-vue/_chunks/{PkAvatar-Dv3e4aUl.js → PkAvatar-Bpf6cD4N.js} +1 -1
  27. package/dist-vue/_chunks/{PkAvatar-Dv3e4aUl.js.map → PkAvatar-Bpf6cD4N.js.map} +1 -1
  28. package/dist-vue/_chunks/PkChatbot-DpfxBVue.js +237 -0
  29. package/dist-vue/_chunks/PkChatbot-DpfxBVue.js.map +1 -0
  30. package/dist-vue/_chunks/{PkChatbotAuth-CFqcYxj9.js → PkChatbotAuth-uAPZRV6N.js} +2 -2
  31. package/dist-vue/_chunks/{PkChatbotAuth-CFqcYxj9.js.map → PkChatbotAuth-uAPZRV6N.js.map} +1 -1
  32. package/dist-vue/_chunks/{PkChatbotEmptyState-C70aTfG-.js → PkChatbotEmptyState-JTlPPXdI.js} +2 -2
  33. package/dist-vue/_chunks/{PkChatbotEmptyState-C70aTfG-.js.map → PkChatbotEmptyState-JTlPPXdI.js.map} +1 -1
  34. package/dist-vue/_chunks/{PkChatbotFeedbackForm-Ds2-nOaU.js → PkChatbotFeedbackForm-CHXxzWqQ.js} +2 -2
  35. package/dist-vue/_chunks/{PkChatbotFeedbackForm-Ds2-nOaU.js.map → PkChatbotFeedbackForm-CHXxzWqQ.js.map} +1 -1
  36. package/dist-vue/_chunks/{PkChatbotFilePreview-DG887KhT.js → PkChatbotFilePreview-Bf1bdZn8.js} +61 -54
  37. package/dist-vue/_chunks/PkChatbotFilePreview-Bf1bdZn8.js.map +1 -0
  38. package/dist-vue/_chunks/{PkChatbotInput-BTszEUj2.js → PkChatbotInput-DWS7vqC5.js} +152 -124
  39. package/dist-vue/_chunks/PkChatbotInput-DWS7vqC5.js.map +1 -0
  40. package/dist-vue/_chunks/{PkChatbotMessageFeedback-Cp0zzCP8.js → PkChatbotMessageFeedback-DAqlgPrz.js} +1 -1
  41. package/dist-vue/_chunks/{PkChatbotMessageFeedback-Cp0zzCP8.js.map → PkChatbotMessageFeedback-DAqlgPrz.js.map} +1 -1
  42. package/dist-vue/_chunks/{PkChatbotMessages-DLP7utmG.js → PkChatbotMessages-BR5JUybd.js} +208 -212
  43. package/dist-vue/_chunks/PkChatbotMessages-BR5JUybd.js.map +1 -0
  44. package/dist-vue/_chunks/{PkChatbotOutlineRail-CAIfj2dI.js → PkChatbotOutlineRail-BXrdMIrA.js} +1 -1
  45. package/dist-vue/_chunks/{PkChatbotOutlineRail-CAIfj2dI.js.map → PkChatbotOutlineRail-BXrdMIrA.js.map} +1 -1
  46. package/dist-vue/_chunks/{PkChatbotStepToolDetail-C-ucv_wp.js → PkChatbotStepToolDetail-C2nWevnD.js} +2 -2
  47. package/dist-vue/_chunks/{PkChatbotStepToolDetail-C-ucv_wp.js.map → PkChatbotStepToolDetail-C2nWevnD.js.map} +1 -1
  48. package/dist-vue/_chunks/{PkChatbotSteps-CBOhYZ10.js → PkChatbotSteps-5Ahr-zpZ.js} +4 -4
  49. package/dist-vue/_chunks/{PkChatbotSteps-CBOhYZ10.js.map → PkChatbotSteps-5Ahr-zpZ.js.map} +1 -1
  50. package/dist-vue/_chunks/{PkChatbotViewChat-BZ9IH-sz.js → PkChatbotViewChat-C_t6qEEV.js} +64 -55
  51. package/dist-vue/_chunks/PkChatbotViewChat-C_t6qEEV.js.map +1 -0
  52. package/dist-vue/_chunks/{PkChatbotViewConversations-q5KPJt_D.js → PkChatbotViewConversations-CEaEsnBy.js} +4 -4
  53. package/dist-vue/_chunks/{PkChatbotViewConversations-q5KPJt_D.js.map → PkChatbotViewConversations-CEaEsnBy.js.map} +1 -1
  54. package/dist-vue/_chunks/PkChatbotViewFiles-Bzcn8AEo.js +114 -0
  55. package/dist-vue/_chunks/PkChatbotViewFiles-Bzcn8AEo.js.map +1 -0
  56. package/dist-vue/_chunks/{PkChatbotViewProfile-DTbQlkVL.js → PkChatbotViewProfile-CfFeqjse.js} +4 -4
  57. package/dist-vue/_chunks/{PkChatbotViewProfile-DTbQlkVL.js.map → PkChatbotViewProfile-CfFeqjse.js.map} +1 -1
  58. package/dist-vue/_chunks/{PkRelativeTime-D72zYq42.js → PkRelativeTime-2HoOjv_T.js} +1 -1
  59. package/dist-vue/_chunks/{PkRelativeTime-D72zYq42.js.map → PkRelativeTime-2HoOjv_T.js.map} +1 -1
  60. package/dist-vue/_chunks/{PkStreamingMarkdown-CVAsbuWi.js → PkStreamingMarkdown-C_LQOTVJ.js} +1 -1
  61. package/dist-vue/_chunks/{PkStreamingMarkdown-CVAsbuWi.js.map → PkStreamingMarkdown-C_LQOTVJ.js.map} +1 -1
  62. package/dist-vue/_chunks/{PkSvgViewer-CTYxVK7q.js → PkSvgViewer-Dtx4uluo.js} +2 -2
  63. package/dist-vue/_chunks/{PkSvgViewer-CTYxVK7q.js.map → PkSvgViewer-Dtx4uluo.js.map} +1 -1
  64. package/dist-vue/_chunks/{PkToolShowArtifact-Csjfo9Xl.js → PkToolShowArtifact-CoYM3_A3.js} +3 -3
  65. package/dist-vue/_chunks/{PkToolShowArtifact-Csjfo9Xl.js.map → PkToolShowArtifact-CoYM3_A3.js.map} +1 -1
  66. package/dist-vue/_chunks/{PkToolShowCalendarEvent-B2tHaoqo.js → PkToolShowCalendarEvent-BZYdRwid.js} +2 -2
  67. package/dist-vue/_chunks/{PkToolShowCalendarEvent-B2tHaoqo.js.map → PkToolShowCalendarEvent-BZYdRwid.js.map} +1 -1
  68. package/dist-vue/_chunks/{PkToolShowComparison-BLDtjv3w.js → PkToolShowComparison-C4OP5c1t.js} +2 -2
  69. package/dist-vue/_chunks/{PkToolShowComparison-BLDtjv3w.js.map → PkToolShowComparison-C4OP5c1t.js.map} +1 -1
  70. package/dist-vue/_chunks/{PkToolShowContactForm-CdgD4fd8.js → PkToolShowContactForm-DjX9G8CD.js} +5 -5
  71. package/dist-vue/_chunks/{PkToolShowContactForm-CdgD4fd8.js.map → PkToolShowContactForm-DjX9G8CD.js.map} +1 -1
  72. package/dist-vue/_chunks/{PkToolShowDiagram-DGYQjjGj.js → PkToolShowDiagram-DHwAckwN.js} +2 -2
  73. package/dist-vue/_chunks/{PkToolShowDiagram-DGYQjjGj.js.map → PkToolShowDiagram-DHwAckwN.js.map} +1 -1
  74. package/dist-vue/_chunks/{PkToolShowEmail-D42WDTO9.js → PkToolShowEmail-5waUO5cm.js} +2 -2
  75. package/dist-vue/_chunks/{PkToolShowEmail-D42WDTO9.js.map → PkToolShowEmail-5waUO5cm.js.map} +1 -1
  76. package/dist-vue/_chunks/{PkToolShowForm-BhVSPIAR.js → PkToolShowForm-C7bOdRse.js} +3 -3
  77. package/dist-vue/_chunks/{PkToolShowForm-BhVSPIAR.js.map → PkToolShowForm-C7bOdRse.js.map} +1 -1
  78. package/dist-vue/_chunks/{PkToolShowImageGallery-WANi2hA0.js → PkToolShowImageGallery-D3bqInQn.js} +3 -3
  79. package/dist-vue/_chunks/{PkToolShowImageGallery-WANi2hA0.js.map → PkToolShowImageGallery-D3bqInQn.js.map} +1 -1
  80. package/dist-vue/_chunks/{PkToolShowLocation-RVbaQoU5.js → PkToolShowLocation-DE-dbJEw.js} +2 -2
  81. package/dist-vue/_chunks/{PkToolShowLocation-RVbaQoU5.js.map → PkToolShowLocation-DE-dbJEw.js.map} +1 -1
  82. package/dist-vue/_chunks/{PkToolShowMessage-D8UbJcas.js → PkToolShowMessage-DCbW7AYl.js} +2 -2
  83. package/dist-vue/_chunks/{PkToolShowMessage-D8UbJcas.js.map → PkToolShowMessage-DCbW7AYl.js.map} +1 -1
  84. package/dist-vue/_chunks/{PkToolShowProductList-BQts3MBy.js → PkToolShowProductList-Blsv3Cio.js} +3 -3
  85. package/dist-vue/_chunks/{PkToolShowProductList-BQts3MBy.js.map → PkToolShowProductList-Blsv3Cio.js.map} +1 -1
  86. package/dist-vue/_chunks/{PkToolShowQrCode-BybXCt5e.js → PkToolShowQrCode-BbMTgOW3.js} +2 -2
  87. package/dist-vue/_chunks/{PkToolShowQrCode-BybXCt5e.js.map → PkToolShowQrCode-BbMTgOW3.js.map} +1 -1
  88. package/dist-vue/_chunks/{PkToolShowSources-DRewYfe-.js → PkToolShowSources-B9d3iLVk.js} +5 -5
  89. package/dist-vue/_chunks/{PkToolShowSources-DRewYfe-.js.map → PkToolShowSources-B9d3iLVk.js.map} +1 -1
  90. package/dist-vue/_chunks/{PkToolShowSuggestedReply-DKiYUsaZ.js → PkToolShowSuggestedReply-B516t3Nb.js} +2 -2
  91. package/dist-vue/_chunks/PkToolShowSuggestedReply-B516t3Nb.js.map +1 -0
  92. package/dist-vue/_chunks/{PkToolShowWebPages-IV3OzwJe.js → PkToolShowWebPages-BF2aHJGK.js} +3 -3
  93. package/dist-vue/_chunks/{PkToolShowWebPages-IV3OzwJe.js.map → PkToolShowWebPages-BF2aHJGK.js.map} +1 -1
  94. package/dist-vue/_chunks/{PkUrl-a6l-l4Au.js → PkUrl-DA-6t_2f.js} +1 -1
  95. package/dist-vue/_chunks/{PkUrl-a6l-l4Au.js.map → PkUrl-DA-6t_2f.js.map} +1 -1
  96. package/dist-vue/_chunks/{chatbotProfileContext-R95aQ5bH.js → chatbotProfileContext-R1zi561l.js} +1 -1
  97. package/dist-vue/_chunks/{chatbotProfileContext-R95aQ5bH.js.map → chatbotProfileContext-R1zi561l.js.map} +1 -1
  98. package/dist-vue/_chunks/{constants-DpYDYnZU.js → constants-CWT3GgSb.js} +2 -2
  99. package/dist-vue/_chunks/constants-CWT3GgSb.js.map +1 -0
  100. package/dist-vue/_chunks/{createChatbotApiClient-DXmWtu3b.js → createChatbotApiClient-kU7rCKwN.js} +13 -5
  101. package/dist-vue/_chunks/createChatbotApiClient-kU7rCKwN.js.map +1 -0
  102. package/dist-vue/_chunks/{dist-BbAXqaCM.js → dist-0LxfGh4q.js} +2 -2
  103. package/dist-vue/_chunks/{dist-BbAXqaCM.js.map → dist-0LxfGh4q.js.map} +1 -1
  104. package/dist-vue/_chunks/{dist-BU1gMaJv.js → dist-46HfWmpr.js} +2 -2
  105. package/dist-vue/_chunks/{dist-BU1gMaJv.js.map → dist-46HfWmpr.js.map} +1 -1
  106. package/dist-vue/_chunks/{dist-CpoLpTWk.js → dist-8YCZENrl.js} +3 -3
  107. package/dist-vue/_chunks/{dist-CpoLpTWk.js.map → dist-8YCZENrl.js.map} +1 -1
  108. package/dist-vue/_chunks/{dist-l7mimsz6.js → dist-B34dY8rD.js} +2 -2
  109. package/dist-vue/_chunks/{dist-l7mimsz6.js.map → dist-B34dY8rD.js.map} +1 -1
  110. package/dist-vue/_chunks/{dist-CYrZgvgZ.js → dist-BfbUNalO.js} +4 -4
  111. package/dist-vue/_chunks/{dist-CYrZgvgZ.js.map → dist-BfbUNalO.js.map} +1 -1
  112. package/dist-vue/_chunks/{dist-Begygip9.js → dist-BmRGnWn9.js} +3 -3
  113. package/dist-vue/_chunks/{dist-Begygip9.js.map → dist-BmRGnWn9.js.map} +1 -1
  114. package/dist-vue/_chunks/{dist-BGl_mYmF.js → dist-BoaZDzxm.js} +4 -4
  115. package/dist-vue/_chunks/{dist-BGl_mYmF.js.map → dist-BoaZDzxm.js.map} +1 -1
  116. package/dist-vue/_chunks/{dist-DEyUvwtq.js → dist-Bq9kJLlA.js} +3 -3
  117. package/dist-vue/_chunks/{dist-DEyUvwtq.js.map → dist-Bq9kJLlA.js.map} +1 -1
  118. package/dist-vue/_chunks/{dist-nZs6UeVS.js → dist-Bs-QG-km.js} +1 -1
  119. package/dist-vue/_chunks/{dist-nZs6UeVS.js.map → dist-Bs-QG-km.js.map} +1 -1
  120. package/dist-vue/_chunks/{dist-DinYvSmw.js → dist-BxqLQ_dy.js} +2 -2
  121. package/dist-vue/_chunks/{dist-DinYvSmw.js.map → dist-BxqLQ_dy.js.map} +1 -1
  122. package/dist-vue/_chunks/{dist-Dj7rLAD9.js → dist-Cc0Lyhoq.js} +3 -3
  123. package/dist-vue/_chunks/{dist-Dj7rLAD9.js.map → dist-Cc0Lyhoq.js.map} +1 -1
  124. package/dist-vue/_chunks/{dist-Jh4J_VuU.js → dist-CiYFTV6m.js} +3 -3
  125. package/dist-vue/_chunks/{dist-Jh4J_VuU.js.map → dist-CiYFTV6m.js.map} +1 -1
  126. package/dist-vue/_chunks/{dist-BzsV0Mzp.js → dist-CrcvoPSj.js} +2 -2
  127. package/dist-vue/_chunks/{dist-BzsV0Mzp.js.map → dist-CrcvoPSj.js.map} +1 -1
  128. package/dist-vue/_chunks/{dist-CABEM3v-.js → dist-DK5UPLjU.js} +4 -4
  129. package/dist-vue/_chunks/{dist-CABEM3v-.js.map → dist-DK5UPLjU.js.map} +1 -1
  130. package/dist-vue/_chunks/{dist-uvKhW3hB.js → dist-Da4-ZEZn.js} +3 -3
  131. package/dist-vue/_chunks/{dist-uvKhW3hB.js.map → dist-Da4-ZEZn.js.map} +1 -1
  132. package/dist-vue/_chunks/{dist-SbwxxzT7.js → dist-Dc77ClI_.js} +3 -3
  133. package/dist-vue/_chunks/{dist-SbwxxzT7.js.map → dist-Dc77ClI_.js.map} +1 -1
  134. package/dist-vue/_chunks/{dist-t9ZGnt-g.js → dist-LN9oA4PR.js} +2 -2
  135. package/dist-vue/_chunks/{dist-t9ZGnt-g.js.map → dist-LN9oA4PR.js.map} +1 -1
  136. package/dist-vue/_chunks/{dist-DKzsFjYx.js → dist-gx9K9AtO.js} +5 -5
  137. package/dist-vue/_chunks/{dist-DKzsFjYx.js.map → dist-gx9K9AtO.js.map} +1 -1
  138. package/dist-vue/_chunks/{dist-Bnrde8nq.js → dist-iDVEgNgZ.js} +3 -3
  139. package/dist-vue/_chunks/{dist-Bnrde8nq.js.map → dist-iDVEgNgZ.js.map} +1 -1
  140. package/dist-vue/_chunks/{dist-Byr8BhEG.js → dist-m2_O1KGc.js} +3 -3
  141. package/dist-vue/_chunks/{dist-Byr8BhEG.js.map → dist-m2_O1KGc.js.map} +1 -1
  142. package/dist-vue/_chunks/{dist-C08Qizu9.js → dist-qArLqzVS.js} +2 -2
  143. package/dist-vue/_chunks/{dist-C08Qizu9.js.map → dist-qArLqzVS.js.map} +1 -1
  144. package/dist-vue/_chunks/{dist-6gaEFVNT.js → dist-qJLUge9r.js} +2 -2
  145. package/dist-vue/_chunks/{dist-6gaEFVNT.js.map → dist-qJLUge9r.js.map} +1 -1
  146. package/dist-vue/_chunks/{index.es-ChKj3bPm.js → index.es-W-WNHB7-.js} +1 -1
  147. package/dist-vue/_chunks/{index.es-ChKj3bPm.js.map → index.es-W-WNHB7-.js.map} +1 -1
  148. package/dist-vue/_chunks/{useChatbotStore-GEO6rQ74.js → useChatbotStore-WPRS7mhR.js} +855 -832
  149. package/dist-vue/_chunks/{useChatbotStore-GEO6rQ74.js.map → useChatbotStore-WPRS7mhR.js.map} +1 -1
  150. package/dist-vue/_chunks/{useLocalizedString-DPX1ED4p.js → useLocalizedString-BQzGZyu0.js} +1 -1
  151. package/dist-vue/_chunks/{useLocalizedString-DPX1ED4p.js.map → useLocalizedString-BQzGZyu0.js.map} +1 -1
  152. package/dist-vue/_chunks/utils-BDNQaNua.js +101 -0
  153. package/dist-vue/_chunks/utils-BDNQaNua.js.map +1 -0
  154. package/dist-vue/api.js +1 -1
  155. package/dist-vue/composables.js +4 -4
  156. package/dist-vue/index.js +105 -80
  157. package/dist-vue/index.js.map +1 -1
  158. package/dist-vue/locales.js +10 -2
  159. package/dist-vue/packages/components/src/chat/PkChatbotInput.d.ts +7 -3
  160. package/dist-vue/packages/components/src/chat/PkMessageParts.d.ts +3 -0
  161. package/dist-vue/packages/components/src/chat/constants.d.ts +1 -1
  162. package/dist-vue/packages/components/src/chat/useChatScroll.d.ts +0 -7
  163. package/dist-vue/packages/components/src/table/PkTableSortable.d.ts +4 -0
  164. package/dist-vue/packages/composable/src/chatbot/api/createChatbotApiClient.d.ts +1 -0
  165. package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +42 -3
  166. package/dist-vue/packages/composable/src/index.d.ts +1 -0
  167. package/dist-vue/packages/composable/src/useFileRow.d.ts +24 -0
  168. package/dist-vue/packages/models/src/schema/Agent.d.ts +1 -0
  169. package/dist-vue/packages/models/src/schema/Document.d.ts +12 -0
  170. package/dist-vue/packages/models/src/schema/Platform.d.ts +6 -0
  171. package/dist-vue/packages/models/src/schema/constants.d.ts +7 -2
  172. package/dist-vue/style.css +1 -1
  173. package/package.json +1 -1
  174. package/dist/_chunks/Document-BajUssb0.js.map +0 -1
  175. package/dist/_chunks/PkToolShowSuggestedReply-1j4lOkRj.js.map +0 -1
  176. package/dist-vue/_chunks/PkChatbot-q_W4cKsy.js +0 -237
  177. package/dist-vue/_chunks/PkChatbot-q_W4cKsy.js.map +0 -1
  178. package/dist-vue/_chunks/PkChatbotFilePreview-DG887KhT.js.map +0 -1
  179. package/dist-vue/_chunks/PkChatbotInput-BTszEUj2.js.map +0 -1
  180. package/dist-vue/_chunks/PkChatbotMessages-DLP7utmG.js.map +0 -1
  181. package/dist-vue/_chunks/PkChatbotViewChat-BZ9IH-sz.js.map +0 -1
  182. package/dist-vue/_chunks/PkChatbotViewFiles-B0FNE1Kk.js +0 -86
  183. package/dist-vue/_chunks/PkChatbotViewFiles-B0FNE1Kk.js.map +0 -1
  184. package/dist-vue/_chunks/PkToolShowSuggestedReply-DKiYUsaZ.js.map +0 -1
  185. package/dist-vue/_chunks/constants-DpYDYnZU.js.map +0 -1
  186. package/dist-vue/_chunks/createChatbotApiClient-DXmWtu3b.js.map +0 -1
  187. package/dist-vue/_chunks/utils-BBAveXy4.js +0 -101
  188. package/dist-vue/_chunks/utils-BBAveXy4.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbot-q_W4cKsy.js";
1
+ import { t as e } from "./_chunks/PkChatbot-DpfxBVue.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotAuth-CFqcYxj9.js";
1
+ import { t as e } from "./_chunks/PkChatbotAuth-uAPZRV6N.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotEmptyState-C70aTfG-.js";
1
+ import { t as e } from "./_chunks/PkChatbotEmptyState-JTlPPXdI.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotFeedbackForm-Ds2-nOaU.js";
1
+ import { t as e } from "./_chunks/PkChatbotFeedbackForm-CHXxzWqQ.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotFilePreview-DG887KhT.js";
1
+ import { t as e } from "./_chunks/PkChatbotFilePreview-Bf1bdZn8.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotInput-BTszEUj2.js";
1
+ import { t as e } from "./_chunks/PkChatbotInput-DWS7vqC5.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotMessageFeedback-Cp0zzCP8.js";
1
+ import { t as e } from "./_chunks/PkChatbotMessageFeedback-DAqlgPrz.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotMessages-DLP7utmG.js";
1
+ import { t as e } from "./_chunks/PkChatbotMessages-BR5JUybd.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotOutlineRail-CAIfj2dI.js";
1
+ import { t as e } from "./_chunks/PkChatbotOutlineRail-BXrdMIrA.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotStepToolDetail-C-ucv_wp.js";
1
+ import { t as e } from "./_chunks/PkChatbotStepToolDetail-C2nWevnD.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotSteps-CBOhYZ10.js";
1
+ import { t as e } from "./_chunks/PkChatbotSteps-5Ahr-zpZ.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotViewChat-BZ9IH-sz.js";
1
+ import { t as e } from "./_chunks/PkChatbotViewChat-C_t6qEEV.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotViewConversations-q5KPJt_D.js";
1
+ import { t as e } from "./_chunks/PkChatbotViewConversations-CEaEsnBy.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotViewFiles-B0FNE1Kk.js";
1
+ import { t as e } from "./_chunks/PkChatbotViewFiles-Bzcn8AEo.js";
2
2
  export { e as default };
@@ -1,2 +1,2 @@
1
- import { t as e } from "./_chunks/PkChatbotViewProfile-DTbQlkVL.js";
1
+ import { t as e } from "./_chunks/PkChatbotViewProfile-CfFeqjse.js";
2
2
  export { e as default };
@@ -1,6 +1,6 @@
1
1
  import { S as e, a as t, b as n, g as r, m as i, n as a, o, p as s, v as c, x as l, y as u } from "./schemas-B9AZeRC2.js";
2
2
  import { i as d, n as f } from "./Media-CWZEQLgV.js";
3
- import { i as p, n as m, o as h, t as g } from "./constants-DpYDYnZU.js";
3
+ import { i as p, n as m, o as h, t as g } from "./constants-CWT3GgSb.js";
4
4
  var _ = t(i({
5
5
  key: c().optional(),
6
6
  value: c().optional()
@@ -195,14 +195,51 @@ var S = (e) => {
195
195
  case "7z": return "ri:file-zip-line";
196
196
  default: return "ri:file-line";
197
197
  }
198
- }, w = (e) => {
198
+ }, w = (e) => (e ?? "").startsWith("image/"), T = (e) => w(e) || e === "application/pdf", E = (e) => {
199
199
  let t = e ?? "";
200
- return t.startsWith("image/") || t === "application/pdf";
201
- }, T = (e) => {
202
- let t = e ?? "";
203
- return t.startsWith("image/") ? "ri:image-line" : t === "application/pdf" ? "ri:file-pdf-2-line" : t.startsWith("text/") ? "ri:file-text-line" : "ri:file-line";
204
- };
200
+ return w(t) ? {
201
+ icon: "ri:image-line",
202
+ accent: "#ec4899",
203
+ label: "Image"
204
+ } : t === "application/pdf" ? {
205
+ icon: "ri:file-pdf-2-line",
206
+ accent: "#e2483d",
207
+ label: "PDF"
208
+ } : t === "application/msword" || t.includes("wordprocessingml") ? {
209
+ icon: "ri:file-word-line",
210
+ accent: "#2b7de9",
211
+ label: "Word"
212
+ } : t === "application/vnd.ms-excel" || t.includes("spreadsheetml") ? {
213
+ icon: "ri:file-excel-line",
214
+ accent: "#1f9d57",
215
+ label: "Spreadsheet"
216
+ } : t === "application/vnd.ms-powerpoint" || t.includes("presentationml") ? {
217
+ icon: "ri:file-ppt-line",
218
+ accent: "#d98324",
219
+ label: "Presentation"
220
+ } : t.startsWith("audio/") ? {
221
+ icon: "ri:file-music-line",
222
+ accent: "#8b5cf6",
223
+ label: "Audio"
224
+ } : t.startsWith("video/") ? {
225
+ icon: "ri:file-video-line",
226
+ accent: "#6366f1",
227
+ label: "Video"
228
+ } : t === "application/zip" || t === "application/x-rar-compressed" || t === "application/x-7z-compressed" ? {
229
+ icon: "ri:file-zip-line",
230
+ accent: "#c08a1e",
231
+ label: "Archive"
232
+ } : t.startsWith("text/") ? {
233
+ icon: "ri:file-text-line",
234
+ accent: "#64748b",
235
+ label: "Text"
236
+ } : {
237
+ icon: "ri:file-line",
238
+ accent: "#64748b",
239
+ label: "File"
240
+ };
241
+ }, D = (e) => E(e).icon;
205
242
  //#endregion
206
- export { w as a, S as i, T as n, C as r, x as t };
243
+ export { w as a, S as i, D as n, T as o, C as r, x as t };
207
244
 
208
- //# sourceMappingURL=Document-Dvf2nw6v.js.map
245
+ //# sourceMappingURL=Document-c1tATTDs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Document-Dvf2nw6v.js","names":[],"sources":["../../../../packages/models/src/schema/Header.ts","../../../../packages/models/src/schema/Document.ts"],"sourcesContent":["import * as z from 'zod'\n\nexport const HeaderSchema = z.object({\n key: z.string().optional(),\n value: z.string().optional(),\n})\n\nexport const HeadesSchema = z.array(HeaderSchema).transform((headers) => {\n return headers?.filter(\n (header) => header.key?.trim() && header.value?.trim(),\n ) as Array<{ key: string; value: string }>\n})\n\nexport type Header = z.infer<typeof HeaderSchema>\nexport type Headers = z.infer<typeof HeadesSchema>\n","import * as z from 'zod'\nimport { zodQs } from '../utils'\nimport {\n SupportedLanguage,\n ExtractionStrategy,\n BrowserEngine,\n} from './constants'\nimport { MediaSchema } from './Media'\nimport { HeadesSchema } from './Header'\n\n/**\n * Processing status for document indexing and embedding generation\n */\nexport enum IndexStatus {\n Pending = 'pending',\n Processing = 'processing',\n Success = 'success',\n Failed = 'failed',\n}\n\n// ===== Document Source Types =====\n\n/**\n * Conversion options for document processing\n * Used when creating or reprocessing documents\n */\nexport const ConversionOptionsSchema = z.object({\n extractionStrategy: z.enum(ExtractionStrategy).optional(),\n browserEngine: z\n .enum(BrowserEngine)\n .optional()\n .default(BrowserEngine.FETCH),\n headers: HeadesSchema.nullish(),\n aiDescriptionModel: z.string().optional(),\n aiDescriptionPrompt: z.string().max(5000).optional(),\n language: z.string().optional(),\n forceOcr: z.boolean().default(false),\n pages: z\n .string()\n .max(100)\n .regex(/^\\d+(\\s*-\\s*\\d+)?(\\s*,\\s*\\d+(\\s*-\\s*\\d+)?)*$/)\n .optional(),\n})\n\nexport type ConversionOptions = z.infer<typeof ConversionOptionsSchema>\n\n/**\n * Metadata structure for document.metadata column\n * Consolidates all metadata from converters and source info\n */\nexport const DocumentMetadataSchema = z\n .object({\n // === Source Info (URL documents only) ===\n source: z\n .object({\n url: z.string(),\n lastScrapedAt: z.string(),\n })\n .optional(),\n\n // === Media Info (File documents only) ===\n media: MediaSchema.optional(),\n\n // === Common Fields (all document types) ===\n title: z.string().optional(),\n author: z.string().optional(),\n description: z.string().optional(),\n summary: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n\n // === PDF Specific ===\n subject: z.string().optional(),\n creator: z.string().optional(), // Original application\n producer: z.string().optional(), // PDF generator software\n creationDate: z.string().optional(),\n modificationDate: z.string().optional(),\n pageCount: z\n .union([z.number(), z.array(z.unknown())])\n .transform((val) => (Array.isArray(val) ? val.length : val))\n .optional(),\n encrypted: z.boolean().optional(),\n\n // === DOCX Specific ===\n characterCount: z.number().optional(),\n lineCount: z.number().optional(),\n\n // === URL Specific ===\n siteName: z.string().optional(),\n canonicalUrl: z.url().optional(),\n imageUrl: z.url().optional(),\n favicon: z.url().optional(),\n type: z.string().optional(), // og:type (article, website, etc.)\n locale: z.string().optional(),\n tags: z.array(z.string()).optional(),\n publishedTime: z.string().optional(),\n modifiedTime: z.string().optional(),\n\n // === Metrics (all document types) ===\n wordCount: z.number().optional(),\n paragraphCount: z.number().optional(),\n readingTime: z.number().optional(), // in minutes\n\n // === OCR (PDF documents) ===\n ocrUsed: z.boolean().optional(),\n ocrProvider: z.string().optional(),\n ocrModel: z.string().optional(),\n ocrPages: z.string().optional(),\n ocrCost: z.number().optional(),\n ocrError: z.string().optional(),\n\n // === RAG / Duplicates / Sync Info ===\n chunksCount: z.number().optional(),\n redundantChunksCount: z.number().optional(),\n hasRedundantChunks: z.boolean().optional(),\n qdrantSynced: z.boolean().optional(),\n\n // === Conversion Options (for reprocessing) ===\n conversionOptions: ConversionOptionsSchema.optional(),\n })\n .loose() // Allow additional custom fields\n\nexport type DocumentMetadata = z.infer<typeof DocumentMetadataSchema>\n\n/**\n * Document type enum\n *\n * - 'file': Document created from uploaded file (PDF, DOCX)\n * - 'url': Document created from web scraping\n * - 'revised-answer': Document created from revised AI answer\n * - 'plain-text': Document created from plain text input\n */\nexport enum DocumentType {\n File = 'file',\n Url = 'url',\n RevisedAnswer = 'revised-answer',\n PlainText = 'plain-text',\n}\n\n// ===== Schemas =====\n\n/**\n * Full document schema from database\n * Extended with computed field chunksCount\n */\nconst BaseDocumentSchema = z.object({\n id: z.string(),\n externalId: z.string().nullable(),\n name: z.string(),\n content: z.string(),\n type: z.string(),\n language: z.string(),\n metadata: z.record(z.string(), z.unknown()),\n indexStatus: z.string(),\n processedAt: z.coerce.date().nullable(),\n createdAt: z.coerce.date(),\n createdBy: z.string(),\n updatedAt: z.coerce.date(),\n updatedBy: z.string(),\n deleted: z.boolean(),\n deletedAt: z.coerce.date().nullable(),\n deletedBy: z.string().nullable(),\n organizationId: z.string(),\n priority: z.number().int().min(1).max(5).default(3),\n})\n\nexport const DocumentSchema = BaseDocumentSchema.extend({\n type: z.enum(DocumentType),\n indexStatus: z.enum(IndexStatus),\n metadata: DocumentMetadataSchema,\n // Add computed field for chunks count (populated by service layer)\n chunksCount: z.number().optional(),\n // Computed fields for redundancy tracking\n redundantChunksCount: z.number().optional(),\n hasRedundantChunks: z.boolean().optional(),\n // Qdrant sync status\n qdrantSynced: z.boolean().optional(),\n // Agent IDs associated with this document (populated in single-item reads)\n agentIds: z.array(z.string()).optional(),\n // Folder ID for this document within an agent context (populated in agent-scoped reads)\n folderId: z.string().nullable().optional(),\n // Full folder path string e.g. \"Parent / Child\" (populated in list reads when agentId is set)\n folderPath: z.string().nullable().optional(),\n})\n\n/**\n * Query parameters for listing documents with pagination, sorting, and filters\n */\nexport const DocumentQuerystringSchema = z.object({\n ...zodQs.pagination(),\n ...zodQs.sort(['id', 'updatedAt', 'createdAt', 'name']),\n ...zodQs.filters(['type', 'language', 'agentId', 'indexStatus']),\n ...zodQs.fullText(),\n ...zodQs.ids(),\n 'filter[similarity]': z.string().optional(),\n // UUID = documents in that folder; 'null' = documents at root (no folder); absent = all documents\n 'filter[folderId]': z.string().optional(),\n 'filter[hasRedundantChunks]': z.string().optional(),\n})\n\n/**\n * Document creation schema for POST /documents endpoint\n *\n * Supports three types:\n * - 'file': Requires media object with uploaded file info\n * - 'url': Requires url string for web scraping\n * - 'revised-answer': Requires content (created from revisedAnswer service)\n */\nexport const DocumentCreateDtoSchema = z\n .object({\n type: z.enum(DocumentType).default(DocumentType.File),\n name: z.string().min(1).max(255).optional(),\n language: z.enum(SupportedLanguage).optional(),\n organizationId: z.string(),\n agentIds: z.array(z.string()).min(1, 'At least one agent is required'),\n folderId: z.uuid().nullable().optional(),\n media: MediaSchema.optional(),\n url: z.url().optional(),\n content: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n extractionStrategy: z.enum(ExtractionStrategy).optional(),\n browserEngine: z.enum(BrowserEngine).optional(),\n headers: HeadesSchema.nullish().default([]),\n aiDescriptionModel: z.string().optional(),\n aiDescriptionPrompt: z.string().max(5000).optional(),\n forceOcr: z.boolean().default(false),\n pages: z\n .string()\n .max(100)\n .regex(/^\\d+(\\s*-\\s*\\d+)?(\\s*,\\s*\\d+(\\s*-\\s*\\d+)?)*$/)\n .optional(),\n priority: z.number().int().min(1).max(5).default(3).optional(),\n })\n .superRefine((data, ctx) => {\n if (data.type === DocumentType.File && !data.media) {\n ctx.addIssue({\n code: 'custom',\n params: {\n i18n: 'errors.required',\n },\n path: ['media'],\n })\n return\n }\n if (data.type === DocumentType.Url && !data.url) {\n ctx.addIssue({\n code: 'custom',\n params: {\n i18n: 'errors.required',\n },\n path: ['url'],\n })\n }\n if (\n data.type === DocumentType.PlainText &&\n !(data.name || data.language)\n ) {\n if (!data.name) {\n ctx.addIssue({\n code: 'custom',\n params: {\n i18n: 'errors.required',\n },\n path: ['name'],\n })\n }\n if (!data.language) {\n ctx.addIssue({\n code: 'custom',\n params: {\n i18n: 'errors.required',\n },\n path: ['language'],\n })\n }\n }\n })\n\n/**\n * Document update schema for PUT /documents/:id endpoint\n *\n * All fields are optional, but at least one must be provided\n */\nexport const DocumentUpdateDtoSchema = z.object({\n id: z.string(),\n organizationId: z.string(),\n content: z.string().optional(),\n name: z.string().min(1).max(255).optional(),\n language: z.enum(SupportedLanguage).optional(),\n priority: z.number().int().min(1).max(5).optional(),\n agentIds: z.array(z.string()).min(1).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n})\n\n// ===== Type Exports =====\n\nexport type Document = z.infer<typeof DocumentSchema>\nexport type DocumentQuerystring = z.infer<typeof DocumentQuerystringSchema>\nexport type DocumentCreateDto = z.infer<typeof DocumentCreateDtoSchema>\nexport type DocumentUpdateDto = z.infer<typeof DocumentUpdateDtoSchema>\n\n// ===== Helper Functions =====\n\nexport const getStatusColor = (status: IndexStatus) => {\n switch (status) {\n case IndexStatus.Success:\n return 'success'\n case IndexStatus.Failed:\n return 'danger'\n case IndexStatus.Processing:\n return 'warning'\n default:\n return 'info'\n }\n}\n\nexport const getStatusIcon = (status: IndexStatus) => {\n switch (status) {\n case IndexStatus.Success:\n return 'ri:check-line'\n case IndexStatus.Failed:\n return 'ri:error-warning-line'\n case IndexStatus.Processing:\n return 'ri:hourglass-line'\n default:\n return 'ri:time-line'\n }\n}\n\nexport const getTypeIcon = (type: DocumentType) => {\n switch (type) {\n case DocumentType.File:\n return 'ri:file-line'\n case DocumentType.Url:\n return 'ri:link'\n case DocumentType.RevisedAnswer:\n return 'ri:feedback-line'\n default:\n return 'ri:input-method-line'\n }\n}\n\nexport const getFileIcon = (extension: string) => {\n const ext = (\n extension.startsWith('.') ? extension.slice(1) : extension\n ).toLowerCase()\n switch (ext) {\n case 'pdf':\n return 'ri:file-pdf-2-line'\n case 'doc':\n case 'docx':\n return 'ri:file-word-line'\n case 'xls':\n case 'xlsx':\n return 'ri:file-excel-line'\n case 'ppt':\n case 'pptx':\n return 'ri:file-ppt-line'\n case 'txt':\n return 'ri:file-text-line'\n case 'mp3':\n case 'wav':\n case 'ogg':\n return 'ri:file-music-line'\n case 'mp4':\n case 'avi':\n case 'mkv':\n return 'ri:file-video-line'\n case 'jpg':\n case 'jpeg':\n case 'png':\n case 'gif':\n case 'bmp':\n case 'svg':\n return 'ri:file-image-line'\n case 'zip':\n case 'rar':\n case '7z':\n return 'ri:file-zip-line'\n default:\n return 'ri:file-line'\n }\n}\n\n/** Whether a file MIME type can be previewed inline in the browser (image or\n * PDF) instead of being forced as a download. Shared by every file-list surface\n * so the preview/download decision stays consistent. */\nexport const isInlineViewable = (mimeType?: string | null): boolean => {\n const mime = mimeType ?? ''\n return mime.startsWith('image/') || mime === 'application/pdf'\n}\n\n/** Icon for a file-list row, derived from its MIME type. */\nexport const fileIconForMime = (mimeType?: string | null): string => {\n const mime = mimeType ?? ''\n if (mime.startsWith('image/')) {\n return 'ri:image-line'\n }\n if (mime === 'application/pdf') {\n return 'ri:file-pdf-2-line'\n }\n if (mime.startsWith('text/')) {\n return 'ri:file-text-line'\n }\n return 'ri:file-line'\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Document-c1tATTDs.js","names":[],"sources":["../../../../packages/models/src/schema/Header.ts","../../../../packages/models/src/schema/Document.ts"],"sourcesContent":["import * as z from 'zod'\n\nexport const HeaderSchema = z.object({\n key: z.string().optional(),\n value: z.string().optional(),\n})\n\nexport const HeadesSchema = z.array(HeaderSchema).transform((headers) => {\n return headers?.filter(\n (header) => header.key?.trim() && header.value?.trim(),\n ) as Array<{ key: string; value: string }>\n})\n\nexport type Header = z.infer<typeof HeaderSchema>\nexport type Headers = z.infer<typeof HeadesSchema>\n","import * as z from 'zod'\nimport { zodQs } from '../utils'\nimport {\n SupportedLanguage,\n ExtractionStrategy,\n BrowserEngine,\n} from './constants'\nimport { MediaSchema } from './Media'\nimport { HeadesSchema } from './Header'\n\n/**\n * Processing status for document indexing and embedding generation\n */\nexport enum IndexStatus {\n Pending = 'pending',\n Processing = 'processing',\n Success = 'success',\n Failed = 'failed',\n}\n\n// ===== Document Source Types =====\n\n/**\n * Conversion options for document processing\n * Used when creating or reprocessing documents\n */\nexport const ConversionOptionsSchema = z.object({\n extractionStrategy: z.enum(ExtractionStrategy).optional(),\n browserEngine: z\n .enum(BrowserEngine)\n .optional()\n .default(BrowserEngine.FETCH),\n headers: HeadesSchema.nullish(),\n aiDescriptionModel: z.string().optional(),\n aiDescriptionPrompt: z.string().max(5000).optional(),\n language: z.string().optional(),\n forceOcr: z.boolean().default(false),\n pages: z\n .string()\n .max(100)\n .regex(/^\\d+(\\s*-\\s*\\d+)?(\\s*,\\s*\\d+(\\s*-\\s*\\d+)?)*$/)\n .optional(),\n})\n\nexport type ConversionOptions = z.infer<typeof ConversionOptionsSchema>\n\n/**\n * Metadata structure for document.metadata column\n * Consolidates all metadata from converters and source info\n */\nexport const DocumentMetadataSchema = z\n .object({\n // === Source Info (URL documents only) ===\n source: z\n .object({\n url: z.string(),\n lastScrapedAt: z.string(),\n })\n .optional(),\n\n // === Media Info (File documents only) ===\n media: MediaSchema.optional(),\n\n // === Common Fields (all document types) ===\n title: z.string().optional(),\n author: z.string().optional(),\n description: z.string().optional(),\n summary: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n\n // === PDF Specific ===\n subject: z.string().optional(),\n creator: z.string().optional(), // Original application\n producer: z.string().optional(), // PDF generator software\n creationDate: z.string().optional(),\n modificationDate: z.string().optional(),\n pageCount: z\n .union([z.number(), z.array(z.unknown())])\n .transform((val) => (Array.isArray(val) ? val.length : val))\n .optional(),\n encrypted: z.boolean().optional(),\n\n // === DOCX Specific ===\n characterCount: z.number().optional(),\n lineCount: z.number().optional(),\n\n // === URL Specific ===\n siteName: z.string().optional(),\n canonicalUrl: z.url().optional(),\n imageUrl: z.url().optional(),\n favicon: z.url().optional(),\n type: z.string().optional(), // og:type (article, website, etc.)\n locale: z.string().optional(),\n tags: z.array(z.string()).optional(),\n publishedTime: z.string().optional(),\n modifiedTime: z.string().optional(),\n\n // === Metrics (all document types) ===\n wordCount: z.number().optional(),\n paragraphCount: z.number().optional(),\n readingTime: z.number().optional(), // in minutes\n\n // === OCR (PDF documents) ===\n ocrUsed: z.boolean().optional(),\n ocrProvider: z.string().optional(),\n ocrModel: z.string().optional(),\n ocrPages: z.string().optional(),\n ocrCost: z.number().optional(),\n ocrError: z.string().optional(),\n\n // === RAG / Duplicates / Sync Info ===\n chunksCount: z.number().optional(),\n redundantChunksCount: z.number().optional(),\n hasRedundantChunks: z.boolean().optional(),\n qdrantSynced: z.boolean().optional(),\n\n // === Conversion Options (for reprocessing) ===\n conversionOptions: ConversionOptionsSchema.optional(),\n })\n .loose() // Allow additional custom fields\n\nexport type DocumentMetadata = z.infer<typeof DocumentMetadataSchema>\n\n/**\n * Document type enum\n *\n * - 'file': Document created from uploaded file (PDF, DOCX)\n * - 'url': Document created from web scraping\n * - 'revised-answer': Document created from revised AI answer\n * - 'plain-text': Document created from plain text input\n */\nexport enum DocumentType {\n File = 'file',\n Url = 'url',\n RevisedAnswer = 'revised-answer',\n PlainText = 'plain-text',\n}\n\n// ===== Schemas =====\n\n/**\n * Full document schema from database\n * Extended with computed field chunksCount\n */\nconst BaseDocumentSchema = z.object({\n id: z.string(),\n externalId: z.string().nullable(),\n name: z.string(),\n content: z.string(),\n type: z.string(),\n language: z.string(),\n metadata: z.record(z.string(), z.unknown()),\n indexStatus: z.string(),\n processedAt: z.coerce.date().nullable(),\n createdAt: z.coerce.date(),\n createdBy: z.string(),\n updatedAt: z.coerce.date(),\n updatedBy: z.string(),\n deleted: z.boolean(),\n deletedAt: z.coerce.date().nullable(),\n deletedBy: z.string().nullable(),\n organizationId: z.string(),\n priority: z.number().int().min(1).max(5).default(3),\n})\n\nexport const DocumentSchema = BaseDocumentSchema.extend({\n type: z.enum(DocumentType),\n indexStatus: z.enum(IndexStatus),\n metadata: DocumentMetadataSchema,\n // Add computed field for chunks count (populated by service layer)\n chunksCount: z.number().optional(),\n // Computed fields for redundancy tracking\n redundantChunksCount: z.number().optional(),\n hasRedundantChunks: z.boolean().optional(),\n // Qdrant sync status\n qdrantSynced: z.boolean().optional(),\n // Agent IDs associated with this document (populated in single-item reads)\n agentIds: z.array(z.string()).optional(),\n // Folder ID for this document within an agent context (populated in agent-scoped reads)\n folderId: z.string().nullable().optional(),\n // Full folder path string e.g. \"Parent / Child\" (populated in list reads when agentId is set)\n folderPath: z.string().nullable().optional(),\n})\n\n/**\n * Query parameters for listing documents with pagination, sorting, and filters\n */\nexport const DocumentQuerystringSchema = z.object({\n ...zodQs.pagination(),\n ...zodQs.sort(['id', 'updatedAt', 'createdAt', 'name']),\n ...zodQs.filters(['type', 'language', 'agentId', 'indexStatus']),\n ...zodQs.fullText(),\n ...zodQs.ids(),\n 'filter[similarity]': z.string().optional(),\n // UUID = documents in that folder; 'null' = documents at root (no folder); absent = all documents\n 'filter[folderId]': z.string().optional(),\n 'filter[hasRedundantChunks]': z.string().optional(),\n})\n\n/**\n * Document creation schema for POST /documents endpoint\n *\n * Supports three types:\n * - 'file': Requires media object with uploaded file info\n * - 'url': Requires url string for web scraping\n * - 'revised-answer': Requires content (created from revisedAnswer service)\n */\nexport const DocumentCreateDtoSchema = z\n .object({\n type: z.enum(DocumentType).default(DocumentType.File),\n name: z.string().min(1).max(255).optional(),\n language: z.enum(SupportedLanguage).optional(),\n organizationId: z.string(),\n agentIds: z.array(z.string()).min(1, 'At least one agent is required'),\n folderId: z.uuid().nullable().optional(),\n media: MediaSchema.optional(),\n url: z.url().optional(),\n content: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n extractionStrategy: z.enum(ExtractionStrategy).optional(),\n browserEngine: z.enum(BrowserEngine).optional(),\n headers: HeadesSchema.nullish().default([]),\n aiDescriptionModel: z.string().optional(),\n aiDescriptionPrompt: z.string().max(5000).optional(),\n forceOcr: z.boolean().default(false),\n pages: z\n .string()\n .max(100)\n .regex(/^\\d+(\\s*-\\s*\\d+)?(\\s*,\\s*\\d+(\\s*-\\s*\\d+)?)*$/)\n .optional(),\n priority: z.number().int().min(1).max(5).default(3).optional(),\n })\n .superRefine((data, ctx) => {\n if (data.type === DocumentType.File && !data.media) {\n ctx.addIssue({\n code: 'custom',\n params: {\n i18n: 'errors.required',\n },\n path: ['media'],\n })\n return\n }\n if (data.type === DocumentType.Url && !data.url) {\n ctx.addIssue({\n code: 'custom',\n params: {\n i18n: 'errors.required',\n },\n path: ['url'],\n })\n }\n if (\n data.type === DocumentType.PlainText &&\n !(data.name || data.language)\n ) {\n if (!data.name) {\n ctx.addIssue({\n code: 'custom',\n params: {\n i18n: 'errors.required',\n },\n path: ['name'],\n })\n }\n if (!data.language) {\n ctx.addIssue({\n code: 'custom',\n params: {\n i18n: 'errors.required',\n },\n path: ['language'],\n })\n }\n }\n })\n\n/**\n * Document update schema for PUT /documents/:id endpoint\n *\n * All fields are optional, but at least one must be provided\n */\nexport const DocumentUpdateDtoSchema = z.object({\n id: z.string(),\n organizationId: z.string(),\n content: z.string().optional(),\n name: z.string().min(1).max(255).optional(),\n language: z.enum(SupportedLanguage).optional(),\n priority: z.number().int().min(1).max(5).optional(),\n agentIds: z.array(z.string()).min(1).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n})\n\n// ===== Type Exports =====\n\nexport type Document = z.infer<typeof DocumentSchema>\nexport type DocumentQuerystring = z.infer<typeof DocumentQuerystringSchema>\nexport type DocumentCreateDto = z.infer<typeof DocumentCreateDtoSchema>\nexport type DocumentUpdateDto = z.infer<typeof DocumentUpdateDtoSchema>\n\n// ===== Helper Functions =====\n\nexport const getStatusColor = (status: IndexStatus) => {\n switch (status) {\n case IndexStatus.Success:\n return 'success'\n case IndexStatus.Failed:\n return 'danger'\n case IndexStatus.Processing:\n return 'warning'\n default:\n return 'info'\n }\n}\n\nexport const getStatusIcon = (status: IndexStatus) => {\n switch (status) {\n case IndexStatus.Success:\n return 'ri:check-line'\n case IndexStatus.Failed:\n return 'ri:error-warning-line'\n case IndexStatus.Processing:\n return 'ri:hourglass-line'\n default:\n return 'ri:time-line'\n }\n}\n\nexport const getTypeIcon = (type: DocumentType) => {\n switch (type) {\n case DocumentType.File:\n return 'ri:file-line'\n case DocumentType.Url:\n return 'ri:link'\n case DocumentType.RevisedAnswer:\n return 'ri:feedback-line'\n default:\n return 'ri:input-method-line'\n }\n}\n\nexport const getFileIcon = (extension: string) => {\n const ext = (\n extension.startsWith('.') ? extension.slice(1) : extension\n ).toLowerCase()\n switch (ext) {\n case 'pdf':\n return 'ri:file-pdf-2-line'\n case 'doc':\n case 'docx':\n return 'ri:file-word-line'\n case 'xls':\n case 'xlsx':\n return 'ri:file-excel-line'\n case 'ppt':\n case 'pptx':\n return 'ri:file-ppt-line'\n case 'txt':\n return 'ri:file-text-line'\n case 'mp3':\n case 'wav':\n case 'ogg':\n return 'ri:file-music-line'\n case 'mp4':\n case 'avi':\n case 'mkv':\n return 'ri:file-video-line'\n case 'jpg':\n case 'jpeg':\n case 'png':\n case 'gif':\n case 'bmp':\n case 'svg':\n return 'ri:file-image-line'\n case 'zip':\n case 'rar':\n case '7z':\n return 'ri:file-zip-line'\n default:\n return 'ri:file-line'\n }\n}\n\n/** Whether a MIME type is an image. */\nexport const isImageMime = (mimeType?: string | null): boolean =>\n (mimeType ?? '').startsWith('image/')\n\n/** Whether a file MIME type can be previewed inline in the browser (image or\n * PDF) instead of being forced as a download. Shared by every file-list surface\n * so the preview/download decision stays consistent. */\nexport const isInlineViewable = (mimeType?: string | null): boolean =>\n isImageMime(mimeType) || mimeType === 'application/pdf'\n\n/** File-type identity for list rows and previews: icon, accent color\n * (CSS value driving glyph and tile tint) and a short human kind label. */\nexport interface FileKind {\n icon: string\n accent: string\n label: string\n}\n\n/** File-type identity derived from a MIME type. Accents match the chat\n * attachment cards (PkChatbotFilePreview) so files read the same everywhere. */\nexport const fileKindForMime = (mimeType?: string | null): FileKind => {\n const mime = mimeType ?? ''\n if (isImageMime(mime)) {\n return { icon: 'ri:image-line', accent: '#ec4899', label: 'Image' }\n }\n if (mime === 'application/pdf') {\n return { icon: 'ri:file-pdf-2-line', accent: '#e2483d', label: 'PDF' }\n }\n if (mime === 'application/msword' || mime.includes('wordprocessingml')) {\n return { icon: 'ri:file-word-line', accent: '#2b7de9', label: 'Word' }\n }\n if (mime === 'application/vnd.ms-excel' || mime.includes('spreadsheetml')) {\n return {\n icon: 'ri:file-excel-line',\n accent: '#1f9d57',\n label: 'Spreadsheet',\n }\n }\n if (\n mime === 'application/vnd.ms-powerpoint' ||\n mime.includes('presentationml')\n ) {\n return {\n icon: 'ri:file-ppt-line',\n accent: '#d98324',\n label: 'Presentation',\n }\n }\n if (mime.startsWith('audio/')) {\n return { icon: 'ri:file-music-line', accent: '#8b5cf6', label: 'Audio' }\n }\n if (mime.startsWith('video/')) {\n return { icon: 'ri:file-video-line', accent: '#6366f1', label: 'Video' }\n }\n if (\n mime === 'application/zip' ||\n mime === 'application/x-rar-compressed' ||\n mime === 'application/x-7z-compressed'\n ) {\n return { icon: 'ri:file-zip-line', accent: '#c08a1e', label: 'Archive' }\n }\n if (mime.startsWith('text/')) {\n return { icon: 'ri:file-text-line', accent: '#64748b', label: 'Text' }\n }\n return { icon: 'ri:file-line', accent: '#64748b', label: 'File' }\n}\n\n/** Icon for a file-list row, derived from its MIME type. */\nexport const fileIconForMime = (mimeType?: string | null): string =>\n fileKindForMime(mimeType).icon\n"],"mappings":"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"}
@@ -28,4 +28,4 @@ var c = /* @__PURE__ */ i({
28
28
  //#endregion
29
29
  export { c as t };
30
30
 
31
- //# sourceMappingURL=PkAvatar-Dv3e4aUl.js.map
31
+ //# sourceMappingURL=PkAvatar-Bpf6cD4N.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PkAvatar-Dv3e4aUl.js","names":[],"sources":["../../../../packages/components/src/chat/PkAvatar.vue","../../../../packages/components/src/chat/PkAvatar.vue"],"sourcesContent":["<script setup lang=\"ts\">\n defineProps<{\n name?: string\n imgSrc?: string | null\n modifiers?: string\n }>()\n const getInitials = (name?: string) => {\n if (!name) {\n return ''\n }\n return name\n .split(' ')\n .slice(0, 2)\n .map((n) => n.charAt(0).toUpperCase())\n .join('')\n }\n</script>\n\n<template>\n <VvAvatar\n class=\"pk-avatar\"\n :img-src=\"imgSrc ? imgSrc : undefined\"\n :modifiers=\"`rounded ${!imgSrc ? modifiers : 'transparent'}`\">\n <template v-if=\"name && !imgSrc\" #default>\n {{ getInitials(name) }}\n </template>\n </VvAvatar>\n</template>\n\n<style lang=\"scss\">\n .pk-avatar {\n // Users can upload any image shape: always crop it to the circle\n // (the inner img inherits object-fit from the avatar root)\n object-fit: cover;\n overflow: hidden;\n }\n</style>\n","<script setup lang=\"ts\">\n defineProps<{\n name?: string\n imgSrc?: string | null\n modifiers?: string\n }>()\n const getInitials = (name?: string) => {\n if (!name) {\n return ''\n }\n return name\n .split(' ')\n .slice(0, 2)\n .map((n) => n.charAt(0).toUpperCase())\n .join('')\n }\n</script>\n\n<template>\n <VvAvatar\n class=\"pk-avatar\"\n :img-src=\"imgSrc ? imgSrc : undefined\"\n :modifiers=\"`rounded ${!imgSrc ? modifiers : 'transparent'}`\">\n <template v-if=\"name && !imgSrc\" #default>\n {{ getInitials(name) }}\n </template>\n </VvAvatar>\n</template>\n\n<style lang=\"scss\">\n .pk-avatar {\n // Users can upload any image shape: always crop it to the circle\n // (the inner img inherits object-fit from the avatar root)\n object-fit: cover;\n overflow: hidden;\n }\n</style>\n"],"mappings":";;;;;;;;;;;;EAMI,IAAM,KAAe,MACZ,IAGE,EACF,MAAM,GAAG,EACT,MAAM,GAAG,CAAC,EACV,KAAK,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EACpC,KAAK,EAAE,IAND;;;eAWf,EAOW,GAAA;IANP,OAAM;IACL,WAAS,EAAA,SAAS,EAAA,SAAS,KAAA;IAC3B,WAAS,WAAc,EAAA,SAAkB,gBAAT,EAAA;mBACjB,EAAA,QAAI,CAAK,EAAA,SAAA;UAAS;gBACP,CAAA,EAAA,EAApB,EAAY,EAAA,IAAI,CAAA,GAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"PkAvatar-Bpf6cD4N.js","names":[],"sources":["../../../../packages/components/src/chat/PkAvatar.vue","../../../../packages/components/src/chat/PkAvatar.vue"],"sourcesContent":["<script setup lang=\"ts\">\n defineProps<{\n name?: string\n imgSrc?: string | null\n modifiers?: string\n }>()\n const getInitials = (name?: string) => {\n if (!name) {\n return ''\n }\n return name\n .split(' ')\n .slice(0, 2)\n .map((n) => n.charAt(0).toUpperCase())\n .join('')\n }\n</script>\n\n<template>\n <VvAvatar\n class=\"pk-avatar\"\n :img-src=\"imgSrc ? imgSrc : undefined\"\n :modifiers=\"`rounded ${!imgSrc ? modifiers : 'transparent'}`\">\n <template v-if=\"name && !imgSrc\" #default>\n {{ getInitials(name) }}\n </template>\n </VvAvatar>\n</template>\n\n<style lang=\"scss\">\n .pk-avatar {\n // Users can upload any image shape: always crop it to the circle\n // (the inner img inherits object-fit from the avatar root)\n object-fit: cover;\n overflow: hidden;\n }\n</style>\n","<script setup lang=\"ts\">\n defineProps<{\n name?: string\n imgSrc?: string | null\n modifiers?: string\n }>()\n const getInitials = (name?: string) => {\n if (!name) {\n return ''\n }\n return name\n .split(' ')\n .slice(0, 2)\n .map((n) => n.charAt(0).toUpperCase())\n .join('')\n }\n</script>\n\n<template>\n <VvAvatar\n class=\"pk-avatar\"\n :img-src=\"imgSrc ? imgSrc : undefined\"\n :modifiers=\"`rounded ${!imgSrc ? modifiers : 'transparent'}`\">\n <template v-if=\"name && !imgSrc\" #default>\n {{ getInitials(name) }}\n </template>\n </VvAvatar>\n</template>\n\n<style lang=\"scss\">\n .pk-avatar {\n // Users can upload any image shape: always crop it to the circle\n // (the inner img inherits object-fit from the avatar root)\n object-fit: cover;\n overflow: hidden;\n }\n</style>\n"],"mappings":";;;;;;;;;;;;EAMI,IAAM,KAAe,MACZ,IAGE,EACF,MAAM,GAAG,EACT,MAAM,GAAG,CAAC,EACV,KAAK,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EACpC,KAAK,EAAE,IAND;;;eAWf,EAOW,GAAA;IANP,OAAM;IACL,WAAS,EAAA,SAAS,EAAA,SAAS,KAAA;IAC3B,WAAS,WAAc,EAAA,SAAkB,gBAAT,EAAA;mBACjB,EAAA,QAAI,CAAK,EAAA,SAAA;UAAS;gBACP,CAAA,EAAA,EAApB,EAAY,EAAA,IAAI,CAAA,GAAA,CAAA,CAAA,CAAA"}
@@ -0,0 +1,237 @@
1
+ import { t as e } from "./useChatbotStore-WPRS7mhR.js";
2
+ import { t } from "./PkChatbotViewConversations-CEaEsnBy.js";
3
+ import { t as n } from "./PkChatbotViewChat-C_t6qEEV.js";
4
+ import { t as r } from "./useShortUrlResolver-BTwZMNrk.js";
5
+ import { t as ee } from "./PkChatbotViewFiles-Bzcn8AEo.js";
6
+ import { t as i } from "./useLocalizedString-BQzGZyu0.js";
7
+ import { t as te } from "./PkStreamingMarkdown-C_LQOTVJ.js";
8
+ import { t as ne } from "./PkAvatar-Bpf6cD4N.js";
9
+ import { d as a } from "./utils-BDNQaNua.js";
10
+ import { t as o } from "./chatbotProfileContext-R1zi561l.js";
11
+ import { t as re } from "./PkChatbotViewProfile-CfFeqjse.js";
12
+ import { VvAlert as ie, VvButton as ae, VvButtonGroup as oe, VvDropdown as se, VvDropdownAction as ce, VvIcon as le } from "@volverjs/ui-vue/components";
13
+ import { Fragment as ue, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createSlots as f, createTextVNode as p, createVNode as m, defineComponent as h, guardReactiveProps as g, inject as _, mergeModels as v, mergeProps as de, normalizeClass as fe, normalizeProps as y, normalizeStyle as b, openBlock as x, renderList as S, renderSlot as C, toDisplayString as w, toRef as pe, unref as T, useModel as me, useSlots as he, watch as E, watchEffect as ge, withCtx as D } from "vue";
14
+ import { useI18n as _e } from "vue-i18n";
15
+ import { storeToRefs as ve } from "pinia";
16
+ //#region ../../packages/components/src/chat/PkChatbot.vue?vue&type=script&setup=true&lang.ts
17
+ var ye = { class: "pk-chatbot__header-start" }, be = ["title"], xe = { key: 1 }, Se = { class: "pk-chatbot__warning-body" }, O = { class: "pk-chatbot__warning-header" }, Ce = { class: "pk-chatbot__warning-title" }, we = { class: "pk-chatbot__warning-text" }, k = {
18
+ key: 5,
19
+ class: "pk-chatbot__view-auth flex-1 min-h-0 overflow-y-auto"
20
+ }, Te = {
21
+ key: 7,
22
+ class: "pk-chatbot__footer"
23
+ }, A = /* @__PURE__ */ h({
24
+ __name: "PkChatbot",
25
+ props: /* @__PURE__ */ v({
26
+ baseUrl: {},
27
+ basePath: {},
28
+ agentId: {},
29
+ agentType: {},
30
+ userId: {},
31
+ name: {},
32
+ model: {},
33
+ agentModel: {},
34
+ agentTools: {},
35
+ agentInterface: {},
36
+ actions: {},
37
+ revisedAnswers: {},
38
+ headers: {},
39
+ systemTheme: {},
40
+ agentFileUpload: {},
41
+ fallbackModels: {},
42
+ gatewayOptions: {},
43
+ externalContext: {},
44
+ modifier: {},
45
+ userName: {},
46
+ userFilesEnabled: { type: Boolean }
47
+ }, {
48
+ chatId: {
49
+ type: String,
50
+ default: void 0
51
+ },
52
+ chatIdModifiers: {}
53
+ }),
54
+ emits: /* @__PURE__ */ v([
55
+ "message-update",
56
+ "show-info",
57
+ "revise",
58
+ "error"
59
+ ], ["update:chatId"]),
60
+ setup(h, { expose: v, emit: A }) {
61
+ let j = he(), { t: M } = _e({ useScope: "global" }), N = h, P = A, F = me(h, "chatId"), I = e(N.agentId);
62
+ r((e) => I.apiClient.resolveShortUrls(e));
63
+ let { messages: L, chat: R, localChatId: z, activeView: B, chatError: Ee, isDark: De } = ve(I), V = pe(I, "agentId"), { startNewChat: H, stopGeneration: U, regenerate: Oe, navigate: W, sendMessage: ke } = I, G = _(o, void 0), K = s(() => G?.canManageProfile.value ?? !1), Ae = s(() => !K.value && (G?.canSignIn?.value ?? !1) && j["view-auth"] !== void 0);
64
+ E(K, (e) => {
65
+ e && B.value === "auth" && W("chat");
66
+ }), ge(() => {
67
+ I.baseUrl = N.baseUrl, I.basePath = N.basePath, I.name = N.name, I.agentType = N.agentType, I.userId = N.userId, I.agentInterface = N.agentInterface, I.agentModel = N.agentModel, I.agentTools = N.agentTools, I.headers = N.headers, I.revisedAnswers = N.revisedAnswers, I.model = N.model, I.actionsInput = N.actions, I.agentFileUpload = N.agentFileUpload, I.fallbackModels = N.fallbackModels, I.gatewayOptions = N.gatewayOptions, I.externalContext = N.externalContext, I.systemTheme = N.systemTheme, I.hideWelcomeMessage = N.modifier === "fullscreen";
68
+ }), E(() => F.value, (e) => {
69
+ e && e !== I.localChatId && (I.localChatId = e);
70
+ }, { immediate: !0 }), E(z, (e) => {
71
+ F.value = e;
72
+ }), E(Ee, (e) => {
73
+ if (e) try {
74
+ P("error", JSON.parse(e.message));
75
+ } catch {}
76
+ });
77
+ let q = s(() => N.modifier === "fullscreen"), J = s(() => N.agentType === "reasoning"), Y = s(() => N.agentInterface?.useColorsForAgentHeader), je = s(() => ["theme", `theme--${De.value ? "dark" : "light"}`]), X = s(() => N.agentInterface?.mainColor), Z = s(() => a(N.agentInterface?.textColor, X.value)), Q = i(() => N.agentInterface?.footerMessage), $ = s(() => B.value === "conversations" ? M("label.conversations") : B.value === "profile" ? M("label.profile") : B.value === "auth" ? M("label.authentication") : B.value === "files" ? M("userFiles.chatFilesTitle") : N.name), Me = s(() => R.value.status === "ready"), Ne = s(() => L.value?.[L.value.length - 1]);
78
+ return v({
79
+ startNewChat: H,
80
+ regenerate: Oe,
81
+ stopGeneration: U,
82
+ sendMessage: ke
83
+ }), E([V, z], async ([e, t]) => {
84
+ await I.initialize(e, t);
85
+ }, { immediate: !0 }), E(() => N.agentInterface?.initialMessage, () => {
86
+ R.value.messages.length === 1 && R.value.messages[0].role === "assistant" && (R.value.messages = []);
87
+ }, { deep: !0 }), E(B, (e) => {
88
+ e === "conversations" ? I.loadConversations(V.value) : e === "files" && I.loadChatFiles();
89
+ }), E(Ne, (e) => {
90
+ e && P("message-update", e);
91
+ }, {
92
+ deep: !0,
93
+ immediate: !0
94
+ }), (e, r) => {
95
+ let i = ae, a = le, o = ce, s = se, _ = oe, v = ie;
96
+ return x(), u("div", { class: fe(["pk-chatbot", [je.value, { "pk-chatbot--fullscreen": q.value }]]) }, [
97
+ q.value ? l("", !0) : (x(), u("div", {
98
+ key: 0,
99
+ class: "pk-chatbot__header",
100
+ style: b(Y.value ? { backgroundColor: X.value } : void 0)
101
+ }, [d("div", ye, [T(B) === "chat" ? (x(), c(ne, {
102
+ key: 1,
103
+ modifiers: "surface ring shrink-0",
104
+ class: "pk-chatbot__avatar",
105
+ name: h.name,
106
+ "img-src": h.agentInterface?.logo
107
+ }, null, 8, ["name", "img-src"])) : (x(), u(ue, { key: 0 }, [m(i, de({
108
+ modifiers: Y.value ? `action-quiet-${Z.value}` : "action-quiet",
109
+ icon: "ri:arrow-left-s-line",
110
+ title: T(M)("action.goBack")
111
+ }, { onClick: r[0] ||= (e) => T(W)("chat") }), null, 16), m(a, {
112
+ name: T(B) === "conversations" ? "ri:history-line" : T(B) === "files" ? "ri:attachment-2" : "ri:user-line",
113
+ class: "pk-chatbot__nav-icon",
114
+ style: b(Y.value ? { color: Z.value } : void 0)
115
+ }, null, 8, ["name", "style"])], 64)), d("strong", {
116
+ class: "pk-chatbot__title",
117
+ title: $.value,
118
+ style: b(Y.value ? { color: Z.value } : void 0)
119
+ }, w($.value), 13, be)]), m(_, {
120
+ class: "pk-chatbot__header-end",
121
+ modifiers: "compact"
122
+ }, {
123
+ default: D(() => [
124
+ C(e.$slots, "header-actions", y(g({
125
+ mainColor: X.value,
126
+ useColorsForAgentHeader: Y.value,
127
+ contrastColor: Z.value,
128
+ startNewChat: T(H),
129
+ stopGeneration: T(U)
130
+ }))),
131
+ m(s, y(g({
132
+ placement: "bottom-end",
133
+ modifiers: "menu",
134
+ flip: !0,
135
+ offset: 3,
136
+ strategy: "fixed"
137
+ })), {
138
+ items: D(() => [
139
+ m(o, { onClick: r[1] ||= (e) => T(H)() }, {
140
+ default: D(() => [m(a, { name: "ri:edit-box-line" }), p(" " + w(T(M)("action.startNewChat")), 1)]),
141
+ _: 1
142
+ }),
143
+ J.value ? l("", !0) : (x(), c(o, {
144
+ key: 0,
145
+ onClick: r[2] ||= (e) => T(W)("conversations")
146
+ }, {
147
+ default: D(() => [m(a, { name: "ri:history-line" }), p(" " + w(T(M)("action.viewRecentChats")), 1)]),
148
+ _: 1
149
+ })),
150
+ (K.value || h.userFilesEnabled) && T(z) ? (x(), c(o, {
151
+ key: 1,
152
+ onClick: r[3] ||= (e) => T(W)("files")
153
+ }, {
154
+ default: D(() => [m(a, { name: "ri:attachment-2" }), p(" " + w(T(M)("userFiles.chatFilesTitle")), 1)]),
155
+ _: 1
156
+ })) : l("", !0),
157
+ K.value ? (x(), c(o, {
158
+ key: 2,
159
+ onClick: r[4] ||= (e) => T(W)("profile")
160
+ }, {
161
+ default: D(() => [m(a, { name: "ri:user-line" }), p(" " + w(T(M)("label.profile")), 1)]),
162
+ _: 1
163
+ })) : Ae.value ? (x(), c(o, {
164
+ key: 3,
165
+ onClick: r[5] ||= (e) => T(W)("auth")
166
+ }, {
167
+ default: D(() => [m(a, { name: "ri:account-circle-line" }), p(" " + w(T(M)("action.signIn")), 1)]),
168
+ _: 1
169
+ })) : l("", !0)
170
+ ]),
171
+ default: D(() => [m(i, y(g({
172
+ modifiers: Y.value ? `action-quiet-${Z.value}` : "action-quiet",
173
+ icon: "ri:more-2-fill",
174
+ disabled: !Me.value,
175
+ title: T(M)("action.moreActions")
176
+ })), null, 16)]),
177
+ _: 1
178
+ }, 16),
179
+ C(e.$slots, "actions", y(g({
180
+ mainColor: X.value,
181
+ useColorsForAgentHeader: Y.value,
182
+ contrastColor: Z.value,
183
+ startNewChat: T(H),
184
+ stopGeneration: T(U)
185
+ })))
186
+ ]),
187
+ _: 3
188
+ })], 4)),
189
+ J.value ? (x(), u("div", xe, [d("div", Se, [m(v, { modifiers: "callout" }, {
190
+ default: D(() => [d("div", O, [m(a, {
191
+ name: "ri:alert-line",
192
+ class: "pk-chatbot__warning-icon"
193
+ }), d("strong", Ce, w(T(M)("message.warning")), 1)]), d("p", we, w(T(M)("message.reasoningAgent")), 1)]),
194
+ _: 1
195
+ })])])) : l("", !0),
196
+ T(B) === "chat" ? (x(), c(n, {
197
+ key: 2,
198
+ "agent-id": h.agentId,
199
+ modifier: h.modifier,
200
+ "user-name": h.userName,
201
+ onShowInfo: r[6] ||= (e) => P("show-info", e),
202
+ onRevise: r[7] ||= (e) => P("revise", e)
203
+ }, f({ _: 2 }, [S(Object.keys(T(j)), (t) => ({
204
+ name: t,
205
+ fn: D((n) => [C(e.$slots, t, y(g(n)))])
206
+ }))]), 1032, [
207
+ "agent-id",
208
+ "modifier",
209
+ "user-name"
210
+ ])) : T(B) === "conversations" ? (x(), c(t, {
211
+ key: 3,
212
+ "agent-id": h.agentId
213
+ }, f({ _: 2 }, [S(Object.keys(T(j)), (t) => ({
214
+ name: t,
215
+ fn: D((n) => [C(e.$slots, t, y(g(n)))])
216
+ }))]), 1032, ["agent-id"])) : T(B) === "files" ? (x(), c(ee, {
217
+ key: 4,
218
+ "agent-id": h.agentId
219
+ }, null, 8, ["agent-id"])) : T(B) === "auth" ? (x(), u("div", k, [C(e.$slots, "view-auth")])) : (x(), c(re, {
220
+ key: 6,
221
+ "agent-id": h.agentId
222
+ }, f({ _: 2 }, [S(Object.keys(T(j)), (t) => ({
223
+ name: t,
224
+ fn: D((n) => [C(e.$slots, t, y(g(n)))])
225
+ }))]), 1032, ["agent-id"])),
226
+ T(Q) ? (x(), u("div", Te, [m(te, {
227
+ markdown: T(Q),
228
+ class: "wysiwyg"
229
+ }, null, 8, ["markdown"])])) : l("", !0)
230
+ ], 2);
231
+ };
232
+ }
233
+ });
234
+ //#endregion
235
+ export { A as t };
236
+
237
+ //# sourceMappingURL=PkChatbot-DpfxBVue.js.map