@onlive.ai/common-121 0.2.70 → 0.2.163

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 (286) hide show
  1. package/README.md +0 -1
  2. package/components/asset/asset-modal-portal.cjs +550 -0
  3. package/components/asset/asset-modal-portal.d.cts +22 -0
  4. package/components/asset/asset-modal-portal.d.ts +22 -0
  5. package/components/asset/asset-modal-portal.js +550 -0
  6. package/components/asset/asset.cjs +3536 -0
  7. package/components/asset/asset.d.cts +37 -0
  8. package/components/asset/asset.d.ts +37 -0
  9. package/components/asset/asset.js +3536 -0
  10. package/components/asset/asset.loaders.cjs +2 -0
  11. package/components/asset/asset.loaders.d.cts +17 -0
  12. package/components/asset/asset.loaders.d.ts +17 -0
  13. package/components/asset/asset.loaders.js +2 -0
  14. package/components/asset/asset.renderer.cjs +2292 -0
  15. package/components/asset/asset.renderer.d.cts +29 -0
  16. package/components/asset/asset.renderer.d.ts +29 -0
  17. package/components/asset/asset.renderer.js +2292 -0
  18. package/components/asset/asset.styles.cjs +683 -0
  19. package/components/asset/asset.styles.d.cts +6 -0
  20. package/components/asset/asset.styles.d.ts +6 -0
  21. package/components/asset/asset.styles.js +683 -0
  22. package/components/asset/asset.types.cjs +2 -0
  23. package/components/asset/asset.types.d.cts +103 -0
  24. package/components/asset/asset.types.d.ts +103 -0
  25. package/components/asset/asset.types.js +1 -0
  26. package/components/asset/index.cjs +3536 -0
  27. package/components/asset/index.d.cts +8 -0
  28. package/components/asset/index.d.ts +8 -0
  29. package/components/asset/index.js +3536 -0
  30. package/components/player/player.cjs +2044 -0
  31. package/components/player/player.d.cts +25 -0
  32. package/components/player/player.d.ts +25 -0
  33. package/components/player/player.js +2044 -0
  34. package/components/player/player.styles.cjs +16 -0
  35. package/components/player/player.styles.d.cts +6 -0
  36. package/components/player/player.styles.d.ts +6 -0
  37. package/components/player/player.styles.js +16 -0
  38. package/components/side-bar/index.cjs +3185 -0
  39. package/components/side-bar/index.d.cts +11 -0
  40. package/components/side-bar/index.d.ts +11 -0
  41. package/components/side-bar/index.js +3185 -0
  42. package/components/side-bar/side-bar.cjs +3185 -0
  43. package/components/side-bar/side-bar.d.cts +83 -0
  44. package/components/side-bar/side-bar.d.ts +83 -0
  45. package/components/side-bar/side-bar.js +3185 -0
  46. package/components/side-bar/side-bar.styles.cjs +801 -0
  47. package/components/side-bar/side-bar.styles.d.cts +6 -0
  48. package/components/side-bar/side-bar.styles.d.ts +6 -0
  49. package/components/side-bar/side-bar.styles.js +801 -0
  50. package/components/side-bar/side-bar.types.cjs +2 -0
  51. package/components/side-bar/side-bar.types.d.cts +105 -0
  52. package/components/side-bar/side-bar.types.d.ts +105 -0
  53. package/components/side-bar/side-bar.types.js +2 -0
  54. package/components/upload/index.cjs +83 -0
  55. package/components/upload/index.d.cts +4 -0
  56. package/components/upload/index.d.ts +4 -0
  57. package/components/upload/index.js +83 -0
  58. package/components/upload/upload.cjs +83 -0
  59. package/components/upload/upload.d.cts +28 -0
  60. package/components/upload/upload.d.ts +28 -0
  61. package/components/upload/upload.js +83 -0
  62. package/components/upload/upload.styles.cjs +65 -0
  63. package/components/upload/upload.styles.d.cts +6 -0
  64. package/components/upload/upload.styles.d.ts +6 -0
  65. package/components/upload/upload.styles.js +65 -0
  66. package/components/upload/upload.types.cjs +2 -0
  67. package/components/upload/upload.types.d.cts +16 -0
  68. package/components/upload/upload.types.d.ts +16 -0
  69. package/components/upload/upload.types.js +1 -0
  70. package/index.cjs +4677 -0
  71. package/index.d.cts +338 -0
  72. package/index.d.ts +338 -0
  73. package/index.js +4677 -0
  74. package/package.json +32 -11
  75. package/react/components/asset/Asset.cjs +2 -0
  76. package/react/components/asset/Asset.d.cts +33 -0
  77. package/react/components/asset/Asset.d.ts +33 -0
  78. package/react/components/asset/Asset.jsx +2 -0
  79. package/react/components/side-bar/SideBar.cjs +2 -0
  80. package/react/components/side-bar/SideBar.d.cts +37 -0
  81. package/react/components/side-bar/SideBar.d.ts +37 -0
  82. package/react/components/side-bar/SideBar.jsx +2 -0
  83. package/react/components/upload/Upload.cjs +2 -0
  84. package/react/components/upload/Upload.d.cts +23 -0
  85. package/react/components/upload/Upload.d.ts +23 -0
  86. package/react/components/upload/Upload.jsx +2 -0
  87. package/services/audio.service.cjs +2 -2
  88. package/services/audio.service.d.cts +1 -0
  89. package/services/audio.service.d.ts +1 -0
  90. package/services/audio.service.js +2 -2
  91. package/services/conversation/conversation.service.cjs +2 -0
  92. package/services/conversation/conversation.service.d.cts +533 -0
  93. package/services/conversation/conversation.service.d.ts +533 -0
  94. package/services/conversation/conversation.service.js +2 -0
  95. package/services/conversation/conversation.types.cjs +2 -0
  96. package/services/conversation/conversation.types.d.cts +519 -0
  97. package/services/conversation/conversation.types.d.ts +519 -0
  98. package/services/conversation/conversation.types.js +2 -0
  99. package/services/conversation/index.cjs +2 -0
  100. package/services/conversation/index.d.cts +7 -0
  101. package/services/conversation/index.d.ts +7 -0
  102. package/services/conversation/index.js +2 -0
  103. package/services/faqs/faqs.service.cjs +2 -0
  104. package/services/faqs/faqs.service.d.cts +16 -0
  105. package/services/faqs/faqs.service.d.ts +16 -0
  106. package/services/faqs/faqs.service.js +2 -0
  107. package/services/faqs/faqs.types.cjs +2 -0
  108. package/services/faqs/faqs.types.d.cts +60 -0
  109. package/services/faqs/faqs.types.d.ts +60 -0
  110. package/services/faqs/faqs.types.js +1 -0
  111. package/services/faqs/index.cjs +2 -0
  112. package/services/faqs/index.d.cts +3 -0
  113. package/services/faqs/index.d.ts +3 -0
  114. package/services/faqs/index.js +2 -0
  115. package/services/file/file.service.cjs +2 -0
  116. package/services/file/file.service.d.cts +66 -0
  117. package/services/file/file.service.d.ts +66 -0
  118. package/services/file/file.service.js +2 -0
  119. package/services/file/file.types.cjs +2 -0
  120. package/services/file/file.types.d.cts +72 -0
  121. package/services/file/file.types.d.ts +72 -0
  122. package/services/file/file.types.js +1 -0
  123. package/services/file/index.cjs +2 -0
  124. package/services/file/index.d.cts +3 -0
  125. package/services/file/index.d.ts +3 -0
  126. package/services/file/index.js +2 -0
  127. package/services/firebase/firebase-api.cjs +2 -2
  128. package/services/firebase/firebase-api.d.cts +25 -9
  129. package/services/firebase/firebase-api.d.ts +25 -9
  130. package/services/firebase/firebase-api.js +2 -2
  131. package/services/multimedia/config.example.cjs +2 -0
  132. package/services/multimedia/config.example.d.cts +13 -0
  133. package/services/multimedia/config.example.d.ts +13 -0
  134. package/services/multimedia/config.example.js +2 -0
  135. package/services/multimedia/index.cjs +2 -0
  136. package/services/multimedia/index.d.cts +3 -0
  137. package/services/multimedia/index.d.ts +3 -0
  138. package/services/multimedia/index.js +2 -0
  139. package/services/multimedia/multimedia.service.cjs +2 -0
  140. package/services/multimedia/multimedia.service.d.cts +28 -0
  141. package/services/multimedia/multimedia.service.d.ts +28 -0
  142. package/services/multimedia/multimedia.service.js +2 -0
  143. package/services/multimedia/multimedia.types.cjs +2 -0
  144. package/services/multimedia/multimedia.types.d.cts +65 -0
  145. package/services/multimedia/multimedia.types.d.ts +65 -0
  146. package/services/multimedia/multimedia.types.js +1 -0
  147. package/services/product/index.cjs +2 -0
  148. package/services/product/index.d.cts +3 -0
  149. package/services/product/index.d.ts +3 -0
  150. package/services/product/index.js +2 -0
  151. package/services/product/product.service.cjs +2 -0
  152. package/services/product/product.service.d.cts +19 -0
  153. package/services/product/product.service.d.ts +19 -0
  154. package/services/product/product.service.js +2 -0
  155. package/services/product/product.types.cjs +2 -0
  156. package/services/product/product.types.d.cts +78 -0
  157. package/services/product/product.types.d.ts +78 -0
  158. package/services/product/product.types.js +1 -0
  159. package/services/request.provider.cjs +1 -1
  160. package/services/request.provider.d.cts +1 -0
  161. package/services/request.provider.d.ts +1 -0
  162. package/services/request.provider.js +1 -1
  163. package/services/session.service.cjs +2 -0
  164. package/services/session.service.d.cts +70 -0
  165. package/services/session.service.d.ts +70 -0
  166. package/services/session.service.js +2 -0
  167. package/services/upload/index.cjs +2 -0
  168. package/services/upload/index.d.cts +2 -0
  169. package/services/upload/index.d.ts +2 -0
  170. package/services/upload/index.js +2 -0
  171. package/services/upload/upload.service.cjs +2 -0
  172. package/services/upload/upload.service.d.cts +81 -0
  173. package/services/upload/upload.service.d.ts +81 -0
  174. package/services/upload/upload.service.js +2 -0
  175. package/themes/dark.cjs +4 -1
  176. package/themes/dark.d.cts +1 -0
  177. package/themes/dark.d.ts +1 -0
  178. package/themes/dark.js +4 -1
  179. package/themes/light.cjs +1 -1
  180. package/themes/light.d.cts +1 -0
  181. package/themes/light.d.ts +1 -0
  182. package/themes/light.js +1 -1
  183. package/types/globals.cjs +2 -0
  184. package/types/globals.d.cts +39 -0
  185. package/types/globals.d.ts +39 -0
  186. package/types/globals.js +1 -0
  187. package/types/tracking-options.cjs +2 -2
  188. package/types/tracking-options.d.cts +8 -6
  189. package/types/tracking-options.d.ts +8 -6
  190. package/types/tracking-options.js +1 -1
  191. package/utils/adopt-styles.cjs +2 -2
  192. package/utils/adopt-styles.d.cts +1 -0
  193. package/utils/adopt-styles.d.ts +1 -0
  194. package/utils/adopt-styles.js +2 -2
  195. package/utils/browser-preferences.cjs +2 -2
  196. package/utils/browser-preferences.d.cts +1 -0
  197. package/utils/browser-preferences.d.ts +1 -0
  198. package/utils/browser-preferences.js +2 -2
  199. package/utils/classify-media.cjs +1 -1
  200. package/utils/classify-media.d.cts +1 -0
  201. package/utils/classify-media.d.ts +1 -0
  202. package/utils/classify-media.js +1 -1
  203. package/utils/decorators.cjs +1 -1
  204. package/utils/decorators.d.cts +1 -0
  205. package/utils/decorators.d.ts +1 -0
  206. package/utils/decorators.js +1 -1
  207. package/utils/detected-lang.cjs +2 -2
  208. package/utils/detected-lang.d.cts +1 -0
  209. package/utils/detected-lang.d.ts +1 -0
  210. package/utils/detected-lang.js +2 -2
  211. package/utils/fullscreen.cjs +2 -2
  212. package/utils/fullscreen.d.cts +6 -5
  213. package/utils/fullscreen.d.ts +6 -5
  214. package/utils/fullscreen.js +2 -2
  215. package/utils/insert-script.cjs +1 -1
  216. package/utils/insert-script.d.cts +1 -0
  217. package/utils/insert-script.d.ts +1 -0
  218. package/utils/insert-script.js +1 -1
  219. package/utils/is-map-compatible.cjs +1 -1
  220. package/utils/is-map-compatible.d.cts +1 -0
  221. package/utils/is-map-compatible.d.ts +1 -0
  222. package/utils/is-map-compatible.js +1 -1
  223. package/utils/markdown.cjs +2 -2
  224. package/utils/markdown.d.cts +1 -0
  225. package/utils/markdown.d.ts +1 -0
  226. package/utils/markdown.js +2 -2
  227. package/utils/merge.cjs +2 -2
  228. package/utils/merge.d.cts +2 -1
  229. package/utils/merge.d.ts +2 -1
  230. package/utils/merge.js +2 -2
  231. package/utils/multiband-track-volume.cjs +2 -2
  232. package/utils/multiband-track-volume.d.cts +1 -0
  233. package/utils/multiband-track-volume.d.ts +1 -0
  234. package/utils/multiband-track-volume.js +2 -2
  235. package/utils/onlive-url-params.cjs +1 -1
  236. package/utils/onlive-url-params.d.cts +1 -0
  237. package/utils/onlive-url-params.d.ts +1 -0
  238. package/utils/onlive-url-params.js +1 -1
  239. package/utils/pretty-distance.cjs +2 -2
  240. package/utils/pretty-distance.d.cts +2 -1
  241. package/utils/pretty-distance.d.ts +2 -1
  242. package/utils/pretty-distance.js +2 -2
  243. package/utils/pretty-time.cjs +2 -0
  244. package/utils/pretty-time.d.cts +16 -0
  245. package/utils/pretty-time.d.ts +16 -0
  246. package/utils/pretty-time.js +2 -0
  247. package/utils/random-string.cjs +1 -1
  248. package/utils/random-string.d.cts +1 -0
  249. package/utils/random-string.d.ts +1 -0
  250. package/utils/random-string.js +1 -1
  251. package/utils/resource-type.cjs +1 -1
  252. package/utils/resource-type.d.cts +1 -0
  253. package/utils/resource-type.d.ts +1 -0
  254. package/utils/resource-type.js +1 -1
  255. package/utils/round-number.cjs +2 -0
  256. package/utils/round-number.d.cts +30 -0
  257. package/utils/round-number.d.ts +30 -0
  258. package/utils/round-number.js +2 -0
  259. package/utils/safe-html.cjs +2 -2
  260. package/utils/safe-html.d.cts +4 -3
  261. package/utils/safe-html.d.ts +4 -3
  262. package/utils/safe-html.js +2 -2
  263. package/utils/sanitize.cjs +2 -2
  264. package/utils/sanitize.d.cts +1 -0
  265. package/utils/sanitize.d.ts +1 -0
  266. package/utils/sanitize.js +2 -2
  267. package/utils/spread.cjs +2 -2
  268. package/utils/spread.d.cts +1 -0
  269. package/utils/spread.d.ts +1 -0
  270. package/utils/spread.js +2 -2
  271. package/utils/watch.cjs +1 -1
  272. package/utils/watch.d.cts +1 -0
  273. package/utils/watch.d.ts +1 -0
  274. package/utils/watch.js +1 -1
  275. package/services/firebase/firebase.service.cjs +0 -2
  276. package/services/firebase/firebase.service.d.cts +0 -40
  277. package/services/firebase/firebase.service.d.ts +0 -40
  278. package/services/firebase/firebase.service.js +0 -2
  279. package/services/livekit.service.cjs +0 -2
  280. package/services/livekit.service.d.cts +0 -219
  281. package/services/livekit.service.d.ts +0 -219
  282. package/services/livekit.service.js +0 -2
  283. package/types/window-context.cjs +0 -2
  284. package/types/window-context.d.cts +0 -8
  285. package/types/window-context.d.ts +0 -8
  286. package/types/window-context.js +0 -1
@@ -0,0 +1,2 @@
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
+ function c(o,i={}){let{decimals:d=0,direction:r="nearest",multiplier:e}=i,s=(n=>({up:Math.ceil,down:Math.floor,nearest:Math.round})[n]||Math.round)(r);if(e&&e!==0){let n=o/e,t;switch(r){case"up":t=Math.ceil(n);break;case"down":t=Math.floor(n);break;default:t=Math.round(n);break}return t*e}let u=10**d;return s(o*u)/u}export{c as roundNumber};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.70 | © 2025 Onlive.ai */
2
- "use strict";var A=Object.create;var a=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var _=(t,e)=>{for(var r in e)a(t,r,{get:e[r],enumerable:!0})},l=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of f(e))!L.call(t,o)&&o!==r&&a(t,o,{get:()=>e[o],enumerable:!(i=u(e,o))||i.enumerable});return t};var p=(t,e,r)=>(r=t!=null?A(m(t)):{},l(e||!t||!t.__esModule?a(r,"default",{value:t,enumerable:!0}):r,t)),D=t=>l(a({},"__esModule",{value:!0}),t);var C={};_(C,{safeHTML:()=>g});module.exports=D(C);var T=require("lit/directives/unsafe-html.js");var n=p(require("dompurify"),1),h={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1},s=(t,e=h)=>n.default.sanitize(t,e);function g(t=""){return(0,T.unsafeHTML)(s(t,{ADD_ATTR:["target","rel"],ADD_TAGS:["ol-"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:/^ol-/,attributeNameCheck:null,allowCustomizedBuiltInElements:!0}}))}0&&(module.exports={safeHTML});
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
+ "use strict";var T=Object.create;var a=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var m=(e,t)=>{for(var r in t)a(e,r,{get:t[r],enumerable:!0})},l=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of p(t))!D.call(e,i)&&i!==r&&a(e,i,{get:()=>t[i],enumerable:!(n=u(t,i))||n.enumerable});return e};var L=(e,t,r)=>(r=e!=null?T(A(e)):{},l(t||!e||!e.__esModule?a(r,"default",{value:e,enumerable:!0}):r,e)),c=e=>l(a({},"__esModule",{value:!0}),e);var b={};m(b,{safeHTML:()=>g});module.exports=c(b);var f=require("lit/directives/unsafe-html.js");var o=L(require("dompurify"),1),_={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1};o.default.addHook("afterSanitizeAttributes",e=>{"target"in e&&e.target==="_blank"&&e.setAttribute("rel","noopener noreferrer")});var s=(e,t=_)=>o.default.sanitize(e,t);function g(e=""){return(0,f.unsafeHTML)(s(e,{ADD_ATTR:["target","rel"],ADD_TAGS:["ol-"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:/^ol-/,attributeNameCheck:null,allowCustomizedBuiltInElements:!0}}))}0&&(module.exports={safeHTML});
@@ -1,5 +1,6 @@
1
- import * as lit_directive_js from 'lit/directive.js';
2
- import * as lit_directives_unsafe_html_js from 'lit/directives/unsafe-html.js';
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
+ import { DirectiveResult } from 'lit/directive.js';
3
+ import { UnsafeHTMLDirective } from 'lit/directives/unsafe-html.js';
3
4
 
4
5
  /**
5
6
  * Parse and sanitizes HTML content by removing potentially dangerous tags and attributes.
@@ -7,6 +8,6 @@ import * as lit_directives_unsafe_html_js from 'lit/directives/unsafe-html.js';
7
8
  * @param html - The HTML string to be sanitized
8
9
  * @returns A sanitized version of the input HTML string with only allowed tags and attributes
9
10
  */
10
- declare function safeHTML(html?: string): lit_directive_js.DirectiveResult<typeof lit_directives_unsafe_html_js.UnsafeHTMLDirective>;
11
+ declare function safeHTML(html?: string): DirectiveResult<typeof UnsafeHTMLDirective>;
11
12
 
12
13
  export { safeHTML };
@@ -1,5 +1,6 @@
1
- import * as lit_directive_js from 'lit/directive.js';
2
- import * as lit_directives_unsafe_html_js from 'lit/directives/unsafe-html.js';
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
+ import { DirectiveResult } from 'lit/directive.js';
3
+ import { UnsafeHTMLDirective } from 'lit/directives/unsafe-html.js';
3
4
 
4
5
  /**
5
6
  * Parse and sanitizes HTML content by removing potentially dangerous tags and attributes.
@@ -7,6 +8,6 @@ import * as lit_directives_unsafe_html_js from 'lit/directives/unsafe-html.js';
7
8
  * @param html - The HTML string to be sanitized
8
9
  * @returns A sanitized version of the input HTML string with only allowed tags and attributes
9
10
  */
10
- declare function safeHTML(html?: string): lit_directive_js.DirectiveResult<typeof lit_directives_unsafe_html_js.UnsafeHTMLDirective>;
11
+ declare function safeHTML(html?: string): DirectiveResult<typeof UnsafeHTMLDirective>;
11
12
 
12
13
  export { safeHTML };
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.70 | © 2025 Onlive.ai */
2
- import{unsafeHTML as i}from"lit/directives/unsafe-html.js";import o from"dompurify";var a={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1},e=(t,r=a)=>o.sanitize(t,r);function u(t=""){return i(e(t,{ADD_ATTR:["target","rel"],ADD_TAGS:["ol-"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:/^ol-/,attributeNameCheck:null,allowCustomizedBuiltInElements:!0}}))}export{u as safeHTML};
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
+ import{unsafeHTML as o}from"lit/directives/unsafe-html.js";import t from"dompurify";var a={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1};t.addHook("afterSanitizeAttributes",e=>{"target"in e&&e.target==="_blank"&&e.setAttribute("rel","noopener noreferrer")});var r=(e,i=a)=>t.sanitize(e,i);function T(e=""){return o(r(e,{ADD_ATTR:["target","rel"],ADD_TAGS:["ol-"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:/^ol-/,attributeNameCheck:null,allowCustomizedBuiltInElements:!0}}))}export{T as safeHTML};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.70 | © 2025 Onlive.ai */
2
- "use strict";var s=Object.create;var a=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var L=(t,e)=>{for(var r in e)a(t,r,{get:e[r],enumerable:!0})},l=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of T(e))!p.call(t,o)&&o!==r&&a(t,o,{get:()=>e[o],enumerable:!(i=A(e,o))||i.enumerable});return t};var _=(t,e,r)=>(r=t!=null?s(h(t)):{},l(e||!t||!t.__esModule?a(r,"default",{value:t,enumerable:!0}):r,t)),f=t=>l(a({},"__esModule",{value:!0}),t);var d={};L(d,{sanitize:()=>b});module.exports=f(d);var n=_(require("dompurify"),1),O={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1},b=(t,e=O)=>n.default.sanitize(t,e);0&&(module.exports={sanitize});
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
+ "use strict";var s=Object.create;var i=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty;var b=(t,e)=>{for(var r in e)i(t,r,{get:e[r],enumerable:!0})},l=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of f(e))!T.call(t,a)&&a!==r&&i(t,a,{get:()=>e[a],enumerable:!(n=A(e,a))||n.enumerable});return t};var _=(t,e,r)=>(r=t!=null?s(p(t)):{},l(e||!t||!t.__esModule?i(r,"default",{value:t,enumerable:!0}):r,t)),g=t=>l(i({},"__esModule",{value:!0}),t);var L={};b(L,{sanitize:()=>u});module.exports=g(L);var o=_(require("dompurify"),1),h={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1};o.default.addHook("afterSanitizeAttributes",t=>{"target"in t&&t.target==="_blank"&&t.setAttribute("rel","noopener noreferrer")});var u=(t,e=h)=>o.default.sanitize(t,e);0&&(module.exports={sanitize});
@@ -1,3 +1,4 @@
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
2
  import { Config } from 'dompurify';
2
3
 
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
2
  import { Config } from 'dompurify';
2
3
 
3
4
  /**
package/utils/sanitize.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.70 | © 2025 Onlive.ai */
2
- import r from"dompurify";var o={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1},l=(t,e=o)=>r.sanitize(t,e);export{l as sanitize};
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
+ import e from"dompurify";var a={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1};e.addHook("afterSanitizeAttributes",t=>{"target"in t&&t.target==="_blank"&&t.setAttribute("rel","noopener noreferrer")});var o=(t,r=a)=>e.sanitize(t,r);export{o as sanitize};
package/utils/spread.cjs CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.70 | © 2025 Onlive.ai */
2
- "use strict";var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var A=(t,e,i)=>e in t?s(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var c=(t,e)=>{for(var i in e)s(t,i,{get:e[i],enumerable:!0})},d=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of f(e))!h.call(t,r)&&r!==i&&s(t,r,{get:()=>e[r],enumerable:!(n=l(e,r))||n.enumerable});return t};var v=t=>d(s({},"__esModule",{value:!0}),t);var u=(t,e,i)=>A(t,typeof e!="symbol"?e+"":e,i);var p={};c(p,{spread:()=>b});module.exports=v(p);var m=require("lit"),o=require("lit/directive.js");var b=(0,o.directive)(class extends o.Directive{constructor(){super(...arguments);u(this,"element");u(this,"previousAttributes",{})}render(e){return e}update(e,[i]){this.element||(this.element=e.element,this.previousAttributes={});for(let n in this.previousAttributes)n in i||this.element.removeAttribute(n);for(let n in i){let r=i[n];r==null?this.element.removeAttribute(n):r===!0?this.element.setAttribute(n,""):r!==!1?this.element.setAttribute(n,String(r)):this.element.removeAttribute(n)}return this.previousAttributes={...i},m.nothing}});0&&(module.exports={spread});
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
+ "use strict";var o=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var h=(r,e)=>{for(var n in e)o(r,n,{get:e[n],enumerable:!0})},A=(r,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of l(e))!f.call(r,i)&&i!==n&&o(r,i,{get:()=>e[i],enumerable:!(t=m(e,i))||t.enumerable});return r};var c=r=>A(o({},"__esModule",{value:!0}),r);var v={};h(v,{spread:()=>d});module.exports=c(v);var u=require("lit"),s=require("lit/directive.js"),d=(0,s.directive)(class extends s.Directive{constructor(){super(...arguments);this.previousAttributes={}}render(e){return e}update(e,[n]){this.element||(this.element=e.element,this.previousAttributes={});for(let t in this.previousAttributes)t in n||this.element.removeAttribute(t);for(let t in n){let i=n[t];i==null?this.element.removeAttribute(t):i===!0?this.element.setAttribute(t,""):i!==!1?this.element.setAttribute(t,String(i)):this.element.removeAttribute(t)}return this.previousAttributes={...n},u.nothing}});0&&(module.exports={spread});
@@ -1,3 +1,4 @@
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
2
  import * as lit_directive_js from 'lit/directive.js';
2
3
  import { AttributePart } from 'lit/directive.js';
3
4
 
package/utils/spread.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
2
  import * as lit_directive_js from 'lit/directive.js';
2
3
  import { AttributePart } from 'lit/directive.js';
3
4
 
package/utils/spread.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.70 | © 2025 Onlive.ai */
2
- var o=Object.defineProperty;var u=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var s=(n,e,t)=>u(n,typeof e!="symbol"?e+"":e,t);import{nothing as m}from"lit";import{directive as l,Directive as f}from"lit/directive.js";var v=l(class extends f{constructor(){super(...arguments);s(this,"element");s(this,"previousAttributes",{})}render(e){return e}update(e,[t]){this.element||(this.element=e.element,this.previousAttributes={});for(let i in this.previousAttributes)i in t||this.element.removeAttribute(i);for(let i in t){let r=t[i];r==null?this.element.removeAttribute(i):r===!0?this.element.setAttribute(i,""):r!==!1?this.element.setAttribute(i,String(r)):this.element.removeAttribute(i)}return this.previousAttributes={...t},m}});export{v as spread};
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
+ import{nothing as r}from"lit";import{Directive as s,directive as o}from"lit/directive.js";var f=o(class extends s{constructor(){super(...arguments);this.previousAttributes={}}render(n){return n}update(n,[i]){this.element||(this.element=n.element,this.previousAttributes={});for(let e in this.previousAttributes)e in i||this.element.removeAttribute(e);for(let e in i){let t=i[e];t==null?this.element.removeAttribute(e):t===!0?this.element.setAttribute(e,""):t!==!1?this.element.setAttribute(e,String(t)):this.element.removeAttribute(e)}return this.previousAttributes={...i},r}});export{f as spread};
package/utils/watch.cjs CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.70 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
2
  "use strict";var d=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var h=(e,t)=>{for(var s in t)d(e,s,{get:t[s],enumerable:!0})},E=(e,t,s,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of U(t))!y.call(e,n)&&n!==s&&d(e,n,{get:()=>t[n],enumerable:!(a=u(t,n))||a.enumerable});return e};var m=e=>E(d({},"__esModule",{value:!0}),e);var w={};h(w,{watch:()=>k});module.exports=m(w);function k(e,t){let s={waitUntilFirstUpdate:!1,...t};return(a,n)=>{let{update:c}=a,f=Array.isArray(e)?e:[e];a.update=function(i){f.forEach(p=>{let l=p;if(i.has(l)){let o=i.get(l),r=this[l];o!==r&&(!s.waitUntilFirstUpdate||this.hasUpdated)&&this[n](o,r)}}),c.call(this,i)}}}0&&(module.exports={watch});
package/utils/watch.d.cts CHANGED
@@ -1,3 +1,4 @@
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
2
  import { LitElement } from 'lit';
2
3
 
3
4
  type UpdateHandler = (prev?: unknown, next?: unknown) => void;
package/utils/watch.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
2
  import { LitElement } from 'lit';
2
3
 
3
4
  type UpdateHandler = (prev?: unknown, next?: unknown) => void;
package/utils/watch.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.70 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
2
  function p(e,l){let d={waitUntilFirstUpdate:!1,...l};return(s,o)=>{let{update:r}=s,c=Array.isArray(e)?e:[e];s.update=function(t){c.forEach(f=>{let n=f;if(t.has(n)){let a=t.get(n),i=this[n];a!==i&&(!d.waitUntilFirstUpdate||this.hasUpdated)&&this[o](a,i)}}),r.call(this,t)}}}export{p as watch};
@@ -1,2 +0,0 @@
1
- /*! @onlive.ai/common-121 v0.2.70 | © 2025 Onlive.ai */
2
- "use strict";var o=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var y=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var m=(n,e)=>{for(var t in e)o(n,t,{get:e[t],enumerable:!0})},f=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of u(e))!p.call(n,a)&&a!==t&&o(n,a,{get:()=>e[a],enumerable:!(i=h(e,a))||i.enumerable});return n};var P=n=>f(o({},"__esModule",{value:!0}),n);var r=(n,e,t)=>y(n,typeof e!="symbol"?e+"":e,t);var b={};m(b,{FirebaseService:()=>l});module.exports=P(b);var g=require("@onlive.ai/tracker");var d=require("firebase/app"),s=require("firebase/database");var c=class{constructor(e){r(this,"db");r(this,"onChildChanged",(e,t)=>(0,s.onChildChanged)(this.ref(e),i=>t(i.key,i.val(),i)));r(this,"onChildRemoved",(e,t)=>(0,s.onChildRemoved)(this.ref(e),i=>t(i.key,i.val(),i)));let t=(0,d.initializeApp)(e.config);this.db=(0,s.getDatabase)(t)}ref(e){return(0,s.ref)(this.db,e)}async getOnce(e){let t=await(0,s.get)(this.ref(e));return t.exists()?t.val():null}onValue(e,t){return(0,s.onValue)(this.ref(e),i=>t(i.key??"",i.val(),i),i=>console.error("onValue error",i))}onChildAdded(e,t){return(0,s.onChildAdded)(this.ref(e),i=>t(i.key,i.val(),i),i=>console.error("onChildAdded error",i))}write(e,t){return(0,s.set)(this.ref(e),t)}update(e,t){return(0,s.update)(this.ref(e),t)}remove(e){return(0,s.remove)(this.ref(e))}async push(e,t){let i=(0,s.push)(this.ref(e));return await(0,s.set)(i,t),i.key}onDisconnectUpdate(e,t){return(0,s.onDisconnect)(this.ref(e)).update(t)}cancelOnDisconnect(e){return(0,s.onDisconnect)(this.ref(e)).cancel()}transaction(e,t){return(0,s.runTransaction)(this.ref(e),i=>t(i))}query(e,t={}){let i=this.ref(e);return t.orderBy==="child"&&t.childKey&&(i=(0,s.query)(i,(0,s.orderByChild)(t.childKey))),t.orderBy==="key"&&(i=(0,s.query)(i,(0,s.orderByKey)())),t.orderBy==="value"&&(i=(0,s.query)(i,(0,s.orderByValue)())),t.limitFirst!=null&&(i=(0,s.query)(i,(0,s.limitToFirst)(t.limitFirst))),t.limitLast!=null&&(i=(0,s.query)(i,(0,s.limitToLast)(t.limitLast))),i}};var l=class{constructor(e,t){this.firebaseOptions=e;this.orgId=t;r(this,"presencePath");r(this,"callsPath");r(this,"api");this.api=new c({config:this.firebaseOptions}),this.presencePath=`orgs/${this.orgId}/presence`,this.callsPath=`orgs/${this.orgId}/calls`}getPresencePath(e){return`${this.presencePath}/${e}`}async setAgentOnline(e,t){await this.api.write(this.getPresencePath(e),{status:"online",lastSeen:new Date().toISOString(),displayName:t}),await this.api.onDisconnectUpdate(this.getPresencePath(e),{status:"offline",lastSeen:new Date().toISOString()})}onPresenceChange(e){return this.api.onChildChanged(this.presencePath,(t,i)=>e(t,i))}onPresenceAgentChange(e,t){return this.api.onValue(this.getPresencePath(e),(i,a)=>t(i,a))}async createRequest(e){let t=g.Generator.uuid();return await this.api.write(`${this.callsPath}/${t}`,{...e,createdAt:new Date().toISOString(),status:"pending",assignedAgentId:null}),this.api.onDisconnectUpdate(`${this.callsPath}/${t}`,{status:"disconnected"}),t}onNewRequest(e){return this.api.onChildAdded(this.callsPath,(t,i)=>e(t,{...i,id:t}))}onRequestChange(e){return this.api.onChildChanged(this.callsPath,(t,i)=>e(t,{...i,id:t}))}onRequestRemoved(e){return this.api.onChildRemoved(this.callsPath,t=>e(t))}async acceptRequest(e){return await this.api.cancelOnDisconnect(`${this.callsPath}/${e}`),this.api.update(`${this.callsPath}/${e}`,{status:"accepted"})}async cancelOnDisconnect(e){await this.api.cancelOnDisconnect(`${this.callsPath}/${e}`)}async cancelRequest(e){return await this.api.cancelOnDisconnect(`${this.callsPath}/${e}`),this.api.update(`${this.callsPath}/${e}`,{status:"cancelled"})}};0&&(module.exports={FirebaseService});
@@ -1,40 +0,0 @@
1
- import * as firebase_database from 'firebase/database';
2
- import { FirebaseConfig } from './firebase-api.cjs';
3
-
4
- interface Call {
5
- guestId: string;
6
- agentId: string;
7
- roomName: string;
8
- startedAt: string;
9
- endedAt: string | null;
10
- }
11
- interface Request {
12
- guestId: string;
13
- guestName?: string;
14
- createdAt: string;
15
- roomId?: string;
16
- status: "pending" | "accepted" | "cancelled" | "not_response";
17
- assignedAgentId: string | null;
18
- id: string;
19
- }
20
- declare class FirebaseService {
21
- private firebaseOptions;
22
- private orgId;
23
- private presencePath;
24
- private callsPath;
25
- private api;
26
- constructor(firebaseOptions: FirebaseConfig, orgId: string);
27
- private getPresencePath;
28
- setAgentOnline(agentId: string, displayName?: string): Promise<void>;
29
- onPresenceChange(cb: (agentId: string, data: any) => void): firebase_database.Unsubscribe;
30
- onPresenceAgentChange(agentId: string, cb: (agentId: string, data: any) => void): firebase_database.Unsubscribe;
31
- createRequest(request: Omit<Request, "status" | "createdAt">): Promise<string>;
32
- onNewRequest(cb: (id: string, req: Request) => void): firebase_database.Unsubscribe;
33
- onRequestChange(cb: (id: string, req: Request) => void): firebase_database.Unsubscribe;
34
- onRequestRemoved(cb: (id: string) => void): firebase_database.Unsubscribe;
35
- acceptRequest(requestId: string): Promise<void>;
36
- cancelOnDisconnect(requestId: string): Promise<void>;
37
- cancelRequest(requestId: string): Promise<void>;
38
- }
39
-
40
- export { type Call, FirebaseService, type Request };
@@ -1,40 +0,0 @@
1
- import * as firebase_database from 'firebase/database';
2
- import { FirebaseConfig } from './firebase-api.js';
3
-
4
- interface Call {
5
- guestId: string;
6
- agentId: string;
7
- roomName: string;
8
- startedAt: string;
9
- endedAt: string | null;
10
- }
11
- interface Request {
12
- guestId: string;
13
- guestName?: string;
14
- createdAt: string;
15
- roomId?: string;
16
- status: "pending" | "accepted" | "cancelled" | "not_response";
17
- assignedAgentId: string | null;
18
- id: string;
19
- }
20
- declare class FirebaseService {
21
- private firebaseOptions;
22
- private orgId;
23
- private presencePath;
24
- private callsPath;
25
- private api;
26
- constructor(firebaseOptions: FirebaseConfig, orgId: string);
27
- private getPresencePath;
28
- setAgentOnline(agentId: string, displayName?: string): Promise<void>;
29
- onPresenceChange(cb: (agentId: string, data: any) => void): firebase_database.Unsubscribe;
30
- onPresenceAgentChange(agentId: string, cb: (agentId: string, data: any) => void): firebase_database.Unsubscribe;
31
- createRequest(request: Omit<Request, "status" | "createdAt">): Promise<string>;
32
- onNewRequest(cb: (id: string, req: Request) => void): firebase_database.Unsubscribe;
33
- onRequestChange(cb: (id: string, req: Request) => void): firebase_database.Unsubscribe;
34
- onRequestRemoved(cb: (id: string) => void): firebase_database.Unsubscribe;
35
- acceptRequest(requestId: string): Promise<void>;
36
- cancelOnDisconnect(requestId: string): Promise<void>;
37
- cancelRequest(requestId: string): Promise<void>;
38
- }
39
-
40
- export { type Call, FirebaseService, type Request };
@@ -1,2 +0,0 @@
1
- /*! @onlive.ai/common-121 v0.2.70 | © 2025 Onlive.ai */
2
- var g=Object.defineProperty;var h=(n,e,t)=>e in n?g(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var s=(n,e,t)=>h(n,typeof e!="symbol"?e+"":e,t);import{Generator as O}from"@onlive.ai/tracker";import{initializeApp as u}from"firebase/app";import{query as r,get as p,getDatabase as y,limitToFirst as m,limitToLast as f,onChildAdded as P,onChildChanged as b,onChildRemoved as v,onDisconnect as o,onValue as C,orderByChild as T,orderByKey as R,orderByValue as D,push as $,ref as w,remove as A,runTransaction as q,set as c,update as I}from"firebase/database";var a=class{constructor(e){s(this,"db");s(this,"onChildChanged",(e,t)=>b(this.ref(e),i=>t(i.key,i.val(),i)));s(this,"onChildRemoved",(e,t)=>v(this.ref(e),i=>t(i.key,i.val(),i)));let t=u(e.config);this.db=y(t)}ref(e){return w(this.db,e)}async getOnce(e){let t=await p(this.ref(e));return t.exists()?t.val():null}onValue(e,t){return C(this.ref(e),i=>t(i.key??"",i.val(),i),i=>console.error("onValue error",i))}onChildAdded(e,t){return P(this.ref(e),i=>t(i.key,i.val(),i),i=>console.error("onChildAdded error",i))}write(e,t){return c(this.ref(e),t)}update(e,t){return I(this.ref(e),t)}remove(e){return A(this.ref(e))}async push(e,t){let i=$(this.ref(e));return await c(i,t),i.key}onDisconnectUpdate(e,t){return o(this.ref(e)).update(t)}cancelOnDisconnect(e){return o(this.ref(e)).cancel()}transaction(e,t){return q(this.ref(e),i=>t(i))}query(e,t={}){let i=this.ref(e);return t.orderBy==="child"&&t.childKey&&(i=r(i,T(t.childKey))),t.orderBy==="key"&&(i=r(i,R())),t.orderBy==="value"&&(i=r(i,D())),t.limitFirst!=null&&(i=r(i,m(t.limitFirst))),t.limitLast!=null&&(i=r(i,f(t.limitLast))),i}};var l=class{constructor(e,t){this.firebaseOptions=e;this.orgId=t;s(this,"presencePath");s(this,"callsPath");s(this,"api");this.api=new a({config:this.firebaseOptions}),this.presencePath=`orgs/${this.orgId}/presence`,this.callsPath=`orgs/${this.orgId}/calls`}getPresencePath(e){return`${this.presencePath}/${e}`}async setAgentOnline(e,t){await this.api.write(this.getPresencePath(e),{status:"online",lastSeen:new Date().toISOString(),displayName:t}),await this.api.onDisconnectUpdate(this.getPresencePath(e),{status:"offline",lastSeen:new Date().toISOString()})}onPresenceChange(e){return this.api.onChildChanged(this.presencePath,(t,i)=>e(t,i))}onPresenceAgentChange(e,t){return this.api.onValue(this.getPresencePath(e),(i,d)=>t(i,d))}async createRequest(e){let t=O.uuid();return await this.api.write(`${this.callsPath}/${t}`,{...e,createdAt:new Date().toISOString(),status:"pending",assignedAgentId:null}),this.api.onDisconnectUpdate(`${this.callsPath}/${t}`,{status:"disconnected"}),t}onNewRequest(e){return this.api.onChildAdded(this.callsPath,(t,i)=>e(t,{...i,id:t}))}onRequestChange(e){return this.api.onChildChanged(this.callsPath,(t,i)=>e(t,{...i,id:t}))}onRequestRemoved(e){return this.api.onChildRemoved(this.callsPath,t=>e(t))}async acceptRequest(e){return await this.api.cancelOnDisconnect(`${this.callsPath}/${e}`),this.api.update(`${this.callsPath}/${e}`,{status:"accepted"})}async cancelOnDisconnect(e){await this.api.cancelOnDisconnect(`${this.callsPath}/${e}`)}async cancelRequest(e){return await this.api.cancelOnDisconnect(`${this.callsPath}/${e}`),this.api.update(`${this.callsPath}/${e}`,{status:"cancelled"})}};export{l as FirebaseService};
@@ -1,2 +0,0 @@
1
- /*! @onlive.ai/common-121 v0.2.70 | © 2025 Onlive.ai */
2
- "use strict";var p=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var T=(r,e,t)=>e in r?p(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var A=(r,e)=>{for(var t in e)p(r,t,{get:e[t],enumerable:!0})},b=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of I(e))!v.call(r,s)&&s!==t&&p(r,s,{get:()=>e[s],enumerable:!(n=R(e,s))||n.enumerable});return r};var f=r=>b(p({},"__esModule",{value:!0}),r);var i=(r,e,t)=>T(r,typeof e!="symbol"?e+"":e,t);var O={};A(O,{CHAT_TOPIC:()=>h,LivekitService:()=>l,Room:()=>g,TRANSCRIPTION_TOPIC:()=>u,TYPING_INDICATOR_TOPIC:()=>y});module.exports=f(O);var m=require("@livekit/components-core"),d=require("livekit-client");var o=async(r,e)=>{let t=await fetch(r,e);if(!t.ok){let n=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...n}))}return t&&t.json()};var g=class extends d.Room{constructor(t){super(t);i(this,"id");i(this,"groupId");i(this,"createdAt");i(this,"connectedAt")}},h="lk.chat",u="lk.transcription",y="typing-indicator",l=class{constructor(e){i(this,"listeners",new Set);i(this,"typingListeners",new Set);i(this,"apiUrl");i(this,"version");i(this,"organizationId");i(this,"channelTopic");i(this,"transcriptionTopic");i(this,"setupChat");i(this,"abortControllers");i(this,"authToken",null);i(this,"messagePersistence");i(this,"room");i(this,"processMessage",async(e,t)=>{let n=e?.info?.id,s=t?.identity?this.room.getParticipantByIdentity(t.identity):void 0,a="";for await(let c of e)a+=c,this.emitMessage({id:n,timestamp:Date.now(),message:a,from:s});this.messagePersistence==="client"&&this.persistMessage({roomId:this.room.id,content:a,externalId:e?.info?.id,identity:s?.identity,kind:s?.kind})});i(this,"emitMessage",e=>{for(let t of this.listeners)t([e])});i(this,"handleDataReceived",(e,t,n,s)=>{if(s===y)try{let a=JSON.parse(new TextDecoder().decode(e));if(a.type==="typing"&&a.participantId!==this.room.localParticipant.identity){let c={type:"typing",isTyping:a.isTyping,timestamp:a.timestamp,participantId:a.participantId};this.emitTypingIndicator(c)}}catch(a){console.warn("Failed to parse typing indicator:",a)}});i(this,"emitTypingIndicator",e=>{for(let t of this.typingListeners)t(e)});"room"in e?this.room=e.room:(this.apiUrl=e.apiUrl,this.room=this.instanceRoom()),this.organizationId=e.organizationId,this.version=e.version,this.channelTopic=e.channelTopic||h,this.transcriptionTopic=e.transcriptionTopic||u,this.messagePersistence=e.messagePersistence||"disabled",this.abortControllers={register:new AbortController,createRoom:new AbortController,closeRoom:new AbortController,evaluateRoom:new AbortController,persistMessage:new AbortController,sendMessageReport:new AbortController,deleteMessageReport:new AbortController,updateMessageReactions:new AbortController,getRooms:new AbortController}}initialize(){this.version==="v1"?(this.room.registerTextStreamHandler(this.channelTopic,this.processMessage),this.room.registerTextStreamHandler(this.transcriptionTopic,this.processMessage)):this.setupChat=(0,m.setupChat)(this.room),this.room.on(d.RoomEvent.DataReceived,this.handleDataReceived)}async registerUser(e,t,n){let s=await o(`${this.apiUrl}/users/register`,{method:"POST",body:JSON.stringify({externalId:e,secret:t,name:n}),headers:{"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.register.signal});return this.authToken=s.token,s}async registerAgent(e,t){let n=await o(`${this.apiUrl}/admins/register`,{method:"POST",body:JSON.stringify({externalId:e,name:t.name,email:t.email,avatar:t.avatar}),headers:{"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.register.signal});return this.authToken=n.token,n}async joinRoom(e,t,n){let s=await o(`${this.apiUrl}/rooms/${e}/join`,{method:"POST",body:JSON.stringify({timezone:t,language:n}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.createRoom.signal});return this.room.id=s.id,this.room.groupId=s.groupId,this.room.createdAt=s.createdAt,this.room.connectedAt=new Date().toISOString(),this.room.connect(s.wsURL,s.token),this.initialize(),this.room}instanceRoom(){return this.room||(this.room=new g({adaptiveStream:!0,dynacast:!0})),this.room}async createRoom(e){this.room=this.instanceRoom();let t=await o(`${this.apiUrl}/rooms`,{method:"POST",body:JSON.stringify(e),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.createRoom.signal});return this.room.id=t.id,this.room.groupId=t.groupId,this.room.createdAt=t.createdAt,this.room.connectedAt=new Date().toISOString(),this.room.connect(t.wsURL,t.token),this.initialize(),this.room}async evaluateRoom(e){return o(`${this.apiUrl}/rooms/${this.room.id}/evaluate`,{method:"POST",body:JSON.stringify({rating:e.rating,comment:e.comment}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.evaluateRoom.signal})}async closeRoom(){return o(`${this.apiUrl}/rooms/${this.room.id}/close`,{method:"POST",headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.closeRoom.signal})}async getRooms(e){let t=new URLSearchParams;return e.page&&t.append("page",e.page.toString()),e.limit&&t.append("limit",e.limit.toString()),e.offset&&t.append("offset",e.offset.toString()),e.orderBy&&t.append("orderBy",e.orderBy),e.orderDir&&t.append("orderDir",e.orderDir),e.ids?.length&&t.append("ids",e.ids.join(",")),e.with?.length&&t.append("with",e.with.join(",")),e.count?.length&&t.append("count",e.count.join(",")),e.participantIds?.length&&t.append("participantIds",e.participantIds.join(",")),e.participantExternalIds?.length&&t.append("participantExternalIds",e.participantExternalIds.join(",")),e.groupId&&t.append("groupId",e.groupId),e.hasMessages!==void 0&&t.append("hasMessages",e.hasMessages.toString()),await o(`${this.apiUrl}/rooms?${t}`,{method:"GET",headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.getRooms.signal})}async disconnect(){this.room&&(this.room.removeAllListeners(),await this.room.disconnect(),this.closeRoom(),this.room=null)}async sendMessage(e){if(this.version==="v1"){let t=await this.room.localParticipant.sendText(e,{topic:this.channelTopic});this.emitMessage({id:t.id,timestamp:Date.now(),message:e,from:this.room.localParticipant}),this.messagePersistence==="client"&&this.persistMessage({roomId:this.room.id,content:e,externalId:t.id,identity:this.room.localParticipant?.identity,kind:this.room.localParticipant?.kind})}else await this.setupChat.send(e)}async sendTypingIndicator(e){try{let t=new TextEncoder().encode(JSON.stringify({type:"typing",isTyping:e,timestamp:Date.now(),participantId:this.room.localParticipant.identity}));await this.room.localParticipant.publishData(t,{reliable:!1,topic:"typing-indicator"})}catch(t){console.warn("Failed to send typing indicator:",t)}}subscribeTypingIndicators(e){return this.typingListeners.add(e),()=>{this.typingListeners.delete(e)}}unsubscribeTypingIndicators(e){this.typingListeners.delete(e)}async persistMessage(e){return o(`${this.apiUrl}/messages/create`,{method:"POST",body:JSON.stringify(e),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.persistMessage.signal})}async getMessages(e){let t=new URLSearchParams;return e.with&&t.append("with",e.with.join(",")),(await o(`${this.apiUrl}/messages/search${t.size?`?${t.toString()}`:""}`,{method:"POST",body:JSON.stringify(e),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.createRoom.signal})).items}async sendMessageReport(e){try{return o(`${this.apiUrl}/messages/${e.messageId}/report`,{method:"POST",headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.sendMessageReport.signal})}catch(t){console.error("Error sending message report:",t)}}async deleteMessageReport(e){try{return o(`${this.apiUrl}/messages/${e.messageId}/report`,{method:"DELETE",headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.deleteMessageReport.signal})}catch(t){console.error("Error deleting message report:",t)}}async updateMessageReactions(e){try{return o(`${this.apiUrl}/messages/${e.messageId}/reactions`,{method:"PATCH",body:JSON.stringify({add:e.add||[],remove:e.remove||[]}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.updateMessageReactions.signal})}catch(t){console.error("Error updating message reactions:",t)}}subscribeMessages(e){if(this.version==="v1")return this.listeners.add(e),()=>{this.listeners.delete(e)};{let t=this.setupChat.messageObservable.subscribe(e);return()=>t.unsubscribe()}}};0&&(module.exports={CHAT_TOPIC,LivekitService,Room,TRANSCRIPTION_TOPIC,TYPING_INDICATOR_TOPIC});
@@ -1,219 +0,0 @@
1
- import { ReceivedChatMessage } from '@livekit/components-core';
2
- import { RoomOptions as RoomOptions$1, Room as Room$1, Participant } from 'livekit-client';
3
-
4
- interface RoomOptions extends Partial<RoomOptions$1> {
5
- }
6
- declare class Room extends Room$1 {
7
- id: string;
8
- groupId: string;
9
- createdAt: string;
10
- connectedAt: string;
11
- constructor(options: RoomOptions);
12
- }
13
- interface UserFrom extends Participant {
14
- id: string;
15
- role: "user" | "agent" | "assistant";
16
- avatar?: string;
17
- name?: string;
18
- }
19
- interface ApiMessage extends ReceivedChatMessage {
20
- content: string;
21
- createdAt: string;
22
- from?: UserFrom;
23
- media?: Array<{
24
- name?: string;
25
- url: string;
26
- ext: string;
27
- type?: string;
28
- }>;
29
- reports?: Array<{
30
- id: string;
31
- createdAt: string;
32
- }>;
33
- }
34
- type CreateRoomOptions = {
35
- language: string;
36
- timezone: string;
37
- affinity?: Record<string, unknown>;
38
- disablePersistence?: boolean;
39
- };
40
- type GetMessagesOptions = {
41
- roomId?: string;
42
- groupId?: string;
43
- affinity?: {
44
- agentId?: string;
45
- agentType?: string;
46
- };
47
- with?: string[];
48
- };
49
- type PersistMessageOptions = {
50
- externalId?: string;
51
- roomId: string;
52
- content: string;
53
- identity?: string;
54
- kind?: number;
55
- };
56
- type EvaluateRoomOptions = {
57
- rating: number;
58
- comment?: string;
59
- };
60
- type MessageReportOptions = {
61
- messageId: string;
62
- };
63
- type MessageReactionOptions = {
64
- messageId: string;
65
- add?: string[];
66
- remove?: string[];
67
- };
68
- type RoomApiResponse = {
69
- id: string;
70
- groupId: string;
71
- token: string;
72
- wsURL: string;
73
- createdAt: string;
74
- };
75
- type UserApiResponse = {
76
- id: string;
77
- externalId: string;
78
- organizationId: string;
79
- role: string;
80
- token: string;
81
- };
82
- type MessagesApiResponse = {
83
- items: ApiMessage[];
84
- count: number;
85
- limit: number;
86
- offset: number;
87
- };
88
- type GetRoomsOptions = {
89
- limit?: number;
90
- page?: number;
91
- offset?: number;
92
- orderBy?: "createdAt" | "updatedAt" | "lastMessageAt";
93
- orderDir?: "asc" | "desc";
94
- ids?: string[];
95
- with?: string[];
96
- count?: string[];
97
- participantIds?: string[];
98
- participantExternalIds?: string[];
99
- groupId?: string;
100
- hasMessages?: boolean;
101
- };
102
- type RoomListItem = {
103
- id: string;
104
- name?: string;
105
- groupId?: string;
106
- organizationId?: string;
107
- endedAt?: string | null;
108
- createdAt: string;
109
- updatedAt: string;
110
- messages?: ApiMessage[];
111
- metadata?: any;
112
- status?: "active" | "ended" | "pending";
113
- messageCount?: number;
114
- participants: Array<{
115
- id: string;
116
- name: string;
117
- role: "user" | "agent" | "assistant";
118
- externalId?: string;
119
- image?: string;
120
- isAgent?: boolean;
121
- isLocal?: boolean;
122
- }>;
123
- evaluations: Array<{
124
- id: string;
125
- rating: number;
126
- comment?: string;
127
- createdAt: string;
128
- }>;
129
- participantCount?: number;
130
- evaluationCount?: number;
131
- _count?: {
132
- messages?: number;
133
- participants?: number;
134
- evaluations?: number;
135
- };
136
- };
137
- type RoomsApiResponse = {
138
- items: RoomListItem[];
139
- count: number;
140
- limit: number;
141
- offset: number;
142
- };
143
- declare const CHAT_TOPIC: "lk.chat";
144
- declare const TRANSCRIPTION_TOPIC: "lk.transcription";
145
- declare const TYPING_INDICATOR_TOPIC: "typing-indicator";
146
- interface TypingIndicator {
147
- type: "typing";
148
- isTyping: boolean;
149
- timestamp: number;
150
- participantId: string;
151
- }
152
- interface AgentData {
153
- name: string;
154
- avatar?: string;
155
- email?: string;
156
- }
157
- type MessageListener<M = ApiMessage> = (messages: M[]) => void;
158
- type TypingListener = (indicator: TypingIndicator) => void;
159
- type ChatServiceOptions = {
160
- version: "v0" | "v1";
161
- organizationId: string;
162
- channelTopic?: string;
163
- transcriptionTopic?: string;
164
- messagePersistence?: "disabled" | "server" | "client";
165
- } & ({
166
- apiUrl: string;
167
- } | {
168
- room: Room;
169
- });
170
- declare class LivekitService {
171
- private listeners;
172
- private typingListeners;
173
- private apiUrl;
174
- private version;
175
- private organizationId;
176
- private channelTopic;
177
- private transcriptionTopic;
178
- private setupChat;
179
- private abortControllers;
180
- private authToken;
181
- private messagePersistence?;
182
- room: Room;
183
- constructor(options: ChatServiceOptions);
184
- private initialize;
185
- private processMessage;
186
- private emitMessage;
187
- private handleDataReceived;
188
- private emitTypingIndicator;
189
- registerUser(externalId: string, secret: string, name?: string): Promise<UserApiResponse>;
190
- registerAgent(externalId: string, agentData: AgentData): Promise<UserApiResponse>;
191
- joinRoom(roomId: string, timezone: string, language: string): Promise<Room>;
192
- instanceRoom(): Room;
193
- createRoom(options: CreateRoomOptions): Promise<Room>;
194
- evaluateRoom(options: EvaluateRoomOptions): Promise<void>;
195
- closeRoom(): Promise<void>;
196
- getRooms(options: GetRoomsOptions): Promise<RoomsApiResponse>;
197
- disconnect(): Promise<void>;
198
- sendMessage(message: string): Promise<void>;
199
- /**
200
- * Envía un indicador de "está escribiendo" a otros participantes
201
- */
202
- sendTypingIndicator(isTyping: boolean): Promise<void>;
203
- /**
204
- * Se suscribe a los indicadores de "está escribiendo" de otros participantes
205
- */
206
- subscribeTypingIndicators(listener: TypingListener): () => void;
207
- /**
208
- * Desuscribe un listener de typing indicators
209
- */
210
- unsubscribeTypingIndicators(listener: TypingListener): void;
211
- persistMessage(options: PersistMessageOptions): Promise<MessagesApiResponse>;
212
- getMessages(options: GetMessagesOptions): Promise<ApiMessage[]>;
213
- sendMessageReport(options: MessageReportOptions): Promise<void>;
214
- deleteMessageReport(options: MessageReportOptions): Promise<void>;
215
- updateMessageReactions(options: MessageReactionOptions): Promise<void>;
216
- subscribeMessages<M extends ApiMessage = ApiMessage>(callback: MessageListener<M>): () => void;
217
- }
218
-
219
- export { type AgentData, type ApiMessage, CHAT_TOPIC, type CreateRoomOptions, type EvaluateRoomOptions, type GetMessagesOptions, type GetRoomsOptions, LivekitService, type MessageReactionOptions, type MessageReportOptions, type MessagesApiResponse, type PersistMessageOptions, Room, type RoomApiResponse, type RoomListItem, type RoomOptions, type RoomsApiResponse, TRANSCRIPTION_TOPIC, TYPING_INDICATOR_TOPIC, type TypingIndicator, type UserApiResponse, type UserFrom };