@onlive.ai/common-121 0.2.55 → 0.2.66

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 (59) hide show
  1. package/package.json +2 -2
  2. package/services/audio.service.cjs +1 -1
  3. package/services/audio.service.js +1 -1
  4. package/services/firebase/firebase-api.cjs +1 -1
  5. package/services/firebase/firebase-api.js +1 -1
  6. package/services/firebase/firebase.service.cjs +1 -1
  7. package/services/firebase/firebase.service.js +1 -1
  8. package/services/livekit.service.cjs +2 -2
  9. package/services/livekit.service.d.cts +32 -2
  10. package/services/livekit.service.d.ts +32 -2
  11. package/services/livekit.service.js +2 -2
  12. package/services/request.provider.cjs +1 -1
  13. package/services/request.provider.js +1 -1
  14. package/themes/dark.cjs +1 -1
  15. package/themes/dark.js +1 -1
  16. package/themes/light.cjs +12 -12
  17. package/themes/light.js +12 -12
  18. package/types/tracking-options.cjs +1 -1
  19. package/types/tracking-options.js +1 -1
  20. package/types/window-context.cjs +1 -1
  21. package/types/window-context.js +1 -1
  22. package/utils/adopt-styles.cjs +1 -1
  23. package/utils/adopt-styles.js +1 -1
  24. package/utils/browser-preferences.cjs +1 -1
  25. package/utils/browser-preferences.js +1 -1
  26. package/utils/classify-media.cjs +1 -1
  27. package/utils/classify-media.js +1 -1
  28. package/utils/decorators.cjs +1 -1
  29. package/utils/decorators.js +1 -1
  30. package/utils/detected-lang.cjs +1 -1
  31. package/utils/detected-lang.js +1 -1
  32. package/utils/fullscreen.cjs +1 -1
  33. package/utils/fullscreen.js +1 -1
  34. package/utils/insert-script.cjs +1 -1
  35. package/utils/insert-script.js +1 -1
  36. package/utils/is-map-compatible.cjs +1 -1
  37. package/utils/is-map-compatible.js +1 -1
  38. package/utils/markdown.cjs +1 -1
  39. package/utils/markdown.js +1 -1
  40. package/utils/merge.cjs +1 -1
  41. package/utils/merge.js +1 -1
  42. package/utils/multiband-track-volume.cjs +1 -1
  43. package/utils/multiband-track-volume.js +1 -1
  44. package/utils/onlive-url-params.cjs +1 -1
  45. package/utils/onlive-url-params.js +1 -1
  46. package/utils/pretty-distance.cjs +1 -1
  47. package/utils/pretty-distance.js +1 -1
  48. package/utils/random-string.cjs +1 -1
  49. package/utils/random-string.js +1 -1
  50. package/utils/resource-type.cjs +1 -1
  51. package/utils/resource-type.js +1 -1
  52. package/utils/safe-html.cjs +1 -1
  53. package/utils/safe-html.js +1 -1
  54. package/utils/sanitize.cjs +1 -1
  55. package/utils/sanitize.js +1 -1
  56. package/utils/spread.cjs +1 -1
  57. package/utils/spread.js +1 -1
  58. package/utils/watch.cjs +1 -1
  59. package/utils/watch.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onlive.ai/common-121",
3
- "version": "0.2.55",
3
+ "version": "0.2.66",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "**/*.js",
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "@formatjs/intl-localematcher": "^0.5.10",
22
22
  "@livekit/components-core": "^0.12.5",
23
- "@onlive.ai/tracker": "^1.0.11",
23
+ "@onlive.ai/tracker": "^1.0.13",
24
24
  "dompurify": "^3.2.5",
25
25
  "firebase": "^11.7.3",
26
26
  "lit": "^3.3.0",
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var u=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var p=(t,n,i)=>n in t?u(t,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[n]=i;var g=(t,n)=>{for(var i in n)u(t,i,{get:n[i],enumerable:!0})},h=(t,n,i,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let e of d(n))!l.call(t,e)&&e!==i&&u(t,e,{get:()=>n[e],enumerable:!(o=c(n,e))||o.enumerable});return t};var S=t=>h(u({},"__esModule",{value:!0}),t);var r=(t,n,i)=>p(t,typeof n!="symbol"?n+"":n,i);var v={};g(v,{AudioService:()=>a});module.exports=S(v);var s=class s{constructor(){r(this,"sounds",new Map);r(this,"currentSound",null);this.loadSound("ringing","https://a.slack-edge.com/bv1-13/flitterbug-77334dc.mp3"),this.loadSound("incoming","https://cdn.onlive.site/widget-assets/call_phone_ring_tone.mp3")}static getInstance(){return s.instance||(s.instance=new s),s.instance}loadSound(n,i){let o=new Audio(i);o.preload="auto",this.sounds.set(n,o)}playSound(n,i=!1){this.stopCurrentSound();let o=this.sounds.get(n);o&&(o.loop=i,o.currentTime=0,o.play().catch(e=>console.warn("Error playing sound:",e)),this.currentSound=o)}stopCurrentSound(){this.currentSound&&(this.currentSound.pause(),this.currentSound.currentTime=0,this.currentSound=null)}playRinging(n=!0){this.playSound("ringing",n)}playIncoming(n=!0){this.playSound("incoming",n)}};r(s,"instance");var a=s;0&&(module.exports={AudioService});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var a=Object.defineProperty;var c=(e,n,t)=>n in e?a(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var s=(e,n,t)=>c(e,typeof n!="symbol"?n+"":n,t);var o=class o{constructor(){s(this,"sounds",new Map);s(this,"currentSound",null);this.loadSound("ringing","https://a.slack-edge.com/bv1-13/flitterbug-77334dc.mp3"),this.loadSound("incoming","https://cdn.onlive.site/widget-assets/call_phone_ring_tone.mp3")}static getInstance(){return o.instance||(o.instance=new o),o.instance}loadSound(n,t){let i=new Audio(t);i.preload="auto",this.sounds.set(n,i)}playSound(n,t=!1){this.stopCurrentSound();let i=this.sounds.get(n);i&&(i.loop=t,i.currentTime=0,i.play().catch(r=>console.warn("Error playing sound:",r)),this.currentSound=i)}stopCurrentSound(){this.currentSound&&(this.currentSound.pause(),this.currentSound.currentTime=0,this.currentSound=null)}playRinging(n=!0){this.playSound("ringing",n)}playIncoming(n=!0){this.playSound("incoming",n)}};s(o,"instance");var u=o;export{u as AudioService};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var a=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var g=(n,e,i)=>e in n?a(n,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[e]=i;var h=(n,e)=>{for(var i in e)a(n,i,{get:e[i],enumerable:!0})},m=(n,e,i,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of c(e))!y.call(n,s)&&s!==i&&a(n,s,{get:()=>e[s],enumerable:!(t=u(e,s))||t.enumerable});return n};var f=n=>m(a({},"__esModule",{value:!0}),n);var o=(n,e,i)=>g(n,typeof e!="symbol"?e+"":e,i);var T={};h(T,{FirebaseApi:()=>l});module.exports=f(T);var d=require("firebase/app"),r=require("firebase/database");var l=class{constructor(e){o(this,"db");o(this,"onChildChanged",(e,i)=>(0,r.onChildChanged)(this.ref(e),t=>i(t.key,t.val(),t)));o(this,"onChildRemoved",(e,i)=>(0,r.onChildRemoved)(this.ref(e),t=>i(t.key,t.val(),t)));let i=(0,d.initializeApp)(e.config);this.db=(0,r.getDatabase)(i)}ref(e){return(0,r.ref)(this.db,e)}async getOnce(e){let i=await(0,r.get)(this.ref(e));return i.exists()?i.val():null}onValue(e,i){return(0,r.onValue)(this.ref(e),t=>i(t.key??"",t.val(),t),t=>console.error("onValue error",t))}onChildAdded(e,i){return(0,r.onChildAdded)(this.ref(e),t=>i(t.key,t.val(),t),t=>console.error("onChildAdded error",t))}write(e,i){return(0,r.set)(this.ref(e),i)}update(e,i){return(0,r.update)(this.ref(e),i)}remove(e){return(0,r.remove)(this.ref(e))}async push(e,i){let t=(0,r.push)(this.ref(e));return await(0,r.set)(t,i),t.key}onDisconnectUpdate(e,i){return(0,r.onDisconnect)(this.ref(e)).update(i)}cancelOnDisconnect(e){return(0,r.onDisconnect)(this.ref(e)).cancel()}transaction(e,i){return(0,r.runTransaction)(this.ref(e),t=>i(t))}query(e,i={}){let t=this.ref(e);return i.orderBy==="child"&&i.childKey&&(t=(0,r.query)(t,(0,r.orderByChild)(i.childKey))),i.orderBy==="key"&&(t=(0,r.query)(t,(0,r.orderByKey)())),i.orderBy==="value"&&(t=(0,r.query)(t,(0,r.orderByValue)())),i.limitFirst!=null&&(t=(0,r.query)(t,(0,r.limitToFirst)(i.limitFirst))),i.limitLast!=null&&(t=(0,r.query)(t,(0,r.limitToLast)(i.limitLast))),t}};0&&(module.exports={FirebaseApi});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var d=Object.defineProperty;var u=(t,e,r)=>e in t?d(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var s=(t,e,r)=>u(t,typeof e!="symbol"?e+"":e,r);import{initializeApp as c}from"firebase/app";import{query as n,get as y,getDatabase as g,limitToFirst as h,limitToLast as m,onChildAdded as f,onChildChanged as T,onChildRemoved as b,onDisconnect as a,onValue as v,orderByChild as C,orderByKey as k,orderByValue as p,push as D,ref as P,remove as B,runTransaction as R,set as o,update as F}from"firebase/database";var l=class{constructor(e){s(this,"db");s(this,"onChildChanged",(e,r)=>T(this.ref(e),i=>r(i.key,i.val(),i)));s(this,"onChildRemoved",(e,r)=>b(this.ref(e),i=>r(i.key,i.val(),i)));let r=c(e.config);this.db=g(r)}ref(e){return P(this.db,e)}async getOnce(e){let r=await y(this.ref(e));return r.exists()?r.val():null}onValue(e,r){return v(this.ref(e),i=>r(i.key??"",i.val(),i),i=>console.error("onValue error",i))}onChildAdded(e,r){return f(this.ref(e),i=>r(i.key,i.val(),i),i=>console.error("onChildAdded error",i))}write(e,r){return o(this.ref(e),r)}update(e,r){return F(this.ref(e),r)}remove(e){return B(this.ref(e))}async push(e,r){let i=D(this.ref(e));return await o(i,r),i.key}onDisconnectUpdate(e,r){return a(this.ref(e)).update(r)}cancelOnDisconnect(e){return a(this.ref(e)).cancel()}transaction(e,r){return R(this.ref(e),i=>r(i))}query(e,r={}){let i=this.ref(e);return r.orderBy==="child"&&r.childKey&&(i=n(i,C(r.childKey))),r.orderBy==="key"&&(i=n(i,k())),r.orderBy==="value"&&(i=n(i,p())),r.limitFirst!=null&&(i=n(i,h(r.limitFirst))),r.limitLast!=null&&(i=n(i,m(r.limitLast))),i}};export{l as FirebaseApi};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
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,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
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 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
2
- "use strict";var a=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var A=(i,e,t)=>e in i?a(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var b=(i,e)=>{for(var t in e)a(i,t,{get:e[t],enumerable:!0})},I=(i,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of y(e))!v.call(i,r)&&r!==t&&a(i,r,{get:()=>e[r],enumerable:!(o=R(e,r))||o.enumerable});return i};var M=i=>I(a({},"__esModule",{value:!0}),i);var s=(i,e,t)=>A(i,typeof e!="symbol"?e+"":e,t);var f={};b(f,{CHAT_TOPIC:()=>c,LivekitService:()=>d,Room:()=>g,TRANSCRIPTION_TOPIC:()=>h});module.exports=M(f);var l=require("@livekit/components-core"),m=require("livekit-client");var n=async(i,e)=>{let t=await fetch(i,e);if(!t.ok){let o=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...o}))}return t&&t.json()};var g=class extends m.Room{constructor(t){super(t);s(this,"id");s(this,"groupId");s(this,"createdAt");s(this,"connectedAt")}},c="lk.chat",h="lk.transcription",d=class{constructor(e){s(this,"listeners",new Set);s(this,"apiUrl");s(this,"version");s(this,"organizationId");s(this,"channelTopic");s(this,"transcriptionTopic");s(this,"setupChat");s(this,"abortControllers");s(this,"authToken",null);s(this,"messagePersistence");s(this,"room");s(this,"processMessage",async(e,t)=>{let o=e?.info?.id,r=t?.identity?this.room.getParticipantByIdentity(t.identity):void 0,p="";for await(let u of e)p+=u,this.emitMessage({id:o,timestamp:Date.now(),message:p,from:r});this.messagePersistence==="client"&&this.persistMessage({roomId:this.room.id,content:p,externalId:e?.info?.id,identity:r?.identity,kind:r?.kind})});s(this,"emitMessage",e=>{for(let t of this.listeners)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||c,this.transcriptionTopic=e.transcriptionTopic||h,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,l.setupChat)(this.room)}async register(e,t,o){let r=await n(`${this.apiUrl}/users/register`,{method:"POST",body:JSON.stringify({externalId:e,secret:t,name:o}),headers:{"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.register.signal});return this.authToken=r.token,r}async joinRoom(e,t,o){let r=await n(`${this.apiUrl}/rooms/${e}/join`,{method:"POST",body:JSON.stringify({timezone:t,language:o}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.createRoom.signal});return this.room.connect(r.wsURL,r.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 n(`${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 n(`${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 n(`${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 n(`${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 persistMessage(e){return n(`${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 n(`${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 n(`${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 n(`${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 n(`${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});
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 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});
@@ -37,6 +37,7 @@ type CreateRoomOptions = {
37
37
  };
38
38
  type GetMessagesOptions = {
39
39
  roomId?: string;
40
+ groupId?: string;
40
41
  affinity?: {
41
42
  agentId?: string;
42
43
  agentType?: string;
@@ -139,7 +140,20 @@ type RoomsApiResponse = {
139
140
  };
140
141
  declare const CHAT_TOPIC: "lk.chat";
141
142
  declare const TRANSCRIPTION_TOPIC: "lk.transcription";
143
+ declare const TYPING_INDICATOR_TOPIC: "typing-indicator";
144
+ interface TypingIndicator {
145
+ type: "typing";
146
+ isTyping: boolean;
147
+ timestamp: number;
148
+ participantId: string;
149
+ }
150
+ interface AgentData {
151
+ name: string;
152
+ avatar?: string;
153
+ email?: string;
154
+ }
142
155
  type MessageListener<M = ApiMessage> = (messages: M[]) => void;
156
+ type TypingListener = (indicator: TypingIndicator) => void;
143
157
  type ChatServiceOptions = {
144
158
  version: "v0" | "v1";
145
159
  organizationId: string;
@@ -153,6 +167,7 @@ type ChatServiceOptions = {
153
167
  });
154
168
  declare class LivekitService {
155
169
  private listeners;
170
+ private typingListeners;
156
171
  private apiUrl;
157
172
  private version;
158
173
  private organizationId;
@@ -167,7 +182,10 @@ declare class LivekitService {
167
182
  private initialize;
168
183
  private processMessage;
169
184
  private emitMessage;
170
- register(externalId: string, secret: string, name?: string): Promise<UserApiResponse>;
185
+ private handleDataReceived;
186
+ private emitTypingIndicator;
187
+ registerUser(externalId: string, secret: string, name?: string): Promise<UserApiResponse>;
188
+ registerAgent(externalId: string, agentData: AgentData): Promise<UserApiResponse>;
171
189
  joinRoom(roomId: string, timezone: string, language: string): Promise<Room>;
172
190
  instanceRoom(): Room;
173
191
  createRoom(options: CreateRoomOptions): Promise<Room>;
@@ -176,6 +194,18 @@ declare class LivekitService {
176
194
  getRooms(options: GetRoomsOptions): Promise<RoomsApiResponse>;
177
195
  disconnect(): Promise<void>;
178
196
  sendMessage(message: string): Promise<void>;
197
+ /**
198
+ * Envía un indicador de "está escribiendo" a otros participantes
199
+ */
200
+ sendTypingIndicator(isTyping: boolean): Promise<void>;
201
+ /**
202
+ * Se suscribe a los indicadores de "está escribiendo" de otros participantes
203
+ */
204
+ subscribeTypingIndicators(listener: TypingListener): () => void;
205
+ /**
206
+ * Desuscribe un listener de typing indicators
207
+ */
208
+ unsubscribeTypingIndicators(listener: TypingListener): void;
179
209
  persistMessage(options: PersistMessageOptions): Promise<MessagesApiResponse>;
180
210
  getMessages(options: GetMessagesOptions): Promise<ApiMessage[]>;
181
211
  sendMessageReport(options: MessageReportOptions): Promise<void>;
@@ -184,4 +214,4 @@ declare class LivekitService {
184
214
  subscribeMessages<M extends ApiMessage = ApiMessage>(callback: MessageListener<M>): () => void;
185
215
  }
186
216
 
187
- export { 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, type UserApiResponse, type UserFrom };
217
+ 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 };
@@ -37,6 +37,7 @@ type CreateRoomOptions = {
37
37
  };
38
38
  type GetMessagesOptions = {
39
39
  roomId?: string;
40
+ groupId?: string;
40
41
  affinity?: {
41
42
  agentId?: string;
42
43
  agentType?: string;
@@ -139,7 +140,20 @@ type RoomsApiResponse = {
139
140
  };
140
141
  declare const CHAT_TOPIC: "lk.chat";
141
142
  declare const TRANSCRIPTION_TOPIC: "lk.transcription";
143
+ declare const TYPING_INDICATOR_TOPIC: "typing-indicator";
144
+ interface TypingIndicator {
145
+ type: "typing";
146
+ isTyping: boolean;
147
+ timestamp: number;
148
+ participantId: string;
149
+ }
150
+ interface AgentData {
151
+ name: string;
152
+ avatar?: string;
153
+ email?: string;
154
+ }
142
155
  type MessageListener<M = ApiMessage> = (messages: M[]) => void;
156
+ type TypingListener = (indicator: TypingIndicator) => void;
143
157
  type ChatServiceOptions = {
144
158
  version: "v0" | "v1";
145
159
  organizationId: string;
@@ -153,6 +167,7 @@ type ChatServiceOptions = {
153
167
  });
154
168
  declare class LivekitService {
155
169
  private listeners;
170
+ private typingListeners;
156
171
  private apiUrl;
157
172
  private version;
158
173
  private organizationId;
@@ -167,7 +182,10 @@ declare class LivekitService {
167
182
  private initialize;
168
183
  private processMessage;
169
184
  private emitMessage;
170
- register(externalId: string, secret: string, name?: string): Promise<UserApiResponse>;
185
+ private handleDataReceived;
186
+ private emitTypingIndicator;
187
+ registerUser(externalId: string, secret: string, name?: string): Promise<UserApiResponse>;
188
+ registerAgent(externalId: string, agentData: AgentData): Promise<UserApiResponse>;
171
189
  joinRoom(roomId: string, timezone: string, language: string): Promise<Room>;
172
190
  instanceRoom(): Room;
173
191
  createRoom(options: CreateRoomOptions): Promise<Room>;
@@ -176,6 +194,18 @@ declare class LivekitService {
176
194
  getRooms(options: GetRoomsOptions): Promise<RoomsApiResponse>;
177
195
  disconnect(): Promise<void>;
178
196
  sendMessage(message: string): Promise<void>;
197
+ /**
198
+ * Envía un indicador de "está escribiendo" a otros participantes
199
+ */
200
+ sendTypingIndicator(isTyping: boolean): Promise<void>;
201
+ /**
202
+ * Se suscribe a los indicadores de "está escribiendo" de otros participantes
203
+ */
204
+ subscribeTypingIndicators(listener: TypingListener): () => void;
205
+ /**
206
+ * Desuscribe un listener de typing indicators
207
+ */
208
+ unsubscribeTypingIndicators(listener: TypingListener): void;
179
209
  persistMessage(options: PersistMessageOptions): Promise<MessagesApiResponse>;
180
210
  getMessages(options: GetMessagesOptions): Promise<ApiMessage[]>;
181
211
  sendMessageReport(options: MessageReportOptions): Promise<void>;
@@ -184,4 +214,4 @@ declare class LivekitService {
184
214
  subscribeMessages<M extends ApiMessage = ApiMessage>(callback: MessageListener<M>): () => void;
185
215
  }
186
216
 
187
- export { 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, type UserApiResponse, type UserFrom };
217
+ 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 };
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
2
- var l=Object.defineProperty;var m=(r,e,t)=>e in r?l(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var s=(r,e,t)=>m(r,typeof e!="symbol"?e+"":e,t);import{setupChat as c}from"@livekit/components-core";import{Room as h}from"livekit-client";var i=async(r,e)=>{let t=await fetch(r,e);if(!t.ok){let o=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...o}))}return t&&t.json()};var g=class extends h{constructor(t){super(t);s(this,"id");s(this,"groupId");s(this,"createdAt");s(this,"connectedAt")}},u="lk.chat",R="lk.transcription",p=class{constructor(e){s(this,"listeners",new Set);s(this,"apiUrl");s(this,"version");s(this,"organizationId");s(this,"channelTopic");s(this,"transcriptionTopic");s(this,"setupChat");s(this,"abortControllers");s(this,"authToken",null);s(this,"messagePersistence");s(this,"room");s(this,"processMessage",async(e,t)=>{let o=e?.info?.id,n=t?.identity?this.room.getParticipantByIdentity(t.identity):void 0,a="";for await(let d of e)a+=d,this.emitMessage({id:o,timestamp:Date.now(),message:a,from:n});this.messagePersistence==="client"&&this.persistMessage({roomId:this.room.id,content:a,externalId:e?.info?.id,identity:n?.identity,kind:n?.kind})});s(this,"emitMessage",e=>{for(let t of this.listeners)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||u,this.transcriptionTopic=e.transcriptionTopic||R,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=c(this.room)}async register(e,t,o){let n=await i(`${this.apiUrl}/users/register`,{method:"POST",body:JSON.stringify({externalId:e,secret:t,name:o}),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,o){let n=await i(`${this.apiUrl}/rooms/${e}/join`,{method:"POST",body:JSON.stringify({timezone:t,language:o}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.createRoom.signal});return this.room.connect(n.wsURL,n.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 i(`${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 i(`${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 i(`${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 i(`${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 persistMessage(e){return i(`${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 i(`${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 i(`${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 i(`${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 i(`${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()}}};export{u as CHAT_TOPIC,p as LivekitService,g as Room,R as TRANSCRIPTION_TOPIC};
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
+ var c=Object.defineProperty;var l=(a,e,t)=>e in a?c(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var i=(a,e,t)=>l(a,typeof e!="symbol"?e+"":e,t);import{setupChat as m}from"@livekit/components-core";import{Room as h,RoomEvent as u}from"livekit-client";var n=async(a,e)=>{let t=await fetch(a,e);if(!t.ok){let r=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...r}))}return t&&t.json()};var g=class extends h{constructor(t){super(t);i(this,"id");i(this,"groupId");i(this,"createdAt");i(this,"connectedAt")}},y="lk.chat",R="lk.transcription",I="typing-indicator",d=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 r=e?.info?.id,s=t?.identity?this.room.getParticipantByIdentity(t.identity):void 0,o="";for await(let p of e)o+=p,this.emitMessage({id:r,timestamp:Date.now(),message:o,from:s});this.messagePersistence==="client"&&this.persistMessage({roomId:this.room.id,content:o,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,r,s)=>{if(s===I)try{let o=JSON.parse(new TextDecoder().decode(e));if(o.type==="typing"&&o.participantId!==this.room.localParticipant.identity){let p={type:"typing",isTyping:o.isTyping,timestamp:o.timestamp,participantId:o.participantId};this.emitTypingIndicator(p)}}catch(o){console.warn("Failed to parse typing indicator:",o)}});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||y,this.transcriptionTopic=e.transcriptionTopic||R,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=m(this.room),this.room.on(u.DataReceived,this.handleDataReceived)}async registerUser(e,t,r){let s=await n(`${this.apiUrl}/users/register`,{method:"POST",body:JSON.stringify({externalId:e,secret:t,name:r}),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 r=await n(`${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=r.token,r}async joinRoom(e,t,r){let s=await n(`${this.apiUrl}/rooms/${e}/join`,{method:"POST",body:JSON.stringify({timezone:t,language:r}),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 n(`${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 n(`${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 n(`${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 n(`${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 n(`${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 n(`${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 n(`${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 n(`${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 n(`${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()}}};export{y as CHAT_TOPIC,d as LivekitService,g as Room,R as TRANSCRIPTION_TOPIC,I as TYPING_INDICATOR_TOPIC};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var o=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var u=(t,s)=>{for(var e in s)o(t,e,{get:s[e],enumerable:!0})},T=(t,s,e,n)=>{if(s&&typeof s=="object"||typeof s=="function")for(let r of i(s))!c.call(t,r)&&r!==e&&o(t,r,{get:()=>s[r],enumerable:!(n=a(s,r))||n.enumerable});return t};var p=t=>T(o({},"__esModule",{value:!0}),t);var w={};u(w,{removeTrailingSlash:()=>h,request:()=>f});module.exports=p(w);var f=async(t,s)=>{let e=await fetch(t,s);if(!e.ok){let n=await e.json().catch(()=>({}));throw new Error(JSON.stringify({status:e.status,statusText:e.statusText,...n}))}return e&&e.json()},h=t=>t.replace(/\/$/,"");0&&(module.exports={removeTrailingSlash,request});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var n=async(s,e)=>{let t=await fetch(s,e);if(!t.ok){let r=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...r}))}return t&&t.json()},o=s=>s.replace(/\/$/,"");export{o as removeTrailingSlash,n as request};
package/themes/dark.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var s=(l,o)=>{for(var e in o)a(l,e,{get:o[e],enumerable:!0})},u=(l,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of t(o))!g.call(l,r)&&r!==e&&a(l,r,{get:()=>o[r],enumerable:!(n=c(o,r))||n.enumerable});return l};var p=l=>u(a({},"__esModule",{value:!0}),l);var m={};s(m,{styles:()=>b});module.exports=p(m);var i=require("lit"),b=i.css`
3
3
  :host,
4
4
  .ol-theme-dark {
package/themes/dark.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  import{css as o}from"lit";var r=o`
3
3
  :host,
4
4
  .ol-theme-dark {
package/themes/light.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var s=(l,o)=>{for(var e in o)a(l,e,{get:o[e],enumerable:!0})},u=(l,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of t(o))!g.call(l,r)&&r!==e&&a(l,r,{get:()=>o[r],enumerable:!(n=c(o,r))||n.enumerable});return l};var p=l=>u(a({},"__esModule",{value:!0}),l);var m={};s(m,{styles:()=>b});module.exports=p(m);var i=require("lit"),b=i.css`
3
3
  :root,
4
4
  :host,
@@ -12,17 +12,17 @@
12
12
  */
13
13
 
14
14
  /* Gray */
15
- --ol-color-gray-50: rgb(248 250 252);
16
- --ol-color-gray-100: rgb(241 245 249);
17
- --ol-color-gray-200: rgb(226 232 240);
18
- --ol-color-gray-300: rgb(203 213 225);
19
- --ol-color-gray-400: rgb(148 163 184);
20
- --ol-color-gray-500: rgb(100 116 139);
21
- --ol-color-gray-600: rgb(71 85 105);
22
- --ol-color-gray-700: rgb(51 65 85);
23
- --ol-color-gray-800: rgb(30 41 59);
24
- --ol-color-gray-900: rgb(15 23 42);
25
- --ol-color-gray-950: rgb(2 6 23);
15
+ --ol-color-gray-50: rgb(249 249 249);
16
+ --ol-color-gray-100: rgb(244 244 245);
17
+ --ol-color-gray-200: rgb(228 228 231);
18
+ --ol-color-gray-300: rgb(212 212 216);
19
+ --ol-color-gray-400: rgb(161 161 170);
20
+ --ol-color-gray-500: rgb(113 113 122);
21
+ --ol-color-gray-600: rgb(82 82 91);
22
+ --ol-color-gray-700: rgb(63 63 70);
23
+ --ol-color-gray-800: rgb(39 39 42);
24
+ --ol-color-gray-900: rgb(24 24 27);
25
+ --ol-color-gray-950: rgb(19 19 22);
26
26
 
27
27
  /* Red */
28
28
  --ol-color-red-50: rgb(254 242 242);
package/themes/light.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  import{css as o}from"lit";var r=o`
3
3
  :root,
4
4
  :host,
@@ -12,17 +12,17 @@ import{css as o}from"lit";var r=o`
12
12
  */
13
13
 
14
14
  /* Gray */
15
- --ol-color-gray-50: rgb(248 250 252);
16
- --ol-color-gray-100: rgb(241 245 249);
17
- --ol-color-gray-200: rgb(226 232 240);
18
- --ol-color-gray-300: rgb(203 213 225);
19
- --ol-color-gray-400: rgb(148 163 184);
20
- --ol-color-gray-500: rgb(100 116 139);
21
- --ol-color-gray-600: rgb(71 85 105);
22
- --ol-color-gray-700: rgb(51 65 85);
23
- --ol-color-gray-800: rgb(30 41 59);
24
- --ol-color-gray-900: rgb(15 23 42);
25
- --ol-color-gray-950: rgb(2 6 23);
15
+ --ol-color-gray-50: rgb(249 249 249);
16
+ --ol-color-gray-100: rgb(244 244 245);
17
+ --ol-color-gray-200: rgb(228 228 231);
18
+ --ol-color-gray-300: rgb(212 212 216);
19
+ --ol-color-gray-400: rgb(161 161 170);
20
+ --ol-color-gray-500: rgb(113 113 122);
21
+ --ol-color-gray-600: rgb(82 82 91);
22
+ --ol-color-gray-700: rgb(63 63 70);
23
+ --ol-color-gray-800: rgb(39 39 42);
24
+ --ol-color-gray-900: rgb(24 24 27);
25
+ --ol-color-gray-950: rgb(19 19 22);
26
26
 
27
27
  /* Red */
28
28
  --ol-color-red-50: rgb(254 242 242);
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var n=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var b=(e,a,l,t)=>{if(a&&typeof a=="object"||typeof a=="function")for(let o of i(a))!s.call(e,o)&&o!==l&&n(e,o,{get:()=>a[o],enumerable:!(t=r(a,o))||t.enumerable});return e};var d=e=>b(n({},"__esModule",{value:!0}),e);var p={};module.exports=d(p);
@@ -1 +1 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var r=Object.defineProperty;var t=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var c=(e,n,a,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of s(n))!g.call(e,o)&&o!==a&&r(e,o,{get:()=>n[o],enumerable:!(i=t(n,o))||i.enumerable});return e};var d=e=>c(r({},"__esModule",{value:!0}),e);var l={};module.exports=d(l);
@@ -1 +1 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var s=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var n=(e,t)=>{for(var o in t)s(e,o,{get:t[o],enumerable:!0})},p=(e,t,o,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of d(t))!i.call(e,a)&&a!==o&&s(e,a,{get:()=>t[a],enumerable:!(l=S(t,a))||l.enumerable});return e};var y=e=>p(s({},"__esModule",{value:!0}),e);var m={};n(m,{adoptStyles:()=>c});module.exports=y(m);var r=require("lit"),c=(e,t)=>{try{(0,r.adoptStyles)(e,t)}catch(o){console.warn("Failed to adopt styles using lit-adoptStyles:",o)}};0&&(module.exports={adoptStyles});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  import{adoptStyles as a}from"lit";var r=(t,e)=>{try{a(t,e)}catch(o){console.warn("Failed to adopt styles using lit-adoptStyles:",o)}};export{r as adoptStyles};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var o=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var w=(n,e)=>{for(var t in e)o(n,t,{get:e[t],enumerable:!0})},u=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of l(e))!h.call(n,i)&&i!==t&&o(n,i,{get:()=>e[i],enumerable:!(r=m(e,i))||r.enumerable});return n};var f=n=>u(o({},"__esModule",{value:!0}),n);var p={};w(p,{browserPreferences:()=>z});module.exports=f(p);function z(){if(typeof window>"u")return{pageUrl:"",language:"en",timezone:"UTC",timezoneOffset:0,userAgent:"",colorScheme:"light",screenWidth:0,screenHeight:0,screenSize:"medium",devicePixelRatio:1};let n=window.location.href,e=navigator.language||"en",t=Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC",r=new Date().getTimezoneOffset(),i=navigator.userAgent,s=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",c=window.screen.width,a=window.screen.height,g=window.innerWidth<768?"small":window.innerWidth<1200?"medium":"large",d=window.devicePixelRatio||1;return{pageUrl:n,language:e,timezone:t,timezoneOffset:r,userAgent:i,colorScheme:s,screenWidth:c,screenHeight:a,screenSize:g,devicePixelRatio:d}}0&&(module.exports={browserPreferences});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  function d(){if(typeof window>"u")return{pageUrl:"",language:"en",timezone:"UTC",timezoneOffset:0,userAgent:"",colorScheme:"light",screenWidth:0,screenHeight:0,screenSize:"medium",devicePixelRatio:1};let e=window.location.href,n=navigator.language||"en",i=Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC",t=new Date().getTimezoneOffset(),r=navigator.userAgent,o=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",s=window.screen.width,c=window.screen.height,a=window.innerWidth<768?"small":window.innerWidth<1200?"medium":"large",g=window.devicePixelRatio||1;return{pageUrl:e,language:n,timezone:i,timezoneOffset:t,userAgent:r,colorScheme:o,screenWidth:s,screenHeight:c,screenSize:a,devicePixelRatio:g}}export{d as browserPreferences};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var r=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var e=Object.prototype.hasOwnProperty;var c=(i,a)=>{for(var t in a)r(i,t,{get:a[t],enumerable:!0})},p=(i,a,t,l)=>{if(a&&typeof a=="object"||typeof a=="function")for(let s of o(a))!e.call(i,s)&&s!==t&&r(i,s,{get:()=>a[s],enumerable:!(l=n(a,s))||l.enumerable});return i};var d=i=>p(r({},"__esModule",{value:!0}),i);var f={};c(f,{classifyMedia:()=>h});module.exports=d(f);var h=(i="")=>i.startsWith("image/")?"image":i.startsWith("video/")||i.startsWith("audio/")||i==="application/x-mpegURL"||i==="application/vnd.apple.mpegurl"||i==="application/dash+xml"||i==="application/x-shockwave-flash"?"video":"file";0&&(module.exports={classifyMedia});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var a=(i="")=>i.startsWith("image/")?"image":i.startsWith("video/")||i.startsWith("audio/")||i==="application/x-mpegURL"||i==="application/vnd.apple.mpegurl"||i==="application/dash+xml"||i==="application/x-shockwave-flash"?"video":"file";export{a as classifyMedia};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var r=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var u=(t,e)=>{for(var s in e)r(t,s,{get:e[s],enumerable:!0})},m=(t,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of l(e))!c.call(t,n)&&n!==s&&r(t,n,{get:()=>e[n],enumerable:!(o=i(e,n))||o.enumerable});return t};var d=t=>m(r({},"__esModule",{value:!0}),t);var E={};u(E,{uniqueCustomElement:()=>p});module.exports=d(E);var C=(t,e)=>(customElements.get(t)?console.debug(`Custom element <${t}> is already defined, skipping definition of ${e.name}.`):window.customElements.define(t,e),e),f=(t,e)=>{let{kind:s,elements:o}=e;return{kind:s,elements:o,finisher(n){customElements.get(t)||window.customElements.define(t,n)}}},p=t=>e=>typeof e=="function"?C(t,e):f(t,e);0&&(module.exports={uniqueCustomElement});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var r=(e,t)=>(customElements.get(e)?console.debug(`Custom element <${e}> is already defined, skipping definition of ${t.name}.`):window.customElements.define(e,t),t),i=(e,t)=>{let{kind:n,elements:s}=t;return{kind:n,elements:s,finisher(o){customElements.get(e)||window.customElements.define(e,o)}}},l=e=>t=>typeof t=="function"?r(e,t):i(e,t);export{l as uniqueCustomElement};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var o=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var l=(t,r)=>{for(var n in r)o(t,n,{get:r[n],enumerable:!0})},m=(t,r,n,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of g(r))!i.call(t,a)&&a!==n&&o(t,a,{get:()=>r[a],enumerable:!(e=s(r,a))||e.enumerable});return t};var u=t=>m(o({},"__esModule",{value:!0}),t);var P={};l(P,{detectedLang:()=>L});module.exports=u(P);var c=require("@formatjs/intl-localematcher"),h=["en","es","fr","de","it","pt"],L=(t=h,r="en")=>{try{let a=new URLSearchParams(window.location.search).get("olLang");if(a&&t.includes(a))return a}catch{}let n=navigator.languages||[navigator.language];try{return(0,c.match)(n,t,r,{algorithm:"best fit"})}catch{return r}};0&&(module.exports={detectedLang});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  import{match as o}from"@formatjs/intl-localematcher";var c=["en","es","fr","de","it","pt"],g=(t=c,a="en")=>{try{let r=new URLSearchParams(window.location.search).get("olLang");if(r&&t.includes(r))return r}catch{}let n=navigator.languages||[navigator.language];try{return o(n,t,a,{algorithm:"best fit"})}catch{return a}};export{g as detectedLang};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var u=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var a=(e,r)=>{for(var t in r)u(e,t,{get:r[t],enumerable:!0})},F=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of s(r))!l.call(e,n)&&n!==t&&u(e,n,{get:()=>r[n],enumerable:!(i=c(r,n))||i.enumerable});return e};var o=e=>F(u({},"__esModule",{value:!0}),e);var q={};a(q,{enterFullScreen:()=>w,exitFullScreen:()=>f});module.exports=o(q);var w=async e=>{try{if("requestFullscreen"in e)return await e.requestFullscreen();if("mozRequestFullScreen"in e)return await e.mozRequestFullScreen();if("webkitRequestFullscreen"in e)return await e.webkitRequestFullscreen();if("msRequestFullscreen"in e)return await e.msRequestFullscreen()}catch(r){console.error(r)}},f=async e=>{try{if(e.fullscreenElement){if("exitFullscreen"in e)return await e.exitFullscreen();if("mozCancelFullScreen"in e)return await e.mozCancelFullScreen();if("webkitExitFullscreen"in e)return await e.webkitExitFullscreen()}}catch(r){console.error(r)}};0&&(module.exports={enterFullScreen,exitFullScreen});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var n=async e=>{try{if("requestFullscreen"in e)return await e.requestFullscreen();if("mozRequestFullScreen"in e)return await e.mozRequestFullScreen();if("webkitRequestFullscreen"in e)return await e.webkitRequestFullscreen();if("msRequestFullscreen"in e)return await e.msRequestFullscreen()}catch(r){console.error(r)}},t=async e=>{try{if(e.fullscreenElement){if("exitFullscreen"in e)return await e.exitFullscreen();if("mozCancelFullScreen"in e)return await e.mozCancelFullScreen();if("webkitExitFullscreen"in e)return await e.webkitExitFullscreen()}}catch(r){console.error(r)}};export{n as enterFullScreen,t as exitFullScreen};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var d=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var a in e)d(t,a,{get:e[a],enumerable:!0})},m=(t,e,a,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of o(e))!f.call(t,r)&&r!==a&&d(t,r,{get:()=>e[r],enumerable:!(n=l(e,r))||n.enumerable});return t};var u=t=>m(d({},"__esModule",{value:!0}),t);var v={};p(v,{insertScript:()=>y});module.exports=u(v);var y=async({src:t="",async:e=!1,defer:a=!1,module:n=!1,system:r=!1})=>new Promise((c,i)=>{let s=document.createElement("script");s.src=t,e&&(s.async=!0),a&&(s.defer=!0),n?s.type="module":r?s.type="systemjs-module":s.type="text/javascript",s.addEventListener("load",c),s.addEventListener("error",i),document.head.append(s)});0&&(module.exports={insertScript});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var i=async({src:t="",async:s=!1,defer:r=!1,module:a=!1,system:n=!1})=>new Promise((d,c)=>{let e=document.createElement("script");e.src=t,s&&(e.async=!0),r&&(e.defer=!0),a?e.type="module":n?e.type="systemjs-module":e.type="text/javascript",e.addEventListener("load",d),e.addEventListener("error",c),document.head.append(e)});export{i as insertScript};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var u=(e,n)=>{for(var t in n)i(e,t,{get:n[t],enumerable:!0})},c=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of a(n))!f.call(e,o)&&o!==t&&i(e,o,{get:()=>n[o],enumerable:!(r=s(n,o))||r.enumerable});return e};var h=e=>c(i({},"__esModule",{value:!0}),e);var d={};u(d,{isMapCompatible:()=>p});module.exports=h(d);function p(){if(typeof navigator>"u")return!1;let e=navigator.userAgent;if(/iPhone/.test(e)){let t=e.match(/OS (\d+)_(\d+)/);if(t&&parseInt(t[1],10)<14)return!1}return!0}0&&(module.exports={isMapCompatible});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  function r(){if(typeof navigator>"u")return!1;let e=navigator.userAgent;if(/iPhone/.test(e)){let n=e.match(/OS (\d+)_(\d+)/);if(n&&parseInt(n[1],10)<14)return!1}return!0}export{r as isMapCompatible};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var f=Object.create;var i=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var L=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var g=(r,t)=>{for(var e in t)i(r,e,{get:t[e],enumerable:!0})},n=(r,t,e,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of A(t))!d.call(r,o)&&o!==e&&i(r,o,{get:()=>t[o],enumerable:!(a=T(t,o))||a.enumerable});return r};var h=(r,t,e)=>(e=r!=null?f(L(r)):{},n(t||!r||!r.__esModule?i(e,"default",{value:r,enumerable:!0}):e,r)),u=r=>n(i({},"__esModule",{value:!0}),r);var b={};g(b,{markdown:()=>O});module.exports=u(b);var p=require("marked");var s=h(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},l=(r,t=_)=>s.default.sanitize(r,t);var m=require("lit/directives/unsafe-html.js"),O=r=>(0,m.unsafeHTML)(l(p.marked.parse(r)));0&&(module.exports={markdown});
package/utils/markdown.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  import{marked as a}from"marked";import o from"dompurify";var i={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=(r,e=i)=>o.sanitize(r,e);import{unsafeHTML as n}from"lit/directives/unsafe-html.js";var A=r=>n(t(a.parse(r)));export{A as markdown};
package/utils/merge.cjs CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var t=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var i=(e,r)=>{for(var s in r)t(e,s,{get:r[s],enumerable:!0})},u=(e,r,s,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of T(r))!f.call(e,n)&&n!==s&&t(e,n,{get:()=>r[n],enumerable:!(o=c(r,n))||o.enumerable});return e};var O=e=>u(t({},"__esModule",{value:!0}),e);var y={};i(y,{merge:()=>a});module.exports=O(y);var a=(e,...r)=>{if(!r.length)return e;let s=r.shift(),o=n=>!!n&&typeof n=="object"&&!Array.isArray(n);if(o(e)&&o(s))for(let n in s)o(s[n])?(e[n]||Object.assign(e,{[n]:{}}),a(e[n],s[n])):Object.assign(e,{[n]:s[n]});return a(e,...r)};0&&(module.exports={merge});
package/utils/merge.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var t=(e,...s)=>{if(!s.length)return e;let r=s.shift(),o=n=>!!n&&typeof n=="object"&&!Array.isArray(n);if(o(e)&&o(r))for(let n in r)o(r[n])?(e[n]||Object.assign(e,{[n]:{}}),t(e[n],r[n])):Object.assign(e,{[n]:r[n]});return t(e,...s)};export{t as merge};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var m=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var D=(t,e)=>{for(var n in e)m(t,n,{get:e[n],enumerable:!0})},M=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of F(e))!V.call(t,a)&&a!==n&&m(t,a,{get:()=>e[a],enumerable:!(s=g(e,a))||s.enumerable});return t};var S=t=>M(m({},"__esModule",{value:!0}),t);var I={};D(I,{multibandTrackVolume:()=>q});module.exports=S(I);var d=require("livekit-client"),p=require("rxjs"),k={bands:5,loPass:100,hiPass:600,updateInterval:32,analyserOptions:{fftSize:2048}},q=(t,e={})=>{let n={...k,...e},s=new p.BehaviorSubject(new Array(n.bands).fill(0)),a=s.asObservable();if(!t||!t?.mediaStream)return{cleanup:()=>{},volumesObservable:a};let{analyser:l,cleanup:f}=(0,d.createAudioAnalyser)(t,n.analyserOptions),y=l.frequencyBinCount,o=new Float32Array(y),h=setInterval(()=>{l.getFloatFrequencyData(o);let u=new Float32Array(o.length);for(let r=0;r<o.length;r++)u[r]=o[r];u=u.slice(e.loPass,e.hiPass);let b=x(u),i=Math.ceil(b.length/n.bands),c=[];for(let r=0;r<n.bands;r++){let O=b.slice(r*i,(r+1)*i).reduce((v,A)=>v+=A,0);c.push(O/i)}JSON.stringify(c)!==JSON.stringify(s.getValue())&&s.next(c)},n.updateInterval);return{cleanup:()=>{clearInterval(h),f(),s.complete()},volumesObservable:a}},x=t=>{let e=n=>{let l=1-Math.max(-100,Math.min(-10,n))*-1/100;return l=Math.sqrt(l),l};return t.map(n=>n===-1/0?0:e(n))};0&&(module.exports={multibandTrackVolume});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  import{createAudioAnalyser as O}from"livekit-client";import{BehaviorSubject as v}from"rxjs";var A={bands:5,loPass:100,hiPass:600,updateInterval:32,analyserOptions:{fftSize:2048}},q=(a,r={})=>{let e={...A,...r},s=new v(new Array(e.bands).fill(0)),u=s.asObservable();if(!a||!a?.mediaStream)return{cleanup:()=>{},volumesObservable:u};let{analyser:t,cleanup:b}=O(a,e.analyserOptions),d=t.frequencyBinCount,l=new Float32Array(d),p=setInterval(()=>{t.getFloatFrequencyData(l);let o=new Float32Array(l.length);for(let n=0;n<l.length;n++)o[n]=l[n];o=o.slice(r.loPass,r.hiPass);let m=g(o),i=Math.ceil(m.length/e.bands),c=[];for(let n=0;n<e.bands;n++){let f=m.slice(n*i,(n+1)*i).reduce((y,h)=>y+=h,0);c.push(f/i)}JSON.stringify(c)!==JSON.stringify(s.getValue())&&s.next(c)},e.updateInterval);return{cleanup:()=>{clearInterval(p),b(),s.complete()},volumesObservable:u}},g=a=>{let r=e=>{let t=1-Math.max(-100,Math.min(-10,e))*-1/100;return t=Math.sqrt(t),t};return a.map(e=>e===-1/0?0:r(e))};export{q as multibandTrackVolume};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var e=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var l=(a,r)=>{for(var s in r)e(a,s,{get:r[s],enumerable:!0})},h=(a,r,s,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of c(r))!i.call(a,o)&&o!==s&&e(a,o,{get:()=>r[o],enumerable:!(t=n(r,o))||t.enumerable});return a};var w=a=>h(e({},"__esModule",{value:!0}),a);var m={};l(m,{onliveUrlParams:()=>g});module.exports=w(m);var g=()=>{let a={};return new URLSearchParams(window.location.search).forEach((r,s)=>{s.startsWith("ol")&&(a[s.substring(2).replace(/^./,t=>t.toLowerCase())]=r)}),a};0&&(module.exports={onliveUrlParams});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var t=()=>{let r={};return new URLSearchParams(window.location.search).forEach((s,a)=>{a.startsWith("ol")&&(r[a.substring(2).replace(/^./,o=>o.toLowerCase())]=s)}),r};export{t as onliveUrlParams};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var r=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var a=(t,e)=>{for(var i in e)r(t,i,{get:e[i],enumerable:!0})},f=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let m of o(e))!u.call(t,m)&&m!==i&&r(t,m,{get:()=>e[m],enumerable:!(n=s(e,m))||n.enumerable});return t};var c=t=>f(r({},"__esModule",{value:!0}),t);var l={};a(l,{prettyDistance:()=>y});module.exports=c(l);var k={short:{m:"m",km:"km",mi:"mi"},long:{m:"meters",km:"kilometers",mi:"miles"}};function y(t){let e=k[t.format][t.unit];return`${t.value.toFixed(t.fixed)} ${e}`}0&&(module.exports={prettyDistance});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var m={short:{m:"m",km:"km",mi:"mi"},long:{m:"meters",km:"kilometers",mi:"miles"}};function i(t){let e=m[t.format][t.unit];return`${t.value.toFixed(t.fixed)} ${e}`}export{i as prettyDistance};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var s=(t,r)=>{for(var n in r)a(t,n,{get:r[n],enumerable:!0})},g=(t,r,n,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of h(r))!l.call(t,o)&&o!==n&&a(t,o,{get:()=>r[o],enumerable:!(e=c(r,o))||e.enumerable});return t};var i=t=>g(a({},"__esModule",{value:!0}),t);var u={};s(u,{randomString:()=>m});module.exports=i(u);var m=t=>{let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n="";for(let e=0;e<t;e++)n+=r.charAt(Math.floor(Math.random()*r.length));return n};0&&(module.exports={randomString});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var o=e=>{let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let n=0;n<e;n++)t+=r.charAt(Math.floor(Math.random()*r.length));return t};export{o as randomString};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  "use strict";var r=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var c=(n,e)=>{for(var i in e)r(n,i,{get:e[i],enumerable:!0})},g=(n,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of u(e))!N.call(n,s)&&s!==i&&r(n,s,{get:()=>e[s],enumerable:!(o=p(e,s))||o.enumerable});return n};var m=n=>g(r({},"__esModule",{value:!0}),n);var v={};c(v,{ResourceType:()=>t,resourceType:()=>f});module.exports=m(v);var t=(o=>(o.IMAGE="image",o.VIDEO="video",o.UNKNOWN="unknown",o))(t||{});function f(n){if(!n)return"unknown";let e=n.split(".").pop()?.toLowerCase();if(!e)return"unknown";let i=["jpg","jpeg","png","gif","webp","svg","bmp","tiff","ico"],o=["mp4","webm","ogg","mov","avi","wmv","flv","mkv","m4v","3gp"];return i.includes(e)?"image":o.includes(e)?"video":"unknown"}0&&(module.exports={ResourceType,resourceType});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
2
  var s=(e=>(e.IMAGE="image",e.VIDEO="video",e.UNKNOWN="unknown",e))(s||{});function r(o){if(!o)return"unknown";let n=o.split(".").pop()?.toLowerCase();if(!n)return"unknown";let i=["jpg","jpeg","png","gif","webp","svg","bmp","tiff","ico"],e=["mp4","webm","ogg","mov","avi","wmv","flv","mkv","m4v","3gp"];return i.includes(n)?"image":e.includes(n)?"video":"unknown"}export{s as ResourceType,r as resourceType};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
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,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
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,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
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});
package/utils/sanitize.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
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};
package/utils/spread.cjs CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
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});
package/utils/spread.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 Onlive.ai */
2
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};
package/utils/watch.cjs CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 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.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.55 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.66 | © 2025 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};