@8wave/ai-elements 0.73.0 → 0.74.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 (160) hide show
  1. package/README.md +62 -15
  2. package/dist/_chunks/{PkToolShowArtifact-D-dU41VG.js → PkToolShowArtifact-c_vCWUpQ.js} +2 -2
  3. package/dist/_chunks/{PkToolShowArtifact-D-dU41VG.js.map → PkToolShowArtifact-c_vCWUpQ.js.map} +1 -1
  4. package/dist/_chunks/{PkToolShowCalendarEvent-B33fWbkk.js → PkToolShowCalendarEvent-D2VHu1V3.js} +3 -3
  5. package/dist/_chunks/{PkToolShowCalendarEvent-B33fWbkk.js.map → PkToolShowCalendarEvent-D2VHu1V3.js.map} +1 -1
  6. package/dist/_chunks/{PkToolShowComparison-CcKHsr36.js → PkToolShowComparison-C2ZUH0w4.js} +3 -3
  7. package/dist/_chunks/{PkToolShowComparison-CcKHsr36.js.map → PkToolShowComparison-C2ZUH0w4.js.map} +1 -1
  8. package/dist/_chunks/{PkToolShowContactForm-SmOSbCsp.js → PkToolShowContactForm-6C4uWDtf.js} +3 -3
  9. package/dist/_chunks/{PkToolShowContactForm-SmOSbCsp.js.map → PkToolShowContactForm-6C4uWDtf.js.map} +1 -1
  10. package/dist/_chunks/{PkToolShowEmail-BOivL2p_.js → PkToolShowEmail-BuyCHUU5.js} +3 -3
  11. package/dist/_chunks/{PkToolShowEmail-BOivL2p_.js.map → PkToolShowEmail-BuyCHUU5.js.map} +1 -1
  12. package/dist/_chunks/{PkToolShowImageGallery-Dy0vFEU-.js → PkToolShowImageGallery-ByldZ0nj.js} +2 -2
  13. package/dist/_chunks/{PkToolShowImageGallery-Dy0vFEU-.js.map → PkToolShowImageGallery-ByldZ0nj.js.map} +1 -1
  14. package/dist/_chunks/{PkToolShowLocation-US6u26ra.js → PkToolShowLocation-BCFnC5c7.js} +3 -3
  15. package/dist/_chunks/{PkToolShowLocation-US6u26ra.js.map → PkToolShowLocation-BCFnC5c7.js.map} +1 -1
  16. package/dist/_chunks/{PkToolShowMessage-Cjslxq94.js → PkToolShowMessage-6Bsfi3BC.js} +3 -3
  17. package/dist/_chunks/{PkToolShowMessage-Cjslxq94.js.map → PkToolShowMessage-6Bsfi3BC.js.map} +1 -1
  18. package/dist/_chunks/{PkToolShowMultipleChoice-BEwiJCLu.js → PkToolShowMultipleChoice-BLNTD2lK.js} +3 -3
  19. package/dist/_chunks/{PkToolShowMultipleChoice-BEwiJCLu.js.map → PkToolShowMultipleChoice-BLNTD2lK.js.map} +1 -1
  20. package/dist/_chunks/{PkToolShowProductList-D3Qe8yQM.js → PkToolShowProductList-B4S5_m-f.js} +2 -2
  21. package/dist/_chunks/{PkToolShowProductList-D3Qe8yQM.js.map → PkToolShowProductList-B4S5_m-f.js.map} +1 -1
  22. package/dist/_chunks/{PkToolShowQrCode-B64sdI0N.js → PkToolShowQrCode-BVZlzYDq.js} +3 -3
  23. package/dist/_chunks/{PkToolShowQrCode-B64sdI0N.js.map → PkToolShowQrCode-BVZlzYDq.js.map} +1 -1
  24. package/dist/_chunks/{PkToolShowSources-B2rf94fU.js → PkToolShowSources-BQo5DRwt.js} +2 -2
  25. package/dist/_chunks/{PkToolShowSources-B2rf94fU.js.map → PkToolShowSources-BQo5DRwt.js.map} +1 -1
  26. package/dist/_chunks/{PkToolShowSuggestedReply-BGWA08C7.js → PkToolShowSuggestedReply-BxDI6yp_.js} +2 -2
  27. package/dist/_chunks/{PkToolShowSuggestedReply-BGWA08C7.js.map → PkToolShowSuggestedReply-BxDI6yp_.js.map} +1 -1
  28. package/dist/_chunks/{PkToolShowWeather-ClMzD04y.js → PkToolShowWeather-DR6egBIP.js} +3 -3
  29. package/dist/_chunks/{PkToolShowWeather-ClMzD04y.js.map → PkToolShowWeather-DR6egBIP.js.map} +1 -1
  30. package/dist/_chunks/{PkToolShowWebPages-BCqywwEK.js → PkToolShowWebPages-D8RngE-F.js} +2 -2
  31. package/dist/_chunks/{PkToolShowWebPages-BCqywwEK.js.map → PkToolShowWebPages-D8RngE-F.js.map} +1 -1
  32. package/dist/_chunks/{index.es-Z3Hu-QIb.js → index.es-BGFmj59S.js} +2429 -1559
  33. package/dist/_chunks/{index.es-Z3Hu-QIb.js.map → index.es-BGFmj59S.js.map} +1 -1
  34. package/dist/ai-elements.es.js +2908 -2711
  35. package/dist/ai-elements.es.js.map +1 -1
  36. package/dist-vue/PkChatbot.js +1 -1
  37. package/dist-vue/PkChatbotFeedbackForm.js +1 -1
  38. package/dist-vue/PkChatbotFilePreview.js +1 -1
  39. package/dist-vue/PkChatbotInput.js +1 -1
  40. package/dist-vue/PkChatbotMessages.js +1 -1
  41. package/dist-vue/PkChatbotViewChat.js +1 -1
  42. package/dist-vue/PkChatbotViewConversations.js +1 -1
  43. package/dist-vue/PkChatbotViewProfile.js +1 -1
  44. package/dist-vue/_chunks/PkChatbot-woRkjgP5.js +190 -0
  45. package/dist-vue/_chunks/{PkChatbot-D5_ytfqS.js.map → PkChatbot-woRkjgP5.js.map} +1 -1
  46. package/dist-vue/_chunks/{PkChatbotFeedbackForm-CUnS-WyR.js → PkChatbotFeedbackForm-D-lx1URv.js} +2 -2
  47. package/dist-vue/_chunks/{PkChatbotFeedbackForm-CUnS-WyR.js.map → PkChatbotFeedbackForm-D-lx1URv.js.map} +1 -1
  48. package/dist-vue/_chunks/{PkChatbotFilePreview-JSpi3pmN.js → PkChatbotFilePreview-DHzuGtz5.js} +2 -2
  49. package/dist-vue/_chunks/{PkChatbotFilePreview-JSpi3pmN.js.map → PkChatbotFilePreview-DHzuGtz5.js.map} +1 -1
  50. package/dist-vue/_chunks/{PkChatbotInput-ODPhsqZt.js → PkChatbotInput-LHE0HZ9z.js} +3 -3
  51. package/dist-vue/_chunks/{PkChatbotInput-ODPhsqZt.js.map → PkChatbotInput-LHE0HZ9z.js.map} +1 -1
  52. package/dist-vue/_chunks/{PkChatbotMessages-CMLqkhmb.js → PkChatbotMessages-BxTeEm3j.js} +15 -15
  53. package/dist-vue/_chunks/{PkChatbotMessages-CMLqkhmb.js.map → PkChatbotMessages-BxTeEm3j.js.map} +1 -1
  54. package/dist-vue/_chunks/{PkChatbotViewChat-wLCypxNG.js → PkChatbotViewChat-BoEfZeco.js} +9 -9
  55. package/dist-vue/_chunks/{PkChatbotViewChat-wLCypxNG.js.map → PkChatbotViewChat-BoEfZeco.js.map} +1 -1
  56. package/dist-vue/_chunks/PkChatbotViewConversations-DvVc1arX.js +163 -0
  57. package/dist-vue/_chunks/PkChatbotViewConversations-DvVc1arX.js.map +1 -0
  58. package/dist-vue/_chunks/{PkChatbotViewProfile-CXmmVXrD.js → PkChatbotViewProfile-Dev_6pki.js} +2 -2
  59. package/dist-vue/_chunks/{PkChatbotViewProfile-CXmmVXrD.js.map → PkChatbotViewProfile-Dev_6pki.js.map} +1 -1
  60. package/dist-vue/_chunks/{PkRelativeTime-jP41qAJ5.js → PkRelativeTime-WZ2aPcp_.js} +1 -1
  61. package/dist-vue/_chunks/{PkRelativeTime-jP41qAJ5.js.map → PkRelativeTime-WZ2aPcp_.js.map} +1 -1
  62. package/dist-vue/_chunks/{PkStreamingMarkdown-CtiMH6FD.js → PkStreamingMarkdown-B4gnJ4hk.js} +1 -1
  63. package/dist-vue/_chunks/{PkStreamingMarkdown-CtiMH6FD.js.map → PkStreamingMarkdown-B4gnJ4hk.js.map} +1 -1
  64. package/dist-vue/_chunks/{PkToolShowArtifact-C2DgB_1z.js → PkToolShowArtifact-EvbUZSOf.js} +2 -2
  65. package/dist-vue/_chunks/{PkToolShowArtifact-C2DgB_1z.js.map → PkToolShowArtifact-EvbUZSOf.js.map} +1 -1
  66. package/dist-vue/_chunks/{PkToolShowContactForm-BzzbXuhh.js → PkToolShowContactForm-CsDOqSJK.js} +3 -3
  67. package/dist-vue/_chunks/{PkToolShowContactForm-BzzbXuhh.js.map → PkToolShowContactForm-CsDOqSJK.js.map} +1 -1
  68. package/dist-vue/_chunks/{PkToolShowImageGallery-DQXrJYop.js → PkToolShowImageGallery-B7Bt6ZGv.js} +2 -2
  69. package/dist-vue/_chunks/{PkToolShowImageGallery-DQXrJYop.js.map → PkToolShowImageGallery-B7Bt6ZGv.js.map} +1 -1
  70. package/dist-vue/_chunks/{PkToolShowLocation-McDIqI8y.js → PkToolShowLocation-DteWf0Cs.js} +1 -1
  71. package/dist-vue/_chunks/{PkToolShowLocation-McDIqI8y.js.map → PkToolShowLocation-DteWf0Cs.js.map} +1 -1
  72. package/dist-vue/_chunks/{PkToolShowMultipleChoice-DW3m6VbJ.js → PkToolShowMultipleChoice-DZXfWtQp.js} +1 -1
  73. package/dist-vue/_chunks/{PkToolShowMultipleChoice-DW3m6VbJ.js.map → PkToolShowMultipleChoice-DZXfWtQp.js.map} +1 -1
  74. package/dist-vue/_chunks/{PkToolShowProductList-BDSJs7bn.js → PkToolShowProductList-CtqWK0x4.js} +2 -2
  75. package/dist-vue/_chunks/{PkToolShowProductList-BDSJs7bn.js.map → PkToolShowProductList-CtqWK0x4.js.map} +1 -1
  76. package/dist-vue/_chunks/{PkToolShowSources-D5cBZxwQ.js → PkToolShowSources-ZtXFkIHt.js} +3 -3
  77. package/dist-vue/_chunks/{PkToolShowSources-D5cBZxwQ.js.map → PkToolShowSources-ZtXFkIHt.js.map} +1 -1
  78. package/dist-vue/_chunks/{PkToolShowSuggestedReply-Dm3BTWYg.js → PkToolShowSuggestedReply-30m9yWDL.js} +1 -1
  79. package/dist-vue/_chunks/{PkToolShowSuggestedReply-Dm3BTWYg.js.map → PkToolShowSuggestedReply-30m9yWDL.js.map} +1 -1
  80. package/dist-vue/_chunks/{PkToolShowWebPages-DnYVhLVU.js → PkToolShowWebPages-DZIdrdWs.js} +2 -2
  81. package/dist-vue/_chunks/{PkToolShowWebPages-DnYVhLVU.js.map → PkToolShowWebPages-DZIdrdWs.js.map} +1 -1
  82. package/dist-vue/_chunks/{PkUrl-CH4pWBR8.js → PkUrl-CGbSBfuP.js} +1 -1
  83. package/dist-vue/_chunks/{PkUrl-CH4pWBR8.js.map → PkUrl-CGbSBfuP.js.map} +1 -1
  84. package/dist-vue/_chunks/{createChatbotApiClient-2ynLWELM.js → createChatbotApiClient-YJegM3ni.js} +140 -118
  85. package/dist-vue/_chunks/createChatbotApiClient-YJegM3ni.js.map +1 -0
  86. package/dist-vue/_chunks/{dist-Bs6dYy7x.js → dist-21vPGg1O.js} +3 -3
  87. package/dist-vue/_chunks/{dist-Bs6dYy7x.js.map → dist-21vPGg1O.js.map} +1 -1
  88. package/dist-vue/_chunks/{dist-Bb1zRSg4.js → dist-BGXTbYew2.js} +4 -4
  89. package/dist-vue/_chunks/dist-BGXTbYew2.js.map +1 -0
  90. package/dist-vue/_chunks/{dist-BrlD3co0.js → dist-BL9cumqH.js} +2 -2
  91. package/dist-vue/_chunks/{dist-BrlD3co0.js.map → dist-BL9cumqH.js.map} +1 -1
  92. package/dist-vue/_chunks/{dist-B9Pw4_a5.js → dist-BU-VgsYM.js} +3 -3
  93. package/dist-vue/_chunks/{dist-B9Pw4_a5.js.map → dist-BU-VgsYM.js.map} +1 -1
  94. package/dist-vue/_chunks/{dist-D-tjAaHK.js → dist-BU5m1pTR.js} +3 -3
  95. package/dist-vue/_chunks/{dist-D-tjAaHK.js.map → dist-BU5m1pTR.js.map} +1 -1
  96. package/dist-vue/_chunks/{dist-Dn0cKZ5Q.js → dist-BbP2I_Or.js} +2 -2
  97. package/dist-vue/_chunks/{dist-Dn0cKZ5Q.js.map → dist-BbP2I_Or.js.map} +1 -1
  98. package/dist-vue/_chunks/{dist-Cvsv0YEw.js → dist-BvmTki6w.js} +3 -3
  99. package/dist-vue/_chunks/{dist-Cvsv0YEw.js.map → dist-BvmTki6w.js.map} +1 -1
  100. package/dist-vue/_chunks/{dist-QzbLuLIV.js → dist-C3dPzENq.js} +3 -3
  101. package/dist-vue/_chunks/{dist-QzbLuLIV.js.map → dist-C3dPzENq.js.map} +1 -1
  102. package/dist-vue/_chunks/{dist-BMWOJZqC.js → dist-C6AWJq9a.js} +2 -2
  103. package/dist-vue/_chunks/{dist-BMWOJZqC.js.map → dist-C6AWJq9a.js.map} +1 -1
  104. package/dist-vue/_chunks/{dist-BQCdUoYc.js → dist-CGNGkvWf.js} +4 -4
  105. package/dist-vue/_chunks/{dist-BQCdUoYc.js.map → dist-CGNGkvWf.js.map} +1 -1
  106. package/dist-vue/_chunks/{dist-JOgG1zY3.js → dist-CIN_Avbm.js} +1 -1
  107. package/dist-vue/_chunks/{dist-JOgG1zY3.js.map → dist-CIN_Avbm.js.map} +1 -1
  108. package/dist-vue/_chunks/{dist-NKG-Bt-Q.js → dist-CePpgudw.js} +3 -3
  109. package/dist-vue/_chunks/{dist-NKG-Bt-Q.js.map → dist-CePpgudw.js.map} +1 -1
  110. package/dist-vue/_chunks/{dist-C13mHkC-.js → dist-CtMo7ig_.js} +2 -2
  111. package/dist-vue/_chunks/{dist-C13mHkC-.js.map → dist-CtMo7ig_.js.map} +1 -1
  112. package/dist-vue/_chunks/{dist-DucfoJQX.js → dist-CwG072cD.js} +3 -3
  113. package/dist-vue/_chunks/{dist-DucfoJQX.js.map → dist-CwG072cD.js.map} +1 -1
  114. package/dist-vue/_chunks/{dist-_4yQQX_L.js → dist-DFvVVU0-.js} +2 -2
  115. package/dist-vue/_chunks/{dist-_4yQQX_L.js.map → dist-DFvVVU0-.js.map} +1 -1
  116. package/dist-vue/_chunks/{dist-C_tRbeXQ.js → dist-DGz57kzK.js} +2 -2
  117. package/dist-vue/_chunks/{dist-C_tRbeXQ.js.map → dist-DGz57kzK.js.map} +1 -1
  118. package/dist-vue/_chunks/{dist-C2tC3pDh.js → dist-DT30Xa-D.js} +2 -2
  119. package/dist-vue/_chunks/{dist-C2tC3pDh.js.map → dist-DT30Xa-D.js.map} +1 -1
  120. package/dist-vue/_chunks/{dist-DNn7FqmI.js → dist-DoRhRpjL.js} +2 -2
  121. package/dist-vue/_chunks/{dist-DNn7FqmI.js.map → dist-DoRhRpjL.js.map} +1 -1
  122. package/dist-vue/_chunks/{dist-CQmgfFIN.js → dist-GnhLE5-A.js} +4 -4
  123. package/dist-vue/_chunks/{dist-CQmgfFIN.js.map → dist-GnhLE5-A.js.map} +1 -1
  124. package/dist-vue/_chunks/{dist-1ToEz3Zq.js → dist-QzWOn2Kx.js} +3 -3
  125. package/dist-vue/_chunks/{dist-1ToEz3Zq.js.map → dist-QzWOn2Kx.js.map} +1 -1
  126. package/dist-vue/_chunks/{dist-e9UFeG14.js → dist-uYEYs0EJ.js} +2 -2
  127. package/dist-vue/_chunks/{dist-e9UFeG14.js.map → dist-uYEYs0EJ.js.map} +1 -1
  128. package/dist-vue/_chunks/{dist-BpT8aqtS.js → dist-ukeBjdwq.js} +4 -4
  129. package/dist-vue/_chunks/{dist-BpT8aqtS.js.map → dist-ukeBjdwq.js.map} +1 -1
  130. package/dist-vue/_chunks/{dist-BHTSdHeX.js → dist-wLB8N32T.js} +3 -3
  131. package/dist-vue/_chunks/{dist-BHTSdHeX.js.map → dist-wLB8N32T.js.map} +1 -1
  132. package/dist-vue/_chunks/{index.es-BnOT0fHY.js → index.es-CrPSzhoZ.js} +1 -1
  133. package/dist-vue/_chunks/{index.es-BnOT0fHY.js.map → index.es-CrPSzhoZ.js.map} +1 -1
  134. package/dist-vue/_chunks/{useChatbotStore-Im8Xjwte.js → useChatbotStore-DGL81KJa.js} +720 -704
  135. package/dist-vue/_chunks/{useChatbotStore-Im8Xjwte.js.map → useChatbotStore-DGL81KJa.js.map} +1 -1
  136. package/dist-vue/_chunks/{useLightbox-BiZUwsmB.js → useLightbox-1sB7fmFb.js} +1 -1
  137. package/dist-vue/_chunks/{useLightbox-BiZUwsmB.js.map → useLightbox-1sB7fmFb.js.map} +1 -1
  138. package/dist-vue/_chunks/{utils-DO7emdsn.js → utils-BegUBK7s.js} +1 -1
  139. package/dist-vue/_chunks/{utils-DO7emdsn.js.map → utils-BegUBK7s.js.map} +1 -1
  140. package/dist-vue/api.js +1 -1
  141. package/dist-vue/apps/web-component/src/composables/useChatbotAgent.d.ts +3 -1
  142. package/dist-vue/composables.js +3 -3
  143. package/dist-vue/index.js +3552 -3512
  144. package/dist-vue/index.js.map +1 -1
  145. package/dist-vue/locales.js +56 -20
  146. package/dist-vue/packages/components/src/PkEditorPrompt.d.ts +2 -0
  147. package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +6 -3
  148. package/dist-vue/packages/components/src/chat/PkEditorChannels.d.ts +16 -0
  149. package/dist-vue/packages/composable/src/chatbot/api/createChatbotApiClient.d.ts +2 -0
  150. package/dist-vue/packages/models/src/schema/Agent.d.ts +10 -0
  151. package/dist-vue/packages/models/src/schema/Chat.d.ts +6 -0
  152. package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +3 -1
  153. package/dist-vue/packages/models/src/schema/SubAgent.d.ts +3 -1
  154. package/dist-vue/style.css +1 -1
  155. package/package.json +1 -1
  156. package/dist-vue/_chunks/PkChatbot-D5_ytfqS.js +0 -190
  157. package/dist-vue/_chunks/PkChatbotViewConversations-B5qBiqo4.js +0 -40
  158. package/dist-vue/_chunks/PkChatbotViewConversations-B5qBiqo4.js.map +0 -1
  159. package/dist-vue/_chunks/createChatbotApiClient-2ynLWELM.js.map +0 -1
  160. package/dist-vue/_chunks/dist-Bb1zRSg4.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { a as e, d as t, g as n, h as r, m as i, n as a, o, p as s, u as ee, v as c, x as l } from "./schemas-sa2dDEGb.js";
2
- import { c as u, l as d, n as te, o as f, t as ne } from "./Media-Bic_vfSX.js";
3
- import { r as re, t as ie } from "./src-EtGd6cRz.js";
4
- import { PureAbility as ae, buildMongoQueryMatcher as oe, createAliasResolver as se } from "@casl/ability";
2
+ import { c as u, l as d, n as te, o as ne, t as re } from "./Media-Bic_vfSX.js";
3
+ import { r as ie, t as ae } from "./src-EtGd6cRz.js";
4
+ import { PureAbility as f, buildMongoQueryMatcher as oe, createAliasResolver as se } from "@casl/ability";
5
5
  import { createAccessControl as ce } from "better-auth/plugins";
6
- import { adminAc as le, defaultStatements as ue, memberAc as p, ownerAc as m } from "better-auth/plugins/organization/access";
6
+ import { adminAc as le, defaultStatements as p, memberAc as m, ownerAc as ue } from "better-auth/plugins/organization/access";
7
7
  //#region ../../node_modules/.pnpm/@ucast+core@2.0.0/node_modules/@ucast/core/dist/esm/index.mjs
8
8
  var h = class {
9
9
  constructor(e, t) {
@@ -20,11 +20,11 @@ var h = class {
20
20
  if (!Array.isArray(t)) throw Error(`"${e}" operator expects to receive an array of conditions`);
21
21
  super(e, t);
22
22
  }
23
- }, v = "__itself__", y = class extends h {
23
+ }, de = "__itself__", v = class extends h {
24
24
  constructor(e, t, n) {
25
25
  super(e, n), this.field = t;
26
26
  }
27
- }, de = new g("__null__", null);
27
+ }, y = new g("__null__", null);
28
28
  Object.hasOwn;
29
29
  function fe(e, t) {
30
30
  let n;
@@ -43,7 +43,7 @@ function fe(e, t) {
43
43
  }
44
44
  return n || t;
45
45
  }
46
- function b(e, t) {
46
+ function pe(e, t) {
47
47
  if (t.length === 1) return t[0];
48
48
  if (t.length === 0) return new _(e, t);
49
49
  let n = fe(e, t);
@@ -52,143 +52,143 @@ function b(e, t) {
52
52
  Object.defineProperty(Object.create(null), "__@type@__", { value: "ignore value" });
53
53
  //#endregion
54
54
  //#region ../../node_modules/.pnpm/@ucast+mongo@3.0.0/node_modules/@ucast/mongo/dist/esm/index.mjs
55
- var x = Object.defineProperty;
55
+ var b = Object.defineProperty;
56
56
  ((e, t) => {
57
57
  let n = {};
58
- for (var r in e) x(n, r, {
58
+ for (var r in e) b(n, r, {
59
59
  get: e[r],
60
60
  enumerable: !0
61
61
  });
62
- return t || x(n, Symbol.toStringTag, { value: "Module" }), n;
62
+ return t || b(n, Symbol.toStringTag, { value: "Module" }), n;
63
63
  })({
64
- $all: () => ve,
65
- $and: () => S,
66
- $elemMatch: () => he,
67
- $eq: () => j,
68
- $exists: () => E,
69
- $gt: () => O,
70
- $gte: () => D,
71
- $in: () => T,
72
- $lt: () => k,
73
- $lte: () => A,
74
- $mod: () => ye,
75
- $ne: () => M,
76
- $nin: () => _e,
77
- $nor: () => pe,
78
- $not: () => me,
79
- $options: () => P,
80
- $or: () => C,
81
- $regex: () => N,
82
- $size: () => ge,
83
- $where: () => be
64
+ $all: () => ye,
65
+ $and: () => x,
66
+ $elemMatch: () => ge,
67
+ $eq: () => k,
68
+ $exists: () => xe,
69
+ $gt: () => E,
70
+ $gte: () => T,
71
+ $in: () => w,
72
+ $lt: () => D,
73
+ $lte: () => O,
74
+ $mod: () => be,
75
+ $ne: () => A,
76
+ $nin: () => ve,
77
+ $nor: () => me,
78
+ $not: () => he,
79
+ $options: () => M,
80
+ $or: () => S,
81
+ $regex: () => j,
82
+ $size: () => _e,
83
+ $where: () => Se
84
84
  });
85
- var S = {
85
+ var x = {
86
86
  type: "compound",
87
- validate: I,
87
+ validate: P,
88
88
  parse(e, t, n) {
89
- let r = w(e, t, n);
90
- return b(e.name, r);
89
+ let r = C(e, t, n);
90
+ return pe(e.name, r);
91
91
  }
92
- }, C = S, pe = {
92
+ }, S = x, me = {
93
93
  type: "compound",
94
- validate: I,
94
+ validate: P,
95
95
  parse(e, t, n) {
96
- let r = w(e, t, n);
96
+ let r = C(e, t, n);
97
97
  return new _(e.name, r);
98
98
  }
99
99
  };
100
- function w(e, t, n) {
100
+ function C(e, t, n) {
101
101
  let r = Array(t.length);
102
102
  for (let i = 0; i < t.length; i++) {
103
103
  let a = t[i];
104
- Se(e, a, i), r[i] = n.parse(a);
104
+ we(e, a, i), r[i] = n.parse(a);
105
105
  }
106
106
  return r;
107
107
  }
108
- var me = {
108
+ var he = {
109
109
  type: "field",
110
110
  validate(e, t) {
111
111
  if (!(t && (t instanceof RegExp || t.constructor === Object))) throw Error(`"${e.name}" expects to receive either regular expression or object of field operators`);
112
112
  },
113
113
  parse(e, t, n) {
114
- let r = t instanceof RegExp ? new y("regex", n.field, t) : n.parse(t, n);
114
+ let r = t instanceof RegExp ? new v("regex", n.field, t) : n.parse(t, n);
115
115
  return new _(e.name, [r]);
116
116
  }
117
- }, he = {
117
+ }, ge = {
118
118
  type: "field",
119
119
  validate(e, t) {
120
120
  if (!t || t.constructor !== Object) throw Error(`"${e.name}" expects to receive an object with nested query or field level operators`);
121
121
  },
122
122
  parse(e, t, { parse: n, field: r, hasOperators: i }) {
123
- let a = i(t) ? n(t, { field: v }) : n(t);
124
- return new y(e.name, r, a);
123
+ let a = i(t) ? n(t, { field: de }) : n(t);
124
+ return new v(e.name, r, a);
125
125
  }
126
- }, ge = {
126
+ }, _e = {
127
127
  type: "field",
128
- validate: L("number")
129
- }, T = {
128
+ validate: F("number")
129
+ }, w = {
130
130
  type: "field",
131
- validate: F
132
- }, _e = T, ve = T, ye = {
131
+ validate: N
132
+ }, ve = w, ye = w, be = {
133
133
  type: "field",
134
134
  validate(e, t) {
135
135
  if (!Array.isArray(t) || t.length !== 2) throw Error(`"${e.name}" expects an array with 2 numeric elements`);
136
136
  }
137
- }, E = {
137
+ }, xe = {
138
138
  type: "field",
139
- validate: L("boolean")
140
- }, D = {
139
+ validate: F("boolean")
140
+ }, T = {
141
141
  type: "field",
142
- validate: xe
143
- }, O = D, k = O, A = O, j = { type: "field" }, M = j, N = {
142
+ validate: Ce
143
+ }, E = T, D = E, O = E, k = { type: "field" }, A = k, j = {
144
144
  type: "field",
145
145
  validate(e, t) {
146
146
  if (!(t instanceof RegExp) && typeof t != "string") throw Error(`"${e.name}" expects value to be a regular expression or a string that represents regular expression`);
147
147
  },
148
148
  parse(e, t, n) {
149
149
  let r = typeof t == "string" ? new RegExp(t, n.query.$options || "") : t;
150
- return new y(e.name, n.field, r);
150
+ return new v(e.name, n.field, r);
151
151
  }
152
- }, P = {
152
+ }, M = {
153
153
  type: "field",
154
- parse: () => de
155
- }, be = {
154
+ parse: () => y
155
+ }, Se = {
156
156
  type: "document",
157
- validate: L("function")
157
+ validate: F("function")
158
158
  };
159
- function F(e, t) {
159
+ function N(e, t) {
160
160
  if (!Array.isArray(t)) throw Error(`"${e.name}" expects value to be an array`);
161
161
  }
162
- function I(e, t) {
163
- if (F(e, t), !t.length) throw Error(`"${e.name}" expects to have at least one element in array`);
162
+ function P(e, t) {
163
+ if (N(e, t), !t.length) throw Error(`"${e.name}" expects to have at least one element in array`);
164
164
  }
165
- function xe(e, t) {
165
+ function Ce(e, t) {
166
166
  if (!(typeof t == "string" || typeof t == "number" || t instanceof Date)) throw Error(`"${e.name}" expects value to be comparable (i.e., string, number or date)`);
167
167
  }
168
- function L(e) {
168
+ function F(e) {
169
169
  return (t, n) => {
170
170
  if (typeof n !== e) throw Error(`"${t.name}" expects value to be a "${e}"`);
171
171
  };
172
172
  }
173
- function Se(e, t, n) {
173
+ function we(e, t, n) {
174
174
  let r = t;
175
175
  if (!r || r.constructor !== Object) throw Error(`"${e.name}" expects item at index ${n} to be an object`);
176
176
  }
177
177
  //#endregion
178
178
  //#region ../../packages/ability/src/types.ts
179
- var R = /* @__PURE__ */ function(e) {
179
+ var I = /* @__PURE__ */ function(e) {
180
180
  return e.Backoffice = "backoffice", e.Frontoffice = "frontoffice", e.System = "system", e.Public = "public", e;
181
- }({}), z = /* @__PURE__ */ function(e) {
181
+ }({}), L = /* @__PURE__ */ function(e) {
182
182
  return e.All = "all", e.Todo = "todo", e.User = "user", e.Chat = "chat", e.Agent = "agent", e.SubAgent = "subAgent", e.Document = "document", e.AgentDocument = "agent_document", e.AgentAnalytic = "agent_analytic", e.McpServer = "mcp_server", e.Media = "media", e.RevisedAnswer = "revised_answer", e.Organization = "organization", e.Member = "member", e.Lead = "lead", e.MessageFeedback = "message_feedback", e.Backoffice = "backoffice", e.Frontoffice = "frontoffice", e.System = "system", e.Invitation = "invitation", e.Crawler = "crawler", e.ReasoningChat = "reasoning_chat", e.TimeTrackerChat = "time_tracker_chat", e.OrganizationExternalAuth = "organization_external_auth", e.AgentEndpoint = "agent_endpoint", e.AgentEndpointLog = "agent_endpoint_log", e.AgentApiTool = "agent_api_tool", e;
183
- }({}), B = /* @__PURE__ */ function(e) {
183
+ }({}), R = /* @__PURE__ */ function(e) {
184
184
  return e.Draft = "draft", e.Active = "active", e.Inactive = "inactive", e;
185
- }({}), V = /* @__PURE__ */ function(e) {
185
+ }({}), z = /* @__PURE__ */ function(e) {
186
186
  return e.Public = "public", e.Private = "private", e.Organization = "organization", e;
187
- }({}), H = /* @__PURE__ */ function(e) {
187
+ }({}), B = /* @__PURE__ */ function(e) {
188
188
  return e.Chat = "chat", e.Reasoning = "reasoning", e;
189
- }({}), U = /* @__PURE__ */ function(e) {
189
+ }({}), V = /* @__PURE__ */ function(e) {
190
190
  return e.Semantic = "semantic", e.Balanced = "balanced", e.Keyword = "keyword", e;
191
- }({}), Ce = i({
191
+ }({}), Te = i({
192
192
  effort: a([
193
193
  "off",
194
194
  "low",
@@ -200,21 +200,23 @@ var R = /* @__PURE__ */ function(e) {
200
200
  "detailed",
201
201
  "concise"
202
202
  ]).optional()
203
- }).optional(), W = /* @__PURE__ */ function(e) {
203
+ }).optional(), H = /* @__PURE__ */ function(e) {
204
204
  return e.SearchInKnowledgeBase = "searchInKnowledgeBase", e.ShowSources = "showSources", e.RetrieveRevisedAnswers = "retrieveRevisedAnswers", e.ShowMultipleChoice = "showMultipleChoice", e.ShowArtifact = "showArtifact", e.ShowEmail = "showEmail", e.ShowMessage = "showMessage", e.ShowWebPages = "showWebPages", e.ShowProductList = "showProductList", e.ShowContactForm = "showContactForm", e.ShowCalendarEvent = "showCalendarEvent", e.ShowComparison = "showComparison", e.ShowLocation = "showLocation", e.ShowQrCode = "showQrCode", e.ShowImageGallery = "showImageGallery", e.ShowSuggestedReply = "showSuggestedReply", e.RequestGeolocation = "requestGeolocation", e.GetWeather = "getWeather", e.ShowWeather = "showWeather", e.Geocode = "geocode", e.ReadDocumentFile = "readDocumentFile", e;
205
- }({}), we = i({ disabled: e(a(W)).default([]) }), Te = i({
205
+ }({}), Ee = i({ disabled: e(a(H)).default([]) }), De = i({
206
206
  prompt: c().optional(),
207
207
  temperature: s().min(0).max(2).optional().default(.6),
208
208
  maxOutputTokens: s().positive().optional(),
209
209
  presencePenalty: s().min(-2).max(2).optional(),
210
210
  frequencyPenalty: s().min(-2).max(2).optional(),
211
- searchMode: a(U).optional().default(U.Balanced),
211
+ searchMode: a(V).optional().default(V.Balanced),
212
212
  limit: s().positive().max(100).optional().default(10),
213
213
  maxStepCount: s().int().min(1).max(20).optional().default(10),
214
- reasoning: Ce
215
- }), G = r((e) => typeof e == "string" ? { it: e } : e, n(c(), c())), K = "https://cdn.jsdelivr.net/npm/@8wave/ai-elements/dist/ai-elements.es.js", q = /* @__PURE__ */ function(e) {
214
+ reasoning: Te
215
+ }), U = r((e) => typeof e == "string" ? { it: e } : e, n(c(), c())), W = "https://cdn.jsdelivr.net/npm/@8wave/ai-elements/dist/ai-elements.es.js", G = /* @__PURE__ */ function(e) {
216
216
  return e.InlineModule = "inline-module", e.ScriptSrc = "script-src", e.DynamicImport = "dynamic-import", e;
217
- }({}), J = i({
217
+ }({}), K = /* @__PURE__ */ function(e) {
218
+ return e.Frontoffice = "frontoffice", e.App = "app", e.Widget = "widget", e;
219
+ }({}), q = Object.values(K), J = i({
218
220
  media: te.optional(),
219
221
  logo: c().optional(),
220
222
  theme: a([
@@ -229,22 +231,22 @@ var R = /* @__PURE__ */ function(e) {
229
231
  "black"
230
232
  ]).optional().default("auto"),
231
233
  useColorsForAgentHeader: o().optional().default(!1),
232
- initialMessage: G.optional(),
233
- messagePlaceholder: G.optional(),
234
- dismissableNotice: G.optional(),
235
- footerMessage: G.optional(),
236
- privacyPolicyNotice: G.optional(),
234
+ initialMessage: U.optional(),
235
+ messagePlaceholder: U.optional(),
236
+ dismissableNotice: U.optional(),
237
+ footerMessage: U.optional(),
238
+ privacyPolicyNotice: U.optional(),
237
239
  welcomePopup: o().optional().default(!1),
238
240
  floatingButtonPosition: a(["left", "right"]).optional().default("right"),
239
241
  maxMessageLength: s().int().positive().optional(),
240
- widgetUrl: l().default(K),
242
+ widgetUrl: l().default(W),
241
243
  loadDelay: s().int().min(0).max(3e4).optional().default(0),
242
- loaderStrategy: a(q).optional().default(q.InlineModule),
244
+ loaderStrategy: a(G).optional().default(G.InlineModule),
243
245
  customCss: c().optional()
244
246
  }), Y = i({
245
247
  enabled: o().default(!1),
246
248
  maxFileSizeBytes: s().int().positive().max(104857600).optional().default(20971520),
247
- allowedMimeTypes: e(c().regex(ne)).optional().default([...[
249
+ allowedMimeTypes: e(c().regex(re)).optional().default([...[
248
250
  "image/jpeg",
249
251
  "image/png",
250
252
  "image/gif",
@@ -261,11 +263,12 @@ var R = /* @__PURE__ */ function(e) {
261
263
  disallowPromptTraining: o().default(!0),
262
264
  providerTimeoutMs: s().int().min(1e3).max(789e3).optional()
263
265
  }), Z = i({
264
- model: Te,
266
+ model: De,
265
267
  interface: J,
266
- tools: we.default({ disabled: [] }),
268
+ tools: Ee.default({ disabled: [] }),
267
269
  fileUpload: Y.optional().default(() => Y.parse({})),
268
- gatewayOptions: X.optional().default(() => X.parse({}))
270
+ gatewayOptions: X.optional().default(() => X.parse({})),
271
+ channels: e(a(K)).optional().default(() => [...q])
269
272
  }), Q = i({
270
273
  rateLimits: i({
271
274
  minuteRateLimit: s().int().min(0).optional(),
@@ -279,13 +282,13 @@ i({
279
282
  id: c().optional(),
280
283
  name: c(),
281
284
  prompt: c().optional(),
282
- model: c().default(f.gpt52Chat),
285
+ model: c().default(ne.gpt52Chat),
283
286
  fallbackModels: e(c()).default([]),
284
- status: a(B).default(B.Draft),
285
- visibility: a(V).default(V.Organization),
287
+ status: a(R).default(R.Draft),
288
+ visibility: a(z).default(z.Organization),
286
289
  settings: Z,
287
290
  security: Q.nullish(),
288
- type: a(H).default(H.Chat),
291
+ type: a(B).default(B.Chat),
289
292
  organizationId: c()
290
293
  }), ee(() => i({
291
294
  id: c(),
@@ -293,11 +296,11 @@ i({
293
296
  prompt: c(),
294
297
  model: c(),
295
298
  fallbackModels: e(c()).nullable().default([]),
296
- status: a(B).default(B.Draft),
297
- visibility: a(V).default(V.Organization),
299
+ status: a(R).default(R.Draft),
300
+ visibility: a(z).default(z.Organization),
298
301
  settings: Z,
299
302
  security: Q.nullable(),
300
- type: a(H).default(H.Chat),
303
+ type: a(B).default(B.Chat),
301
304
  organizationId: c(),
302
305
  createdAt: d(),
303
306
  createdBy: c(),
@@ -311,14 +314,15 @@ i({
311
314
  })), i({
312
315
  id: c(),
313
316
  name: c(),
314
- status: a(B),
315
- visibility: a(V),
317
+ status: a(R),
318
+ visibility: a(z),
316
319
  organizationId: c(),
317
320
  interface: J,
318
321
  createdAt: d(),
319
322
  updatedAt: d(),
320
323
  logo: c().optional(),
321
- capabilities: i({ fileUpload: Y })
324
+ capabilities: i({ fileUpload: Y }),
325
+ channels: e(a(K)).default(() => [...q])
322
326
  }), i({
323
327
  ...u.pagination(),
324
328
  ...u.sort([
@@ -337,46 +341,54 @@ i({
337
341
  });
338
342
  //#endregion
339
343
  //#region ../../packages/ability/src/roles/User.ts
340
- var Ee = (e) => e ? [
344
+ var Oe = (e) => e ? [
341
345
  {
342
- subject: z.Chat,
346
+ subject: L.Chat,
343
347
  action: "create"
344
348
  },
345
349
  {
346
- subject: z.Chat,
350
+ subject: L.Chat,
347
351
  action: "read",
348
352
  condition: { createdBy: { $eq: e.user.id } }
349
353
  },
350
354
  {
351
- subject: z.Agent,
355
+ subject: L.Chat,
356
+ action: "update"
357
+ },
358
+ {
359
+ subject: L.Chat,
360
+ action: "delete"
361
+ },
362
+ {
363
+ subject: L.Agent,
352
364
  action: "read",
353
- condition: { status: { $eq: B.Active } }
365
+ condition: { status: { $eq: R.Active } }
354
366
  },
355
367
  {
356
- subject: z.MessageFeedback,
368
+ subject: L.MessageFeedback,
357
369
  action: "create"
358
370
  },
359
371
  {
360
- subject: z.MessageFeedback,
372
+ subject: L.MessageFeedback,
361
373
  action: "read",
362
374
  condition: { createdBy: { $eq: e.user.id } }
363
375
  }
364
- ] : [], De = se({ modify: [
376
+ ] : [], ke = se({ modify: [
365
377
  "read",
366
378
  "update",
367
379
  "delete"
368
- ] }), Oe = oe({ $or: C });
369
- new ae(Ee(), {
370
- conditionsMatcher: Oe,
371
- resolveAction: De,
380
+ ] }), Ae = oe({ $or: S });
381
+ new f(Oe(), {
382
+ conditionsMatcher: Ae,
383
+ resolveAction: ke,
372
384
  fieldMatcher: (e) => (t) => e.includes(t)
373
385
  });
374
- var $ = ce(ue);
375
- $.newRole(le.statements), $.newRole(m.statements), $.newRole(p.statements), $.newRole(p.statements);
386
+ var $ = ce(p);
387
+ $.newRole(le.statements), $.newRole(ue.statements), $.newRole(m.statements), $.newRole(m.statements);
376
388
  //#endregion
377
389
  //#region ../../packages/composable/src/chatbot/api/createChatbotApiClient.ts
378
- function ke(e) {
379
- let t = e.basePath ? ie(e.basePath) : `/api/v1/${R.Public}`, n = `${re(e.baseUrl)}${t}`;
390
+ function je(e) {
391
+ let t = e.basePath ? ae(e.basePath) : `/api/v1/${I.Public}`, n = `${ie(e.baseUrl)}${t}`;
380
392
  async function r(t, r, i = "json") {
381
393
  let a = await fetch(`${n}${t}`, {
382
394
  credentials: e.credentials ?? "include",
@@ -392,11 +404,21 @@ function ke(e) {
392
404
  return {
393
405
  async getConversations(e, t) {
394
406
  let n = t ? `&filter[userId]=${encodeURIComponent(t)}` : "";
395
- return r(`/agents/${encodeURIComponent(e)}/chats?sort=-updatedAt&page[size]=100${n}`);
407
+ return r(`/agents/${encodeURIComponent(e)}/chats?sort=-lastMessageAt&page[size]=100${n}`);
396
408
  },
397
409
  async getChat(e, t) {
398
410
  return await r(`/agents/${encodeURIComponent(e)}/chats/${encodeURIComponent(t)}`) ?? null;
399
411
  },
412
+ async updateChatTitle(e, t, n) {
413
+ return r(`/agents/${encodeURIComponent(e)}/chats/${encodeURIComponent(t)}`, {
414
+ method: "PATCH",
415
+ headers: { "Content-Type": "application/json" },
416
+ body: JSON.stringify({ title: n })
417
+ });
418
+ },
419
+ async deleteChat(e, t) {
420
+ await r(`/agents/${encodeURIComponent(e)}/chats/${encodeURIComponent(t)}`, { method: "DELETE" }, "void");
421
+ },
400
422
  async getMessageFeedbacks(e) {
401
423
  return r(`/message-feedbacks?filter[chatId]=${encodeURIComponent(e)}&page[size]=200`);
402
424
  },
@@ -484,6 +506,6 @@ function ke(e) {
484
506
  };
485
507
  }
486
508
  //#endregion
487
- export { H as a, q as i, W as n, K as o, Y as r, R as s, ke as t };
509
+ export { G as a, I as c, Y as i, H as n, B as o, K as r, W as s, je as t };
488
510
 
489
- //# sourceMappingURL=createChatbotApiClient-2ynLWELM.js.map
511
+ //# sourceMappingURL=createChatbotApiClient-YJegM3ni.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createChatbotApiClient-YJegM3ni.js","names":["c","l","u","d","f","s","n","e","t","i","r"],"sources":["../../../../node_modules/.pnpm/@ucast+core@2.0.0/node_modules/@ucast/core/dist/esm/index.mjs","../../../../node_modules/.pnpm/@ucast+mongo@3.0.0/node_modules/@ucast/mongo/dist/esm/index.mjs","../../../../packages/ability/src/types.ts","../../../../packages/models/src/schema/Agent.ts","../../../../packages/ability/src/roles/User.ts","../../../../packages/ability/src/index.ts","../../../../packages/composable/src/chatbot/api/createChatbotApiClient.ts"],"sourcesContent":["var e=class{constructor(e,t){this.operator=e,this.value=t,Object.defineProperty(this,`_notes`,{writable:!0})}get notes(){return this._notes}addNote(e){this._notes=this._notes||[],this._notes.push(e)}},t=class extends e{},n=class extends t{constructor(e,t){if(!Array.isArray(t))throw Error(`\"${e}\" operator expects to receive an array of conditions`);super(e,t)}};const r=`__itself__`;var i=class extends e{constructor(e,t,n){super(e,n),this.field=t}};const a=new t(`__null__`,null),o=Object.hasOwn||((e,t)=>Object.prototype.hasOwnProperty.call(e,t));function s(e,t){return t instanceof n&&t.operator===e}function c(e,t){let r;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a instanceof n){if(a.operator!==e){r&&r.push(a);continue}if(a.value.length===0)continue;r||(r=t.slice(0,i));let n=a.value;for(let e=0,t=n.length;e<t;e++)r.push(n[e])}else r&&r.push(a)}return r||t}function l(e,t){if(t.length===1)return t[0];if(t.length===0)return new n(e,t);let r=c(e,t);return r.length===1?r[0]:(r.length,new n(e,r))}const u=e=>e,d=()=>Object.create(null),f=Object.defineProperty(d(),`__@type@__`,{value:`ignore value`});function p(e,t,n=!1){if(!e||e&&e.constructor!==Object)return!1;for(let r in e)if(o(e,r)&&o(t,r)&&(!n||e[r]!==f))return!0;return!1}function m(e){let t=[];for(let n in e)o(e,n)&&e[n]!==f&&t.push(n);return t}function h(e,t){t!==a&&e.push(t)}const g=e=>l(`and`,e),_=e=>l(`or`,e);function v(e,t){let n=e[t];if(typeof n!=`function`)throw Error(`Unable to interpret \"${String(t)}\" condition. Did you forget to register interpreter for it?`);return n}function y(e){return e.operator}function b(e,t){let n=t,r=n&&n.getInterpreterName||y,i;switch(n?n.numberOfArguments:0){case 1:i=(t=>v(e,r(t,n))(t,a));break;case 3:i=((t,i,o)=>v(e,r(t,n))(t,i,o,a));break;default:i=((t,i)=>v(e,r(t,n))(t,i,a));break}let a={...n,interpret:i};return a.interpret}const x={compound(e,t,r){let i=(Array.isArray(t)?t:[t]).map(e=>r.parse(e));return new n(e.name,i)},field(e,t,n){return new i(e.name,n.field,t)},document(e,n){return new t(e.name,n)}};var S=class{constructor(e,t=d()){this.parse=this.parse.bind(this),this._options={operatorToConditionName:t.operatorToConditionName||u,defaultOperatorName:t.defaultOperatorName||`eq`,mergeFinalConditions:t.mergeFinalConditions||g},this._instructions=Object.keys(e).reduce((t,n)=>(t[n]={name:this._options.operatorToConditionName(n),...e[n]},t),{}),this._fieldInstructionContext={...t.fieldContext,field:``,query:{},parse:this.parse,hasOperators:e=>p(e,this._instructions,t.useIgnoreValue)},this._documentInstructionContext={...t.documentContext,parse:this.parse,query:{}},this._objectKeys=t.useIgnoreValue?m:Object.keys}setParse(e){this.parse=e,this._fieldInstructionContext.parse=e,this._documentInstructionContext.parse=e}parseField(e,t,n,r){let i=this._instructions[t];if(!i)throw Error(`Unsupported operator \"${t}\"`);if(i.type!==`field`)throw Error(`Unexpected ${i.type} operator \"${t}\" at field level`);return this._fieldInstructionContext.field=e,this._fieldInstructionContext.query=r,this.parseInstruction(i,n,this._fieldInstructionContext)}parseInstruction(e,t,n){return typeof e.validate==`function`&&e.validate(e,t),(e.parse||x[e.type])(e,t,n)}parseFieldOperators(e,t){let n=[],r=this._objectKeys(t);for(let i=0,a=r.length;i<a;i++){let a=r[i];if(!this._instructions[a])throw Error(`Field query for \"${e}\" may contain only operators or a plain object as a value`);h(n,this.parseField(e,a,t[a],t))}return n}parse(e){let t=[],n=this._objectKeys(e);this._documentInstructionContext.query=e;for(let r=0,i=n.length;r<i;r++){let i=n[r],a=e[i],o=this._instructions[i];if(o){if(o.type!==`document`&&o.type!==`compound`)throw Error(`Cannot use parsing instruction for operator \"${i}\" in \"document\" context as it is supposed to be used in \"${o.type}\" context`);h(t,this.parseInstruction(o,a,this._documentInstructionContext))}else this._fieldInstructionContext.hasOperators(a)?t.push(...this.parseFieldOperators(i,a)):h(t,this.parseField(i,this._options.defaultOperatorName,a,e))}return this._options.mergeFinalConditions(t)}};function C(e,t){return(n,...r)=>{let i=e(n,...r),a=t.bind(null,i);return Object.defineProperty(a,`ast`,{value:i}),a}}export{n as CompoundCondition,e as Condition,t as DocumentCondition,i as FieldCondition,r as ITSELF,a as NULL_CONDITION,S as ObjectQueryParser,g as buildAnd,_ as buildOr,b as createInterpreter,C as createTranslatorFactory,x as defaultInstructionParsers,p as hasOperators,u as identity,f as ignoreValue,s as isCompound,d as object,l as optimizedCompoundCondition};\n//# sourceMappingURL=index.mjs.map","import{CompoundCondition as e,FieldCondition as t,ITSELF as n,NULL_CONDITION as r,ObjectQueryParser as i,buildAnd as a,defaultInstructionParsers as o,optimizedCompoundCondition as s}from\"@ucast/core\";var c=Object.defineProperty,l=((e,t)=>{let n={};for(var r in e)c(n,r,{get:e[r],enumerable:!0});return t||c(n,Symbol.toStringTag,{value:`Module`}),n})({$all:()=>y,$and:()=>u,$elemMatch:()=>h,$eq:()=>E,$exists:()=>x,$gt:()=>C,$gte:()=>S,$in:()=>_,$lt:()=>w,$lte:()=>T,$mod:()=>b,$ne:()=>D,$nin:()=>v,$nor:()=>f,$not:()=>m,$options:()=>k,$or:()=>d,$regex:()=>O,$size:()=>g,$where:()=>A});const u={type:`compound`,validate:M,parse(e,t,n){let r=p(e,t,n);return s(e.name,r)}},d=u,f={type:`compound`,validate:M,parse(t,n,r){let i=p(t,n,r);return new e(t.name,i)}};function p(e,t,n){let r=Array(t.length);for(let i=0;i<t.length;i++){let a=t[i];F(e,a,i),r[i]=n.parse(a)}return r}const m={type:`field`,validate(e,t){if(!(t&&(t instanceof RegExp||t.constructor===Object)))throw Error(`\"${e.name}\" expects to receive either regular expression or object of field operators`)},parse(n,r,i){let a=r instanceof RegExp?new t(`regex`,i.field,r):i.parse(r,i);return new e(n.name,[a])}},h={type:`field`,validate(e,t){if(!t||t.constructor!==Object)throw Error(`\"${e.name}\" expects to receive an object with nested query or field level operators`)},parse(e,r,{parse:i,field:a,hasOperators:o}){let s=o(r)?i(r,{field:n}):i(r);return new t(e.name,a,s)}},g={type:`field`,validate:P(`number`)},_={type:`field`,validate:j},v=_,y=_,b={type:`field`,validate(e,t){if(!Array.isArray(t)||t.length!==2)throw Error(`\"${e.name}\" expects an array with 2 numeric elements`)}},x={type:`field`,validate:P(`boolean`)},S={type:`field`,validate:N},C=S,w=C,T=C,E={type:`field`},D=E,O={type:`field`,validate(e,t){if(!(t instanceof RegExp)&&typeof t!=`string`)throw Error(`\"${e.name}\" expects value to be a regular expression or a string that represents regular expression`)},parse(e,n,r){let i=typeof n==`string`?new RegExp(n,r.query.$options||``):n;return new t(e.name,r.field,i)}},k={type:`field`,parse:()=>r},A={type:`document`,validate:P(`function`)};function j(e,t){if(!Array.isArray(t))throw Error(`\"${e.name}\" expects value to be an array`)}function M(e,t){if(j(e,t),!t.length)throw Error(`\"${e.name}\" expects to have at least one element in array`)}function N(e,t){if(!(typeof t==`string`||typeof t==`number`||t instanceof Date))throw Error(`\"${e.name}\" expects value to be comparable (i.e., string, number or date)`)}function P(e){return(t,n)=>{if(typeof n!==e)throw Error(`\"${t.name}\" expects value to be a \"${e}\"`)}}function F(e,t,n){let r=t;if(!r||r.constructor!==Object)throw Error(`\"${e.name}\" expects item at index ${n} to be an object`)}var I=class extends i{constructor(e){super(e,{defaultOperatorName:`$eq`,operatorToConditionName:e=>e.slice(1)})}parse(e,t){return t&&t.field?a(this.parseFieldOperators(t.field,e)):super.parse(e)}};const L=l;export{y as $all,u as $and,h as $elemMatch,E as $eq,x as $exists,C as $gt,S as $gte,_ as $in,w as $lt,T as $lte,b as $mod,D as $ne,v as $nin,f as $nor,m as $not,k as $options,d as $or,O as $regex,g as $size,A as $where,I as MongoQueryParser,L as allParsingInstructions,o as defaultParsers};\n//# sourceMappingURL=index.mjs.map","import type { MongoQuery } from '@ucast/mongo2js'\nimport type { Session } from 'auth'\n\nexport enum Audience {\n Backoffice = 'backoffice',\n Frontoffice = 'frontoffice',\n System = 'system',\n Public = 'public',\n}\n\nexport enum Subject {\n All = 'all',\n Todo = 'todo',\n User = 'user',\n Chat = 'chat',\n Agent = 'agent',\n SubAgent = 'subAgent',\n Document = 'document',\n AgentDocument = 'agent_document',\n AgentAnalytic = 'agent_analytic',\n McpServer = 'mcp_server',\n Media = 'media',\n RevisedAnswer = 'revised_answer',\n Organization = 'organization',\n Member = 'member',\n Lead = 'lead',\n MessageFeedback = 'message_feedback',\n Backoffice = 'backoffice',\n Frontoffice = 'frontoffice',\n System = 'system',\n Invitation = 'invitation',\n Crawler = 'crawler',\n ReasoningChat = 'reasoning_chat',\n TimeTrackerChat = 'time_tracker_chat',\n OrganizationExternalAuth = 'organization_external_auth',\n AgentEndpoint = 'agent_endpoint',\n AgentEndpointLog = 'agent_endpoint_log',\n AgentApiTool = 'agent_api_tool',\n}\n\n// action\nexport type Action =\n | 'create'\n | 'read'\n | 'update'\n | 'delete'\n | 'manage'\n | 'impersonate'\n | 'invite'\n | 'access'\n | 'clone'\n | 'ban'\n | 'unban'\n | 'change-role'\n | 'resend'\n | 'cancel'\n | 'execute'\n | 'refill'\n\nexport type Capability = {\n action: Action\n subject: Subject\n fields?: string[]\n condition?: MongoQuery\n inverted?: boolean\n}\n\nexport type CapabilitiesFactory = (\n currentSession?: Session | null,\n) => Capability[]\n","import * as z from 'zod'\nimport { zodQs } from '../utils'\nimport { LanguageModel } from './constants'\nimport { MediaSchema, MIME_TYPE_REGEX } from './Media'\n\nexport enum AgentStatus {\n Draft = 'draft',\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport enum AgentVisibility {\n Public = 'public',\n Private = 'private',\n Organization = 'organization',\n}\n\nexport enum AgentType {\n Chat = 'chat',\n Reasoning = 'reasoning',\n}\n\nexport enum AgentSearchMode {\n Semantic = 'semantic',\n Balanced = 'balanced',\n Keyword = 'keyword',\n}\n\n/**\n * Provider-agnostic reasoning configuration.\n *\n * Maps to provider-specific options:\n * - OpenAI (GPT-5, o-series): `reasoningEffort` + `reasoningSummary`\n * - Anthropic Claude 4.6: adaptive thinking via `thinking: { type: 'adaptive' }`\n * - Google Gemini 3/3.1: `thinkingConfig.thinkingLevel`\n */\nexport const AgentReasoningSchema = z\n .object({\n /**\n * Reasoning effort level:\n * - `off` → disables reasoning (where supported)\n * - `low` → minimal thinking, fast and cheap\n * - `medium` → balanced reasoning (recommended default)\n * - `high` → deep reasoning, slower and more expensive\n */\n effort: z.enum(['off', 'low', 'medium', 'high']).optional(),\n /**\n * OpenAI only: format of the reasoning summary returned in the response.\n */\n reasoningSummary: z.enum(['auto', 'detailed', 'concise']).optional(),\n })\n .optional()\n\nexport type AgentReasoning = z.infer<typeof AgentReasoningSchema>\n\nexport enum AgentBuiltInTool {\n SearchInKnowledgeBase = 'searchInKnowledgeBase',\n ShowSources = 'showSources',\n RetrieveRevisedAnswers = 'retrieveRevisedAnswers',\n ShowMultipleChoice = 'showMultipleChoice',\n ShowArtifact = 'showArtifact',\n ShowEmail = 'showEmail',\n ShowMessage = 'showMessage',\n ShowWebPages = 'showWebPages',\n ShowProductList = 'showProductList',\n ShowContactForm = 'showContactForm',\n ShowCalendarEvent = 'showCalendarEvent',\n ShowComparison = 'showComparison',\n ShowLocation = 'showLocation',\n ShowQrCode = 'showQrCode',\n ShowImageGallery = 'showImageGallery',\n ShowSuggestedReply = 'showSuggestedReply',\n RequestGeolocation = 'requestGeolocation',\n GetWeather = 'getWeather',\n ShowWeather = 'showWeather',\n Geocode = 'geocode',\n ReadDocumentFile = 'readDocumentFile',\n}\n\nexport const AgentToolsSchema = z.object({\n disabled: z.array(z.enum(AgentBuiltInTool)).default([]),\n})\nexport type AgentTools = z.infer<typeof AgentToolsSchema>\n\nexport const DEFAULT_MAX_STEP_COUNT = 10\nexport const DEFAULT_SUB_AGENT_MAX_STEP_COUNT = 6\nexport const DEFAULT_ENDPOINT_MAX_STEP_COUNT = 5\n\nexport const AgentModelSchema = z.object({\n prompt: z.string().optional(),\n temperature: z.number().min(0).max(2).optional().default(0.6),\n maxOutputTokens: z.number().positive().optional(),\n presencePenalty: z.number().min(-2).max(2).optional(),\n frequencyPenalty: z.number().min(-2).max(2).optional(),\n searchMode: z\n .enum(AgentSearchMode)\n .optional()\n .default(AgentSearchMode.Balanced),\n limit: z.number().positive().max(100).optional().default(10),\n maxStepCount: z\n .number()\n .int()\n .min(1)\n .max(20)\n .optional()\n .default(DEFAULT_MAX_STEP_COUNT),\n reasoning: AgentReasoningSchema,\n})\nexport type AgentModel = z.infer<typeof AgentModelSchema>\n\nexport const LocalizedStringSchema = z.preprocess(\n (val) => (typeof val === 'string' ? { it: val } : val),\n z.record(z.string(), z.string()),\n)\nexport type LocalizedString = z.infer<typeof LocalizedStringSchema>\n\nexport const DEFAULT_WIDGET_URL =\n 'https://cdn.jsdelivr.net/npm/@8wave/ai-elements/dist/ai-elements.es.js'\n\nexport enum AgentLoaderStrategy {\n InlineModule = 'inline-module',\n ScriptSrc = 'script-src',\n DynamicImport = 'dynamic-import',\n}\n\nexport enum AgentChannel {\n Frontoffice = 'frontoffice',\n App = 'app',\n Widget = 'widget',\n}\n\nexport const ALL_AGENT_CHANNELS = Object.values(AgentChannel) as AgentChannel[]\n\nexport const AgentInterfaceSchema = z.object({\n media: MediaSchema.optional(),\n logo: z.string().optional(),\n theme: z.enum(['light', 'dark', 'auto']).optional().default('auto'),\n mainColor: z\n .string()\n .regex(/^#[0-9A-Fa-f]{6}$/)\n .optional()\n .default('#000000'),\n textColor: z.enum(['auto', 'white', 'black']).optional().default('auto'),\n useColorsForAgentHeader: z.boolean().optional().default(false),\n initialMessage: LocalizedStringSchema.optional(),\n messagePlaceholder: LocalizedStringSchema.optional(),\n dismissableNotice: LocalizedStringSchema.optional(),\n footerMessage: LocalizedStringSchema.optional(),\n privacyPolicyNotice: LocalizedStringSchema.optional(),\n welcomePopup: z.boolean().optional().default(false),\n floatingButtonPosition: z\n .enum(['left', 'right'])\n .optional()\n .default('right'),\n maxMessageLength: z.number().int().positive().optional(),\n widgetUrl: z.url().default(DEFAULT_WIDGET_URL),\n loadDelay: z.number().int().min(0).max(30000).optional().default(0),\n loaderStrategy: z\n .enum(AgentLoaderStrategy)\n .optional()\n .default(AgentLoaderStrategy.InlineModule),\n customCss: z.string().optional(),\n})\nexport type AgentInterface = z.infer<typeof AgentInterfaceSchema>\n\nexport const CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES = [\n 'image/jpeg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n 'application/pdf',\n 'text/plain',\n 'text/markdown',\n 'text/csv',\n] as const\n\nexport type ChatFileUploadMimeType =\n (typeof CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES)[number]\n\nexport const CHAT_FILE_UPLOAD_MAX_FILE_SIZE_BYTES = 104_857_600 // 100 MB\n\nexport const AgentFileUploadSchema = z.object({\n enabled: z.boolean().default(false),\n maxFileSizeBytes: z\n .number()\n .int()\n .positive()\n .max(CHAT_FILE_UPLOAD_MAX_FILE_SIZE_BYTES)\n .optional()\n .default(20_971_520),\n allowedMimeTypes: z\n .array(z.string().regex(MIME_TYPE_REGEX))\n .optional()\n .default([...CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES]),\n maxFilesPerMessage: z\n .number()\n .int()\n .positive()\n .max(10)\n .optional()\n .default(5),\n maxFilesPerChat: z.number().int().positive().max(50).optional().default(20),\n})\nexport type AgentFileUpload = z.infer<typeof AgentFileUploadSchema>\n\nexport const AgentGatewayOptionsSchema = z.object({\n zeroDataRetention: z.boolean().default(true),\n disallowPromptTraining: z.boolean().default(true),\n providerTimeoutMs: z.number().int().min(1000).max(789000).optional(),\n})\nexport type AgentGatewayOptions = z.infer<typeof AgentGatewayOptionsSchema>\n\nexport const AgentSettingsSchema = z.object({\n model: AgentModelSchema,\n interface: AgentInterfaceSchema,\n tools: AgentToolsSchema.default({ disabled: [] }),\n fileUpload: AgentFileUploadSchema.optional().default(() =>\n AgentFileUploadSchema.parse({}),\n ),\n gatewayOptions: AgentGatewayOptionsSchema.optional().default(() =>\n AgentGatewayOptionsSchema.parse({}),\n ),\n channels: z\n .array(z.enum(AgentChannel))\n .optional()\n .default(() => [...ALL_AGENT_CHANNELS]),\n})\nexport type AgentSettings = z.infer<typeof AgentSettingsSchema>\n\nexport const AgentSecuritySchema = z.object({\n rateLimits: z.object({\n minuteRateLimit: z.number().int().min(0).optional(),\n hourRateLimit: z.number().int().min(0).optional(),\n dayRateLimit: z.number().int().min(0).optional(),\n monthRateLimit: z.number().int().min(0).optional(),\n }),\n trustedOrigins: z\n .object({\n origins: z\n .array(z.url().or(z.literal('')))\n .transform((items) => {\n return items?.filter((item) => item?.trim())\n })\n .default([]),\n })\n .default({ origins: [] }),\n})\nexport type AgentSecurity = z.infer<typeof AgentSecuritySchema>\n\nexport const AgentDtoSchema = z.object({\n id: z.string().optional(),\n name: z.string(),\n prompt: z.string().optional(),\n model: z.string().default(LanguageModel.gpt52Chat),\n fallbackModels: z.array(z.string()).default([]),\n status: z.enum(AgentStatus).default(AgentStatus.Draft),\n visibility: z.enum(AgentVisibility).default(AgentVisibility.Organization),\n settings: AgentSettingsSchema,\n security: AgentSecuritySchema.nullish(),\n type: z.enum(AgentType).default(AgentType.Chat),\n organizationId: z.string(),\n})\n\nexport const AgentSchema = z.lazy(() =>\n z.object({\n id: z.string(),\n name: z.string(),\n prompt: z.string(),\n model: z.string(),\n fallbackModels: z.array(z.string()).nullable().default([]),\n status: z.enum(AgentStatus).default(AgentStatus.Draft),\n visibility: z\n .enum(AgentVisibility)\n .default(AgentVisibility.Organization),\n settings: AgentSettingsSchema,\n security: AgentSecuritySchema.nullable(),\n type: z.enum(AgentType).default(AgentType.Chat),\n organizationId: z.string(),\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 outOfBudget: z.boolean().optional().default(false),\n outOfBudgetReason: z.string().optional().default(''),\n }),\n)\n\nexport const AgentPublicSchema = z.object({\n id: z.string(),\n name: z.string(),\n status: z.enum(AgentStatus),\n visibility: z.enum(AgentVisibility),\n organizationId: z.string(),\n interface: AgentInterfaceSchema,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n logo: z.string().optional(),\n capabilities: z.object({\n fileUpload: AgentFileUploadSchema,\n }),\n channels: z\n .array(z.enum(AgentChannel))\n .default(() => [...ALL_AGENT_CHANNELS]),\n})\n\nexport const AgentsQuerystringSchema = z.object({\n ...zodQs.pagination(),\n ...zodQs.sort([\n 'id',\n 'updatedAt',\n 'createdAt',\n 'name',\n 'type',\n 'status',\n 'visibility',\n 'model',\n ]),\n ...zodQs.filters(['done', 'type']),\n ...zodQs.fullText(),\n ...zodQs.ids(),\n})\n\nexport type AgentDto = z.infer<typeof AgentDtoSchema>\nexport type Agent = z.infer<typeof AgentSchema>\nexport type AgentPublic = z.infer<typeof AgentPublicSchema>\n\nexport type AgentQuerystring = z.infer<typeof AgentsQuerystringSchema>\n","import { AgentStatus } from 'models'\nimport type { CapabilitiesFactory } from '../types'\nimport { Subject } from '../types'\n\nconst GuestCapabilities: CapabilitiesFactory = (currentSession) => {\n if (!currentSession) {\n return []\n }\n return [\n // chats\n {\n subject: Subject.Chat,\n action: 'create',\n },\n {\n subject: Subject.Chat,\n action: 'read',\n condition: {\n createdBy: {\n $eq: currentSession.user.id,\n },\n },\n },\n {\n subject: Subject.Chat,\n action: 'update',\n },\n {\n subject: Subject.Chat,\n action: 'delete',\n },\n // agents\n {\n subject: Subject.Agent,\n action: 'read',\n condition: {\n status: {\n $eq: AgentStatus.Active,\n },\n },\n },\n // feedbacks\n {\n subject: Subject.MessageFeedback,\n action: 'create',\n },\n {\n subject: Subject.MessageFeedback,\n action: 'read',\n condition: {\n createdBy: {\n $eq: currentSession.user.id,\n },\n },\n },\n ]\n}\nexport default GuestCapabilities\n","import type { MongoAbility, InferSubjects, ForcedSubject } from '@casl/ability'\nimport type { MongoQuery } from '@ucast/mongo2js'\nimport { Action, Capability, Subject } from './types'\nimport { $or } from '@ucast/mongo2js'\nimport {\n AbilityBuilder,\n createMongoAbility,\n buildMongoQueryMatcher,\n PureAbility,\n createAliasResolver,\n FieldMatcher,\n} from '@casl/ability'\nimport { organizationCapabilitiesByRole, userCapabilitiesByRole } from './roles'\nimport type { Session } from 'auth'\nimport DefaultCapabilities from './roles/User'\nimport { createAccessControl } from 'better-auth/plugins'\nimport {\n adminAc,\n defaultStatements,\n memberAc,\n ownerAc,\n} from 'better-auth/plugins/organization/access'\n\nexport const OrganizationRoles = {\n admin: 'admin',\n owner: 'owner',\n member: 'member',\n user: 'user',\n} as const\n\nexport const UserRoles = {\n admin: 'admin',\n user: 'user',\n} as const\n\n// action alias\nconst resolveAction = createAliasResolver({\n modify: ['read', 'update', 'delete'],\n})\n\n// subject\nexport type AbilitySubject =\n | InferSubjects<'all' | Subject, true>\n | ForcedSubject<InferSubjects<'all' | Subject, true>>\ntype Ability = MongoAbility<[Action, AbilitySubject]>\n\n// matcher\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst conditionsMatcher = buildMongoQueryMatcher({ $or } as Record<string, any>)\nconst fieldMatcher: FieldMatcher = (fields) => (field) => fields.includes(field)\n\n// ability\nexport const ability = new PureAbility<[Action, AbilitySubject], MongoQuery>(\n DefaultCapabilities(),\n {\n conditionsMatcher,\n resolveAction,\n fieldMatcher,\n },\n)\n\nexport const isValidOrganizationRole = (\n role?: string | null,\n): role is keyof typeof OrganizationRoles => {\n if (!role) {\n return false\n }\n return role in OrganizationRoles\n}\n\nexport const isValidUserRole = (\n role?: string | null,\n): role is keyof typeof UserRoles => {\n if (!role) {\n return false\n }\n return role in UserRoles\n}\n\nexport const getOrganizationRoleCapabilities = (\n currentSession?: Session | null,\n): Capability[] => {\n if (!isValidOrganizationRole(currentSession?.session.organizationRole)) {\n return DefaultCapabilities(currentSession)\n }\n const capabilities =\n organizationCapabilitiesByRole[currentSession.session.organizationRole]\n if (typeof capabilities === 'function') {\n return capabilities(currentSession)\n }\n return capabilities\n}\n\nexport const getUserRoleCapabilities = (\n currentSession?: Session | null,\n): Capability[] => {\n if (!isValidUserRole(currentSession?.user.role)) {\n return DefaultCapabilities(currentSession)\n }\n const capabilities = userCapabilitiesByRole[currentSession.user.role]\n if (typeof capabilities === 'function') {\n return capabilities(currentSession)\n }\n return capabilities\n}\n\nexport const updateAbilityFromSession = (currentSession?: Session | null) => {\n const { can, build, cannot } = new AbilityBuilder<Ability>(\n createMongoAbility,\n )\n const organizationRoleCapabilities =\n getOrganizationRoleCapabilities(currentSession)\n const userRoleCapabilities = getUserRoleCapabilities(currentSession)\n const capabilities = [\n ...organizationRoleCapabilities,\n ...userRoleCapabilities,\n ]\n capabilities.forEach((capability) => {\n const { action, subject, fields, condition, inverted } = capability\n if (inverted) {\n cannot(action, subject, fields, condition)\n return\n }\n can(action, subject, fields, condition)\n })\n ability.update(\n build({\n conditionsMatcher,\n resolveAction,\n fieldMatcher,\n }).rules,\n )\n}\n\nconst ac = createAccessControl(defaultStatements)\nconst adminRole = ac.newRole(adminAc.statements)\nconst ownerRole = ac.newRole(ownerAc.statements)\nconst memberRole = ac.newRole(memberAc.statements)\nconst userRole = ac.newRole(memberAc.statements)\n\nexport const betterAuthOrganizationSettings = {\n ac,\n roles: {\n owner: ownerRole,\n admin: adminRole,\n member: memberRole,\n user: userRole,\n },\n}\n\nexport * from './types'\nexport { subject } from '@casl/ability'\n","import { Audience } from 'ability'\nimport type { Chat, MessageFeedback, AgentPublic, MediaSource } from 'models'\nimport { addInitialSlash, removeTrailingSlash } from 'utils'\n\nexport interface ChatbotApiClientOptions {\n baseUrl: string\n basePath?: string\n headers?: () => Record<string, string> | undefined\n credentials?: RequestCredentials\n}\n\nexport interface SubmitFeedbackPayload {\n messageId: string\n chatId: string\n agentId: string\n vote?: 'upvote' | 'downvote'\n userQuestion: string\n assistantMessage: string\n comment?: string\n}\n\nexport interface SubmitLeadPayload {\n agentId: string\n chatId: string\n [key: string]: unknown\n}\n\nexport interface ChatbotApiClient {\n getConversations(\n agentId: string,\n userId: string | undefined,\n ): Promise<Chat[]>\n getChat(agentId: string, chatId: string): Promise<Chat | null>\n updateChatTitle(\n agentId: string,\n chatId: string,\n title: string,\n ): Promise<Chat>\n deleteChat(agentId: string, chatId: string): Promise<void>\n getMessageFeedbacks(chatId: string): Promise<MessageFeedback[]>\n submitMessageFeedback(\n payload: SubmitFeedbackPayload,\n ): Promise<MessageFeedback>\n submitLead(payload: SubmitLeadPayload): Promise<void>\n getAgent(orgSlug: string, agentId: string): Promise<AgentPublic>\n getMediaUrl(agentId: string, chatId: string, storedFileName: string): string\n appendAuthToken(url: string): string\n uploadMedia(\n agentId: string,\n chatId: string,\n file: File,\n ): Promise<MediaSource>\n getChatEndpoint(agentId: string, type?: 'chat' | 'reasoning'): string\n expandSourceContext(\n agentId: string,\n documentId: string,\n chunkIndex: number,\n windowSize?: number,\n ): Promise<{ content: string }>\n downloadSourceDocument(\n agentId: string,\n documentId: string,\n ): Promise<{ downloadUrl: string; filename: string; mimeType: string }>\n reverseGeocode(\n lat: number,\n lon: number,\n lang?: string,\n ): Promise<string | undefined>\n forwardGeocode(\n query: string,\n lang?: string,\n ): Promise<\n { latitude: number; longitude: number; displayName: string } | undefined\n >\n}\n\nexport function createChatbotApiClient(\n options: ChatbotApiClientOptions,\n): ChatbotApiClient {\n const basePath = options.basePath\n ? addInitialSlash(options.basePath)\n : `/api/v1/${Audience.Public}`\n\n const baseUrl = `${removeTrailingSlash(options.baseUrl)}${basePath}`\n\n async function request<T>(\n url: string,\n init?: RequestInit,\n responseType: 'json' | 'void' = 'json',\n ): Promise<T> {\n const response = await fetch(`${baseUrl}${url}`, {\n credentials: options.credentials ?? 'include',\n ...init,\n headers: {\n ...options.headers?.(),\n ...init?.headers,\n },\n })\n\n if (!response.ok) {\n throw new Error(\n `API error: ${response.status} ${response.statusText}`,\n )\n }\n\n if (responseType === 'void' || response.status === 204) {\n return undefined as T\n }\n\n return response.json() as Promise<T>\n }\n\n return {\n async getConversations(agentId, userId) {\n const userFilter = userId\n ? `&filter[userId]=${encodeURIComponent(userId)}`\n : ''\n return request<Chat[]>(\n `/agents/${encodeURIComponent(agentId)}/chats?sort=-lastMessageAt&page[size]=100${userFilter}`,\n )\n },\n\n async getChat(agentId, chatId) {\n const result = await request<Chat | undefined>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n )\n return result ?? null\n },\n\n async updateChatTitle(agentId, chatId, title) {\n return request<Chat>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ title }),\n },\n )\n },\n\n async deleteChat(agentId, chatId) {\n await request<void>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n { method: 'DELETE' },\n 'void',\n )\n },\n\n async getMessageFeedbacks(chatId) {\n return request<MessageFeedback[]>(\n `/message-feedbacks?filter[chatId]=${encodeURIComponent(chatId)}&page[size]=200`,\n )\n },\n\n async submitMessageFeedback(payload) {\n return request<MessageFeedback>('/message-feedbacks', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n })\n },\n\n async submitLead(payload) {\n await request<void>(\n '/leads',\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n },\n 'void',\n )\n },\n\n async getAgent(orgSlug, agentId) {\n return request<AgentPublic>(\n `/organizations/${encodeURIComponent(orgSlug)}/agents/${encodeURIComponent(agentId)}`,\n )\n },\n\n async uploadMedia(agentId, chatId, file) {\n const formData = new FormData()\n formData.append('file', file)\n const response = await fetch(\n `${baseUrl}/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}/media/upload`,\n {\n method: 'POST',\n credentials: options.credentials ?? 'include',\n // Do NOT set Content-Type — browser sets multipart/form-data with boundary automatically\n headers: options.headers?.(),\n body: formData,\n },\n )\n if (!response.ok) {\n const text = await response.text().catch(() => '')\n let title = `Upload failed: ${response.status}`\n try {\n title =\n (JSON.parse(text) as { title?: string }).title ?? title\n } catch {\n // ignore parse errors\n }\n throw new Error(title)\n }\n return response.json() as Promise<MediaSource>\n },\n\n getChatEndpoint(agentId, type = 'chat') {\n const path = type === 'reasoning' ? 'reasoning-chat' : 'chat'\n return `${baseUrl}/agents/${encodeURIComponent(agentId)}/${path}`\n },\n\n appendAuthToken(url) {\n const bearer = options\n .headers?.()\n ?.[`Authorization`]?.slice('Bearer '.length)\n if (!bearer) {\n return url\n }\n const separator = url.includes('?') ? '&' : '?'\n return `${url}${separator}token=${encodeURIComponent(bearer)}`\n },\n\n getMediaUrl(agentId, chatId, storedFileName) {\n const base = `${baseUrl}/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}/media/${encodeURIComponent(storedFileName)}/view`\n return this.appendAuthToken(base)\n },\n\n async expandSourceContext(\n agentId,\n documentId,\n chunkIndex,\n windowSize = 2,\n ) {\n return request<{ content: string }>(\n `/agents/${encodeURIComponent(agentId)}/sources/expand-context`,\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n documentId,\n chunkIndex,\n windowSize,\n }),\n },\n )\n },\n\n async downloadSourceDocument(agentId, documentId) {\n return request<{\n downloadUrl: string\n filename: string\n mimeType: string\n }>(\n `/agents/${encodeURIComponent(agentId)}/sources/documents/${encodeURIComponent(documentId)}/download`,\n )\n },\n\n async reverseGeocode(lat, lon, lang) {\n const params = new URLSearchParams({\n lat: String(lat),\n lon: String(lon),\n })\n if (lang) {\n params.set('lang', lang)\n }\n try {\n const data = await request<{ displayName?: string }>(\n `/geocoder/reverse?${params}`,\n )\n return data.displayName\n } catch {\n return undefined\n }\n },\n\n async forwardGeocode(query, lang) {\n const params = new URLSearchParams({ q: query })\n if (lang) {\n params.set('lang', lang)\n }\n try {\n return await request<{\n latitude: number\n longitude: number\n displayName: string\n }>(`/geocoder/forward?${params}`)\n } catch {\n return undefined\n }\n },\n }\n}\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { A as e, C as t, M as n, N as r, V as i, W as a, g as o, lt as s, n as c, r as l, s as u, u as d, y as f } from "./dist-JOgG1zY3.js";
2
- import { n as p } from "./dist-BpT8aqtS.js";
1
+ import { A as e, C as t, M as n, N as r, V as i, W as a, g as o, lt as s, n as c, r as l, s as u, u as d, y as f } from "./dist-CIN_Avbm.js";
2
+ import { n as p } from "./dist-ukeBjdwq.js";
3
3
  //#region ../../node_modules/.pnpm/@codemirror+lang-liquid@6.3.1/node_modules/@codemirror/lang-liquid/dist/index.js
4
4
  var m = 1, h = 2, g = 3, _ = 180, v = 4, y = 181, b = 5, x = 182, S = 6;
5
5
  function C(e) {
@@ -368,4 +368,4 @@ function q(e = {}) {
368
368
  //#endregion
369
369
  export { q as liquid };
370
370
 
371
- //# sourceMappingURL=dist-Bs6dYy7x.js.map
371
+ //# sourceMappingURL=dist-21vPGg1O.js.map