@onlive.ai/common-121 0.2.187 → 0.2.190
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.
- package/README.md +300 -89
- package/{audi-dark.theme-aO_Pa27x.d.cts → audi-dark.theme-a2WmOyVS.d.cts} +1 -1
- package/{audi-dark.theme-aO_Pa27x.d.ts → audi-dark.theme-a2WmOyVS.d.ts} +1 -1
- package/{audi.theme-BP7nboRq.d.cts → audi.theme-DkdflnT8.d.cts} +1 -1
- package/{audi.theme-BP7nboRq.d.ts → audi.theme-DkdflnT8.d.ts} +1 -1
- package/{australia.theme-BkfhMf1z.d.cts → australia.theme-B5n8F3QH.d.cts} +1 -1
- package/{australia.theme-BkfhMf1z.d.ts → australia.theme-B5n8F3QH.d.ts} +1 -1
- package/{chunk-V7XHRWMT.js → chunk-4DKWCKNT.js} +1 -1
- package/components/asset/asset-modal-portal.cjs +1 -1
- package/components/asset/asset-modal-portal.d.cts +1 -1
- package/components/asset/asset-modal-portal.d.ts +1 -1
- package/components/asset/asset-modal-portal.js +1 -1
- package/components/asset/asset.cjs +1 -1
- package/components/asset/asset.d.cts +1 -1
- package/components/asset/asset.d.ts +1 -1
- package/components/asset/asset.js +1 -1
- package/components/asset/asset.loaders.cjs +1 -1
- package/components/asset/asset.loaders.d.cts +1 -1
- package/components/asset/asset.loaders.d.ts +1 -1
- package/components/asset/asset.loaders.js +1 -1
- package/components/asset/asset.renderer.cjs +1 -1
- package/components/asset/asset.renderer.d.cts +1 -1
- package/components/asset/asset.renderer.d.ts +1 -1
- package/components/asset/asset.renderer.js +1 -1
- package/components/asset/asset.styles.cjs +1 -1
- package/components/asset/asset.styles.d.cts +1 -1
- package/components/asset/asset.styles.d.ts +1 -1
- package/components/asset/asset.styles.js +1 -1
- package/components/asset/asset.types.cjs +1 -1
- package/components/asset/asset.types.d.cts +1 -1
- package/components/asset/asset.types.d.ts +1 -1
- package/components/asset/asset.types.js +1 -1
- package/components/asset/index.cjs +1 -1
- package/components/asset/index.d.cts +1 -1
- package/components/asset/index.d.ts +1 -1
- package/components/asset/index.js +1 -1
- package/components/player/player.cjs +1 -1
- package/components/player/player.d.cts +1 -1
- package/components/player/player.d.ts +1 -1
- package/components/player/player.js +1 -1
- package/components/player/player.styles.cjs +1 -1
- package/components/player/player.styles.d.cts +1 -1
- package/components/player/player.styles.d.ts +1 -1
- package/components/player/player.styles.js +1 -1
- package/components/side-bar/index.cjs +1 -1
- package/components/side-bar/index.d.cts +1 -1
- package/components/side-bar/index.d.ts +1 -1
- package/components/side-bar/index.js +1 -1
- package/components/side-bar/side-bar.cjs +1 -1
- package/components/side-bar/side-bar.d.cts +1 -1
- package/components/side-bar/side-bar.d.ts +1 -1
- package/components/side-bar/side-bar.js +1 -1
- package/components/side-bar/side-bar.styles.cjs +1 -1
- package/components/side-bar/side-bar.styles.d.cts +1 -1
- package/components/side-bar/side-bar.styles.d.ts +1 -1
- package/components/side-bar/side-bar.styles.js +1 -1
- package/components/side-bar/side-bar.types.cjs +1 -1
- package/components/side-bar/side-bar.types.d.cts +1 -1
- package/components/side-bar/side-bar.types.d.ts +1 -1
- package/components/side-bar/side-bar.types.js +1 -1
- package/components/upload/index.cjs +1 -1
- package/components/upload/index.d.cts +1 -1
- package/components/upload/index.d.ts +1 -1
- package/components/upload/index.js +1 -1
- package/components/upload/upload.cjs +1 -1
- package/components/upload/upload.d.cts +1 -1
- package/components/upload/upload.d.ts +1 -1
- package/components/upload/upload.js +1 -1
- package/components/upload/upload.styles.cjs +1 -1
- package/components/upload/upload.styles.d.cts +1 -1
- package/components/upload/upload.styles.d.ts +1 -1
- package/components/upload/upload.styles.js +1 -1
- package/components/upload/upload.types.cjs +1 -1
- package/components/upload/upload.types.d.cts +1 -1
- package/components/upload/upload.types.d.ts +1 -1
- package/components/upload/upload.types.js +1 -1
- package/{cuernavaca.theme-Bez8yPGT.d.cts → cuernavaca.theme-BzcZX1EJ.d.cts} +1 -1
- package/{cuernavaca.theme-Bez8yPGT.d.ts → cuernavaca.theme-BzcZX1EJ.d.ts} +1 -1
- package/{cupra-diagonal.theme-CvdXkM9K.d.cts → cupra-diagonal.theme-CKxsGYdb.d.cts} +1 -1
- package/{cupra-diagonal.theme-CvdXkM9K.d.ts → cupra-diagonal.theme-CKxsGYdb.d.ts} +1 -1
- package/{cupra-events.theme-ln2vh1C0.d.cts → cupra-events.theme-kGaXJptG.d.cts} +1 -1
- package/{cupra-events.theme-ln2vh1C0.d.ts → cupra-events.theme-kGaXJptG.d.ts} +1 -1
- package/{cupra.theme-xa6yZhYo.d.cts → cupra.theme-C-oFRdQw.d.cts} +1 -1
- package/{cupra.theme-xa6yZhYo.d.ts → cupra.theme-C-oFRdQw.d.ts} +1 -1
- package/{germany.theme-Dra_5Jz0.d.cts → germany.theme-Cxz60Lv5.d.cts} +1 -1
- package/{germany.theme-Dra_5Jz0.d.ts → germany.theme-Cxz60Lv5.d.ts} +1 -1
- package/{hyundai.theme-BATWnkTl.d.cts → hyundai.theme-DNFeBfk4.d.cts} +1 -1
- package/{hyundai.theme-BATWnkTl.d.ts → hyundai.theme-DNFeBfk4.d.ts} +1 -1
- package/index.cjs +33 -33
- package/index.css +1 -0
- package/index.d.cts +4 -2
- package/index.d.ts +4 -2
- package/index.js +140 -139
- package/{italy.theme-YukqsD2q.d.cts → italy.theme-YKt3PHQM.d.cts} +1 -1
- package/{italy.theme-YukqsD2q.d.ts → italy.theme-YKt3PHQM.d.ts} +1 -1
- package/{magimix.theme-C7eoXRAA.d.cts → magimix.theme-lIo3UAYh.d.cts} +1 -1
- package/{magimix.theme-C7eoXRAA.d.ts → magimix.theme-lIo3UAYh.d.ts} +1 -1
- package/{media-MWJPMNO2.js → media-BU4KDZMS.js} +2 -2
- package/{onlive-ai.theme-CMYahnHv.d.cts → onlive-ai.theme-Dk4K7dnu.d.cts} +1 -1
- package/{onlive-ai.theme-CMYahnHv.d.ts → onlive-ai.theme-Dk4K7dnu.d.ts} +1 -1
- package/{onlive.theme-B7tNdG9s.d.cts → onlive.theme-BU4h4zKz.d.cts} +1 -1
- package/{onlive.theme-B7tNdG9s.d.ts → onlive.theme-BU4h4zKz.d.ts} +1 -1
- package/package.json +4 -2
- package/react/components/asset/Asset.cjs +1 -1
- package/react/components/asset/Asset.jsx +1 -1
- package/react/components/side-bar/SideBar.cjs +1 -1
- package/react/components/side-bar/SideBar.jsx +1 -1
- package/react/components/upload/Upload.cjs +1 -1
- package/react/components/upload/Upload.jsx +1 -1
- package/{seat-cupra.theme-CzvloqhA.d.cts → seat-cupra.theme-C-PJk0pi.d.cts} +1 -1
- package/{seat-cupra.theme-CzvloqhA.d.ts → seat-cupra.theme-C-PJk0pi.d.ts} +1 -1
- package/services/audio.service.cjs +1 -1
- package/services/audio.service.d.cts +1 -1
- package/services/audio.service.d.ts +1 -1
- package/services/audio.service.js +1 -1
- package/services/conversation/conversation.service.cjs +1 -1
- package/services/conversation/conversation.service.d.cts +1 -1
- package/services/conversation/conversation.service.d.ts +1 -1
- package/services/conversation/conversation.service.js +1 -1
- package/services/conversation/conversation.types.cjs +2 -2
- package/services/conversation/conversation.types.d.cts +3 -1
- package/services/conversation/conversation.types.d.ts +3 -1
- package/services/conversation/conversation.types.js +1 -1
- package/services/conversation/index.cjs +2 -2
- package/services/conversation/index.d.cts +1 -1
- package/services/conversation/index.d.ts +1 -1
- package/services/conversation/index.js +2 -2
- package/services/conversation/mock/actor/agent.cjs +1 -1
- package/services/conversation/mock/actor/agent.d.cts +1 -1
- package/services/conversation/mock/actor/agent.d.ts +1 -1
- package/services/conversation/mock/actor/agent.js +1 -1
- package/services/conversation/mock/actor/index.cjs +1 -1
- package/services/conversation/mock/actor/index.d.cts +1 -1
- package/services/conversation/mock/actor/index.d.ts +1 -1
- package/services/conversation/mock/actor/index.js +1 -1
- package/services/conversation/mock/actor/strategies.cjs +1 -1
- package/services/conversation/mock/actor/strategies.d.cts +1 -1
- package/services/conversation/mock/actor/strategies.d.ts +1 -1
- package/services/conversation/mock/actor/strategies.js +1 -1
- package/services/conversation/mock/errors.cjs +1 -1
- package/services/conversation/mock/errors.d.cts +1 -1
- package/services/conversation/mock/errors.d.ts +1 -1
- package/services/conversation/mock/errors.js +1 -1
- package/services/conversation/mock/events.cjs +1 -1
- package/services/conversation/mock/events.d.cts +1 -1
- package/services/conversation/mock/events.d.ts +1 -1
- package/services/conversation/mock/events.js +1 -1
- package/services/conversation/mock/factory.cjs +2 -2
- package/services/conversation/mock/factory.d.cts +1 -1
- package/services/conversation/mock/factory.d.ts +1 -1
- package/services/conversation/mock/factory.js +2 -2
- package/services/conversation/mock/fixtures.cjs +1 -1
- package/services/conversation/mock/fixtures.d.cts +1 -1
- package/services/conversation/mock/fixtures.d.ts +1 -1
- package/services/conversation/mock/fixtures.js +1 -1
- package/services/conversation/mock/generators.cjs +1 -1
- package/services/conversation/mock/generators.d.cts +1 -1
- package/services/conversation/mock/generators.d.ts +1 -1
- package/services/conversation/mock/generators.js +1 -1
- package/services/conversation/mock/index.cjs +2 -2
- package/services/conversation/mock/index.d.cts +1 -1
- package/services/conversation/mock/index.d.ts +1 -1
- package/services/conversation/mock/index.js +2 -2
- package/services/conversation/mock/livekit/index.cjs +1 -1
- package/services/conversation/mock/livekit/index.d.cts +1 -1
- package/services/conversation/mock/livekit/index.d.ts +1 -1
- package/services/conversation/mock/livekit/index.js +1 -1
- package/services/conversation/mock/livekit/local-participant.cjs +1 -1
- package/services/conversation/mock/livekit/local-participant.d.cts +1 -1
- package/services/conversation/mock/livekit/local-participant.d.ts +1 -1
- package/services/conversation/mock/livekit/local-participant.js +1 -1
- package/services/conversation/mock/livekit/participant.cjs +1 -1
- package/services/conversation/mock/livekit/participant.d.cts +1 -1
- package/services/conversation/mock/livekit/participant.d.ts +1 -1
- package/services/conversation/mock/livekit/participant.js +1 -1
- package/services/conversation/mock/livekit/room.cjs +1 -1
- package/services/conversation/mock/livekit/room.d.cts +1 -1
- package/services/conversation/mock/livekit/room.d.ts +1 -1
- package/services/conversation/mock/livekit/room.js +1 -1
- package/services/conversation/mock/livekit/streams.cjs +1 -1
- package/services/conversation/mock/livekit/streams.d.cts +1 -1
- package/services/conversation/mock/livekit/streams.d.ts +1 -1
- package/services/conversation/mock/livekit/streams.js +1 -1
- package/services/conversation/mock/livekit/tracks.cjs +1 -1
- package/services/conversation/mock/livekit/tracks.d.cts +1 -1
- package/services/conversation/mock/livekit/tracks.d.ts +1 -1
- package/services/conversation/mock/livekit/tracks.js +1 -1
- package/services/conversation/mock/media.cjs +1 -1
- package/services/conversation/mock/media.d.cts +1 -1
- package/services/conversation/mock/media.d.ts +1 -1
- package/services/conversation/mock/media.js +1 -1
- package/services/conversation/mock/service.cjs +2 -2
- package/services/conversation/mock/service.d.cts +1 -1
- package/services/conversation/mock/service.d.ts +1 -1
- package/services/conversation/mock/service.js +2 -2
- package/services/conversation/mock/service.test.cjs +2 -2
- package/services/conversation/mock/service.test.d.cts +1 -1
- package/services/conversation/mock/service.test.d.ts +1 -1
- package/services/conversation/mock/service.test.js +2 -2
- package/services/conversation/mock/state.cjs +1 -1
- package/services/conversation/mock/state.d.cts +1 -1
- package/services/conversation/mock/state.d.ts +1 -1
- package/services/conversation/mock/state.js +1 -1
- package/services/conversation/mock/storybook.cjs +2 -2
- package/services/conversation/mock/storybook.d.cts +1 -1
- package/services/conversation/mock/storybook.d.ts +1 -1
- package/services/conversation/mock/storybook.js +2 -2
- package/services/conversation/mock/types.cjs +1 -1
- package/services/conversation/mock/types.d.cts +1 -1
- package/services/conversation/mock/types.d.ts +1 -1
- package/services/conversation/mock/types.js +1 -1
- package/services/deep-link.service.cjs +1 -1
- package/services/deep-link.service.d.cts +1 -1
- package/services/deep-link.service.d.ts +1 -1
- package/services/deep-link.service.js +1 -1
- package/services/faqs/faqs.service.cjs +1 -1
- package/services/faqs/faqs.service.d.cts +1 -1
- package/services/faqs/faqs.service.d.ts +1 -1
- package/services/faqs/faqs.service.js +1 -1
- package/services/faqs/faqs.types.cjs +1 -1
- package/services/faqs/faqs.types.d.cts +1 -1
- package/services/faqs/faqs.types.d.ts +1 -1
- package/services/faqs/faqs.types.js +1 -1
- package/services/faqs/index.cjs +1 -1
- package/services/faqs/index.d.cts +1 -1
- package/services/faqs/index.d.ts +1 -1
- package/services/faqs/index.js +1 -1
- package/services/file/file.service.cjs +1 -1
- package/services/file/file.service.d.cts +1 -1
- package/services/file/file.service.d.ts +1 -1
- package/services/file/file.service.js +1 -1
- package/services/file/file.types.cjs +1 -1
- package/services/file/file.types.d.cts +1 -1
- package/services/file/file.types.d.ts +1 -1
- package/services/file/file.types.js +1 -1
- package/services/file/index.cjs +1 -1
- package/services/file/index.d.cts +1 -1
- package/services/file/index.d.ts +1 -1
- package/services/file/index.js +1 -1
- package/services/firebase/firebase-api.cjs +1 -1
- package/services/firebase/firebase-api.d.cts +1 -1
- package/services/firebase/firebase-api.d.ts +1 -1
- package/services/firebase/firebase-api.js +1 -1
- package/services/multimedia/config.example.cjs +1 -1
- package/services/multimedia/config.example.d.cts +1 -1
- package/services/multimedia/config.example.d.ts +1 -1
- package/services/multimedia/config.example.js +1 -1
- package/services/multimedia/index.cjs +1 -1
- package/services/multimedia/index.d.cts +1 -1
- package/services/multimedia/index.d.ts +1 -1
- package/services/multimedia/index.js +1 -1
- package/services/multimedia/multimedia.service.cjs +1 -1
- package/services/multimedia/multimedia.service.d.cts +1 -1
- package/services/multimedia/multimedia.service.d.ts +1 -1
- package/services/multimedia/multimedia.service.js +1 -1
- package/services/multimedia/multimedia.types.cjs +1 -1
- package/services/multimedia/multimedia.types.d.cts +1 -1
- package/services/multimedia/multimedia.types.d.ts +1 -1
- package/services/multimedia/multimedia.types.js +1 -1
- package/services/product/index.cjs +1 -1
- package/services/product/index.d.cts +1 -1
- package/services/product/index.d.ts +1 -1
- package/services/product/index.js +1 -1
- package/services/product/product.service.cjs +1 -1
- package/services/product/product.service.d.cts +1 -1
- package/services/product/product.service.d.ts +1 -1
- package/services/product/product.service.js +1 -1
- package/services/product/product.types.cjs +1 -1
- package/services/product/product.types.d.cts +1 -1
- package/services/product/product.types.d.ts +1 -1
- package/services/product/product.types.js +1 -1
- package/services/request.provider.cjs +1 -1
- package/services/request.provider.d.cts +1 -1
- package/services/request.provider.d.ts +1 -1
- package/services/request.provider.js +1 -1
- package/services/session.service.cjs +1 -1
- package/services/session.service.d.cts +1 -1
- package/services/session.service.d.ts +1 -1
- package/services/session.service.js +1 -1
- package/services/upload/index.cjs +1 -1
- package/services/upload/index.d.cts +1 -1
- package/services/upload/index.d.ts +1 -1
- package/services/upload/index.js +1 -1
- package/services/upload/upload.service.cjs +1 -1
- package/services/upload/upload.service.d.cts +1 -1
- package/services/upload/upload.service.d.ts +1 -1
- package/services/upload/upload.service.js +1 -1
- package/themes/custom/audi-dark.theme.cjs +7 -3
- package/themes/custom/audi-dark.theme.css +921 -0
- package/themes/custom/audi-dark.theme.d.cts +2 -2
- package/themes/custom/audi-dark.theme.d.ts +2 -2
- package/themes/custom/audi-dark.theme.js +6 -2
- package/themes/custom/audi.theme.cjs +1 -1
- package/themes/custom/audi.theme.css +774 -0
- package/themes/custom/audi.theme.d.cts +2 -2
- package/themes/custom/audi.theme.d.ts +2 -2
- package/themes/custom/audi.theme.js +1 -1
- package/themes/custom/australia.theme.cjs +1 -1
- package/themes/custom/australia.theme.css +383 -0
- package/themes/custom/australia.theme.d.cts +2 -2
- package/themes/custom/australia.theme.d.ts +2 -2
- package/themes/custom/australia.theme.js +1 -1
- package/themes/custom/cuernavaca.theme.cjs +1 -1
- package/themes/custom/cuernavaca.theme.css +193 -0
- package/themes/custom/cuernavaca.theme.d.cts +2 -2
- package/themes/custom/cuernavaca.theme.d.ts +2 -2
- package/themes/custom/cuernavaca.theme.js +1 -1
- package/themes/custom/cupra-diagonal.theme.cjs +3 -22
- package/themes/custom/cupra-diagonal.theme.css +1009 -0
- package/themes/custom/cupra-diagonal.theme.d.cts +2 -2
- package/themes/custom/cupra-diagonal.theme.d.ts +2 -2
- package/themes/custom/cupra-diagonal.theme.js +3 -22
- package/themes/custom/cupra-events.theme.cjs +1 -1
- package/themes/custom/cupra-events.theme.css +552 -0
- package/themes/custom/cupra-events.theme.d.cts +2 -2
- package/themes/custom/cupra-events.theme.d.ts +2 -2
- package/themes/custom/cupra-events.theme.js +1 -1
- package/themes/custom/cupra.theme.cjs +1 -1
- package/themes/custom/cupra.theme.css +144 -0
- package/themes/custom/cupra.theme.d.cts +2 -2
- package/themes/custom/cupra.theme.d.ts +2 -2
- package/themes/custom/cupra.theme.js +1 -1
- package/themes/custom/germany.theme.cjs +5 -5
- package/themes/custom/germany.theme.css +713 -0
- package/themes/custom/germany.theme.d.cts +2 -2
- package/themes/custom/germany.theme.d.ts +2 -2
- package/themes/custom/germany.theme.js +4 -4
- package/themes/custom/hyundai.theme.cjs +1 -1
- package/themes/custom/hyundai.theme.css +291 -0
- package/themes/custom/hyundai.theme.d.cts +2 -2
- package/themes/custom/hyundai.theme.d.ts +2 -2
- package/themes/custom/hyundai.theme.js +1 -1
- package/themes/custom/italy.theme.cjs +3 -23
- package/themes/custom/italy.theme.css +827 -0
- package/themes/custom/italy.theme.d.cts +2 -2
- package/themes/custom/italy.theme.d.ts +2 -2
- package/themes/custom/italy.theme.js +3 -23
- package/themes/custom/magimix.theme.cjs +1 -1
- package/themes/custom/magimix.theme.css +116 -0
- package/themes/custom/magimix.theme.d.cts +2 -2
- package/themes/custom/magimix.theme.d.ts +2 -2
- package/themes/custom/magimix.theme.js +1 -1
- package/themes/custom/onlive-ai.theme.cjs +1 -1
- package/themes/custom/onlive-ai.theme.css +71 -0
- package/themes/custom/onlive-ai.theme.d.cts +2 -2
- package/themes/custom/onlive-ai.theme.d.ts +2 -2
- package/themes/custom/onlive-ai.theme.js +1 -1
- package/themes/custom/onlive.theme.cjs +1 -1
- package/themes/custom/onlive.theme.css +30 -0
- package/themes/custom/onlive.theme.d.cts +2 -2
- package/themes/custom/onlive.theme.d.ts +2 -2
- package/themes/custom/onlive.theme.js +1 -1
- package/themes/custom/seat-cupra.theme.cjs +1 -1
- package/themes/custom/seat-cupra.theme.css +475 -0
- package/themes/custom/seat-cupra.theme.d.cts +2 -2
- package/themes/custom/seat-cupra.theme.d.ts +2 -2
- package/themes/custom/seat-cupra.theme.js +1 -1
- package/themes/dark.cjs +367 -369
- package/themes/dark.css +413 -0
- package/themes/dark.d.cts +1 -1
- package/themes/dark.d.ts +1 -1
- package/themes/dark.js +367 -369
- package/themes/light.cjs +365 -366
- package/themes/light.css +411 -0
- package/themes/light.d.cts +1 -1
- package/themes/light.d.ts +1 -1
- package/themes/light.js +365 -366
- package/types/deep-link.types.cjs +1 -1
- package/types/deep-link.types.d.cts +1 -1
- package/types/deep-link.types.d.ts +1 -1
- package/types/deep-link.types.js +1 -1
- package/types/globals.cjs +1 -1
- package/types/globals.d.cts +1 -1
- package/types/globals.d.ts +1 -1
- package/types/globals.js +1 -1
- package/types/tracking-options.cjs +1 -1
- package/types/tracking-options.d.cts +1 -1
- package/types/tracking-options.d.ts +1 -1
- package/types/tracking-options.js +1 -1
- package/utils/adopt-styles.cjs +1 -1
- package/utils/adopt-styles.d.cts +1 -1
- package/utils/adopt-styles.d.ts +1 -1
- package/utils/adopt-styles.js +1 -1
- package/utils/apply-optional-styles.cjs +28 -63
- package/utils/apply-optional-styles.d.cts +15 -15
- package/utils/apply-optional-styles.d.ts +15 -15
- package/utils/apply-optional-styles.js +28 -63
- package/utils/browser-preferences.cjs +1 -1
- package/utils/browser-preferences.d.cts +1 -1
- package/utils/browser-preferences.d.ts +1 -1
- package/utils/browser-preferences.js +1 -1
- package/utils/classify-media.cjs +1 -1
- package/utils/classify-media.d.cts +1 -1
- package/utils/classify-media.d.ts +1 -1
- package/utils/classify-media.js +1 -1
- package/utils/decorators.cjs +1 -1
- package/utils/decorators.d.cts +1 -1
- package/utils/decorators.d.ts +1 -1
- package/utils/decorators.js +1 -1
- package/utils/detected-lang.cjs +1 -1
- package/utils/detected-lang.d.cts +1 -1
- package/utils/detected-lang.d.ts +1 -1
- package/utils/detected-lang.js +1 -1
- package/utils/fullscreen.cjs +1 -1
- package/utils/fullscreen.d.cts +1 -1
- package/utils/fullscreen.d.ts +1 -1
- package/utils/fullscreen.js +1 -1
- package/utils/insert-script.cjs +1 -1
- package/utils/insert-script.d.cts +1 -1
- package/utils/insert-script.d.ts +1 -1
- package/utils/insert-script.js +1 -1
- package/utils/is-map-compatible.cjs +1 -1
- package/utils/is-map-compatible.d.cts +1 -1
- package/utils/is-map-compatible.d.ts +1 -1
- package/utils/is-map-compatible.js +1 -1
- package/utils/markdown.cjs +1 -1
- package/utils/markdown.d.cts +1 -1
- package/utils/markdown.d.ts +1 -1
- package/utils/markdown.js +1 -1
- package/utils/merge.cjs +1 -1
- package/utils/merge.d.cts +1 -1
- package/utils/merge.d.ts +1 -1
- package/utils/merge.js +1 -1
- package/utils/multiband-track-volume.cjs +1 -1
- package/utils/multiband-track-volume.d.cts +1 -1
- package/utils/multiband-track-volume.d.ts +1 -1
- package/utils/multiband-track-volume.js +1 -1
- package/utils/onlive-url-params.cjs +1 -1
- package/utils/onlive-url-params.d.cts +1 -1
- package/utils/onlive-url-params.d.ts +1 -1
- package/utils/onlive-url-params.js +1 -1
- package/utils/pretty-distance.cjs +1 -1
- package/utils/pretty-distance.d.cts +1 -1
- package/utils/pretty-distance.d.ts +1 -1
- package/utils/pretty-distance.js +1 -1
- package/utils/pretty-time.cjs +1 -1
- package/utils/pretty-time.d.cts +1 -1
- package/utils/pretty-time.d.ts +1 -1
- package/utils/pretty-time.js +1 -1
- package/utils/random-string.cjs +1 -1
- package/utils/random-string.d.cts +1 -1
- package/utils/random-string.d.ts +1 -1
- package/utils/random-string.js +1 -1
- package/utils/resource-type.cjs +1 -1
- package/utils/resource-type.d.cts +1 -1
- package/utils/resource-type.d.ts +1 -1
- package/utils/resource-type.js +1 -1
- package/utils/round-number.cjs +1 -1
- package/utils/round-number.d.cts +1 -1
- package/utils/round-number.d.ts +1 -1
- package/utils/round-number.js +1 -1
- package/utils/safe-html.cjs +1 -1
- package/utils/safe-html.d.cts +1 -1
- package/utils/safe-html.d.ts +1 -1
- package/utils/safe-html.js +1 -1
- package/utils/sanitize.cjs +1 -1
- package/utils/sanitize.d.cts +1 -1
- package/utils/sanitize.d.ts +1 -1
- package/utils/sanitize.js +1 -1
- package/utils/spread.cjs +1 -1
- package/utils/spread.d.cts +1 -1
- package/utils/spread.d.ts +1 -1
- package/utils/spread.js +1 -1
- package/utils/watch.cjs +1 -1
- package/utils/watch.d.cts +1 -1
- package/utils/watch.d.ts +1 -1
- package/utils/watch.js +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
2
|
-
import{b as a,c as b,d as c,e as d,f as e}from"./chunk-
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
|
+
import{b as a,c as b,d as c,e as d,f as e}from"./chunk-4DKWCKNT.js";export{d as SYNTHETIC_MEDIA_PRESETS,b as createSyntheticAudioTrack,c as createSyntheticMedia,e as createSyntheticMediaFromPreset,a as createSyntheticVideoTrack};
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onlive.ai/common-121",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.190",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
7
7
|
"**/*.cjs",
|
|
8
8
|
"**/*.jsx",
|
|
9
|
+
"**/*.css",
|
|
9
10
|
"**/*.d.ts",
|
|
10
11
|
"**/*.d.cts",
|
|
11
12
|
"!./*.iife.js",
|
|
@@ -24,6 +25,7 @@
|
|
|
24
25
|
"./types/*": "./types/*",
|
|
25
26
|
"./services/*": "./services/*",
|
|
26
27
|
"./themes/*": "./themes/*",
|
|
28
|
+
"./themes/custom/*": "./themes/custom/*",
|
|
27
29
|
"./components/*": "./components/*",
|
|
28
30
|
"./react/*": "./react/*"
|
|
29
31
|
},
|
|
@@ -57,6 +59,6 @@
|
|
|
57
59
|
"dev": "tsx ./scripts/generate-lit-themes.ts --watch",
|
|
58
60
|
"build:package": "tsup",
|
|
59
61
|
"themes:build": "tsx ./scripts/generate-lit-themes.ts",
|
|
60
|
-
"clean": "find . \\( -iname \"*.js\" -o -iname \"*.cjs\" -o -iname \"*.d.ts\" -o -iname \"*.d.cts\" -o -iname \"
|
|
62
|
+
"clean": "find . \\( -iname \"*.js\" -o -iname \"*.cjs\" -o -iname \"*.d.ts\" -o -iname \"*.d.cts\" -o -iname \"light.ts\" -o -iname \"dark.ts\" -o -iname \"*.theme.ts\" \\) -type f -not -path \"./node_modules/*\" -delete"
|
|
61
63
|
}
|
|
62
64
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
"use strict";var E=Object.create;var a=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var N=(t,e)=>{for(var s in e)a(t,s,{get:e[s],enumerable:!0})},m=(t,e,s,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of l(e))!C.call(t,o)&&o!==s&&a(t,o,{get:()=>e[o],enumerable:!(n=i(e,o))||n.enumerable});return t};var d=(t,e,s)=>(s=t!=null?E(A(t)):{},m(e||!t||!t.__esModule?a(s,"default",{value:t,enumerable:!0}):s,t)),f=t=>m(a({},"__esModule",{value:!0}),t);var I={};N(I,{Asset:()=>v,default:()=>u});module.exports=f(I);var r=require("@lit/react"),c=d(require("react"),1),p=require("../../../components/asset/asset.js"),v=(0,r.createComponent)({tagName:"osb-asset",elementClass:p.OSBAsset,react:c.default,events:{onAssetClick:"asset-click",onAssetDownload:"asset-download",onAssetLoad:"asset-load",onAssetError:"asset-error",onContentClick:"content-click"}}),u=v;0&&(module.exports={Asset});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
import{createComponent as t}from"@lit/react";import e from"react";import{OSBAsset as s}from"../../../components/asset/asset.js";var o=t({tagName:"osb-asset",elementClass:s,react:e,events:{onAssetClick:"asset-click",onAssetDownload:"asset-download",onAssetLoad:"asset-load",onAssetError:"asset-error",onContentClick:"content-click"}}),r=o;export{o as Asset,r as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
"use strict";var d=Object.create;var n=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var u=(e,t)=>{for(var a in t)n(e,a,{get:t[a],enumerable:!0})},m=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of E(t))!p.call(e,o)&&o!==a&&n(e,o,{get:()=>t[o],enumerable:!(r=v(t,o))||r.enumerable});return e};var y=(e,t,a)=>(a=e!=null?d(l(e)):{},m(t||!e||!e.__esModule?n(a,"default",{value:e,enumerable:!0}):a,e)),C=e=>m(n({},"__esModule",{value:!0}),e);var f={};u(f,{SideBar:()=>c,default:()=>N});module.exports=C(f);var s=require("@lit/react"),i=y(require("react"),1),g=require("../../../components/side-bar/side-bar.js"),c=(0,s.createComponent)({tagName:"osb-side-bar",elementClass:g.OSBSideBar,react:i.default,events:{onSearch:"search",onLoadMore:"load-more",onItemAdd:"item-add",onCategoryChange:"category-change",onItemSelect:"item-select",onFileUpload:"file-uploaded"}}),N=c;0&&(module.exports={SideBar});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
import{createComponent as e}from"@lit/react";import t from"react";import{OSBSideBar as a}from"../../../components/side-bar/side-bar.js";var o=e({tagName:"osb-side-bar",elementClass:a,react:t,events:{onSearch:"search",onLoadMore:"load-more",onItemAdd:"item-add",onCategoryChange:"category-change",onItemSelect:"item-select",onFileUpload:"file-uploaded"}}),s=o;export{o as SideBar,s as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
"use strict";var i=Object.create;var p=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var y=(e,o)=>{for(var t in o)p(e,t,{get:o[t],enumerable:!0})},l=(e,o,t,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of f(o))!v.call(e,r)&&r!==t&&p(e,r,{get:()=>o[r],enumerable:!(a=c(o,r))||a.enumerable});return e};var E=(e,o,t)=>(t=e!=null?i(u(e)):{},l(o||!e||!e.__esModule?p(t,"default",{value:e,enumerable:!0}):t,e)),U=e=>l(p({},"__esModule",{value:!0}),e);var N={};y(N,{Upload:()=>d,default:()=>C});module.exports=U(N);var m=require("@lit/react"),s=E(require("react"),1),n=require("../../../components/upload/upload.js"),d=(0,m.createComponent)({tagName:"osb-upload",elementClass:n.OSBUpload,react:s.default,events:{onFileSelected:"osb-file-selected",onUploadError:"osb-upload-error"}}),C=d;0&&(module.exports={Upload});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
import{createComponent as e}from"@lit/react";import o from"react";import{OSBUpload as t}from"../../../components/upload/upload.js";var r=e({tagName:"osb-upload",elementClass:t,react:o,events:{onFileSelected:"osb-file-selected",onUploadError:"osb-upload-error"}}),m=r;export{r as Upload,m as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
"use strict";var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var d=(t,n)=>{for(var o in n)s(t,o,{get:n[o],enumerable:!0})},l=(t,n,o,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let e of a(n))!c.call(t,e)&&e!==o&&s(t,e,{get:()=>n[e],enumerable:!(i=r(n,e))||i.enumerable});return t};var p=t=>l(s({},"__esModule",{value:!0}),t);var g={};d(g,{AudioService:()=>u});module.exports=p(g);var u=class t{constructor(){this.sounds=new Map;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 t.instance||(t.instance=new t),t.instance}loadSound(n,o){let i=new Audio(o);i.preload="auto",this.sounds.set(n,i)}playSound(n,o=!1){this.stopCurrentSound();let i=this.sounds.get(n);i&&(i.loop=o,i.currentTime=0,i.play().catch(e=>console.warn("Error playing sound:",e)),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)}};0&&(module.exports={AudioService});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
var e=class i{constructor(){this.sounds=new Map;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 i.instance||(i.instance=new i),i.instance}loadSound(t,o){let n=new Audio(o);n.preload="auto",this.sounds.set(t,n)}playSound(t,o=!1){this.stopCurrentSound();let n=this.sounds.get(t);n&&(n.loop=o,n.currentTime=0,n.play().catch(s=>console.warn("Error playing sound:",s)),this.currentSound=n)}stopCurrentSound(){this.currentSound&&(this.currentSound.pause(),this.currentSound.currentTime=0,this.currentSound=null)}playRinging(t=!0){this.playSound("ringing",t)}playIncoming(t=!0){this.playSound("incoming",t)}};export{e as AudioService};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
"use strict";var b=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var M=(l,e)=>{for(var t in e)b(l,t,{get:e[t],enumerable:!0})},z=(l,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of w(e))!x.call(l,s)&&s!==t&&b(l,s,{get:()=>e[s],enumerable:!(i=k(e,s))||i.enumerable});return l};var q=l=>z(b({},"__esModule",{value:!0}),l);var U={};M(U,{ConversationService:()=>f,Room:()=>y});module.exports=q(U);var m=require("@onlive.ai/tracker/session"),p=require("livekit-client");var v=require("firebase/app"),n=require("firebase/database"),u=class{constructor(e){this.onChildChanged=(e,t)=>(0,n.onChildChanged)(this.ref(e),i=>t(i.key||"",i.val(),i));this.onChildRemoved=(e,t)=>(0,n.onChildRemoved)(this.ref(e),i=>t(i.key||"",i.val(),i));this.onChildChangedQuery=(e,t)=>(0,n.onChildChanged)(e,i=>t(i.key||"",i.val(),i));this.onChildRemovedQuery=(e,t)=>(0,n.onChildRemoved)(e,i=>t(i.key||"",i.val(),i));let t=(0,v.initializeApp)(e.config);this.db=(0,n.getDatabase)(t)}ref(e){return(0,n.ref)(this.db,e)}async getOnce(e){let t=await(0,n.get)(this.ref(e));return t.exists()?t.val():null}async getOnceQuery(e){let t=await(0,n.get)(e),i=[];return t.exists()&&t.forEach(s=>{i.push({key:s.key||"",value:s.val()})}),i}onValue(e,t){return(0,n.onValue)(this.ref(e),i=>t(i.key??"",i.val(),i),i=>console.error("onValue error",i))}onValueQuery(e,t){return(0,n.onValue)(e,i=>t(i.key??"",i.val(),i),i=>console.error("onValueQuery error",i))}onChildAdded(e,t){return(0,n.onChildAdded)(this.ref(e),i=>t(i.key||"",i.val(),i),i=>console.error("onChildAdded error",i))}onChildAddedQuery(e,t){return(0,n.onChildAdded)(e,i=>t(i.key||"",i.val(),i),i=>console.error("onChildAddedQuery error",i))}write(e,t){return(0,n.set)(this.ref(e),t)}update(e,t){return(0,n.update)(this.ref(e),t)}remove(e){return(0,n.remove)(this.ref(e))}async push(e,t){let i=(0,n.push)(this.ref(e));return await(0,n.set)(i,t),i.key}onDisconnectUpdate(e,t){return(0,n.onDisconnect)(this.ref(e)).update(t)}cancelOnDisconnect(e){return(0,n.onDisconnect)(this.ref(e)).cancel()}transaction(e,t){return(0,n.runTransaction)(this.ref(e),i=>t(i))}query(e,t={}){let i=this.ref(e);return t.orderBy==="child"&&t.childKey&&(i=(0,n.query)(i,(0,n.orderByChild)(t.childKey))),t.orderBy==="key"&&(i=(0,n.query)(i,(0,n.orderByKey)())),t.orderBy==="value"&&(i=(0,n.query)(i,(0,n.orderByValue)())),t.startAt!=null&&(i=(0,n.query)(i,(0,n.startAt)(t.startAt))),t.endAt!=null&&(i=(0,n.query)(i,(0,n.endAt)(t.endAt))),t.equalTo!=null&&(i=(0,n.query)(i,(0,n.equalTo)(t.equalTo))),t.limitFirst!=null&&(i=(0,n.query)(i,(0,n.limitToFirst)(t.limitFirst))),t.limitLast!=null&&(i=(0,n.query)(i,(0,n.limitToLast)(t.limitLast))),i}};var o=async(l,e)=>{let t=await fetch(l,e);if(!t.ok){let i=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...i}))}return t&&t.json()};var T=l=>{let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let i=0;i<l;i++)t+=e.charAt(Math.floor(Math.random()*e.length));return t};var I=require("@onlive.ai/tracker/generator"),c=require("@onlive.ai/tracker/session"),d="chatbot",h=class l{static hasSession(){return!!c.Session.getCookie(d)}static getSession(e={role:"guest",regenerate:!1}){e.regenerate&&(c.Session.id=I.Generator.uuid(),c.Session.deleteCookie(d));let t=c.Session.getCookie(d);return t&&l.isValidSession(t,e.role)?t:l.createSession(e.role)}static createSession(e){let t={externalId:e==="agent"?String(l.getUserId()||c.Session.id):c.Session.id,secret:T(16),createdAt:new Date().toISOString()};return c.Session.setCookie(d,t,3600*24*365),t}static isValidSession(e,t){if(t==="guest")return!0;let i=l.getUserId();return!!(i&&String(i)===e.externalId)}static getUserId(){return c.Session.getCookie("user-id",{objectKey:"userId",storageKey:"user",storageType:"localStorage",ttl:3600*24*365,preserveData:!0})}static updateSessionWithRegistrationData(e){let t=c.Session.getCookie(d);if(t||(t=l.createSession("guest")),t){let i={...t,registrationData:e};c.Session.setCookie(d,i,3600*24*365)}}static hasRegistrationData(){return!!c.Session.getCookie(d)?.registrationData}static async getAgentInfo(e){return fetch(`${e}/api/v1/auth/user-info`,{credentials:"include"}).then(t=>t.json())}static getRegistrationData(){return c.Session.getCookie(d)?.registrationData}};var C="lk.chat",A="lk.transcription",S="lk.events",R="typing-indicator";var y=class extends p.Room{},f=class{constructor(e){this.listeners=new Set;this.typingListeners=new Set;this.transcriptionMap=new Map;this.abortControllers={register:new AbortController,createRoom:new AbortController,quickStart:new AbortController,closeRoom:new AbortController,evaluateRoom:new AbortController,persistMessage:new AbortController,sendMessageReport:new AbortController,deleteMessageReport:new AbortController,updateMessageReactions:new AbortController,getRooms:new AbortController};this.authToken=null;this.firebaseUnsubscribers={};this.seenRequestIds=new Set;this.lastSnapshotById=new Map;this.handleIncomingMessage=async(e,t)=>{let i=e?.info?.id,s=e.info?.attributes?.["lk.segment_id"];s&&(this.transcriptionMap.has(s)?i=this.transcriptionMap.get(s)||"":this.transcriptionMap.set(s,i));let r=t?.identity?this.room.getParticipantByIdentity(t.identity):void 0,a="";for await(let g of e)a+=g,this.emitMessage({id:i,timestamp:Date.now(),message:a,assets:JSON.parse(e.info?.attributes?.assets||"[]"),from:r});this.messagePersistence==="client"&&this.persistMessage({roomId:this.room.id,content:a,externalId:i,identity:r?.identity,kind:r?.kind})};this.emitMessage=e=>{for(let t of this.listeners)t([e])};this.handleDataReceived=(e,t,i,s)=>{if(s===R)try{let r=JSON.parse(new TextDecoder().decode(e));if(r.type==="typing"&&r.participantId!==this.room.localParticipant.identity){let a={type:"typing",isTyping:r.isTyping,timestamp:r.timestamp,participantId:r.participantId};this.emitTypingIndicator(a)}}catch(r){console.warn("Failed to parse typing indicator:",r)}};this.emitTypingIndicator=e=>{for(let t of this.typingListeners)t(e)};this.apiUrl=e.apiUrl,this.authUrl=e.authUrl,this.organizationId=e.organizationId,this.channelTopic=e.channelTopic||C,this.transcriptionTopic=e.transcriptionTopic||A,this.eventsTopic=e.eventsTopic||S,this.messagePersistence=e.messagePersistence||"disabled",this.room=this.createRoomInstance(),e.firebaseConfig&&this.initializeFirebase(e.firebaseConfig)}createRoomInstance(){return new y({adaptiveStream:!0,dynacast:!0})}ensureRoom(){return this.room||(this.room=this.createRoomInstance()),this.room}initializeFirebase(e){this.firebaseApi=new u({config:e}),this.presencePath=`orgs/${this.organizationId}/presence`,this.callsPath=`orgs/${this.organizationId}/calls`}initializeRoomHandlers(){try{this.room.unregisterTextStreamHandler(this.channelTopic),this.room.unregisterTextStreamHandler(this.transcriptionTopic)}catch{}this.room.off(p.RoomEvent.DataReceived,this.handleDataReceived),this.room.registerTextStreamHandler(this.channelTopic,this.handleIncomingMessage),this.room.registerTextStreamHandler(this.transcriptionTopic,this.handleIncomingMessage),this.room.on(p.RoomEvent.DataReceived,this.handleDataReceived)}async registerUser(e,t,i,s){let r=await o(`${this.apiUrl}/users/register`,{method:"POST",body:JSON.stringify({externalId:e,secret:t,...i,metadata:s}),headers:{"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.register.signal});if(!r.token)throw new Error("Registration failed: No token received from server");return this.authToken=r.token,r}async registerAgent(e,t){let i=m.Session.getCookie("livekit-agent-token");if(i){if(this.decodeJwtPayload(i)?.username===t.name)return this.authToken=i,i;m.Session.deleteCookie("livekit-agent-token")}let s=await o(`${this.authUrl}/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"},credentials:"include",signal:this.abortControllers.register.signal});return m.Session.setCookie("livekit-agent-token",s.token,1440*60),this.authToken=s.token,s.token}decodeJwtPayload(e){try{let t=e.split(".");if(t.length!==3)return null;let i=t[1],s=atob(i.replace(/-/g,"+").replace(/_/g,"/"));return JSON.parse(s)}catch{return null}}async quickStart(e){console.log("[ConversationService] Starting quickStart with options:",e),this.room=this.ensureRoom();let t=await o(`${this.apiUrl}/rooms/quick-start`,{method:"POST",body:JSON.stringify(e),headers:{"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.quickStart.signal});if(!t.user?.token)throw new Error("Quick start failed: No user token received from server");this.authToken=t.user.token;let i={id:t.room.id,groupId:t.room.groupId||"",token:t.room.token,wsURL:t.room.wsURL,createdAt:t.room.createdAt||new Date().toISOString(),affinity:t.room.affinity};return this.setRoomMetadata(i),this.setupParticipantAttributesHandler(),this.room.connect(i.wsURL,i.token),this.initializeRoomHandlers(),this.room}async createRoom(e){if(!this.authToken)throw new Error("Cannot create room: No authentication token. Call registerUser() first.");this.room=this.ensureRoom();let{initialMessage:t,...i}=e,s=await o(`${this.apiUrl}/rooms`,{method:"POST",body:JSON.stringify(i),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.createRoom.signal});return this.setRoomMetadata(s),this.setupParticipantAttributesHandler(),this.room.connect(s.wsURL,s.token).then(async()=>{if(t)try{await this.sendMessage(t)}catch(r){console.error("[ConversationService] Failed to send initial message:",r)}}),this.initializeRoomHandlers(),this.room}async joinRoom(e,t,i,s){let r=await o(`${this.apiUrl}/rooms/${e}/join`,{method:"POST",body:JSON.stringify({timezone:t,language:i,...s??{}}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.createRoom.signal});return this.setRoomMetadata(r),this.setupParticipantAttributesHandler(),await this.room.connect(r.wsURL,r.token),this.initializeRoomHandlers(),this.room}setRoomMetadata(e){this.room.id=e.id,this.room.groupId=e.groupId,this.room.createdAt=e.createdAt,this.room.connectedAt=new Date().toISOString(),this.room.affinity=e.affinity}setupParticipantAttributesHandler(){this.room.on(p.RoomEvent.ParticipantAttributesChanged,e=>{e.identity===this.room.localParticipant.identity&&h.updateSessionWithRegistrationData(e.attributes)})}async evaluateRoom(e){let t=e.roomId||this.room?.id;if(!t)throw new Error("Room ID is required for evaluation");return o(`${this.apiUrl}/rooms/${t}/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(){this.room&&(await 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}),await this.stopAndUnpublishLocalTracks())}async disconnect(){this.room&&(await this.stopAndUnpublishLocalTracks(),this.room.removeAllListeners(),await this.room.disconnect(),this.room=null)}async stopAndUnpublishLocalTracks(){let e=this.room?.localParticipant;if(!e)return;await Promise.allSettled([e.setMicrophoneEnabled(!1),e.setCameraEnabled(!1),e.setScreenShareEnabled(!1)]);let t=Array.from(e.trackPublications.values());await Promise.all(t.map(async i=>{let s=i.track;if(s)try{await e.unpublishTrack(s,!0)}catch{s.stop()}}))}async disconnectAndCloseRoom(){await this.closeRoom(),await this.disconnect()}async readRoom(e){return o(`${this.apiUrl}/rooms/${e}/read`,{method:"POST",headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.persistMessage.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.latestOnly&&t.append("latestOnly",e.latestOnly.toString()),e.includeUnread&&t.append("includeUnread",e.includeUnread.toString()),e.roomStatus&&t.append("roomStatus",e.roomStatus),e.archived&&t.append("archived",e.archived.toString()),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()),o(`${this.authUrl}/rooms?${t}`,{method:"GET",headers:{"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},credentials:"include",signal:this.abortControllers.getRooms.signal})}async sendMessage(e,t){let i=await this.room.localParticipant.sendText(e,{topic:this.channelTopic,attributes:t});this.emitMessage({id:i.id,timestamp:Date.now(),message:e,assets:JSON.parse(t?.assets||"[]"),from:this.room.localParticipant}),this.messagePersistence==="client"&&this.persistMessage({roomId:this.room.id,content:e,externalId:i.id,identity:this.room.localParticipant?.identity,kind:this.room.localParticipant?.kind})}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.limit&&t.append("limit",e.limit.toString()),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){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async sendTypingIndicator(e){if(!(!this.room||this.room.state!=="connected"))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:R})}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 sendContextualEvent(e){try{let t=JSON.stringify(e);await this.room.localParticipant.sendText(t,{topic:this.eventsTopic})}catch(t){console.warn("Failed to send event:",t)}}async requestNewRoom(e){return o(`${this.apiUrl}/rooms/request-new`,{method:"POST",body:JSON.stringify(e),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"}})}async confirmRoomRequest(e){return o(`${this.apiUrl}/rooms/confirm-call`,{method:"POST",body:JSON.stringify({roomId:e}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"}})}async cancelRoomRequest(e){return o(`${this.apiUrl}/rooms/cancel-call`,{method:"POST",body:JSON.stringify({roomId:e}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"}})}async finishCall(){if(this.room?.id)return o(`${this.apiUrl}/rooms/finish-call`,{method:"POST",body:JSON.stringify({roomId:this.room.id}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"}})}isFirebaseEnabled(){return!!(this.firebaseApi&&this.presencePath&&this.callsPath)}getFirebase(){if(!this.firebaseApi||!this.presencePath||!this.callsPath)throw new Error("Firebase is not initialized. Provide firebaseConfig in constructor.");return{api:this.firebaseApi,presencePath:this.presencePath,callsPath:this.callsPath}}buildAgentPresencePath(e){return`${this.presencePath}/${e}`}onPresenceChange(e){let{api:t,presencePath:i}=this.getFirebase();return t.onChildChanged(i,(s,r)=>e(s,r))}onPresenceAgentChange(e,t){let{api:i}=this.getFirebase();return i.onValue(this.buildAgentPresencePath(e),(s,r)=>t(s,r))}async createCallRequest(e){let{api:t,callsPath:i}=this.getFirebase(),r=(await o(`${this.apiUrl}/rooms/call-request`,{method:"POST",headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},body:JSON.stringify(e)})).id;return t.onDisconnectUpdate(`${i}/${r}`,{status:"disconnected"}),r}onNewCallRequest(e){let{api:t,callsPath:i}=this.getFirebase();return t.onChildAdded(i,(s,r)=>e(s,{...r,id:s}))}onCallRequestChange(e){let{api:t,callsPath:i}=this.getFirebase();return t.onChildChanged(i,(s,r)=>e(s,{...r,id:s}))}onCallRequestRemoved(e){let{api:t,callsPath:i}=this.getFirebase();return t.onChildRemoved(i,s=>e(s))}async acceptCallRequest(e){let{api:t,callsPath:i}=this.getFirebase();return await t.cancelOnDisconnect(`${i}/${e}`),t.update(`${i}/${e}`,{status:"accepted"})}async cancelCallRequest(e){let{api:t,callsPath:i}=this.getFirebase();await t.cancelOnDisconnect(`${i}/${e}`),await o(`${this.apiUrl}/rooms/call-request/cancel`,{method:"POST",headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},body:JSON.stringify({callId:e})})}async cancelOnDisconnect(e){let{api:t,callsPath:i}=this.getFirebase();await t.cancelOnDisconnect(`${i}/${e}`)}subscribePendingRequests(e,t={}){let{api:i,callsPath:s}=this.getFirebase();t.resetSeen&&this.seenRequestIds.clear(),this.firebaseUnsubscribers["pending-requests"]?.();let r=i.query(s,{orderBy:"child",childKey:"status",equalTo:"pending"}),a=i.onChildAddedQuery(r,(g,P)=>{if(!g||this.seenRequestIds.has(g))return;let O={...P,id:g};this.seenRequestIds.add(g),e(g,O)});return this.firebaseUnsubscribers["pending-requests"]=a,()=>{a?.(),delete this.firebaseUnsubscribers["pending-requests"]}}subscribeRequestChanges(e){let{api:t,callsPath:i}=this.getFirebase();this.firebaseUnsubscribers["request-changes"]?.();let s=t.onChildChanged(i,(r,a)=>{if(!r)return;let g=JSON.stringify(a);this.lastSnapshotById.get(r)!==g&&(this.lastSnapshotById.set(r,g),e(r,{...a,id:r}))});return this.firebaseUnsubscribers["request-changes"]=s,()=>{s?.(),delete this.firebaseUnsubscribers["request-changes"]}}async tryAcceptRequest(e){let{api:t,callsPath:i}=this.getFirebase(),s=`${i}/${e}`;return await t.transaction(s,a=>a&&(a.status==="pending"?{...a,status:"accepted"}:a)),(await t.getOnce(s))?.status==="accepted"}onRoomSync(e,t){let{api:i}=this.getFirebase(),s=`orgs/${this.organizationId}/rooms/${e}/sync`;return i.onValue(s,(r,a)=>{t(a)})}async clearRoomSync(e,t){let{api:i}=this.getFirebase(),s=`orgs/${this.organizationId}/rooms/${e}/sync`;await i.write(s,{needsSync:!1,reason:t||null,timestamp:Date.now()})}onNewRoomRequest(e,t){let{api:i}=this.getFirebase(),s=`orgs/${this.organizationId}/rooms/${e}/call`;return i.onValue(s,(r,a)=>{t(a)})}unsubscribeAllFirebase(){Object.values(this.firebaseUnsubscribers).forEach(e=>e?.()),this.firebaseUnsubscribers={}}async destroy(){this.unsubscribeAllFirebase(),this.listeners.clear(),this.typingListeners.clear(),this.transcriptionMap.clear(),this.seenRequestIds.clear(),this.lastSnapshotById.clear(),Object.values(this.abortControllers).forEach(e=>e.abort()),await this.disconnect()}};0&&(module.exports={ConversationService,Room});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
import { Room as Room$1 } from 'livekit-client';
|
|
3
3
|
import { ConversationServiceOptions, UserApiResponse, AgentData, QuickStartOptions, CreateRoomOptions, EvaluateRoomOptions, GetRoomsOptions, RoomsApiResponse, PersistMessageOptions, MessagesApiResponse, GetMessagesOptions, ApiMessage, MessageReportOptions, MessageReactionOptions, MessageListener, TypingListener, ContextualEvent, RequestNewRoomOptions, RoomApiResponse, CallRequest, CallRequestListener, RoomSyncData, NewRoomRequestData } from './conversation.types.cjs';
|
|
4
4
|
import '@livekit/components-core';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
import { Room as Room$1 } from 'livekit-client';
|
|
3
3
|
import { ConversationServiceOptions, UserApiResponse, AgentData, QuickStartOptions, CreateRoomOptions, EvaluateRoomOptions, GetRoomsOptions, RoomsApiResponse, PersistMessageOptions, MessagesApiResponse, GetMessagesOptions, ApiMessage, MessageReportOptions, MessageReactionOptions, MessageListener, TypingListener, ContextualEvent, RequestNewRoomOptions, RoomApiResponse, CallRequest, CallRequestListener, RoomSyncData, NewRoomRequestData } from './conversation.types.js';
|
|
4
4
|
import '@livekit/components-core';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
import{Session as m}from"@onlive.ai/tracker/session";import{Room as K,RoomEvent as y}from"livekit-client";import{initializeApp as z}from"firebase/app";import{query as g,endAt as q,equalTo as U,get as R,getDatabase as $,limitToFirst as j,limitToLast as D,onChildAdded as f,onChildChanged as v,onChildRemoved as T,onDisconnect as I,onValue as C,orderByChild as N,orderByKey as L,orderByValue as E,push as F,ref as B,remove as J,runTransaction as Q,set as A,startAt as X,update as G}from"firebase/database";var p=class{constructor(e){this.onChildChanged=(e,t)=>v(this.ref(e),i=>t(i.key||"",i.val(),i));this.onChildRemoved=(e,t)=>T(this.ref(e),i=>t(i.key||"",i.val(),i));this.onChildChangedQuery=(e,t)=>v(e,i=>t(i.key||"",i.val(),i));this.onChildRemovedQuery=(e,t)=>T(e,i=>t(i.key||"",i.val(),i));let t=z(e.config);this.db=$(t)}ref(e){return B(this.db,e)}async getOnce(e){let t=await R(this.ref(e));return t.exists()?t.val():null}async getOnceQuery(e){let t=await R(e),i=[];return t.exists()&&t.forEach(s=>{i.push({key:s.key||"",value:s.val()})}),i}onValue(e,t){return C(this.ref(e),i=>t(i.key??"",i.val(),i),i=>console.error("onValue error",i))}onValueQuery(e,t){return C(e,i=>t(i.key??"",i.val(),i),i=>console.error("onValueQuery error",i))}onChildAdded(e,t){return f(this.ref(e),i=>t(i.key||"",i.val(),i),i=>console.error("onChildAdded error",i))}onChildAddedQuery(e,t){return f(e,i=>t(i.key||"",i.val(),i),i=>console.error("onChildAddedQuery error",i))}write(e,t){return A(this.ref(e),t)}update(e,t){return G(this.ref(e),t)}remove(e){return J(this.ref(e))}async push(e,t){let i=F(this.ref(e));return await A(i,t),i.key}onDisconnectUpdate(e,t){return I(this.ref(e)).update(t)}cancelOnDisconnect(e){return I(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=g(i,N(t.childKey))),t.orderBy==="key"&&(i=g(i,L())),t.orderBy==="value"&&(i=g(i,E())),t.startAt!=null&&(i=g(i,X(t.startAt))),t.endAt!=null&&(i=g(i,q(t.endAt))),t.equalTo!=null&&(i=g(i,U(t.equalTo))),t.limitFirst!=null&&(i=g(i,j(t.limitFirst))),t.limitLast!=null&&(i=g(i,D(t.limitLast))),i}};var a=async(o,e)=>{let t=await fetch(o,e);if(!t.ok){let i=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...i}))}return t&&t.json()};var S=o=>{let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let i=0;i<o;i++)t+=e.charAt(Math.floor(Math.random()*e.length));return t};import{Generator as H}from"@onlive.ai/tracker/generator";import{Session as l}from"@onlive.ai/tracker/session";var d="chatbot",u=class o{static hasSession(){return!!l.getCookie(d)}static getSession(e={role:"guest",regenerate:!1}){e.regenerate&&(l.id=H.uuid(),l.deleteCookie(d));let t=l.getCookie(d);return t&&o.isValidSession(t,e.role)?t:o.createSession(e.role)}static createSession(e){let t={externalId:e==="agent"?String(o.getUserId()||l.id):l.id,secret:S(16),createdAt:new Date().toISOString()};return l.setCookie(d,t,3600*24*365),t}static isValidSession(e,t){if(t==="guest")return!0;let i=o.getUserId();return!!(i&&String(i)===e.externalId)}static getUserId(){return l.getCookie("user-id",{objectKey:"userId",storageKey:"user",storageType:"localStorage",ttl:3600*24*365,preserveData:!0})}static updateSessionWithRegistrationData(e){let t=l.getCookie(d);if(t||(t=o.createSession("guest")),t){let i={...t,registrationData:e};l.setCookie(d,i,3600*24*365)}}static hasRegistrationData(){return!!l.getCookie(d)?.registrationData}static async getAgentInfo(e){return fetch(`${e}/api/v1/auth/user-info`,{credentials:"include"}).then(t=>t.json())}static getRegistrationData(){return l.getCookie(d)?.registrationData}};var P="lk.chat",O="lk.transcription",k="lk.events",h="typing-indicator";var b=class extends K{},w=class{constructor(e){this.listeners=new Set;this.typingListeners=new Set;this.transcriptionMap=new Map;this.abortControllers={register:new AbortController,createRoom:new AbortController,quickStart:new AbortController,closeRoom:new AbortController,evaluateRoom:new AbortController,persistMessage:new AbortController,sendMessageReport:new AbortController,deleteMessageReport:new AbortController,updateMessageReactions:new AbortController,getRooms:new AbortController};this.authToken=null;this.firebaseUnsubscribers={};this.seenRequestIds=new Set;this.lastSnapshotById=new Map;this.handleIncomingMessage=async(e,t)=>{let i=e?.info?.id,s=e.info?.attributes?.["lk.segment_id"];s&&(this.transcriptionMap.has(s)?i=this.transcriptionMap.get(s)||"":this.transcriptionMap.set(s,i));let n=t?.identity?this.room.getParticipantByIdentity(t.identity):void 0,r="";for await(let c of e)r+=c,this.emitMessage({id:i,timestamp:Date.now(),message:r,assets:JSON.parse(e.info?.attributes?.assets||"[]"),from:n});this.messagePersistence==="client"&&this.persistMessage({roomId:this.room.id,content:r,externalId:i,identity:n?.identity,kind:n?.kind})};this.emitMessage=e=>{for(let t of this.listeners)t([e])};this.handleDataReceived=(e,t,i,s)=>{if(s===h)try{let n=JSON.parse(new TextDecoder().decode(e));if(n.type==="typing"&&n.participantId!==this.room.localParticipant.identity){let r={type:"typing",isTyping:n.isTyping,timestamp:n.timestamp,participantId:n.participantId};this.emitTypingIndicator(r)}}catch(n){console.warn("Failed to parse typing indicator:",n)}};this.emitTypingIndicator=e=>{for(let t of this.typingListeners)t(e)};this.apiUrl=e.apiUrl,this.authUrl=e.authUrl,this.organizationId=e.organizationId,this.channelTopic=e.channelTopic||P,this.transcriptionTopic=e.transcriptionTopic||O,this.eventsTopic=e.eventsTopic||k,this.messagePersistence=e.messagePersistence||"disabled",this.room=this.createRoomInstance(),e.firebaseConfig&&this.initializeFirebase(e.firebaseConfig)}createRoomInstance(){return new b({adaptiveStream:!0,dynacast:!0})}ensureRoom(){return this.room||(this.room=this.createRoomInstance()),this.room}initializeFirebase(e){this.firebaseApi=new p({config:e}),this.presencePath=`orgs/${this.organizationId}/presence`,this.callsPath=`orgs/${this.organizationId}/calls`}initializeRoomHandlers(){try{this.room.unregisterTextStreamHandler(this.channelTopic),this.room.unregisterTextStreamHandler(this.transcriptionTopic)}catch{}this.room.off(y.DataReceived,this.handleDataReceived),this.room.registerTextStreamHandler(this.channelTopic,this.handleIncomingMessage),this.room.registerTextStreamHandler(this.transcriptionTopic,this.handleIncomingMessage),this.room.on(y.DataReceived,this.handleDataReceived)}async registerUser(e,t,i,s){let n=await a(`${this.apiUrl}/users/register`,{method:"POST",body:JSON.stringify({externalId:e,secret:t,...i,metadata:s}),headers:{"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.register.signal});if(!n.token)throw new Error("Registration failed: No token received from server");return this.authToken=n.token,n}async registerAgent(e,t){let i=m.getCookie("livekit-agent-token");if(i){if(this.decodeJwtPayload(i)?.username===t.name)return this.authToken=i,i;m.deleteCookie("livekit-agent-token")}let s=await a(`${this.authUrl}/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"},credentials:"include",signal:this.abortControllers.register.signal});return m.setCookie("livekit-agent-token",s.token,1440*60),this.authToken=s.token,s.token}decodeJwtPayload(e){try{let t=e.split(".");if(t.length!==3)return null;let i=t[1],s=atob(i.replace(/-/g,"+").replace(/_/g,"/"));return JSON.parse(s)}catch{return null}}async quickStart(e){console.log("[ConversationService] Starting quickStart with options:",e),this.room=this.ensureRoom();let t=await a(`${this.apiUrl}/rooms/quick-start`,{method:"POST",body:JSON.stringify(e),headers:{"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.quickStart.signal});if(!t.user?.token)throw new Error("Quick start failed: No user token received from server");this.authToken=t.user.token;let i={id:t.room.id,groupId:t.room.groupId||"",token:t.room.token,wsURL:t.room.wsURL,createdAt:t.room.createdAt||new Date().toISOString(),affinity:t.room.affinity};return this.setRoomMetadata(i),this.setupParticipantAttributesHandler(),this.room.connect(i.wsURL,i.token),this.initializeRoomHandlers(),this.room}async createRoom(e){if(!this.authToken)throw new Error("Cannot create room: No authentication token. Call registerUser() first.");this.room=this.ensureRoom();let{initialMessage:t,...i}=e,s=await a(`${this.apiUrl}/rooms`,{method:"POST",body:JSON.stringify(i),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.createRoom.signal});return this.setRoomMetadata(s),this.setupParticipantAttributesHandler(),this.room.connect(s.wsURL,s.token).then(async()=>{if(t)try{await this.sendMessage(t)}catch(n){console.error("[ConversationService] Failed to send initial message:",n)}}),this.initializeRoomHandlers(),this.room}async joinRoom(e,t,i,s){let n=await a(`${this.apiUrl}/rooms/${e}/join`,{method:"POST",body:JSON.stringify({timezone:t,language:i,...s??{}}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.createRoom.signal});return this.setRoomMetadata(n),this.setupParticipantAttributesHandler(),await this.room.connect(n.wsURL,n.token),this.initializeRoomHandlers(),this.room}setRoomMetadata(e){this.room.id=e.id,this.room.groupId=e.groupId,this.room.createdAt=e.createdAt,this.room.connectedAt=new Date().toISOString(),this.room.affinity=e.affinity}setupParticipantAttributesHandler(){this.room.on(y.ParticipantAttributesChanged,e=>{e.identity===this.room.localParticipant.identity&&u.updateSessionWithRegistrationData(e.attributes)})}async evaluateRoom(e){let t=e.roomId||this.room?.id;if(!t)throw new Error("Room ID is required for evaluation");return a(`${this.apiUrl}/rooms/${t}/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(){this.room&&(await a(`${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}),await this.stopAndUnpublishLocalTracks())}async disconnect(){this.room&&(await this.stopAndUnpublishLocalTracks(),this.room.removeAllListeners(),await this.room.disconnect(),this.room=null)}async stopAndUnpublishLocalTracks(){let e=this.room?.localParticipant;if(!e)return;await Promise.allSettled([e.setMicrophoneEnabled(!1),e.setCameraEnabled(!1),e.setScreenShareEnabled(!1)]);let t=Array.from(e.trackPublications.values());await Promise.all(t.map(async i=>{let s=i.track;if(s)try{await e.unpublishTrack(s,!0)}catch{s.stop()}}))}async disconnectAndCloseRoom(){await this.closeRoom(),await this.disconnect()}async readRoom(e){return a(`${this.apiUrl}/rooms/${e}/read`,{method:"POST",headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},signal:this.abortControllers.persistMessage.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.latestOnly&&t.append("latestOnly",e.latestOnly.toString()),e.includeUnread&&t.append("includeUnread",e.includeUnread.toString()),e.roomStatus&&t.append("roomStatus",e.roomStatus),e.archived&&t.append("archived",e.archived.toString()),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()),a(`${this.authUrl}/rooms?${t}`,{method:"GET",headers:{"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},credentials:"include",signal:this.abortControllers.getRooms.signal})}async sendMessage(e,t){let i=await this.room.localParticipant.sendText(e,{topic:this.channelTopic,attributes:t});this.emitMessage({id:i.id,timestamp:Date.now(),message:e,assets:JSON.parse(t?.assets||"[]"),from:this.room.localParticipant}),this.messagePersistence==="client"&&this.persistMessage({roomId:this.room.id,content:e,externalId:i.id,identity:this.room.localParticipant?.identity,kind:this.room.localParticipant?.kind})}async persistMessage(e){return a(`${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.limit&&t.append("limit",e.limit.toString()),e.with&&t.append("with",e.with.join(",")),(await a(`${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 a(`${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 a(`${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 a(`${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){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async sendTypingIndicator(e){if(!(!this.room||this.room.state!=="connected"))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:h})}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 sendContextualEvent(e){try{let t=JSON.stringify(e);await this.room.localParticipant.sendText(t,{topic:this.eventsTopic})}catch(t){console.warn("Failed to send event:",t)}}async requestNewRoom(e){return a(`${this.apiUrl}/rooms/request-new`,{method:"POST",body:JSON.stringify(e),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"}})}async confirmRoomRequest(e){return a(`${this.apiUrl}/rooms/confirm-call`,{method:"POST",body:JSON.stringify({roomId:e}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"}})}async cancelRoomRequest(e){return a(`${this.apiUrl}/rooms/cancel-call`,{method:"POST",body:JSON.stringify({roomId:e}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"}})}async finishCall(){if(this.room?.id)return a(`${this.apiUrl}/rooms/finish-call`,{method:"POST",body:JSON.stringify({roomId:this.room.id}),headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"}})}isFirebaseEnabled(){return!!(this.firebaseApi&&this.presencePath&&this.callsPath)}getFirebase(){if(!this.firebaseApi||!this.presencePath||!this.callsPath)throw new Error("Firebase is not initialized. Provide firebaseConfig in constructor.");return{api:this.firebaseApi,presencePath:this.presencePath,callsPath:this.callsPath}}buildAgentPresencePath(e){return`${this.presencePath}/${e}`}onPresenceChange(e){let{api:t,presencePath:i}=this.getFirebase();return t.onChildChanged(i,(s,n)=>e(s,n))}onPresenceAgentChange(e,t){let{api:i}=this.getFirebase();return i.onValue(this.buildAgentPresencePath(e),(s,n)=>t(s,n))}async createCallRequest(e){let{api:t,callsPath:i}=this.getFirebase(),n=(await a(`${this.apiUrl}/rooms/call-request`,{method:"POST",headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},body:JSON.stringify(e)})).id;return t.onDisconnectUpdate(`${i}/${n}`,{status:"disconnected"}),n}onNewCallRequest(e){let{api:t,callsPath:i}=this.getFirebase();return t.onChildAdded(i,(s,n)=>e(s,{...n,id:s}))}onCallRequestChange(e){let{api:t,callsPath:i}=this.getFirebase();return t.onChildChanged(i,(s,n)=>e(s,{...n,id:s}))}onCallRequestRemoved(e){let{api:t,callsPath:i}=this.getFirebase();return t.onChildRemoved(i,s=>e(s))}async acceptCallRequest(e){let{api:t,callsPath:i}=this.getFirebase();return await t.cancelOnDisconnect(`${i}/${e}`),t.update(`${i}/${e}`,{status:"accepted"})}async cancelCallRequest(e){let{api:t,callsPath:i}=this.getFirebase();await t.cancelOnDisconnect(`${i}/${e}`),await a(`${this.apiUrl}/rooms/call-request/cancel`,{method:"POST",headers:{Authorization:`Bearer ${this.authToken}`,"X-Onlive-Organization-Id":this.organizationId,"Content-Type":"application/json"},body:JSON.stringify({callId:e})})}async cancelOnDisconnect(e){let{api:t,callsPath:i}=this.getFirebase();await t.cancelOnDisconnect(`${i}/${e}`)}subscribePendingRequests(e,t={}){let{api:i,callsPath:s}=this.getFirebase();t.resetSeen&&this.seenRequestIds.clear(),this.firebaseUnsubscribers["pending-requests"]?.();let n=i.query(s,{orderBy:"child",childKey:"status",equalTo:"pending"}),r=i.onChildAddedQuery(n,(c,x)=>{if(!c||this.seenRequestIds.has(c))return;let M={...x,id:c};this.seenRequestIds.add(c),e(c,M)});return this.firebaseUnsubscribers["pending-requests"]=r,()=>{r?.(),delete this.firebaseUnsubscribers["pending-requests"]}}subscribeRequestChanges(e){let{api:t,callsPath:i}=this.getFirebase();this.firebaseUnsubscribers["request-changes"]?.();let s=t.onChildChanged(i,(n,r)=>{if(!n)return;let c=JSON.stringify(r);this.lastSnapshotById.get(n)!==c&&(this.lastSnapshotById.set(n,c),e(n,{...r,id:n}))});return this.firebaseUnsubscribers["request-changes"]=s,()=>{s?.(),delete this.firebaseUnsubscribers["request-changes"]}}async tryAcceptRequest(e){let{api:t,callsPath:i}=this.getFirebase(),s=`${i}/${e}`;return await t.transaction(s,r=>r&&(r.status==="pending"?{...r,status:"accepted"}:r)),(await t.getOnce(s))?.status==="accepted"}onRoomSync(e,t){let{api:i}=this.getFirebase(),s=`orgs/${this.organizationId}/rooms/${e}/sync`;return i.onValue(s,(n,r)=>{t(r)})}async clearRoomSync(e,t){let{api:i}=this.getFirebase(),s=`orgs/${this.organizationId}/rooms/${e}/sync`;await i.write(s,{needsSync:!1,reason:t||null,timestamp:Date.now()})}onNewRoomRequest(e,t){let{api:i}=this.getFirebase(),s=`orgs/${this.organizationId}/rooms/${e}/call`;return i.onValue(s,(n,r)=>{t(r)})}unsubscribeAllFirebase(){Object.values(this.firebaseUnsubscribers).forEach(e=>e?.()),this.firebaseUnsubscribers={}}async destroy(){this.unsubscribeAllFirebase(),this.listeners.clear(),this.typingListeners.clear(),this.transcriptionMap.clear(),this.seenRequestIds.clear(),this.lastSnapshotById.clear(),Object.values(this.abortControllers).forEach(e=>e.abort()),await this.disconnect()}};export{w as ConversationService,b as Room};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
2
|
-
"use strict";var s=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var p=(e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})},d=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of a(t))!g.call(e,n)&&n!==r&&s(e,n,{get:()=>t[n],enumerable:!(i=o(t,n))||i.enumerable});return e};var m=e=>d(s({},"__esModule",{value:!0}),e);var
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
|
+
"use strict";var s=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var p=(e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})},d=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of a(t))!g.call(e,n)&&n!==r&&s(e,n,{get:()=>t[n],enumerable:!(i=o(t,n))||i.enumerable});return e};var m=e=>d(s({},"__esModule",{value:!0}),e);var y={};p(y,{CHAT_TOPIC:()=>u,EVENTS_TOPIC:()=>l,TRANSCRIPTION_TOPIC:()=>c,TYPING_INDICATOR_TOPIC:()=>x});module.exports=m(y);var u="lk.chat",c="lk.transcription",l="lk.events",x="typing-indicator";0&&(module.exports={CHAT_TOPIC,EVENTS_TOPIC,TRANSCRIPTION_TOPIC,TYPING_INDICATOR_TOPIC});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
import { ReceivedChatMessage } from '@livekit/components-core';
|
|
3
3
|
import { Participant, Room, RoomOptions as RoomOptions$1 } from 'livekit-client';
|
|
4
4
|
import { FirebaseConfig } from '../firebase/firebase-api.cjs';
|
|
@@ -362,6 +362,7 @@ type CreateRoomOptions = {
|
|
|
362
362
|
* @property {Record<string, unknown>} [user.metadata] - Additional user metadata.
|
|
363
363
|
* @property {string | null} [user.userGroupId] - User group identifier.
|
|
364
364
|
* @property {string} [user.sessionId] - External session identifier.
|
|
365
|
+
* @property {unknown} [user.*] - Any additional user fields forwarded as part of user payload.
|
|
365
366
|
* @property {Object} room - Room creation data.
|
|
366
367
|
* @property {string} room.language - Preferred language code (e.g., "en", "es").
|
|
367
368
|
* @property {string} room.timezone - IANA timezone identifier.
|
|
@@ -385,6 +386,7 @@ type QuickStartOptions = {
|
|
|
385
386
|
metadata?: Record<string, unknown>;
|
|
386
387
|
userGroupId?: string | null;
|
|
387
388
|
sessionId?: string;
|
|
389
|
+
[key: string]: unknown;
|
|
388
390
|
};
|
|
389
391
|
room: {
|
|
390
392
|
language: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
import { ReceivedChatMessage } from '@livekit/components-core';
|
|
3
3
|
import { Participant, Room, RoomOptions as RoomOptions$1 } from 'livekit-client';
|
|
4
4
|
import { FirebaseConfig } from '../firebase/firebase-api.js';
|
|
@@ -362,6 +362,7 @@ type CreateRoomOptions = {
|
|
|
362
362
|
* @property {Record<string, unknown>} [user.metadata] - Additional user metadata.
|
|
363
363
|
* @property {string | null} [user.userGroupId] - User group identifier.
|
|
364
364
|
* @property {string} [user.sessionId] - External session identifier.
|
|
365
|
+
* @property {unknown} [user.*] - Any additional user fields forwarded as part of user payload.
|
|
365
366
|
* @property {Object} room - Room creation data.
|
|
366
367
|
* @property {string} room.language - Preferred language code (e.g., "en", "es").
|
|
367
368
|
* @property {string} room.timezone - IANA timezone identifier.
|
|
@@ -385,6 +386,7 @@ type QuickStartOptions = {
|
|
|
385
386
|
metadata?: Record<string, unknown>;
|
|
386
387
|
userGroupId?: string | null;
|
|
387
388
|
sessionId?: string;
|
|
389
|
+
[key: string]: unknown;
|
|
388
390
|
};
|
|
389
391
|
room: {
|
|
390
392
|
language: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/common-121 v0.2.
|
|
1
|
+
/*! @onlive.ai/common-121 v0.2.190 | © 2026 Onlive.ai */
|
|
2
2
|
var t="lk.chat",e="lk.transcription",n="lk.events",r="typing-indicator";export{t as CHAT_TOPIC,n as EVENTS_TOPIC,e as TRANSCRIPTION_TOPIC,r as TYPING_INDICATOR_TOPIC};
|